Commit Graph
1020 Commits
Author SHA1 Message Date
bastien 7d8407ec36 docs(effort): design-stack doctrine names the vendored members only
Plugin (ui-ux-pro-max) and gstack (design-html, design-review) members carry
no pin and run at the level in force (verifier observation).
2026-09-29 15:11:48 +02:00
bastien cd3a745857 fix(effort): resync re-applies the pins after the 21st pack refresh, order locked
The 21st pack refresh (update-all 7.4) rewrites every 21st-* SKILL.md after
the superpowers refresh; the re-apply now sits after it, the census locks
the order in both scripts. Contract: criterion 3 anchor, shellcheck
directive authorized, tracked design-motion-principles copy gated.
2026-09-29 15:09:45 +02:00
bastien afa89f9cd9 feat(effort): tracked design-motion-principles copy carries its high pin
The only vendored external tracked in git; the resync (update-all 7.2)
overwrites it and lib/effort-pins.sh puts the line back.
2026-09-29 13:15:57 +02:00
bastien c859ae256f feat(effort): entry level on every skill next to its model pin (BDR-108)
- lib/effort-pins.txt (map) + lib/effort-pins.sh (idempotent re-apply)
  replace the hardcoded brainstorming/writing-plans loop; called after the
  last vendoring step of install-plugins.sh AND update-all.sh (the resync
  dropped the pins until the next make plugin)
- design stack high uniform (last loaded wins), superpowers, agent-skills,
  21st pack pinned from the map; skills-perso low, pdf-translate medium,
  site-motion high
- doctrine: design stack loads paired with the first Read; one level per
  stack (CLAUDE.global.md, lib/effort-shift.md)
- lib/effort-audit.py prints thinking coverage per scope (sub-agent records
  carry no thinking count on ~94 % of requests)
- census map-driven + fixture suite lib/tests/effort-pins.test.sh; docs
  README/USAGE/CHANGELOG; contract + TODO plan
