L2.3 — Behavior change with new tests

Status: Defined

Updated

Sub-level at a glance

Parent level L2 — Change-set
Autonomous unit Small behavior change with new tests
Distinct assay evidence ≥2 files incl. new/changed test; acceptance criteria list
Grade today a

Canonical policy, grades a-d, and promotion criteria: Autonomy levels (Blueprints). Per-project scoring: Autonomy maturity framework (Blueprints).


Gates and evidence

All gates and core evidence of the parent level (L2 — Change-set) apply unchanged. Declaring this sub-level adds the distinct check:

  • ≥2 distinct changed files including a new or changed test, plus an explicit acceptance-criteria list

A run that fails the sub-level check may still be reported at the plain parent-level grain if the parent's evidence holds — sub-level claims are strictly additive.


Prompt pack

Execution rubric (repo path, nav-hidden): prompts/autonomy/sublevel-l2-3.md — workcell-skeleton prompt declaring this sub-level, its evidence-to-return shape, and human gates.


Worked case

Hypothetical case — no campaign run has declared L2.3 yet.

Field Value
Repo forge-dark-factory PoC (hypothetical sandbox fixture)
Goal Small behavior change to calculator.divide with new edge-case test and explicit acceptance criteria
Evidence produced Pattern: runs/campaigns/<campaign>/<item>/run-*/machine/ with acceptance_criteria list and tests/test_divide.py in changed_files
Assay pass rationale L2.3 _check_sublevel: acceptance_criteria declared; at least one _is_test_file in changed_files; core L2 ≥2 files
Assay fail example Behavior change without new test → L2.3 evidence: no new/changed test in changed files; missing AC list → L2.3 evidence: acceptance criteria list missing