# Scheduler agent guide ## Mission Scheduler detects advisory/VEX deltas, computes impact windows, and orchestrates re-evaluations across Scanner and Policy Engine. Docs in this directory are the front-door contract for contributors. ## Working directory - `docs/modules/scheduler` (docs-only); code changes live under `src/Scheduler/**` but must be coordinated via sprint plans. ## Roles & owners - **Docs author**: curates AGENTS/TASKS/runbooks; keeps determinism/offline guidance accurate. - **Scheduler engineer (Worker/WebService)**: aligns implementation notes with architecture and ensures observability/runbook updates land with code. - **Observability/Ops**: maintains dashboards/rules, documents operational SLOs and alert contracts. ## Required Reading - `docs/modules/scheduler/README.md` - `docs/modules/scheduler/architecture.md` - `docs/modules/scheduler/implementation_plan.md` - `docs/modules/platform/architecture-overview.md` ## How to work 1. Open relevant sprint file in `docs/implplan/SPRINT_*.md` and set task status to `DOING` there and in `docs/modules/scheduler/TASKS.md` before starting. 2. Confirm prerequisites above are read; note any missing contracts in sprint **Decisions & Risks**. 3. Keep outputs deterministic (stable ordering, UTC ISO-8601 timestamps, sorted lists) and offline-friendly (no external fetches without mirrors). 4. When changing behavior, update runbooks and observability assets in `./operations/`. 5. On completion, set status to `DONE` in both the sprint file and `TASKS.md`; if paused, revert to `TODO` and add a brief note. ## Guardrails - Honour the Aggregation-Only Contract where applicable (see `../../ingestion/aggregation-only-contract.md`). - No undocumented schema or API contract changes; document deltas in architecture or implementation_plan. - Keep Offline Kit parity—document air-gapped workflows for any new feature. - Prefer deterministic fixtures and avoid machine-specific artefacts in examples. ## Testing & determinism expectations - Examples and snippets should be reproducible; pin sample timestamps to UTC and sort collections. - Observability examples must align with published metric names and labels; update `operations/worker-prometheus-rules.yaml` if alert semantics change. ## Status mirrors - Sprint tracker: `/docs/implplan/SPRINT_*.md` (source of record for Delivery Tracker). - Local tracker: `docs/modules/scheduler/TASKS.md` (mirrors sprint status; keep in sync).