A.19.SelectorMechanism:3 - Forces
-
Set‑valued reality vs single‑winner convenience. Many admissible comparisons are partial orders. The kernel must preserve set‑valued semantics while still allowing single‑winner outcomes when explicitly requested by criteria.
-
Policy primacy vs method freedom. Criteria and defaults must be explicit and policy‑bound, while multiple method families and decision styles must remain add‑able without mutating the kernel.
-
No hidden thresholds vs usability pressure. Engineers often want “just pick one.” If the spec does not constrain this, hidden thresholds and tie‑breakers become de facto policy.
-
Evidence discipline vs delivery pressure. Under uncertainty, teams default to coercion (unknown → pass). The kernel must enforce tri‑state eligibility and fail‑closed discipline.
-
Replayability vs conceptual minimalism. The mechanism declaration stays small, while dated selection work, the actual
Selectapplication and its argument andSelectionSlotbindings, and the evidence-provenance path retain the effective editions, policies, candidates, and selected set needed for replay. -
Evolvability vs didactic usability. The kernel must be stable enough to support SoTA wiring and specialisation chains, but also teachable: one place states the mechanism boundary, laws, eligibility behavior, and the neighboring replay basis for realized use.
-
Planned use and gate/guard separation. A.15.2 carries the intended baseline; A.15.3 typed filling is conditional on independently declared positions. Selection must not mutate into a gate pattern: no GateDecision or decision logs inside the mechanism boundary.
-
No competing defaults. If defaults exist for
PortfolioMode, dominance regime, or archive policy, cite their declared sources rather than re-declaring them in the kernel. -
Scope continuity vs legitimate reselection. Selection may narrow candidates or apply explicit policy, but it may not silently change the finite upstream comparison-application basis, its required pair coverage, any member’s predicate basis, claim scope, selected context slices, reference plane, or evaluation window. A justified change is a new selection application and may require new binary comparisons.