Files
git.stella-ops.org/src/Scheduler/StellaOps.Scheduler.WebService/TASKS.md
master 5a923d968c
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
feat: Implement PackRunApprovalDecisionService for handling approval decisions
- Added PackRunApprovalDecisionService to manage approval workflows for pack runs.
- Introduced PackRunApprovalDecisionRequest and PackRunApprovalDecisionResult records.
- Implemented logic to apply approval decisions and schedule run resumes based on approvals.
- Updated related tests to validate approval decision functionality.

test: Enhance tests for PackRunApprovalDecisionService

- Created PackRunApprovalDecisionServiceTests to cover various approval scenarios.
- Added in-memory stores for approvals and states to facilitate testing.
- Validated behavior for applying approvals, including handling missing states.

test: Add FilesystemPackRunArtifactUploaderTests for artifact uploads

- Implemented tests for FilesystemPackRunArtifactUploader to ensure correct file handling.
- Verified that missing files are recorded without exceptions and outputs are written as expected.

fix: Update PackRunState creation to include plan reference

- Modified PackRunState creation logic to include the plan in the state.

chore: Refactor service registration in Program.cs

- Updated service registrations in Program.cs to include new approval store and dispatcher services.
- Ensured proper dependency injection for PackRunApprovalDecisionService.

chore: Enhance TaskRunnerServiceOptions for approval store paths

- Added ApprovalStorePath and other paths to TaskRunnerServiceOptions for better configuration.

chore: Update PackRunWorkerService to handle artifact uploads

- Integrated artifact uploading into PackRunWorkerService upon successful run completion.

docs: Update TASKS.md for sprint progress

- Documented progress on approvals workflow and related tasks in TASKS.md.
2025-11-06 11:09:00 +02:00

6.2 KiB
Raw Blame History

Scheduler WebService Task Board (Sprint 16)

ID Status Owner(s) Depends on Description Exit Criteria

Policy Engine v2 (Sprint 20)

ID Status Owner(s) Depends on Description Exit Criteria

2025-10-29: Added /api/v1/scheduler/policy/runs create/list/get endpoints with in-memory queue, scope/tenant enforcement, and contract docs (docs/SCHED-WEB-20-001-POLICY-RUNS.md). Tests cover happy path + auth failures. 2025-10-26: Use canonical request/response samples from samples/api/scheduler/policy-*.json; serializer contract defined in src/Scheduler/__Libraries/StellaOps.Scheduler.Models/docs/SCHED-MODELS-20-001-POLICY-RUNS.md. | SCHED-WEB-20-002 | BLOCKED (waiting on SCHED-WORKER-20-301) | Scheduler WebService Guild | SCHED-WEB-20-001, SCHED-WORKER-20-301 | Provide simulation trigger endpoint returning diff preview metadata and job state for UI/CLI consumption. | Simulation endpoint returns deterministic diffs metadata; rate limits enforced; tests cover concurrency. | 2025-10-29: WebService requires Worker policy job orchestration + Policy Engine diff callbacks (POLICY-ENGINE-20-003/006) to provide simulation previews. Awaiting completion of SCHED-WORKER-20-301 before wiring API.

Graph Explorer v1 (Sprint 21)

ID Status Owner(s) Depends on Description Exit Criteria
SCHED-WEB-21-004 DONE (2025-11-04) Scheduler WebService Guild, Scheduler Storage Guild SCHED-WEB-21-001, SCHED-STORAGE-16-201 Persist graph job lifecycle to Mongo storage and publish scheduler.graph.job.completed@1 events + outbound webhook to Cartographer. Storage repositories updated; events emitted; webhook payload documented; integration tests cover storage + event flow. Note: Events currently log JSON envelopes while the shared platform bus is provisioned. Cartographer webhook now posts JSON payloads when configured; replace inline logging with bus publisher once the shared event transport is online.

