From 45e679ac23966c39a8905ff269815d1f1be1767c Mon Sep 17 00:00:00 2001 From: Bastien Chanot Date: Mon, 20 Jul 2026 14:21:24 +0200 Subject: [PATCH 1/3] =?UTF-8?q?docs:=20README=20model-routing=20v2=20table?= =?UTF-8?q?=20(BDR-076/077)=20+=20ctx7=20surfaces=20(BDR-078)=20+=20STEP?= =?UTF-8?q?=202b=20=E2=80=94=20post-release=201.2.0=20doc=20pass?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 10ed60d..081c9d1 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ claude-config/ ├── update-all.sh # One-command update for all components ├── Makefile # Unified entry point: make install / doctor / update ├── plugins.lock.json # Version pinning for non-marketplace dependencies -├── hooks/ # Session start, statusline, RTK rewrite + design-toolchain guards +├── hooks/ # Session start, statusline, RTK rewrite + ctx7 + design-toolchain reminders ├── agents/ # Execution units called by skills (never invoked directly) ├── skills/ # Entry points invoked via /skill-name ├── skills-external/ # Vendored skill packs (gstack submodule + installer-fetched design packs) @@ -37,30 +37,35 @@ claude-config/ - `templates/` = symlinked to `~/.claude/templates/` — copy into projects via `/onboard` or manually - **Graphify** builds a knowledge graph of any codebase (`/graphify query`), producing a navigable wiki in `graphify-out/wiki/`. This map helps Claude understand project structure, find relevant code faster, and reason across files. Essential for large-scope tasks (multi-file features, complex bugs, architectural changes). Small tasks should skip it and read files directly. -### Agent model routing (BDR-066) +### Agent model routing (BDR-076/077 — model-tiering v2) -Reflection (brainstorm, plan, contract, audit judgment, loop decisions) runs -INLINE on the session model — assumed Fable/Opus, enforced by a blocking -gate (`lib/model-gate.md` + `lib/model-check.sh`) at the entry of the 13 -reflection orchestrators. Execution runs on pinned subagents: +Doctrine: the session model (Fable) does main-loop reflection ONLY — +brainstorm, plan, contract, audit judgment, gates, loop decisions — enforced +by a blocking gate (`lib/model-gate.md` + `lib/model-check.sh`) at the entry +of the 13 reflection orchestrators. Nothing dispatched inherits silently: +typed agents carry a frontmatter pin, built-ins get an explicit `model=` at +every call site. | Agent | Model | Tier | |---|---|---| | feater, hotfixer, bugfixer | sonnet (pinned) | executors — code from a closed plan (feat), fix from a closed diagnosis (bugfix), fix-bundle appliers | | verifier, security-auditor | sonnet (pinned) | fresh gates (≤3×/loop) | -| commit-changer, release-executor, code-cleaner | sonnet (pinned) | dispatched execution — grouping+commit / release spans / approved cleanup (the audit + approval gate stay in the dispatcher) | -| doc-syncer, onboarder, scaffolder, refactorer, interviewer, plugin-advisor | sonnet (pinned) | workers | +| commit-changer, release-executor, code-cleaner | sonnet (pinned) | dispatched execution — grouping+commit / release spans / approved cleanup (audit + approval gates stay in the dispatcher) | +| onboarder, scaffolder, refactorer, validator-analyzer, plugin-probe | sonnet (pinned) | workers — config generation, scaffold, refactor, deterministic W3C/WCAG runner, mechanical plugin probe | | status-reporter | haiku (pinned) | mechanical collector | -| handover-doc-writer | sonnet (pinned) | deliverable writer — synthesizes + renders the client doc from a resolved PACKAGE (dispatched by client-handover) | -| analyzer, seo-analyzer, geo-analyzer, validator-analyzer, client-handover-writer | inherit session (Fable/Opus) | reflection / audit / inline playbooks / ship-and-handover pipeline | -| plan-challenger | inherit session (Fable/Opus) | fresh adversarial plan challenger — 3 parallel lenses (correctness/robustness/simplicity), dispatched by `/ship-feature` STEP 2b before the validation gate | +| analyzer, plan-challenger, plugin-advisor | opus (pinned) | dispatched judgment — pre-plan analysis, 3-lens adversarial plan challenge (`/ship-feature` STEP 2b), plugin-fit reasoning | +| seo-analyzer, geo-analyzer | opus pin (judge mode); collect/template spans dispatched `model="sonnet"` | 3-mode audit pipelines — judgment fail-closed on opus, mechanical collect + templating on sonnet | +| doc-syncer | sonnet pin; audit mode dispatched `model="opus"` | two-mode: audit (drift judgment, opus) / patch (mechanical apply, sonnet) | +| handover-doc-writer | sonnet pin; synthesize mode dispatched `model="opus"` | two-mode: synthesize (opus) / render (sonnet) — client deliverable | +| interviewer, client-handover-writer | unpinned (inline-load = session model) | they ARE the main loop — a frontmatter pin would be inert | | Explore (built-in) | inherit session (Fable/Opus) | search feeds reflection — kept on the big model, not pinned down | The pure-execution skills `/doc`, `/status`, `/commit-change`, `/release-candidate` **dispatch** their agent (instead of inline-loading it) so the pin takes effect and the work leaves the big session model; `/hotfix` was split like `/feat` (reflection inline + gate, `hotfixer` executor) and so -joins the gated group (13th). +joins the gated group (13th); `/client-handover`'s nested skill-runner +children are dispatched `model:"fable"` (they carry reflection). --- @@ -84,9 +89,12 @@ All scripts use their own location to find the repo — run them from anywhere. The plugins step logs to `install-YYYYMMDD-HHMMSS.log`. **Optional — Context7** (fast doc lookup for React / Next.js / Prisma…): the plugins -step installs the `ctx7` CLI and wires it into Claude Code itself — single surface = -the `find-docs` skill; the generated `rules/context7.md` is purged by design -(BDR-053). If you run `ctx7 setup` manually, delete that rule or re-run `make plugin`. +step installs the `ctx7` CLI and wires it into Claude Code. The doc-fetch surface is +the `find-docs` skill alone (BDR-053 — the generated `rules/context7.md` is purged by +design; if you run `ctx7 setup` manually, delete that rule or re-run `make plugin`). +A once-per-session `ctx7-reminder` hook nudges toward it when the current project +carries fast-moving libs (`lib/fast-libs.sh`) — a scoped second surface refining +BDR-053, not reversing it (BDR-078). ```bash ctx7 login # optional: OAuth / API key for higher rate limits @@ -186,6 +194,7 @@ cd my-existing-project/ /ship-feature "feature description" # → STEP 0: plugin check # → STEP 1-2: brainstorm + plan (superpowers) +# → STEP 2b: adversarial plan-challenge (3 lenses, report-only) # → STEP 3: validation gate — user approval required # → STEP 4-7: implement (TDD) → review → capitalize (memory) # → STEP 8: sync README (doc-sync) From b3a03fd9746f9df58bf75e3c5655c138e2d549c8 Mon Sep 17 00:00:00 2001 From: Bastien Chanot Date: Mon, 20 Jul 2026 14:24:39 +0200 Subject: [PATCH 2/3] =?UTF-8?q?chore(memory):=20journal=20=E2=80=94=20v1.2?= =?UTF-8?q?.0=20cut=20+=20doc=20pass?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .claude/memory/journal.md | 1 + 1 file changed, 1 insertion(+) diff --git a/.claude/memory/journal.md b/.claude/memory/journal.md index 1b6d311..1975d9f 100644 --- a/.claude/memory/journal.md +++ b/.claude/memory/journal.md @@ -416,3 +416,4 @@ rules: ## 2026-07-20 - ctx7 coverage audit (user ask "ctx7 appelé à chaque techno ?") → verdict PARTIAL. 4 gaps: find-docs question-only, /feat //bugfix executors blind, ad-hoc coding uncovered, fast-libs hardcoded 3×. All 4 closed → BDR-078 (fast-libs.sh single source + ctx7-reminder hook + description trigger + executor-brief rule). fast-libs test 11/0, make test + review-guards green. feature/ctx7-coverage, UNMERGED. +- v1.2.0 cut + pushed (release-candidate flow: prep/finish via release-executor, tag on main 51b6572). CHANGELOG backfilled at prep: 10 entries added to Unreleased (plan-challenge, seo-data verbs, model-tiering v2, integrity pass, safe_fetch/url-guard) — was ctx7-only. /doc full post-release: README model-routing table v1→v2 reframe + ctx7 two-surface wording, chore/doc-sync-v1.2.0 merged. All pushed on explicit go. From e5a62cc049378e81ab16ffe67a6dbb8d9d87285a Mon Sep 17 00:00:00 2001 From: Bastien Chanot Date: Mon, 20 Jul 2026 14:32:50 +0200 Subject: [PATCH 3/3] =?UTF-8?q?chore(release):=201.2.1=20=E2=80=94=20versi?= =?UTF-8?q?on.txt=20+=20CHANGELOG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 5 +++++ version.txt | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b51ed4..2ed4240 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,11 @@ Format follows [Keep a Changelog](https://keepachangelog.com/). ## [Unreleased] +## [1.2.1] — 2026-07-20 + +### Fixed +- **README caught up with the code it describes** — the "Agent model routing" section still presented the BDR-066 v1 scheme (7 rows factually wrong after model-tiering v2): reframed to the BDR-076/077 4-tier table verified against agent frontmatters (opus-pinned judgment agents, per-mode splits for doc-syncer / handover-doc-writer / seo-geo pipelines, plugin-probe added, unpinned inline agents listed as such). Also: Context7 paragraph rewritten to the two-surface model (find-docs = sole doc-fetch surface, `ctx7-reminder` hook = scoped session nudge, BDR-078), `hooks/` tree line now mentions the ctx7 reminder, and the `/ship-feature` workflow block gained its STEP 2b (adversarial plan-challenge) line. Docs-only release — no code change. + ## [1.2.0] — 2026-07-20 ### Added diff --git a/version.txt b/version.txt index 26aaba0..6085e94 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -1.2.0 +1.2.1