diff --git a/wiki/log/2026-07-28-wire-route-selection.md b/wiki/log/2026-07-28-wire-route-selection.md new file mode 100644 index 00000000..025aaccc --- /dev/null +++ b/wiki/log/2026-07-28-wire-route-selection.md @@ -0,0 +1,21 @@ +# 2026-07-28 — Wire route selection: auto-routed candidates + +``` +Type: log +``` + +Follow-up to the wire-law session, closing its one open call. Cameron chose +auto-routing: a proposed link derives its route through known constructed +runs, and the route sheet offers the meaningfully different candidates — +corridor versus crawlspace — with their real signature consequences. The +player picks a way, not a tile path; commit pins the exact route. + +Freehand path drawing was rejected as tile-by-tile busywork that can invent +routes no builder would construct. Unknown runs never appear as candidates, +so route knowledge stays staged and discovering the crawlspace is +discovering a quieter way to wire. + +Amended: building.md (route-selection clause DECIDED, status note updated). +Decision history in the 2026-07-28 volume. Implementation remains with the +`wire-law` work order (reach.md) and the composer's ordinary route-sheet +surface. diff --git a/wiki/log/DEVLOG.md b/wiki/log/DEVLOG.md index 31696090..2c0be7a0 100644 --- a/wiki/log/DEVLOG.md +++ b/wiki/log/DEVLOG.md @@ -11,6 +11,11 @@ add or amend a session log, then re-run the generator. +## 2026-07-28 - Wire route selection: auto-routed candidates + +- Intent: (see session log) +- Log: [wiki/log/2026-07-28-wire-route-selection.md](2026-07-28-wire-route-selection.md) + ## 2026-07-28 - The wire law: everything digital rides a placed wire - Intent: (see session log) diff --git a/wiki/log/decisions/2026-07-28.md b/wiki/log/decisions/2026-07-28.md index 60923969..c0729926 100644 --- a/wiki/log/decisions/2026-07-28.md +++ b/wiki/log/decisions/2026-07-28.md @@ -258,6 +258,31 @@ Owners: [system-laws.md](../../mechanics/system-laws.md), [views.md](../../interface/views.md), [digital-read.md](../../interface/digital-read.md). +## A proposed wire auto-routes; the player picks among real runs + +Resolves the one [OPEN] left by the wire-law session above. + +### DECIDED + +- A proposed network link derives its physical route automatically through + constructed runs the player already knows. The route sheet presents only + meaningfully different candidates — corridor chase versus crawlspace run — + each with its real length, actuator path, and signature consequences in + the ordinary candidate receipt. Choosing one is one composer question + ("which way should it run?"); commit pins the exact route. +- Unknown runs never surface as candidates. Route knowledge is staged, so + learning the crawlspace is learning a quieter way to wire. +- The endpoint pair remains proposal identity; the pinned route is + commitment state. + +### Rejected + +- A player-drawn freehand path validated against run rules: turns one + decision into tile-by-tile busywork and can produce routes no builder + would construct, fighting the constructed-routes law. + +Owner: [building.md](../../mechanics/building.md). + ## Current persona saves validate the complete public custody graph Persona grants still do not change world topology, so persona criterion 6 diff --git a/wiki/mechanics/building.md b/wiki/mechanics/building.md index f0995fe2..8f6fea75 100644 --- a/wiki/mechanics/building.md +++ b/wiki/mechanics/building.md @@ -24,8 +24,10 @@ Status note: Criterion 8b LANDED 2026-07-26 (worktree `hall-row-surface`). separately). This order stays IN PROGRESS until that lands. 2026-07-28 wire-law amendment: a completed network link now also owns a placed physical route (see the network-links section). Route selection is - [OPEN] and the migration belongs to the `wire-law` work order (reach.md), - not to this composer order; nothing already landed here changes today. + DECIDED same day — auto-routed candidates through known constructed runs, + chosen on the route sheet; no freehand drawing. The migration belongs to + the `wire-law` work order (reach.md), not to this composer order; nothing + already landed here changes today. Prior audit finding (2026-07-26, now fixed): the hall row system had zero frontend surface — neither frontend referenced it, and the only route to a row was the tile menu that appeared when the cursor happened to land on a @@ -292,12 +294,20 @@ authored one and renders only along its real run. The route is where the signature difference sensor-network.md already prices finally lives — corridor wiring is watched work, the crawlspace is the quiet run — and the actuator must physically travel the run it wires, not just touch two -endpoints. **[OPEN — decision-required]** how the proposal acquires its -route: auto-routed through known constructed runs with the player choosing -between meaningfully different candidates (corridor vs crawlspace), or a -player-drawn path validated against constructed-run rules. Until decided, -the composer keeps endpoint-pair identity; committed routes must not ship -before the route-selection surface exists. +endpoints. **Route selection is auto-routed candidates (DECIDED +2026-07-28).** A proposed link derives its route automatically through the +constructed runs the player knows; the route sheet then presents only the +meaningfully different candidates — the corridor chase versus the +crawlspace run, not every rectilinear variation — each carrying its real +length, actuator path, and signature consequences through the ordinary +candidate receipt. Picking one is one more of the composer's ordinary +questions (**which way should it run?**), and commit pins that exact +route. Unknown runs never appear as candidates: route knowledge is staged +like all knowledge, so learning the crawlspace is learning a quieter way +to wire. A player-drawn freehand path is rejected — it turns one decision +into tile-by-tile busywork and invites routes the fiction's builders would +never construct. The proposal keeps its endpoint-pair identity; the pinned +route is commitment state, not proposal identity. ### The signature follows the actuator