chore: docs, plans archive, script updates, submodule refs

This commit is contained in:
datadunia
2026-05-31 08:20:46 +07:00
parent 25df78c519
commit 045099faff
10 changed files with 306 additions and 117 deletions
+34 -34
View File
@@ -130,8 +130,8 @@ Wave 2 (Backend + Frontend):
- `apps/server-core/migrations/` - existing migration pattern
**Acceptance Criteria**:
- [ ] `go build -tags dev ./...` passes
- [ ] Migration file created with correct SQL
- [x] `go build -tags dev ./...` passes
- [x] Migration file created with correct SQL
**Commit**: YES
- Message: `feat(db): add device_traffic table and views`
@@ -166,9 +166,9 @@ Wave 2 (Backend + Frontend):
- `apps/server-core/internal/traffic/recorder.go` - TrafficRecorder
**Acceptance Criteria**:
- [ ] `go build -tags dev ./...` passes
- [ ] POST /api/v1/traffic/report accepts traffic data
- [ ] Data stored to Redis
- [x] `go build -tags dev ./...` passes
- [x] POST /api/v1/traffic/report accepts traffic data
- [x] Data stored to Redis
**Commit**: YES
- Message: `feat(api): add HTTP traffic report endpoint`
@@ -204,9 +204,9 @@ Wave 2 (Backend + Frontend):
- `apps/server-core/internal/heartbeat/redis.go` - Redis pattern
**Acceptance Criteria**:
- [ ] `go build -tags dev ./...` passes
- [ ] Traffic recorded to Redis on Report()
- [ ] Batch sync inserts to DB
- [x] `go build -tags dev ./...` passes
- [x] Traffic recorded to Redis on Report()
- [x] Batch sync inserts to DB
**Commit**: YES
- Message: `feat(traffic): add Redis → PostgreSQL recorder`
@@ -245,9 +245,9 @@ Wave 2 (Backend + Frontend):
- SSE spec: https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events
**Acceptance Criteria**:
- [ ] `go build -tags dev ./...` passes
- [ ] `curl -N http://localhost:8080/api/v1/devices/stream` returns SSE stream
- [ ] SSE disconnects when tab inactive (frontend)
- [x] `go build -tags dev ./...` passes
- [x] `curl -N http://localhost:8080/api/v1/devices/stream` returns SSE stream
- [x] SSE disconnects when tab inactive (frontend)
**Commit**: YES
- Message: `feat(sse): add device status streaming endpoint`
@@ -285,9 +285,9 @@ Wave 2 (Backend + Frontend):
- SVG chart pattern
**Acceptance Criteria**:
- [ ] `npm run build` passes
- [ ] Chart only renders when toggle is ON
- [ ] Time range selector works
- [x] `npm run build` passes
- [x] Chart only renders when toggle is ON
- [x] Time range selector works
**Commit**: YES
- Message: `feat(ui): add lazy-loaded traffic chart component`
@@ -328,11 +328,11 @@ Wave 2 (Backend + Frontend):
- localStorage pattern
**Acceptance Criteria**:
- [ ] `npm run build` passes
- [ ] Per-device toggle works
- [ ] Global toggle works
- [ ] SSE disconnects when tab hidden
- [ ] Charts hidden when toggle OFF
- [x] `npm run build` passes
- [x] Per-device toggle works
- [x] Global toggle works
- [x] SSE disconnects when tab hidden
- [x] Charts hidden when toggle OFF
**Commit**: YES
- Message: `feat(ui): add toggle controls + tab-aware SSE`
@@ -369,10 +369,10 @@ Wave 2 (Backend + Frontend):
- `apps/dashboard-ui/src/router/index.ts` - routing
**Acceptance Criteria**:
- [ ] `npm run build` passes
- [ ] History page accessible at /traffic-history
- [ ] Date range filter works
- [ ] Data only fetched on user action
- [x] `npm run build` passes
- [x] History page accessible at /traffic-history
- [x] Date range filter works
- [x] Data only fetched on user action
**Commit**: YES
- Message: `feat(ui): add traffic history view`
@@ -382,10 +382,10 @@ Wave 2 (Backend + Frontend):
## Final Verification Wave
- [ ] F1. **Plan Compliance Audit** — `oracle`
- [ ] F2. **Code Quality Review** — `unspecified-high`
- [ ] F3. **Real Manual QA** — `unspecified-high`
- [ ] F4. **Scope Fidelity Check** — `deep`
- [x] F1. **Plan Compliance Audit** — `oracle`
- [x] F2. **Code Quality Review** — `unspecified-high`
- [x] F3. **Real Manual QA** — `unspecified-high`
- [x] F4. **Scope Fidelity Check** — `deep`
---
@@ -405,10 +405,10 @@ cd apps/dashboard-ui && npm run build # Expected: no errors
```
### Final Checklist
- [ ] HTTP traffic endpoint works (no protoc needed)
- [ ] SSE pushes real-time status to dashboard
- [ ] **SSE disconnects when tab inactive**
- [ ] **Charts lazy-loaded (only when toggle ON)**
- [ ] PostgreSQL stores traffic data
- [ ] Toggle controls work (per device + global)
- [ ] Performance: minimal resource usage
- [x] HTTP traffic endpoint works (no protoc needed)
- [x] SSE pushes real-time status to dashboard
- [x] **SSE disconnects when tab inactive**
- [x] **Charts lazy-loaded (only when toggle ON)**
- [x] PostgreSQL stores traffic data
- [x] Toggle controls work (per device + global)
- [x] Performance: minimal resource usage