Repository navigation
policy-rev 9: research retries thin results, then names what it didn't check (3.6.0) - #47
Merged
Merged
Conversation
…t check (#30) A forked research scan took its first result as complete and handed it on, so plans could rest on unchecked context with no record of the gap. - Policy (Context): a research fork states its question and done condition; on thin results it rephrases or switches source (code, docs, history, issues, web), at most twice more, then returns Sources:, NOT FOUND: and UNCHECKED: lines. UNCHECKED: items stay open. - advisor.md lists NOT FOUND:/UNCHECKED: items under Open questions and never builds a step on them. - The block is 734 of its 735-word budget; "exploration" was dropped from the fork bullet, since "research" covers it. - Codex rev 7 and Grok rev 6 carry the rule; Codex's advisor template gets the open-questions line. - evals case 10; docs/evals.md lists cases 8-10 (8 and 9 were missing); enforcement.md marks the rule as instructed. - Release 3.6.0: plugin.json, SKILL metadata and step 4, CHANGELOG, README Versions and layer tables, port READMEs, evals cases 1-2. Closes #30. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TgCNfwCj3YG9xP3pMB6z2k
The word-budget step ran `wc -w` in the runner's UTF-8 locale, which counts the block's em dashes as extra words: CI measured 741 where a C-locale run measured 734, so this branch failed in CI only (main itself measured 707 in CI against 700 locally). The step now pins LC_ALL=C, so the count is whitespace-separated words everywhere. Reproduced: under LC_ALL=C.UTF-8 the step failed at 741; with the fix it reports 734 of 735 under both C.UTF-8 and C. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TgCNfwCj3YG9xP3pMB6z2k
ovhirup
marked this pull request as ready for review
November 2, 2026 08:38
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
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.
Closes #30.
Problem
The Context layer says to fork research, but not how that research should retrieve. A forked scan runs one grep or search, takes what comes back, and hands it on as if it were complete. The plan is then built on thin context, and nothing records which source went unchecked.
Policy change (policy-rev 8 → 9)
One Context-layer bullet:
advisor.mdnow listsNOT FOUND:andUNCHECKED:items underOpen questionsand never builds a step on them. That part lives in the agent file because only the advisor plans.How this meets #30's acceptance criteria
advisortemplate. Grok rev 6 adds the rule, and its PLAN phase treats unconfirmed items as open questions. The CHANGELOG 3.6.0 entry tells users to re-run the installer and accept the agent refresh.Sources:,NOT FOUND:andUNCHECKED:lines.docs/enforcement.mdlists the rule as instructed, not mechanical, for all three: Claude Code, Codex and Grok.evals/evals.jsoncase 10, where the answer is only found after a rephrase or a second source.Also fixed
docs/evals.md: it said "Seven scenarios" and stopped at case 7, though cases 8 and 9 shipped in 3.3.0 and 3.4.0. Adding case 10 changed the count anyway, so it now says ten and lists cases 8–10.Verification
python3 tools/validate.py: all 9 categories OK. The budget step fromvalidate.ymlreportspolicy block: 734 of 735 words OK.tools/: 63 tests pass.measured/: 12 tests pass. None skipped.policy-rev 8,grok-rev 5,codex-rev 6or3.5.0references remain outside the CHANGELOG history.advisor.mdfrommain):check_install.pyfails on the policy revision and onagent advisor — body differs from assets/advisor.md.diagnose.pyreports both problems.INSTALL: PASS.Limits
Generated by Claude Code