AI-powered hardware inventory management for homelab environments
Find a file
Mikkel Georgsen 82eaf6bed7 feat(04-01): USB Manager goroutine-per-device, poll loop, reconnect, leak-safe teardown
- Manager with injectable enumerateFunc and serialOpener for test isolation
- goroutine-per-device model: deviceLoop owns one serial port per device
- context+done-channel teardown: inner read goroutine exits on ctx.Done()
- Read buffer capped at 4096 bytes (T-04-01 threat mitigation)
- Poll loop reconciles prev/current snapshots for connect/disconnect events
- ErrDeviceNotConnected returned by Send() when device absent
- All 5 manager tests pass with -race flag; goroutine count stable across 5 replug cycles
- mockPort test helper blocks Read until Close() unblocks it (realistic behavior)
2026-04-10 06:45:26 +00:00
.planning docs(04): create phase 4 plans — USB manager, label printing, SSE, intake integration 2026-04-10 06:41:26 +00:00
cmd/hwlab feat(03-02): wire GET /api/inventory and GET /api/inventory/{id} routes 2026-04-10 06:15:12 +00:00
internal feat(04-01): USB Manager goroutine-per-device, poll loop, reconnect, leak-safe teardown 2026-04-10 06:45:26 +00:00
scripts feat(01-03): add location hierarchy provisioning and provision CLI script 2026-04-10 05:22:02 +00:00
web fix(03): resolve TypeScript type mismatches from merged plans 2026-04-10 06:27:11 +00:00
.env.example chore: add environment config 2026-04-10 00:48:19 +00:00
.gitignore feat(03-01): bootstrap React+TS frontend with ClickHouse design system 2026-04-10 06:16:46 +00:00
ai_config.json feat(02-01): AI package foundation — types, interface, mock, prompts, config extension 2026-04-10 05:45:13 +00:00
assets.go feat(01-foundation-01): Go module init, chi server, go:embed SPA scaffold 2026-04-10 01:17:03 +00:00
CLAUDE.md docs: create roadmap (7 phases) 2026-04-10 00:04:27 +00:00
config.json feat(01-foundation-01): viper config loader and SPA fallback fix 2026-04-10 01:27:54 +00:00
go.mod feat(04-01): USB device types, KnownDevices registry, VID/PID enumeration 2026-04-10 06:43:43 +00:00
go.sum feat(04-01): USB device types, KnownDevices registry, VID/PID enumeration 2026-04-10 06:43:43 +00:00
Makefile feat(03-01): bootstrap React+TS frontend with ClickHouse design system 2026-04-10 06:16:46 +00:00