docs(roadmap): correct #347 — native /goal exists; add #350 cadence-gap fix - #350
Merged
Merged
Conversation
…350 (cadence gap) Yesterday's #347 research (claude-code-guide subagent, 2026-05-23) concluded 'no native /goal command in CC' — that was wrong. CC v2.1.139 shipped /goal natively (set completion condition, evaluator pass after each turn, survives --resume but not /clear). Confirmed via raw curl of the CC changelog and the official docs at code.claude.com/docs/en/goal.md. Corrected research at .reviews/347-goal-mode-research-CORRECTED.md (gitignored) documents the actual /goal behavior across 8 dimensions and revises the implementation scope from a 5-step plan + GOAL.md template down to a ~30-line wrapper in the existing /sdlc skill. #350 captures the process gap that let /goal slip past for ~5 weeks: #231 Phase 3d gutted the in-CI LLM-ranker to take weekly-update.yml to $0, and the maintainer-run replacement on Max never actually ran. Proposed fix: a single GitHub API check that opens a 'CC version drift' issue when our baseline is >5 minor versions behind latest npm — no LLM, no API spend, just a stale-state reminder. The session-start staleness nudge (#196) is the in-session counterpart; #350 adds the out-of-session counterpart so the maintainer doesn't have to be in a session to see it. Meta-lesson captured in CORRECTED research doc: require explicit citation of an authoritative source (docs index, raw changelog grep) before accepting a 'feature does not exist' claim. Negative claims are easier to fake than positive ones.
3 tasks
BaseInfinity
added a commit
that referenced
this pull request
May 24, 2026
closes #347) (#351) * docs(cc-features): bump recommended baseline + document /goal, /code-review --comment, /usage, /context all CC v2.1.139 → v2.1.150 shipped 4 wizard-relevant features that the broken auto-PR pipeline (gutted in #231 Phase 3d, see #350) failed to surface: - Native /goal command (v2.1.139) — set completion condition, evaluator pass per turn until met. Survives --resume, not /clear. No disk writes. Subagent race fixed in v2.1.143. - /code-review --comment flag (v2.1.147, renamed from /simplify) — posts findings as inline GitHub PR comments. Streamlines our CI shepherd flow which currently uses manual gh pr review comments. - /usage per-category breakdown (v2.1.149) — skills/subagents/plugins/ MCP cost split. Complements scripts/audit-session-load.sh (#236). - /context all per-skill per-model token estimates (v2.1.139) — same. SDLC.md splits the existing Claude Code Baseline row into Minimum (unchanged, v2.1.111+/v2.1.105+) and Recommended (v2.1.150+) so consumers know what each version unlocks without breaking back-compat. CLAUDE_CODE_SDLC_WIZARD.md adds 4 rows to the Complementary Native Skills table with usage guidance and the same caveats we apply to /insights (qualitative-only, evaluator-can't-call-tools for /goal). Full inventory + triage of all 32 CC versions since v2.1.118 lives at .reviews/cc-feature-inventory-2026-05-24.md (gitignored). HIGH/MEDIUM/ LOW relevance breakdown + recommended adoption sequence for the follow-up PRs (hook $CLAUDE_EFFORT cleanup, #350 cadence workflow build, #347 /goal /sdlc skill wrapper). Zero code changes — pure documentation update so consumers benefit immediately even before the deeper hook/skill integrations land. * feat(sdlc): add /goal wrapper to /sdlc skill (closes #347) Adds a tight /goal section to skills/sdlc/SKILL.md covering CC's native goal-mode primitive (v2.1.139+, requires v2.1.143+ for the subagent-race fix). Composes with existing wizard hooks rather than replacing them. Per the corrected research at .reviews/347-goal-mode-research-CORRECTED.md, the wrapper carries 5 load-bearing elements (each enforced by the new quality test): 1. Pre-flight checklist — workspace trusted, hooks not disabled at any settings layer, CC version floor. 2. Condition-writing guidance treating the /goal arg as an SDLC contract (measurable end state + check + constraints + hard turn/time bound). 3. Hook composition note — UserPromptSubmit/SessionStart/PreCompact fire normally per turn, so sdlc-prompt-check.sh + precompact-seam-check.sh keep gating. 4. Resume caveat — --resume restores the condition but resets counters. 5. Anti-pattern callout — the evaluator can't call tools, so /goal doesn't work for 'doneness' that lives off-transcript. Quality test (tests/test-doc-consistency.sh) greps for each of the 5 elements by keyword; existence-only would let drift quietly remove the safety guidance. Section trimmed from ~1782 → ~1100 chars to keep the skill within budget (was 4995 tokens pre-edit, now 5178 — slightly over the #236 5K trim threshold but within the 25K combined-skill load budget; new content is load-bearing and justified). 40/40 doc-consistency tests pass. No new skill, no new hook, no template. Per Prove-It Gate absorption principle: extend the existing /sdlc skill rather than building a /goal-start /goal-handoff /goal-stop trio. * fix(sdlc): tighten /goal section to stay under #236 5K-token cap CI's tests/test-audit-session-load.sh enforces the #236 5K-token soft threshold as a hard fail. Initial /goal section was 700 chars (skill at 5018 tokens — 18 over). Tightened to 488 chars (skill at 4977 tokens — 23 under) while keeping all 5 quality-test keywords. What stays (verified by test_sdlc_skill_has_goal_wrapper): - v2.1.143+ version floor (the only version that matters for safe use) - 'trusted workspace' pre-flight - 'disableAllHooks'/'allowManagedHooksOnly' pre-flight - 'hard turn/time bound' guidance + 'stop after' example - 'cannot call tools' anti-pattern callout - '--resume resets counters' caveat What dropped (informational, not load-bearing): - v2.1.139 introduction marker (subsumed by v2.1.143+ floor) - 'survives --resume not /clear' (the counter-reset note covers it) - 'Wizard hooks fire normally per turn' (implicit composition) - 'internally a Stop hook' parenthetical (still mentioned briefly) - Verbose example with multiple AND clauses The aggressive tightening keeps the safety guidance load-bearing while respecting the bloat budget the maintainer set in #236. Audit now returns OK for skills/sdlc/SKILL.md (4977/5000 tokens).
6 tasks
BaseInfinity
added a commit
that referenced
this pull request
May 24, 2026
…MAP cleanup (#352) * release: v1.76.0 — native /goal wrapper + CC v2.1.150 feature adoption + ROADMAP cleanup Versioned cut of 5 commits since v1.75.1. Headline: native /goal wrapper in /sdlc skill closes #347; full CC v2.1.119 → v2.1.150 feature inventory done with HIGH-relevance docs adopted; ROADMAP cleaned with new demand-signal-first entry gate (4 excise, 4 kill); #347 corrected from wrong 'no native primitive' research; #350 added to capture the cadence gap that let /goal slip 5 weeks. Full notes in CHANGELOG.md [1.76.0]. Trusted Publishing (OIDC) is the release channel — release.yml fires on tag push, npm publish runs as the workflow identity, no token to rotate. * release: v1.76.0 — also bump SDLC.md version metadata in wizard doc template CI caught a missed version-bump in the SDLC.md example template inside CLAUDE_CODE_SDLC_WIZARD.md (line 2984). tests/test-hooks.sh's test_sdlc_version_matches_wizard greps both files for the meta-comment and asserts they agree; the v1.76.0 cut updated SDLC.md itself but not the wizard doc's embedded template. Self-review lesson: when version-bumping, grep for ALL SDLC Wizard Version meta-comments across the repo, not just the canonical SDLC.md. * release: v1.76.0 — bump update skill changelog example + tighten old entries to stay under #236 5K cap CI caught stale 'Latest: 1.75.1' example in skills/update/SKILL.md which is grep-tested. Added new [1.76.0] entry summarizing this release. Tightened the [1.74.0] and [1.73.0] entries to compensate so the skill stays under the #236 5K-token bloat threshold (now 4989/5000).
4 tasks
BaseInfinity
added a commit
that referenced
this pull request
May 24, 2026
…5 patch releases behind npm latest (closes #350) (#354) The fix for the exact process gap that let native /goal (CC v2.1.139) slip past for 32 versions / 5 weeks. Pure GH-API detector — no LLM, no API spend. Mirrors weekly-api-update.yml shepherd pattern. Components: - scripts/cc-drift-check.sh — bash-3-compatible SemVer delta logic. Outputs JSON {baseline, latest, threshold, patch_delta, component, threshold_exceeded, alert}. Strict > on threshold (exactly N does NOT alert per Codex constraint). Major and SemVer-minor jumps alert regardless of threshold. Refuses prerelease tags and regressions. - .github/workflows/cc-version-drift.yml — Mon 09:30 UTC cron staggered from weekly-update.yml (09:00) and weekly-api-update.yml (10:00). Parses '<\!-- Claude Code Baseline: vX.Y.Z -->' anchor from SDLC.md (NOT '<\!-- SDLC Wizard Version -->' which is the wizard's own pkg version). Reads npm latest via 'npm view'. Calls cc-drift-check.sh. - Idempotency: label 'cc-version-drift' + machine-readable marker in issue body ('<\!-- cc-version-drift baseline=... latest=... delta=... threshold=... component=... -->'). Edits existing open issue (no comment spam). Only re-opens a closed issue if delta has WIDENED since close — maintainer's 'won't fix for now' stays respected. - SDLC.md gains the new single-purpose baseline anchor. The existing Recommended row stays human-readable; the anchor is purely for the cron to grep. Design constraints (each enforced by test-cc-version-drift.sh, 22 quality tests + test-cc-drift-check.sh, 18 unit tests): - Standalone workflow (Codex constraint #350.1) — NOT extending weekly-update.yml whose cron is commented out + tests assert 'issues: write' is absent (#212/#231 guardrails). - permissions: contents: read + issues: write. NO id-token. NO pull-requests: write. - No anthropics/claude-code-action. No '|| true' / '|| echo' failure suppression (one sentinel exception for closed-marker default). - Threshold default 5, configurable via CC_DRIFT_THRESHOLD env var and workflow_dispatch input. Policy in git, not repo variable. - Baseline anchor matches the first SemVer in Claude Code Recommended row — drift between the two is its own test failure. TDD: 18/18 unit tests RED before script → GREEN after. 22/22 workflow tests RED before workflow → GREEN after. Per cross-model design review (.reviews/176-followup-prio-codex.md section 2.#350 + section 3 risks 4-9).
This was referenced May 25, 2026
BaseInfinity
added a commit
that referenced
this pull request
May 25, 2026
) + /goal SDLC-discipline gates (#356) Versioned cut of PR-B + PR-C + PR-D. Trusted Publishing handles npm publish on tag push. Headlines: - release-dry-run.yml — catches release.yml regressions at PR-time. Self-tested in PR-B (the workflow ran on the PR that introduced it). - cc-version-drift.yml — closes #350. The fix for the gap that let native /goal slip past for 32 versions. Pure GH-API, no LLM. - /goal SDLC-discipline gates in /sdlc skill — confidence floor + DLC binding. Native /goal is universal now; this anchors it in SDLC. Full notes in CHANGELOG.md [1.77.0].
This was referenced May 25, 2026
BaseInfinity
added a commit
that referenced
this pull request
May 26, 2026
…) (#361) `npx agentic-sdlc-wizard init` (no @latest pin) silently serves whatever version is cached on disk, sometimes months old. The /update Step 1.5 pattern already catches this — but only at /update time, after the user has already installed stale templates. This moves the same check to init time so the gap surfaces immediately: - cli/init.js: new maybeEmitStaleCliNudge() called before planOperations. Reuses SDLC_WIZARD_CACHE_DIR/latest-version (24h TTL, #239 poison check), falls back to `npm view` with 5s timeout, silent on offline/error. - README.md + CLAUDE_CODE_SDLC_WIZARD.md: install command recommends `npx -y agentic-sdlc-wizard@latest init` so first-time users skip the cache trap by default. - tests/test-cli.sh: 3 quality tests covering nudge-fires-when-stale, silent-when-current, no-reverse-nudge-when-poisoned. Bundled: ROADMAP #347 + #350 status flip from "Actionable now" to DONE with PR citations (#351/#355/#354). Both shipped this week — paperwork was stale. Verified locally: test-cli.sh 91/91, test-doc-consistency 40/40, test-docs-usability 29/29, test-update-skill-cli-version 8/8, test-hooks 156/156, test-setup-path 83/83, test-self-update 153/153.
BaseInfinity
added a commit
that referenced
this pull request
Jun 23, 2026
…king lot Three new ROADMAP entries from triage session 2026-06-20: - #424 Cowork plugin enhancement: prompt-based hooks, verified install path, README corrections. Plugin exists since v1.83.0 but was never tested in a real Cowork session. Hooks ARE supported per Anthropic's own cowork-plugin-management docs. - #425 Dynamic Workflows + ultracode evaluation: CC v2.1.154 feature (May 28, 2026) we missed for 3 weeks (#350 cadence gap). Ultracode is xhigh + auto-workflow, not a replacement for max effort default. - Copilot Cowork SDLC port: parking lot with 60-day expiry. GitHub Copilot desktop app in technical preview (June 2, 2026). Deep-research workflow findings verified by Codex xhigh (round 1: 6/10 NOT CERTIFIED with 2 P1s + 1 P2; round 2: 10/10 CERTIFIED after fixes). 3 new tests in test-cowork-drift.sh validate ROADMAP entries exist.
BaseInfinity
added a commit
that referenced
this pull request
Jun 23, 2026
…ng lot (#424) * docs(roadmap): add Cowork enhancement, Dynamic Workflows, Copilot parking lot Three new ROADMAP entries from triage session 2026-06-20: - #424 Cowork plugin enhancement: prompt-based hooks, verified install path, README corrections. Plugin exists since v1.83.0 but was never tested in a real Cowork session. Hooks ARE supported per Anthropic's own cowork-plugin-management docs. - #425 Dynamic Workflows + ultracode evaluation: CC v2.1.154 feature (May 28, 2026) we missed for 3 weeks (#350 cadence gap). Ultracode is xhigh + auto-workflow, not a replacement for max effort default. - Copilot Cowork SDLC port: parking lot with 60-day expiry. GitHub Copilot desktop app in technical preview (June 2, 2026). Deep-research workflow findings verified by Codex xhigh (round 1: 6/10 NOT CERTIFIED with 2 P1s + 1 P2; round 2: 10/10 CERTIFIED after fixes). 3 new tests in test-cowork-drift.sh validate ROADMAP entries exist. * fix(tests): use main's test-cowork-drift.sh after rebase conflict Rebase picked the wrong side — PR #424's old 12-test file instead of main's 17-test file from merged PR #426.
4 tasks
BaseInfinity
added a commit
that referenced
this pull request
Jul 20, 2026
… (#453) Closes ROADMAP #449. Root-caused and scoped on 2026-07-14 after npm latest sat at v1.86.0 while main was 7 consumer-affecting commits ahead, but never built until this recurred live tonight (main 3 commits ahead of v1.87.0, including #374's real functional fix). New sibling to cc-version-drift.yml/cc-drift-check.sh (#350), pointed inward at our own package: scripts/release-drift-check.sh (pure threshold computation, no git/network) + .github/workflows/release-drift.yml (finds the last v* tag, counts consumer-path commits since it, verifies npm's actual published version against the tag independently of the commit-count check, opens/refreshes a release-drift-labeled tracking issue past a threshold). Not auto-publish-on-merge — human release gate stays, this only fixes the forgetting. Codex xhigh cross-model review: 4 rounds to CERTIFIED, not rubber-stamped. Round 1 found a missing npm-vs-tag publish-mismatch check (a silently failed publish would have gone undetected) plus a vacuous consumer-path test. Round 2 found a test checking only for a substring instead of the actual || operator. Round 3 found a test that didn't assert the tag's v-prefix normalization — a bug there would have made every tag falsely mismatch and spam issues. All four were real, mutation-verified fixes. 21/21 targeted tests, 59/59 full suite.
BaseInfinity
added a commit
that referenced
this pull request
Aug 12, 2026
…king lot Three new ROADMAP entries from triage session 2026-06-20: - #424 Cowork plugin enhancement: prompt-based hooks, verified install path, README corrections. Plugin exists since v1.83.0 but was never tested in a real Cowork session. Hooks ARE supported per Anthropic's own cowork-plugin-management docs. - #425 Dynamic Workflows + ultracode evaluation: CC v2.1.154 feature (May 28, 2026) we missed for 3 weeks (#350 cadence gap). Ultracode is xhigh + auto-workflow, not a replacement for max effort default. - Copilot Cowork SDLC port: parking lot with 60-day expiry. GitHub Copilot desktop app in technical preview (June 2, 2026). Deep-research workflow findings verified by Codex xhigh (round 1: 6/10 NOT CERTIFIED with 2 P1s + 1 P2; round 2: 10/10 CERTIFIED after fixes). 3 new tests in test-cowork-drift.sh validate ROADMAP entries exist.
BaseInfinity
added a commit
that referenced
this pull request
Aug 12, 2026
Closes ROADMAP #449. Root-caused and scoped on 2026-07-14 after npm latest sat at v1.86.0 while main was 7 consumer-affecting commits ahead, but never built until this recurred live tonight (main 3 commits ahead of v1.87.0, including #374's real functional fix). New sibling to cc-version-drift.yml/cc-drift-check.sh (#350), pointed inward at our own package: scripts/release-drift-check.sh (pure threshold computation, no git/network) + .github/workflows/release-drift.yml (finds the last v* tag, counts consumer-path commits since it, verifies npm's actual published version against the tag independently of the commit-count check, opens/refreshes a release-drift-labeled tracking issue past a threshold). Not auto-publish-on-merge — human release gate stays, this only fixes the forgetting. Codex xhigh cross-model review: 4 rounds to CERTIFIED, not rubber-stamped. Round 1 found a missing npm-vs-tag publish-mismatch check (a silently failed publish would have gone undetected) plus a vacuous consumer-path test. Round 2 found a test checking only for a substring instead of the actual || operator. Round 3 found a test that didn't assert the tag's v-prefix normalization — a bug there would have made every tag falsely mismatch and spam issues. All four were real, mutation-verified fixes. 21/21 targeted tests, 59/59 full suite.
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.
Summary
Two related changes from today's "what's out there" sweep:
Correct Research Claude equivalent for goal-mode checkpoint workflow #347 — yesterday's research said CC has no native `/goal` primitive. That was wrong. `/goal` shipped in CC v2.1.139 (and got bug fixes through v2.1.143). Scope shrinks from a 5-step plan + GOAL.md template down to a ~30-line wrapper in the existing /sdlc skill.
Add docs(roadmap): correct #347 — native /goal exists; add #350 cadence-gap fix #350 — the process gap that let `/goal` slip past for ~5 weeks. roadmap(#212): Option 1 — de-require e2e, shepherd becomes advisory #231 Phase 3d gutted the in-CI LLM-ranker to $0; the maintainer-run replacement on Max never ran. Proposed fix: a single GH API check that opens a "CC version drift" issue when we're >5 minor versions behind latest npm.
Evidence
Raw curl of CC changelog → grep `/goal` returns 3 lines:
Official docs: code.claude.com/docs/en/goal.md
What `/goal` actually does (per docs)
Why this slipped past
Wizard baseline = v2.1.111+. Latest npm = v2.1.150. 39 versions behind, no auto-update PR since v2.1.118 (2026-04-23, PR #210). The auto-PR ranker was deliberately gutted in #231 Phase 3d (v1.54.0, 2026-04-29) — fallback was "maintainer runs on Max weekly" which didn't happen. #350 fixes that.
Test plan
Meta-lesson (captured in CORRECTED research doc)
Require explicit citation of an authoritative source (docs index, raw changelog grep) before accepting a "feature does not exist" claim. Negative claims are easier to fake than positive ones.