chore(sdlc): ROADMAP #236 bloat-hunt — hooks, tests, ROADMAP archive#440
Merged
Conversation
Fable-led audit + Prove-It (TDD mutation-tested) pass across the three categories ROADMAP #236 flagged as not yet exercised: (b) hook noise: fixed codex-review-stop-check.sh delivering its Stop-hook nudge via stderr (invisible on exit 0 per CC hook-delivery semantics); fixed tdd-pretool-check.sh's hardcoded /src/ pattern missing this repo's own hooks/cli/.github/workflows source dirs via a new SDLC_TDD_SRC_PATTERN env override (keeps the CLI-distributed template generic); deleted goal-confidence-check.sh entirely (no cited incident, unproven value); trimmed precompact-seam-check.sh 256->101 lines (removed the untested .reviews/handoff.json self-heal branch); silenced model-effort-check.sh's unset-effort nagging; removed sdlc-prompt-check.sh's unfired #195 effort-bump detector; added 24h-cached CC-version checking to instructions-loaded-check.sh. (c) test redundancy: consolidated overlapping assertions across 10 test files; deleted tests/test-degradation-detection.sh outright (428 lines, fully superseded, 5 tests relocated into test-doc-consistency.sh); found and fixed a latent bug as a byproduct — test_ci_max_turns_sufficient in test-workflow-triggers.sh was defined twice, and the original (shadowed) definition was vacuous, always passing regardless of ci.yml content. (f) ROADMAP archive cut: split ROADMAP.md (326 lines / 182 rows) into a trimmed active table plus new ROADMAP_ARCHIVE.md holding 85 fully-resolved rows and 5 fully-archived release-history sections; added 3 row-completeness regression tests to test-doc-consistency.sh (mutation-verified) proving no row was silently dropped or duplicated. Cross-model reviewed (Codex xhigh, review_id 236-bloat-hunt-bcf-2026-07-06): round 1 found a real gate bypass in codex-gate-check.sh (a quoted flag value containing a space, e.g. git -c user.name="A B" commit, broke the git/commit structural match) — fixed and mutation-verified; round 2 CERTIFIED 10/10. All 58 test files pass.
This was referenced Jul 7, 2026
BaseInfinity
added a commit
that referenced
this pull request
Jul 13, 2026
…effort medium (#440) (#443) The '~5x less Max quota' figure (8 instances, 6 live-guidance files) was traced to commit ab6fc9c with zero supporting measurement. Replaced with qualified language: tokenizer note primary-sourced to Anthropic pricing docs, community cost reports attributed as such, explicit 'no controlled measurement exists — check /usage'. Sonnet 5 documented default effort: high -> medium (CodeRabbit — the source already cited for the max-doubles-cost claim — recommends medium; fresh Fable + Codex xhigh opinions independently converged 2026-07-12). Ladder is now medium -> high -> xhigh across all lanes, tables, skills, and the setup skill's installed settings.json block. hooks/model-effort-check.sh: medium joins the silent floor (the hook must not nag users following the wizard's own default); explicit low and the settings-only-max quirk still warn; warning compacted to 482 bytes worst-case (was 556, over the 500 cap). Tests: 4 new doc-consistency tests (mutation-verified both directions), repo-wide guards for the unqualified-multiplier claim class and the stale high-ladder shape, hook cap test now probes both warning paths and hard-fails on vacuous zero output. Review: Fable round 1 (9 findings, incl. P1 setup-skill config block still installing effortLevel high) + Codex xhigh round 1 (3 P1s, incl. the cap regression) — all fixed, round 2 CERTIFIED.
BaseInfinity
added a commit
that referenced
this pull request
Jul 15, 2026
…n + advisor subagent fallback (#440 follow-up) (#446) Maintainer ask 2026-07-13: Setup A's semantics kept getting re-confused (effort ladder vs model escalation; what happens when advisor() fails). Clarity restatement of already-certified decisions — no new claims. - README: new 'Reading Setup A precisely' section — three rules, each with its why: effort escalation stays inside the Sonnet 5 driver (medium default per #440), model escalation SWAPS the driver to Opus 4.8 xhigh (2 failures / LOW confidence / high-stakes), advisor failure falls back to a Fable subagent, never to skipping - AI_SETUP_LANES: Setup A escalation row + 'Two escalation axes' and 'Advisor failure has a fallback' paragraphs; outage procedure Step 2 rewritten — swap the transport, not the check (Codex round-1 P1: it still offered a 'no advisor' path, contradicting the new rule) - tests: new test_setup_a_escalation_and_advisor_fallback_explicit (positive + section-scoped negative half, RED-first, mutation- verified); #439 reviewer-model pins re-shifted +4 after insertion - ROADMAP: parking lot — rename-research row added (wizard->harness, workshop later, expiry 2026-09-11); /insights row closed as fired Cross-model review: Codex xhigh (GPT-5.6 Sol), 3 rounds to CERTIFIED — 5 findings total (skip-path contradiction, outcome-guarantee and superlative overclaims, false-green test gap), all fixed. Doc-consistency suite: 72/72.
BaseInfinity
added a commit
that referenced
this pull request
Jul 15, 2026
…net 5 medium default (#448) Catch-up release: seven consumer-affecting commits were stranded on main since v1.86.0 (July 5) because nothing prompts the manual tag-to-publish step — most urgently #445, the Copilot CLI argument-hint fix from the repo's first external contributor (@thejesh23), which npm consumers were not receiving. - CHANGELOG [1.87.0]: leads with the first-external-contribution credit; covers #441 (GPT-5.6 Sol reviewer sweep), #443 (Sonnet 5 medium default, unbacked 5x quota claim removed, hook floor), #445/#447 (Copilot fix + regression test), #446 (Setup A semantics), #440/#442 (chores) - Version bumps at all sites found by the broad grep (v1.85.0 lesson) - ROADMAP #448 (Copilot CLI compat watch) + #449 (release-drift gate — this incident's post-mortem; scope: own-package npm-vs-main watcher) - skills/update: [1.87.0] example line; two oldest bullets trimmed to stay under the 20K session-load cap Cross-model release review: Codex xhigh (GPT-5.6 Sol), 3 rounds to CERTIFIED — caught a sed-falsified historical version citation and two unsupported duration claims in my own incident narrative. All suites green.
BaseInfinity
added a commit
that referenced
this pull request
Jul 15, 2026
#449) The reported bug (RECOMMENDED_MODEL hardcoded 'opus[1m]', a broken ANSI-bold escape missing its leading \e, printing as literal text) is already dead — killed as an unrelated side effect of the #403 multi-model rewrite and #440's medium-floor migration, not by a deliberate fix. No test guarded against it recurring. test_model_effort_check_no_stray_ansi_artifact locks it in. Mutation- verified: reintroduced the exact reported string (RECOMMENDED_MODELS="opus[1m]") and confirmed the new test goes RED; restored, suite green. Cross-model review: Codex xhigh (GPT-5.6 Sol), 1 round to CERTIFIED — replayed the mutation independently and confirmed. Closes #430.
This was referenced Jul 15, 2026
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
Fable-led audit + Prove-It (TDD mutation-tested) pass across the three ROADMAP #236 categories not yet exercised, time-boxed to Fable's free-inclusion window (closes 2026-07-07).
codex-review-stop-check.shwrote to stderr onexit 0, which Claude Code never surfaces), fixed a real dual-role-hook regression risk (tdd-pretool-check.sh's hardcoded/src/pattern via a newSDLC_TDD_SRC_PATTERNenv override, keeping the CLI-distributed template generic), deletedgoal-confidence-check.sh(unproven, no cited incident), trimmedprecompact-seam-check.sh256→101 lines (removed untested self-heal branch), quieted two other hooks' unproven nudges.tests/test-degradation-detection.shoutright (428 lines, fully superseded), and found+fixed a real latent bug as a byproduct:test_ci_max_turns_sufficientwas defined twice intest-workflow-triggers.sh, and the shadowed original was vacuous (always passed regardless ofci.ymlcontent).ROADMAP.md(326 lines/182 rows) into a trimmed active table + newROADMAP_ARCHIVE.md(85 fully-resolved rows + 5 release-history sections), with 3 new mutation-verified regression tests proving no row was silently dropped or duplicated.Cross-model reviewed with Codex (xhigh): round 1 found a real gate bypass in
codex-gate-check.sh— a quoted config value containing a space, passed to a-cflag ahead of the commit subcommand, broke the structural detection regex. Fixed and mutation-verified. Round 2 CERTIFIED 10/10.Test plan
tests/test-*.shfiles pass (bash tests/test-<name>.shexit 0 each).claude/settings.jsonre-validated as JSON after edits