Status
contract (production hardness)
Conceptual layer
④ Decision
Repo layer
L4 knowledge-reasoning
Source
architecture section 10, section 6 (AL1 shadow-first)
ADR
027
Siblings
02-plant-structure.md · 08-discovery.md · 16-operations.md · 23-oe-knowledge-corpus.md · 00-kernel.md

Purpose#

A correct DecisionCaseOne run unit: intake + snapshot + obligations + candidates + terminal design can still harm a plant if emit is enabled before topology, constraints, and methods are honest. This doc is the maturity gate and the emergency controls so production rollout is deliberate.


Plant control plane (flags)#

All flags are plant-scoped, audited, and lockfile-aware (control-plane changes are ops events, not silent).

FlagMeaningDefault for new plant
emit_enabledCardSink may deliver Prescription to L5false until safe-start passes
shadow_onlyRun full path; never CardSinktrue until first canary
discovery_shift_sweep_enabledShift sweep onfalse until scanners commissioned
hypothesis_lane_enabledGrounded-hypothesis lanefalse (owner opt-in)
exploration_enabledSoft-gate exploration cardsfalse (owner opt-in)
kill_switchForce no new leases + no CardSinkfalse; on-call / owner may set

When kill_switch=true: drain in-flight per 26 cancel policy; no new queue leases; existing terminalizing may finish only if CardSink idempotent check shows not yet delivered — prefer fail closed on doubt.


Safe-start checklist (must all be true before emit_enabled=true)#

#GateEvidence
1Site-pack topology published for Pilot assetsL2 topology records + owner confirm (02)
2Constraint rows for those assets reviewedNamed owner
3L3 methods for Pilot family certified (calculator, verification builder; condition test if discovery on)L3 promotion record
4Detector or pattern commissioned (shadow precision acceptable)Ops scorecard
5PSM digest coverage manifest above plant minimumUnknown rate under threshold
6Lockfile pinned; shadow suite pass^k green20-benchmark.md
7CardSink + L5 dual-read verified in stagingContract check
8On-call runbook + kill_switch drill onceOps sign-off
9Plant owner accepts emitExplicit accept

Until then: shadow_only=true. Staff see traces; Now queue does not get L4 cards from this plant.


Commissioning per family / pattern#

Reuse 02-plant-structure.md minimum topology / signal tables. Add:

  • Soft-gate thresholds seeded (not production-calibrated yet).
  • Attention budget set.
  • Owner role mapping present in L5.
  • OE corpus mission allowed for that scenario class (optional).

A family may stay shadow-only while another family is emit-enabled on the same plant.


Emergency and incident controls#

ControlWhoEffect
kill_switchOn-call or plant ownerStop new work; block CardSink
Force shadow_onlyOn-callKeep learning traces without floor cards
Freeze lockfileTech lead + plant notifyNo pin changes during incident
Open ModelSlot breakerAutomatic (27)Degrade per port map
Disable hypothesis laneAutomatic or ownerPrecision / volume trip
Pause explorationAutomatic on nuisance spikeSoft calibration pause

All control changes write an audit event: who, when, reason, previous value.


OE corpus ops (production)#

ConcernRule
IngestTier A public only until license clear; chunk with source_doc_id + version
PinCorpus version + embedding model in release lockfile
QASpot-check: no OT-write instructions; no naked savings % as Measured
EvalReplay suite: OE on vs off must not increase unreferenced-₹ or hard-gate misses
PoisonBad chunk → quarantine doc_id; never silent global delete without lineage
Plant SOPs (Tier C)Owner approve; plant partition; not exported to other plants

Detail: 23-oe-knowledge-corpus.md · research 20.


Offline export privacy#

Traces sent to offline council:

  • Strip secrets, API keys, raw PII beyond role ids.
  • Tokenize asset display names if plant policy requires.
  • Export allow-list fields only (registry).
  • Retention separate from plant L4Store.
  • No re-import of council free text into plant bank without typed learning-fact path.

Rejected alternatives#

AlternativeWhy
Emit on day one of connector installUnsafe
Kill switch that deletes open cases without traceAudit hole
Auto-enable hypothesis when shift sweep is emptyFlood risk

What would change this#

  • Pilot proves safe-start too slow → parallelize checklist items; do not remove owner accept.
  • Need staged emit by area → area-scoped emit_enabled via registry.

v1 slice vs later#

v1Later
Plant-level flags + checklist aboveArea-scoped emit
Manual kill switch in ops toolingL6 owner control with confirm
OE Tier A + QA evalTier B/C

Change class#

Flags and checklist items: data / ops. Removing owner accept from safe-start: forbidden without ADR.

Page history: last 4 changes
  1. 2026-10-07 docs(technical): rewrite l4 21-30, glossary and README; reconcile architecture gaps e7fead7
  2. 2026-10-03 docs(decisions): add ADR-033..038 (twin runtime, fast read path, plant-side writer, message classes, alerts and quality-to-lot link, part-keyed parameters), fast-loop technical set, rebuilt index with renumbering map; fix bare-number link text and ranges 22e2872
  3. 2026-10-03 docs(decisions): renumber live ADRs 001-032 in order, mark withdrawn refs ADR-W###, repoint withdrawn links to archive, note partial supersessions 36c944e
  4. 2026-09-25 docs(l4): agentic decision architecture, ADRs, and production hardness 8275e7c

Diagram

100%

Search the architecture