Files
core/TODO.md

4.6 KiB

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 1
  • Overall progress: 1/6 milestones completed
  • Active blockers: none