Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
- Created project for StellaOps.Scanner.Analyzers.Native.Tests with necessary dependencies. - Documented roles and guidelines in AGENTS.md for Scheduler module. - Implemented IResolverJobService interface and InMemoryResolverJobService for handling resolver jobs. - Added ResolverBacklogNotifier and ResolverBacklogService for monitoring job metrics. - Developed API endpoints for managing resolver jobs and retrieving metrics. - Defined models for resolver job requests and responses. - Integrated dependency injection for resolver job services. - Implemented ImpactIndexSnapshot for persisting impact index data. - Introduced SignalsScoringOptions for configurable scoring weights in reachability scoring. - Added unit tests for ReachabilityScoringService and RuntimeFactsIngestionService. - Created dotnet-filter.sh script to handle command-line arguments for dotnet. - Established nuget-prime project for managing package downloads.
40 lines
2.4 KiB
Markdown
40 lines
2.4 KiB
Markdown
# 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).
|