huskies: merge 1140 story One-shot project-rebuild chat command: rebuild image, swap container, reconnect, preserve state

This commit is contained in:
dave
2026-05-18 14:55:31 +00:00
parent 4aaf7dbdc6
commit b1dec36e1c
6 changed files with 738 additions and 2 deletions
@@ -533,7 +533,7 @@ async fn read_host_git_config(key: &str) -> Option<String> {
/// Resolve the git identity to use for new project containers.
///
/// Priority: `bot.toml` fields → host `git config` → hardcoded fallback.
async fn resolve_git_identity(config_dir: &std::path::Path) -> (String, String) {
pub(crate) async fn resolve_git_identity(config_dir: &std::path::Path) -> (String, String) {
let (bot_name, bot_email) = read_git_identity_from_bot_toml(config_dir).await;
let name = if let Some(n) = bot_name {
@@ -1335,7 +1335,7 @@ pub async fn build_project_image(
/// `/home/huskies/.claude/.credentials.json` with mode 0600. Mounting to an
/// intermediate path (rather than directly to the destination) ensures the
/// huskies user owns the copy regardless of the host user's UID.
fn project_docker_run_args(
pub(crate) fn project_docker_run_args(
container_name: &str,
port: u16,
ssh_port: u16,