Skip to content

Deepen Harness retained completion behind Interpretation - #644

Merged
JacobStephens2 merged 3 commits into
mainfrom
issue-643
Oct 10, 2026
Merged

JacobStephens2 merged 3 commits into
mainfrom
issue-643

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 10, 2026 •

Copy link
Copy Markdown
Owner

Summary

Keep retained completion policy inside each Harness adapter. Recording consumes completion progress from the report; Interpretation preserves lifecycle and error precedence.

Harness adapter
  live decoder + optional retained completion
Interpretation.finish
  seed stream Models → reconcile retained facts → completion report
Recording
  keep evidence → completion progress → warnings → elapsed summary

Muse and OpenCode keep their existing text, usage, Model attribution, failure, and interruption rules. Stream-only Harnesses gain no completion Model lines. The Standards finding about duplicated Model formatting is addressed by a shared report helper, which each retained adapter opts into.

Closes #643

Evidence

  • Before: cargo test --bin thirdshift harness::interpretation_tests::muse_completion_reports_retained_model_order_and_multiplicity failed: completion progress was [] instead of Model: first, Model: second, Model: first. The OpenCode equivalent also failed with missing progress.
    After: all 22 Interpretation tests pass, including retained order, multiplicity, fallback, and authoritative empty Models/usage.
  • Before: cargo test --bin thirdshift session::recording::tests::completion_progress_comes_from_interpretation_without_duplicate_live_lines omitted retained progress when Choice named Claude.
    After: all 12 Recording tests pass, including report-owned progress, empty retained sets, one live Model line, captured Command ownership, and interrupted checkpoints.
  • cargo test --test muse_sessions --test opencode_sessions: 26 passed.
  • cargo check --all-targets, cargo fmt --check, and cargo clippy --all-targets -- -D warnings: passed. Focused Interpretation/Recording tests and clippy were rerun after the review fix.
  • SYSTEMD_UNIT_PATH="$PWD/site/deploy:/usr/lib/systemd/system" cargo test: 1717 passed, 1 ignored across 41 test binaries on final commit d078bd7.
  • The initial plain full-suite run reached tests/site_deploy.rs and failed because systemd verification loaded /etc/systemd/system/career-dashboard-secrets.service, whose RequiredBy key is in the wrong section. The unchanged test passes with SYSTEMD_UNIT_PATH="$PWD/site/deploy:/usr/lib/systemd/system"; the final full run uses that unit search path. Repository units and tests are unchanged, and verification still runs.

Test seams

  • Adapter-created Interpretation: condense, observed_models, finish, and captured check validation, with isolated Muse records and a fake OpenCode executable.
  • Recording::run and notification_lines: progress, retained authority, owning Command evidence, and interrupted checkpoints.
  • CLI scenarios: completion progress, text authority, usage, failures, Model checks, and Resumes.

Unaddressed findings

Standards

None. S1 (possible duplicated Model formatting) was addressed and verified by the reviewer.

Spec

None. The reviewer identified no findings.

Review coverage: no changed file was left unread by either axis. Both reports include their final files-read lists and fix-verification addenda.

Merge Danger

Door: two-way

Internal refactor; reverting restores the prior implementation without a data migration.

Blast Radius: Harness

Session completion and progress reporting for all Harnesses; retained reconciliation remains specific to Muse and OpenCode.

Built with codex · gpt-6.1-sol · high

@JacobStephens2
JacobStephens2 merged commit 02b3365 into main Oct 10, 2026
17 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-643 branch October 10, 2026 16:00
@JacobStephens2 JacobStephens2 mentioned this pull request Oct 12, 2026
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.

Deepen Harness retained completion behind Interpretation

1 participant