Build the shared FIXTURE corpus the parity suite (a separate follow-up issue) will run against: a set of representative PredictedGateInput + FocusManifest + RepositoryRecord/IssueRecord/PullRequestRecord combinations covering the gate's major branches (clean pass, duplicate-PR block, missing-linked-issue block, manifest-blocked-path, low-readiness warn, oss-anti-slop pack vs gittensor pack, with-changed-paths vs without). This issue is fixtures-only — no assertion harness yet — so it can land independently and the parity-runner issue can consume it without also having to invent representative scenarios under time pressure.
Deliverables
References
src/rules/predicted-gate.ts (263 lines) — the function under test; its branch structure (lines 149-247) enumerates the scenarios to fixture.
test/fixtures/local-scorer/ — existing fixture-directory convention in this repo to mirror (naming, one file per scenario).
src/types.ts — RepositoryRecord/IssueRecord/PullRequestRecord/BountyRecord shapes the fixtures must conform to.
Build the shared FIXTURE corpus the parity suite (a separate follow-up issue) will run against: a set of representative
PredictedGateInput+FocusManifest+RepositoryRecord/IssueRecord/PullRequestRecordcombinations covering the gate's major branches (clean pass, duplicate-PR block, missing-linked-issue block, manifest-blocked-path, low-readiness warn,oss-anti-sloppack vsgittensorpack, with-changed-paths vs without). This issue is fixtures-only — no assertion harness yet — so it can land independently and the parity-runner issue can consume it without also having to invent representative scenarios under time pressure.Deliverables
test/fixtures/engine-parity/predicted-gate/directory with one JSON (or.tsobject-literal) fixture file per scenario (aim for 8-10 scenarios covering the branch list above).buildPredictedGateVerdict(no external state needed) plus a comment noting which gate branch it exercises.test/fixtures/engine-parity/predicted-gate/README.md(or a top-of-file comment in an index fixture) listing every scenario and the specific finding code(s) it is expected to produce, so a reviewer can sanity-check coverage without running the suite.test/unit/engine-parity-fixtures.test.ts) that merely loads every fixture file and asserts it parses/type-checks — catching a malformed fixture before the parity-runner issue depends on it.References
src/rules/predicted-gate.ts(263 lines) — the function under test; its branch structure (lines 149-247) enumerates the scenarios to fixture.test/fixtures/local-scorer/— existing fixture-directory convention in this repo to mirror (naming, one file per scenario).src/types.ts—RepositoryRecord/IssueRecord/PullRequestRecord/BountyRecordshapes the fixtures must conform to.