# Attestor TTL Validation Runbook > **Purpose:** confirm MongoDB TTL indexes and Redis expirations for the attestation dedupe store behave as expected on a production-like stack. ## Prerequisites - Docker Desktop or compatible daemon with the Compose plugin enabled. - Local ports `27017` and `6379` free. - `dotnet` SDK 10.0 preview (same as repo toolchain). - Network access to pull `mongo:7` and `redis:7` images. ## Quickstart 1. From the repo root export any required proxy settings, then run ```bash scripts/run-attestor-ttl-validation.sh ``` The helper script: - Spins up `mongo:7` and `redis:7` containers. - Sets `ATTESTOR_LIVE_MONGO_URI` / `ATTESTOR_LIVE_REDIS_URI`. - Executes the live TTL test suite (`Category=LiveTTL`) in `StellaOps.Attestor.Tests`. - Tears the stack down automatically. 2. Capture the test output (`ttl-validation-.log`) and attach it to the sprint evidence folder (`docs/modules/attestor/evidence/`). ## Result handling - **Success:** Tests complete in ~3–4 minutes with `Total tests: 2, Passed: 2`. Store the log and note the run in `SPRINT_100_identity_signing.md` under ATTESTOR-72-003. - **Failure:** Preserve: - `docker compose logs` for both services. - `mongosh` output of `db.dedupe.getIndexes()` and sample documents. - `redis-cli --raw ttl attestor:ttl:live:bundle:`. File an incident in the Attestor Guild channel and link the captured artifacts. ## Manual verification (optional) If the helper script cannot be used: 1. Start MongoDB and Redis manually with equivalent configuration. 2. Set `ATTESTOR_LIVE_MONGO_URI` and `ATTESTOR_LIVE_REDIS_URI`. 3. Run `dotnet test src/Attestor/StellaOps.Attestor.sln --no-build --filter "Category=LiveTTL"`. 4. Follow the evidence handling steps above. ## Ownership - Primary: Attestor Service Guild. - Partner: QA Guild (observes TTL metrics, confirms evidence archiving).