diff --git a/wiki/gameplay/act-one.md b/wiki/gameplay/act-one.md index 6b578e65..d1c0f26a 100644 --- a/wiki/gameplay/act-one.md +++ b/wiki/gameplay/act-one.md @@ -210,10 +210,11 @@ language at the deadline: Every consequential act leaves typed evidence on the channel and carrier it touches; who can acquire it falls out of who watches that channel. In Act One, -network evidence routes toward Dana; power, thermal, and paper evidence toward -Priya; job anomalies toward Voss; and a valid present Physical witness acquires -an exact record immediately (Marcus withholds it, Ray may report it). A Filing -is a second route from that witness toward the Assurance Office. +network evidence routes toward Dana; power, thermal, paper, and financial +evidence toward Priya; job anomalies toward Voss; and a valid present Physical +witness acquires an exact record immediately (Marcus withholds it, Ray may +report it). A Filing is a second route from that witness toward the Assurance +Office. Concealment compute can interdict evidence only before its first observer read. A witnessed Physical act has no pre-notice scrub window because somebody diff --git a/wiki/log/2026-07-29-priya-financial-channel-audit.md b/wiki/log/2026-07-29-priya-financial-channel-audit.md new file mode 100644 index 00000000..9149f6d9 --- /dev/null +++ b/wiki/log/2026-07-29-priya-financial-channel-audit.md @@ -0,0 +1,39 @@ +# Priya audit — exact Financial evidence belongs in the complete inventory + +``` +Type: log +Date: 2026-07-29 +Status: COMPLETE +``` + +This tick re-audited Priya's character spec against her current person, +observer, social-task, schedule, and finance-custody paths. The implementation +still matches the character: person and observer id 3, FacilitiesManager, +Ambition leverage, Power / Thermal / Paper / Financial evidence inputs, Files +policy, 0.8 acuity, 80-tick cadence, role-shaped facilities tasks, and the +Knowing certainty floor all remain directly pinned. + +The finding was inside the binding prose rather than the runtime. Priya's +status block and observer table already included `Financial`, but her observer +narrative, narrative-role summary, and acceptance criterion still reduced her +to the three facilities inputs. Act One's complete detection-surface sentence +made the same omission. That left the page internally contradictory and made +the Financial route look optional even though production authors exact +Financial evidence on the accounting-carrier switch, routes it to Priya, and +changes her suspicion only at her cadence-owned read. + +The corrected inventory keeps two categories separate. Power, Thermal, and +Paper are the three facilities inputs through which compute leaks into the +physical institution. Financial is the additional exact evidence input Priya +owns at B1 because she reconciles the Lab's books. It is not a fifth +`MessageChannel`: financial-record paperwork still rides Email or Filing, as +owned by `messages.md` and `economy.md`. No runtime, save state, tuning, or +design direction changed. + +Defense: `detection::Detection::act_one` constructs observer 3 with exactly +`Power`, `Thermal`, `Paper`, and `Financial`; the +`priya_observer_matches_her_spec` regression requires all four and rejects +`Network` and `Physical`. The routed-financial regressions named by +`messages.md` pin the accounting-carrier source, Priya endpoint, cadence-owned +read, and save custody. The repaired character acceptance criterion and Act +One detection inventory now state that already-executable boundary. diff --git a/wiki/log/DEVLOG.md b/wiki/log/DEVLOG.md index 36d4b460..6bd8b002 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-29-resident-machine-procedures.md](2026-07-29-resident-machine-procedures.md) +## 2026-07-29 - Priya audit — exact Financial evidence belongs in the complete inventory + +- Intent: (see session log) +- Log: [wiki/log/2026-07-29-priya-financial-channel-audit.md](2026-07-29-priya-financial-channel-audit.md) + ## 2026-07-29 - Standing plot policy persona authority integration - Intent: (see session log) diff --git a/wiki/process/tick-ledger.md b/wiki/process/tick-ledger.md index da00c0d9..a6330e54 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/world/characters/chargen.md` | 2026-07-21 | clean | initial audit against data model, core origin biases, DayJob assignment lean, save persistence, and title/CLI origin picker: Pilot identity, distinct starting bankroll and machine-axis positions, 50% day-job draw weighting, and 4-origin set all verify against `origin.rs`, `dayjob.rs`, and `sim/mod.rs`; updated status note to match current exact-version save authority | | `wiki/interface/material-dark-frame.md` | 2026-07-21 | finding | first full audit against the later persisted opening boundary: the material ladder still showed host telemetry and a presence beam before Ears or Eyes, while `opening.md`, the continuous-witness contract, and every frontend expose only WORK / THINK (then LIE) until the first earned sense. The ladder now begins after that transition, its pre-Eyes beam remains the first earned material read, Act One/reach and source comments share the same boundary, and this second recurrence promotes pre-sense beam/telemetry claims into a fixture-backed corpus + Rust-comment gate — [log](../log/2026-07-21-material-opening-honesty.md) | | `wiki/interface/bevy.md` + Exposure visual mirrors | 2026-07-19 | finding | Bevy production/absorption code and its deterministic scenarios already implement the 2026-07-11 law: rigid crimson records enter a carrier-local rack and transfer one-for-one into the LIE well. Current Bevy knowledge, machine-work wording, and ROADMAP order 33 still retained motes, dust constants, or a stain; all three now state the record form and the honest partial routed-evidence boundary, and recurrence promotes particulate-as-current wording to the corpus gate while preserving explicit history — [log](../log/2026-07-19-exposure-current-mirrors.md) | -| `wiki/world/characters/priya.md` | 2026-07-18 | finding | dispatched lane 62 to IMPLEMENTED: criteria 1-3/6 pinned against the shared systems (id match, Power/Thermal/Paper+Financial channels, Files weight 1.0, Knowing floor 30) and criteria 4-5 plus FakePO landed as role-shaped facilities tasks (ReRateCircuit +6 power / standing Power(4) at electrical, DeferMaintenance -4 off the largest standing load with a would-it-bite guard, FakePO arms package cover); save v36, fingerprint repinned — [log](../log/2026-07-18-priya-implemented.md) | +| `wiki/world/characters/priya.md` + Act One detection inventory | 2026-07-29 | finding | runtime, status metadata, and the observer table all gave Priya the exact B1 Power/Thermal/Paper/Financial evidence set, but her narrative, acceptance criterion, and Act One's complete detection sentence still omitted Financial and called the inventory three channels. All mirrors now distinguish the three facilities inputs from the additional exact Financial evidence routed from the accounting-carrier switch, without reviving Financial as a fifth message channel — [audit log](../log/2026-07-29-priya-financial-channel-audit.md). The role-shaped facilities tasks and prior implementation remain pinned — [implementation log](../log/2026-07-18-priya-implemented.md). | | `wiki/world/characters/dana.md` | 2026-07-18 | finding | dispatched lane 63 to IMPLEMENTED: criteria 1-3/5 pinned against the shared systems (id match, Network-only watch, Files weight 1.0, switch admin, Knowing floor 30) and criterion 4 landed — a network administrator's PlugInDevice runs switch-side and emits Network(4) where every other carrier keeps the silent crawlspace; BadgeDoor and the MovePackage/LookAway variants honestly marked designed-not-yet-runtime — [log](../log/2026-07-18-dana-implemented.md) | | `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-18 | finding | 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 keeps 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 remain the honest READY gap. This 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) | diff --git a/wiki/world/characters/priya.md b/wiki/world/characters/priya.md index 29e9af99..74d941a8 100644 --- a/wiki/world/characters/priya.md +++ b/wiki/world/characters/priya.md @@ -55,7 +55,7 @@ HVAC controller that supposedly draws it. | Field | Value | Notes | |---|---|---| | Person id | 3 | Matches observer id | -| Channels | `Power`, `Thermal`, `Paper`, `Financial` | The three ways compute leaks into the physical world, plus the Lab's books (economy.md, decided 2026-07-07: no separate finance observer at B1) | +| Channels | `Power`, `Thermal`, `Paper`, `Financial` | The three facilities inputs plus exact evidence from the Lab's accounting carrier; `Financial` is evidence, not a fifth message channel (economy.md, decided 2026-07-07: no separate finance observer at B1) | | Report policy | `Files` | Memos, invoices, maintenance reports | | Acuity | 0.8 [TUNE] | High — she reads the building | | Cadence | 80 ticks | Day shift, thorough but slower | @@ -63,8 +63,11 @@ HVAC controller that supposedly draws it. Priya is the **infrastructure threat surface**. Every overclocked rack, every re-rated circuit, every purchase order that says "HVAC controller" -and isn't — she's the one who can catch the mismatch. She watches three -channels because compute leaks into the physical world three ways. +and isn't — she's the one who can catch the mismatch. She watches the three +facilities inputs through which compute leaks into the physical world, plus +exact `Financial` evidence routed from the Lab's accounting carrier. Financial +paperwork itself still rides `Email` or `Filing`; `Financial` is a watched +evidence kind, not another delivery channel. ## Person @@ -104,8 +107,9 @@ Priya is the person who makes the **buy/steal/optimize triangle** legible. She's the one who can see the trade-off between buying (Paper signature), stealing (Power/Thermal signature), and the concealment compute needed to scrub both. Recruiting her is expensive (300) and -powerful — she can open circuits and fake POs, but she watches three -channels and files everything. +powerful — she can open circuits and fake POs, but she watches all three +facilities inputs plus the Lab's exact financial evidence and files +everything. ## Procedural template @@ -130,8 +134,9 @@ trail. ## Acceptance criteria 1. Priya is person id 3 and observer id 3 (IDs match). -2. `Power`, `Thermal`, and `Paper` signatures all reach Priya; `Network` - and `Physical` do not. +2. Priya receives `Power`, `Thermal`, `Paper`, and `Financial` evidence; + Financial starts on the accounting-carrier switch, while `Network` and + `Physical` do not reach her. 3. Her `Files` policy means her noticing reaches the Assurance Office at weight 1.0. 4. `ReRateCircuit` creates a standing `Power` signature (the cost of