> For the complete documentation index, see [llms.txt](https://docs.kouch.dev/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kouch.dev/docs/agents/findings.md).

# Findings log: bugs, inconsistencies, and how each ended

A living list of what testing found (the crawl, the sweeps, the Deck, the second PC, the owner), who owns each item and where it stands. Newest round first. When an item is fixed, write the commit and how it was verified; don't delete it.

* Owners: A (shell & look), B (core & storage), C (controllers, social & setup), central (coordination, rigs), docs (the user guide).
* Status: **open**, **fixing** (someone has it), **fixed** (commit, not yet re-tested), **verified** (re-tested), **by design** (with the reason).

## The owner's goal round (from 2026-09-29, still open)

The owner asked for all of these together:

* the whole UI responsive at every screen size;
* fully usable by keyboard only and by mouse only;
* smooth;
* deep testing, fixing every bug and inconsistency;
* motion in games;
* controller types per console and game (`CONTROLLER_TYPES_PLAN.md`);
* automatic and manual graphics;
* documentation, including the user guide redone.

### 2026-09-30

| #  | Finding                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | Found by                        | Owner                             | Status                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| -- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------- | --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1  | Chat: in a conversation (Friends online › a friend) the mouse has no way back to the list. The X closes the whole sheet; Esc/B returns to the list; the bar says "Esc Close" and shows "Enter Select" and "Enter Send" together. Wanted: a clickable Back = Esc, labels that match                                                                                                                                                                                                                                                                                                                                                                                                                   | `ui-crawl` 1280×800 (7 cells)   | C                                 | verified (`79fe51b`; `ui-crawl` at 1280×800 on main: 0 failures in 24 states, no long tasks)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 2  | Quick Menu › Players ignores Settings › Display › Controller pictures = Simple (the connect screen switches live)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | second PC, round 10             | C                                 | verified in round 11 (`96a64b1`, second PC)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 3  | One glyph source: under the Steam Controller style the connect header's Ⓐ (C) and the glyphs inside Play/Favorite (A) still use the fallback outline set; the prompt bar has the new set                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | second PC, round 10             | A, C                              | verified in round 11 (`96a64b1`, second PC): pad mode and key mode each use one set everywhere                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 4  | The game page's Play (`k-iconbtn is-primary`) shows its focus ring in the accent colour, the same as its fill. `k-button` primary was fixed in `caa0369`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | second PC, round 10             | A                                 | verified in round 11 (`96a64b1`, second PC): Play's ring in Black and White (the on-screen keyboard's Done not tested)                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| 5  | Kenney's Steam Controller d-pad doesn't match the 2026 controller; the Steam Deck set's d-pad does. Use the Deck's five d-pad glyphs                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | owner                           | C                                 | verified in round 11 (`96a64b1`, second PC)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 6  | Keyboard prompts should use Kenney's keyboard & mouse glyphs, not drawn keycaps                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | owner                           | C                                 | verified in round 11 (`96a64b1`, second PC): the widest bar fits at 1280×720 and 150 %                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| 7  | `ui-crawl` flagged Settings as "no mouse close". Back from a category returns to the list first, as the first Esc does; the crawler gave the mouse one click and Esc three presses. The crawler now allows three clicks and still fails a click that closes past the parent                                                                                                                                                                                                                                                                                                                                                                                                                          | `ui-crawl`                      | central                           | by design; crawler fixed (`19620c4`); a mouse-only re-run shows no Settings failure                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 8  | The owner's own Kouch was silent. An agent's `verify` route (muted on purpose) was left in `next-test.txt`, and the second PC's agent muted Kouch through `audio.master 0`, which every "restore" kept. The route is back to `dist`; the rule is in CLAUDE.md (`e670746`); the second PC is back to 0.8                                                                                                                                                                                                                                                                                                                                                                                              | owner                           | central                           | fixed                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 9  | Friends widget fill: 40 cells (10 sizes from 1280×720 to 3840×2160, 100 % and 150 % text, 40 friends and the default mock). No box had room for a row it didn't show; nothing clipped. The row count is the same at every size because the stage scales with the screen (4 rows at 100 %, 2 at 150 %)                                                                                                                                                                                                                                                                                                                                                                                                | central                         | —                                 | verified                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 10 | With the mouse, Settings › About needs the wheel to reach its lower rows                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | second PC, round 10             | A                                 | by design (the wheel is a mouse action; keyboard focus scrolls)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| 11 | Mouse-dwell fold on Home wasn't tested on the second PC: it has one game, and the fold needs two recent entries. A second stand-in has been asked for                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | second PC, round 10             | central                           | verified in round 10 item 6b (two games): the fold works, with no flicker in 8 fast sweeps. New finding 15                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| 12 | Deck: `connect` 82–83 fps, below the 85.5 bar (layout per join)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | Deck tour                       | C                                 | fixing (A). Deck A/B on `1aaa1c7`: the realistic pictures' CSS masks cost \~1 fps on connect (82.9 vs 84.1 with Simple) and \~2 fps in friends\_list and sheet; `contain: layout style` per box didn't help. Two parts: A draws the pictures as inline SVG instead of masks, and the per-join relayout (\~800 layout objects for \~5 dirty) is traced to what invalidates the grid                                                                                                                                                                                                                   |
| 13 | Deck: `sheet` and `friends_list` at the bar. Every sheet body now scrolls on its own layer, and the Shelf's first pull snaps (`72babfd`); A/B against `c677e65` in progress                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | Deck tour                       | A                                 | fixed                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 14 | Change artwork's second picture row was cut at every size                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | A's sheet sweep                 | A                                 | fixed (`72babfd`)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 15 | Unfolding Home by resting the mouse leaves focus in the games: a card the unfold pushed off-screen stays focused (only a sliver of its ring shows), and Left then goes to the hero, not the widgets. Folding by dwell does move focus correctly                                                                                                                                                                                                                                                                                                                                                                                                                                                      | second PC, round 10 item 6b     | A                                 | verified in round 11 (`96a64b1`, second PC)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 16 | On the folded small "Last played" card, the badge covers the title                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | second PC, round 10 item 6b     | A                                 | verified in round 11 (`96a64b1`, second PC)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 17 | Owner decision on UI icons (side-by-side page): keep Kouch's line icons. Players, friends, online play and chat switch to Kenney's; add the signal bars, cloud, tilt, trophy, ranking, recenter and locked. ADR 0025 amended                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | owner                           | A                                 | verified in round 11 (`96a64b1`, second PC): the gamepad, group, speech-bubble and target icons (the friends icon shows only in empty states)                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 18 | Motion pointer: Kenney hands per player (pointing, closed while A is held, open at rest). The mouse cursor: Kenney's shaded arrow (`pointer_b_shaded`)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | owner                           | C                                 | verified in round 12 (`beb1752`, second PC): the real cursor, captured, is Kenney's shaded arrow over every Kouch element (no hand) and the game's own cursor over the game; the motion hand showed as P1's red hand                                                                                                                                                                                                                                                                                                                                                                                 |
| 19 | Controller types: the four test profiles have their types drafted and validated. The pointer console defaults to the remote with its attachment, and a pointer-console party game the owner named defaults to the remote alone (`game_defaults`, private profile). Live check of each type's bindings pending                                                                                                                                                                                                                                                                                                                                                                                        | owner (goal)                    | C                                 | verified live (`9c96ac3`, EARLY\_TESTS "Controller types, live"), read back from each emulator's own config after real launches. Pointer console: attachment (default), upright, sideways and classic each rewrite all four remotes, and the party game got its game default (sideways) with no per-game setting. Tablet console: player 1 switches between the pad with a screen and the pro pad. Handheld: launched on its one type. The hybrid console waits on the owner's keys. The owner's folders were unchanged                                                                              |
| 20 | Automatic graphics: `device_info` (T5; DXGI inside the existing `kouch-launch/src/windows.rs` island, sysfs on Linux), then the resolution side of T6, then `.kod` icons (T2). The Automatic/Manual UI (T6) is built on the mock meanwhile                                                                                                                                                                                                                                                                                                                                                                                                                                                           | owner (goal)                    | B, A                              | built and verified. Deck in the hand: 1280×800 @ 90 Hz, 1× (720p), handheld mode. Deck docked to a 1080p TV (owner, 2026-09-30): docked true, display 1728×1080 @ 60, the hybrid console switches to docked mode at 1× (1080 lines), and the tablet console gets 1920×1080. Windows live on real emulators (`aecd524`). The second PC's laptop is in round 13                                                                                                                                                                                                                                        |
| 21 | Signal bars in colour: weak red, fair amber, strong green, from contrast-checked tokens. The weak icon blinks when the ping is very high (proposed ≥ 300 ms or loss), as a WAAPI opacity pulse, steady under reduced motion. One `SignalIcon` component, which C uses for netplay, LAN and Remote Play                                                                                                                                                                                                                                                                                                                                                                                               | owner                           | A, C                              | fixed in the UI (`703480d`) and the data (`fc8f8b1`: ping and loss on lobby peeks, netplay members and LAN peers/sessions); C is wiring it into the rows                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 22 | Motion in games: a pointer-console platformer's shake did nothing, because Steam clamps acceleration at ±2 g per axis and flattens hard shakes. The pointer-console profile now drives the emulator's own shake input on the remote and its attachment when an axis nears the cap, or while R1 is held (`b5d0427`). Pointing was confirmed smooth by the owner. Recorded in EARLY\_TESTS "Motion in a real game under Steam"                                                                                                                                                                                                                                                                         | owner, 2026-09-29               | B                                 | verified (owner)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| 23 | The motion pointer (the remote-style cursor on Kouch's own screens): one per seated player with motion, yaw/pitch like a gyro mouse. R3 toggles it per player while pads drive Kouch; a game still gets R3 (`031b11a`)                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | owner                           | C                                 | verified (Deck, dev vpad)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 24 | Setup › main folder: choosing a drive with an existing Emulation folder adds the "use the existing folder" rows, so the step re-fits and the whole wizard shrinks about 6.5 % (`--k-fit` 1.048 → 0.980 at 1280×800), then grows back on another drive. Nothing outside the options block should move: the same rows for every drive, or a reserved height, and the fit settled per step                                                                                                                                                                                                                                                                                                              | owner                           | C                                 | verified in round 11 (`96a64b1`, second PC) too: cards 366×218 at the same x/y across drives                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 25 | Deck A/B `72babfd` vs `c677e65` (two tours each): no regression. sheet 86.9/85.4 vs 86.7/86.3, friends\_list 86.8/85.7 vs 85.2/86.5, connect 85.1/83.2 vs 82.8/83.6. shelf\_setup's max frame is unchanged (\~106 ms): mount cost. A timeline around the shelf switch is next                                                                                                                                                                                                                                                                                                                                                                                                                        | central                         | A                                 | open (shelf\_setup)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 26 | `deck-tour.sh` on a dropped ssh: the exit cleanup unmuted the Deck while the tour's Kouch kept running, so it was audible. The Deck scripts now stop Kouch before unmuting                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | central                         | central                           | fixed                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 27 | Setup › Look says Black/White can be switched "in Settings › Theme"; it's in Settings › Display (and quick access)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | docs agent (screenshot pass)    | C                                 | verified in round 11 (`96a64b1`, second PC)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 28 | Library › Collections: four Downs from the top to the Emulators section can leave the emulator cards' tops (their 1/2/3 badges) clipped under the tab bar; one Up fixes it                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | docs agent (screenshot pass)    | A                                 | top edge verified in round 12; at 150 % the bottom edge still shows row 2 peeking 17 % while row 1 is focused at scrollTop 0 (A with C)                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 29 | Game menu › "Change emulator profile…": B returns to the menu page instead of closing                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | docs agent (screenshot pass)    | —                                 | by design (B goes back one level everywhere)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 30 | Library › Collections › Emulators at 150 %: the emulator cards' own content overflows (the version line cuts the names)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | A (while checking #28)          | C                                 | fixed (`c529c53`: rows sized to their content, on even pixels, pills on whole pixels; the Collections sweep is green at 1280/1920/4K/150 %)                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 31 | Stale repo docs, from the guide redo; each claim was checked against the code before editing. PROFILE\_AUTHORING: the no-section import (K7 choices in the import sheet; only a bare profile or a whole bundle refuses), `Emulation\mods`, `mods.layout`, the mod `targets` fields and matching. ALPHA: "Take everything", what already works between testers, rumble, split pairs. THEME\_FORMAT: the Workshop blocklist is local only for now. PLUGIN\_AUTHORING: string, hotkey and grid-file limits. DESIGN §6.8: BrowserBack, and Tab walks the screen instead of being suppressed                                                                                                              | docs agent                      | central                           | fixed                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 32 | LAN play: rumble to a guest PC never arrived. The host sent it from a spare socket to the guest's TCP address, and the guest's connected UDP socket drops anything else; a millisecond-based sequence could also repeat a nonce. It now goes from the host's own UDP socket to the guest's sending address, with one increasing sequence (`fc8f8b1`)                                                                                                                                                                                                                                                                                                                                                 | B (while adding LAN ping)       | B                                 | verified 2026-09-30: two instances on one PC, the guest started by Steam through the wrapper (Steam Input on) with the dev virtual pad as its only seated pad, the host an isolated build. 3 of 3 host rumble tests reached the guest's pad: host send → guest receive → the pad's own log in about 0.5 ms (`e66a98c` logs it). Both sessions reported ping 0 ms (sub-millisecond on loopback) and no loss                                                                                                                                                                                           |
| 33 | Deck A/B `1aaa1c7` vs `72babfd` (Kenney icons, hand cursors, signal bars; two tours each): no regression beyond ±1 fps. sheet 87.5/86.0 vs 86.4/85.2, friends\_list 87.7/87.2 vs 87.3/85.8, connect 83.9/83.7 vs 84.6/83.4. Numbers in PERF.md                                                                                                                                                                                                                                                                                                                                                                                                                                                       | central                         | —                                 | verified                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 34 | The second test emulator (graphics packs, OpenGL/Vulkan) exits by itself on its **first** launch with a fresh config and the Vulkan renderer: its own log says "Unrecoverable error in Vulkan renderer … failed to submit command buffer. Error -4" (device lost) with an empty shader cache, and the process ends with 0xC0000409 about 6 s in. Reproduced 2 of 2 on this PC; the next launch with Vulkan runs, and OpenGL runs the first time. It isn't something Automatic chose (Vulkan is also the profile's default). Kouch shows "the game exited by itself"                                                                                                                                  | B (T6 live run)                 | B, A                              | verified live in round 13 (second PC): a real emulator rejected the dummy file, and Kouch showed "The emulator closed right away · Exit code 1, after 0.2 s" with Try with / Try again / Close; nothing retried by itself. The one-launch override wrote the other renderer for that launch only                                                                                                                                                                                                                                                                                                     |
| 35 | The dev virtual pad's feedback log (`e66a98c`) also logs pulses meant for other pads (the owner's pad's boot pulse showed up as "dev virtual controller: pulse" with that pad's handle)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | B (LAN rumble run)              | C                                 | fixed (`d045777`: the dev pad logs only feedback for its own pad)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 36 | Library › Collections at 1920×1080 and 150 %: a collection card's count line ("12 games · you have 10 of them", nowrap) runs 74 px past the card and is cut by the screen edge mid-word                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | A (while fixing #28)            | C                                 | fixed (`e46318c`)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 37 | `device_info` calls a gaming laptop "desktop"; Windows reports a notebook chassis. Classify by SMBIOS chassis type or the power platform role (a battery is only a hint)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | second PC, round 11             | B                                 | verified in round 12 (`beb1752`, second PC): device\_class "laptop", with AutoDevice laptop, tier Mid in the launch log                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 38 | In pad mode the "Tabs" prompt shows only LB; it should show the LB RB pair (key mode shows `[` `]` correctly)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | second PC, round 11             | A                                 | verified in round 12 (`beb1752`, second PC)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| 39 | Mouse only, from a fresh start: clicking a slider's thumb, then pressing Enter, desynced the nav focus once                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | second PC, round 11             | A                                 | verified in round 12 (`beb1752`, second PC): 5 of 5 fresh starts; a thumb click now only focuses the row                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 40 | An empty clickable span sits under the chat's prompt bar                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | second PC, round 11             | C                                 | verified in round 12 (`beb1752`, second PC): only Send and Back are clickable; idle bars are hidden and click-through                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 41 | B's read-only review of today's UI commits (A: `703480d`, `568cff2`, `c204173`, `b88b5c1`; C: `79fe51b`, `9414602`, `15a4afd`, `1aaa1c7`, `c529c53`, `035e170`, `e46318c`) found nothing high or medium. A has four lows: SignalIcon draws full bars when a direct caller passes a null ping; a stale `auto_values` reply can land when switching emulators fast; graphics-mode errors are swallowed without a toast; `revealWhole` reads every row's layout per step. C has three lows: the Collections end-room ResizeObserver writes to the node it watches; the glyph store's no-pad path has no test; an info note on the chat Back label. No contract drift, no rule breaks, no new Deck traps | B (review)                      | A, C                              | A's items 1–3 fixed (`2f1faaf`); the rest are lows with their owners                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 42 | Setup › More disks is too big and not the same size as the step before (owner's screenshot, their display): each step fits on its own with growth up to 2×, so a sparse step balloons (a \~70 px title, \~36 px text) and long drive names are cut ("love to the…"). Wanted: one scale for the whole wizard, capped so nothing grows oversized; drive names on 2 lines at normal size, the full name on focus                                                                                                                                                                                                                                                                                        | owner                           | C                                 | fixed (`547f03f`, `5455ab0`): one scale for every wizard step, growth capped at 1.1 (the title 59 px at 2560×1440, was \~70+), 12 drives page by rows, long names in full on focus, one "Next" on the Emulators step. `data-fit-capped` plus the sweep's centred-band rule (`8f832a0`); C's setup sweep is 0 failing at 1280/1920/2560×1440/4K/150 % in both schemes                                                                                                                                                                                                                                 |
| 43 | Game page › Options: Up from "Use the emulator's settings" goes to "Aim the pointer…", then Volume, then Swap eyes, out of visual order. The rows render grouped by section, but their focus index is the option's place in the profile's raw list (`GamePage.svelte:112`); `GraphicsOptions.svelte:446` does the same. Fix: index by rendered order, plus a guard that every column group's index order equals its on-screen order                                                                                                                                                                                                                                                                  | owner                           | A                                 | fixed (`0a8788b`, `26bdb35`, the friend sheet): every option list and sheet follows on-screen order, guarded by `visualOrderIssues()` in the sweep and `keyboard-order` in the crawl                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 44 | Dual-screen handheld: by default, a big main screen with a small second screen beside it, configurable in Kouch. Profile options: layout, the second screen's size, its position and swap, per emulator and per game; Quick Menu actions where the emulator has hotkeys                                                                                                                                                                                                                                                                                                                                                                                                                              | owner                           | B, A                              | fixed and verified live on Windows (`2541e55`); the Quick Menu's Game page shows "Swap screens" and "Next screen layout" (`47bca2b`). The Deck at 1280×800 needs one of the owner's own games on the Deck                                                                                                                                                                                                                                                                                                                                                                                            |
| 45 | Emulators must launch fullscreen: audit every test profile, verify the window covers its monitor with no border on Windows through Steam (and a second launch), and have the launcher enforce borderless fullscreen when a profile's own setting doesn't hold                                                                                                                                                                                                                                                                                                                                                                                                                                        | owner                           | B                                 | fixed and verified live through Steam (`65dda44`, EARLY\_TESTS "Emulators launch fullscreen"). Before: the reference emulator's first launch on a fresh config was an 818×647 framed window for 8–20 s, then possibly exclusive fullscreen. Now: that profile uses the emulator's borderless mode (covers the monitor at +8 s), and the launcher re-checks the window at 3/10 s (borderless) or 20 s (fullscreen) and makes it borderless on its monitor if it doesn't cover it (a forced-windowed test was fixed at 20 s). It never touches a covering or exclusive window, and every fix is logged |
| 46 | Regression since round 9: game menu › Graphics… with no graphics settings (the empty sheet) no longer takes focus. Focus stays on Home behind it, ↓ does nothing, only Esc closes (in `8f47f62` focus went to Close)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 | second PC, round 12             | A                                 | verified in round 14 (build `0eebd8f`); fixed (`36ec8db`): App and Settings › Emulators each mounted a GraphicsSheet under the same focus group, and leaving Emulators unregistered the group App's sheet used. Each sheet now has its own group, with a test that fails on the shared id; WorkshopPublish's same pattern was sent to C. Round 14 re-checks it                                                                                                                                                                                                                                       |
| 47 | Settings › Transfer: "This PC's name" is empty; it should default to the computer's name                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | second PC, round 12             | B                                 | verified in round 13: the device name is set to the computer's name at start                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 48 | Full `--deck 1` sweep: a sub-pixel crisp box on the connect screen (connect-0, connect-reorder) at several sizes, and a touch target under 44 px on the setup disk step at 1024×640 and 1366×768                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | central (sweep)                 | C                                 | fixed (`5455ab0`: the picture mask fills its box on whole pixels; the toggle row keeps 44 px)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 49 | An older Kouch treats a newer, valid profile as "damaged" and renames it `.corrupt-…`. On the Deck, a build from before `auto` met the hybrid-console profile's `auto` field (`deny_unknown_fields`) and set it aside with a misleading notice; anyone going back to an older Kouch would lose that emulator the same way. Wanted: leave the file untouched and skip it with "saved by a newer Kouch"; at import, refuse with "needs a newer Kouch (it uses: …)"                                                                                                                                                                                                                                     | central (Deck)                  | B                                 | verified in round 14 (build `0eebd8f`); fixed (`97466af`)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 50 | Schema-v3 profiles (source only under `platforms.<os>.source`) can't be installed from the UI: the import sheet says "Nothing to install", the Versions panel is empty, and the cards offer no install, because the UI reads the null top-level `source`. The startup check meanwhile toasts "Update available!" for never-installed emulators. B exposes the host's resolved source; A uses it everywhere and adds Install on a not-installed card                                                                                                                                                                                                                                                  | second PC, round 13             | B, A                              | verified in round 14 (build `0eebd8f`): versions listed, an older one installed and back in about 1 s each, and a re-import offers "Keep mine"; fixed (B `2f930c7`: every profile the UI gets carries this OS's source, and the toast reads " is ready to install."; A `1715bf2`: Install on a not-installed card, mocks in the real v3 shape). Round 14 re-tests the UI install                                                                                                                                                                                                                     |
| 51 | Automatic caps resolution only by the display: a mid-tier laptop GPU on a 4K panel got 9× (3600×2160) on the dual-screen emulator and 4K on the tablet console. Also cap by GPU tier. Also: a misleading log line during a one-launch override, installs that log nothing, and a mixed-slash install path                                                                                                                                                                                                                                                                                                                                                                                            | second PC, round 13             | B                                 | verified in round 14 (build `0eebd8f`): the laptop got 4×, 6×, 1440p and 1.25×, and the launch log lists overridden values; fixed (`4094a79`: low 1080, mid 1440, high up to the display; `3a1ed31`: launch log shows the values in effect, install start/done/failed lines, one path separator)                                                                                                                                                                                                                                                                                                     |
| 52 | Settings › Emulators › Options: Enter on a controller-type row cycles the values in place; the game page opens the picker with pictures and Needs lines. The emulator-level row should open the same picker                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | second PC, round 13             | A                                 | verified in round 14 (build `0eebd8f`); fixed (`769b558`)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 53 | At 150 %, Settings › Emulators cards collapse: the info column shrinks to \~70 px and the path and labels break one word per line                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | second PC, round 13             | A                                 | fixed (`0d420b9`), re-check in round 15                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| 54 | The mouse wheel over a slider changes it while scrolling a sheet; it silently changed an emulator setting and flipped it to Manual. The wheel should scroll unless the slider is in adjust mode                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | second PC, round 13             | A                                 | verified in round 14 (build `0eebd8f`); fixed (`da65209`)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| 55 | Slider labels are cut with an ellipsis at a fixed 144 px, at 1280×720 and 150 % (e.g. "Emulation speed…", "FSR sharpness…")                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | second PC, round 13             | A                                 | verified in round 14 (build `0eebd8f`), except one list-row label (#63); fixed (A `0eebd8f`)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| 56 | Sweep re-check at `da65209` (the old sweep's 72 failing cells are down to 8; 6 were starved captures or pass alone). Two remain: **connect-full** at 1366×768 and 1920×1080, the "on each controller" instruction's left edge sits 3.7–5.6 px from the second column's box edge (Players 2 and 6), a page-edge near miss; **setup-look** at 1024×640, the capped fit's two largest bands are 0.15 and 0.087, so it isn't centred (the rule allows 0.06)                                                                                                                                                                                                                                              | central, sweep                  | C                                 | fixed (`96fbb9f`)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| 57 | The tablet-console profile's resolution option applies nothing unless the game's own resolution graphics pack is installed and enabled. Automatic still picks 2560×1440 and the UI says "Set by Automatic", while the game renders at 1280×720 (catalogue verification, EARLY\_TESTS "Catalogue profiles, Windows half"). Fix: apply the pick through the emulator's own graphics-pack preset for the game's title id (the emulator downloads packs itself), or mark the option unavailable, and leave it out of Automatic, when no pack is found                                                                                                                                                    | central, catalogue run          | B                                 | reopened: `7e2785e` reads the game's pack at launch, but checked live it matched nothing. About half the community packs name the category "TV Resolution" (not "Resolution"), and preset names carry suffixes ("2560x1440 (2K)"). B is widening the match (never "Gamepad Resolution"); the per-game "needs the game's pack" line comes after                                                                                                                                                                                                                                                       |
| 58 | The tablet-console and dual-screen profiles have no volume option (the reference profile has one), so Kouch can't set or mute those emulators' sound. Add a `volume` option to both, and "audio volume" to the catalogue checklist                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | central, catalogue run          | B                                 | fixed (`5446ce4`): a volume option on both                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| 59 | The dual-screen profile binds the emulator's SDL buttons without a pad index, so with several pads it takes SDL's first pad, not seat 1. Use `{seat_pad_1}` from `81c68cc` (a one-player console, so only seat 1 matters)                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | central, catalogue run          | B                                 | fixed (`5446ce4`): bindings on `{seat_pad_1}` by port, and the emulator sees only Steam's virtual pads. Re-check on hardware: pad 1's buttons reach the game through Steam, and a second pad's don't                                                                                                                                                                                                                                                                                                                                                                                                 |
| 60 | The controller picker opened from an emulator's Options (#52's new route): (a) Esc closes both the picker and Options; (b) Enter on the page's Options button then reopens Options with the picker already on top (3 of 3); (c) after choosing in that picker, DOM focus stays on the page's Options button behind the open sheet, and Down moves on the page (Options → Versions & updates → Remove)                                                                                                                                                                                                                                                                                                | second PC, round 14             | A                                 | fixed (`fcd4cc1`): B closes the picker alone, closing Options clears it; re-check in round 15                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| 61 | The connect screen's hero card draws four seat squares (`Claim.svelte`, `[1, 2, 3, 4]`), so a lone player in seats 5–8 lights none (ADR 0026)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | second PC, round 14 (code read) | C                                 | fixed (`bce0d83`): the hero shows the four squares around the lone player's seat (1–4 or 5–8); re-check in round 15                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| 62 | In Automatic, an emulator's sheet showed a non-graphics option at its default (turbo speed 200) while a stored hand value (150, from round 13's wheel slip, #54) sat in `option_values`. Check which one a launch applies, and make the sheet show that one                                                                                                                                                                                                                                                                                                                                                                                                                                          | second PC, round 14             | B + A                             | fixed (B `af20d68`): the launch and the sheet already agreed (a graphics-tab option in Automatic takes the pick, else its default; a hand value waits for Manual). The speed options move to the advanced tab, where a hand value counts in both modes. A checks the sheet shows per-game values above both                                                                                                                                                                                                                                                                                          |
| 63 | Minor, round 14: focus jumps to the list's top row after an install; no Adjust/Done prompt while a slider is in adjust mode; turbo speed's track ends 10–15 px short of the others; the reference emulator's list-row label "Output resampling (up/downscaling)" is cut at 150 % (list rows don't wrap like slider labels)                                                                                                                                                                                                                                                                                                                                                                           | second PC, round 14             | A                                 | open                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 64 | Two timing-sensitive tests each failed once in the Linux container and passed on the re-run, both while the container was the only heavy job: kouch-launch `pause_reaches_a_child_in_its_own_session` and kouch-input `thread::tests::tick_interval_holds_the_2ms_period_at_500hz`. Watch: a second failure of either gets a fix (a wider bound, or a retry around the timing)                                                                                                                                                                                                                                                                                                                       | B, Linux container              | C (kouch-input), B (kouch-launch) | watch                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| 65 | When an emulator that needs the user's own system files closes right away, the quick-exit sheet offers only renderer retries ("Try with Vulkan"). A bad or wrong system file is a likelier cause there (a zero-filled test file crashed the disc-console emulator the same way with every renderer). For a profile with `system_files`, the sheet should also say to check them (never where to get them)                                                                                                                                                                                                                                                                                            | central, catalogue run          | A (text)                          | open                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |

