docs(05): auto-generated context (cable test phase)
This commit is contained in:
parent
ac190abafe
commit
468f8930d1
1 changed files with 82 additions and 0 deletions
82
.planning/phases/05-cable-test-integration/05-CONTEXT.md
Normal file
82
.planning/phases/05-cable-test-integration/05-CONTEXT.md
Normal file
|
|
@ -0,0 +1,82 @@
|
||||||
|
# Phase 5: Cable Test Integration - Context
|
||||||
|
|
||||||
|
**Gathered:** 2026-04-10
|
||||||
|
**Status:** Ready for planning
|
||||||
|
**Mode:** Auto-generated (autonomous mode)
|
||||||
|
|
||||||
|
<domain>
|
||||||
|
## Phase Boundary
|
||||||
|
|
||||||
|
Any cable can be tested, its results written to NetBox, and a label printed in a rapid test-verify-print workflow without leaving the Cable Test Station view. This phase delivers Treedix USB/DP/HDMI tester drivers, FNIRSI FNB58 power meter integration, cable test workflow UI, and auto-NetBox-record creation from test data.
|
||||||
|
|
||||||
|
</domain>
|
||||||
|
|
||||||
|
<decisions>
|
||||||
|
## Implementation Decisions
|
||||||
|
|
||||||
|
### Hardware Status
|
||||||
|
- Treedix USB/DP/HDMI testers + FNIRSI FNB58 arrive 2026-04-13
|
||||||
|
- Build code-complete with mock testers
|
||||||
|
- Real protocol reverse-engineering deferred to operator
|
||||||
|
- FNIRSI FNB58 has working community library: github.com/baryluk/fnirsi-usb-power-data-logger
|
||||||
|
|
||||||
|
### Tester Driver Architecture
|
||||||
|
- TesterDriver interface: Connect(), Read() (TestResult), Disconnect()
|
||||||
|
- Per-tester implementations: TreedixUSBDriver, TreedixDPDriver, TreedixHDMIDriver, FNB58Driver
|
||||||
|
- Auto-detect by VID/PID using existing USB Manager
|
||||||
|
- TestResult struct holds all common fields (continuity, version, speed, etc.)
|
||||||
|
|
||||||
|
### Cable Test Station UI
|
||||||
|
- New /test route with three panels: tester readout, label preview, recent tests
|
||||||
|
- Live SSE updates from tester
|
||||||
|
- "Print & Next" button: creates NetBox cable record + prints label + clears for next
|
||||||
|
- Mobile-friendly for bench use
|
||||||
|
|
||||||
|
### NetBox Integration
|
||||||
|
- Cable record created via netbox client (CreateCable method needed if absent)
|
||||||
|
- test_data custom field stores structured JSON
|
||||||
|
- catalog_status auto-set to "complete" after test
|
||||||
|
|
||||||
|
### Backend Endpoints
|
||||||
|
- POST /api/test/cable — receives test result, creates cable record in NetBox
|
||||||
|
- GET /api/test/events — SSE for live tester data
|
||||||
|
- GET /api/test/recent — last N test results
|
||||||
|
|
||||||
|
</decisions>
|
||||||
|
|
||||||
|
<code_context>
|
||||||
|
## Existing Code Insights
|
||||||
|
|
||||||
|
### Reusable Assets
|
||||||
|
- internal/usb/manager.go — for tester USB device management
|
||||||
|
- internal/printer/ — auto-print labels
|
||||||
|
- internal/labels/cable.go — cable label renderer (Phase 4)
|
||||||
|
- internal/netbox/client.go — needs CreateCable method
|
||||||
|
- internal/netbox/types.go — Device type (cables are netbox cables, slightly different)
|
||||||
|
|
||||||
|
### Integration Points
|
||||||
|
- Add internal/tester/ package
|
||||||
|
- Add internal/api/handlers/test.go
|
||||||
|
- Add web/src/pages/CableTestPage.tsx
|
||||||
|
- Wire route /test in router.tsx
|
||||||
|
|
||||||
|
</code_context>
|
||||||
|
|
||||||
|
<specifics>
|
||||||
|
## Specific Ideas
|
||||||
|
|
||||||
|
- TreedixUSBDriver mock returns deterministic test data for unit tests
|
||||||
|
- FNB58Driver uses raw HID protocol (per baryluk reference)
|
||||||
|
- Test result includes: cable_type, version, speed_gbps, max_power_w, pin_continuity, eMarker, resistance_ohm
|
||||||
|
- Auto-print uses cable label template from Phase 4
|
||||||
|
|
||||||
|
</specifics>
|
||||||
|
|
||||||
|
<deferred>
|
||||||
|
## Deferred Ideas
|
||||||
|
|
||||||
|
- Real Treedix protocol implementation (hardware required)
|
||||||
|
- Real FNIRSI FNB58 protocol (community lib reference, hardware required)
|
||||||
|
- Network discovery / DUT identification
|
||||||
|
|
||||||
|
</deferred>
|
||||||
Loading…
Add table
Reference in a new issue