forge-gate¶
Provenance¶
- Source:
.spec/spexcode/spec-forge/conformance-gate/forge-gate/spec.md - Source SHA-256:
71d399af57e684645ebe0a6abd9741de545b955263d3db38e66c7c92cf47eb65
The orchestration of the [[deliver-port]] verdict driver ([[conformance-gate]]) — an external PR
reaches it as a [[session-origin]] pr session, and this is the entrypoint that makes the gate run and the
verdict land.
The capstone of [[conformance-gate]] — the entrypoint that makes the gate run and the verdict land.
The orchestration. spex forge gate <PR> sequences the pipeline the parent scopes: Tier 0 (reuse
[[ci-gate]] / [[manager-cockpit]] gates — lint errors, tsc, conflictsWithMain), then Tier 0.5 + Tier 1
([[conformance-judge]]), then publish via [[forge-write-seam]] (a Check + a sticky comment). Determinism
short-circuits: a red Tier 0 fails the gate before any judge runs. It is host-agnostic — it names no
vendor, only the seam.
The one engine change it requires. [[session-eval]] and [[manager-cockpit]]'s reviewPayload build
their evidence rooted at a session worktree. The gate needs the same model rooted at an arbitrary PR
ref (checked out in CI), so a PR with no SpexCode session is still a first-class review object. That is a
small, honest generalization of the evidence root — the model, faces, and gates are otherwise reused
whole. (PR-as-review-object is described here rather than as its own node because it is one parameter on an
existing engine, not a new concern.)
Where it runs. The CI workflow is the non-bypassable host. On GitHub: extend ci.yml with a
pull_request job (fetch-depth: 0, so the judge sees the merge-base diff and lint's version timeline)
that runs spex forge gate ${{ github.event.number }}; grant pull-requests: write + checks: write; add
the ANTHROPIC_API_KEY secret the judge needs. On GitLab: a merge_request_event job runs the same verb.
Read-mostly, like the rest. The gate judges and publishes; it never pushes a commit, never auto-merges, never writes a node's git-derived status. A human (or the PR author) acts on the verdict.
Out of scope: the verdict content ([[conformance-judge]]), the write verbs themselves ([[forge-write-seam]]), the dashboard surface ([[dashboard-prs]]), and any auto-remediation.