Skip to content

GateProvenanceZ

const GateProvenanceZ: 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.