-
Self-bootstrap demo: hits the same HTTP API a human would, asking DevLoop to add a /restart endpoint to itself. End-to-end: 1. POST /projects (PM + Architect scaffold) 2. GET /state 3. POST /run (L1 + L2 → ship) 4. GET /{bugs,timeline,changelog,units/todo-be} 5. POST /feedback (PM incremental → PRD rev 1→2) 6. POST /run (re-ship) 7. POST /sign-off (→ shipped-final) 8. POST /feedback (→ 400 InvalidProjectStatusTransition) Run: node scripts/self-bootstrap.js (artifacts retained for inspection) Output proves the three-layer Loop survives a real curl-equivalent session: 12 git commits auto-generated, 20 timeline events emitted, prd_rev bumped, sdd_rev unchanged (happy path), bugs.ndjson empty (no integration failures), .git contains full agent provenance. For production: drop LEMONBOSS_CLAUDE_MODE=mock — the protocol layer will route to real Claude CLI without any code change in LoopController / routes. Specs: docs/prd/newfunction/_spec/plan-migration.md · "自举乐趣" Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>