- lint.yml: add notify-failure Matrix alert job; add Tag deployed commit
step to deploy job with deploy-YYYY.MM.DD-N tagging via Gitea API
- package.json: add --coverage flag to jest test script
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Extract validateWebhookUrl, applyParams, evalCondition, calculateNextRun
to lib/utils.js so they can be tested without DB connection
- Fix cron-parser v5 API: parseExpression → CronExpressionParser.parse
- Add 31 jest tests covering all four utility functions
- Add test.yml CI workflow running jest on every push/PR
- Add jest devDependency
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add deploy job gated on js-lint passing
- Deploy triggers pulse-deploy webhook on main branch only
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>