Production archetype and landmine quarantine (0.25)¶
Verified on the 0.25 train
Canonical production archetype packet (ARCHETYPE-025 … PKG-025) is Verified.
Require the stable floor hedron>=1.0.0; use uv sync for repository development.
Ship today: Ship a Hedron app ·
What’s ready ·
examples/reference-app.
Program context: Ship a Hedron app · RFC-0056 · maintainer decision D-053 (GitHub DECISIONS).
Owning gates (maintainer evidence IDs): ARCHETYPE-025, BUDGET-025, EXTRAS-025,
CHARTS-025, SUPPLY-025, REGRESS-025, PKG-025 (all Verified).
Machine twin (extras quarantine): extras-quarantine-025.toml (GitHub-only). Budgets: PERFORMANCE_BUDGETS.md (§0.25 workloads).
Canonical archetype (ARCHETYPE-025)¶
Canonical path: examples/reference-app (compose / Caddy / Redis / multi-worker).
A sibling recipe is not the cut target.
Ingredient checklist (machine-checked)¶
Cut documentation must cover each ingredient:
reverse-proxy subpath
Redis job/cache
sticky sessions or external session store
HEDRON_ENV=production
CSP
Explorer off
multi-worker
Public guides that must link the archetype at cut:
Checker: python scripts/check_archetype_025.py.
Load budgets (BUDGET-025)¶
Three named workloads (see PERFORMANCE_BUDGETS.md):
| ID | Workload |
|---|---|
W-025-FRAGMENT |
Fragment latency under representative HTMX swap load |
W-025-JOB-POLL |
Job status poll fanout |
W-025-DATAEDITOR |
DataEditor row-model smoke |
Evidence may be CI or an immutable artifact. Checker:
python scripts/check_budget_025.py.
Extras quarantine XOR (EXTRAS-025)¶
Landmines in scope: CodeEditor host stub, TerminalView, joystick + device
bridges. Cut disposition: quarantine.
| Value | Cut meaning |
|---|---|
undecided |
Refine / pre-cut only (--allow-undecided) |
quarantine |
Move landmines behind a clearly named experimental extra so hedron[extras] does not imply product UI |
finish_supported |
Reach Supported with evidence for those surfaces |
Chosen path: quarantine via hedron[experimental-ui]. Quarantine is
registration/discovery gated, not import-gated: landmines remain importable from
hedron_extras.experimental (and related workbench/specialty modules), but default plugin
registration skips *_experimental entry points unless you set HEDRON_EXPERIMENTAL_UI=1
or explicitly enable hedron_extras_experimental. The named extra is an honesty/pin signal
(install footprint for adopters who opt in); it does not enforce import blocking. Curated
hedron[extras] remains the product toolkit and does not register or re-export those
surfaces.
Do not half-verify both. Normative criteria:
ROADMAP §0.25
(GitHub-only). Checker: python scripts/check_extras_025.py.
Machine twin: extras-quarantine-025.toml.
Charts graduation path (CHARTS-025)¶
Matplotlib is the conservative Supported default charts path. Plotly and Altair remain experimental until pins + CSP + a11y evidence match the DataTable bar.
Graduation checklist (Plotly / Altair)¶
Full graduation is not required for the 0.25 cut. The checklist must remain visible:
pinned dependency versions
CSP-compatible asset policy
accessibility evidence matching DataTable bar
Checker: python scripts/check_charts_025.py.
Supply process (SUPPLY-025)¶
The maintainer
RELEASE
runbook requires SBOM and evidence-bundle attach on train tags.
Regenerate instructions remain in the GitHub
evidence pack
(scripts/build_evidence_bundle.py, scripts/generate_sbom.py).
Checker: python scripts/check_supply_025.py.
Locked gate commands¶
| Gate | Command |
|---|---|
ARCHETYPE-025 |
python scripts/check_archetype_025.py |
BUDGET-025 |
python scripts/check_budget_025.py |
EXTRAS-025 |
python scripts/check_extras_025.py |
CHARTS-025 |
python scripts/check_charts_025.py |
SUPPLY-025 |
python scripts/check_supply_025.py |
REGRESS-025 |
bash scripts/ci_checks.sh test --python 3.12 |
PKG-025 |
python scripts/verify_pkg_25.py |