koala73/worldmonitor · error
Missing . Run `npm run…
Error message
Missing ${relativeToRepo(COMMITTED_LIST_PATH)}. Run `npm run generate:sentry-convex-probe-filters`. What it means
runCheck reads the committed generated filter list from disk; when the file is absent it throws with the repo-relative path and the exact generator command to run. The check mode requires the generated artifact to be committed so CI can verify it matches what generation would produce.
Solutions
- Run `npm run generate:sentry-convex-probe-filters` to create the list, then commit it.
- Verify the file exists at the path reported in the error.
- Check .gitignore rules are not excluding the generated artifact.
Example fix
// before npm run check:sentry-convex-probe-filters // fails: file missing // after npm run generate:sentry-convex-probe-filters git add <generated-list-path> npm run check:sentry-convex-probe-filters
Defensive patterns
Strategy: validation
Validate before calling
import { existsSync } from 'node:fs';
if (!existsSync(COMMITTED_LIST_PATH)) throw new Error('Run npm run generate:sentry-convex-probe-filters first'); Prevention
- Add the generate step to setup/bootstrap instructions for new clones.
- Commit the generated list so it always exists in the repo.
- Ensure .gitignore does not exclude the artifact.
When it happens
Trigger: Running the check mode (e.g. `check:sentry-convex-probe-filters`) when COMMITTED_LIST_PATH does not exist in the repo — the list was never generated, was deleted, or lives outside the working tree.
Common situations: Fresh clone where the developer skipped the generate step, .gitignore accidentally excluding the generated file, or running check before any apply/generate run.
Understand the failure class
Background: "File not found" and ENOENT errors: why libraries can't find a file that should exist — this error's family across 50 libraries.
Related errors
- cannot read — run
- ${parts.join('\n')}
- cannot read dashboard entry
- Generated internal probe filters incorrectly cover public…
- git is required to prove the merge commit reached the…
AI-assisted analysis of koala73/worldmonitor@e586b8b4b8 (2026-09-22).
Data as JSON: /api/errors/298747a8b8e19652.
Report an issue: GitHub.
Appendix: source
Thrown at scripts/sync-sentry-convex-probe-filters.mjs:349
mkdirSync(dirname(COMMITTED_LIST_PATH), { recursive: true });
writeFileSync(COMMITTED_LIST_PATH, formatCommittedFilterList(patterns), 'utf8');
console.log(
`Wrote ${patterns.length} internal probe filter pattern(s) to `
+ `${relativeToRepo(COMMITTED_LIST_PATH)}`,
);
}
/**
* Fail when the committed filter list drifts from current convex/ internals.
*
* @param {string[]} patterns
*/
function runCheck(patterns) {
let committedText;
try {
committedText = readFileSync(COMMITTED_LIST_PATH, 'utf8');
} catch {
throw new Error(
`Missing ${relativeToRepo(COMMITTED_LIST_PATH)}. `
+ 'Run `npm run generate:sentry-convex-probe-filters`.',
);
}
const committed = parseCommittedFilterList(committedText);
const expected = patterns;
const expectedSet = new Set(expected);
const committedSet = new Set(committed);
const missing = expected.filter((line) => !committedSet.has(line));
const extra = committed.filter((line) => !expectedSet.has(line));
if (missing.length === 0 && extra.length === 0) {
console.log(
`check:sentry-convex-probe-filters: PASS — ${expected.length} internal `
+ 'pattern(s) match source; public functions remain unfiltered.',
);
return;View on GitHub (pinned to e586b8b4b8)