fix(review): allow multi-entry surface submissions and detect duplicates - #2442
Conversation
The surface-lane orchestrator hard-closed any registry PR appending more than one surfaces[] entry, contradicting metagraphed's documented 2026-06 anti-farming policy that explicitly wants multi-entry PRs (confirmed live on PR #2619, which the fix now resolves to merge instead of auto-close). RegistryLaneSpec gains an opt-in maxAppendedEntries cap (default preserves today's strict single-entry behavior for every other spec) and an opt-in duplicateKeyFields for cross-entry duplicate detection, closing a side effect where removing the entry cap also removed its incidental protection against same-PR duplicate submissions.
|
Warning 🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨🟨 ⏸️ Gittensory review result - manual review recommendedReview updated: 2026-07-02 00:23:44 UTC
⏸️ Suggested Action - Manual Review Review summary Nits — 5 non-blocking
Review context
Contributor next steps
Signal definitions
🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 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.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2442 +/- ##
=======================================
Coverage 95.88% 95.89%
=======================================
Files 224 224
Lines 25169 25211 +42
Branches 9151 9166 +15
=======================================
+ Hits 24134 24176 +42
Misses 422 422
Partials 613 613
🚀 New features to boost your workflow:
|
Summary
src/review/content-lane/orchestrator.ts) hard-closed any registry PR appending more than onesurfaces[]entry, contradicting metagraphed's documented 2026-06 contributor policy that explicitly allows appending severalsurfaces[]entries for one subnet in one PR (the anti-farming fix — the single-entry cap used to force splitting one subnet's surfaces into many near-identical PRs). Confirmed live on metagraphed PR fix(upstream): match the drift-issue signals label case-insensitively #2619 (2 clean surfaces entries, one new file) — Orb closed it with "A surface submission must append exactly one new surfaces[] entry"; this fix resolves that exact shape to merge instead.RegistryLaneSpecgains an opt-inmaxAppendedEntriescap (omitted ⇒ today's strict single-entry default, unchanged for every other/future spec) and an opt-induplicateKeyFieldsfor cross-entry duplicate detection. The latter closes a real side effect: removing the single-entry cap for metagraphed also removed its incidental protection against a same-PR duplicatesurfaces[]submission —METAGRAPHED_LANE_SPECopts back into duplicate detection explicitly, keyed onurl.diffAppendedSurfaceEntries(renamed from the singular form) now returns every added entry instead of enforcing exactly one;runSurfaceReviewvalidates each entry independently and aggregates (close if any invalid, manual if any needs manual review, merge only if all clean).Scope
type(scope): short summaryConventional Commit format.CONTRIBUTING.mdand does not reintroduce GitHub Pages, VitePress,site/, orCNAME.Validation
git diff --checknpm run actionlint(vianpm run test:ci)npm run typechecknpm run test:coveragelocally — 100% statements/branches/functions/lines on every changed filenpm run test:workers(vianpm run test:ci)npm run build:mcp(vianpm run test:ci)npm run test:mcp-pack(vianpm run test:ci)npm run ui:openapi:check(vianpm run test:ci) — no API/schema changesnpm run ui:lint(vianpm run test:ci)npm run ui:typecheck(vianpm run test:ci)npm run ui:build(vianpm run test:ci)npm audit --audit-level=moderate— 0 vulnerabilitiesSafety
UI Evidencesection. — N/A, backend-only change, no UI Evidence needed.Notes
runSurfaceReview/classifyRegistryPrScope) — no AI model is involved in this change.