artifacts

Move the system to your real bench: a checklist

The system in AI-SDLC-frappe/ is built around one reference app on one course bench: spice_lite in sample-app/, bench /home/user/frappe-bench, site test.localhost, Frappe v15 on PostgreSQL 16, and an invented Kenya deployment in the incident pack. Most of it does not depend on that: the roster, the handoff format, the orchestrator and its gates, the Claude Code hooks, tool-guard.mjs, the eval harness and verify-system.mjs carry over unchanged. What changes is what the agents know (paths, DocTypes, apps, sites) and which bench commands they may run.

Worked target below: a spice_next_core-style bench. Replace the example values with yours:

Course value Example target value (replace with yours)
app spice_lite in sample-app/spice_lite/ core app spice_next_core in apps/spice_next_core/ of your repo
bench /home/user/frappe-bench, user frappe bench /opt/spice/frappe-bench, user frappe
site test.localhost a disposable dev site dev.spice.localhost with allow_tests set, on PostgreSQL 16, never a copy of a country site
no other apps country apps (for example spice_ke) and integration apps (for example spice_telephony with required_apps = ["spice_next_core"])

Order matters: each step’s check can only pass once the steps before it are done. Evaluation comes last, because golden tasks written before the context pack and agents are updated would measure the old system.

Step 0: measure what still encodes the reference system

cd AI-SDLC-frappe
node scripts/capstone/stack-inventory.mjs --files > /tmp/inventory-before.md     # 242 files at the time of writing
node scripts/capstone/verify-system.mjs --bench /opt/spice/frappe-bench --site dev.spice.localhost \
  --app-dir apps/spice_next_core                                                  # expect FAIL rows: that is the to-do list

Step 1: CLAUDE.md, bench and site (module 00)

Step 2: path-scoped rules for your DocType paths (module 00)

Step 3: context pack from your DocTypes (module 00)

Step 4: country apps, integration apps and required_apps (modules 03, 05)

Step 5: PostgreSQL 16 on Frappe v15 (modules 02, 04)

Step 6: agents, tool guards and settings (modules 05, 10)

Step 7: workflows, MCP and the handoff checks (modules 06, 07, 08)

Step 8: evaluations re-seeded from your own incidents and diffs (module 09)

Step 9: CODEOWNERS and the merge gate (module 10)

Step 10: prove it, then run it

node scripts/capstone/verify-system.mjs --app-dir apps/spice_next_core \
  --bench /opt/spice/frappe-bench --site dev.spice.localhost --with-tests          # -> WIRED, exit 0
node scripts/capstone/stack-inventory.mjs --terms scripts/capstone/terms.mybench.json --max 10