refactor(settings): drop 11 gate/quality/AI-review config-as-code-only DB columns - #6711
Conversation
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
loopover-ui | 2c73856 | Commit Preview URL Branch Preview URL |
Jul 17 2026, 04:50 AM |
Bundle ReportChanges will decrease total bundle size by 10.99kB (-0.15%) ⬇️. This is within the configured threshold ✅ Detailed changes
Affected Assets, Files, and Routes:view changes for bundle: loopover-uiAssets Changed:
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #6711 +/- ##
==========================================
- Coverage 93.65% 93.65% -0.01%
==========================================
Files 682 682
Lines 68133 68114 -19
Branches 18701 18687 -14
==========================================
- Hits 63808 63789 -19
Misses 3347 3347
Partials 978 978
Flags with carried forward coverage won't be shown. Click here to find out more.
|
|
Warning ⏸️ LoopOver review result - manual review recommendedReview updated: 2026-07-17 04:37:19 UTC
Review summary Nits — 6 non-blocking
Concerns raised — review before merging
📋 Copy for AI agents — paste into your coding agentDecision drivers
Context & advisory signals — never blocks the verdict
Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. Visual preview
Click any thumbnail to open the full-size screenshot. Before = production · After = this PR's preview deploy. 🟩 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 LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
…y DB columns reviewCheckMode, linkedIssueGateMode, duplicatePrGateMode, qualityGateMode, qualityGateMinScore, selfAuthoredLinkedIssueGateMode, aiReviewMode, aiReviewByok, aiReviewProvider, aiReviewModel, and aiReviewAllAuthors already resolved correctly from .loopover.yml's settings./gate.* blocks; the repository_settings DB columns were a redundant second source of truth resolveEffectiveSettings's manifest overlay already fully shadowed. Drops the columns (migration 0161), makes getRepositorySettings/upsertRepositorySettings treat them as fixed built-in defaults, and removes them from repositorySettingsSchema/maintainerSettingsSchema. Also fixes two DB-bypass bugs the migration would otherwise have made permanent: GET /activation-preview read raw getRepositorySettings instead of the manifest-aware resolver, and PUT /ai-review wrote+echoed the now-defunct mode/byok/provider/model/allAuthors fields. PUT /ai-review is redesigned to a .strict() schema accepting only closeOwnerAuthors/lowConfidenceDisposition, sourcing every other field from the manifest resolver. POST /activation (the one-click "enable advisory mode" button) and the GateRampControl advisory-to-blocking ramp panel are removed entirely: both existed solely to write these now-config-as-code-only fields, so neither had anything left to meaningfully do. Closes #6444, part of epic #6440.
ec77407 to
2c73856
Compare
Summary
reviewCheckMode,linkedIssueGateMode,duplicatePrGateMode,qualityGateMode,qualityGateMinScore,selfAuthoredLinkedIssueGateMode,aiReviewMode,aiReviewByok,aiReviewProvider,aiReviewModel, andaiReviewAllAuthorsalready resolved correctly from.loopover.yml'ssettings:/gate:blocks — therepository_settingsDB columns were a redundant second source of truthresolveEffectiveSettings's manifest overlay already fully shadowed. Drops the 11 columns (migration 0161) and makes the DB layer treat them as fixed built-in defaults.GET /activation-previewread the raw DB row instead of the manifest-aware resolver, andPUT /ai-reviewwrote+echoed the now-defunctmode/byok/provider/model/allAuthorsfields.PUT /ai-reviewis redesigned to a.strict()schema accepting onlycloseOwnerAuthors/lowConfidenceDisposition, sourcing every other field from the manifest resolver instead.POST /activation(the one-click "enable advisory mode" button) and theGateRampControladvisory→blocking ramp panel entirely: both existed solely to write these now-config-as-code-only fields, so neither had anything left to meaningfully do — a dead action that appears functional but does nothing is worse than no action.Scope
type(scope): short summaryConventional Commit format.CONTRIBUTING.md.Validation
git diff --checknpm run typecheck/npm run ui:typechecknpm run test:coverage(full unsharded suite, 17920+ passing; 2 pre-existing flaky git-fixture tests unrelated to this change, confirmed passing in isolation)npm run test:workersnpm run ui:openapi:check/npm run ui:openapi:settings-paritynpm run ui:lint/npm run ui:test/npm run ui:buildnpm run db:migrations:check/npm run db:schema-drift:checknpm run engine-parity:drift-check/npm run manifest:drift-check/npm run docs:drift-checknpm run test:engine-parity/npm run test:live-gate-parity/npm run test:driver-paritynpm audit --audit-level=moderatePUT /ai-reviewredesign, theGET /activation-previewfix, the removedPOST /activationroute, and every DB-write no-op path across ~10 updated test files.npm run build:mcp/npm run test:mcp-packnot run — this PR touches no MCP surface.Safety
ui:openapi:settings-parityconfirmsRepositorySettingsSchemastill matches theRepositorySettingstype after the 11-field removal).Notes
mainwhile this branch was in flight (migration 0160); this PR's migration was renumbered to 0161 and rebased cleanly — the two batches touch disjoint field sets.