feat: cross-account session continuation (closes #3) - #4
Merged
Conversation
…se seeding) Add a `continue` command and default base-session seeding so a session started under one account can be resumed under another, across bash and PowerShell launchers. - new `continue` command + default base seeding for codex, claude-cli, gemini-cli, and commandcode (bash + powershell) - declarative adapter `session` block describing per-tool session state - opencode and cursor declared non-portable (documented, not seeded) - credentials are never copied; symlink/junction/hardlink/traversal guards harden against link attacks on session state - 37 bats + 39 Pester real tests (real fixtures, no mocks) plus CI wiring for ubuntu/macOS/windows Closes #3
- Set the multi-cli launcher mode to 100755 so tests/helpers/common.bash can invoke it directly on the bats runners (was 100644 -> exit 126). - pester job installs Pester 3.4.0 on the windows runner; run-pester.ps1 now deterministically loads a 3.x (>=3.4, <4), errors clearly if none, and fails the build only on Failed > 0 (Inconclusive/Skipped/Pending do not fail). - safety.bats symlink/hardlink fixtures are now portable: POSIX ln on Linux/macOS, fsutil/mklink on git-bash; skip cleanly when a host refuses.
The two staleness tests used GNU-only flags (stat -c, touch -d @epoch) that BSD/macOS coreutils reject, failing the bats (macos-latest) job. Replace size reads with wc -c, set equal mtime via touch -r reference, and make the strictly-newer dest with a real later touch (sleep 1; touch) instead of epoch arithmetic. Assertions unchanged in meaning.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Implements cross-account session continuation: a session started under one account can be resumed under another. Adds a
continuecommand plus default base-session seeding across both the bash and PowerShell launchers.Closes #3
What it does
continuecommand and default base-session seeding forcodex,claude-cli,gemini-cli, andcommandcode.sessionblock describing per-tool session state, so support is data-driven, not hard-coded.multi-clibash +multi-cli.ps1PowerShell).Supported vs unsupported
Security guarantee
Test coverage
Test plan
batssuite green on ubuntu + macOScontinueunder account B for each supported tool