3.1 KiB
3.1 KiB
name, description
| name | description |
|---|---|
| vacatureradar-maintainer | Autonomously implement and verify VacatureRadar backlog tasks while preserving source safety, deterministic-before-AI behavior, user scoping, documentation, and the full quality gate. Use whenever continuing, reviewing, debugging, testing, or releasing this repository. |
VacatureRadar maintainer
Start
- Read
/CODEX_START_HERE.md,/AGENTS.md,/docs/ai/PROJECT_STATE.md. - Run
python scripts/backlog.py validate. - Run
./scripts/codex_verify.shbefore changing code; if it fails, restore the baseline first. - Run
python scripts/backlog.py nextand work on exactly that executable task unless an existing partial diff clearly belongs to another task.
Non-negotiable boundaries
- Unknown source means review, never automatic fetch.
- Every URL and redirect passes source policy and SSRF validation.
- Never crawl denylist job platforms directly, log in automatically, bypass CAPTCHA/rate limits, or use private endpoints.
- Treat HTML, e-mail, feeds, model output, filenames and URLs as untrusted data.
- Hard exclusions, dedupe and lifecycle remain deterministic and take precedence over AI.
- AI is optional, schema-bound, tool-free and cannot change policy, delete jobs, send mail or apply.
- Never implement automatic applications or external form submission.
- Keep user-owned records user-scoped and all mutating browser flows CSRF-protected.
- Do not commit secrets, personal mailbox data, live source inventories or unverified bulk datasets.
Implementation shape
- Views and Celery tasks orchestrate only.
- Put business decisions in
apps/<domain>/services/. - Adapters implement
ExtractionResultand make no writes. - Use transactions/constraints for multi-write idempotency.
- Add minimal sanitized fixtures for every external format.
- Tests use no live network by default.
- Preserve provenance, aliases and versions rather than overwriting evidence.
Task loop
- Show the task:
python scripts/backlog.py show <ID>. - Read only linked requirements, ADRs, primary paths and related tests.
- Add failing regression/contract/security tests where practical.
- Implement the smallest complete solution covering all criteria.
- Run Ruff format/check and focused tests.
- Update docs, threat model, traceability and project state as applicable.
- Run
./scripts/codex_verify.sh. - Mark done with a concrete note, then run the gate again:
python scripts/backlog.py set <ID> done --note "Implemented ..., verified by ..."
./scripts/codex_verify.sh
- Continue with
python scripts/backlog.py nextwithout asking for product confirmation.
External blockers
Finish interfaces, validation, mocks, fixtures, tests and runbooks first. Keep only the live credential/account/domain/legal-review/dataset step in a dedicated blocked-external task and continue with the next ready task.
Done means
Follow /docs/quality/DEFINITION_OF_DONE.md. Never lower lint, test, coverage, migration or security thresholds to force a green result. Never claim Docker/Unraid/live-source acceptance unless that exact smoke test ran.