Context
packages/loopover-miner/lib/deployment-docs-audit.js:1-5,107-115's header comment states: "A rename or move that leaves the doc stale then fails CI ... instead of misleading operators." But assertDeploymentDocsInSync/auditDeploymentDocs have zero callers in bin/, lib/, package.json scripts, or any CI config — only node --check (a syntax-check, not a real invocation) references the file. Its own documented "mirrored" sibling, apps/loopover-ui/src/lib/selfhost-docs-audit.ts, IS wired to a real route/test. The module's own claim about failing CI on doc drift is false today.
Requirements
- Wire
assertDeploymentDocsInSync/auditDeploymentDocs into a real CI step (a new npm run script invoked from the CI workflow, or an existing test file that calls it as part of the test suite) so doc drift actually fails CI as documented.
- Follow the same wiring pattern
apps/loopover-ui/src/lib/selfhost-docs-audit.ts's real route/test already uses, for consistency between the two "mirrored" checks.
- If wiring into CI directly isn't feasible in this issue's scope, at minimum add a
test/unit test that calls assertDeploymentDocsInSync for real (not just type-checks it) so it participates in npm run test:ci.
Test Coverage Requirements
99%+ Codecov patch coverage on the new call site; the test/CI step itself should genuinely fail when a deployment doc is stale (verify with a deliberately-broken fixture in the test, not just a happy-path check).
Deliverables
Expected Outcome
A rename/move that leaves a deployment doc stale actually fails CI, matching what the module's own header comment already claims happens.
Links & Resources
packages/loopover-miner/lib/deployment-docs-audit.js:1-5,107-115
apps/loopover-ui/src/lib/selfhost-docs-audit.ts (the working sibling pattern to mirror)
Context
packages/loopover-miner/lib/deployment-docs-audit.js:1-5,107-115's header comment states: "A rename or move that leaves the doc stale then fails CI ... instead of misleading operators." ButassertDeploymentDocsInSync/auditDeploymentDocshave zero callers inbin/,lib/,package.jsonscripts, or any CI config — onlynode --check(a syntax-check, not a real invocation) references the file. Its own documented "mirrored" sibling,apps/loopover-ui/src/lib/selfhost-docs-audit.ts, IS wired to a real route/test. The module's own claim about failing CI on doc drift is false today.Requirements
assertDeploymentDocsInSync/auditDeploymentDocsinto a real CI step (a newnpm runscript invoked from the CI workflow, or an existing test file that calls it as part of the test suite) so doc drift actually fails CI as documented.apps/loopover-ui/src/lib/selfhost-docs-audit.ts's real route/test already uses, for consistency between the two "mirrored" checks.test/unittest that callsassertDeploymentDocsInSyncfor real (not just type-checks it) so it participates innpm run test:ci.Test Coverage Requirements
99%+ Codecov patch coverage on the new call site; the test/CI step itself should genuinely fail when a deployment doc is stale (verify with a deliberately-broken fixture in the test, not just a happy-path check).
Deliverables
assertDeploymentDocsInSync/auditDeploymentDocsactually invoked as part ofnpm run test:ci(or an equivalent real CI step).Expected Outcome
A rename/move that leaves a deployment doc stale actually fails CI, matching what the module's own header comment already claims happens.
Links & Resources
packages/loopover-miner/lib/deployment-docs-audit.js:1-5,107-115apps/loopover-ui/src/lib/selfhost-docs-audit.ts(the working sibling pattern to mirror)