Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
Policy Lint & Smoke / policy-lint (push) Has been cancelled
Concelier Attestation Tests / attestation-tests (push) Has been cancelled
AOC Guard CI / aoc-guard (push) Has been cancelled
AOC Guard CI / aoc-verify (push) Has been cancelled
- Implemented MigrationCategoryTests to validate migration categorization for startup, release, seed, and data migrations. - Added tests for edge cases, including null, empty, and whitespace migration names. - Created StartupMigrationHostTests to verify the behavior of the migration host with real PostgreSQL instances using Testcontainers. - Included tests for migration execution, schema creation, and handling of pending release migrations. - Added SQL migration files for testing: creating a test table, adding a column, a release migration, and seeding data.
3.6 KiB
3.6 KiB
Sprint 0121 · Excititor Ingestion & Evidence (Phase III)
Topic & Scope
- Deliver Link-Not-Merge foundations in Excititor: storage, conflict annotations, event emission, and read APIs.
- Expose observation/linkset endpoints with deterministic pagination and no derived verdicts; document contracts and SDK examples.
- Publish ingest observability (latency, conflict rate, signature verification) and SLO alerts for AOC evidence freshness.
- Working directory:
src/Excititor(Storage.Mongo, Core, WebService) and related docs.
Dependencies & Concurrency
- Depends on Sprint 110.C (Excititor II) groundwork.
- Concurrency: storage → conflict annotations → events → APIs → docs; observability can proceed in parallel after storage is stable.
Documentation Prerequisites
- docs/modules/excititor/architecture.md
- docs/modules/excititor/implementation_plan.md
- Component AGENTS.md under
src/Excititor/**
BLOCKED Tasks: Before working on BLOCKED tasks, review BLOCKED_DEPENDENCY_TREE.md for root blockers and dependencies.
Delivery Tracker
| # | Task ID | Status | Key dependency / next step | Owners | Task Definition |
|---|---|---|---|---|---|
| 1 | EXCITITOR-LNM-21-001 | DONE | None (prereq storage) | Excititor Storage Guild (src/Excititor/__Libraries/StellaOps.Excititor.Storage.Mongo) |
Stand up vex_observations and vex_linksets collections with shard keys, tenant guards, migrations that retire merge-era data without mutating raw content. |
| 2 | EXCITITOR-LNM-21-002 | DONE | Depends on 21-001 | Excititor Core Guild (src/Excititor/__Libraries/StellaOps.Excititor.Core) |
Capture disagreement metadata (status + justification deltas) inside linksets with confidence scores; Excititor stays aggregation-only. |
| 3 | EXCITITOR-LNM-21-003 | DONE | Depends on 21-002 | Excititor Core Guild · Platform Events Guild | Emit vex.linkset.updated events describing payload (observation ids, confidence, conflict summary) for Policy/Lens/UI subscription. |
| 4 | EXCITITOR-LNM-21-201 | DONE | Depends on 21-003 | Excititor WebService Guild (src/Excititor/StellaOps.Excititor.WebService) |
/vex/observations read endpoints with advisory/product/issuer filters, strict RBAC, deterministic pagination, no derived verdict fields. |
| 5 | EXCITITOR-LNM-21-202 | DONE | Depends on 21-201 | Excititor WebService Guild | /vex/linksets + export endpoints surfacing alias mappings, conflict markers, provenance proofs; errors map to ERR_AGG_*. |
| 6 | EXCITITOR-LNM-21-203 | DONE | Depends on 21-202 | Excititor WebService Guild · Docs Guild | Update OpenAPI, SDK smoke tests, and docs with realistic examples for observation/linkset endpoints. |
| 7 | EXCITITOR-OBS-51-001 | DONE | Parallel after storage ready | Excititor Core Guild · DevOps Guild | Publish ingest latency, scope-resolution success, conflict rate, signature verification metrics + SLO burn alerts. |
Execution Log
| Date (UTC) | Update | Owner |
|---|---|---|
| 2025-12-03 | Normalised sprint to standard template; preserved task statuses; working directory set. | Planning |
Decisions & Risks
- Excititor remains aggregation-only; conflict data recorded but no verdict selection.
- Pagination deterministic: enforce stable ordering on observation/linkset reads to avoid replay drift.
- Event payloads must not leak tenant data across scopes; ensure RBAC on
/vex/*endpoints and event topics.
Next Checkpoints
- Confirm metrics dashboards remain in sync with OBS-51 signal names after later phases.
- Re-run SDK/example coverage when downstream services add new advisory/product fields.