refactor(settings): converge 4 duplicated settings files onto their loopover-engine shims - #6201
Conversation
…oopover-engine shims autonomy.ts, command-authorization.ts, contributor-blacklist.ts and pr-type-label.ts were the last four hand-maintained twins of packages/loopover-engine/src/settings/* — identical apart from the type-import path. Convert them into thin re-export shims, matching the JSONbored#4879 pattern already applied to auto-close-exempt / moderation-rules / global-contributor-cap, so an engine-side fix propagates automatically instead of silently drifting. The discovered in-scope twin count drops 15 -> 11, so the check-engine-parity regression guard's coarse floor is lowered 14 -> 10 (its .some() structural assertions remain the real guard). Existing tests for all four files pass unchanged. Closes JSONbored#6194
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #6201 +/- ##
==========================================
- Coverage 95.34% 95.32% -0.02%
==========================================
Files 600 596 -4
Lines 47308 47091 -217
Branches 15085 15010 -75
==========================================
- Hits 45105 44889 -216
Misses 1477 1477
+ Partials 726 725 -1
Flags with carried forward coverage won't be shown. Click here to find out more. |
|
Tip 🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩🟩 ✅ LoopOver review result - approve/merge recommendedReview updated: 2026-07-15 21:28:50 UTC
✅ Suggested Action - Approve/Merge
Review summary Nits — 4 non-blocking
Linked issue satisfactionAddressed 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://gittensory.aethereal.dev/docs/loopover-commands 🧪 Experimental — new and may change. 🟩 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.
|
…6233) contributor-blacklist's GITHUB_LOGIN pattern rejected any login ending in [bot], so a maintainer configuring settings.contributorBlacklist: [{login: "evilbot[bot]"}] got it silently dropped with a generic 'not a valid GitHub login' warning — even though bot accounts are a documented abuse vector and the sibling auto-close-exempt.ts already accepts the same [bot] App-actor shape for exemptions. Extend GITHUB_LOGIN with the same optional (?:\[bot\])? suffix auto-close-exempt.ts uses. The implementation lives in the @loopover/engine copy (the src/ file is now a re-export shim after #6201), so the single edit covers both surfaces. Malformed bot-ish logins (bare [bot], doubled suffix, wrong-case, mid-string brackets) are still dropped. Regression tests in both suites assert a blacklisted something[bot] author is actually matched by isAuthorBlacklisted. Closes #6190 Co-authored-by: jaytbarimbao-collab <300663773+jaytbarimbao-collab@users.noreply.github.com>
What & why
src/settings/autonomy.ts,command-authorization.ts,contributor-blacklist.ts, andpr-type-label.tswere the last four hand-maintained twins ofpackages/loopover-engine/src/settings/*— byte-for-byte identical apart from the type-import path (../typesvs../types/manifest-deps-types.js). This converts them into thin re-export shims, matching the exact pattern#4879already applied toauto-close-exempt.ts/moderation-rules.ts/global-contributor-cap.ts, so a future engine-side fix propagates automatically instead of silently drifting.Verification of "import-path-only" before converting
Confirmed each of the four
src/copies differed from its engine counterpart by exactly one line — the import path — with nosrc/-side-only behavior (the audit assumption in the issue held). No pending bug-fix (thecontributor-blacklistbot-login regex /agent-actionslogin-parsing work referenced in the issue) has landed in thesrc/copy, so nothing is lost by re-exporting the canonical engine implementation.Behavior preservation
src/settings/*, which the shims re-export in full):autonomy,command-authorization,contributor-blacklist,pr-type-label(+ their-enginesuites) and downstream consumers (focus-manifest,settings-preview,config-templates).tsc --noEmitis clean across all consumers.engine-parity:drift-checkpasses (16 pairs agree); the discovered in-scope twin count drops from 15 → 11, so thecheck-engine-parity-scriptregression guard's coarse floor is lowered14 → 10(margin preserved; the.some()structural assertions remain the real guard). No settings file remains a hand-duplicated copy.Coverage
The
export *shim lines are non-instrumented (LF:0), identical to the already-merged#4879shims, so there are no coverable changed lines insrc/to drag downcodecov/patch. The only other changed file is a test (codecovignorestest/**).Closes #6194