Files
git.stella-ops.org/src/StellaOps.Concelier.Storage.Mongo/TASKS.md
2025-10-18 20:46:16 +03:00

4.2 KiB
Raw Blame History

TASKS

Task Owner(s) Depends on Notes
MongoBootstrapper to create collections/indexes BE-Storage Storage.Mongo DONE MongoBootstrapper ensures collections & indexes incl. TTL on locks.ttlAt.
SourceState repository (get/set/backoff) BE-Conn-Base Storage.Mongo DONE implemented MongoSourceStateRepository.
Document/DTO stores with SHA/metadata BE-Conn-Base Storage.Mongo DONE DocumentStore and DtoStore provide upsert/status lookups.
AdvisoryStore (GetAllAsync etc.) BE-Export Models DONE AdvisoryStore handles upsert + recent/advisory fetches.
Job store (runs/active/recent) BE-Core Storage.Mongo DONE MongoJobStore covers create/start/complete queries.
Alias and reference secondary indexes BE-Storage Models DONE bootstrapper builds alias/reference indexes.
MergeEvent store BE-Merge Models DONE MergeEventStore appends/retrieves recent events.
ExportState store BE-Export Exporters DONE ExportStateStore upserts and retrieves exporter metadata.
Performance tests for large advisories QA Storage.Mongo DONE AdvisoryStorePerformanceTests exercises large payload upsert/find throughput budgets.
Migration playbook for schema/index changes BE-Storage Storage.Mongo DONE MongoMigrationRunner executes IMongoMigration steps recorded in schema_migrations; see MIGRATIONS.md.
Raw document retention/TTL strategy BE-Storage Storage.Mongo DONE retention options flow into RawDocumentRetentionService and TTL migrations for document/GridFS indexes.
Persist last failure reason in SourceState BE-Storage Storage.Mongo DONE MongoSourceStateRepository.MarkFailureAsync stores lastFailureReason with length guard + reset on success.
AdvisoryStore range primitives deserialization BE-Storage Models DONE BSON helpers handle RangePrimitives; regression test covers SemVer/NEVRA/EVR envelopes persisted through Mongo.
FEEDSTORAGE-DATA-03-001 Merge event provenance audit prep BE-Storage Merge DONE merge events now persist field-level decision reasons via MergeFieldDecision documents for analytics. Coordination: log any new precedence signals to storage@ so indexes/serializers stay aligned.
FEEDSTORAGE-DATA-02-001 Normalized range dual-write + backfill BE-Storage Core DONE (2025-10-12) AdvisoryStore honors EnableSemVerStyle, dual-writes normalized docs, and SemVer backfill migration registered for staged rollout.
FEEDSTORAGE-TESTS-02-004 Restore AdvisoryStore build after normalized versions refactor QA Storage.Mongo DONE storage tests updated to cover normalized version payloads and new provenance fields. Heads-up: QA to watch for fixture bumps touching normalized rule arrays when connectors roll out support.
FEEDSTORAGE-DATA-02-002 Provenance decision persistence BE-Storage Models FEEDMODELS-SCHEMA-01-002 DONE (2025-10-12) Normalized documents carry decision reasons/source/timestamps with regression coverage verifying SemVer notes + provenance fallbacks.
FEEDSTORAGE-DATA-02-003 Normalized versions index creation BE-Storage Normalization, Mongo bootstrapper DONE (2025-10-12) Bootstrapper seeds normalizedVersions.* indexes when SemVer style is enabled; docs/tests confirm index presence.
FEEDSTORAGE-DATA-04-001 Advisory payload parity (description/CWEs/canonical metric) BE-Storage Models, Core DONE (2025-10-15) Mongo payloads round-trip new advisory fields; serializer/tests updated, no migration required beyond optional backfill.
FEEDSTORAGE-MONGO-08-001 Causal-consistent session plumbing BE-Storage Concelier Core DI TODO Introduce scoped MongoDB session provider enabling causal consistency + majority read/write concerns in AddMongoStorage; flow optional IClientSessionHandle through job/advisory/source state/document stores; add integration test simulating primary election to prove read-your-write + monotonic reads.
FEEDSTORAGE-DATA-07-001 Advisory statement & conflict collections Team Normalization & Storage Backbone FEEDMERGE-ENGINE-07-001 TODO Create advisory_statements (immutable) and advisory_conflicts collections, define asOf/vulnerabilityKey indexes, and document migration/rollback steps for event-sourced merge.