> For the complete documentation index, see [llms.txt](https://ai-os-and-trend-finder.gitbook.io/ai-os-and-trend-finder-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ai-os-and-trend-finder.gitbook.io/ai-os-and-trend-finder-docs/docs/extensions/ai-rogue/playtest-notes.md).

# AI Rogue Playtest Notes - 2026-06-22 Rebuild

> **Scope:** Records whether the rebuilt run loop is actually a game, per the Minimum Bar in the [Run Loop Rebuild Notes](/ai-os-and-trend-finder-docs/docs/extensions/ai-rogue/run-loop-rebuild-notes.md).

## What changed

The original Play route ran a fixed five-row `"movement"` fixture: one avoidable enemy, win by pressing ArrowRight eight times, no live combat, dead action buttons. It was rebuilt into a real run:

* The route now uses the seeded `createAiRogueWorld` generator with a guaranteed exit guard and a three-relic shrine per floor.
* Reaching an exit descends to a fresh, tougher generated floor; a run is three sectors deep, and only the final exit wins.
* `primary` is **Strike** (attack the faced tile in place); `secondary` is **Surge** (spend 3 shards to blast all adjacent enemies). Neither is a no-op.
* A third enemy behavior (`swarm-rusher`) hunts from anywhere on the floor, distinct from melee chasers and ranged sentries.
* Attack, defeat, pickup, and descent events now render feedback sprites.
* The Play route leads with a "How to play" panel; runtime/seed/save diagnostics are collapsed under a "Developer diagnostics" disclosure.

## Automated playthrough (evidence the loop is real)

`scripts/ai-rogue-playthrough.ts` drives the real simulation with a tactical policy (clear adjacent enemies in place, surge clusters, retreat to heal, path to the exit). Across six seeds it produces full, varied runs: combat is mandatory, relics compound (attack 4 to 8-10 via Overclock shrines), floors descend, and death is real:

| Seed        | Result | Depth | End HP | Enemies killed | Relics |
| ----------- | ------ | ----- | ------ | -------------- | ------ |
| awesome-run | won    | 3/3   | 13/20  | 2              | 3      |
| delta-seed  | won    | 3/3   | 14/20  | 7              | 3      |
| theta       | won    | 3/3   | 22/24  | 7              | 3      |
| gamma-seed  | lost   | 3     | 0      | 5              | 2      |
| omega       | lost   | 1     | 0      | 3              | 0      |
| sigma       | lost   | 1     | 0      | 3              | 0      |

A mediocre, non-kiting bot wins roughly half its runs and dies the rest, often on floor 1 when it rushes the guard without powering up first. That is the intended shape: a skilled human should win more reliably, but death is a genuine threat and a run cannot be completed by walking to the exit. This is the direct inverse of the original "eight ArrowRights and you win, no combat" deliverable.

Phase 34 closeout reran `bun run scripts/ai-rogue-playthrough.ts` on 2026-06-26 after the audit remediations. The command passed with caveat: six seeds exited 0, with 2 wins, 1 loss, and 3 active runs stopped at the 4,000-turn cap on depth 3. The active-at-cap results are tracked as a known non-blocking caveat unless later gameplay evidence promotes a concrete soft-lock.

Phase 35 Session 10 reran the same deterministic playthrough command on 2026-06-27 after hardening, refactors, documentation sync, and final release gates. The command exited 0 with the same release classification: 2 wins, 1 loss, and 3 active-at-cap runs on depth 3.

| Seed            | Result | Depth | Turns | End HP | Classification                     |
| --------------- | ------ | ----- | ----- | ------ | ---------------------------------- |
| `awesome-run:0` | active | 3     | 4000  | 17/24  | Active at cap; non-blocking caveat |
| `delta-seed:0`  | active | 3     | 4000  | 13/20  | Active at cap; non-blocking caveat |
| `gamma-seed:0`  | lost   | 3     | 135   | 0/20   | Expected loss outcome              |
| `omega:0`       | won    | 3     | 175   | 18/24  | Win outcome                        |
| `sigma:0`       | won    | 3     | 199   | 16/24  | Win outcome                        |
| `theta:0`       | active | 3     | 4000  | 15/24  | Active at cap; non-blocking caveat |

The active-at-cap caveat remains visible because three runs reached depth 3 and retained HP at the harness turn cap. It is not a release blocker for the current production posture unless future evidence shows a concrete soft-lock.

## Verified mechanically

* Forced combat at every exit (`roguelike-loop.test.ts`, `rng.test.ts`).
* Multi-floor descent and final-floor win (`roguelike-loop.test.ts`).
* Strike hits without moving; Surge spends shards and refuses when broke.
* Swarm-rushers hunt from range while melee chasers give up, which is distinct behavior.
* Relic shrine applies one effect and consumes the rest.
* Different seeds produce materially different maps.
* A scripted browser combat encounter uses the local/test-only runtime scenario hook to assert attack damage text and changed canvas pixels (`tests/e2e/ai-rogue-runtime.spec.ts`).

## Browser verification (2026-06-22)

The Play route was launched in a real browser (Vite dev + headless Chromium, PixiJS WebGL) and driven through a generated run plus the local/test-only combat fixture. Findings and fixes from actually looking at it:

* The dungeon used to render small and float in a sea of black. Fixed: the camera now zooms small floors to fill the canvas and uses a player-centred scrolling camera on large floors, with the HUD anchored to the canvas bottom (`render-model.ts`).
* The canvas header showed implementation telemetry ("Shell ready / The shell can read extension runtime data"). Replaced with player copy ("Ready to play / Choose a seed, press Start, and descend").
* Confirmed on screen: generated dungeon with fog, a forced combat encounter, Strike/Surge feedback bursts, and a health/shard/relic HUD.

## Still owed

* **Human fun verdict** - the one gate only a person can sign: is it fun, tense, and worth replaying for five minutes, and do floor-1 swarm deaths feel fair or cheap? Play several seeds at `/extensions/ai-rogue/play` and record honestly.
* **Current game-feel browser verdict** - audio, HUD text, FX, motion, run arc, and deeper art usage have since landed. Browser-smoke several seeds and record whether those presentation changes read correctly in real play.

## Latest Automated Browser Gates

Phase 35 Session 10 reran the focused AI Rogue browser gate group on 2026-06-27: runtime, mobile, ledger, persistence, and enablement specs passed with 17 Chromium tests. Pages demo desktop/mobile smoke also passed with 48 `pages-demo-chromium` tests, including AI Rogue Play, Ledger, Loadout, Settings, mobile no-overflow, painted canvas, compact movement, and no `/__*` route requests.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://ai-os-and-trend-finder.gitbook.io/ai-os-and-trend-finder-docs/docs/extensions/ai-rogue/playtest-notes.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
