fix: force flag passthrough, cross-platform hashes, manifest retention, docstring accuracy

- agent_switch: pass force=force (user's actual flag) instead of
  force=True so hash-check protection is preserved for unconfirmed files
- _hash_file_list: use as_posix() for POSIX-stable manifest keys;
  guard relative_to with try/except to skip files outside project root
- remove_tracked_files: updated docstring to accurately describe hash
  comparison behavior (values ARE used, not ignored); manifest is only
  deleted when all tracked files were removed (preserves tracking of
  skipped modified files)
This commit is contained in:
Manfred Riem
2026-03-23 12:17:19 -05:00
parent 720ac509d2
commit 433502b72d
2 changed files with 32 additions and 12 deletions

View File

@@ -2685,7 +2685,7 @@ def agent_switch(
console.print(f" [dim]Tearing down {current_agent}...[/dim]")
current_bootstrap.teardown(
project_path,
force=True, # already confirmed above
force=force,
files=all_files,
)
console.print(f" [green]✓[/green] {current_agent} removed")