# LNM Backfill Plan (DEVOPS-LNM-22-001) ## Goal Run staging backfill for advisory observations/linksets, validate counts/conflicts, and document rollout steps for production. ## Prereqs - Concelier API CCLN0102 available (advisory/linkset endpoints stable). - Staging Mongo snapshot taken (pre-backfill) and stored at `s3://staging-backups/concelier-pre-lnmbf.gz`. - NATS/Redis staging brokers reachable. ## Steps 1) Seed snapshot - Restore staging Mongo from pre-backfill snapshot. 2) Run backfill job - `dotnet run --project src/Concelier/StellaOps.Concelier.Backfill -- --mode=observations --batch-size=500 --max-conflicts=0` - `dotnet run --project src/Concelier/StellaOps.Concelier.Backfill -- --mode=linksets --batch-size=500 --max-conflicts=0` 3) Validate counts - Compare `advisory_observations_total` and `linksets_total` vs expected inventory; export to `.artifacts/lnm-counts.json`. - Check conflict log `.artifacts/lnm-conflicts.ndjson` (must be empty). 4) Events/NATS smoke - Ensure `concelier.lnm.backfill.completed` emitted; verify Redis/NATS queues drained. 5) Roll-forward checklist - Promote batch size to 2000 for prod, keep `--max-conflicts=0`. - Schedule maintenance window, ensure snapshot available for rollback. ## Outputs - `.artifacts/lnm-counts.json` - `.artifacts/lnm-conflicts.ndjson` (empty) - Log of job runtime + throughput. ## Acceptance - Zero conflicts; counts match expected; events emitted; rollback plan documented.