Skip to content

Record Session traces beside Session logs - #1051

Merged
JacobStephens2 merged 3 commits into
issue-700from
issue-985
Oct 22, 2026
Merged

JacobStephens2 merged 3 commits into
issue-700from
issue-985

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 22, 2026 •

Copy link
Copy Markdown
Owner

Summary

Every Session records an OTLP Session trace beside its Session log.

Harness stream + retained records
  ├─ Session log
  └─ normalized events
       ├─ .logs.jsonl   → flushed raw events, times, call IDs and attributes
       └─ .spans.jsonl  → ended calls and Session, parented to its Command stage

Command ownership gives Ticket Runs and Base fixes the same trace ID. CLI and Console inventories list each Session once; Model evidence and review-report names stay intact.

Closes #985

Evidence

  • Before: all_harnesses_write_otlp_session_traces_beside_unchanged_logs failed because the OTLP files were missing.
    After: all six fake Harness formats pass through the shared recorder, the OTLP Reader and official protocol types. Whole-binary tests also cover live growth, hard kill, interruption, child Runs and inventory.
  • Each Spec reproduction failed as reported, then passed after its fix. Four retained regression tests cover Session totals, assistant and streamed-record association, and retained raw-record association.
  • cargo clippy --all-targets -- -D warnings passed.
  • /usr/bin/time -p scripts/affected-tests origin/issue-700 selected cargo nextest run: 2,275 passed, 3 skipped. Wall time 1,317.43 s, including 20.20 s incremental compilation; test execution 1,295.597 s on the shared Linux host.

Test seams

  • Session recording: fake Harness stdout through Recording::run, observed through Session logs, OTLP Reader and official OTLP request types, including live output and interruption.
  • Command recording: stage identity reconstructed from persisted Command records, with child ownership inherited across processes.
  • Log inventory and filename decoding: CLI/Console catalog and session selection with all three session files present.

Review

Reviewed against issue-700, pinned to remote base fee7a24ff749c7a777c25ec4605d054b7df13a82. The other worktree's older local branch was left intact.

  • Standards: one lifecycle-state design finding addressed.
  • Spec: three behavior findings addressed, including the partial-stream follow-up.
  • Coverage: both axes read all 24 changed files. No generated-output exclusions; no unread changed files. Initial and follow-up reports with combined files-read lists are retained in .thirdshift-review-EwdrcB/standards.md and spec.md on the implementation machine.

Unaddressed findings

  • Standards: none.
  • Spec: none.

Merge Danger

Door: two-way

Blast Radius: Sessions

Every agent Session writes two additional local files; the existing Session log remains available during this transition.

Built with codex · gpt-6.1-sol · xhigh

@JacobStephens2
JacobStephens2 merged commit d56453d into issue-700 Oct 22, 2026
18 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-985 branch October 22, 2026 02:55
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