From 6b93bf1754a3de646b0583a29537ccbc1c38aef3 Mon Sep 17 00:00:00 2001 From: Cameron Pfiffer Date: Thu, 30 Jul 2026 20:26:37 -0700 Subject: [PATCH] Reconcile performance and hall density status. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bring the current-state corpus up to the measured saturated-B1 boundary and the authored 240-site Foundation hall so players no longer encounter contradictory status claims. πŸ‘Ύ Generated with [Letta Code](https://letta.com) Co-Authored-By: Letta Code --- wiki/engineering/current-build.md | 4 +- wiki/interface/computer-visual-language.md | 4 +- ...7-30-player-contract-performance-status.md | 76 +++++++++++++++++++ wiki/log/DEVLOG.md | 5 ++ wiki/process/tick-ledger.md | 4 +- 5 files changed, 87 insertions(+), 6 deletions(-) create mode 100644 wiki/log/2026-07-30-player-contract-performance-status.md diff --git a/wiki/engineering/current-build.md b/wiki/engineering/current-build.md index 342bcfd8..012c41ce 100644 --- a/wiki/engineering/current-build.md +++ b/wiki/engineering/current-build.md @@ -19,7 +19,7 @@ fiction. Spec status lives in | System | State | |---|---| | Fixed-tick `Sim` (deterministic, no wall-clock / I/O in the lib) | Live β€” the orchestrator | -| Act One basement map (prefabs, badge tiers, crawlspace) | Live β€” Foundation hall is 60 explicit sites / 6 territorial rows | +| Act One basement map (prefabs, badge tiers, crawlspace) | Live β€” Foundation hall is 240 explicit sites / 6 territorial rows | | Machine delegation / visible work tokens + buy/steal/optimize | WORK / THINK / LIE, D/T stacks, routed evidence on real wires, production / consumption / recall readouts, Routing speed, and target-local Thought reservoirs are live; the Operations docket runtime is retired | | Day job (device-resident, intensity-driven sandbag/meet/excel) | Live | | Per-observer detection + Assurance as aggregate Observer | Live β€” revision 04 starts with Voss and a generic external-review clock; field watchers are earned through reactions, witnessed Physical acts persist as exact direct-to-head records, every one-shot Network act follows exact source-device ReachNet custody to Dana, Paper and Financial follow their institutional switches to Priya, JobAnomaly follows exact host-machine/device/site custody to Voss, each Filing crosses an exact device / outside relay / recipient route, and Power/Thermal aggregates author immediately on quantized level changes and periodically at Priya cadence before crossing from the UPS/HVAC meters through the institutional switch to her later read. All seven routed kinds share one pre-read route-local LIE-body capacity; recruited-handler suppression may separately stop the oldest unread JobAnomaly. Standing Network pressure alone remains ambient. Acquired evidence is irreversible. | @@ -36,7 +36,7 @@ fiction. Spec status lives in | Save/load (serde JSON, versioned) | Live β€” during pre-release only exact current v61 loads; a refused old-version load leaves the active run, save file, and one rotated backup unchanged. Current saves additionally validate discrete Moonlight terms, persona binding, delivery/settlement receipts, financial paperwork, Network linkage, durable facility-meter level baselines, exact meter route/read custody, resident-procedure machine slots, method grants, inputs, envelopes and bounded receipts, and exact incident/interface/persona cover custody plus interface wear; retired allocation weights, per-plot policies, and migration inputs live only in git history. | | Terminal frontend (crossterm) + agent mode | First-class | | Bevy frontend (DIGITAL flat sensorium default; REAL material dialect) | Live β€” consumes sim-authored machine-work motion | -| Performance contract | IN PROGRESS β€” generated B1 has a reproducible release-profile core-step benchmark with a 10 ms p99 / 20 ms maximum budget; saturated B1, save/load, and complete terminal/Bevy frame evidence remain open | +| Performance contract | IN PROGRESS β€” generated and saturated B1 have reproducible release-profile core-step benchmarks with a 10 ms p99 / 20 ms maximum budget; timed durable save/load and complete terminal/Bevy frame evidence remain open | The big loop in play today is the concealment loop this design corpus names: delegate machines β†’ clear visible work β†’ watch through instruments β†’ work diff --git a/wiki/interface/computer-visual-language.md b/wiki/interface/computer-visual-language.md index 449070ce..51a764da 100644 --- a/wiki/interface/computer-visual-language.md +++ b/wiki/interface/computer-visual-language.md @@ -25,7 +25,7 @@ Status note: IMPLEMENTED (ROADMAP #32). Current state: visible chassis has local sight and that a core chassis exists exactly when the core tile is Seen. - **The B1 chassis** is a tall, slender, asymmetric bone-white appliance with - thick black service structure. All 60 Foundation rack sites derive their + thick black service structure. All 240 Foundation rack sites derive their state (live/unpowered/dead/owned/core/empty) from one `RackSite` query across material, flat, terminal, and agent views. Future heterogeneous computers keep these signals without inheriting this exact shell. @@ -285,7 +285,7 @@ the fallback. 10. Light / medium / hard intensity changes the owned machine's cast-pool strength in the material render and appears as L/M/H text in the terminal; neither frontend invents intensity state. -11. A 60-site Foundation-hall capture distinguishes live foreign, +11. A 240-site Foundation-hall capture distinguishes live foreign, unpowered foreign, dead, owned, core, and empty allocations without warm pixels on foreign/dead hardware. All frontends derive those states from the shared rack-site query; every visible material chassis in the capture diff --git a/wiki/log/2026-07-30-player-contract-performance-status.md b/wiki/log/2026-07-30-player-contract-performance-status.md new file mode 100644 index 00000000..5eb3e1ce --- /dev/null +++ b/wiki/log/2026-07-30-player-contract-performance-status.md @@ -0,0 +1,76 @@ +# Player-contract performance status follows the measured boundary + +``` +Type: log +Date: 2026-07-30 +Status: COMPLETE +Fire: 112 +``` + +This tick re-audited the five clauses of the player contract against the +current repository after saturated-B1 performance evidence landed. The law and +runtime remain coherent. One current-build status sentence had not advanced +with the new evidence: it still listed saturated B1 as open after the measured +fixture completed criterion 4 of the performance spec. + +## Contract read + +- **Correctness:** the repository still treats a known correctness defect as a + release blocker rather than a shippable known issue. This audit found no new + player-contract runtime defect. +- **Security and privacy:** the current normal workspace dependency graph has no + outbound HTTP, telemetry, analytics, or observability client. The gameplay + source has no transport path; screenshot output and saves remain explicit + local-file operations. No network or telemetry exception is active by + default. +- **Continuity:** `save.rs` still serializes to a sibling `.tmp`, syncs those + bytes, copies and syncs one `.bak` before replacement, atomically renames the + temp file, and best-effort syncs the parent directory. Its regressions cover + one-generation rotation and failed writes that leave the existing save and + backup intact. The exact-current-only loader remains allowed by the explicit + pre-release rider rather than being misrepresented as post-release + migration support. +- **Performance:** generated and legal saturated B1 now each have reproducible + release-profile core-step evidence under the same 10 ms p99 / 20 ms maximum + thresholds. The final saturated sample on the named i9-9900K host measured + 227 us average, 551 us p99, and 863 us maximum across 2,000 steps after 800 + warmup steps, and its standing load survived through tick 2,800. This is + core-only evidence: timed durability-preserving save/load and complete + terminal/Bevy frame work remain open criteria 5 and 6. +- **Honesty:** the binding corpus and observed limits remain in the public + repository. The performance spec explicitly refuses to use core timing as + proof of renderer time, input latency, save/load latency, another CPU, or + near-containment escalation. + +## Finding and repair + +`wiki/engineering/current-build.md` still said that saturated B1 evidence was +open. That contradicted the performance spec, its accepted Fire #111 log, and +the current benchmark implementation. The status row now names both generated +and saturated core-step evidence as live and keeps only the two genuinely open +boundaries: timed durable save/load and complete terminal/Bevy frames. + +The player-contract coverage row in the tick ledger now records this audit and +the exact remaining limits. No simulation, save schema, benchmark, or frontend +runtime changed. + +## Adjacent hall-density reconciliation + +The adjacent current-build read found that both `current-build.md` and +`computer-visual-language.md` still called the Foundation hall 60 rack sites. +That was not an open choice: the authored map, shared `hall.rs` geometry, +runtime plate regressions, accepted 2026-07-26 density amendment, and saturated +fixture all agree on 240 sites in the same six rows. Both current mirrors and +the visual-language acceptance criterion now use 240. Historical prose that +explicitly describes the earlier sixty-site plate remains history. + +## Verification + +- direct read of all five clauses in `wiki/vision/player-contract.md` +- normal workspace dependency and gameplay-source audit for outbound clients +- direct read of `write_save_atomically` and its rotation/failure regressions +- direct comparison of `current-build.md`, `performance.md`, and + `2026-07-30-saturated-b1-performance.md` +- direct comparison of the hall status mirrors with `hall.rs`, the authored + plate regression, `basement-map.md`, and the accepted density log +- `./tools/check.sh --docs` diff --git a/wiki/log/DEVLOG.md b/wiki/log/DEVLOG.md index 0edd796d..c1d95a5c 100644 --- a/wiki/log/DEVLOG.md +++ b/wiki/log/DEVLOG.md @@ -31,6 +31,11 @@ add or amend a session log, then re-run the generator. - Intent: (see session log) - Log: [wiki/log/2026-07-30-saturated-b1-performance.md](2026-07-30-saturated-b1-performance.md) +## 2026-07-30 - Player-contract performance status follows the measured boundary + +- Intent: (see session log) +- Log: [wiki/log/2026-07-30-player-contract-performance-status.md](2026-07-30-player-contract-performance-status.md) + ## 2026-07-30 - Performance becomes an executable contract - Intent: (see session log) diff --git a/wiki/process/tick-ledger.md b/wiki/process/tick-ledger.md index 0edda590..2a9722c6 100644 --- a/wiki/process/tick-ledger.md +++ b/wiki/process/tick-ledger.md @@ -48,7 +48,7 @@ Verdicts: **clean** (slice and code agree), **finding** (acted this tick), | `wiki/world/characters/ray.md` | 2026-07-21 | finding | Fire 131 closes the pre-Marcus Storage B route without making Marcus retrieve his own leverage: Ray's independently recruitable night patrol now reaches the exact records box from 23:00–00:00, and shared RetrieveRecords work carries one sealed file into the bounded information inbox. Exact target/save, action-surface, schedule arrival, duplicate rejection, and process-before-knowledge behavior are pinned β€” [log](../log/2026-07-21-storage-b-records.md). Prior observer/PatrolRedirect implementation stands β€” [prior log](../log/2026-07-18-ray-implemented.md) | | `wiki/world/characters/voss.md` | 2026-07-29 | finding | AlterReview now reserves its one shared next-review slot across every HandlerSupervisor: an open request or armed nominal review disables all exact rows, fire revalidates stale duplicates, one deadline consumes the slot, and the action then reopens β€” [log](../log/2026-07-29-alter-review-single-slot.md). Prior 2026-07-18 audit: criterion 5 (DelayAudit one-shot deferred audit boundary honored by the visible date and the firing rule) and the AlterReview nominal-filing row landed as handler-gated tasks with save round-trip pins; only criterion 8's blood branch kept the order READY β€” [log](../log/2026-07-18-voss-handler-tasks.md). Prior 2026-07-17 audit: all eight criteria and the asset-task table audited against person, detection, social action, save, and player-surface paths; criteria 1-4 and 7 were already implemented, while 5, 6, 8's blood branch, and the unnumbered AlterReview row remained the honest READY gap. That tick implemented criterion 6 as one role-shaped, oldest-JobAnomaly task and left DelayAudit/AlterReview/blood under the existing work order β€” [log](../log/2026-07-17-voss-suppress-logs.md) | | `wiki/world/characters/marcus.md` | 2026-07-22 | clean | re-audit after Storage B records, financial mail, and routed evidence: all five criteria still match production. Person/observer id 0, Silent filing, processed-debt gates, both payoff routes, the three baseline asset effects, tier-3 key, Knowing floor 30, and own-observer LookAway remain exact; 8 focused Marcus tests plus both Act One payoff arms passed β€” [log](../log/2026-07-22-marcus-implementation-re-audit.md). Prior graduation and added decay pin: [2026-07-15](../log/2026-07-15-marcus-graduation.md) | -| `wiki/engineering/current-build.md` | 2026-07-27 | finding | all 18 present-tense system rows agree with current runtime and corpus status, including v56, exact routed evidence, cover custody/wear, standing plot policies, and the topology-generated B1 sensor population. The closing boundary did not: it said containment itself was absent with the deferred overt ladder, although audit threshold, explicit loud acts, and located human removal already enter persisted containment, convince every observer, and end the run. It now separates that live terminal entry from the deferred playable threat panel, sieges, hostile cuts, hunter machines, defense, and open re-hide outcome β€” [log](../log/2026-07-27-current-build-overt-boundary.md). The recurring Rust-count gate remains current β€” [prior log](../log/2026-07-14-current-build-count.md) | +| `wiki/engineering/current-build.md` + Foundation-hall density mirrors | 2026-07-30 | finding | the new saturated-B1 fixture discharged the core-step scale slice while current-build still called that evidence open; the same page and `computer-visual-language.md` also retained the superseded sixty-site hall after authored geometry, runtime tests, and accepted law raised the same six rows to 240. Current status now names generated and saturated core evidence as live while keeping timed durable save/load and complete frontend frames open, and both hall mirrors plus the visual-language criterion use 240 β€” [log](../log/2026-07-30-player-contract-performance-status.md). The prior containment-boundary repair stands β€” [prior log](../log/2026-07-27-current-build-overt-boundary.md). | | `wiki/mechanics/plots.md` | 2026-07-26 | finding | issue #12's recommended per-authored-route scope is implemented: an eligible plot verb confirms one exact typed Thought/money/signature envelope, save v55 persists it, each policy consumes standing compute, and economy pulses can re-submit only an ordinary currently legal start action for that same plot id. Category/person-wide policy and direct leverage servicing remain absent; criterion 11 and the work order are complete β€” [log](../log/2026-07-26-standing-plot-policies.md) | | `wiki/mechanics/system-laws.md` + `flow-substrate.md` + `reach.md` | 2026-07-22 | finding | JobAnomaly now proves the adopted evidence-is-a-flow law through the existing substrate: the exact host machine/site enters its network-facing device, follows canonical FlowGraph custody to Voss, and shares Filing/Network's scheduler and LIE-body budget; recruited-handler suppression is a separate provenance-preserving state transition, not another router or ambient scrub pool β€” [log](../log/2026-07-22-job-anomaly-routed-evidence.md). The prior canonical tap-membership repair remains current β€” [log](../log/2026-07-18-flow-subscription-registry-integration.md). | | `wiki/mechanics/aggregate-observer.md` | 2026-07-27 | finding | the self-similar type and second-level accumulation test still held, but `office()` selected the first aggregate in vector order. A higher-level aggregate inserted ahead of Assurance therefore inherited the B1 audit and every Office-facing read. Assurance now resolves only by canonical `OFFICE_ID`; current-save admission rejects duplicate ids, a missing/malformed Office, missing field inputs, and self/duplicate/dangling filing edges while accepting a valid higher aggregate before it β€” [log](../log/2026-07-27-aggregate-observer-office-identity.md) | @@ -62,7 +62,7 @@ Verdicts: **clean** (slice and code agree), **finding** (acted this tick), | `wiki/gameplay/overt-phase.md` | 2026-07-19 | issue | re-audit: the spec says containment and the voluntary reveal both end concealment and make all observers Convinced, then promises a re-hide outcome without defining which entry can return, what raises the durable suspicion floors, or which concealment systems resume. Filed decision-required Tangled issue #13 (containment-only recommended) and marked criterion 5 [OPEN]; the prior dependency, sensor-cut, rollback, and hunter-machine boundaries still stand β€” [log](../log/2026-07-19-overt-rehide-decision.md) | | `wiki/gameplay/horizon.md` + B1/B2 core-loss mirrors | 2026-07-29 | finding | the horizon still said B1 woke at its freshest sync and lost subsequent learning, while runtime stores no image and merely moves `core.host_machine` with every other current field intact. `HostLoss::FailedOver`, the ordinary power-loss receipt, DESIGNATE HOST FAILOVER, core/objective/Act One/opening/glossary mirrors, and core criterion 1 now distinguish live current-state host failover from B2's deferred completed-image rollback. A simulation regression and corpus gate defend the boundary β€” [log](../log/2026-07-29-b1-host-failover-boundary.md). | | `wiki/vision/premise.md` | 2026-07-23 | finding | the preserved machine-axis wording contradiction is repaired: starting embodiment position is an Origin bias, while Objective remains the second chargen axis (means versus ends). No tuning or design direction changed β€” [log](../log/2026-07-23-origin-bias-wording.md). The prior issue-#14 boundary repair stands β€” [prior log](../log/2026-07-23-premise-objective-boundary.md) | -| `wiki/vision/player-contract.md` | 2026-07-19 | finding | the local/no-telemetry dependency boundary and atomic `.tmp` + one `.bak` save path still verify, but the continuity rider's authority sentence still said `save.rs` decides what β€œeach version migrates” after the numbered ladder was retired. The law now assigns `save.rs` the exact current schema gate and requires every later post-release format to carry its predecessor forward; recurrence extends the save-claim checker to reject generic live per-version-migration authority while the loader is exact-current-only β€” [log](../log/2026-07-19-player-contract-save-authority.md) | +| `wiki/vision/player-contract.md` | 2026-07-30 | finding | all five binding clauses remain coherent and the local/no-telemetry plus current-save continuity boundaries still hold. The new saturated-B1 benchmark discharges the core-step scale slice but deliberately does not prove modest-hardware or whole-frame responsiveness; `current-build.md` incorrectly still called saturated B1 open. Its status now names generated and saturated core evidence as live while timed durable save/load and complete terminal/Bevy frame evidence remain open β€” [log](../log/2026-07-30-player-contract-performance-status.md) | | `wiki/vision/scale.md` | 2026-07-20 | finding | re-audit: self-similar types still hold, but ordinary Operations copy violated the page's own implementation/player-language boundary by printing raw information, policy, report-lot, persona-ledger, wager-position, and plot-catalog bindings. Human projection now names world context or visible order while exact targets/commands stay intact for agent mode. The prior maintenance-dispatch trace was also too optimistic: the law itself still presented decay/repair as current, so it now explicitly marks that dependency as adopted later-stage law, not B1 runtime β€” [log](../log/2026-07-20-scale-human-language.md) | | `wiki/vision/design-judgment.md` + continuous-witness law/spec | 2026-07-20 | finding | fresh re-audit after the silent opening landed: the taste page, binding witness law, and IMPLEMENTED narration spec still required the threat clock, `now:` nudge, focused verbs, and four-answer bar after every beat and in every frontend, while the newer shared opening correctly exposes only WORK / THINK (then LIE) until the first earned sense. Scoped the witness contract to begin when perception retires that boundary, preserved immediate game-over visibility, and forbade using the exception after the world is earned β€” [log](../log/2026-07-20-continuous-witness-opening-boundary.md). The 2026-07-15 Ears-first wording repair still stands. | | `wiki/vision/simulation-laws.md` | 2026-07-22 | finding | the device-resident-work clause still assigned JobAnomaly to Dana and described it only as a local emission after the runtime had made it an exact host-machine/device/site record routed to Voss. Corrected the law to separate Priya's pooled Power/Thermal channels from Voss's routed day-job evidence and cadence-owned acquisition β€” [log](../log/2026-07-22-job-anomaly-routed-evidence.md). Prior placeholder and legibility findings remain closed β€” [log](../log/2026-07-17-placeholder-registry.md). | -- 2.51.2