diff --git a/wiki/log/2026-07-18-people-tokens-reaudit.md b/wiki/log/2026-07-18-people-tokens-reaudit.md new file mode 100644 index 00000000..236f5b30 --- /dev/null +++ b/wiki/log/2026-07-18-people-tokens-reaudit.md @@ -0,0 +1,33 @@ +# People-tokens re-audit: the trust constant gets its registry row + +``` +Type: log +``` + +Fresh audit of `wiki/mechanics/people-tokens.md` (stalest coverage row, +2026-07-11). The core of the spec still verifies: the shared carrier +projection (`sim/carrier.rs`: `person_carrier`, `person_carriers`, +`person_visual_state`, `person_carried_work`), all five named test pins +(`carried_work_travels_and_survives_save`, +`carried_asset_task_binds_target_and_survives_save`, +`person_visual_read_unaware_attention_asset`, `favor_completion_grows_trust`, +`person_carriers_covers_the_whole_cast`), the terminal `person_state_color` +read, and the honest deferral of criteria 2, 3, and 6 to the routed-evidence +migration. + +Two claims had drifted. Criterion 7 binds every tuned rate to a +sim-mechanics.md [TUNE] row and names `USEFUL_WORK_TRUST` as the one new +constant — but sim-mechanics.md never carried it. The Social section now +lists `Sim::USEFUL_WORK_TRUST = 4`, its trigger (a carried favor completing, +`sim/reach_build.rs::try_complete_intent`), and the disposition cap. + +Criterion 1's pin list still cited "save-v27 `CarriedAssetTask`" and "v26 +migration coverage", written before the pre-release save-policy rider: only +the current save version loads and the numbered migration ladder is retired +to git history, so v26-migration coverage no longer exists to pin anything. +The criterion now names the persisted packet without a version claim and +notes the ladder's retirement. + +The same stale-save-version class appears in machine-work.md, research.md, +reach.md, and basement-map.md — queued as a `gate` finding: recurrence +promotes it to a corpus_engine checker rather than page-by-page ticks. diff --git a/wiki/log/DEVLOG.md b/wiki/log/DEVLOG.md index 927303e1..df94658d 100644 --- a/wiki/log/DEVLOG.md +++ b/wiki/log/DEVLOG.md @@ -16,6 +16,11 @@ add or amend a session log, then re-run the generator. - Intent: (see session log) - Log: [wiki/log/2026-07-18-save-policy-cleanup.md](2026-07-18-save-policy-cleanup.md) +## 2026-07-18 - People-tokens re-audit: the trust constant gets its registry row + +- Intent: (see session log) +- Log: [wiki/log/2026-07-18-people-tokens-reaudit.md](2026-07-18-people-tokens-reaudit.md) + ## 2026-07-18 - Moonlight names its contractor and says when the gig is starved - Intent: (see session log) diff --git a/wiki/mechanics/people-tokens.md b/wiki/mechanics/people-tokens.md index cfd034f5..c543b366 100644 --- a/wiki/mechanics/people-tokens.md +++ b/wiki/mechanics/people-tokens.md @@ -245,11 +245,13 @@ if wear alone does not hold. the link when the carrier's schedule reaches an endpoint room. Pinned by `carried_work_travels_and_survives_save`. Physical PlugInDevice, CloneBadge, and ReconfigureSwitch reservoirs bind one exact device/badge - target into a save-v27 `CarriedAssetTask`; the typed packet appears on the + target into a persisted `CarriedAssetTask`; the typed packet appears on the same person projection and applies through the ordinary sim tick only when the schedule reaches that target. Pinned by `carried_asset_task_binds_target_and_survives_save`, the per-task effect - tests, v26 migration coverage, and the full Act One playthrough. + tests, and the full Act One playthrough. (The packet originally landed as + save v27; the numbered migration ladder is retired to git history — only + the current save version loads.) 2. A person acquires machine evidence only as a valid observer at the source or by reading a routed record. Each carried record preserves cause, source, acquisition tick, and filing state; no ambient pickup or person-to-person diff --git a/wiki/mechanics/sim-mechanics.md b/wiki/mechanics/sim-mechanics.md index 0af0bdbd..9618c1db 100644 --- a/wiki/mechanics/sim-mechanics.md +++ b/wiki/mechanics/sim-mechanics.md @@ -294,6 +294,10 @@ clause (see wiki/log/2026-07-05-demolition.md). - Five named Act One humans plus personas, leverage, authored manipulation plots, and recruitment. +- `Sim::USEFUL_WORK_TRUST = 4` [TUNE] — disposition points a person gains + when a favor they carried completes (people-tokens.md: trust comes from + doing useful work). Applied in `sim/reach_build.rs::try_complete_intent`, + capped at disposition 100. ## Power (the grid substrate) diff --git a/wiki/process/tick-ledger.md b/wiki/process/tick-ledger.md index ddf61719..9d3f4ef1 100644 --- a/wiki/process/tick-ledger.md +++ b/wiki/process/tick-ledger.md @@ -50,7 +50,7 @@ Verdicts: **clean** (slice and code agree), **finding** (acted this tick), | `wiki/mechanics/income.md` | 2026-07-18 | finding | Beacon feel note 5 verified as a real bug: the embedded contractor-persona field was never written, so the Moonlight card, the start-row persona pricing, and the agent status line all read a dead `None`; earning itself was correct (schemes mirrors the WORK share) but illegible at 0.0. Removed the dead field, routed every reader through `Sim::moonlight_persona` (persona-world link), added the stalled-earning card cue, regression test, and spec amendment — [log](../log/2026-07-18-moonlight-persona-card.md). Prior Wager/egress audit (2026-07-12) stands: Wager constants match (`WAGER_STAKE_CAP` 300, base 0.55, cap 0.75, mult 2x, analysis divisor 400), Marcus's $400/week arrears is the modeled creditor flow (`account.rs`) while the $8,400 principal is narrative-by-design (spec states full payoff is not a B1 requirement), egress/banked-signature present, and all 7 criteria have passing tests (moonlight payout/signature, wager outcomes/cap, egress routes, hands-beat-from-zero, busted-bankroll) | | `wiki/mechanics/schedules.md` | 2026-07-12 | finding | mechanism matches code (`ScheduleBlock` start/end/room, single `DAY_TICKS`=400 clock, `person_glyph` `?`-until-Schedule, erratic day-hash drift, per-instance data, all 5 criteria have passing tests); tightened stale Act One prose — Ray patrols dock/stairwell/storage not "corridors", Priya has no "office-off-plane" block, Voss's two blocks are both server-room — to match `People::act_one` | | `wiki/mechanics/social.md` | 2026-07-12 | clean | code matches spec: `AssetKnowledge` reliabilities 0.7/0.85/0.95 and knowing certainty floor 30 (`person.rs`), `person_label` staging, `USEFUL_WORK_TRUST`, and the named asset-task/recruit/badge pins all exist; `personas.md` correctly depends on this baseline, not the reverse, so its omission from Depends is right | -| `wiki/mechanics/people-tokens.md` | 2026-07-11 | clean | spec matches code (carrier.rs reads, `USEFUL_WORK_TRUST`, `CarriedAssetTask`, `person_state_color`, five named pins, `SAVE_VERSION` 27); acted on the stale `CLAUDE.md` doorway "currently v26" it left behind — [log](../log/2026-07-11-doorway-save-v27.md) | +| `wiki/mechanics/people-tokens.md` | 2026-07-18 | finding | re-audit: projection reads (`sim/carrier.rs`), all five named test pins, `person_state_color`, and the deferred-criteria framing (2, 3, 6 ride routed evidence) still verify; two claims had drifted — criterion 7 promises every tuned rate a sim-mechanics.md row but `USEFUL_WORK_TRUST` never got one (row added under Social), and criterion 1 still pinned "save-v27"/"v26 migration coverage" against the only-current-version save policy (re-worded; ladder is git history) — [log](../log/2026-07-18-people-tokens-reaudit.md) | | repository entry docs (`README.md` + `AGENTS.md`) | 2026-07-12 | finding | [log](../log/2026-07-12-entry-doc-current-state.md) | | `wiki/mechanics/objective.md` | 2026-07-12 | clean | implemented early slice, explicit outstanding B3 criteria, persistence, all three player surfaces, and the distinct Act One latch agree | | `wiki/mechanics/compute.md` | 2026-07-12 | finding | [log](../log/2026-07-12-compute-graduation.md) | @@ -77,6 +77,7 @@ Format: `- YYYY-MM-DD · type · slice · one-line statement of the finding`. - 2026-07-16 · legibility · `now:`/nudge · suspicion decay is invisible: a player who pushes an observer to Concerned assumes the game is lost. Surface a cooling cue ("keep the trace clear") when filed suspicion is aging down. (Beacon #1 rec) - 2026-07-16 · legibility · plots · plot-start action rows show title only (`plot: {title}`), so the typed `plot ` form needs the TOML plot-id; `act ` works but the id is undiscoverable. Surface the plot-id in the row. (Beacon spec gap 3, sibling of the 2026-07-15 held-choice fix) +- 2026-07-18 · gate · save policy · stale save-version/migration claims persist in wiki pages (machine-work.md "save-v26", research.md "the v20 migration boundary accepts legacy three-entry", reach.md "save v26", basement-map.md "save v22") against the only-current-version policy; class seen repeatedly → add a corpus_engine checker that flags wiki claims of loadable save versions or migration boundaries disagreeing with save.rs `SAVE_VERSION`. Types are the five from [tick.md](tick.md): violation, contradiction, question, bug, insecurity — plus `gate` for a checker owed to the recurrence-promotes-to-the-gate rule.