docs: add milestone-based TODO plan for project tracking

This commit is contained in:
2026-02-04 21:53:06 +03:00
parent 33294ec98d
commit 166bc9623b
2 changed files with 144 additions and 0 deletions

View File

@@ -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
View 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