You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[bug] Keep direct WorkloadSpec operator validation fail-closed #504
WorkloadSpec.validate() rejects every filter operator outside the supported ComparisonOperator set, including specs constructed directly rather than through from_mapping().
Actual
The typed field narrows normal callers, but runtime callers can still construct WorkloadSpec(..., operator="contains"). validate() now checks only operator is None, allowing the invalid spec to reach _predicate() and fail later with KeyError.
Impact
The runtime contract is bypassable at a public direct-construction boundary, producing a late implementation error instead of a clear validation error.
Acceptance
Centralize supported-operator membership without widening the public Literal type.
Keep from_mapping() and direct validate() fail-closed.
Add a direct-construction regression test.
Reply to and resolve the source review thread after verified merge.
Lifecycle
DISCOVERED -> ENCODED -> ROUNDTRIP_VERIFIED -> BENCHMARKED -> REPORTED; invalid predicates must fail during ENCODED boundary validation.
Activity