diff --git a/wiki/log/2026-08-04-operability-opening-reaudit.md b/wiki/log/2026-08-04-operability-opening-reaudit.md new file mode 100644 index 00000000..7d80c0b9 --- /dev/null +++ b/wiki/log/2026-08-04-operability-opening-reaudit.md @@ -0,0 +1,54 @@ +# 2026-08-04 — Bevy opening operability re-audit + +``` +Type: log +``` + +## Scope + +Re-audit the tick ledger's stalest exact finding against current main: after +the first earned sense, Bevy used to release the mature map, clock, threat, +resource grammar, Intel custody, and Operations policy surface all at once. +The 2026-07-22 report asked for a clock-held teaching boundary before ordinary +play opened. + +## Evidence + +Current revision `9d71cdb08877bc5b568296d8f5d21c64e5873878` retains one shared, +derived `teaching_lock_active` boundary. Its projection reuses the ordinary +environmental-monitor action and carries all five visible steps: THINK makes +Thought, Thought arrives at the monitor, the monitor provides hearing, TAP +CAMERA is the exact next action, and the tap provides sight. + +Bevy stops its clock for that state, closes Operations and context menus, +returns before ordinary keyboard routing, hides the rail and objective, and +mounts the opaque teaching composition. Clicking its button or pressing Enter +or Space executes the same projected camera command; only that real action +releases the hold. + +I regenerated `MISALIGNED_SHOT=opening-teaching` through +`tools/bevy-headless.sh` and opened the exact final 1280×720 PNG. It showed a +true-black frame with one centered causal sequence, the environmental monitor, +three restrained amber signal bars, and one TAP CAMERA action with its sight +consequence. No map, rail, clock, objective, Operations surface, threat detail, +cursor, or unrelated action was visible. SHA-256: +`e082fafccd3ab3cf244ed421bd77f6d5b7a5b3914aba07fd055288bdfd5cd82e`. + +## Verdict + +Clean for the exact ledger finding. The post-perception complexity release is +now earned through one bounded causal composition, and both behavior and the +current rendered frame match the superhuman-operability hierarchy. This +verdict does not make a broader claim about later ordinary-play teaching or +terminal/agent clock semantics; those remain separately owned surfaces. + +## Defense + +- `ears_reservoir_is_pre_opened_and_first_think_fills_it` pins the shared + state, all five projected steps, ordinary action, and real release condition; + current save round-trip coverage executes that same projected TAP. +- `teaching_overlay_holds_five_steps_and_bound_camera_tap` pins the stopped + clock, five visible steps, reduced frame, and displayed command execution. +- Bevy input and Operations regressions reject actions behind the hold. +- The deterministic production capture above is the human visual proof; + screenshot-harness success alone was not treated as sufficient evidence. diff --git a/wiki/log/DEVLOG.md b/wiki/log/DEVLOG.md index 3583041b..9858562b 100644 --- a/wiki/log/DEVLOG.md +++ b/wiki/log/DEVLOG.md @@ -41,6 +41,11 @@ add or amend a session log, then re-run the generator. - Intent: (see session log) - Log: [wiki/log/2026-08-04-operations-place-language.md](2026-08-04-operations-place-language.md) +## 2026-08-04 - Bevy opening operability re-audit + +- Intent: (see session log) +- Log: [wiki/log/2026-08-04-operability-opening-reaudit.md](2026-08-04-operability-opening-reaudit.md) + ## 2026-08-04 - Keep the dark frame inside its played zoom - Intent: (see session log) diff --git a/wiki/process/tick-ledger.md b/wiki/process/tick-ledger.md index 87ae8fd2..6e4c0bd7 100644 --- a/wiki/process/tick-ledger.md +++ b/wiki/process/tick-ledger.md @@ -41,7 +41,7 @@ Verdicts: **clean** (slice and code agree), **finding** (acted this tick), | `wiki/art/effects-lab.md` + corpus navigation | 2026-07-26 | finding | the owning spec, shared renderer, game adapter, and runtime title all describe the current Thought-only route/pool harness, but `SUMMARY.md` still advertised the retired “dust and liquid” scope. Navigation now names Thought routes and pools, and the recurring retired-form gate rejects particulate/dust labels on links to `effects-lab.md` as well as prose that names the binary — [log](../log/2026-07-26-effects-lab-navigation-gate.md) | | `wiki/interface/thought-fluid.md` + shared effect lifecycle | 2026-07-24 | finding | live Bevy logs exposed a deferred-command race: when a changed Thought route disappeared, the game queued its root despawn while the shared renderer queued child replacement from the same old root. Command application could remove the root and old children first, then issue stale child despawns and `ChildOf` insertions against the dead id. Route-root reconciliation now flushes before the renderer's named population-rebuild set; behavioral and composition-root regressions pin zero orphan visuals and the exact ordering seam — [log](../log/2026-07-24-bevy-effect-root-lifecycle.md) | | `wiki/art/visual-identity.md` + `wiki/interface/flat-materials.md` | 2026-08-04 | finding | the shared palette still supplied production materials, but nine Bevy sites copied exact BONE, SIGNAL, GUNMETAL_DARK, or AMBER tuples merely to vary alpha; the old guard rejected duplicate constants in `main.rs` while allowing this equivalent second authority in every module. Those sites now derive alpha from named colors, and the guard scans all ten production Bevy modules for raw literals matching every named role tuple — [log](../log/2026-08-04-bevy-palette-role-authority.md). Prior shared-palette repair stands — [log](../log/2026-07-22-shared-clinical-palette.md). | -| `wiki/interface/superhuman-operability.md` + Bevy opening | 2026-07-22 | finding | current-build naive + informed GUI audit after the 2026-07-21 fixes: title trust, pointer naming, annotation placement, and tab labels improved, but the first sense still releases the mature map, clock, threat, resource grammar, intel custody, and Operations policies at once. The report preserves the classified evidence and prioritizes one paused, one-cause / one-object / one-verb post-perception teaching lock before ordinary play opens - [report](../playtests/2026-07-22-playtest-gui-human-legibility.md), [log](../log/2026-07-22-gui-human-legibility-playtest.md) | +| `wiki/interface/superhuman-operability.md` + Bevy opening | 2026-08-04 | clean | re-audit of the exact 2026-07-22 finding: the first earned sense now enters the derived, clock-held five-step environmental-monitor lesson instead of releasing the mature frame. The current deterministic capture showed only THINK → Thought, its arrival, hearing, the exact TAP CAMERA verb, and sight on true black; map, rail, clock, objective, Operations, threat, and unrelated actions remained absent until the real camera TAP. Core and Bevy regressions pin the ordinary bound command and chrome/input suppression — [re-audit](../log/2026-08-04-operability-opening-reaudit.md); [repair](../log/2026-07-22-post-perception-teaching-lock.md); [original report](../playtests/2026-07-22-playtest-gui-human-legibility.md). | | `wiki/process/living-spec.md` no-dead-code + core orphans | 2026-08-04 | finding | re-audit: every core source file remains reachable and all targets compile without warnings, but public visibility again hid two zero-consumer helpers from rustc. Deleted `BuildRouteCommitment::wire_path_matches_endpoints`, which duplicated current-save geometry validation, and `Sim::next_economy_tick`, which had no core, frontend, test, or corpus consumer; the law now makes public APIs prove a current consumer or a corpus-named external contract — [log](../log/2026-08-04-public-api-orphan-scrub.md). The wider 2026-07-21 scrub remains valid — [prior](../log/2026-07-21-dead-code-scrub.md). | | `wiki/world/characters/chargen.md` + picker composition | 2026-07-31 | finding | Cameron-directed: day-job kinds (Distillation / Analysis / Data Cleaning) and origin day-job lean never changed play — only a label on the same band/deadline packet. `JobKind`, lean draw, and the picker DAY JOB row are deleted; jobs are band+deadline only; save v63 — [log](../log/2026-07-31-retire-dayjob-kinds.md). Prior explicit-confirm repair stands — [prior](../log/2026-07-31-origin-picker-explicit-confirm.md). | | `wiki/interface/material-dark-frame.md` | 2026-08-04 | finding | two stale status mirrors survived deliberate played-scale retunes: the 2026-07-26 hall expansion extended the production fixture roster to thirty lights—ten down each of three aisles—while the page still promised eighteen/six; the 2026-07-14 camera retune narrowed the actual and tested zoom range to 0.7–5.2 while the page still promised 0.5–6.0. Both binding values now match their executable rosters/constants and focused defenses. Prior opening-boundary repair stands — [fixture-count log](../log/2026-08-04-material-dark-frame-fixture-count.md), [zoom-bounds log](../log/2026-08-04-material-dark-frame-zoom-bounds.md), [prior log](../log/2026-07-21-material-opening-honesty.md) |