fix: avoid full ADR reads in dev-story#77
Conversation
|
We run a long-lived project built from this template (heavily diverged by now) and just hand-adopted this PR's approach downstream — confirming the premise on our side first: One suggestion from our adaptation: step 3's staleness fallback ("missing, clearly stale, or ambiguous") is judgment-only, which leaves the "story written against a since-revised ADR" case to model discretion. We mirrored that pattern for ADRs:
This keeps all the context savings of the PR while making staleness detection deterministic instead of judgment-based. Happy to share our exact SKILL.md wording if useful. |
|
Thanks, this was a good catch. I adopted the mechanical ADR version check pattern in the PR branch:
Validation:
|
Summary
Fixes the
/dev-storycontext-loading contract around ADRs:ADR Decision SummaryandImplementation Notesfrom/create-storiesas the primary implementation briefThis addresses the same root cause described in #63 and #64:
/dev-storywas re-reading large ADRs even though/create-storieshad already distilled the implementation guidance into the story.Type of Change
Changes
.claude/skills/dev-story/SKILL.mdPhase 2 and the programmer-agent brief.CCGS Skill Testing Framework/skills/pipeline/dev-story.mdto assert the no-full-ADR-read behavior.Testing
git diff --check/create-stories/SKILL.mdconfirmed the story template already emits bothADR Decision SummaryandImplementation Notesclaude -pread-only validation returnedTEST_PASS; it verified/dev-storynow uses story-embedded ADR guidance first, performs only targeted ADR status/header/section reads when needed, and does not require full ADR reads for large ADRsAI assistance disclosure: implemented with Codex assistance and manually reviewed before submission.
Checklist
.claude/skills/<name>/SKILL.md)grep -E(POSIX) and fail gracefully without jq/python