1.8 KiB
1.8 KiB
v2.2 implementation plan: what the hyperborea deploy exposed
For the implementing model: do not work from this file. The owner gives you one task file at a time. This file is the index for the owner and the reviewer.
Goal: two small gaps found on 2026-09-25 when crossbar went live on hyperborea.
- 01-route-templates —
PLAN.md's one-route-per-OpenCode-instance launcher produces route names the config has never seen, and unknown routes are 404. A route namedopencode-*now serves everyopencode-<something>; leases and accounting stay per concrete route. Given:config/config_v22_test.go,proxy/template_test.go,admin/admin_template_test.go. - 02-broadcasts — titan roams between two Wi-Fi networks and hyperborea is on both segments,
so a wake target needs more than one broadcast address. Given:
wake/broadcasts_test.go(+TestWakeBroadcastsin the config test above).
Order matters: the config given test covers both tasks, so internal/config is red on one
method between task 01's commit and task 02's. Task 01's text says so; the gate runs after 02.
How this plan was made: acceptance tests first, no reference implementation; the given tests compiled against a panic-only skeleton of the new names and failed on the v2.1 tree for the intended reasons.
Global constraints
- Everything in
AGENTS.md. Branchv2.2frommaster. One task, one fresh OpenCode session, one commit. Given files are copied and never edited; earlier plans' given files stay protected.
Changes during the run
- 2026-09-25, task 01, first session: ten minutes circling the line budget —
config.gowas already at 401 lines and the task named no new file for the package. Owner fault: the task now createsinternal/config/route.go(and allowsinternal/proxy/route.go). Session stopped and restarted on a clean tree.