Skip to content

test(stream): replay 3 real codex runs + acceptance (M14 slice 2, partial) - #188

Merged
surlymochan merged 1 commit into
mainfrom
m14s2-real-streams-187
Nov 12, 2026
Merged

surlymochan merged 1 commit into
mainfrom
m14s2-real-streams-187

Conversation

@surlymochan

Copy link
Copy Markdown
Owner

Refs #187 (M14 slice 2). Partial: the codex half is done with verbatim recordings; the claude half is blocked (see below). Do not merge until the main round decides whether to hold for the claude recording.

What this changes

  • 3 verbatim codex --json recordings (raw stdout, nothing edited) as new fixtures in test/fixtures/agent-stream/, recorded 2026-11-12 on gocc with codex-cli 0.166.0 (ChatGPT login) in an empty scratch dir:
    • codex-real-normal-ls.ndjson — 9 lines, 2 shell calls (ls, find … | wc -l), both paired, turn.completed present, exit 0.
    • codex-real-normal-read.ndjson — 7 lines, 1 shell call (cat sample.txt), paired, turn.completed present, exit 0.
    • codex-real-killed-sleep.ndjson — 4 lines: sleep 45 call has item.started and no item.completed, no turn.completed; process SIGTERM'd once item.started was observed (+5 s), then SIGKILL; exit 143.
  • New tests (3 in test/agent-stream.test.js): clean replay of all 3 through checkPairing + the sink (0 violations, every tool_start paired exactly once); killed run closes as abandoned; acceptance 2 (after replay + close(), every call has a terminal state — completed/completed/abandoned, 0 left running).
  • README provenance updated with recording method, exact commands, and a flag note: codex 0.166.0 dropped --full-auto; --sandbox danger-full-access --dangerously-bypass-approvals-and-sandbox is its documented equivalent and the --json line shapes are unchanged.

Honest note — claude half still open

No real claude stream-json recording is in this PR. The claude CLI on gocc (2.1.302) reports "Not logged in · Please run /login" both over SSH and when run from the GUI-session bridge (login shell included); its OAuth token lives in the macOS keychain and is not reachable from any non-interactive context available to this worker, and the MacBook has no claude CLI at all. The reconstructed claude fixtures stay labelled reconstructed, and no test claims a claude fixture is a verbatim recording. A real claude recording needs the user to run it in their own terminal — exact commands are in the evidence comment on #187.

No verdict/threshold changes, no check/comment ledger changes, no new adapter.

Tests

  • node --test test/agent-stream.test.js → 33 pass, 0 fail (3 new).
  • Full npm test → 295 pass / 296, 1 fail: test/i6d-acceptance-demo.test.js (M3 acceptance demo, real xflow audit CLI). Reproduced identically on unmodified main (8081e71, separate worktree, same test 0/1) — pre-existing environment failure, not a regression.

- Add 3 verbatim codex --json recordings (gocc, codex-cli 0.166.0,
  ChatGPT login, 2026-11-12): 2 completed runs (ls, cat) + 1 run
  killed mid-call (sleep 45, SIGTERM/SIGKILL, exit 143).
- New tests: clean replay of all 3 (checkPairing 0 violations, every
  tool_start paired exactly once), killed run closes as abandoned,
  acceptance 2 (every call terminal after replay + close).
- README provenance updated with recording method + flag note
  (codex 0.166 dropped --full-auto; sandbox danger-full-access +
  --dangerously-bypass-approvals-and-sandbox is its equivalent).

Partial slice: no real claude stream-json recording — the claude CLI
on gocc reports 'Not logged in' over SSH and from the GUI-session
bridge alike (OAuth token in macOS keychain, unreachable from any
non-interactive context); MacBook has no claude CLI. The claude
fixtures stay labelled reconstructed. Refs #187.
@surlymochan
surlymochan merged commit 8621540 into main Nov 12, 2026
2 checks passed
@surlymochan
surlymochan deleted the m14s2-real-streams-187 branch November 12, 2026 09:29
@surlymochan surlymochan mentioned this pull request Nov 12, 2026
surlymochan added a commit that referenced this pull request Nov 12, 2026
Two merged PRs since 0.5.33, no milestone acceptance: M14 slice 2 codex half (#188) + audit claim harvesting for pnpm/yarn and vitest/jest (#190, fixes #189).

Co-authored-by: Nick <209239467+surlymochan@users.noreply.github.com>
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