Forge Platform

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.state must be approved before 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.