Ball Valve Result Interpretation
Ball Valve results must be read differently from the other matchers. The engine separates technical discovery, candidate evaluation, evidence closure, procurement release, and presentation grouping.
Public Classes
Section titled “Public Classes”| Class | Meaning |
|---|---|
DROP_IN | Direct replacement with closed evidence and no procurement blockers. |
FIT_OR_BETTER | Technical replacement/upgrade class in the contract and grouped counts; procurement release still depends on closed evidence and blockers. |
PROBABLE_DROP_IN | Advisory only; requires confirmation and cannot be procurement-ready. |
REQUIRES_MODIFICATION | Candidate requires a named modification path plus approval and verification. |
REJECT | Proven hard technical/policy boundary. |
PROBABLE_TECHNICAL_MATCH | Technical discovery candidate from partial evidence. |
POSSIBLE_MODIFICATION_PATH | Discovery candidate that may need modification. |
ENGINEERING_CONFIRMATION_REQUIRED | Insufficient evidence for procurement action. |
Procurement Rule
Section titled “Procurement Rule”Only DROP_IN with procurement_release_allowed=true is procurement-ready.
Non-actionable statuses always block procurement release:
AMBIGUOUS_MATCHESINPUT_RECHECK_REQUIREDNO_REFERENCE
Nested Shape
Section titled “Nested Shape”Ball Valve output has several layers:
match_result.results: flat list of result rows.match_result.summary: counts, policy state, procurement state, grouping contract.match_result.decision: recommendation conclusion and decision trace.PipelineResult.presentation: grouped display payload.summary.grouped_output_contract: public grouped-output contract.
Grouping is manufacturer -> brand -> results in the current grouped-results helper. Logic20 presentation can group manufacturer -> brand -> family -> results.
Key Row Fields
Section titled “Key Row Fields”| Field | Meaning |
|---|---|
display_label | Display class label. |
original_public_class | Original class before downgrades/suppression. |
technical_fit_class | Technical classification before procurement gating. |
procurement_release_allowed | Final release flag. |
procurement_blockers | Reasons procurement release is blocked. |
qualified_alternate | Whether row is a qualified replacement. |
public_recommendation_allowed | Whether frontend may present it as recommended. |
modification_recommendation_allowed | Whether modification path may be recommended. |
field_proofs | Per-field evidence proof records. |
evidence_contract | Evidence closure contract. |
core_gate_report | Core fit gate report. |
service_overlay_report | Service/compliance overlay report. |
modification_report | Modification evidence and approval detail. |
decision_trace | Why the branch/class was selected. |
recommended_next_action | Human next step. |