feat(gate): policy-pack-pluggable gate — gittensor + oss-anti-slop packs (#692) - #710
Conversation
…cks (#692) Decouples the gate from Gittensor so it runs on ANY repo. Additive: the pack defaults to `gittensor`, so every existing repo's behavior is unchanged. - New `GatePolicyPack` ("gittensor" | "oss-anti-slop") + `RepositorySettings.gatePack` (DB column via migration 0032, default "gittensor"; getRepositorySettings/upsert + parseGatePack handle it). - Config-as-code: `.gittensory.yml` `gate.pack` parses into the focus manifest and overlays via resolveEffectiveSettings (yml > DB > default), same seam as the other gate fields. - `gateCheckPolicy`: the `oss-anti-slop` pack drops the confirmed-contributor gate entirely (no emissions/registry/Gittensor coupling) so the deterministic rules (slop/duplicate/linked-issue/readiness/AI-consensus) block ANY author; `gittensor` keeps the contributor gate (only confirmed contributors are hard-blocked). evaluateGateCheck is already pack-agnostic — the pack only governs whether confirmedContributor is threaded. - OpenAPI RepositorySettings + settings-preview surface gatePack. The gate now runs end-to-end on a non-registered repo under `oss-anti-slop` with zero Gittensor coupling; the `gittensor` pack is unchanged. Tests: pack behavior (gittensor blocks only confirmed; oss-anti-slop blocks any author; clean PR still passes), gateCheckPolicy contributor-threading per pack, .gittensory.yml gate.pack overlay end-to-end, focus-manifest gate.pack parse + invalid-pack warning, DB round-trip + default. 97% coverage gate green.
|
Note Gittensory Gate skippedPR closed before full evaluation. No late first comment was created.
💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by Gittensory, a quiet PR intelligence layer for OSS maintainers. |
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
gittensory · advisory review Reviewed 21 changed file(s) — two independent AI reviewers. Suggested action: ✅ Safe to merge — both reviewers found no blocking issues. Reviewer A · Suggestions
Worth double-checking
Reviewer B · No blocking issues spotted. Before = production · After = this PR's preview deploy.
|
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
gittensory-ui | 3948580 | Commit Preview URL Branch Preview URL |
Jun 14 2026, 11:43 AM |




What
Decouples the Gittensory Gate from Gittensor so it runs on any repo (#692, Pillar 6 foundation). Additive — the pack defaults to
gittensor, so every existing repo's behavior is unchanged.GatePolicyPack(gittensor|oss-anti-slop) +RepositorySettings.gatePack(DB column via migration0032, defaultgittensor;getRepositorySettings/upsert+parseGatePackhandle it)..gittensory.ymlgate.packparses into the focus manifest and overlays viaresolveEffectiveSettings(yml > DB > default) — the same seam as the other gate fields.gateCheckPolicy: theoss-anti-sloppack drops the confirmed-contributor gate entirely (no emissions/registry/Gittensor coupling), so the deterministic rules (slop/duplicate/linked-issue/readiness/AI-consensus) block any author. Thegittensorpack keeps the contributor gate (only confirmed contributors are hard-blocked).evaluateGateCheckis already pack-agnostic — the pack only governs whetherconfirmedContributoris threaded into the policy.RepositorySettings+ settings-preview surfacegatePack.Acceptance (#692)
✅ Covered by tests: under
oss-anti-slop, a non-confirmed author with a block-mode finding → failure (blocks); undergittensor, the same author → neutral (unchanged). A.gittensory.ymlgate.pack: oss-anti-slopflips this end-to-end.Why
Unlocks #693 (agent-native self-check as a general product) + #694 (funnel non-gittensor adopters → gittensor miners). Built on the existing slop/gate engine + the
.gittensory.ymlconfig-as-code seam (#526/#647) — no new rule logic, just the pack abstraction.Tests
gateCheckPolicythreadsconfirmedContributoronly under gittensor (dropped under oss-anti-slop, incl. default-gittensor when unset)..gittensory.ymlgate.packoverlay end-to-end.gate.packparse + invalid-pack warning; DB round-trip + defaultgittensor.git diff --check+ui:openapi:checkpass.Advances Pillar 6 (#704). Closes #692.