Repository navigation
TDD 0064: model roles and parent-model observation - #183
Merged
cahenesy merged 4 commits intoOct 5, 2026
Merged
Conversation
Add tests/model-roles.test.sh: executes every scripts/lib/models.sh function in a clean env -i shell against fixture TDDs, a Claude transcript and a Grok summary.json (TDD 0064 Verification plan observations 1-15), and pins the fresh-worker independence wording in the design-reviewer, /tdd-author 7b and plugin.json. Register it in the implement-gate aggregator. build-tdds-skill [D] now asserts the no-arg resolve line build=inherit review=inherit verify=inherit. Red against the unchanged models.sh (prior-gen pairing). Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Ki3TDnP2bNqqpEkFoZaEXq
Rewrite scripts/lib/models.sh per ADR 0015 / NFR-3: judgment slots resolve to inherit (dispatch with no model parameter); pins win, with CLAUDE_CODE_SUBAGENT_MODEL treated as a Claude-only pin. Only the light tier and the escalation target are named, on four binding lines. Mechanical runtime-verify uses the light tier only when the parent is above it, else inherits (parent-cap); the plan class comes from plan-classifier.sh. tl_resolve_models and tl_model_sources share one _tl_resolve_slot. tl_parent_model reads the Claude transcript (.message.model of the newest assistant line, parsed as JSON via a jq -> python3 cascade) or Grok summary.json current_model_id; an unreadable model is reported, never guessed. tl_parent_effort reports the session effort and its source. The FR-10 design-reviewer now inherits the parent's model; /tdd-author 7b and the plugin.json description say independence is the fresh worker, not a different model name. Plugin 3.45.0 -> 3.46.0. The eval gains a key-order / user-line transcript fixture: the spec fixture alone does not catch a first-match raw regex. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Ki3TDnP2bNqqpEkFoZaEXq
Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Ki3TDnP2bNqqpEkFoZaEXq
Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01Ki3TDnP2bNqqpEkFoZaEXq
cahenesy
deleted the
build/20261005-174458/0064-judgment-worker-defaults
branch
October 5, 2026 18:07
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.
Implements TDD 0064 (PRD f6ef178, ADR 0015). Bottom of a 4-PR stack (0064 → 0065 → 0066 → 0067) from
/build-tddsrun20261005-174458.What changed
scripts/lib/models.shrewritten:inherit; pins win, andCLAUDE_CODE_SUBAGENT_MODELis treated as a pin.parent-cap).tl_classify_plan.tl_parent_model(reads the session transcript or Groksummary.jsonas JSON, never with a regex),tl_parent_effort, and tier and family placement.agents/design-reviewer.mdis nowmodel: inherit. The/tdd-author7b andplugin.jsonwording changes from "different model" to "fresh worker".tests/model-roles.test.sh(87 checks) runs every function in a cleanenv -ishell.build-tdds-skill.test.sh[D] is updated.releases.jsonentry.Gates
efe5adb test(failing)→f316a05 feat; red on master: 85/86 failed)tl_parent_model→claude-opus-5-5Review minors:
releases.jsonmissing 3.46.0. Fixed in9fc720c.models.shlarger than estimated. 321 diff lines against ~190 declared. The excess is mostly comments and the two-parser fallback.skills/implement/SKILL.mdstill passestl_resolve_modelsvalues (nowinherit) as a model, and passes plan text where a path is expected.Nits:
..check is conservative;./plan-classifier.shfallback is relative to the current directory.Merge the whole stack (0064–0067) before running
claude plugin update. A plugin with only 0064 would make the old/build-tddsdispatch the literalinheritas a model. Merge bottom-up; auto-delete is on, so each PR retargets ontomaster.🤖 Generated with Claude Code
https://claude.ai/code/session_01Ki3TDnP2bNqqpEkFoZaEXq