Tau.Acuvim
Go to file
Diseri Pearson 880525b306 Add Fleet ingest design doc (portal/docs/FLEET-DESIGN.md)
Locked design for Admin / cross-customer aggregation feature.
Implementation lands in phases 13-15.

Key decisions captured:
- Same portal binary, RunMode=Client|Admin config flag.
- Two DbContext classes (ClientDbContext + AdminDbContext) to keep
  schemas cleanly separated and migrations sane.
- Fleet ingest is opt-in (FleetIngest__Enabled=false works exactly
  as today, no data leaves customer stack).
- Push by ReceivedAt, not Time, so firmware offline-buffer replays
  are picked up automatically.
- Per-tick batch cap so a back-fill wave from one customer doesn't
  starve other customers' pushes.
- SHA-256 token hash (not bcrypt) for the high-throughput ingest
  endpoint; tokens shown once on Admin Customers page.
- Realtime continuous aggregates with wide start_offset so late
  back-fills materialize on the next refresh tick.
- No retention policy. TimescaleDB compression on chunks older than
  7 days handles long-term storage cost.
- Open seams (tariff sync, RLS, GDPR delete, dual-token rotation,
  sharding) documented with v2 extension paths.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-18 09:55:07 +02:00
console Initial commit: Tau Acuvim IoT monitoring system 2026-05-16 19:05:32 +02:00
docs Initial commit: Tau Acuvim IoT monitoring system 2026-05-16 19:05:32 +02:00
firmware Initial commit: Tau Acuvim IoT monitoring system 2026-05-16 19:05:32 +02:00
portal Add Fleet ingest design doc (portal/docs/FLEET-DESIGN.md) 2026-05-18 09:55:07 +02:00
.gitignore Initial commit: Tau Acuvim IoT monitoring system 2026-05-16 19:05:32 +02:00
CLAUDE.md Add CLAUDE.md project onboarding guide 2026-05-16 19:07:00 +02:00