Skip to content

feat(amplifier): resume with full conversation history by default - #598

Merged
danshapiro merged 1 commit into
mainfrom
feat/amplifier-full-history-resume
Aug 3, 2026
Merged

feat(amplifier): resume with full conversation history by default#598
danshapiro merged 1 commit into
mainfrom
feat/amplifier-full-history-resume

Conversation

@danshapiro

Copy link
Copy Markdown
Owner

What changed

Every Freshell-managed Amplifier resume now launches amplifier session resume --full-history <sessionId> instead of amplifier resume <sessionId>. The session resume subcommand form is required because plain amplifier resume rejects --full-history.

  • extensions/amplifier/freshell.json — manifest resumeArgs
  • server/coding-cli/providers/amplifier.tsgetResumeArgs
  • crates/freshell-platform/src/cli_launch_goldens.rs — amplifier spec, goldens G-A2/G-A4b, manifest-parity golden
  • crates/freshell-freshagent/src/terminal_tabs.rs — recording spec + argv assertion (+1 comment)
  • JS tests — updated assertions in amplifier-provider.test.ts, amplifier-session-association.test.ts, amplifier-stub-adoption-contract.test.ts
  • e2e fixturesfake-amplifier-cli.mjs / fake-amplifier-activity-cli.mjs recognize the new argv shape (session id = last element)
  • e2e specs — amplifier argv assertions updated in amplifier-restore-rust, remote-tab-linkage-rust, mcp-qa-smoke-rust, sidebar-click-resume, terminal-activity-rust (codex assertions untouched)
  • Comment-only sweep of stale amplifier resume <id> wording: freshell-ws/src/terminal.rs, freshell-sessions/src/amplifier_stub.rs, freshell-server/src/existence_by_id.rs, freshell-terminal/src/registry.rs, freshell-ws/tests/amplifier_launcher_identity.rs

Why

Resumed Amplifier sessions previously showed Amplifier's truncated "…N earlier messages" tail. With --full-history, resumed sessions show the full conversation history.

How to verify

  • Full coordinated JS suite (npm test): green — client 4793, server 4825, electron 350 passed. Two first-run flakes (monaco-mock render race, remote-proxy timeout race) passed in isolation and on rerun — pre-existing.
  • cargo test --workspace: green — 100 suites, 0 failures.
  • Opt-in real-CLI contract test passed against real amplifier v2026.08.01-0cad320 (FRESHELL_RUN_REAL_PROVIDER_CONTRACTS=1), directly exercising session resume --full-history.
  • Affected e2e-browser specs (--project=rust-chromium): all amplifier argv assertions green. 4 tests fail, but a baseline run at origin/main @ 2d4fefb shows the IDENTICAL 4 failures at identical lines — pre-existing main debt, not this branch:
    1. amplifier-restore-rust ensure-after-GC expectation superseded by resume-validation AD-5 (PR Resume validation: disk-existence gate before resuming coding-CLI sessions #591)
    2. – 4. codex legs broken by FRESHELL_CODEX_MANAGED_LAUNCH default-ON vs plain fake CLI fixtures

Compatibility / breaking changes

No version guard added — requires an Amplifier CLI that supports session resume --full-history (verified on v2026.08.01). Older Amplifier builds would fail resume; deemed acceptable, but flagging for reviewers in case you disagree.

Suggested follow-ups (separate issues, not this PR)

  • Reconcile amplifier-restore-rust.spec.ts with AD-5 resume-validation behavior
  • Revisit the three codex specs vs the S5.e managed-launch default

Generated with Amplifier

Co-Authored-By: Amplifier [email protected]

Every Freshell-managed Amplifier resume now launches
`amplifier session resume --full-history <sessionId>` instead of
`amplifier resume <sessionId>`, so resumed sessions show the full
conversation history rather than Amplifier's truncated
"…N earlier messages" tail. The `session resume` subcommand form is
required because plain `amplifier resume` rejects `--full-history`.

Changes:
- extensions/amplifier/freshell.json: manifest resumeArgs
- server/coding-cli/providers/amplifier.ts: getResumeArgs
- crates/freshell-platform/src/cli_launch_goldens.rs: amplifier spec,
  goldens G-A2/G-A4b, and the manifest-parity golden
- crates/freshell-freshagent/src/terminal_tabs.rs: recording spec and
  argv assertion (plus one comment)
- JS test assertions updated: amplifier-provider unit test,
  amplifier-session-association, amplifier-stub-adoption-contract
- e2e fixtures (fake-amplifier-cli.mjs, fake-amplifier-activity-cli.mjs)
  recognize the new argv shape (session id = last element)
- e2e specs updated for the new amplifier argv (codex assertions
  untouched): amplifier-restore-rust, remote-tab-linkage-rust,
  mcp-qa-smoke-rust, sidebar-click-resume, terminal-activity-rust
- Comment-only sweep of stale "amplifier resume <id>" wording in
  freshell-ws, freshell-sessions, freshell-server, freshell-terminal

Compatibility: no version guard added — requires an Amplifier CLI that
supports `session resume --full-history` (verified on v2026.08.01).

Generated with Amplifier

Co-Authored-By: Amplifier <[email protected]>
@danshapiro
danshapiro merged commit e227a6c into main Aug 3, 2026
3 checks passed
@danshapiro
danshapiro deleted the feat/amplifier-full-history-resume branch August 3, 2026 05:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant