Handbook
Self-Host Alpha — Charge
A maintainer can run an allowlisted local platform check from the forge-platform repo, import EvidencePacket updates, and review the run in Lenses Studio via .forge/runs/.
Outcome
A maintainer can run an allowlisted local platform check from the forge-platform repo, import EvidencePacket updates, and review the run in Lenses Studio via .forge/runs/.
Active stories
- SELFHOST.S1 — Static selfhost ForgeRun sample validates (
sprints/selfhost-alpha/samples/+validate_selfhost_chain.py). - SELFHOST.S2 — Lenses can render/import selfhost run (
GET /api/project/<slug>/forge-runs). - SELFHOST.S3 — ApprovalRequest controls runner execution (
scripts/selfhost_runner.py). - SELFHOST.S4 — Local runner executes
check_foundation. - SELFHOST.S5 — EvidencePacket is generated/imported (
scripts/selfhost_import_evidence.py). - SELFHOST.S6 — Follow-on Sparks from evidence (
follow_on+ importer spark).
Active Sparks
- SPARK-SELFHOST-STATIC-RUN-SAMPLE
- SPARK-SELFHOST-APPROVAL-SAMPLE
- SPARK-SELFHOST-LOCAL-RUNNER-CONTRACT
- SPARK-SELFHOST-RUN-STORE
- SPARK-SELFHOST-EVIDENCE-IMPORTER
- SPARK-LENSES-SELFHOST-HANDOFF
- SPARK-SELFHOST-CLOSE-ASSAY
Human gates
- Runner JSON is allowlisted only — no raw shell.
ApprovalRequest.statemust beapprovedbefore execution.- Schema or approval-model changes need Architecture + governance review.
Risks
- Policy drift between local JSON writes and future Fleet templates.
- Operators seeding
.forge/runs/outside gitignored paths.