Context
src/settings/auto-close-exempt.ts, moderation-rules.ts, and global-contributor-cap.ts are all thin re-export shims per #4879 ("converged onto @loopover/engine...the single implementation lives at packages/loopover-engine/..."). Their structurally identical siblings — src/settings/autonomy.ts, command-authorization.ts, contributor-blacklist.ts, pr-type-label.ts — remain full hand-duplicated copies of packages/loopover-engine/src/settings/* (verified byte-for-byte identical apart from the import path, as of this audit). Any future engine-side fix to these four must currently be manually re-applied to the src/ copy or it silently drifts — exactly the class of bug #4879's shim conversion was meant to eliminate for the other three.
Requirements
- Convert
src/settings/autonomy.ts, command-authorization.ts, contributor-blacklist.ts, and pr-type-label.ts into thin re-export shims of their packages/loopover-engine/src/settings/* counterparts, following #4879's exact conversion pattern (see auto-close-exempt.ts/moderation-rules.ts/global-contributor-cap.ts for the shim shape to replicate).
- Note: this issue was filed alongside two other issues that separately fix real bugs in
contributor-blacklist.ts (bot-login regex) and agent-actions.ts (login-list parsing) — if those land first, this conversion should happen after, so the fix lives in the canonical loopover-engine copy rather than being lost in the shim conversion. Coordinate order via the issue tracker if multiple contributors pick these up simultaneously.
- Verify no
src/-side-only behavior exists in any of the 4 files before converting (confirm the diff really is import-path-only, as this audit found, not a stale assumption).
Test Coverage Requirements
99%+ Codecov patch coverage; existing tests for all 4 files must continue passing unchanged after the shim conversion (a shim conversion should be behavior-preserving).
Deliverables
Expected Outcome
No settings file in src/settings/ remains a hand-duplicated copy of its loopover-engine counterpart — a future engine-side fix propagates automatically instead of needing manual re-application.
Links & Resources
src/settings/auto-close-exempt.ts, moderation-rules.ts, global-contributor-cap.ts (#4879, the correct shim pattern to replicate)
src/settings/autonomy.ts, command-authorization.ts, contributor-blacklist.ts, pr-type-label.ts (the 4 files to convert)
packages/loopover-engine/src/settings/* (canonical implementations)
Context
src/settings/auto-close-exempt.ts,moderation-rules.ts, andglobal-contributor-cap.tsare all thin re-export shims per#4879("converged onto@loopover/engine...the single implementation lives atpackages/loopover-engine/..."). Their structurally identical siblings —src/settings/autonomy.ts,command-authorization.ts,contributor-blacklist.ts,pr-type-label.ts— remain full hand-duplicated copies ofpackages/loopover-engine/src/settings/*(verified byte-for-byte identical apart from the import path, as of this audit). Any future engine-side fix to these four must currently be manually re-applied to thesrc/copy or it silently drifts — exactly the class of bug#4879's shim conversion was meant to eliminate for the other three.Requirements
src/settings/autonomy.ts,command-authorization.ts,contributor-blacklist.ts, andpr-type-label.tsinto thin re-export shims of theirpackages/loopover-engine/src/settings/*counterparts, following#4879's exact conversion pattern (seeauto-close-exempt.ts/moderation-rules.ts/global-contributor-cap.tsfor the shim shape to replicate).contributor-blacklist.ts(bot-login regex) andagent-actions.ts(login-list parsing) — if those land first, this conversion should happen after, so the fix lives in the canonicalloopover-enginecopy rather than being lost in the shim conversion. Coordinate order via the issue tracker if multiple contributors pick these up simultaneously.src/-side-only behavior exists in any of the 4 files before converting (confirm the diff really is import-path-only, as this audit found, not a stale assumption).Test Coverage Requirements
99%+ Codecov patch coverage; existing tests for all 4 files must continue passing unchanged after the shim conversion (a shim conversion should be behavior-preserving).
Deliverables
autonomy.ts,command-authorization.ts,contributor-blacklist.ts,pr-type-label.tsall converted to thin re-export shims of theirloopover-enginecounterparts.Expected Outcome
No settings file in
src/settings/remains a hand-duplicated copy of itsloopover-enginecounterpart — a future engine-side fix propagates automatically instead of needing manual re-application.Links & Resources
src/settings/auto-close-exempt.ts,moderation-rules.ts,global-contributor-cap.ts(#4879, the correct shim pattern to replicate)src/settings/autonomy.ts,command-authorization.ts,contributor-blacklist.ts,pr-type-label.ts(the 4 files to convert)packages/loopover-engine/src/settings/*(canonical implementations)