L3.1 — Sandbox use-case slice

Status: Demonstrated — retro-tagged L3.1b (lenses-production-l3-ci campaign)

Updated

Sub-level at a glance

Parent level L3 — Use-case slice
Autonomous unit Slice in sandbox app
Distinct assay evidence ≥2 layers, .py + non-.py, registered E2E runner pass
Grade today b (retro-tag)

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 (L3 — Use-case slice) apply unchanged. Declaring this sub-level adds the distinct check:

  • ≥2 distinct layers, both .py and non-.py changed files, and an E2E pass from a registered runner allowlist (not name matching)

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-l3-1.md — workcell-skeleton prompt declaring this sub-level, its evidence-to-return shape, and human gates.


Worked case

Field Value
Repo forge-dark-factory PoC — lenses-production-l3-ci campaign (sandbox app slice)
Goal Playwright E2E scan flow shows "Scan finished" banner after logic + docs + UI fix
Evidence produced runs/campaigns/lenses-production-l3-ci/L3-ui-smoke/run-*/{machine,human}/ — layers logic, docs, ui; E2E via scripts/verify-docs-health-l3.py
Assay pass rationale Core L3: ≥2 layers, .py + non-.py in proof union, registered E2E runner in tests_run. L3.1 _check_sublevel: target_repo is sandbox (not production) — _is_sandbox(target_repo) true; non-sandbox target → L3.1 evidence: target repo is not a sandbox