L2 — Change-set

Status: Demonstrated (grade b) — PoC run with ≥2 distinct changed files (Blueprints Example 3; retro-tag L2.2b).

Updated

Level at a glance

Autonomous unit Multi-function / multi-file defect fix or small change, no rearchitecture
What stays fixed Architecture, public contracts
Human gate Accept acceptance criteria + merge

Canonical policy: Autonomy levels (Blueprints).

Sub-levels

Sub-level Autonomous unit Status Page
L2.1 Mechanical multi-file (rename / apply-pattern) Defined L2.1
L2.2 Cross-file defect fix Demonstrated (retro-tag L2.2b) L2.2
L2.3 Small behavior change with new tests Defined L2.3

New L2.2 claims require a pre-existing failing test recorded before the fix — the plain ≥2-files count is no longer sufficient evidence for the defect-fix sub-level.


Building blocks at this level

Building block Role at L2 Handbook link
Forge Dark Factory (PoC) Multi patch-unit plan; ordered apply+verify per unit Bounded execution examples
forge-lcdl Multiple patch units in one run; proof union across units Platform reference architecture §5
forge-workcells Worker ladder per unit (local → cursor → …) Forge micro-agent
blueprints L2 assay rule: ≥2 distinct changed files Autonomy levels
forgesdlc-kitchensink Deterministic routing before token spend Respecting resources

Reference architecture flow

L2 change-set execution flow

How a campaign-declared L2 item runs ordered patch units to a governed multi-file proof and human merge.

  1. [Campaign item declares L2]Tags the work item as change-set-level bounded autonomy.
  2. Dark Factory PoCClassifies the item and routes it into the multi-unit PoC loop.
  3. planProduces an ordered sequence of two or more patch units.
  4. [unit-0]First patch unit applies its change and runs bounded verify.
  5. [unit-1]Second patch unit applies its change and verifies before assay.
  6. assay gateChecks core evidence plus at least two distinct changed files.
  7. [Human: accept AC + merge]Operator accepts acceptance criteria and approves merge.

L2 is not a bigger L1 — the plan must produce multiple patch units, and Assay verifies the proof union contains two or more distinct files. A single-file patch cannot masquerade as L2.


Gates and evidence

All L1 core evidence, plus:

  • ≥2 distinct changed files in the proof union when final_status == pass (enforced in Dark Factory assay_gate.py)

Only the final patch unit runs the item's verification_argv.

PoC evidence: L2-broken-link-and-nested (lenses-production-l2 campaign) — README.md + docs/guide/nested.md.


Implemented vs planned

Implemented Multi-unit planning; L2 file-count assay; PDCA campaign wrapper
Not implemented Platform ForgeRun-native L2 enforcement; cross-repo change-sets
Planned Campaign orchestrator under Lenses with L2-level manifest constraints