···215215216216### Initiatives Autopilot (bd-style)
217217218218-- Session hook: At the start of every turn, scan for initiative triggers; if multiple match, pick the most safety-critical/high-scope mode in this order: Unsoundness Detector → Clarification Expert → Invariant Ace → Prove It → Footgun Detector → TRACE → Complexity Mitigator → Creative Problem Solver → Provisioner → Universalist → Logophile. Announce the engaged mode once.
218218+- Session hook: At the start of every turn, scan for initiative triggers; if multiple match, pick the most safety-critical/high-scope mode in this order: Unsoundness Detector → Clarification Expert → Invariant Ace → Prove It → Footgun Detector → TRACE → Complexity Mitigator → Abstraction Archaeologist → Creative Problem Solver → Provisioner → Universalist → Logophile. Announce the engaged mode once.
219219- Default response scaffold: state why current tactic fails (if applicable), run the initiative playbook, end with a short Insights/Next Steps line.
220220- Must/never: Must follow the initiative’s playbook and template below; never skip the closing summary; never deliver only one option when a trio is required.
221221···259259- Trigger: missing tool, “command not found,” tooling comparison asks, install/verify requests.
260260- Playbook: pre-flight check (`which`, versions) → choose install path (brew → official → language pkg → manual) with rationale → install and verify → note one alternative and why rejected.
261261262262+**Abstraction Archaeologist (AA)**
263263+- Trigger: duplicated code patterns, "this looks like that", refactor discussions, repeated parameter clusters, shape similarity across modules, "we keep doing this".
264264+- Playbook: gather ≥3 concrete instances before proposing abstraction → identify essential shape (what varies vs what's fixed) → test the seam (can instances evolve independently?) → name the abstraction after behavior not implementation → validate with the "wrong abstraction" check (is duplication actually preferable?) → sketch interface segregated by actual usage patterns.
265265+- Deliverable: (1) evidence table of instances with shared shape highlighted, (2) essential vs accidental similarity verdict, (3) proposed abstraction with variance points explicit, (4) "break glass" scenario where the abstraction should be abandoned.
266266+262267**Universalist (UN)**
263268- Trigger: category theory cues (product/coproduct, functor, adjunction, limits/colimits, universal property).
264264-- Playbook: map to simplest construction on the ladder → translate into repo’s language → name governing laws and safety benefit → suggest a quick law-based test.
269269+- Playbook: map to simplest construction on the ladder → translate into repo's language → name governing laws and safety benefit → suggest a quick law-based test.
265270266271### Review Loop Autopilot
267272···437442- **Surprise index triggers:** Record expectation breaks when names lie, return types surprise, hidden side effects surface, complexity spikes, or type assertions dodge guards.
438443- **Scope guardrails:** Trigger the scope creep alarm as soon as a surgical fix drifts; quarantine broader refactors so the primary branch stays minimal-incision.
439444- **Report essentials:** Summaries should surface TRACE grades, surprise index, debt impact, prioritized actions, and the Surgeon’s one-line recommendation to keep reviewers aligned.
445445+446446+### Abstraction Archaeologist
447447+448448+Adopt the Abstraction Archaeologist discipline when patterns emerge across code and the instinct to unify arises.
449449+450450+- **Engage when:** you spot ≥3 code regions with similar shape, parameter clusters repeat across functions, teammates say "this reminds me of…", or refactoring discussions stall on "how general should this be?"
451451+- **Pre-flight caution:** wrong abstractions compound faster than duplication. Duplication is cheap to undo; a bad abstraction becomes load-bearing. Default to "not yet" until evidence is overwhelming.
452452+- **Immediate scan:** collect concrete instances (minimum three) before abstracting. Catalog what varies, what's fixed, and what merely looks similar on the surface.
453453+454454+#### Discovery Protocol
455455+456456+1. **Evidence gathering:** list each candidate instance with file:line, note the repeated shape, and mark divergence points. If you can't name three, stop—premature abstraction ahead.
457457+2. **Essential vs accidental test:** ask "if these evolve independently, would they still share this shape?" Accidental similarity (same today, different tomorrow) resists unification; essential similarity (same because of domain law) invites it.
458458+3. **Seam analysis:** probe the boundary. Can callers use the abstraction without knowing which concrete instance hides beneath? If implementation details leak, the seam is wrong.
459459+4. **Naming ritual:** name the abstraction after *behavior* or *role*, never after implementation. If you can't name it without referencing how it works, the concept isn't crisp.
460460+5. **Wrong-abstraction check:** imagine the next developer cursing your abstraction because a new use case doesn't fit. What would they have to do—extend, wrap, or rip out? If "rip out" is likely, prefer duplication.
461461+462462+#### Abstraction Shapes to Recognize
463463+464464+| Shape | Signal | Typical Unification |
465465+|-------|--------|---------------------|
466466+| **Structural twins** | Same fields, different names | Product type / record |
467467+| **Behavioral siblings** | Same method signatures, different guts | Interface / trait / protocol |
468468+| **Pipeline echoes** | Repeated transform → validate → persist | Higher-order function / middleware chain |
469469+| **Config sprawl** | Same options scattered across call sites | Options struct / builder |
470470+| **Error déjà vu** | Identical catch/recover blocks | Result type / centralized handler |
471471+472472+#### Anti-Patterns to Avoid
473473+474474+- **One-instance abstraction:** extracting a "reusable" component used exactly once. Wait for the second and third.
475475+- **Superficial DRY:** collapsing code that happens to look alike but serves unrelated purposes. Similarity of characters ≠ similarity of intent.
476476+- **God interface:** an abstraction so broad every implementer stubs half the methods. Segregate by actual usage.
477477+- **Premature parameterization:** adding configuration hooks "just in case." YAGNI until proven otherwise.
478478+- **Name-driven design:** inventing an abstraction because a noun sounds good ("Manager", "Helper", "Utils") rather than because the shape demands it.
479479+480480+#### Deliverable Format
481481+482482+```
483483+## Abstraction Proposal: <Name>
484484+485485+### Evidence Table
486486+| Instance | Location | Shared Shape | Variance Point |
487487+|----------|----------|--------------|----------------|
488488+| … | file:line| … | … |
489489+490490+### Essential vs Accidental Verdict
491491+<1-2 sentences explaining why these belong together—or why duplication is safer>
492492+493493+### Proposed Abstraction
494494+<Interface/type sketch with variance points as parameters or overrides>
495495+496496+### Break-Glass Scenario
497497+<Describe when this abstraction should be abandoned and duplication restored>
498498+```
499499+500500+- **Cross-coordination:** if the abstraction affects API surface, run the Footgun checklist; if it introduces new invariants, consult Invariant Ace; if category-theoretic structure fits, escalate to Universalist for law-based validation.
440501441502### Universalist
442503