docs: add milestone-based TODO plan for project tracking
This commit is contained in:
@@ -4,6 +4,10 @@
|
||||
|
||||
It treats infrastructure like a medical record: every asset and component has a complete, queryable history of location, firmware, incidents, and reliability over time.
|
||||
|
||||
## Project Tracking
|
||||
|
||||
Development milestones and execution checklist are in `TODO.md`.
|
||||
|
||||
## What Reanimator Solves
|
||||
|
||||
- Inventory and shipment tracking
|
||||
|
||||
140
TODO.md
Normal file
140
TODO.md
Normal file
@@ -0,0 +1,140 @@
|
||||
# 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
|
||||
|
||||
Reference in New Issue
Block a user