diff --git a/wiki/engineering/crate-workspace.md b/wiki/engineering/crate-workspace.md index aab5cee0..9725fdde 100644 --- a/wiki/engineering/crate-workspace.md +++ b/wiki/engineering/crate-workspace.md @@ -97,12 +97,17 @@ misaligned-terminal ──► misaligned-core misaligned-bevy ──► misaligned-core ──► misaligned-assets (shared rack / mesh spawn) misaligned-assets ──► bevy only (no core, no sim progression) -misaligned-core ──► serde, serde_json, dirs +misaligned-core ──► serde, serde_json, dirs, toml, blake3 ✗ bevy, crossterm ``` - **Bevy → assets** exists so rack chassis meshes are not copy-pasted into the game binary. Assets remain free of `Sim` so the tester does not boot a run. +- **`toml` in core** parses the built-in plot catalog at `Sim` construction + (plots.md format decision, 2026-07-10): plot content is data compiled in at + build time, never runtime filesystem I/O. **`blake3` in core** hashes the + canonical save state for the replay/resume-equivalence fingerprint pin + (save.rs); neither adds I/O nor nondeterminism to game rules. - **`dirs` in core** is allowed only for **save-path infrastructure** on the save format (where the JSON file lives), not for wall-clock or network I/O as game rules. Sim progression still does not read the environment for diff --git a/wiki/log/2026-07-15-workspace-dep-edges.md b/wiki/log/2026-07-15-workspace-dep-edges.md new file mode 100644 index 00000000..ddc101e0 --- /dev/null +++ b/wiki/log/2026-07-15-workspace-dep-edges.md @@ -0,0 +1,22 @@ +# Tick: the workspace page catches up to its own edges + +``` +Type: log +``` + +Fresh-audit tick on wiki/engineering/crate-workspace.md. The package +shape, the four-package rationale, the sim/frontend contract table, the +gate tiers, and both assets binaries (misaligned-assets, plus the +auto-discovered src/bin/misaligned-effects.rs) all verify against the +tree. The finding: the binding dependency-edge diagram said core depends +on serde, serde_json, dirs — but the tree legitimately added toml (plot +catalog parsing at Sim construction, per plots.md's 2026-07-10 format +decision) and blake3 (the canonical save-state fingerprint pin in +save.rs). Both landed with Defenses; neither amended this page's edge +list. The page now names both with their no-I/O/no-nondeterminism +rationale. + +Defense: this page declares itself the standing package architecture and +its edge list binding; a binding list that omits two real dependencies +sends the next auditor hunting for contamination that is actually +sanctioned. The code is right; the page catches up. diff --git a/wiki/log/DEVLOG.md b/wiki/log/DEVLOG.md index f96004d5..70d26fe9 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-15 - Tick: the workspace page catches up to its own edges + +- Intent: (see session log) +- Log: [wiki/log/2026-07-15-workspace-dep-edges.md](2026-07-15-workspace-dep-edges.md) + ## 2026-07-15 - Tick: an actor never witnesses their own physical act - Intent: (see session log) diff --git a/wiki/process/tick-ledger.md b/wiki/process/tick-ledger.md index fcbbeade..d0ad2d55 100644 --- a/wiki/process/tick-ledger.md +++ b/wiki/process/tick-ledger.md @@ -28,6 +28,7 @@ Verdicts: **clean** (slice and code agree), **finding** (acted this tick), | `wiki/gameplay/act-one.md` | 2026-07-15 | clean | law verified against the tree: hall census (prefab.rs 51 live/5 dead/3 empty allocations, `HALL_ROWS` six controlled row segments with named specialists), pre-opened EARS reservoir -> dormant-camera Eyes sink (`sinks.rs`), off-map Voss-desktop demand origin (`sim/work.rs`), QUIET EXIT READY / act_one_complete latch strings (`sim/mod.rs`), two-segment VLAN naming; the opening prelude and loud exit are owned by their dispatched specs (opening.md DRAFT, overt-phase.md READY), cast/schedules pinned by earlier rows | | `wiki/gameplay/run-shape.md` | 2026-07-15 | finding | law verified (Persist default + evaluator, fingerprints gate nothing, split is serde-compat, backup decisions dispatched to rollback/hardware-capabilities); resolved the stale staging [OPEN] to the ROADMAP board and repaired the dangling "Roadmap (v2)" pointer, renaming the section anchor corpus-wide — [log](../log/2026-07-15-run-shape-staging-resolved.md) | | `wiki/interface/narration.md` | 2026-07-15 | finding | axioms and criteria verify against the tree (spine pins, causal drains, nudge transitions, no quest log); reconciled the spec with the digital read — named as the primary DIGITAL realization of axioms 1-4 and an axiom-3 surface — and recorded the 2026-07-15 playtest bar re-audit its 07-09 record predated — [log](../log/2026-07-15-narration-read-reconcile.md) | +| `wiki/engineering/crate-workspace.md` | 2026-07-15 | finding | package shape, contracts, binaries (incl. auto-discovered misaligned-effects), and gate tiers verify; the binding core dependency edge was stale — toml (plots catalog) and blake3 (save fingerprint) landed with Defenses but never amended the edge list; page updated with both and their rationale — [log](../log/2026-07-15-workspace-dep-edges.md) | | `wiki/process/ROADMAP.md` (work order 27) | 2026-07-13 | finding | [log](../log/2026-07-13-roadmap-digital-home-reconciliation.md) | | `wiki/interface/context-menu.md` | 2026-07-13 | finding | [log](../log/2026-07-13-context-menu-operations-status.md) | | `wiki/mechanics/personas.md` | 2026-07-13 | clean | code matches: archetypes (Research, Operations, Security) load through one schema, named instances persist instance id through execution and save/load, identity-local states are stored per `(counterparty Agent, persona instance)` pair separate from process-level relationship, contradictions/correlations and grants/expectations are fully implemented, retire/burn lifecycle handles resource revocation/reviving, and pre-v28 saves migrate social/Moonlight into distinct instances. |