# Reanimator Development Milestones Use this file as the single source of truth for progress tracking and AI task delegation. Status legend: `[ ] todo` `[-] in progress` `[x] done` `[!] blocked` ## Milestone 0 - Project Bootstrap **Goal:** initialize repository structure and baseline tooling. - [ ] Initialize Go module (`go mod init`) - [ ] Create folders: `cmd/reanimator-api`, `internal/{domain,repository,api,ingest,events,connectors,jobs}` - [ ] Add app entrypoint (`cmd/reanimator-api/main.go`) - [ ] Add config loading (env-based, minimal) - [ ] Add migration framework and first migration folder - [ ] Add Makefile targets (`build`, `test`, `migrate-up`, `migrate-down`) **Definition of done:** - `go build ./...` passes - project starts and exposes health endpoint **AI task prompt:** > Implement Milestone 0 from TODO.md. Keep changes minimal and production-oriented. Update TODO.md status as you complete tasks. --- ## Milestone 1 - Core Schema + Registry API **Goal:** implement core data model and CRUD for registry entities. - [ ] Migration: `customers`, `projects`, `locations` - [ ] Migration: `assets`, `components`, `lots`, `installations` - [ ] Add required indexes from README - [ ] Repositories for registry entities - [ ] API endpoints for create/list/get assets/components/projects - [ ] Basic request validation and error mapping **Definition of done:** - schema is applied end-to-end - registry APIs work with real MariaDB **AI task prompt:** > Implement Milestone 1 from TODO.md with SQL migrations and REST endpoints. Include tests for repository and handler layers. --- ## Milestone 2 - Log Ingestion Pipeline **Goal:** support idempotent upload and observation persistence. - [ ] Migration: `log_bundles`, `observations` - [ ] `POST /ingest/logbundle` with idempotency by bundle hash - [ ] Store raw metadata + parsed observations - [ ] Parser adapter interface (pluggable parsers) - [ ] Error handling for partial parse failures (without data loss) **Definition of done:** - same bundle upload is idempotent - observations are persisted and queryable **AI task prompt:** > Implement Milestone 2 from TODO.md. Focus on idempotency and clean ingest abstractions. Add integration test for duplicate bundle upload. --- ## Milestone 3 - Derived Events + Timeline **Goal:** generate lifecycle events from observations and expose timeline APIs. - [ ] Migration: `timeline_events` - [ ] Observation diffing service - [ ] Generate events: `LOG_COLLECTED`, `INSTALLED`, `REMOVED`, `MOVED`, `FIRMWARE_CHANGED` - [ ] APIs: `GET /assets/{id}/timeline`, `GET /components/{id}/timeline` - [ ] Ensure deterministic ordering and pagination **Definition of done:** - timeline is generated from observation deltas - API returns consistent chronological history **AI task prompt:** > Implement Milestone 3 from TODO.md. Add deterministic event generation and timeline pagination. Include tests for move/install/remove scenarios. --- ## Milestone 4 - Ticket Correlation + Failure Events **Goal:** connect service cases to assets/components and track failures explicitly. - [ ] Migration: `tickets`, `ticket_links`, `failure_events` - [ ] Connector endpoint: `POST /connectors/tickets/sync` - [ ] Link tickets to project/asset/component - [ ] Implement component ticket visibility through installation time windows - [ ] Create failure event ingestion path (`log`/`ticket`/`manual`) **Definition of done:** - tickets are synced and linked - failure events can be created and queried **AI task prompt:** > Implement Milestone 4 from TODO.md with time-window ticket correlation and explicit failure events. Add tests for inherited component visibility. --- ## Milestone 5 - Reliability Analytics (MVP) **Goal:** provide first operational analytics for decision making. - [ ] Aggregations by LOT, firmware, and component type - [ ] AFR/MTBF calculation jobs (initial version) - [ ] API endpoint(s) for reliability summary - [ ] Background job scheduling for periodic recomputation **Definition of done:** - analytics endpoint returns stable metrics - recalculation jobs run successfully on schedule **AI task prompt:** > Implement Milestone 5 from TODO.md. Prioritize correctness and reproducibility of AFR/MTBF metrics. Add test fixtures for edge cases. --- ## Cross-Cutting Tasks - [ ] Observability: structured logs + request IDs - [ ] AuthN/AuthZ baseline for non-public endpoints - [ ] OpenAPI spec and API examples - [ ] CI pipeline: build, test, migration check - [ ] Release notes/changelog discipline --- ## Progress Snapshot Update this section each time work is merged. - Last update: 2026-02-04 - Current milestone: Milestone 0 - Overall progress: 0/6 milestones completed - Active blockers: none