You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
capability-packaging.md — new portable guide: when the agent itself raises the question of packaging a procedure into a skill or a subagent. §2 Detector A reads the guide the task already opened (fixed trigger + ordered steps + defined output + no owner in .claude/skills/ or .claude/agents/); §3 Detector B is an on-request sweep with a threshold of 3, grouped by kind of work; §4 chooses skill vs subagent vs staying a guide §ID; §5 the five-line proposal the human approves; §6 records a declined candidate so it is never re-raised. Reached by a new CLAUDE.md trigger and a router row.
doc-organization.md §10 now names three trigger kinds with three tests: message-triggered (decided by scanning the user message), work-state (decided by a count the agent keeps of its own work — this lineage's own clause, kept), and action-triggered (decided before the tool call the agent is about to make, from that action and its concrete object). Abstract task classification and intent interpretation still fail all three. Gate test_trigger_kinds.py pins the law: it asserts the required phrases inside the §10 slice only, and carries a mutation fixture with a decoy §11 line to prove the scoping.
.agent-workspace/decisions/ gained four real entries — the wiki deployment choice, the unattended trigger-confirm delegation, the deferred rule-health debt with its unlock condition, and the dropped maintenance template.
Decision journal — .agent-workspace/decisions/ with its own router, seeded empty. New portable guide decision-journal.md: §1 the admission test (git log reconstructs the conclusion → do not write the entry), §2 the five classes (choice · scope · debt · rule · review), §3 entry shape, §5 when to write, §6 grep before reversing a law, §8 the supersede lifecycle, §9 cap and archive. Gate verify_decision_log.py (22 mutation cases) plus archive_decisions.py, which moves only entries a later entry superseded and asks before moving. Reached by a new CLAUDE.md trigger on editing a law file, answering a reviewer comment, or declaring scope / debt / a rejected option.
Wiki tier — wiki-tier.md ships in .claude/rules/ for every project. It is paths:-scoped to .agent-workspace/wiki/**, so it costs nothing while the tier is absent and never touches the always-loaded budget. The tier itself (wiki/index.md + its trigger + its interview slots) is a new optional module in the init module matrix, deployed only where the project investigates subject material it does not own. Gate verify_wiki.py checks links, never truth: dead paths, drifted anchors, tier-wide id uniqueness, evidence-item schema, the one-edge-table-first convention, and R9 merge conservation — with its own declarations of what it deliberately does not check (§8). A project without the tier gets clusters: 0 and a pass.
verification-gate-design.md — new portable guide: name the unit of BOTH sides before wiring a comparison gate (§1), and a gate proving "nothing extra" never proves "nothing missing" (§2). Reached by a new CLAUDE.md trigger on test_*.py / verify_*.py, and by a router row.
Role tier — .agent-workspace/guide/roles/ with seven portable roles (business-analyst, tech-lead, developer, qa, project-manager, security, comtor), each on the same seven-section skeleton and capped at 90 lines. Its hub roles/index.md carries §1 for the genome roles and §1a for the roles a project adds itself. New portable guide role-selection.md holds the mechanism: §2 matching, §3 the skeleton, §4 subagent role-handoff, §5 adding a role, §6 the router format the gate reads, §7 what happens when a role clause collides with a project rule.
.agent-workspace/tooling/ — the genome's own machine gates, Python 3 stdlib only, deployed by init and mapped into the bundle as portable/tooling/*. verify_lesson_router.py enforces the lesson router contract (5 rules) and verify_role_files.py the role contract (4 rules); each ships a test_*.py that breaks one rule per case — 18 and 15 mutation cases.
lesson-capture.md §8 — which phase a lesson belongs to: a store is chosen by the phase the record protects, not by the task that found the defect. Introduces the closed seven-value phase: declaration every store now carries, and the checks relation between stores.
Templates roles/index.md.tpl; lessons/index.md.tpl regrown to the four-column router.
Changed
lesson-capture.md §7 rewritten as the dispatch law: one unconditional lookup replaces per-work-type routing, and a dispatcher passes the matched store path plus its checks paths into a subagent prompt. §1–§6 keep their numbers (portable §ID is append-only).
CLAUDE.md and CLAUDE.md.tpl — the lesson lookup line is now unconditional (it previously required classifying the work as an "artifact task"), and a matching unconditional role lookup line joins it.
.agent-workspace/lessons/index.md — the §1 router gained the checks column and a six-step lookup protocol; the store verify-context-rule-change.md now declares phase: building-gate.
SKILL.md — dependencies, bundle map, copy step, render step and the step-7 verify checklist all cover the roles and tooling groups; step 7 now runs the deployed gates, because a gate present but red means the deploy is incomplete.
Removed
superpowers is no longer part of the genome. Dropped the two superpowers ALWAYS triggers from CLAUDE.md (design/plan flow, implement task-by-task) and the superpowers entry from .claude/init-manifest.json modules. Nothing generic is lost: task-planning.md §1 already states the precedence rule without naming a skill, review-checklist-method.md §7 is still reached by the existing review trigger, and the working-file redirect is still covered by the generic "skill writes its working files" trigger. The superpowers row also leaves the init module matrix (skills/init-project/SKILL.md), so no project the genome deploys to receives a superpowers trigger.