Handbook
Vertical demo — Self-Host Alpha (foundation + gap register)
Two allowlisted actions exercised on real forge-platform checkouts. Run with absolute --run-dir under …/.forge/runs/
Vertical A — check_foundation
- Ensure a run directory exists (example: copy
sprints/selfhost-alpha/fixtures/frun_selfhost_demo_001toforge-platform/.forge/runs/frun_selfhost_demo_001). - Approve
local_runner:check_foundationinapprovals/<appr_*.json>withstate: approved. - Execute:
cd /home/lzvyahin/Code/forge-platform
python3 scripts/selfhost_runner.py \
--run-dir /home/lzvyahin/Code/forge-platform/.forge/runs/frun_selfhost_demo_001 \
--approval-id appr_selfhost_demo_001 \
--action-id check_foundation
python3 scripts/selfhost_import_evidence.py \
--run-dir /home/lzvyahin/Code/forge-platform/.forge/runs/frun_selfhost_demo_001
- Lenses: set workspace to the parent of
.forge(here:forge-platform), open Studio → Forge runfrun_selfhost_demo_001→ confirm EvidencePacket andlocal-runner/result.jsonsurfaced.
Vertical B — generate_contract_gap_register (S6 / architecture–BA follow-on)
- Fixture:
sprints/selfhost-alpha/fixtures/frun_selfhost_gap_001(approvalappr_gap_register_001, actionlocal_runner:generate_contract_gap_register). Copy to.forge/runs/frun_selfhost_gap_001. - Run:
cd /home/lzvyahin/Code/forge-platform
python3 scripts/selfhost_runner.py \
--run-dir /home/lzvyahin/Code/forge-platform/.forge/runs/frun_selfhost_gap_001 \
--approval-id appr_gap_register_001 \
--action-id generate_contract_gap_register
python3 scripts/selfhost_import_evidence.py \
--run-dir /home/lzvyahin/Code/forge-platform/.forge/runs/frun_selfhost_gap_001
- Artifacts:
local-runner/contract_gap_register.mdplus updatedevidence/evidence_packet.jsonandforge_run.jsontimestamps. Sparks: static packet listsSPARK-ARCH-GAP-TRIAGEandSPARK-BA-ACCEPTANCE-GAPS; importer appendsSPARK-IMPORTED-FROM-RUNwhen merging runner result.
CI / static chain
- Correlated samples:
sprints/selfhost-alpha/samples/validated byscripts/validate_selfhost_chain.py(invoked fromcheck_foundation).