Skip to content

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.