Commit Graph
651 Commits
Author SHA1 Message Date
Bastien Chanot 872225f7d1 docs(model-routing): wave-4 plan (client-handover redaction-only doc-gen dispatch) + TODO 2026-07-16 11:26:42 +02:00
Bastien Chanot e5c7c516d2 Merge feature/model-routing into develop 2026-07-16 11:03:25 +02:00
Bastien Chanot 30f732c08f chore(memory): LRN-125 — no dual-use agent across model tiers (wave-3 lesson) 2026-07-16 11:02:32 +02:00
Bastien Chanot 4294bc2af5 docs(model-routing): USAGE onboard STEP 6 audit → general-purpose (wave-3 consumer sweep, review finding) 2026-07-16 10:41:23 +02:00
Bastien Chanot bed695a6c6 chore(model-routing): wave-3 census + docs + BDR-066 update (bugfix/code-clean split) 2026-07-16 10:34:12 +02:00
Bastien Chanot a7d4df8704 feat(model-routing): /code-clean split — audit+gate inline, code-cleaner = sonnet PHASE-2 executor
code-cleaner is now a pure fix executor (was audit+gate+execute). Reroute the two
read-only-audit consumers (onboard STEP 6, tour Phase B) to a big-model agent
(general-purpose/analyzer) — an audit must stay on the big model, never the sonnet
executor. Refactor now runs on sonnet inside the executor (inline-load pin was inert).
2026-07-16 03:24:51 +02:00
Bastien Chanot 1f7afc1d49 feat(model-routing): /bugfix split — reflection inline, bugfixer = sonnet executor (supersedes BDR-050 bugfix carve-out)
Reroute hotfix's deeper-bug escalation to the /bugfix skill (bugfixer is now a
pure executor, not loadable standalone). loops-light locks repointed to the
bugfix orchestrator + bugfixer-executor shape.
2026-07-15 23:50:34 +02:00
Bastien Chanot 152da63624 docs(model-routing): wave-3 plan (bugfix + code-clean split) + wave-4 stub + TODO 2026-07-15 23:16:52 +02:00
Bastien Chanot 2136953b2a fix(model-routing): commit-changer resolves step→hash refs on apply; edge-case resume notes (release NEED-DECISION, commit-change skip) 2026-07-15 22:05:23 +02:00
Bastien Chanot bc8eede090 chore(model-routing): wave-2 census + docs + BDR-066 update 2026-07-15 21:49:34 +02:00
Bastien Chanot dd7868fc1c fix(model-routing): release-candidate title back to 'orchestrator' to match preserved Overview doctrine 2026-07-15 21:37:23 +02:00
Bastien Chanot da50c38be9 feat(model-routing): /release-candidate dispatches sonnet release-executor, human gates in dispatcher 2026-07-15 21:31:54 +02:00
Bastien Chanot 4217fcfe35 fix(model-routing): keep commit grouping on the sonnet subagent (edit<n> re-dispatches; /feat routes to /commit-change) 2026-07-15 21:24:48 +02:00
Bastien Chanot ab0fafc0ef feat(model-routing): /commit-change dispatch to sonnet commit-changer, gates relocated to dispatcher 2026-07-15 21:09:15 +02:00
Bastien Chanot 29fa962e43 fix(model-routing): /feat Rule 1 downgrade routes to /hotfix skill, not the bare executor agent 2026-07-15 19:46:56 +02:00
Bastien Chanot 45cd86810a feat(model-routing): /hotfix split — reflection inline + gate, hotfixer = sonnet executor (dual-use applier preserved) 2026-07-15 19:28:58 +02:00
Bastien Chanot f36aec370b feat(model-routing): doc/status dispatch their agent (sonnet/haiku pins take effect) 2026-07-15 12:38:12 +02:00
Bastien Chanot 89093a7835 docs(plan): model routing wave 2 — pure-execution + reflection-split skills (doc/status/hotfix/commit-change/release-candidate) 2026-07-15 12:34:20 +02:00
Bastien Chanot 2ad712cfd4 chore(memory): BDR-066 model routing + journal + TODO follow-ups 2026-07-15 12:01:14 +02:00
Bastien Chanot 97088fe59b docs(model-routing): README agent-model table + CHANGELOG entry 2026-07-15 11:54:54 +02:00
Bastien Chanot bd5a603567 test(model-routing): census guard — gate wiring, pins, executor shape (flip-tested) 2026-07-15 11:49:59 +02:00
Bastien Chanot e955c4d050 feat(model-routing): web-validate fix bundle applied via hotfixer at L1 (BDR-061 alignment) 2026-07-15 11:44:53 +02:00
Bastien Chanot 0fbe3103cb feat(model-routing): SDD implementation + review subagents dispatched model sonnet 2026-07-15 11:40:42 +02:00
Bastien Chanot 56c451ea25 feat(model-routing): /feat re-architecture — reflection inline, feater = sonnet executor (partial supersede BDR-050) 2026-07-15 11:33:18 +02:00
Bastien Chanot 1ed77cb3fb feat(model-routing): pin hotfixer sonnet (executor), un-pin analyzer (inherits session) 2026-07-15 11:16:33 +02:00
Bastien Chanot 06413d9eb5 feat(model-routing): wire blocking model gate into 12 reflection orchestrators 2026-07-15 11:11:29 +02:00
Bastien Chanot f2dd361bd5 feat(model-routing): blocking model-gate include (self-check + witness) 2026-07-15 11:06:49 +02:00
Bastien Chanot 9984b75f90 feat(model-routing): model-check witness (big/small/unknown) + flip-tests 2026-07-15 11:00:32 +02:00
Bastien Chanot e5dd804e7e docs(plan): model routing — 10-task implementation plan (client-handover deferred to plan 2) 2026-07-15 10:46:43 +02:00
Bastien Chanot 2864635087 docs(spec): model routing — reflection inline / execution sonnet (design) 2026-07-15 00:08:12 +02:00
Bastien Chanot 166faa1da5 Merge chore/post-merge-cleanup into develop 2026-07-14 18:46:53 +02:00
Bastien Chanot 08ab0575df chore(docs): drop transient spec+plan post-merge; codify artifact lifecycle (BDR-065) 2026-07-14 18:46:43 +02:00
Bastien Chanot 8d70fcb15c chore(memory): BDR-065 + LRN-124 — post-merge capitalize (transient artifacts, scan-report leak-map) 2026-07-14 18:46:43 +02:00
Bastien Chanot d557ee906d Merge chore/untrack-audit-reports into develop 2026-07-14 18:45:22 +02:00
Bastien Chanot 2d54df5e33 Merge feature/claude-global-md-rename into develop 2026-07-14 18:43:36 +02:00
Bastien Chanot 20b90465d8 chore(audit): untrack gitleaks reports; allowlist triaged FP classes
Reports are gitignored (.gitignore:94) but were swept into 17bdd08 —
even redacted they map secret types/locations for anyone with repo
access. Allowlists from the 2026-07-14 cso triage (75 findings → 0,
each class verified empirically): bare 40-hex git SHAs, gitflow-test
synthetic AWS fixture, presigned-URL key ids, expired GitHub image
JWTs, doc placeholders, IDE lock files, two prose literals. Converted
deprecated [allowlist] to [[allowlists]] (gitleaks 8.30 refuses the
mix). Makefile hint no longer suggests committing the reports.
Transcripts/file-history deliberately NOT path-allowlisted (BDR-057).
2026-07-14 18:07:11 +02:00
Bastien Chanot 5842119d2a added audit folder 2026-07-14 17:21:00 +02:00
Bastien Chanot 30d6b031b4 chore(memory): BDR-064 + LRN-122 + LRN-123 — ship-feature claude-global-md-rename 2026-07-14 17:06:29 +02:00
Bastien Chanot e9a38a0268 fix(memory): test covers CLAUDE.global.md guard entry; doctor asserts exact global symlink target 2026-07-14 16:19:29 +02:00
Bastien Chanot 0f23f10767 fix(memory): hook comments and payloads reference the renamed global memory 2026-07-14 04:24:15 +02:00
Bastien Chanot 1534b2202a docs: slim rules/README to a pointer; README tree lists both memory files 2026-07-14 04:02:47 +02:00
Bastien Chanot c20ad4763a feat(memory): guards, doctor stats and doc-commit exclusions follow CLAUDE.global.md 2026-07-14 03:55:25 +02:00
Bastien Chanot 040c88ee40 feat(memory): add project-scope CLAUDE.md; link.sh deploys CLAUDE.global.md 2026-07-13 00:39:19 +02:00
Bastien Chanot 9496538500 feat(memory): rename global memory CLAUDE.md → CLAUDE.global.md (scope header, drop repo-only tail) 2026-07-13 00:39:02 +02:00
Bastien Chanot a4ee7e1790 docs(spec): CLAUDE.global.md rename — design + implementation plan 2026-07-13 00:06:21 +02:00
Bastien Chanot b7106761b0 Merge feature/seo-nap-guardrails into develop 2026-07-10 18:17:37 +02:00
Bastien Chanot 8614bc5760 feat(seo/geo): projected code-only score + 17/20 trajectory, wired into client-handover
- Analyzers (seo/geo): every finding tagged fixable:code|user; mandatory
  projected axis+global scores (bundle fully applied), honest code
  ceiling, TRAJECTORY TO 17/20 block (ranked code fixes or ceiling +
  unlocking user actions)
