Context
Part of #9515. packages/loopover-mcp and packages/loopover-contract already enable noUnusedLocals/noUnusedParameters (the latter added in #9516, after five dead output-schema literals sat unreferenced in the stdio bin with nothing catching them). The root tsconfig.json — which covers src/**, test/**, and everything that imports across workspace boundaries — still doesn't.
The gap is not hypothetical: during #9518's admin-category migration, adminConfigScopeShape and adminGetConfigOutputSchema in src/mcp/server.ts were found already dead (orphaned by the #9517 pilot migration, silently) with nothing having caught it. A dry-run compile with both flags enabled repo-wide currently reports 491 violations (TS6133/TS6196/TS6198).
Requirements
- Enable
noUnusedLocals and noUnusedParameters in the root tsconfig.json.
- Resolve all ~491 violations. Most are dead code (delete); some are intentionally-unused parameters in callback signatures that need an underscore prefix or a narrower fix — triage each, don't blanket-suppress.
- Where a genuinely-needed parameter must stay unused (an interface/callback signature contract), use the existing
_-prefix convention already established elsewhere in the repo rather than disabling the check locally.
- Batch this in reviewable chunks by directory/subsystem if the volume warrants it — this issue may itself need splitting into a small number of PRs, following the same one-PR-per-issue discipline as the rest of the epic (open a sibling issue if a second PR turns out to be necessary; don't silently span issues).
- Full branch-counted patch coverage per house bar; typecheck and the full test suite must stay green throughout.
Non-goals
- Any behavior change. This is dead-code removal and parameter-naming only.
- Enabling additional strictness flags beyond these two.
Deliverables
Expected outcome
The class of bug that let two admin-tool schemas rot unnoticed after #9517's migration becomes structurally impossible repo-wide, matching the guarantee packages/loopover-mcp and packages/loopover-contract already have.
References
Part of #9515. Independent of the other sub-issues — can run in parallel with any of them.
Context
Part of #9515.
packages/loopover-mcpandpackages/loopover-contractalready enablenoUnusedLocals/noUnusedParameters(the latter added in #9516, after five dead output-schema literals sat unreferenced in the stdio bin with nothing catching them). The roottsconfig.json— which coverssrc/**,test/**, and everything that imports across workspace boundaries — still doesn't.The gap is not hypothetical: during #9518's admin-category migration,
adminConfigScopeShapeandadminGetConfigOutputSchemainsrc/mcp/server.tswere found already dead (orphaned by the #9517 pilot migration, silently) with nothing having caught it. A dry-run compile with both flags enabled repo-wide currently reports 491 violations (TS6133/TS6196/TS6198).Requirements
noUnusedLocalsandnoUnusedParametersin the roottsconfig.json._-prefix convention already established elsewhere in the repo rather than disabling the check locally.Non-goals
Deliverables
noUnusedLocals+noUnusedParametersenabled in roottsconfig.jsonnpm run typecheckcleanExpected outcome
The class of bug that let two admin-tool schemas rot unnoticed after #9517's migration becomes structurally impossible repo-wide, matching the guarantee
packages/loopover-mcpandpackages/loopover-contractalready have.References
Part of #9515. Independent of the other sub-issues — can run in parallel with any of them.