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.
2.4 KiB
2.4 KiB
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 undersrc/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.mddocs/modules/scheduler/architecture.mddocs/modules/scheduler/implementation_plan.mddocs/modules/platform/architecture-overview.md
How to work
- Open relevant sprint file in
docs/implplan/SPRINT_*.mdand set task status toDOINGthere and indocs/modules/scheduler/TASKS.mdbefore starting. - Confirm prerequisites above are read; note any missing contracts in sprint Decisions & Risks.
- Keep outputs deterministic (stable ordering, UTC ISO-8601 timestamps, sorted lists) and offline-friendly (no external fetches without mirrors).
- When changing behavior, update runbooks and observability assets in
./operations/. - On completion, set status to
DONEin both the sprint file andTASKS.md; if paused, revert toTODOand 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.yamlif 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).