Sync ROADMAP statuses with landed work; mark 1.10/1.12/1.13 as paused
Tasks 1.1-1.9 marked done with their landing commit SHAs. Tasks 1.10 (observability), 1.12 (production hardening), and 1.13 (device authority) marked paused with explicit resume triggers — pilot deployment on real Teltonika hardware takes priority. Task 1.11 remains as next, in slimmed form for the pilot (no /readyz healthcheck since the metrics endpoint is part of paused 1.10).
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# Task 1.1 — Project scaffold
|
||||
|
||||
**Phase:** 1 — Inbound telemetry
|
||||
**Status:** ⬜ Not started
|
||||
**Status:** 🟩 Done — landed in commit `1e9219d`
|
||||
**Depends on:** None
|
||||
**Wiki refs:** `docs/wiki/sources/teltonika-ingestion-architecture.md` § Project location and layout
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Task 1.2 — Core shell & framing types
|
||||
|
||||
**Phase:** 1 — Inbound telemetry
|
||||
**Status:** ⬜ Not started
|
||||
**Status:** 🟩 Done — landed in commit `1e9219d`
|
||||
**Depends on:** 1.1
|
||||
**Wiki refs:** `docs/wiki/concepts/protocol-adapter.md`, `docs/wiki/concepts/codec-dispatch.md`, `docs/wiki/concepts/position-record.md`
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Task 1.3 — Configuration & logging
|
||||
|
||||
**Phase:** 1 — Inbound telemetry
|
||||
**Status:** ⬜ Not started
|
||||
**Status:** 🟩 Done — landed in commit `1e9219d`
|
||||
**Depends on:** 1.1
|
||||
**Wiki refs:** `docs/wiki/sources/gps-tracking-architecture.md` § Deployment topology, § Observability
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Task 1.4 — Teltonika framing layer
|
||||
|
||||
**Phase:** 1 — Inbound telemetry
|
||||
**Status:** ⬜ Not started
|
||||
**Status:** 🟩 Done — landed in commit `1e9219d`
|
||||
**Depends on:** 1.2
|
||||
**Wiki refs:** `docs/wiki/concepts/avl-data-format.md` (envelope, IMEI handshake), `docs/wiki/concepts/codec-dispatch.md`, `docs/wiki/sources/teltonika-data-sending-protocols.md`
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Task 1.5 — Codec 8 parser
|
||||
|
||||
**Phase:** 1 — Inbound telemetry
|
||||
**Status:** ⬜ Not started
|
||||
**Status:** 🟩 Done — landed in commit `381287b`
|
||||
**Depends on:** 1.4, 1.9 (fixture infra)
|
||||
**Wiki refs:** `docs/wiki/concepts/avl-data-format.md` § Codec 8, `docs/wiki/sources/teltonika-data-sending-protocols.md` § Codec 8
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Task 1.6 — Codec 8 Extended parser
|
||||
|
||||
**Phase:** 1 — Inbound telemetry
|
||||
**Status:** ⬜ Not started
|
||||
**Status:** 🟩 Done — landed in commit `381287b`
|
||||
**Depends on:** 1.4, 1.5 (shared GPS Element / timestamp helpers), 1.9
|
||||
**Wiki refs:** `docs/wiki/concepts/avl-data-format.md` § Codec 8 Extended, `docs/wiki/sources/teltonika-data-sending-protocols.md` § Codec 8 Extended
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Task 1.7 — Codec 16 parser
|
||||
|
||||
**Phase:** 1 — Inbound telemetry
|
||||
**Status:** ⬜ Not started
|
||||
**Status:** 🟩 Done — landed in commit `381287b`
|
||||
**Depends on:** 1.4, 1.5 (shared helpers), 1.9
|
||||
**Wiki refs:** `docs/wiki/concepts/avl-data-format.md` § Codec 16, `docs/wiki/sources/teltonika-data-sending-protocols.md` § Codec 16
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Task 1.8 — Redis Streams publisher & main wiring
|
||||
|
||||
**Phase:** 1 — Inbound telemetry
|
||||
**Status:** 🟩 Done
|
||||
**Status:** 🟩 Done — landed in commit `af06973`
|
||||
**Depends on:** 1.2, 1.3, 1.4, 1.5, 1.6, 1.7
|
||||
**Wiki refs:** `docs/wiki/entities/redis-streams.md`, `docs/wiki/concepts/position-record.md`
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Task 1.9 — Fixture suite & testing strategy
|
||||
|
||||
**Phase:** 1 — Inbound telemetry
|
||||
**Status:** ⬜ Not started
|
||||
**Status:** 🟩 Done — landed in commit `381287b`
|
||||
**Depends on:** 1.1
|
||||
**Wiki refs:** `docs/wiki/sources/teltonika-ingestion-architecture.md` § 5.6, `docs/wiki/sources/teltonika-data-sending-protocols.md`
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Task 1.10 — Observability (Prometheus metrics)
|
||||
|
||||
**Phase:** 1 — Inbound telemetry
|
||||
**Status:** ⬜ Not started
|
||||
**Status:** ⏸ Paused — deferred until after the real-device pilot test. See ROADMAP.md "Deferred" section for resume triggers. The placeholder `Metrics` interface in `src/core/types.ts` is what code currently uses; this task replaces it with `prom-client` and adds the `/metrics`, `/healthz`, `/readyz` HTTP endpoints.
|
||||
**Depends on:** 1.2, 1.3
|
||||
**Wiki refs:** `docs/wiki/sources/teltonika-ingestion-architecture.md` § 7. Observability, `docs/wiki/sources/gps-tracking-architecture.md` § 7.4
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Task 1.12 — Production hardening
|
||||
|
||||
**Phase:** 1 — Inbound telemetry
|
||||
**Status:** ⬜ Not started
|
||||
**Status:** ⏸ Paused — deferred until after the real-device pilot test. See ROADMAP.md "Deferred" section for resume triggers. `installGracefulShutdown` exists as a stub from task 1.8; this task fully implements signal handling, drain timeouts, unhandled-rejection handlers, and writes OPERATIONS.md. **Resume before any always-on deployment or rolling-restart workflow.**
|
||||
**Depends on:** 1.8, 1.10, 1.11
|
||||
**Wiki refs:** `docs/wiki/concepts/failure-domains.md`
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Task 1.13 — Device authority (Redis allow-list refresher)
|
||||
|
||||
**Phase:** 1 — Inbound telemetry
|
||||
**Status:** ⬜ Not started (deferrable — can ship after the rest of Phase 1)
|
||||
**Status:** ⏸ Paused — deferred until after the real-device pilot test, AND until Directus has a `devices` collection publishing the allow-list to Redis. See ROADMAP.md "Deferred" section. The `DeviceAuthority` seam exists with `AllowAllAuthority` (default, in `src/adapters/teltonika/device-authority.ts`); this task adds `RedisAllowListAuthority`.
|
||||
**Depends on:** 1.4 (DeviceAuthority seam), 1.10 (metrics)
|
||||
**Wiki refs:** `docs/wiki/concepts/plane-separation.md`, `docs/wiki/entities/directus.md`, `docs/wiki/entities/redis-streams.md`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user