package semantic import "context" // SemanticRouter — the interface behind which experiment models run. The // implementation decides whether to consume MatchText; the contract here is // that Route returns a coarse decision without touching the authoritative // router's Intent, slots, capability, or source. // // A nil implementation is a valid floor — the shadow harness records // "no model" and continues. type SemanticRouter interface { Route(ctx context.Context, text string) (SemanticRouteDecision, error) }