Repository navigation
List the project files a turn touched, as the CLI reported them (CF-7 context map) - #355
Merged
Merged
Conversation
… (CF-7) verification() in shared/task-context.ts reads a turn's tools in transcript order: - A check is a known test, build, typecheck or lint command, read inside sh/bash/zsh -c with quotes respected. An exit-zero echo or the model saying "tests pass" is not one. - A check passes only as succeeded with exit code 0 or none reported. - A check goes stale when an edit that was not denied, or a command that might write, runs after it. - The turn reads verified, failed, unknown, stale or none. taskRecord carries it, and the note gets a Verification section that marks stale checks. Anything short of verified goes under Not settled; a failure a later fix superseded does not. Plan steps keep the CLI's statuses: neither CLI links a check to a step. Red first: five of six new tests failed on a stub, then edits and displayCommand on theirs. task-context passes 13/13; the desktop unit suite 1,723 passed, 16 skipped. Part of #280 (CF-7), tracker #273. Coven-Harness: Claude Code / claude-opus-5-5
A finished turn's footer reads, for example, "Verified: pnpm test passed after the last change" or "Not verified: pnpm test ran before a later change". It also covers a check that failed, a check that did not say how it ended, and a turn whose changes no check followed. A check shows as the script its shell ran, with the exact command on hover. A turn that changed nothing and ran no check shows nothing. Red first: the new e2e test found no verification lines (expected 2, received 0). task-to-notes.spec.ts passes 3/3. docs/task-context.md gains a Verification section, and status.md an entry. Part of #280 (CF-7), tracker #273. Coven-Harness: Claude Code / claude-opus-5-5
ThreadView keeps both imports; docs/status.md is main's page plus this PR's entry. Coven-Harness: Claude Code / claude-opus-5-5
Coven-Harness: Claude Code / claude-opus-5-5
taskContext() in shared/task-context.ts gives each project file a turn changed, read or searched, from what the CLI reported: - patch tools and write_file (changed); - Claude's Read, the offline engine's read_file, and Codex's own parse of a command (read); - Grep, Glob, LS, list_dir, and Codex's search and listFiles (searched). A denied or failed tool touched nothing. Paths outside the project are counted, never named. Nothing is inferred: an unparsed shell cat is not a read. The order is changed, then read, then searched. The Codex backend now keeps commandActions (codex-cli 0.163.0) on exec.actions, dropping unknown actions and reads without a path. The validator accepts them. taskRecord carries the map, and the note gets a "Files the turn touched" section capped at 20, with "and N more". Red first: the three context tests and the Codex test failed on stubs. task-context, codex-backend and conversation-events pass 76/76. Part of #280 (CF-7), tracker #273. Coven-Harness: Claude Code / claude-opus-5-5
A finished turn's footer has "Files touched · N" when the turn touched any project file. It opens a list of at most 20, each with how it was touched (changed, read, searched), then "and N more", then how many were outside the project. Red first: the new e2e test found no toggle. task-to-notes passes 4/4. docs/task-context.md gains a Context map section, docs/conversation-evidence.md describes Codex's commandActions, and status.md has an entry. Part of #280 (CF-7), tracker #273. 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 3 most impacted files.
ℹ️ Calculations represent line coverage. Results may change as calculations are updated. Updated |
…es (#360) * Resolve context files against command cwd and normalized project boundaries * Count external context files by normalized identity
BunsDev
marked this pull request as ready for review
October 21, 2026 01:31
This was referenced Oct 21, 2026
This was referenced Oct 22, 2026
4 tasks done
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.
Current candidate
The path-resolution repair #360 is merged here at
44524dc1081444fec399527de927c9c582bc70a8. Codex paths now resolve from the command's cwd; normalized project boundaries handle parent traversal, Windows drive-relative paths and UNC roots. Outside-file counts deduplicate resolved identities without exporting private paths.Repair
0c70c6ed: build/typecheck, 1,918 unit passes (16 skips), 23 focused context tests and four Notes E2E passes. Its immediate predecessordc5c80c4passed the full E2E suite (374 desktop passes, six opt-in skips, seven site passes); the final count-only correction was checked with the full unit suite and Notes E2E. Required CI passed on the repair before merge; the combined head requires fresh CI.This delivers the context-map portion of #280. Read-only task-view reopening, plan-step/revision verification and native/human acceptance remain open. The separate cross-project Note-save fix is #363.
The original implementation evidence below is historical and identifies its own scope; its earlier local E2E failures are not the repair's results.
Part of #280 (CF-7), tracker #273. This is CF-7's open item "An on-demand context map". It was built on #351, which has since landed (
d1902d2). The plan is indocs/superpowers/plans/2026-10-20-cf7-context-map.md.Native capability used
commandActionswith every command: its own parse of the command asread {path},search {path, query},listFiles {path}orunknown. Modex dropped these. It now keeps the first three onexec.actions(codexActions). It dropsunknownand a read without a path.ReadandEdit/Write(file_path),Grep/Glob/LS(path). A Bashcatcarries no parse, so it isn't counted as a read.read_file,list_dirandwrite_file(path).What it does
taskContext()(shared/task-context.ts) lists each project file the turn changed, read or searched. All relations are observed, meaning the CLI reported them: nothing is indexed, inferred or suggested.Evidence
commandActionstest failed on stubs. The footer e2e found no toggletask-context+codex-backend+conversation-eventse2e/task-to-notes.spec.tspnpm typecheckpnpm --filter @modex/desktop testpnpm --filter @modex/desktop test:e2e~/Library/Caches). Afternpx playwright install chromium, those specs (browser-attachments,browser,usage) passed 5/5. 2 arebrowser-document"native login labels": "1Password could not be read", which needs the 1Password app unlocked. CI runs themCoven-Harness: Claude Code / claude-opus-5-5