Skip to content

fix(cli): surface session persistence failures - #403

Open
BunsDev wants to merge 1 commit into
mainfrom
fix/cli-save-errors-current-main
Open

BunsDev wants to merge 1 commit into
mainfrom
fix/cli-save-errors-current-main

Conversation

@BunsDev

@BunsDev BunsDev commented Oct 18, 2026

Copy link
Copy Markdown
Member

Summary

  • Surface session JSON save failures as a persistent, nonblocking warning and report rename as memory-only when persistence fails.
  • Clear the save warning after a successful retry and retain unrelated notifications.

Context

  • Related user request: Goal 3, manifest position 114 (logical unit 116), ported from the historical session-save audit onto current main 87239e7.
  • Scope: interactive session persistence, its goal-dispatch callers, and isolated regression fixtures.
  • Non-goals: SQLite indexing policy, provider/bridge behavior, policy decisions, and release changes. Merge remains held until v0.9.0 exists.

Changes

  • Route rename, remote connection, remote rename, and shared transcript saves through one warning helper. Diagnostics include the operation, session ID, and error without title or message contents.
  • Preserve current goal ownership and synthetic UUID filtering while passing the notification queue through persistence callers.
  • Add bounded process-isolated save/retry tests and an owned offline tmux regression with writable and blocked storage controls.

Validation

All Rust commands ran from src-rust/ with a serialized shared target and isolated Cargo home.

  • git diff --check passed.
  • cargo fmt --all and cargo fmt --all -- --check passed.
  • cargo check --workspace --all-targets --locked passed.
  • cargo clippy --workspace --all-targets --locked -- -D warnings passed.
  • cargo test --workspace --locked: passed; 2761 passed, 0 failed, 53 ignored across 110 outer suites (nested worker output counted once).
  • cargo test -p claurst --bin coven-code session_save_tests --locked: 1 passed, 1 isolated worker entrypoint ignored; five operation contexts verified.
  • cargo test -p claurst --bin coven-code goal_dispatch_tests --locked: 12 passed, including rollback and synthetic UUID indexing checks.
  • cargo build -p claurst --bin coven-code --locked passed.
  • python3 scripts/test_cli_save_errors.py <debug-binary> and the same command with --private-diagnostics: writable and blocked/retry cases passed in both modes, with zero HTTP requests.
  • Before the patch, the same tmux regression failed on blocked storage because the UI falsely reported a successful rename; its writable control passed.
  • REQUIRE_TMUX=1 COVEN_BIN=<debug-binary> bash scripts/tui-tests/run.sh: 48 passed, 0 failed, 0 skipped, using scratch homes and an owned tmux socket.
  • Independent spec and quality review: no blocking findings.
  • Not run: actual provider-turn or bridge failure end-to-end tests. Their persistence paths share the tested helper; the automated terminal checks are not human or native Windows acceptance.

PR Readiness

  • Diff is limited to the intended four files.
  • Generated files were not edited by hand.
  • User-facing docs/help changes are not needed for this persistence warning correction.
  • No secrets, credentials, private logs, or unrelated changes are included.
  • Remaining proof limits are listed above.

Report failed interactive session saves without claiming a rename persisted. Keep a persistent warning until retry succeeds and preserve private diagnostics and existing goal indexing behavior.

Coven-Harness: Codex / GPT-6
@vercel

vercel Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
docs Ready Ready Preview Oct 18, 2026 1:53pm UTC

Request Review

This branch was successfully deployed

1 active deployment
Preview — 9a91deae Deployed Oct 18, 2026 by vercel[bot]
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