Handbook
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 (local → cursor → …) |
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 |