43 lines
1.8 KiB
Markdown
43 lines
1.8 KiB
Markdown
# Roadmap
|
|
|
|
## 0. Bootstrap (this milestone)
|
|
|
|
Establish package boundaries, architecture documentation, example calculation
|
|
configuration, basic domain/protocol models, tests, and an optional local
|
|
TimescaleDB Compose design.
|
|
|
|
## 1. ENLYZE API exploration client/CLI (recommended exact next milestone)
|
|
|
|
A read-only, GET-only raw inspection CLI and fixture sanitizer are implemented.
|
|
The remaining work is live, authorized exploration of machines, signal catalog,
|
|
bounded samples, state history, production-order history, and article/material
|
|
context. Record sanitized fixtures and update `docs/enlyze-api.md` with
|
|
evidence. Do not implement ingestion or a database schema before this is
|
|
complete.
|
|
|
|
## 2. Persistence foundation
|
|
|
|
Design and migrate a TimescaleDB schema for derived metrics/events, calculation
|
|
runs, context, and incremental state. Add Grafana-oriented query examples.
|
|
|
|
## 3. First vertical slice
|
|
|
|
Implement one configured integration calculation over a verified signal and
|
|
production-order context. Include backfill, rerun/provenance behavior, and
|
|
tests against sanitized fixtures.
|
|
|
|
## 4. Peak detection (first detector completed)
|
|
|
|
The generic configurable sawtooth detector is implemented: it retains the
|
|
current maximum, closes a cycle after a configurable below-peak fraction has
|
|
actual sample support for a configurable elapsed duration, and emits one
|
|
completed peak. Its pure state can later be persisted for incremental use. It
|
|
has been validated with a clean K7 roll-length reference signal and a more
|
|
variable Bento 2 roll-weight robustness signal; the latter includes plateaus,
|
|
non-zero resets, and varying peak heights without detector special cases.
|
|
|
|
## Later
|
|
|
|
State/cycle durations, aggregates by order, rolling statistics, threshold
|
|
events, derivatives, and specific-consumption calculations.
|