You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(review): per-repo opt-in to let a confident AI-judgment blocker gate the merge
Content/registry repos (metagraphed today) have no schema/lint/codecov
net to catch a semantically-wrong-but-structurally-valid defect -- their
own AI reviewer's judgment is the only thing that ever catches it, yet
applySurfaceGate's guard #3 lets a decisive deterministic surface merge
unconditionally override even a confidently-flagged AI-judgment blocker.
Adds gate.aiJudgmentBlockers: "gate" | "advisory" (default "advisory",
byte-identical everywhere that doesn't opt in), YML-only config mirroring
contentLane's own shape since this only matters for repos already running
the registry content lane. When "gate", the AI-judgment-only override is
skipped and the finding survives into the deterministic gate's own
blockers, demoting the decision away from merge -- reproducing exactly
the PR #3910 shape (correct-in-prose, wrong-in-disposition) as
structurally impossible once a repo opts in.
Setting metagraphed's own .gittensory.yml to gate.aiJudgmentBlockers:
"gate" is a separate follow-up PR in that repo, gated on this shipping.
expect(out?.blockers).toEqual([split, ...surfaceClose.blockers]);// union — the AI-only exception only applies to a surface MERGE
132
132
});
133
+
it("#3907: aiJudgmentBlockersMode 'gate' skips the AI-judgment-only override — the finding survives into the failure union, reproducing PR #3910's shape",()=>{
134
+
// The exact repro this issue is about: a confidently-flagged, correct AI-judgment finding (a registry
135
+
// provider slug semantically wrong for its domain) that the deterministic surface lane's own schema/shape
136
+
// scan can never catch, so only AI judgment ever surfaces it.
137
+
constproviderMisattribution: AdvisoryFinding={
138
+
code: "ai_consensus_defect",
139
+
title: "AI reviewers agree on a likely critical defect",
140
+
severity: "critical",
141
+
detail: "provider is set to \"gittensory\" (an unrelated tool's slug) instead of \"gittensor\"",
it("#3907 REGRESSION: on an opted-in repo (gate.aiJudgmentBlockers: 'gate'), a confident AI-judgment-only finding survives a decisive surface merge — decision is no longer merge, and the finding stays in advisory.findings for the public comment",async()=>{
0 commit comments