2025-10-30: Implemented Redis-backed publisher (Scheduler:Events:GraphJobs) emitting scheduler.graph.job.completed@1 to configured stream with optional logging fallback; docs/configs to be validated with DevOps before closing. 2025-11-04: Resumed SCHED-WEB-21-004 to finalize Mongo lifecycle persistence guards, graph completion events, and Cartographer webhook verification. 2025-11-04: SCHED-WEB-21-004 completed lifecycle stored in Mongo with optimistic concurrency, completion events/webhooks emitted once per transition, and result URI metadata refreshed idempotently with unit/integration coverage.

StellaOps Console (Sprint 23)

ID Status Owner(s) Depends on Description Exit Criteria
SCHED-CONSOLE-23-001 DONE (2025-11-03) Scheduler WebService Guild, BE-Base Platform Guild SCHED-WEB-16-103, SCHED-WEB-20-001 Extend runs APIs with live progress SSE endpoints (/console/runs/{id}/stream), queue lag summaries, diff metadata fetch, retry/cancel hooks with RBAC enforcement, and deterministic pagination for history views consumed by Console. SSE emits heartbeats/backoff headers, progress payload schema documented, unauthorized actions blocked in integration tests, metrics/logs expose queue lag + correlation IDs.

Policy Studio (Sprint 27)

ID Status Owner(s) Depends on Description Exit Criteria
SCHED-CONSOLE-27-001 DONE (2025-11-03) Scheduler WebService Guild, Policy Registry Guild SCHED-WEB-16-103, REGISTRY-API-27-005 Provide policy batch simulation orchestration endpoints (/policies/simulations POST/GET) exposing run creation, shard status, SSE progress, cancellation, and retries with RBAC enforcement. API handles shard lifecycle with SSE heartbeats + retry headers; unauthorized requests rejected; integration tests cover submit/cancel/resume flows.
SCHED-CONSOLE-27-002 DONE (2025-11-05) Scheduler WebService Guild, Observability Guild SCHED-CONSOLE-27-001 Emit telemetry endpoints/metrics (policy_simulation_queue_depth, policy_simulation_latency_seconds) and webhook callbacks for completion/failure consumed by Registry. Metrics exposed via gateway, dashboards seeded, webhook contract documented, integration tests validate metrics emission.

2025-11-05: Resuming to align instrumentation naming with architecture spec, exercise latency recording in SSE flows, and ensure registry webhook contract (samples/docs) reflects terminal result behaviour. 2025-11-05: Histogram renamed to policy_simulation_latency_seconds, queue gauge kept stable, new unit tests cover metrics capture/latency recording, and docs updated. Local dotnet test build currently blocked by existing GraphJobs visibility errors (see StellaOps.Scheduler.WebService/GraphJobs/IGraphJobStore.cs). 2025-11-06: Added tenant-aware tagging to policy_simulation_queue_depth gauge samples and refreshed metrics provider snapshot coverage.

Vulnerability Explorer (Sprint 29)

ID Status Owner(s) Depends on Description Exit Criteria
SCHED-VULN-29-001 TODO Scheduler WebService Guild, Findings Ledger Guild SCHED-WEB-16-103, SBOM-VULN-29-001 Expose resolver job APIs (POST /vuln/resolver/jobs, GET /vuln/resolver/jobs/{id}) to trigger candidate recomputation per artifact/policy change with RBAC and rate limits. Resolver APIs documented; integration tests cover submit/status/cancel; unauthorized requests rejected.
SCHED-VULN-29-002 TODO Scheduler WebService Guild, Observability Guild SCHED-VULN-29-001 Provide projector lag metrics endpoint and webhook notifications for backlog breaches consumed by DevOps dashboards. Lag metrics exposed; webhook events triggered on thresholds; docs updated.

Notes

  • 2025-10-27: Minimal API host now wires Authority, health endpoints, and restart-only plug-in discovery per architecture §§12.