Follow-ups from the downstream integration mapping of #154 (engine-mode training). All three surfaced while wiring the merged training surface to our acceptance harness; none is a defect in #154 — they are the named remainder between "training side real" and "production bridge serviceable." Ordered by design leverage:
1. Abstention/mask schema for the Phase-2 credit kernel (highest leverage — asking while the kernel is still being scoped). The current surface has no per-witness abstain/mask channel: the network is a plain softmax scorer, and the only "abstention" lives in the selector (refusing a rule) — a different axis. A calibrated typer as the neural predicate needs a witness-level outcome channel distinguishing scored from abstained from masked, with masked contributing exactly zero credit (never coerced to false — that distinction is load-bearing for our downstream Belnap semantics). Our grounding-row schema is a ready spec: neural_outcome / contribution_state / mask_reason per witness row. Happy to share the full field contract.
2. Registration-seam delta (tiny surface, spec exists). register_network (neural.rs:178) unchanged in #154. The bridge needs three additions: arity + arg_sorts (typed signature so enumeration can sort-match candidate slots) and artifact_hashes (identity law: a co-adapted network is a NEW rule — new hash ⇒ new identity downstream). Our test-side stub models the exact extended signature and doubles as the spec.
3. FROZEN-mode entry point. Engine-mode currently always trains (kfold builds a fresh network per fold — correct for selection, but the antithesis of a frozen detector). We need an entry point that runs the same credit/holdout machinery with the network's parameters frozen (no optimizer step, artifact state bit-identical after the run) — both as a production serving mode and as the control arm of our detached/frozen acceptance gate.
cc @niveousdragon — same review channel as #152/#154; we can supply the field-level specs for any of the three on request.
Follow-ups from the downstream integration mapping of #154 (engine-mode training). All three surfaced while wiring the merged training surface to our acceptance harness; none is a defect in #154 — they are the named remainder between "training side real" and "production bridge serviceable." Ordered by design leverage:
1. Abstention/mask schema for the Phase-2 credit kernel (highest leverage — asking while the kernel is still being scoped). The current surface has no per-witness abstain/mask channel: the network is a plain softmax scorer, and the only "abstention" lives in the selector (refusing a rule) — a different axis. A calibrated typer as the neural predicate needs a witness-level outcome channel distinguishing scored from abstained from masked, with masked contributing exactly zero credit (never coerced to false — that distinction is load-bearing for our downstream Belnap semantics). Our grounding-row schema is a ready spec:
neural_outcome/contribution_state/mask_reasonper witness row. Happy to share the full field contract.2. Registration-seam delta (tiny surface, spec exists).
register_network(neural.rs:178) unchanged in #154. The bridge needs three additions:arity+arg_sorts(typed signature so enumeration can sort-match candidate slots) andartifact_hashes(identity law: a co-adapted network is a NEW rule — new hash ⇒ new identity downstream). Our test-side stub models the exact extended signature and doubles as the spec.3. FROZEN-mode entry point. Engine-mode currently always trains (kfold builds a fresh network per fold — correct for selection, but the antithesis of a frozen detector). We need an entry point that runs the same credit/holdout machinery with the network's parameters frozen (no optimizer step, artifact state bit-identical after the run) — both as a production serving mode and as the control arm of our detached/frozen acceptance gate.
cc @niveousdragon — same review channel as #152/#154; we can supply the field-level specs for any of the three on request.