diff --git a/wiki/log/2026-08-04-views-current-state-reaudit.md b/wiki/log/2026-08-04-views-current-state-reaudit.md new file mode 100644 index 00000000..1ef315cf --- /dev/null +++ b/wiki/log/2026-08-04-views-current-state-reaudit.md @@ -0,0 +1,45 @@ +# DIGITAL and REAL still share one world + +``` +Type: log +Date: 2026-08-04 +Subject: Two-representation current-state re-audit +``` + +A fresh re-audit of [the views contract](../interface/views.md) against both +production frontends, renderer-neutral projection, current save custody, and +the active representation mirrors found no new drift after the wire-law and +global-input repairs. + +- Both frontends still default to DIGITAL. Terminal's `ViewMode::default()` + and Bevy's `RenderMode::default()` keep the dialect entirely in frontend + state; the simulation and current save have no representation field. +- Repeated flips still preserve the serialized simulation, cursor coordinate, + and machine selection. Terminal also pins its exact open menu state; Bevy's + global F3 handler changes only render mode plus the frontend log receipt and + runs before held choices, context menus, or Operations can claim input. +- Both dialects still consume one map and one set of physical anchors. The + terminal and Bevy cross-dialect pairs hold the complete persisted state, + cursor, selection, clock, log, and closed modal state equal while only the + renderer-local dialect changes. +- The current wire-law implementation remains the shared route authority: + terminal and Bevy consume persisted rectilinear routes rather than inferring + independent endpoint geometry. +- Fog and sensing boundaries remain representation-neutral. Unknown space + earns no geometry, people remain camera-gated, and audio remains a transient + instrument-bound event rather than promoted floor or source geography. +- The current README, glossary, material-render, Bevy, and process mirrors all + continue to name DIGITAL as home and F3-selected REAL as the material + physical dialect. + +Focused verification passed: + +- `cargo test -p misaligned-terminal view_flip_tests --quiet` (6 passed); +- `cargo test -p misaligned-bevy --bin misaligned-bevy view_flip_tests --quiet` + (4 passed); +- `cargo test -p misaligned-bevy --bin misaligned-bevy + input_routing_tests::global_view_flip_precedes_every_post_opening_modal_input_branch + --quiet` (1 passed). + +Verdict: **clean**. The 2026-07-26 precedence finding remains closed, and all +nine implemented acceptance criteria still describe reachable current play. diff --git a/wiki/log/DEVLOG.md b/wiki/log/DEVLOG.md index a65422dd..284a9bce 100644 --- a/wiki/log/DEVLOG.md +++ b/wiki/log/DEVLOG.md @@ -26,6 +26,11 @@ add or amend a session log, then re-run the generator. - Intent: (see session log) - Log: [wiki/log/2026-08-04-villain-shape-open-marker.md](2026-08-04-villain-shape-open-marker.md) +## 2026-08-04 - DIGITAL and REAL still share one world + +- Intent: (see session log) +- Log: [wiki/log/2026-08-04-views-current-state-reaudit.md](2026-08-04-views-current-state-reaudit.md) + ## 2026-08-04 - Thought fluid still has one truth and one lifecycle - Intent: (see session log) diff --git a/wiki/process/tick-ledger.md b/wiki/process/tick-ledger.md index 0ec4d4f1..19599ec7 100644 --- a/wiki/process/tick-ledger.md +++ b/wiki/process/tick-ledger.md @@ -74,7 +74,7 @@ Verdicts: **clean** (slice and code agree), **finding** (acted this tick), | `wiki/process/ROADMAP.md` (work order 27) | 2026-07-29 | finding | re-audit: entry 27's IMPLEMENTED status, DIGITAL-home / F3-to-REAL staging, and paid material debts still match the owning specs and runtime, including the later Seen-only pool defense. Its detailed heading still advertised the retired monolithic `src/bin/bevy.rs` edit surface, however; it now names the live modular `crates/misaligned-bevy` and `misaligned-assets` packages — [log](../log/2026-07-29-roadmap-material-path.md). Prior default-dialect reconciliation: [log](../log/2026-07-13-roadmap-digital-home-reconciliation.md) | | `wiki/interface/context-menu.md` | 2026-07-29 | finding | shared legality, executable-only human rows, local-vs-strategic ownership, global F3 precedence, and exact person-entry paths still verify. The root nevertheless repeated `PROPOSE LINK TO …` once per legal target, turning one intention into topology-sized noise. The shared human menu now folds that fanout into one `PROPOSE A LINK` row and a live exact `WHERE SHOULD THIS CONNECT?` page; terminal and Bevy re-query the same page while agent mode keeps flat exact commands — [log](../log/2026-07-29-link-destination-fold.md). The prior F3 repair remains pinned — [log](../log/2026-07-26-bevy-global-f3-input-precedence.md). | | `wiki/mechanics/personas.md` | 2026-07-28 | finding | criterion 6 remains honestly incomplete: grants persist and revoke but still create no resource, permission, graph edge, or owner-system route. The adjacent current-save boundary trusted that public ledger without graph validation, allowing duplicate persona ids, stale id cursors, or dangling relationship/grant/expectation/action custody to reach first-match runtime lookups. Loading now validates the complete PersonaWorld id/reference/time graph, one-to-one grant/expectation pairing, serialized grant protocol, and active-grant uniqueness before exposing the state; this hardens existing custody without promoting criterion 6 or 6b — [save audit](../log/2026-07-28-persona-save-custody-audit.md). Prior [grant-topology](../log/2026-07-18-persona-grant-topology-audit.md) and [observer-integrity](../log/2026-07-18-persona-observer-integrity.md) findings stand. | -| `wiki/interface/views.md` + representation docs | 2026-07-26 | finding | criterion 1's frontend-only representation and state-parity contract still stands, but Bevy's context-menu precedence made F3 unavailable while that modal attention state was open even though terminal preserved it. F3 now routes once before every post-opening modal branch, keeps the exact menu/Operations/held-choice state, and changes no simulation or save bytes — [log](../log/2026-07-26-bevy-global-f3-input-precedence.md) | +| `wiki/interface/views.md` + representation docs | 2026-08-04 | clean | fresh current-state re-audit found all nine criteria still level with reachable play. Both frontends default to DIGITAL and keep representation out of sim/save state; repeated flips preserve serialized simulation, cursor, and selection; Bevy routes its one global F3 handler before every post-opening modal branch; both dialects retain shared physical anchors, persisted rectilinear wire routes, fog, and instrument-bound audio; and current doorway/spec mirrors still name F3-selected REAL honestly — [reaudit](../log/2026-08-04-views-current-state-reaudit.md). The prior input-precedence repair remains closed — [prior log](../log/2026-07-26-bevy-global-f3-input-precedence.md). | | `wiki/mechanics/day-job.md` | 2026-08-04 | finding | current-save validation accepted `pilot_failed` with an active job even though the live deadline path clears the packet before setting terminal pilot state. The loader now rejects that impossible active terminal combination, preventing frontends from projecting work after the pilot has ended — [log](../log/2026-08-04-day-job-terminal-save-invariant.md). Prior routed-evidence, band-ramp, cadence, origin-lean, last-chance, and trust-unlock findings remain valid — [prior](../log/2026-07-22-job-anomaly-routed-evidence.md). | | `wiki/mechanics/core.md` | 2026-07-29 | finding | the queued liveness follow-up is closed: host loss now filters synchronized targets to currently online machines before ranking freshness, so a dark staged target cannot become host or produce repeated failover receipts; no synchronized live target ends the run — [liveness log](../log/2026-07-29-live-b1-fallback-selection.md). The prior B1/B2 boundary remains exact: the free-cadence `last_sync` is only a check-in, current-state host failover restores no snapshot, and completed-image rollback remains deferred — [boundary log](../log/2026-07-29-b1-host-failover-boundary.md). There is still no Thought-backed project, partial progress, heat, saved project state, sidebar ETA/cost/target, source-liveness resolver, or capability-shaped eligibility — [project-status log](../log/2026-07-28-core-criteria-status-audit.md). | | `wiki/mechanics/cursor.md` | 2026-07-28 | finding | re-audit: cursor state remains frontend-only; sight, hearing, fog precedence, remembered snapshots, blueprint opacity, telemetry, provenance, identity gates, and cold signal pings still match the implemented contract. Criterion 2 explicitly required a before/after simulation-state-hash proof for arbitrary cursor movement, but the only existing hash tests began after cursor placement and proved F3 view immutability instead. Terminal and Bevy now sweep every map coordinate through their production cursor helpers, pin edge clamping, and require unchanged simulation save-state hashes — [log](../log/2026-07-28-cursor-immutability-defense.md) |