Commit Graph
13 Commits
Author SHA1 Message Date
Tam Nhu Tran 4f6e61739c refactor(config): adopt config-loader-facade across the codebase
Issue #1161. Sweeps 127 files to import from
src/config/config-loader-facade.ts instead of unified-config-loader or
utils/config-manager directly.

WRITE callers (32 files): replaced raw saveUnifiedConfig /
mutateUnifiedConfig / updateUnifiedConfig calls with the facade's
cache-coherent wrappers saveConfig / mutateConfig / updateConfig. This
fixes a latent stale-cache window where direct writes through the
underlying loader bypassed the facade's memoization.

READ callers (95 files): mechanical import-path migration only —
function names unchanged because the facade re-exports them. No
behavior change.

Also updated:
- tests/unit/utils/browser/browser-setup.test.ts (DI interface rename)
- src/management/checks/image-analysis-check.ts (dynamic import rename)
- src/web-server/health-service.ts (dynamic require rename)
- src/ccs.ts (path prefix fix from sweep script)

After sweep: zero raw write callers remain outside src/config/. Direct
imports of config-manager remain only for symbols not in the facade
(getConfigPath, getCcsDirSource, etc). Behavior unchanged; full suite
passes 1824/1824.

Out of scope: switching loadOrCreateUnifiedConfig() callers to
getCachedConfig() — needs per-callsite cache-safety analysis. Tracked
as follow-up.

Refs #1161
2026-05-03 01:42:53 -04:00
Tam Nhu Tran ccdd0b6e8e fix(windows): align escaped wrapper shell handling
Use ComSpec-aware shell selection for escaped wrapper launches.

Apply it to the remaining Windows Claude launch paths.

Rewrite the Codex exec regression test to use scoped spies so the full suite stays isolated.
2026-04-19 14:27:27 -04:00
Tam Nhu Tran 36e8ed5d87 fix(management): serialize lifecycle maintenance paths
- serialize deleteInstance with the same profile and plugin-layout locks as ensure

- lock non-account marketplace normalization paths and ignore .locks as an instance source
2026-03-18 08:04:48 -04:00
Tam Nhu Tran 8f8684ce85 fix(auth): preserve bare profile behavior across runtime and sync 2026-03-05 12:36:51 +07:00
Tam Nhu Tran bc9b04444e feat(auth): add --bare flag and MCP server sync for profiles
- Add --bare flag to `ccs auth create` to skip shared symlinks
  (commands/, skills/, agents/, settings.json). Bare profiles are
  clean instances without ClaudeKit or other global extensions.
  `ccs sync` respects bare flag and skips re-linking.

- Add MCP server sync from global ~/.claude.json to instances.
  Claude Code stores MCP config in ~/.claude.json (not settings.json),
  which was invisible to CCS profiles using CLAUDE_CONFIG_DIR isolation.
  Selective copy of mcpServers key only (not OAuth sessions/caches).
  `ccs sync` refreshes MCP servers across all non-bare instances.

Closes #691
Closes #692
2026-03-05 11:42:41 +07:00
Tam Nhu Tran b6475baab3 feat(accounts): add advanced deeper continuity mode and claude pool discoverability 2026-02-26 19:01:13 +07:00
Tam Nhu Tran 0309630193 fix(auth): harden shared-context isolation and config safety 2026-02-25 04:19:28 +07:00
Tam Nhu Tran 0b070a3f34 fix(auth): close shared-context isolation edge cases 2026-02-25 04:09:46 +07:00
Tam Nhu Tran 7d5e604e53 fix(auth): harden shared-context isolation edge cases 2026-02-25 04:09:46 +07:00
Tam Nhu Tran 4fed74c64b feat(auth): add opt-in shared context groups across accounts 2026-02-24 23:54:03 +07:00
Tam Nhu Tran c6c44d0341 fix(memory): use async fs APIs to satisfy maintainability gate 2026-02-23 23:29:22 +07:00
Tam Nhu Tran 8e57d59479 fix(execution): strip claudecode in remaining claude paths
- sanitize Copilot profile Claude launch environment

- sanitize auth create isolated instance launch environment

- sanitize doctor Claude CLI version check spawn environment

Refs #588
2026-02-20 23:00:59 +07:00
kaitranntt 0341f4f86f refactor(auth): modularize auth-commands into commands/ directory
- extract create, list, show, remove, default command handlers

- extract types.ts with CommandContext and parseArgs

- slim auth-commands.ts from 725 to 235 lines (68% reduction)

- add barrel exports at commands/index.ts and auth/index.ts
2025-12-19 12:36:24 -05:00