5.2 KiB
Reanimator Development Milestones
This file is the single source of truth for delivery progress and AI task delegation.
Status legend: [ ] todo [-] in progress [x] done [!] blocked
MVP-1 Scope (Agreed)
In Scope
- Registry:
customer/project/asset/component/internal_pn (LOT) - Ingest
logbundle-> parsefirst_seen+ installation relationships - Timeline events:
LOG_COLLECTED,INSTALLED,REMOVED,FIRMWARE_CHANGED - UI: dashboard + server card + current components + movement list + ingest console
- Basic tickets import + link to server (
asset)
Out of Scope (After MVP-1)
- AFR/MTBF production analytics
- Spare-parts forecasting (Spare)
- Advanced ticket/component time-window inheritance
- Predictive models and anomaly detection
Milestone 0 - Bootstrap Foundation
Goal: ready-to-build Go service skeleton and migration scaffolding.
- Initialize Go module (
go mod init) - Create base folders (
cmd,internal/*,migrations) - Add API entrypoint and
/healthendpoint - Add env-based config loader
- Add migration loader command (
cmd/reanimator-migrate) - Add Make targets (
build,test,run,migrate-up,migrate-down) - Verify
go build ./...passes
Current state: completed.
AI task prompt:
Milestone 0 is done. Do not change bootstrap unless required by later milestones.
Milestone 1 - Registry (MVP-1)
Goal: implement registry domain and CRUD API.
- SQL migrations:
customers,projects,locations - SQL migrations:
assets,components,lots,installations - Add indexes from README
- Repositories for registry entities
- API endpoints for create/list/get (
customers,projects,assets,components) - Basic validation and error mapping
Definition of done:
- migrations apply cleanly on MariaDB
- registry API works end-to-end
AI task prompt:
Implement Milestone 1 from TODO.md. Focus on clean schema and working CRUD endpoints for registry entities. Update checkbox statuses in TODO.md.
Milestone 2 - Ingest First Seen + Installations (MVP-1)
Goal: idempotent logbundle ingestion with first useful derived data.
- SQL migrations:
log_bundles,observations POST /ingest/logbundleidempotent by content hash- Persist raw bundle metadata + parsed observations
- Detect and persist
first_seenfor components - Detect and persist installation relationships from observations
Definition of done:
- duplicate bundle upload does not duplicate state
- first_seen and installation data are queryable
AI task prompt:
Implement Milestone 2 from TODO.md with strict idempotency and first_seen/installation extraction. Add integration test for duplicate uploads.
Milestone 3 - Timeline v1 (MVP-1)
Goal: produce event history visible in API and ready for UI.
- SQL migration:
timeline_events - Event derivation from observations/installation deltas
- Emit:
LOG_COLLECTED,INSTALLED,REMOVED,FIRMWARE_CHANGED - API:
GET /assets/{id}/timeline - API:
GET /components/{id}/timeline - Deterministic sorting + pagination
Definition of done:
- timeline endpoints return stable chronological event history
- install/remove/firmware changes appear correctly
AI task prompt:
Implement Milestone 3 from TODO.md. Build deterministic timeline generation and API pagination. Add tests for installed/removed/firmware-changed cases.
Milestone 4 - UI v1 + Ticket Import (MVP-1)
Goal: first visible product value for operations workflow.
- Minimal UI: server card
- Minimal UI: current components list
- Minimal UI: movement/event list from timeline
- Minimal UI: dashboard + assets/components lists
- Minimal UI: ticket/failure lists
- Minimal UI: ingest console
- Minimal UI: analytics view (lot/firmware/spare)
- SQL migrations:
tickets,ticket_links - Endpoint:
POST /connectors/tickets/sync - Link ticket to server (
asset)
Definition of done:
- operator opens server page and sees current hardware + movement history + linked tickets
AI task prompt:
Implement Milestone 4 from TODO.md with minimal but usable UI and basic ticket sync/linking to assets.
Milestone 5 - Post-MVP Analytics
Goal: after MVP-1, add reliability metrics and planning value.
- Explicit
failure_eventsmodel and ingestion path - AFR/MTBF calculations by LOT/component class
- Firmware risk analytics
- Spare forecasting baseline
Definition of done:
- metrics are reproducible and usable for operational planning
AI task prompt:
Implement Milestone 5 from TODO.md only after MVP-1 is complete. Prioritize metric correctness and reproducibility.
Cross-Cutting Tasks
- Structured logs + request IDs
- OpenAPI spec
- CI (build/test/migration check)
- Release note discipline
Progress Snapshot
Update this section after each merged PR.
- Last update: 2026-02-05
- Current milestone: Cross-Cutting Tasks
- MVP-1 progress: 5/5 milestones completed (Milestone 0 done, Milestone 1 done, Milestone 2 done, Milestone 3 done, Milestone 4 done)
- Active blockers: none