koala73/worldmonitor · error
${parts.join('\n')}
Error message
${parts.join('\n')} What it means
After comparing committed filter patterns with expected patterns, runCheck throws an error whose message is the assembled diff report: missing entries, extra entries (up to 20 shown), and counts. This is the drift signal — the committed generated file does not match what generation would now produce.
Solutions
- Run `npm run generate:sentry-convex-probe-filters` and commit the updated list.
- Review the missing/extra entries in the message to confirm the intended function changes.
- Never hand-edit the generated file; fix the source of truth (Convex function definitions) instead.
Example fix
// before // committed list still contains module:oldFunction after rename // after npm run generate:sentry-convex-probe-filters git commit -am "regenerate sentry convex probe filters"
Defensive patterns
Strategy: validation
Validate before calling
// pre-commit or CI step // npm run generate:sentry-convex-probe-filters && git diff --exit-code -- <generated-list-path>
Try / catch
try { runCheck(patterns); } catch (err) { console.error(err.message); process.exit(1); } // message already is the diff report Prevention
- Run the generator whenever Convex public function names change.
- Add a CI check that fails on generated-file drift.
- Never hand-edit the generated list.
When it happens
Trigger: Running check mode when the committed list differs from freshly computed patterns: a public Convex function was added/removed/renamed without regenerating, or the committed file was hand-edited.
Common situations: A PR renamed a public function but the author forgot to run the generator; a merge kept an outdated committed list; someone edited the generated file manually.
Understand the failure class
Background: Schema validation failed / invalid input schema: payload rejected because its shape doesn't match the expected schema — this error's family across 28 libraries.
Related errors
- Missing . Run `npm run…
- cannot read — run
- Expected one enabled block rule named
- 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/0b354cb82e594005.
Report an issue: GitHub.
Appendix: source
Thrown at scripts/sync-sentry-convex-probe-filters.mjs:385
return;
}
const parts = [
'Committed Sentry Convex probe filter list drifted from convex/ source.',
` File: ${relativeToRepo(COMMITTED_LIST_PATH)}`,
' Run: npm run generate:sentry-convex-probe-filters',
];
if (missing.length > 0) {
parts.push(` Missing (${missing.length}):`);
for (const line of missing.slice(0, 20)) parts.push(` + ${line}`);
if (missing.length > 20) parts.push(` … and ${missing.length - 20} more`);
}
if (extra.length > 0) {
parts.push(` Extra (${extra.length}):`);
for (const line of extra.slice(0, 20)) parts.push(` - ${line}`);
if (extra.length > 20) parts.push(` … and ${extra.length - 20} more`);
}
throw new Error(parts.join('\n'));
}
/**
* Merge generated patterns into live Sentry filters, PUT, and read back.
*
* @param {string[]} patterns
* @param {{ dryRun: boolean }} opts
*/
async function runApply(patterns, opts) {
const token = resolveToken();
if (!token) {
throw new Error(
'Set SENTRY_API_TOKEN (or SENTRY_AUTH_TOKEN / SENTRY_SESSION_TOKEN) to a '
+ 'sntryu_ user token with project:read and project:write.',
);
}
const org = process.env.SENTRY_ORG || DEFAULT_ORG;
const project = process.env.SENTRY_PROJECT || DEFAULT_PROJECT;View on GitHub (pinned to e586b8b4b8)