fix(skills): correct Stage 8 exporter path in research.md - #40
Merged
Conversation
RS1 renamed the exporter to scripts/synthesis_export.py with no shim, but research.md kept invoking scripts/research_kb_export.py in both its Stage 8 heading and its Stage 8 command. A literal /research run therefore died at the final stage. It survived because the only test touching the rename asserted on the export skill (synthesis-export.md), not on the orchestrator that calls it. The added test is deliberately repo-wide rather than a research.md assertion: the defect is a class -- a skill naming a module that does not exist -- and a targeted test would not catch the next rename. It carries an allowlist for the one deliberately-unimplemented module, asserted in both directions so the list cannot rot. Note validators/research_kb_export.py legitimately keeps its historical name and must continue to resolve; that asymmetry is what made the original bug easy to miss by eye. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014jpLr4doRxvoh6eBrpGavX
Comment only; no behaviour change.
A plan review concluded that freshness.py promoting content age to a hard error
under --strict contradicted content_age_warning_for_entry's docstring ("This
NEVER returns an error") and docs/architecture.md, and was a copy-paste bug. An
external review confirmed that reading. Both were wrong.
tests/test_v2_strict_live.py:105-127 holds a deliberately paired contract: warn
in normal mode, escalate under --strict. Someone wrote both halves on purpose.
The docstring is accurate about the helper, which returns a warning string and
never an error -- the caller decides severity, and that is the design.
The change was made, the full suite caught it, and it was reverted. This comment
records the reasoning at the site so the next reader does not repeat the
diagnosis.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014jpLr4doRxvoh6eBrpGavX
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.
On main, Stage 8 of the /research orchestrator references scripts/research_kb_export.py, which does not exist — the real exporter is scripts/synthesis_export.py. Runs currently work only because checkouts sit on this branch; a fresh clone of main fails at export.
🤖 Generated with Claude Code
https://claude.ai/code/session_014jpLr4doRxvoh6eBrpGavX