Repository navigation
Show the command that ran, its exit code, bounded output and honest source labels (CF-5, first part) - #287
Merged
Conversation
…d output shared/evidence.ts: Codex memory citations become native evidence on the reply (malformed entries are dropped), and output is bounded to its last 256 KiB on a UTF-8 boundary with the total kept. Through the contract, a tool carries the command exactly as reported and its cwd when reported (Codex; Claude's Bash keeps its own directory, so none is claimed), and its exit code: a number, null when the CLI said there is none, absent when it reported nothing (Claude). Codex bounds output as it streams, so no update carries a whole log (a 3 MiB stream went from 584 ms to 76 ms in the test), and the runner bounds every tool's output before it is saved or sent. Refs #278 Coven-Harness: Claude Code / claude-opus-5-5
An expanded tool shows the command that ran, where, and "Exit code 2", "No exit code" or "Exit code not reported". Output past the preview says "Showing the last 256 KB of 3.0 MB." A patch says it is the patch as this turn applied it, not the working tree now. Codex memory citations show as "From Codex memory" with file, lines and note (display only). A "Sources:" list the model wrote is now labelled "Links in the reply", with a note that Modex has not checked them. e2e/conversation-evidence.spec.ts failed on all 4 tests before this and passes now, with sources.spec.ts. Refs #278 Coven-Harness: Claude Code / claude-opus-5-5
docs/conversation-evidence.md: what each CLI provides natively (live Claude WebSearch turn: no citations, only links in the text; Codex: memory citations), what the transcript shows and what it does not claim, and what is not done yet. Refs #278 Coven-Harness: Claude Code / claude-opus-5-5
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Code coverage overviewLanguages: TypeScript TypeScript / code-coverage-agent
View coverage of the 8 most impacted files.
ℹ️ Calculations represent line coverage. Results may change as calculations are updated. |
This was referenced Oct 18, 2026
Merged
[P1][CF-5] Add provenance-aware citations, command evidence, and owned artifact actions to chat
#278
Closed
BunsDev
added a commit
that referenced
this pull request
Oct 18, 2026
Coven-Harness: Claude Code / claude-opus-5-5
BunsDev
added a commit
that referenced
this pull request
Oct 18, 2026
Coven-Harness: Claude Code / claude-opus-5-5
This was referenced Oct 18, 2026
BunsDev
added a commit
that referenced
this pull request
Oct 18, 2026
The merge is clean. CF-5 adds the Bash command to Claude's tool.start and bounds tool output in the runner, beside CF-2's stop, drain and withdrawal code. Refs #275 Coven-Harness: Claude Code / claude-opus-5-5
This was referenced Oct 18, 2026
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #278 (CF-5): evidence projection and honest labels. It builds on #282 (CF-1) and #284 (CF-4). It adds no artifact store, executor or new open action, so #278 stays open for the parts listed at the end.
Native evidence, as observed on 2026-10-18
claude -p, Haiku 5.5, a live WebSearch turn). The tool returns plain text with aLinks: [...]list, and the reply's text block has nocitationsfield. Every source is a link the model wrote.agentMessage.memoryCitationis the only structured citation. Web-searchresultsare opaque.What changes
shared/evidence.ts:memoryEvidenceturns Codex memory citations into native evidence. Malformed entries are dropped: no path, a negative or fractional line, or an end before the start.boundOutputkeeps the last 256 KiB of output on a UTF-8 boundary and reports the total.message.done.evidence.tool.start.tool.exec: the command exactly as reported, and its cwd when reported.exitCode: a number,nullfor "the CLI said there is none", absent for "not reported".outputBytesandoutputTruncated.docs/conversation-evidence.md, the contract doc and status.Evidence
Base
fb76aac, head64d7fc0(three signed commits).test/evidence.test.ts: 4 of 6 failed on assertions once the pure module existed; nothing produced evidence, exec, exit codes or bounded output.e2e/conversation-evidence.spec.ts: all 4 failed on the old UI. The log is kept.pnpm testat64d7fc0: the first stage ran 1,534 tests, with 1,518 passed, 0 failed and 16 skipped (skips that already exist). The second stage passed 21 of 21.64d7fc0, afterpnpm buildand the Store client build: 37 of 37 passed, coveringconversation-evidence,sources(one label assertion updated),typed-turns,app,agents,approvals,event-journalandstore-demo. The full e2e suite runs in the required CI job.Not covered here (#278 stays open)