- Added `LedgerMetrics` class to record write latency and total events for ledger operations. - Created comprehensive tests for Ruby packages endpoints, covering scenarios for missing inventory, successful retrieval, and identifier handling. - Introduced `TestSurfaceSecretsScope` for managing environment variables during tests. - Developed `ProvenanceMongoExtensions` for attaching DSSE provenance and trust information to event documents. - Implemented `EventProvenanceWriter` and `EventWriter` classes for managing event provenance in MongoDB. - Established MongoDB indexes for efficient querying of events based on provenance and trust. - Added models and JSON parsing logic for DSSE provenance and trust information.
13 KiB
Sprint 119 - Ingestion & Evidence · 110.C) Excititor.I
Active items only. Completed/historic work now resides in docs/implplan/archived/tasks.md (updated 2025-11-08).
[Ingestion & Evidence] 110.C) Excititor.I Depends on: Sprint 100.A - Attestor Summary: Ingestion & Evidence focus on Excititor (phase I).
Prep: Read
docs/modules/excititor/architecture.mdand the relevant ExcititorAGENTS.mdfiles (per component directory) before working any tasks below; this preserves the guidance that previously lived in the component boards.
Task ID State Task description Owners (Source) EXCITITOR-AIAI-31-001 Justification enrichmentDONE (2025-11-12) Expose normalized VEX justifications, product scope trees, and paragraph/JSON-pointer anchors via VexObservationprojections so Advisory AI can cite raw evidence without invoking any consensus logic.Excititor WebService Guild (src/Excititor/StellaOps.Excititor.WebService) EXCITITOR-AIAI-31-002 VEX chunk APITODO Ship /vex/evidence/chunkswith tenant/policy filters that streams raw statements, signature metadata, and scope scores for Retrieval-Augmented Generation clients; response must stay aggregation-only and reference observation/linkset IDs. Depends on EXCITITOR-AIAI-31-001.Excititor WebService Guild (src/Excititor/StellaOps.Excititor.WebService) EXCITITOR-AIAI-31-003 Telemetry & guardrailsIN REVIEW (2025-11-13) Instrument the new evidence APIs with request counters, chunk sizes, signature verification failure meters, and AOC guard violations so Lens/Advisory AI teams can detect misuse quickly. Depends on EXCITITOR-AIAI-31-002. Excititor WebService Guild, Observability Guild (src/Excititor/StellaOps.Excititor.WebService) EXCITITOR-AIAI-31-004 Schema & docs alignmentTODO Update OpenAPI/SDK/docs to codify the Advisory-AI evidence contract (fields, determinism guarantees, pagination) and describe how consumers map observation IDs back to raw storage. Excititor WebService Guild, Docs Guild (src/Excititor/StellaOps.Excititor.WebService) EXCITITOR-AIRGAP-56-001 Mirror-first ingestionTODO Wire mirror bundle ingestion paths that preserve upstream digests, bundle IDs, and provenance metadata exactly so offline Advisory-AI/Lens deployments can replay evidence with AOC parity. Excititor Core Guild (src/Excititor/__Libraries/StellaOps.Excititor.Core) EXCITITOR-AIRGAP-57-001 Sealed-mode enforcementTODO Enforce sealed-mode policies that disable external connectors, emit actionable remediation errors, and record staleness annotations that Advisory AI can surface as “evidence freshness” signals. Depends on EXCITITOR-AIRGAP-56-001. Excititor Core Guild, AirGap Policy Guild (src/Excititor/__Libraries/StellaOps.Excititor.Core) EXCITITOR-AIRGAP-58-001 Portable evidence bundlesTODO Package tenant-scoped VEX evidence (raw JSON, normalization diff, provenance) into portable bundles tied to timeline events so Advisory AI can hydrate contexts in sealed environments. Depends on EXCITITOR-AIRGAP-57-001. Excititor Core Guild, Evidence Locker Guild (src/Excititor/__Libraries/StellaOps.Excititor.Core) EXCITITOR-ATTEST-01-003 Verification suite & observabilityTODO (2025-11-06) Finish IVexAttestationVerifier, wire structured diagnostics/metrics, and prove we can verify DSSE bundles for every evidence batch without touching consensus results (seeEXCITITOR-ATTEST-01-003-plan.md).Excititor Attestation Guild (src/Excititor/__Libraries/StellaOps.Excititor.Attestation) EXCITITOR-ATTEST-73-001 VEX attestation payloadsTODO Emit attestation payloads that capture supplier identity, justification summary, and scope metadata so downstream Lens/Policy jobs can chain trust without Excititor interpreting the evidence. Depends on EXCITITOR-ATTEST-01-003. Excititor Core Guild, Attestation Payloads Guild (src/Excititor/__Libraries/StellaOps.Excititor.Core) EXCITITOR-ATTEST-73-002 Chain provenanceTODO Provide APIs that link attestation IDs back to observation/linkset/product tuples, enabling Advisory AI to cite provenance without any derived verdict. Depends on EXCITITOR-ATTEST-73-001. Excititor Core Guild (src/Excititor/__Libraries/StellaOps.Excititor.Core) EXCITITOR-CONN-TRUST-01-001 Connector provenance parityTODO Update MSRC, Oracle, Ubuntu, and Stella mirror connectors to emit signer fingerprints, issuer tiers, and bundle references while remaining aggregation-only; document how Lens consumers should interpret these hints. Excititor Connectors Guild (src/Excititor/__Libraries/StellaOps.Excititor.Connectors.*)
Task clusters & readiness
Advisory-AI evidence APIs
- Delivered:
EXCITITOR-AIAI-31-001(/v1/vex/observations/{vulnerabilityId}/{productKey}projection API) landed 2025-11-12 with normalized justifications and anchors. - In flight:
EXCITITOR-AIAI-31-003(instrumentation + guardrails) andEXCITITOR-AIAI-31-004(OpenAPI/SDK/docs alignment). - Dependencies: Needs
EXCITITOR-AIAI-31-002(projection service plumbing) — confirmed completed via architecture doc; observability pipeline requires Ops dashboards. - Ready-to-start checklist: finalize request/response examples in OpenAPI, add replayable telemetry fixtures, and attach Advisory-AI contract summary to this sprint doc.
AirGap ingestion & portable bundles
- Scope:
EXCITITOR-AIRGAP-56/57/58(mirror-first ingestion, sealed-mode enforcement, portable evidence bundles). - Dependencies: relies on Attestor DSSE verification (Sprint 100.A) and AirGap policy toggles; Evidence Locker partnership needed for portable bundle format.
- Ready-to-start checklist:
- Secure mirror bundle schema from Export Center (Sprint 162) and attach sample manifests.
- Document sealed-mode error catalog + diagnostics surfaced to Advisory AI/Lens during offline enforcement.
- Define bundle manifest → timeline ID mapping for Advisory AI, referencing Export Center + TimelineIndexer contracts.
Attestation & provenance chain
- Tasks:
EXCITITOR-ATTEST-01-003,EXCITITOR-ATTEST-73-001,EXCITITOR-ATTEST-73-002. - Dependencies: Attestor service readiness (Sprint 100.A) plus DSSE payload contract; requires
IVexAttestationVerifierplan doc referenced in repo. - Ready-to-start checklist:
- Finish verifier test harness & deterministic diagnostics.
- Capture sample attestation payload spec (supplier identity, justification summary, scope metadata) and attach here.
- Describe provenance linkage for
/v1/vex/attestations/{id}+ observation/linkset/product tuples in docs.
Connector provenance parity
- Task:
EXCITITOR-CONN-TRUST-01-001(MSRC/Oracle/Ubuntu/Stella connectors). - Dependencies: Source feeds must already emit signer metadata; align with AOC aggregator guardrails; ensure docs outline how Lens consumes trust hints.
- Ready-to-start checklist:
- Inventory current connector coverage + signer metadata availability.
- Define signer fingerprint + issuer tier schema shared across connectors (document in module README).
- Update acceptance tests under
src/Excititor/__Libraries/StellaOps.Excititor.Connectors.*to assert provenance payload.
Dependencies & blockers
- Attestor DSSE verification (
EXCITITOR-ATTEST-01-003, Sprint 100.A) gatesEXCITITOR-ATTEST-73-001/002and portable bundles. - Export Center mirror bundle schema (Sprint 162) and EvidenceLocker portable bundle format (Sprint 160/161) must land before
EXCITITOR-AIRGAP-56/58can proceed; target sync 2025-11-15. - Observability stack (Ops/Signals wave) must expose span/metric sinks before
EXCITITOR-AIAI-31-003instrumentation merges; waiting on Ops telemetry MR. - Security review pending for connector provenance fingerprints to ensure no secrets leak in aggregation-only mode; Docs/Security review scheduled 2025-11-18.
Documentation references
docs/modules/excititor/architecture.md— authoritative data model, APIs, and guardrails for Excititor.docs/modules/excititor/README.md#latest-updates— consensus beta + Advisory-AI integration context.docs/modules/excititor/mirrors.md— AirGap/mirror ingestion checklist referenced byEXCITITOR-AIRGAP-56/57.docs/modules/excititor/operations/*— observability + sealed-mode runbooks feedingEXCITITOR-AIAI-31-003instrumentation requirements.docs/modules/excititor/implementation_plan.md— per-module workstream alignment table (mirrors Sprint 200 documentation process).
Action tracker
| Focus | Action | Owner(s) | Due | Status |
|---|---|---|---|---|
| Advisory-AI APIs | Publish finalized OpenAPI schema + SDK notes for projection API (EXCITITOR-AIAI-31-004). |
Excititor WebService Guild · Docs Guild | 2025-11-15 | In review (draft shared 2025-11-13) |
| Observability | Wire metrics/traces for /v1/vex/observations/** and document dashboards (EXCITITOR-AIAI-31-003). |
Excititor WebService Guild · Observability Guild | 2025-11-16 | Blocked (code + ops runbook ready; waiting on Ops span sink deploy) |
| AirGap | Capture mirror bundle schema + sealed-mode toggle requirements for EXCITITOR-AIRGAP-56/57. |
Excititor Core Guild · AirGap Policy Guild | 2025-11-17 | Pending |
| Portable bundles | Draft bundle manifest + EvidenceLocker linkage notes for EXCITITOR-AIRGAP-58-001. |
Excititor Core Guild · Evidence Locker Guild | 2025-11-18 | Pending |
| Attestation | Complete verifier suite + diagnostics for EXCITITOR-ATTEST-01-003. |
Excititor Attestation Guild | 2025-11-16 | In progress (verifier harness 80% complete) |
| Connectors | Inventory signer metadata + plan rollout for MSRC/Oracle/Ubuntu/Stella connectors (EXCITITOR-CONN-TRUST-01-001). |
Excititor Connectors Guild | 2025-11-19 | Pending (schema draft expected 2025-11-14) |
Upcoming checkpoints (UTC)
| Date | Session / Owner | Goal | Fallback |
|---|---|---|---|
| 2025-11-14 | Connector provenance schema review (Connectors + Security Guilds) | Approve signer fingerprint + issuer tier schema for EXCITITOR-CONN-TRUST-01-001. |
If schema not ready, keep task blocked and request interim metadata list from connectors. |
| 2025-11-15 | Export Center mirror schema sync (Export Center + Excititor + AirGap) | Receive mirror bundle manifest to unblock EXCITITOR-AIRGAP-56/57 (schema still pending). |
If delayed, escalate to Sprint 162 leads and use placeholder spec with clearly marked TODO. |
| 2025-11-16 | Attestation verifier rehearsal (Excititor Attestation Guild) | Demo IVexAttestationVerifier harness + diagnostics to unblock EXCITITOR-ATTEST-73-*. |
If issues persist, log BLOCKED status in attestation plan and re-forecast completion. |
| 2025-11-18 | Observability span sink deploy (Ops/Signals Guild) | Enable telemetry pipeline needed for EXCITITOR-AIAI-31-003. |
If deploy slips, implement temporary counters/logs and keep action tracker flagged as blocked. |
Risks & mitigations
| Risk | Severity | Impact | Mitigation |
|---|---|---|---|
Observability sinks not ready for EXCITITOR-AIAI-31-003 |
Medium | Advisory-AI misuse would go undetected | Coordinate with Ops to reuse Signals dashboards; ship log-only fallback. |
| Mirror bundle schema slips (Export Center/AirGap) | High | Blocks sealed-mode + portable bundles | Use placeholder schema from docs/modules/export-center/architecture.md and note deltas; escalate to Export Center leads. |
| Attestation verifier misses 2025-11-16 target | High | Attestation payload tasks cannot start | Daily stand-ups with Attestation Guild; parallelize diagnostics while verifier finalizes. |
| Connector signer metadata incomplete | Medium | Trust parity story delayed | Stage connector-specific TODOs; allow partial rollout with feature flags. |
Status log
- 2025-11-12 — Snapshot refreshed; EXCITITOR-AIAI-31-001 marked DONE, remaining tasks pending on observability, AirGap bundle schemas, and attestation verifier completion.
- 2025-11-13 — Added readiness checklists per task cluster plus action tracker; awaiting outcomes from Export Center mirror schema delivery and Attestor verifier rehearsals before flipping AirGap/Attestation tasks to DOING.
- 2025-11-13 (EOD) — OpenAPI draft for
EXCITITOR-AIAI-31-004shared for review; Observability wiring blocked until Ops deploys span sink, noted above. - 2025-11-14 — Connector provenance schema review scheduled; awaiting schema draft delivery before meeting. Export Center mirror schema still pending, keeping
EXCITITOR-AIRGAP-56/57blocked. - 2025-11-14 —
EXCITITOR-AIAI-31-003instrumentation (request counters, chunk histogram, signature failure + guard-violation meters) merged into Excititor WebService; telemetry export remains blocked on Ops span sink rollout. - 2025-11-14 (PM) — Published
docs/modules/excititor/operations/observability.mddocumenting the new evidence metrics so Ops/Lens can hook dashboards while waiting for the span sink deployment.
2025-11-12: EXCITITOR-AIAI-31-001 delivered
/v1/vex/observations/{vulnerabilityId}/{productKey}backed by the newIVexObservationProjectionService, returning normalized statements (scope tree, anchors, document metadata) so Advisory AI and Console can cite raw VEX evidence without touching consensus logic.