GateProvenanceZ
constGateProvenanceZ:ZodObject<{gate:ZodEnum<{anomaly-notify:"anomaly-notify";approve:"approve";boundary-scan:"boundary-scan";build-test-must-pass:"build-test-must-pass";code-review:"code-review";coherence-check:"coherence-check";deep-verify:"deep-verify";draft-read:"draft-read";interactive-verdict:"interactive-verdict";per-task-verify:"per-task-verify";plan-review:"plan-review";security-audit:"security-audit";structural-verifier:"structural-verifier";task-verify-required:"task-verify-required";test-coverage:"test-coverage"; }>;model:ZodOptional<ZodString>;observedModel:ZodOptional<ZodString>;observedProvider:ZodOptional<ZodString>;provider:ZodOptional<ZodString>;providerSelection:ZodOptional<ZodEnum<{configured:"configured";empty-diff:"empty-diff";fallback:"fallback"; }>>;reason:ZodOptional<ZodString>;skipReason:ZodOptional<ZodString>;status:ZodEnum<{ran:"ran";refused:"refused";skipped:"skipped"; }>;taskId:ZodOptional<ZodString>; },$strip>
Defined in: types/src/summary.ts:148
Phase 140: per-gate ran/skipped provenance for one settle, in GATE_ORDER.
Phase 170: a refusing gate now also gets a persisted entry (status: 'refused') before settle halts, alongside every earlier gate’s ran/skipped
entry — see reason below. gate uses the full GateZ enum (unlike
GateBypassZ.gate, which is a loose z.string() because it also carries
the pseudo-gate name 'settle' for the --force bypass case) since every
entry here is a real, settle-dispatched gate.