A recurring job paused before one of its slots and resumed after it lost that occurrence silently: resume_job recomputed next_run_at from now, so the elapsed slot was neither fired nor recorded — no execution row, no incident, no log line, and last_dispatch stayed on the previous run (the reporter's daily job showed next_run_at jumping two cadences with nothing in between). resume_job now leaves a past stored next_run_at in place for cron/interval jobs and logs that it did. The first tick after resume then applies the existing occurrence policy to that instant — late fire within grace, one collapsed catch-up run past grace, or the loud "missed its scheduled time" skip when cron.catch_up_missed is false — so the slot is accounted for the same way a restart-gap slot is (#107485 contract: every recurring occurrence runs once or its skip is logged). One-shots, future instants and jobs created --paused (next_run_at null) still recompute from now. Salvaged from PR #114296 (resume_job hunk only; its ride-along copies of main's self-removal/fire-claim-skew code and issue-numbered test were dropped).
Website
This website is built using Docusaurus, a modern static website generator.
Installation
yarn
Local Development
yarn start
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
Build
yarn build
This command generates static content into the build directory and can be served using any static contents hosting service.
Deployment
Using SSH:
USE_SSH=true yarn deploy
Not using SSH:
GIT_USER=<Your GitHub username> yarn deploy
If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the gh-pages branch.
Diagram Linting
CI runs ascii-guard to lint docs for ASCII box diagrams. Use Mermaid (````mermaid`) or plain lists/tables instead of ASCII boxes to avoid CI failures.