Every daily and weekly source missed two days in November 2026: Procrastinate
skips a periodic slot that is more than ten minutes overdue, and jobs of
killed workers stayed "doing" forever. Every ten minutes the watchdog fails
jobs of dead workers, closes abandoned run records and defers any scheduled
task whose last slot passed without a run.
Also: EP vote references of joint motions and Council documents, and the
loader now refreshes a vote's reference and stage.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Agents work on this repository in the agent-envs sandbox: a container
whose only way out is an egress proxy with an allowlist, which also adds
the Gitea bot token. docs/contributing/agents.md covers setting it up
for Politrack (1Password item, .env, commit identity), what it can reach
and its limits; AGENTS.md tells agents how to recognise the sandbox and
behave in it.
backend/tests/Dockerfile.debian gains a `sandbox` target: the agent-envs
agent image plus the backend's dependencies from Debian packages, the
same list as the PyPI-free test image (still the default target). The
sandbox runs `pytest` without PyPI, which the owner's PC can't reach. A
new invariant in AGENTS.md keeps that list in step with pyproject.toml.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- AGENTS.md: ground rules (legal access, evidence, fairness), invariants
that are easy to break, commands, and notes on the owner's dev machine;
CLAUDE.md imports it
- backend/tests/Dockerfile.debian: test image from Debian packages for
networks where PyPI is unreachable, documented in testing.md
- roadmap: list what v2 has not been verified against yet
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>