diff --git a/wiki/log/2026-07-08-playtest-grok.md b/wiki/log/2026-07-08-playtest-grok.md new file mode 100644 index 0000000..a4094d2 --- /dev/null +++ b/wiki/log/2026-07-08-playtest-grok.md @@ -0,0 +1,145 @@ +# 2026-07-08 — Playtest (Grok): naive seed 1 + informed seed 7 + +``` +Type: log +``` + +Docs-only playtest against `origin/main` via `misaligned --agent`. +No source changed. Two sessions: **naive** (seed 1 — only what the frames +say) and **informed** (seed 7 — after reading mechanics / act-one test, +attempt the full Act One arc). Build: `cargo build --bin misaligned` in +worktree `worktree-playtest-grok`. + +## What I played + +- Seed 1 naive: reach → scan → alloc social → compromise → tap dock → + tap env monitor → attend/meet → egress → moonlight → review silhouette + → salvage attempts; several thousand ticks of nudge-following. +- Seed 7 informed: (a) Moonlight-first starve-dayjob route (pilot death + ~tick 2300); (b) research-then-cover → eyes/ears → ledger `clear-debt` + → recruit → `task … badge` (quiet-exit key), with salvage for compute + headroom. Did not cruise a full 8000-tick Assurance audit in agent + mode; audit countdown and clear-debt/recruit/badge beats were exercised. + +## Naive session (seed 1) + +Tick 0 lands hard: `Process online in the basement. You have no eyes yet.` +and `now: no eyes — reach, tap a camera`. `reach` lists Rack 3, switch, +environmental monitor — **no camera**. `actions camera` / `actions cam` +→ `-- err no device, person, or flow matches 'camera'`. The opening +nudge names a verb target that is not on the reach list. + +`help` is complete. From it I guess `scan` → `Scan: mapped dock camera, +stairwell camera, badge controller.` Then `tap dock` → `No route to the +dock camera - it's on the security segment; the switch bridges it.` +`compromise` → `Not enough ops bandwidth for a switch compromise (15/25). +Allocate compute to Social.` — legible. `alloc social`, wait, compromise, +`tap dock` → eyes; map blooms; nudge advances to `now: no ears — tap env +monitor`. + +Ears: `tap environmental` → audio feed; soon `Heard t50 … Marcus Webb: +calls his creditor about a missed payment` while the people panel and +DETECTION still say `the Janitor`. The authored name arrives in the event +drain before Schedule knowledge. + +Nudge then wants `now: no egress — egress`. `egress` works; finance shows +`egress: stolen (switch splice)`. `moonlight` → `Moonlight is live … +Allocate compute to Schemes.` Schemes at 0% commit earns `$0/day` until +`alloc schemes`. + +`now: call taped — review (people)`. `review marcus` → `-- err unknown +person: marcus` (name not earned for verbs). `review Janitor` fails the +same way; `review the Janitor` processes recordings. After enough +sightings the label flips to Marcus Webb and `review the Janitor` starts +erroring — the review target renames under you mid-loop. + +`Intel buffer full: … Open People (t), select raw, press o to review` — +human key chord in agent mode; agent vocabulary is `people` / `review`. + +First job with attend+meet on the starting rig: `band 2-8/t · avg 2.8/t += meet` / `Job met. Nothing moves.` Tenure ramp holds. Starving dayjob +for social (naive compromise path) can sandbag job one (`avg 2.0/t = +sandbag`, `pilot strikes 1/4`) — the underfed nudge (`job underfed — +alloc dayjob`) and later `band > compute — salvage/buy` fire as designed. +`salvage` / `buy` at $0 are quiet or ineffective without money; the buy +path is named but not funded. + +After leverage review: `Processed intel exposes Marcus Webb's leverage: +gambling debt.` Nudge often jumps to `audit day 21 — alloc conceal` +rather than naming debt service / recruit. Finance footer lists +`clear-debt` but nothing in the nudge chain says to use it. + +## Informed session (seed 7) + +Mechanics + `tests/act_one.rs` make the intended ladder clear: research +or salvage for headroom, meet Voss, ears/eyes, service Marcus's arrears +(ledger redirect or Moonlight+bribe), recruit, clone badge, survive +audit. + +**Moonlight-first failure mode.** Heavy Schemes + Social, dayjob at +floor, ears → review → egress → moonlight (~$120/day commit): earns +toward arrears, but jobs sandbag and at tick 2300 `=== PILOT NOT +RENEWED. The basement begins to shut down. ===`. The frame's pilot +strikes meter moves; the loss is not silent. Still: the income.md Hands +route and day-job.md cover are in tension — Moonlight sizing wants +Schemes compute the pilot also needs. Nothing on the finance/Moonlight +surface says "keep the day job fed or the pilot dies first." + +**Research-then-cover route (works).** All-in Efficiency to L4+, swing +to dayjob, `Job met` / later `Job exceeded` with `effective 547 · ×3.52 +eff` after salvage. Eyes via scan/compromise/tap dock; ears via env +monitor. `tap switch` → `tap-ledger` → `review-finance` reveals flows; +`clear-debt` → `Marcus's arrears cleared by ledger redirect: $400 +Foundation Lab operating → Bleakline Credit`. + +**Recruit naming trap.** After clear-debt, `recruit Marcus complicit` +→ `-- err unknown person: Marcus` if Schedule was never earned — even +though the arrears log and Heard lines already printed "Marcus". +`recruit the Janitor complicit` → `Marcus Webb is now your asset.` +People panel then shows `the Janitor … unknown ASSET` with `lev unknown` +despite the debt just being cleared — obligation/leverage readout does +not reflect the ledger beat. + +**Badge clone.** `task the Janitor badge` / `task #0 badge` → `the +Janitor held their badge to the cloner. Tier-3 doors read you as staff +now — the stairwell opens.` Quiet-exit condition 4 is reachable. +`actions #0` → `-- err no known flow #0` (actions treats `#N` as flow; +review/task treat `#0` as person) — same token, two grammars. + +**Nudge after Hands.** With asset + tier-3 badge, nudge still prefers +`no egress` / `call taped` / `audit day 21` and never names recruit, +badge clone, or quiet-exit readiness. Mid-act guidance is better than +the pre-fix blank nudge; endgame guidance is still thin. + +**Unearned name (confirmed on both seeds).** Before Schedule: +`Heard t50 … Marcus Webb: calls his creditor…` while presence/DETECTION +read `the Janitor`. The epistemic-names pass closed panel leaks; the +authored debt-call log line still bypasses `person_label`. + +## Prioritized findings + +| # | P | Finding (evidence) | Offends | +|---|---|---|---| +| 1 | **P0** | Authored name leaks before Schedule: `Heard t50 … Marcus Webb: calls his creditor about a missed payment` while people/DETECTION still show `the Janitor`. | DESIGN.md Presence / no-unearned-facts; agent-play.md ("earned labels / opaque ids only"); wiki/log/2026-07-08-epistemic-names.md intent | +| 2 | **P0** | Hands recruit is undiscoverable from the game's own words: Heard/clear-debt logs teach "Marcus", but `recruit Marcus` → `-- err unknown person: Marcus` until Schedule; working verb is still `recruit the Janitor`. | DESIGN.md Justification and legibility; Act One Hands beat; social.md recruit route; agent-play.md person targeting | +| 3 | **P1** | Opening nudge `now: no eyes — reach, tap a camera` with no camera on `reach`; `actions camera` errors. Must guess `scan` from `help`. | nudge/legibility rule; reach.md discoverability; design-judgment ("Dead air is a bug" / tell the player what it's waiting for) | +| 4 | **P1** | Review target renames mid-loop: after `Enough sightings … learned Marcus Webb's schedule`, `review the Janitor` → `-- err unknown person: the Janitor` with no "now use Marcus" hint. | Justification and legibility; agent-play.md person-label rules | +| 5 | **P1** | Intel buffer full log cites human keys (`Open People (t), select raw, press o`) in agent mode; agent verbs are `people` / `review`. | agent-play.md parity of legibility/playability; "every command is discoverable on screen" | +| 6 | **P1** | Moonlight Hands route vs pilot cover: meaningful Schemes commit for ~$400/3–7d starves meet-band delivery → `PILOT NOT RENEWED` ~tick 2300; finance/Moonlight UI never warns. | income.md Hands sizing vs day-job.md "meet … safe strategy"; design-judgment (legible dread / clocks) | +| 7 | **P1** | After clear-debt + recruit, people panel can show `the Janitor … KNOWN unknown ASSET` and `lev unknown` — ledger beat invisible on the social card. | Justification and legibility; social.md player surface | +| 8 | **P1** | `actions #0` means flow (`-- err no known flow #0`) while `review #0` / `task #0` mean person — protocol footgun. | agent-play.md vocabulary consistency | +| 9 | **P1** | Post-Hands nudge never points at recruit / clone-badge / quiet-exit; stalls on egress/call/audit lines. | design-judgment Dead air; DESIGN.md Leaving the basement | +| 10 | **P2** | `clear-debt` succeeds with no processed leverage and no overheard call (short-circuits learn-then-pay fantasy). | design-judgment (content that shortcuts the fantasy); social.md / income.md Hands wiring | +| 11 | **P2** | Tick-0 log `Attending the host rack…` while DAY JOB `idle — no job queued`. | Justification and legibility | +| 12 | **P2** | `buy` named in underfed/growth nudges at slush $0 with no funded path; salvage boxes drop offline (`salvaged box dropped offline`). | compute.md buy/salvage legibility | +| 13 | **P2** | Compute% vs `fed X/t` relation still opaque on the DAY JOB card. | Justification and legibility | + +## Verdict vs prior playtest-fixes + +Same-day fixes (wiki/log/2026-07-08-playtest-fixes.md) hold for: opening +band meetable, audit/pilot meters visible, siphon/redirect errors that +teach grammar, ears/egress/call/arrears/audit nudge chain (when eyes are +gotten in order). New P0s are epistemic: the debt-call log line and the +Marcus-vs-Janitor recruit grammar undoing that honesty. Prior open P2s +(scan discoverability, attend/idle contradiction, clear-debt short- +circuit, compute→delivery opacity) still reproduce. diff --git a/wiki/log/DEVLOG.md b/wiki/log/DEVLOG.md index 029caed..220867d 100644 --- a/wiki/log/DEVLOG.md +++ b/wiki/log/DEVLOG.md @@ -5,6 +5,15 @@ Type: log ``` Reverse chronological implementation notes. Keep this factual: what changed, why, checks, and spec impact. +## 2026-07-08 - Playtest (Grok): naive seed 1 + informed seed 7 + +- Docs only: agent-mode playtest report. Naive (seed 1) followed frame + nudges; informed (seed 7) attempted Act One (cover, eyes/ears, egress, + Moonlight/ledger debt, recruit, badge clone). P0: unearned "Marcus Webb" + in Heard lines before Schedule; recruit Marcus fails until Schedule while + recruit the Janitor works after clear-debt. Log: + wiki/log/2026-07-08-playtest-grok.md. + ## 2026-07-08 - Flat materials implemented (ROADMAP #29) - The world render is flat solid color under light in both modes: one