Continues the SPRINT_20260422_004_Concelier_full_connector_control_plane
feature stream started in commit 5c1b59580 (Excititor provider management
endpoints + contracts + service + tests). Adds the CLI + Web surfaces on
top of that backend.
CLI (src/Cli/**):
- CommandHandlers + BackendOperationsClient extended with provider
management calls
- ExcititorProviderSummary model added to the CLI's service models
- NonCoreCliCommandModule wires the new commands; tests updated
- TASKS.md entries synced
Web console (src/Web/StellaOps.Web/**):
- New vex-provider-catalog.component + vex-provider-management.api client
- advisory-source-catalog + advisory-vex-route-helpers extended to route
users to the new VEX provider surface
- integration-hub.routes.ts registers the new route
- security-disposition-page.component.ts updated for the flow
Excititor/Concelier docs + contracts:
- docs/modules/excititor/operations/provider-control-plane.md — operator
guide for the new control plane
- docs/modules/excititor/README.md + docs/modules/concelier/{README,
connectors}.md — cross-links + refs
- ConfiguredAdvisorySourceService.cs — additional provider plumbing
- StellaOps.Excititor.WebService/TASKS.md synced
Sprint doc (docs/implplan/SPRINT_20260422_004_*.md) reflects the
in-flight progress.
This is external-stream work picked up during the 2026-04-22 session's
closeout — bundling it now so the working tree is clean and main stays
in sync with local feature-branch state.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
80 lines
5.5 KiB
Markdown
80 lines
5.5 KiB
Markdown
# StellaOps Excititor (Archived -- absorbed into Concelier domain, Sprint 203)
|
||
|
||
> **Note:** Excititor source code has been moved to `src/Concelier/StellaOps.Excititor.*` as part of the advisory domain consolidation (Sprint 203, 2026-03-04). This documentation is kept as a redirect. Full archive at `docs-archived/modules/excititor/`. The ADR is recorded in `docs/modules/concelier/architecture.md`.
|
||
|
||
Excititor converts heterogeneous VEX feeds into raw observations and linksets that honour the Aggregation-Only Contract.
|
||
|
||
## Latest updates (2025-12-05)
|
||
- Chunk API documentation remains blocked until CI is green and a pinned OpenAPI spec + deterministic samples are available.
|
||
- Sprint tracker `docs/implplan/SPRINT_0333_0001_0001_docs_modules_excititor.md` and module `TASKS.md` mirror status.
|
||
- Observability/runbook assets remain in `operations/observability.md` and `observability/` (timeline, locker manifests); dashboards stay offline-import friendly.
|
||
- Prior updates (2025-11-05): Link-Not-Merge readiness and consensus beta note (`../../implplan/archived/updates/2025-11-05-excitor-consensus-beta.md`), observability guide additions, DSSE packaging guidance, and Policy/CLI follow-ups tracked in SPRINT_200.
|
||
- Link-Not-Merge readiness: release note [Excitor consensus beta](../../implplan/archived/updates/2025-11-05-excitor-consensus-beta.md) captures how Excititor feeds power the Excititor consensus beta (sample payload in [consensus JSON](../../vex/consensus-json.md)).
|
||
- Added [observability guide](operations/observability.md) describing the evidence metrics emitted by `EXCITITOR-AIAI-31-003` (request counters, statement histogram, signature status, guard violations) so Ops/Lens can alert on misuse.
|
||
- README now points policy/UI teams to the upcoming consensus integration work.
|
||
- DSSE packaging for consensus bundles and Export Center hooks are documented in the [beta release note](../../implplan/archived/updates/2025-11-05-excitor-consensus-beta.md); operators mirroring Excititor exports must verify detached JWS artefacts (`bundle.json.jws`) alongside each bundle.
|
||
- Follow-ups called out in the release note (Policy weighting knobs `POLICY-ENGINE-30-101`, CLI verb `CLI-VEX-30-002`) remain in-flight and are tracked in `/docs/implplan/SPRINT_200_documentation_process.md`.
|
||
|
||
## Release references
|
||
- Consensus beta payload reference: [docs/vex/consensus-json.md](../../vex/consensus-json.md)
|
||
- Export Center offline packaging: [docs/modules/export-center/devportal-offline.md](../export-center/devportal-offline.md)
|
||
- Historical release log: [docs/implplan/archived/updates/](../../implplan/archived/updates/)
|
||
|
||
## Responsibilities
|
||
- Fetch OpenVEX/CSAF/CycloneDX statements via restart-only connectors.
|
||
- Store immutable VEX observations with full provenance.
|
||
- Publish linksets and events that drive policy suppression decisions.
|
||
- Provide deterministic exports for Offline Kit and downstream tooling.
|
||
|
||
## Key components
|
||
- `StellaOps.Excititor.WebService` scheduler/API host.
|
||
- Connector libraries under `StellaOps.Excititor.Connector.*`.
|
||
- Normalization helpers and exporters in `StellaOps.Excititor.*`.
|
||
|
||
## Integrations & dependencies
|
||
- Policy Engine for evidence queries.
|
||
- UI/CLI for conflict visibility and explanation.
|
||
- Notify for VEX-driven alerts.
|
||
|
||
## Operational notes
|
||
- PostgreSQL (schema `vex`) for observation storage and job metadata.
|
||
- Offline kit packaging aligned with Concelier merges.
|
||
- Connector-specific runbooks (see `docs/modules/concelier/operations/connectors`).
|
||
- Provider control plane inventory and readiness notes: [`operations/provider-control-plane.md`](./operations/provider-control-plane.md)
|
||
- Ubuntu CSAF provenance knobs: [`operations/ubuntu-csaf.md`](operations/ubuntu-csaf.md) captures TrustWeight/Tier, cosign, and fingerprint configuration for the sprint 120 enrichment.
|
||
|
||
## Backlog references
|
||
- DOCS-LNM-22-006 / DOCS-LNM-22-007 (shared with Concelier).
|
||
- CLI-EXC-25-001..002 follow-up for CLI parity.
|
||
|
||
## Epic alignment
|
||
- **Epic 1 – AOC enforcement:** maintain immutable VEX observations, provenance, and AOC verifier coverage.
|
||
- **Epic 7 – VEX Consensus Lens:** supply trustworthy raw inputs, trust metadata, and consensus hooks for the lens computations.
|
||
- **Epic 8 – Advisory AI:** expose citation-ready VEX payloads for the advisory assistant pipeline.
|
||
|
||
## Implementation Status
|
||
|
||
### Objectives
|
||
- Maintain deterministic behaviour and offline parity across releases
|
||
- Keep documentation, telemetry, and runbooks aligned with the latest sprint outcomes
|
||
|
||
### Key Milestones
|
||
- **Epic 1 – AOC enforcement:** enforce immutable VEX observation schema, provenance capture, and guardrails
|
||
- **Epic 7 – VEX Consensus Lens:** provide lens-ready metadata (issuer trust, temporal scoping) and consensus APIs
|
||
- **Epic 8 – Advisory AI:** guarantee citation-ready payloads and normalized context for AI summaries/explainers
|
||
|
||
### Recent Delivery Status
|
||
- Chunk API documentation remains blocked until CI is green and a pinned OpenAPI spec with deterministic samples are available
|
||
- Link-Not-Merge readiness and consensus beta completed with DSSE packaging guidance
|
||
- Observability guide additions and policy/CLI follow-ups tracked in sprint files
|
||
|
||
### Workstreams
|
||
- Backlog grooming: reconcile open stories with module roadmap
|
||
- Implementation: collaborate with service owners to land feature work
|
||
- Validation: extend tests/fixtures to preserve determinism and provenance requirements
|
||
|
||
### Coordination
|
||
- Review ./AGENTS.md before picking up new work
|
||
- Sync with cross-cutting teams noted in sprint files
|
||
- Update plan whenever scope, dependencies, or guardrails change
|