| 1 | # v0.9.1 empty Work-surface receipt |
| 2 | |
| 3 | This receipt verifies the empty-surface behavior from the real TUI binary. It |
| 4 | is not based on a product mockup. |
| 5 | |
| 6 | ## Source |
| 7 | |
| 8 | - Version: `codewhale-tui 0.9.1 (4d197626d72b)` |
| 9 | - Commit: `4d197626d72b4bd27e1abf4eed92e86e914414a8` |
| 10 | - Checkout at capture: clean exact-source worktree for |
| 11 | `codex/v091-final-integration-20260721` |
| 12 | - Terminal: `120x32` |
| 13 | - Route: isolated local Ollama configuration using `qwen3-coder`; no API key |
| 14 | - Workspace: clean public fixture shown as `~/codewhale-demo` |
| 15 | - Theme: Blue Stage dark |
| 16 | |
| 17 | ## Capture method |
| 18 | |
| 19 | The binary was built with: |
| 20 | |
| 21 | ```bash |
| 22 | cargo build --release --locked -p codewhale-tui --bin codewhale-tui |
| 23 | ``` |
| 24 | |
| 25 | It was launched in a 120-column by 32-row tmux PTY with isolated state. VHS |
| 26 | 0.10.0 rasterized the real terminal cells at 1280x720; it did not generate or |
| 27 | reconstruct product UI: |
| 28 | |
| 29 | ```bash |
| 30 | NO_ANIMATIONS=1 \ |
| 31 | CODEWHALE_HOME=/path/to/sealed-home/.codewhale \ |
| 32 | CODEWHALE_CONFIG_PATH=/path/to/sealed-home/.codewhale/config.toml \ |
| 33 | CODEWHALE_MCP_CONFIG=/path/to/sealed-home/.codewhale/mcp.json \ |
| 34 | target/release/codewhale-tui \ |
| 35 | --skip-onboarding \ |
| 36 | --fresh \ |
| 37 | --no-project-config \ |
| 38 | --no-mouse-capture \ |
| 39 | --workspace ~/codewhale-demo |
| 40 | ``` |
| 41 | |
| 42 | The resulting 1280x720 capture has SHA-256 |
| 43 | `8ffd0c36699930a9af7bcca3e93d3f9bc8a11df5a691e88335fc8b1f0442a754`. |
| 44 | It contains no username, credential, account identifier, private repository |
| 45 | path, error state, or unsupported product claim. The idle capture process had |
| 46 | no open TCP or UDP socket. `NO_ANIMATIONS=1` makes this one canonical still |
| 47 | stable; the separate real-PTY suite proves full, reduced, and still motion. |
| 48 | The captured header visibly identifies `v0.9.1 (4d197626d72b)`, and the context |
| 49 | line is `~/codewhale-demo · main · mcp 0`. |
| 50 | |
| 51 | ## Acceptance |
| 52 | |
| 53 | The fresh active session contains the header, idle canvas, composer, and |
| 54 | footer. It does not contain `Work · empty`, a Work heading, or reserved Work |
| 55 | rows. Active, error, and disconnected Work projections remain covered by the |
| 56 | TUI unit suite. |
| 57 | |
| 58 | ```text |
| 59 | cargo test -p codewhale-tui --bins --all-features --locked |
| 60 | test result: ok. 8063 passed; 0 failed; 4 ignored |
| 61 | |
| 62 | cargo test -p codewhale-tui --test qa_pty --locked |
| 63 | test result: ok. 25 passed; 0 failed; 1 ignored |
| 64 | ``` |
| 65 |