2026-09-29 13:15:41 +02:00
bastien 3fcc0c8211 Merge chore/hook-msg-name into develop 2026-09-29 13:07:31 +02:00
bastien a5b3374fb2 fix(gitflow): push hook names itself in its failure message (post-merge said post-commit) 2026-09-29 13:05:31 +02:00
bastien c83e407bfa chore(memory): journal — gitleaks protect fallback merged 2026-09-28 21:57:22 +02:00
bastien 55b77e3baf Merge bugfix/gitleaks-protect-fallback into develop 2026-09-28 21:57:06 +02:00
bastien 347073a0cc fix(gitflow): pre-commit gitleaks scan falls back to protect --staged on < 8.19
Ubuntu's gitleaks 8.16 package has no git subcommand, so the hook's
"unknown command" exit 1 blocked every commit as a leak. Probe
gitleaks git --help once, fall back to protect --staged; regenerate the
installed hooks. T16c simulates a missing binary with a /usr/bin symlink
farm minus gitleaks instead of a shorter PATH.
2026-09-28 21:40:58 +02:00
bastien 1b95834865 chore(memory): journal — effort tiering merged to develop 2026-09-28 2026-09-28 21:21:47 +02:00
bastien 94ede35f06 Merge feature/effort-tiering into develop 2026-09-28 21:21:32 +02:00
bastien 5b3ea682b4 chore: purge transient planning artifacts (BDR-065) 2026-09-28 21:21:31 +02:00
bastien e529801411 fix(effort): judgment-dispatch shift under its heading (ship-feature, init-project) 2026-09-28 20:50:26 +02:00
bastien a70430e683 chore(memory): EVAL-037 deduped counts, BDR-107 correction, LRN-180 pairing rule, TODO count 2026-09-28 20:48:35 +02:00
bastien 58c3a3e9b7 fix(effort): re-raise judgment dispatches, planning re-asserts, pairing caveat, dedupe audit script (final review I1-I3) 2026-09-28 20:48:27 +02:00
bastien a3b479e984 fix(effort): reflow effort-audit.py to 80 columns (R12) 2026-09-28 20:27:46 +02:00
bastien 5ed96aa8ed chore(memory): BDR-107 effort tiering, EVAL-036 A/B, journal, TODO W1-W4 ticked 2026-09-28 20:20:10 +02:00
bastien 98ef991958 docs(effort): BDR-107 id, CHANGELOG entry, spec corrected for the rulings (vendored pins, exclusions, pairing rule) 2026-09-28 20:20:05 +02:00
bastien 1e3339358c feat(effort): transcript audit script for the thinking/cost split 2026-09-28 20:14:00 +02:00
bastien dd9488964b feat(effort): re-assert the skill level after prose gates that end the turn 2026-09-28 20:04:11 +02:00
bastien 557e4cc317 feat(effort): max at the verify-secure caps and ship-feature 4b; STOP texts suggest /effort-max 2026-09-28 20:02:56 +02:00
bastien a117e7ed67 fix(effort): shifts are sent with the step's first tool call (harness pairing rule); challenge shifts under their heading; fence indentation 2026-09-28 19:55:47 +02:00
bastien 3c58160d0c feat(effort): wire phase shifts in the 13 orchestrators and the handover writer 2026-09-28 19:44:22 +02:00
bastien 4a450ea6bc feat(effort): five shifter skills, lib/effort-shift.md, model-gate second axis 2026-09-28 19:32:26 +02:00
bastien 3de9d4f85a fix(effort): find-docs is ctx7-generated and gitignored, no entry level (30 skills, not 31) 2026-09-28 19:23:43 +02:00
bastien bac235cb33 feat(effort): xhigh on the vendored brainstorming and writing-plans, re-applied at resync 2026-09-28 19:21:15 +02:00
bastien 94189adbc6 feat(effort): entry effort level on the 31 user-invoked skills (spec D3)
A/B /reconcile headless — BEFORE requests=18 output=12374 thinking=3135 effort={'high'} duration_ms=96518 / AFTER requests=15 output=9038 thinking=2248 effort={'low'} duration_ms=78410
2026-09-28 19:11:21 +02:00
bastien 9223fda99f feat(effort): pin effort on the 20 repo-authored agents (BDR-077 second axis) 2026-09-28 18:59:49 +02:00
bastien 45ae0d1217 feat(effort): session default high, env-var warning, live effort in statusline 2026-09-28 18:52:36 +02:00
bastien 5437638437 test(effort): census suite skeleton with flip-test and settings lock 2026-09-28 18:49:40 +02:00
bastien bb28ecefa2 docs(plan): ins_before_para helper for prose anchors (SDD preflight ruling) 2026-09-28 18:47:03 +02:00
bastien 4b722e05c9 docs(plan): effort tiering implementation plan, 11 tasks in 4 waves; TODO section 2026-09-28 18:35:38 +02:00
bastien 854b74e9a4 chore(memory): LRN-179 + EVAL-035 — effort spike facts, thinking-share measurement 2026-09-28 18:24:34 +02:00
bastien 5367b29188 docs(spec): effort tiering design — session high, agent pins, skill effort, phase shifts, max at loop caps 2026-09-28 18:17:34 +02:00
bastien 90242773c1 chore(memory): journal — floor-guard hotfix merged to develop 2026-09-28 2026-09-28 17:06:34 +02:00
bastien c9f9b40086 Merge bugfix/floor-guard-xit-boundary into develop 2026-09-28 17:06:16 +02:00
bastien 018dfa3556 docs: CHANGELOG floor-guard entry names the SKIP boundary fixtures — hotfix floor-guard-xit-boundary 2026-09-28 17:06:15 +02:00
bastien f3f79bb145 chore(memory): BLK-023 resolved — floor-guard xit boundary hotfix, contract, plan, journal 2026-09-28 16:58:30 +02:00
bastien 0deb5594d5 fix(floor-guard): word-bound the bare Jasmine skip patterns
skip_kind matched SKIP_SUBSTRINGS as plain substrings, so 'xit(' hit
exit(, SystemExit( and process.exit(, and 'fit(' hit model.fit( and
profit(, flagging FLOOR SKIP on ordinary test-file lines (BLK-023). The
four bare identifiers (xit, fit, xdescribe, fdescribe) now match through
SKIP_IDENT_RE with an identifier-boundary lookbehind; the dotted and
decorator forms stay substrings. Flip-test fixtures cover the false
positive (RED before, GREEN after) and the three focus/skip calls.
2026-09-28 16:57:47 +02:00
bastien 0a805c562f chore(memory): journal — superpowers vendoring merged to develop 2026-09-28 2026-09-28 15:09:18 +02:00
bastien 65665a552c Merge feature/superpowers-vendored into develop 2026-09-28 15:08:58 +02:00
bastien 7177258f3d chore(memory): BDR-106 superpowers vendored — contract, plan r3, oracles, TODO, journal 2026-09-28 14:54:53 +02:00
bastien ddea411491 chore(config): superpowers citers by bare name, routing map, docs, settings
Every superpowers-prefixed skill call in ship-feature, init-project, tour,
deploy, audit-delta, plugin-advisor and lib/analyze-before-plan now names
the vendored skill directly. finishing-a-development-branch is described
as the upstream skill this config does not vendor (gitflow finish is the
integration path). CLAUDE.global.md Skill routing maps the four
non-vendored skills the vendored text still references. settings.json
loses the plugin key and its marketplace block; README, USAGE,
plugin-advisor and the profile skill describe superpowers as vendored
skills, always on, zero plugin cost. CHANGELOG entry with a known
residual.
2026-09-28 14:54:53 +02:00
bastien 18f8c898f8 feat(superpowers): vendor the 7 wired skills at v6.4.1, drop the plugin
plugins.lock.json gains a superpowers entry (obra/superpowers @ 5bf4e78,
path skills, per-skill file lists, always_on) that lib/vendor-skills.sh
fetches byte-for-byte: brainstorming, writing-plans,
subagent-driven-development, test-driven-development,
requesting-code-review, using-git-worktrees, writing-skills. install-plugins
STEP 8e vendors it, update-all refreshes it at the pin, link.sh links the
seven, .gitignore ignores them. The plugin is no longer installed or
protected: its 8 other skills duplicated personal flows and its
SessionStart injection cost ~900 tokens per start, clear and compact.
detect_superpowers is one file test on the linked skill; doctor and
session-start stop charging the injection. doctor-vendored gains an
always_on class (third lock column) so always-on externals are
link-checked instead of reported parked.
2026-09-28 14:54:52 +02:00
bastien c39c0e1045 Merge feature/skill-catalog-prune into develop 2026-09-28 13:55:04 +02:00
bastien 1805a3cc97 chore(memory): BDR-105 skill-catalog prune + 21st gate, LRN-175..178, BLK-023, EVAL-034 2026-09-28 13:54:51 +02:00
bastien 132bcdf7c5 chore(memory): 21st sign-in gate — contract, plan r3, TODO, journal 2026-09-28 12:51:56 +02:00
bastien bd3e525bb3 feat(design-gate): ask for 21st login and wait instead of skipping
The design gate checked the 21st CLI with command -v only, so an
installed-but-signed-out CLI read as READY and every 21st step failed
downstream. tool_active now probes 21st whoami through a three-state
function: signed in (TWENTYFIRST_TOKEN or API_KEY_21ST set, or 'Logged in
as'), signed out (exact 'Not logged in'), unknown (rc != 0, timeout,
unexpected output). Signed out is a new verdict, SIGN-IN REQUIRED, exit
12: design-gate.md tells the orchestrator to ask the user to run
! 21st login, end the turn, re-run the gate on their reply, and to skip
21st only on an explicit 'proceed without 21st', never silently. Unknown
surfaces as exit 11 with the whoami diagnostic and a CLI-runtime remedy,
so a node/PATH failure can never loop on a sign-in prompt. INCOMPLETE
still wins. Hermetic suite lib/tests/design-tool-gate.test.sh (stub CLI,
fixture repo through DESIGN_GATE_REPO_OVERRIDE) covers every state.
2026-09-28 12:51:55 +02:00
bastien 729d71546f chore(memory): skill-catalog prune — contract, plan r4, oracles, TODO, journal 2026-09-28 11:49:02 +02:00
bastien 4c86d6dc70 chore(config): security-guidance Stop review off, plugins off, routing and docs
settings.json: ENABLE_STOP_REVIEW=0 (the plugin's own switch: no more
Opus call on every turn that changes code, 0 findings in 6 days, 1
recorded false positive; the regex layer and the commit/push agentic
review stay on), brightdata-plugin@synced false (keyless-useless, its MCP
skill would hijack WebFetch/WebSearch), frontend-design official plugin
entry gone (uninstalled: byte-identical to the managed copy).

CLAUDE.global.md routes Ship/PR to ship-feature (gstack ship takes
origin/HEAD = main as base), drops ship/context-save from the gstack-off
list and 21st-ui-review from the design review line (trio is max-only).
deploy's table no longer points at land-and-deploy/setup-deploy.
plugin-advisor.md describes security-guidance's real mechanics. CHANGELOG
Unreleased entry with a Known residual section.
2026-09-28 11:49:01 +02:00