feat(ctx7): coverage extension — fast-libs single source + reminder hook + executor briefs (BDR-078)

- lib/fast-libs.sh: detect/cache-status verbs, JS+Python manifests,
  7-day cache freshness, LC_ALL=C sort — replaces 3 hardcoded lists
  (ship-feature 0c, init-project 5c, onboard 3.5)
- hooks/ctx7-reminder.sh: once-per-session UserPromptSubmit nudge when
  the project carries fast-libs and .ctx7-cache/ is missing/stale
- find-docs: before-writing-code trigger + cache-first rule; dist is
  machine-owned (gitignored) so the durable patch lives in
  install-plugins.sh STEP ctx7 (idempotent, grep-guarded)
- feater/bugfixer briefs: fast-lib docs rule (fresh cache read, else
  2-topic ctx7 fetch, else NOTES cache miss + proceed)
- tests: lib/tests/fast-libs.test.sh (11 checks); shellcheck + full
  make test green (review-guards 5/0)
This commit is contained in:
Bastien Chanot
2026-07-20 10:45:06 +02:00
parent 6838d5a8fa
commit b7026e4bda
14 changed files with 277 additions and 9 deletions
+6
View File
@@ -47,6 +47,12 @@ report below is optional on this path (the dispatcher needs the edit applied
suite incrementally; run it fully before reporting.
- Follow existing code patterns and CLAUDE.md limits (function size,
params, no global state). Match comment density and naming.
- Fast-moving libs (`bash ~/.claude/lib/fast-libs.sh detect .` — React,
Next.js, Prisma…): before coding against their APIs, read a fresh
`.ctx7-cache/<lib>*.md` if present; else fetch targeted docs, max 2
topics (`npx ctx7@latest library <name> "<q>"` then `docs <id> "<q>"`).
ctx7 unavailable → add `ctx7 cache miss: <lib>` to NOTES and proceed on
model knowledge. Stable techs (C, SQL, POSIX sh…) skip this entirely.
- FORBIDDEN: `git commit`, branch ops, push, merge, new dependencies,
editing `.claude/**` or memory registries, user questions (you cannot
ask — report instead), attribution trailers of any kind.