### Round 14 on the second PC (build `0eebd8f`): what passed

Report: `from-second-pc/retest-0eebd8f.md` (+23 shots). #46, #49, #50, #51, #52, #54 and #55 verified (rows above). Also:

* **Controller pictures:** crisp in the picker and in Players, in Black and White, at 1280×720 and 1920×1080.
* **8 players:** one box for one pad, no LB/RB paging (a ninth controller wasn't available).
* **Keyboard-only and mouse-only walks:** OK.
* **By design:** an older version's folder stays on disk after installing another (kept for rollback, ADR 0006).
* **Not tested:** the dual-screen Quick Menu buttons (no dummy for that system there; verified on the main PC, EARLY\_TESTS "Catalogue profiles, Windows half").

### Round 10 on the second PC (build `865ffa5`): what passed

Report: `from-second-pc/retest-865ffa5.md`.

* **Glyph style migration:** "auto" → Steam Controller, once. Auto survives a restart.
* **Controller pictures:** filled, tinted per player, about 60–75 % of the box.
* **Quick Menu › Players** matches the connect screen.
* **The hero card:** 3.1 : 1 at 720p, 800p and 1080p, with the title inside.
* **Controller type:** nothing above Play for a profile without types, and no Options row.
* **Keyboard-only and mouse-only walks:** OK, with no sheet left behind.
* **Filled `k-button` focus ring:** OK in Black and White.
* **The Quick Menu's empty Graphics page:** B Back only.

## Earlier rounds

Rounds 1–9 on the second PC, the online rounds and the Deck tours are summarised in `HISTORY.md` ("Goal round, 2026-09-29"), and the full reports are in the test kit's `from-second-pc/`. Round 9 left two minors, both fixed in `caa0369` and verified in round 10: the filled button's ring and the empty Graphics prompt.


---

# 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://docs.kouch.dev/docs/agents/findings.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.
