Files
git.stella-ops.org/docs/modules/excititor/prep/2025-11-20-console-vex-contract-prep.md
StellaOps Bot cce96f3596
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
blockers 2
2025-11-23 14:54:17 +02:00

2.0 KiB

Console / VEX Contract Prep — PREP-EXCITITOR-CONSOLE-23-001-AWAITING-CONCRE

Status: Draft (2025-11-20) Owners: Excititor WebService Guild · BE-Base Platform Guild Scope: Capture the required /console/vex API contract inputs so downstream tasks can proceed once the concrete spec lands.

Missing inputs blocking final contract

  • LNM 21-* view specification (grouping, sorting, pagination) to align with Console UI cards.
  • Final status chip taxonomy and precedence rules from Policy/Concelier overlays.
  • SSE channel naming + retry/heartbeat semantics shared with Scheduler/Policy streams.

Expectations for the final artefact

  • OpenAPI snippet covering endpoints:
    • GET /console/vex with filters: component_purl, advisory_id, tenant_id, status, justification, page, page_size, sort (stable ordering by (tenant_id, component_purl, advisory_id, status, updated_at)).
    • GET /console/vex/{advisory_id} returning grouped statements, precedence trace pointer, provenance links (DSSE hash + linkset id), and tenant scoping.
  • Response envelope: standard console error schema once WEB-OAS-61-002 is frozen; until then use draft shape with error, message, trace_id.
  • Determinism: results ordered by (tenant_id, advisory_id, component_purl, version_range); pagination stable under new data.
  • Counters: return aggregate status counters {status -> count} in the response to power delta chips without extra queries.
  • Caching: allow short-lived (≤30s) in-memory cache keyed by tenant+filters for Console views; include hasMore+cursor to keep pagination stable.

Placeholder samples to be replaced

  • Add samples under docs/events/samples/console.vex@draft.json once view spec is provided.

Handoff

Use this document as the prep artefact for PREP-EXCITITOR-CONSOLE-23-001-AWAITING-CONCRE. Update once LNM view spec and SSE envelope land; then freeze the OpenAPI excerpt and move the sprint task to DONE. (Initial implementation now live with caching + counters; SSE still pending.)