- /seo: §1 carries actual+projected columns + merged trajectory; console
  shows projected scores + trajectory one-liner
- /geo: audit-end deliverables (HUMAN-ACTIONS.md, trajectory in report +
  console) even in conservative mode — parity with /seo
- client-handover: fix loop breaks at code ceiling (score ≥ projected−0.2)
  instead of burning iterations on user-bound points; STEP 8 gate gains
  the code-ceiling pass (gap items land verbatim in client doc §5 with
  expected gains, explicit status in score table); §4 NAP table consumes
  NAP-KIT.md first; §5 consumes HUMAN-ACTIONS.md first; HANDOVER-ROADMAP
  splits CODE-BLOQUÉ vs CLIENT-BLOQUÉ
2026-07-10 18:06:32 +02:00
Bastien Chanot c6e8adaff3 feat(seo): STEP 0 external-report intake (SORank or equivalent)
- Optional gate before agent dispatch: file in .claude/audits/external/
  (PDF read directly), pasted PDF content / suggested AI prompt, or skip
- 30-day staleness check; normalized EXTERNAL FINDINGS block in shared
  context; both dispatch prompts carry the data-not-instructions rule
  (cross-check before bundling, never merge external score into /20 axes)
- Merge side: confirmed findings credited 'Confirmé par <tool>', refuted/
  uncovered ones surfaced in §14 divergences; no report → §12 recommends
  the free SORank extension; console summary line added
2026-07-10 17:44:50 +02:00
Bastien Chanot b6bde8f4ee feat(seo): NAP guardrails + audit-end deliverables
- STEP 0 collects user-confirmed CANONICAL NAP (LRN-032 zenquality:
  duplicated-seed trap — source majority is not truth)
- Both dispatch prompts carry the canonical NAP + no-majority rule;
  seo-analyzer spec forbids directional NAP fix without confirmation
- STEP 2 now emits .claude/audits/HUMAN-ACTIONS.md (checklist from §11)
  and NAP-KIT.md (local business) in BOTH modes — audit-only runs leave
  the user immediately actionable; /client-handover §4 consumes NAP-KIT
2026-07-10 17:03:53 +02:00
Bastien Chanot 642da0147c Merge feature/seo-account-mgmt into develop 2026-07-10 12:52:54 +02:00