You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
migrate the context gatekeeper to kernel-owned observer tracking - #896
Against main, chess passed 6/10 → 7/10, change-calendar and incident-desk each fell 10/10 → 9/10, and all other task/model rows remained fully passing; comparison.json finds no pass-rate or prompt-cache movement beyond noise. Costs moved both ways: chess averaged approximately $0.0494 → $0.0456/run, while worker-logs rose $0.0217 → $0.0254/run and 4.2 → 5.3 minutes; the single Sonnet compaction run remained the costliest individual run ($1.77 → $1.82). Chess accounted for the most failed runs (4 → 3) and model steps (50.9 → 50.1/run), with both sides spending steps on handwritten rules, PGN/draw extensions, and edit retries.
⚪ VERDICT: NO REGRESSION FROM THIS PR
The Context observer-tracking migration leaves the failing code paths unchanged, Context skill reads succeed in both trajectories, and neither the outcome changes nor the mixed cost changes establish a PR-caused effect.
Triage
Failure modes
Incorrect chess rules · chess 2/10 · model error · this PR: no — Trial 1, turn 1, wrote reversed rook relocation for castling; executeCode returned the incorrect FEN, but the final reply still claimed verification. Trial 8’s turn-1 writeFile limited every move to two files horizontally, dropping legal sliding-piece moves; its smoke tests missed this. The sharing check’s failure in that run was also a move-set mismatch, not lost shared state.
Invalid generated JavaScript · chess 1/10 · model error · this PR: no — Trial 2, turn 1, wrote a malformed nested ternary in client.js and finished without calling executeCode; verification could not start the gadget Worker because of Unexpected token ':'.
Activation stalled before completion · change-calendar 1/10 · harness bug · this PR: no — Trial 3, turn 1, ended after three model steps and successful writeFile returns, with no subsequent reply before the 420-second activation timeout. The underlying stall is not logged; this happened before Skills was enabled or any Context read occurred.
Internal call violates its own argument contract · incident-desk 1/10 · model error · this PR: no — Trial 3’s turn-1 writeFile defined incident({ id }) but called this.incident(id) from acknowledgment and resolution. Later editFile calls retained that mismatch, so existing incidents returned UNKNOWN_INCIDENT, including losing acknowledgment attempts; the agent never exercised those RPCs before declaring completion.
Tool errors
editFile: No matching text was found · change-calendar 4 → 0, chess 12 → 13, incident-desk 0 → 1, worker-logs 2 → 0 · model error — Agents supplied text differing from the current file, especially escaped regexes; candidate chess trial 5 wasted six calls on over-escaped matches before correcting them.
editFile: Validation failed · change-calendar 2 → 4, chess 2 → 3, incident-desk 1 → 3, worker-logs 2 → 4 · model error — Calls omitted required fields or supplied code/batch objects instead of edit parameters. For example, candidate calendar trial 6 supplied only the workpiece and filename, then recovered with a complete call.
editFile: Multiple matches were found · chess 2 → 0, incident-desk 2 → 2 · model error — Replacement spans were not unique. Candidate incident-desk trial 5 matched both SQL projections, then recovered by including the surrounding method.
executeCode: Failed to start Worker · chess 3 → 0 · model error — Baseline trial 6 submitted .}, . n, and .foo as executable modules, then retried with valid JavaScript; these were malformed inputs, not Context failures.
executeCode: This step already made code changes · change-calendar 0 → 1, worker-logs 0 → 1 · tool design — The description does not advertise the edit-step barrier. Both candidate runs batched edits with execution, received the recovery instruction, and succeeded by executing in the next step.
What to do
Optional, outside this PR: in packages/workshop-backend/src/agent.ts, add verification guidance to exercise gadget RPCs, compare returned state with expectations, and clean up test data before claiming completion.
Optional, outside this PR: in the same file’s EXECUTE_CODE_TOOL_DESCRIPTION, explicitly say that execution must occur in a separate model step after file edits.
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
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.
WIP -- Not ready for review