feat: add --reload-daemon and shallow profile isolation (#35, #36) - #41
Conversation
activate --reload-daemon: restarts codex daemon after auth restore. isolate add --shallow: auth-only copy, everything else symlinked. Shallow profiles store mode in isolate.json metadata. isolate ls shows mode (deep/shallow) for each profile.
📝 WalkthroughWalkthroughAuth activation gains a reload_daemon flag that controls whether the agent daemon is reloaded or a restart warning is shown after profile activation. Isolate profile creation adds a shallow/deep mode selection affecting which host paths are symlinked, stored in isolate.json metadata and surfaced in isolate listings. CLI flags and dispatch wiring were added accordingly. ChangesAuth activation and isolate shallow mode
Estimated code review effort: 3 (Moderate) | ~25 minutes Sequence Diagram(s)sequenceDiagram
participant CLI
participant main as main.rs
participant auth as auth.rs
participant FS as Filesystem
CLI->>main: auth activate --reload-daemon
main->>auth: activate_with(agent, profile, reload_daemon, json)
auth->>auth: check daemon status
alt reload_daemon true
auth->>auth: reload daemon, print "daemon restarted"
else reload_daemon false
auth->>auth: warn restart required
end
CLI->>main: auth isolate add --shallow
main->>auth: isolate_add_with(agent, profile, shallow, json)
alt shallow
auth->>FS: symlink cache/config/local, Documents/Downloads
else deep
auth->>FS: symlink .ssh, .gitconfig, .git-credentials
end
auth->>FS: write isolate.json (mode)
CLI->>auth: auth isolate ls
auth->>FS: read_isolate_mode(isolate.json)
auth-->>CLI: list with mode
Related Issues
Suggested labels: enhancement, cli Suggested reviewers: none identified from provided data 🐰 Hopping through vaults both shallow and deep, 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Closes #35 and #36.
Summary
Test plan
Notes for reviewers