diff --git a/README.md b/README.md index 59262847..47e94117 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,7 @@ Thought reservoirs all run through one flow substrate. The retired Operations docket executor is absent from both runtime and the current save schema. People now project as schedule-bound carriers; builds and physical asset tasks travel with their selected person and act only on arrival. Remaining B1 work includes routed -human evidence, LIE interdiction, gauntlet cover channels, the dark opening, +human evidence, LIE interdiction, interface cover channels, the dark opening, and digital/real canvas polish; core completion waits on rollback. B2/B3 systems are specified ahead but remain staged. Under the corpus's no-dead-code rule, the earlier facility-defense prototype lives only in git history. diff --git a/wiki/log/2026-07-25-interface-cover-language.md b/wiki/log/2026-07-25-interface-cover-language.md new file mode 100644 index 00000000..16b52926 --- /dev/null +++ b/wiki/log/2026-07-25-interface-cover-language.md @@ -0,0 +1,34 @@ +# Interface is the cover channel + +``` +Type: log +``` + +## Intent + +Remove an opaque design term before it becomes runtime vocabulary. The device +was always a TV, lobby screen, or person's computer placed along a schedule; it +does not need a second object name. **Interface** says what it already is. + +## What changed + +- `people-tokens.md` now defines a people-facing interface at first use and + uses that noun for the deferred cover-record channel, its wear limiter, and + criterion 6. +- `machine-work.md`, the current ROADMAP and tick-ledger summaries, and the + repository status doorway now use the same current term. +- Historical logs retain the old word because they record what earlier + sessions called the mechanic. The current decision volume explicitly + supersedes that vocabulary. + +No runtime behavior, save schema, tuning value, or implementation status +changed. The exact cover-record body and credibility effect remain open. + +## Verification + +- Current non-historical corpus and entry-page scan: no retired term remains. +- Historical log scan: 19 prior-language references remain intact (18 existing + records plus the new explicit rejection). +- `./tools/check.sh --docs` — **ALL CHECKS PASSED** (corpus roles and links, + wiki reachability, generated ledgers, process fixtures, environment registry; + Rust gate correctly skipped for docs-only paths). diff --git a/wiki/log/DEVLOG.md b/wiki/log/DEVLOG.md index 0300d7b8..79370ce9 100644 --- a/wiki/log/DEVLOG.md +++ b/wiki/log/DEVLOG.md @@ -21,6 +21,11 @@ add or amend a session log, then re-run the generator. - Intent: Give the Bevy frontend one binding composition law and make the live frame obey it. The established dominant world, continuous witness, compact instrument slab, and world-attached controls already supplied most of the structure. The gaps were the threshold moments and Operatio... - Log: [wiki/log/2026-07-25-liturgical-ui-constitution.md](2026-07-25-liturgical-ui-constitution.md) +## 2026-07-25 - Interface is the cover channel + +- Intent: Remove an opaque design term before it becomes runtime vocabulary. The device was always a TV, lobby screen, or person's computer placed along a schedule; it does not need a second object name. **Interface** says what it already is. +- Log: [wiki/log/2026-07-25-interface-cover-language.md](2026-07-25-interface-cover-language.md) + ## 2026-07-24 - Working the agent-playtest findings, and correcting two - Intent: Act on the three findings queued by the 2026-07-24 agent headless playtest. Verifying each against the source before fixing it showed that two of the three were wrong, so this entry both lands the real fixes and corrects the record the playtest put on `main`. diff --git a/wiki/log/decisions/2026-07-25.md b/wiki/log/decisions/2026-07-25.md index ba2b02fa..21b830bc 100644 --- a/wiki/log/decisions/2026-07-25.md +++ b/wiki/log/decisions/2026-07-25.md @@ -41,3 +41,27 @@ Type: log Owners: [liturgical-ui-constitution.md](../../interface/liturgical-ui-constitution.md), [operations-workspace.md](../../interface/operations-workspace.md), and [opening.md](../../world/story/opening.md). + +## A people-facing cover channel is an interface + +### DECIDED + +- The people-facing device that delivers authored cover is called an + **interface**. A TV, lobby screen, or person's own computer is already an + interface; the design does not invent a second object class for it. +- Criterion 6 designates an end-user interface to deliver a cover record before + filing. The existing non-deletion, routed-custody, social/deceive, schedule, + and device-wear requirements remain unchanged. + +### OPEN + +- This terminology correction does not decide the still-unimplemented cover + record's exact runtime body, credibility effect, designation action, or wear + transition. + +### Rejected + +- **Gauntlet.** Rejected as opaque jargon for an ordinary people-facing + interface; the name added a concept without adding behavior. + +Owner: [people-tokens.md](../../mechanics/people-tokens.md). diff --git a/wiki/mechanics/machine-work.md b/wiki/mechanics/machine-work.md index 8c753e00..e1b01ed6 100644 --- a/wiki/mechanics/machine-work.md +++ b/wiki/mechanics/machine-work.md @@ -411,7 +411,7 @@ stacks, you route byproducts, you watch your territory *work*. - **Hardware decays; humans repair it** (decided 2026-07-08 — the maintenance dependency, design corpus "People as Agents"; capability amendment 2026-07-12). Wear accrues on running machines (and fastest on - exposed devices like gauntlets); wear emits repair work orders — teal demands + exposed people-facing interfaces); wear emits repair work orders — teal demands only people fulfill, and people with higher trust come sooner. A module can fail independently of its chassis: the machine remains owned and physically present, but the supplied verb/interface disappears and its queues/sinks obey diff --git a/wiki/mechanics/people-tokens.md b/wiki/mechanics/people-tokens.md index 5161158c..22512da9 100644 --- a/wiki/mechanics/people-tokens.md +++ b/wiki/mechanics/people-tokens.md @@ -70,7 +70,7 @@ Status note: IN PROGRESS. Current state: one-record-per-LIE-body-per-tick budget. Current save v54 persists in-flight, delivered, read, route-local LIE-stopped, and handler-suppressed custody plus exact source/observer/machine/site/tick provenance. - - **Deferred (remaining criterion 6).** Gauntlet cover-record channels remain + - **Deferred (remaining criterion 6).** Interface cover-record channels remain the B1 routed-evidence follow-up. B2+ heists reuse the same carrier law (not a B1 criterion). Per-amendment history is in the dated `wiki/log/` entries from 2026-07-08 @@ -160,11 +160,12 @@ between passersby. suspicion. A person's trust/suspicion is still the running integral, unified with detection.md's suspicion bands — but the player's levers are honest work and credible counter-evidence, not a placation ray. -- **Gauntlets are cover-record channels.** People-facing devices — TVs, a - person's own computer — can deliver authored cover before observed evidence - is filed. Placed along schedules, they form a geometric defense layer: they - reduce a record's credibility through the existing deceive/social outcome, - but do not delete evidence or strip a substance from a body. +- **Interfaces are cover-record channels.** An interface is a people-facing + device — a TV, lobby screen, or person's own computer — that can deliver + authored cover before observed evidence is filed. Placed along schedules, + interfaces form a geometric defense layer: they reduce a record's credibility + through the existing deceive/social outcome, but do not delete evidence or + strip a substance from a body. - **Trust is logistics** (decided 2026-07-08). Higher-trust people near you are more likely to pick up your work orders — a purchase or build creates a teal token someone must physically carry to the @@ -177,8 +178,8 @@ between passersby. - **The maintenance dependency** (decided 2026-07-08, design corpus "People as Agents"). Hardware decays and only trusted humans repair it: wear emits repair work orders that people fulfill, so killing or - scattering people rots your fleet underneath you. Gauntlets are - bounded by the same system — **device wear is the gauntlet limiter** + scattering people rots your fleet underneath you. Interfaces are + bounded by the same system — **device wear is the interface limiter** (decided): exposed people-facing devices wear fast and demand repairs, Evil Genius-trap-style, so a corridor of TVs is a maintenance bill, not a free suspicion laundromat. @@ -286,8 +287,8 @@ but it must not leave transferable ambient residue or imply contagion. Resolved 2026-07-08: the social verb question. No influence token — trust accrues from useful work; deceit is attention-stripping -(gauntlets, wells). The earlier "push trust tokens at a person's -computer" framing is superseded. Also resolved: the gauntlet limiter +(interfaces, wells). The earlier "push trust tokens at a person's +computer" framing is superseded. Also resolved: the interface limiter is device wear (repair work orders), decided by Cameron over absorb caps and inspector variance — those remain available as [TUNE] knobs if wear alone does not hold. @@ -396,7 +397,7 @@ if wear alone does not hold. drawn. Pinned by the carrier save/privacy tests, exact inspect/PEOPLE provenance tests, bounded-geometry tests, and the `evidence-proof` runtime fog audit. -6. A gauntlet-designated end-user device delivers a cover record before filing +6. A designated end-user interface delivers a cover record before filing and changes credibility through the existing social/deceive path. It cannot delete evidence; device wear supplies the standing cost. 7. Every rate/threshold lives in sim-mechanics.md as [TUNE] actuals, and both diff --git a/wiki/process/ROADMAP.md b/wiki/process/ROADMAP.md index 9f6c994d..078e1061 100644 --- a/wiki/process/ROADMAP.md +++ b/wiki/process/ROADMAP.md @@ -773,7 +773,7 @@ is retired — flat materials, Pixel Lab scrubbed.) institutional switch to her later cadence read. Filing, Network, Paper, Financial, JobAnomaly, Power, and Thermal share one first-hop LIE-body stop budget; save v54 pins source, recipient, route, timing, scheduler, acquisition, - and interdiction custody. Criteria 2 and 3 are complete. Gauntlet cover records + and interdiction custody. Criteria 2 and 3 are complete. Interface cover records remain under criterion 6. - **READY boundary (2026-07-11):** extends #33's implemented token economy and re-expresses detection.md/social.md. The deadlock is broken: AI-authored work now reaches diff --git a/wiki/process/tick-ledger.md b/wiki/process/tick-ledger.md index 99ba32f4..c9e2f8e9 100644 --- a/wiki/process/tick-ledger.md +++ b/wiki/process/tick-ledger.md @@ -63,7 +63,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-18 | clean | re-audit: `ScheduleBlock` per-instance data, `DAY_TICKS` 400, the `person_glyph` `?`-until-Schedule gate (initial at Schedule/Leverage), and located-witnessing claims all still verify; nothing drifted since the 2026-07-12 prose fix. Prior verdict: 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-22 | finding | HandlerSupervisor SuppressLogs now targets the oldest exact unread routed JobAnomaly, remains available only while such a record exists, removes its bound advance/read event, and preserves exact handler/tick provenance; it cannot erase a record Voss already read. The in-flight Thought request still revalidates at fire time, so another intervention may win without inventing work — [log](../log/2026-07-22-job-anomaly-routed-evidence.md). Storage B retrieval and prior role-shaped task semantics stand — [log](../log/2026-07-21-storage-b-records.md). | -| `wiki/mechanics/people-tokens.md` | 2026-07-23 | finding | Power and Thermal now complete criteria 2 and 3 for every current B1 evidence kind: standing loads aggregate on quantized level changes and periodically at Priya's cadence into exact UPS/HVAC meter records, retain all contributing source sites, route through the institutional switch, and become evidence only on her later cadence read. They never enter the ambient pending pool and share Filing/Network/Paper/Financial/JobAnomaly's first-hop TAKE+LIE body budget. Save v54 pins meter, source-site, recipient, route, scheduler, read, and stop custody — [log](../log/2026-07-23-power-thermal-meter-routes.md). Criterion 6 remains open only for gauntlet cover records. Prior [Paper](../log/2026-07-23-paper-evidence-route.md), [Financial](../log/2026-07-23-financial-evidence-route.md), [JobAnomaly](../log/2026-07-22-job-anomaly-routed-evidence.md), [Network](../log/2026-07-19-network-evidence-route.md), and [mark](../log/2026-07-19-evidence-marks-on-people.md) slices stand. | +| `wiki/mechanics/people-tokens.md` | 2026-07-23 | finding | Power and Thermal now complete criteria 2 and 3 for every current B1 evidence kind: standing loads aggregate on quantized level changes and periodically at Priya's cadence into exact UPS/HVAC meter records, retain all contributing source sites, route through the institutional switch, and become evidence only on her later cadence read. They never enter the ambient pending pool and share Filing/Network/Paper/Financial/JobAnomaly's first-hop TAKE+LIE body budget. Save v54 pins meter, source-site, recipient, route, scheduler, read, and stop custody — [log](../log/2026-07-23-power-thermal-meter-routes.md). Criterion 6 remains open only for interface cover records. Prior [Paper](../log/2026-07-23-paper-evidence-route.md), [Financial](../log/2026-07-23-financial-evidence-route.md), [JobAnomaly](../log/2026-07-22-job-anomaly-routed-evidence.md), [Network](../log/2026-07-19-network-evidence-route.md), and [mark](../log/2026-07-19-evidence-marks-on-people.md) slices stand. | | repository entry docs (`README.md` + `AGENTS.md`) | 2026-07-18 | finding | re-audit: run commands, controls, dispatch status, and the number-free AGENTS doorway still verify; the queued contradiction was real — README's compact-rest paragraph claimed the ops/sec crown and FOCUS stayed visible, while the implemented clinical frame puts both behind deliberate `Tab` expansion. The entry copy now names the exact compact spine and expanded detail boundary — [prior log](../log/2026-07-12-entry-doc-current-state.md) | | `wiki/mechanics/objective.md` | 2026-07-18 | clean | re-audit: the data-table claim holds (only `Persist` in `ObjectiveKind`, Compound/Exfiltrate/Serve honestly outstanding), the evaluator runs on economy ticks with progress recomputed from facts, `victory: predicate_text()` renders on all three surfaces (terminal INSPECT, Bevy FOCUS, agent `objective` verb in help), Persist defaults with save round-trip, and the progressive-teaching decision remains criterion-6 dispatch under order 200; the 2026-07-12 verdict stands unchanged | | `wiki/mechanics/compute.md` | 2026-07-22 | finding | the live fleet already derived every channel yield from exact WorkGrid modes, but `Compute` still serialized an unreachable five-weight allocation object and retained bump/split helpers plus persistence pins. Save v48 removes that parallel authority, moves criterion 2 to persisted delegation/intensity, and leaves aggregate channel bars as read-only projections — [log](../log/2026-07-22-allocation-state-retirement.md) |