Build Log
Open the Owner Loop Through ForgeKit
September 17, 2026
Built the first ForgeKit MCP plugin — a doorway into the real Owner Loop, not a second one — then proved the full lifecycle by recovering a real Actor concurrency incident and shipping the change it produced.
Timeline
What shipped
packages/forgekit-owned-software/ — a private, local MCP (stdio) plugin: 5 tools (discover_apps, submit_owner_request, get_request_status, answer_clarification, get_request_result), a thin HTTP adapter-client with no DB/GitHub/deploy credential, a packaged skill teaching outcome-language discipline and refusal boundaries
experiments/canvas-2/lib/mcp-adapter.ts + mcp-auth.ts + 5 new API routes — the thinnest authenticated adapter, delegating entirely to canvas-2's existing lifecycle logic
New nullable mcp_idempotency_key column + partial unique index on requests
Refactored (not rewritten) lib/actions/requests.ts: submitRequest/replyToShaping's external interface unchanged, each now delegates to a new Core function the MCP adapter also calls directly
23 new passing tests (10 in the plugin package, 13 in canvas-2)
A real, complete Owner Loop cycle proof: a real Actor built and shipped a photo swap for canvas-2, recovered from a real documented concurrency incident, deployed, and independently confirmed live
“Wire up a real actor and then commit.”