Forge Platform

PoC to Platform — bounded execution migration path

Status: Vision / adoption guide — maps today's Forge Dark Factory PoC loop to the Forge Platform control plane (ForgeRun, workcells, Campaign). L1–L3 assay rules are enforced in the PoC today; Platform-native level…

Canonical policy: Autonomy levels (Blueprints). Readiness matrix: Autonomy levels hub.


Why this page exists

Operators need one place to see how a standalone PoC driver (classify → route → plan → draft → apply → verify → assay) relates to governed Platform primitives (ForgeRun, AgentRun, EvidencePacket, ApprovalRequest) without assuming the PoC is already a Platform submodule.


Side-by-side mapping

PoC (Dark Factory) Platform (today) Notes
Campaign item YAML Forge Campaign manifest Multi-repo, frun_*, phased workers
level: L1 / L2 / L3 Proposed target_autonomy_level on manifest (vision) Not enforced by Platform workcells yet
assay_gate.py EvidencePacket + human Assay review in Lenses PoC enforces rules in code; Platform records evidence for review
Patch units forge-lcdl graphs / operators Same library; Campaign uses manifest phases, not LCDL DAG nodes by default
Worker ladder (localcursor → …) Workcell ids (local_llm_worker, cursor_cli, …) See workcell catalog
runs/<id>/machine/ + human/report.md .forge/runs/<frun_id>/ + Lenses UI Dual-wiki pattern → ForgeRun store
promote (guarded worktree → live) Campaign integrating state + human commit No auto-commit in PoC or Campaign policy

Reference architecture flow (target state)

  [Human intent + target_autonomy_level]
        |
        v
  +------------------+
  | forge-lenses     |  opens ForgeRun (frun_*)
  +--------+---------+
           |
           v
  +------------------+
  | Forge Campaign   |  campaign.yaml phases
  | orchestrator     |
  +--------+---------+
           |
     +-----+-----+
     v           v
  [PoC loop      [workcells:
   semantics]     local_llm_worker,
   classify       cursor_cli, fleet_ux_worker]
     |           |
     +-----+-----+
           |
           v
  +------------------+
  | EvidencePacket   |  tests, layers, E2E, assay fields
  +--------+---------+
           |
           v
  +------------------+
  | Approval / Assay |  human gate per level
  +------------------+

Today, L1–L3 can be run end-to-end in the PoC without opening a ForgeRun. The target state attaches the same loop semantics under frun_* so evidence and approvals are the system of record in Lenses.


Level-by-level Platform building blocks

Level PoC demonstrated Platform path (planned)
L1 Yes ForgeRun + single-repo campaign item; LCDL patch unit; L1 architecture
L2 Yes Ordered patch units; assay ≥2 files; L2 architecture
L3 Yes Cross-layer + E2E evidence; L3 architecture
L4+ No Forge Campaign multi-repo + ADR/release gates; L4 architecture

Proposed manifest field (vision)

Illustrative addition to campaign YAML — not in schema v1 yet:

governance:
  target_autonomy_level: L2   # L0-L8; informs assay expectations
  acceptance_criteria_ref: forge/campaigns/ac/broken-links.yaml

When implemented, campaign_orchestrator would pass target_autonomy_level to workers and validate EvidencePacket shape against the same rules as PoC assay_gate.py.


What is implemented vs planned

Implemented PoC L1–L3 loop + assay in Dark Factory; Platform ForgeRun, Campaign manifest sketch, workcell catalog
Not implemented Platform-native level enforcement; automatic PoC → ForgeRun bridge; L4+ unattended campaigns
Planned target_autonomy_level on manifest; EvidencePacket fields mirroring assay; Campaign phases calling PoC-equivalent workers