Skip to content

chore(sdlc): ROADMAP #236 bloat-hunt — hooks, tests, ROADMAP archive#440

Merged
BaseInfinity merged 1 commit into
mainfrom
fable-bloat-hunt-236
Jul 7, 2026
Merged

chore(sdlc): ROADMAP #236 bloat-hunt — hooks, tests, ROADMAP archive#440
BaseInfinity merged 1 commit into
mainfrom
fable-bloat-hunt-236

Conversation

@BaseInfinity

Copy link
Copy Markdown
Owner

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).

  • (b) hook noise audit — fixed a real invisible-nudge bug (codex-review-stop-check.sh wrote to stderr on exit 0, which Claude Code never surfaces), fixed a real dual-role-hook regression risk (tdd-pretool-check.sh's hardcoded /src/ pattern via a new SDLC_TDD_SRC_PATTERN env override, keeping the CLI-distributed template generic), deleted goal-confidence-check.sh (unproven, no cited incident), trimmed precompact-seam-check.sh 256→101 lines (removed untested self-heal branch), quieted two other hooks' unproven nudges.
  • (c) test redundancy pass — consolidated overlapping assertions across 10 test files, deleted tests/test-degradation-detection.sh outright (428 lines, fully superseded), and found+fixed a real latent bug as a byproduct: test_ci_max_turns_sufficient was defined twice in test-workflow-triggers.sh, and the shadowed original was vacuous (always passed regardless of ci.yml content).
  • (f) ROADMAP archive cut — split ROADMAP.md (326 lines/182 rows) into a trimmed active table + new ROADMAP_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 -c flag ahead of the commit subcommand, broke the structural detection regex. Fixed and mutation-verified. Round 2 CERTIFIED 10/10.

Test plan

  • All 58 tests/test-*.sh files pass (bash tests/test-<name>.sh exit 0 each)
  • Every hook fix/trim/deletion backed by a mutation-verified test (RED against old/broken behavior, GREEN after fix)
  • 3 new ROADMAP row-completeness regression tests, mutation-verified
  • .claude/settings.json re-validated as JSON after edits
  • Codex cross-model review round 2: CERTIFIED 10/10

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.
@BaseInfinity BaseInfinity merged commit 3aa2779 into main Jul 7, 2026
4 checks passed
@BaseInfinity BaseInfinity deleted the fable-bloat-hunt-236 branch July 7, 2026 17:28
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant