AINA · Factory Design (approved for planning)Native · Self-driving2026-06-30

Restore the Factory That Worked

The ANMS-spec-driven, canon-locked, handoff-wake factory ran clean on 06-29 — then a per-task GitHub apparatus broke it on 06-30. This design brings it back on Paperclip's own primitives, with zero external scaffolding and all git operations moved into Frodo's milestone release runbook.

Ali Mehdi Mukadam · co-authored with Claude · reconciled + verified across the full session (190 human turns) + prior-session history

The Single Idea

The self-driving factory already existed and worked — agents coordinating through Paperclip handoffs + wake, gated by ANMS canon-locked Gherkin specs. It broke on 06-30 when a per-task GitHub apparatus (commit+push+PR per task → CI → bot-watcher → a jam I piled Mergify/merge-train onto) replaced the native model. The fix isn't new construction: activate the 7 Paperclip routines already built-but-paused, remove the Hermes bridge and every external script, and move all git operations into Frodo's release team where they fire once per milestone — never per task.

01 — The correction

What worked vs what broke

Reconciled against your own words and objective timestamps. The 181-task 06-29 batch was the ANMS decomposition getting things moving — not the failure. The failure was the 06-30 per-task GitHub machinery.

Signal06-29 (working)06-30 (went for a toss)
Per-task bot-fix churn (.botfix-*)361 (20×)
bot-review-watcherseededwent live 02:01
Mergify / merge-train / release-marshalall today (mine)
Work state56+ done, flowing, speedjammed; 29/30 PRs conflict-rotted
02 — Structure

Org & flow — your model, on native primitives

CEO · Jessica coordinates heads · arbitrates · approves Dept Head (per dev lane) assigns 1..N members · first-verifies in-team Members build in scoped ws · wake on assignment handoff + wake (native) no per-task git QA gate — Gimli · Éowyn · Calibrator adversarial · visual/E2E · 2nd-verifier vs canon+PKM Frodo's Release/GitOps team — AT MILESTONE: branches/PR/CI/Mergify → main → deploy → preview URL
CEO → heads → members (native wake) → QA gate → Frodo's team promotes at milestone. Git operations live only in the bottom band.

Always-on (~9): Jessica + the department heads + one minimal keeper routine (Atlas) that only surfaces ready/stalled work and fires native recovery — it does not route; heads route. Everyone else wakes on assignment or @mention. Producer ≠ verifier is enforced by the map's default-verifier pairing + the runsafe gate.

03 — Mechanics

Native coordination — no Hermes, no scripts

Every external thing I built has a native Paperclip equivalent that already exists:

NeedNative primitive (replaces…)
Keep work movingroutines + triggers — replaces the COO cron
Wake an agentagent wake / heartbeat on assignment or @mention
Invoke / hand off between agentsissue comment + interaction:create + successfulRunHandoff
Head decomposes workissue child:create + issue-tree
Recover stuck workrecovery-actions — replaces the watchdog
Founder gatesapproval (public/legal/prod)
04 — Canon

The ANMS spec-driven layer (preserve/restore)

CANON-INDEX is the locked stable top — a tiny canon set; the other ~356 docs are demoted to derived/historical and cannot override canon. Every lane inherits it as its spec-lock, so the factory "physically cannot build something other than your thing." Gherkin acceptance is the promotion gate — nothing self-promotes without passing its scenarios, verified by a separate agent. This is the layer that made 06-29 work; it stays.

05 — Git

Release model — option (b), in Frodo's team, per milestone

The dev inner loop is internal: build → head/QA verify → handoff. No git at the task level; a branch/PR appears only where a lane needs it as verification evidence.

Where Mergify lives now Frodo's Release/GitOps team owns all git operations — branches, PRs, CI, Mergify, the release runbook, dev→main promotion, Cloudflare deploy, and the preview URL to you. They fire per milestone/epic, as a batch — never per task. Mergify wasn't wrong as a tool; it was wrong as a per-task gate. As a release-team, per-milestone tool it's exactly right. Marketing/media: no git, no PR, no CI at all.
06 — The switch

What gets activated / removed

Activate
  • The agent-context-map per lane (role, verifier, scoped context)
  • The 7 native routines — un-paused, re-pointed off Hermes to native wake
  • Always-on heartbeat: Jessica + heads + keeper
  • ANMS canon-lock + Gherkin gates
  • Mergify — relocated into Frodo's milestone runbook
Remove for good
  • Hermes ↔ Paperclip bridge
  • COO dispatch loop · external watchdog
  • release-marshal · merge-train
  • Per-task PR flow · per-task CI
  • pr-bot-review-watcher · rollout-health bots
07 — Rollout

Migration & success

Lane-by-lane, matching the map's own order: content-curriculum (already live) → agentops → qa-release → product-platform → data-personalization. Prove each lane self-drives before the next. Preserve, don't restart — the in-review backlog is already cleared; rejected/never-built tasks re-enter the restored native flow. Each activation is a config apply with Paperclip receipts — reversible, nothing external created.

Success = a goal flows head → member → QA → milestone-release + preview URL, with no external nudge, no cron I wrote, and no per-task GitHub roundtrip.

Also: stalled issues recovered by native recovery-actions (not a watchdog); an @mentioned agent wakes and picks up; zero .botfix churn; zero GitHub-minutes burn between milestones; Jessica surfaces a founder-readable state with no /srv paths.

Where to start

Don't build — restore. Activate the ANMS-spec-driven native factory lane by lane, un-pause the 7 routines and re-point them off Hermes to native wake, put all git operations in Frodo's milestone runbook, and delete every external script. The design that worked on 06-29 is the destination; the only real change is removing the 06-30 machinery that never should have been there.