038 QA / 2026-10-02 UTC
技術・操作確認。人の面白さ確認ではない。

純粋モデル/UI 17テスト通過。test_results.txt。
成立購入の原子性：所持金＋支払済み＝初期金、在庫数＋袋数＝6、袋上限3、重複品なし。
購入拒否時はreason以外完全不変、店主Memory/価格履歴へ成立購入を追加しない。
固定された提示額を今回の支払へ使用。強気は残り品だけ初値×2、売急は一度だけ初値−1/最低1。
候補整合検査は真タイプが必ず含まれること、定価/売急が残る場合、強気/売急が確定する場合を独立検査。
自店のイベント＋品種だけをObservationへ。他店への質問で自店Memory不変。
Bの順序：Aジャム→A茶→Bジャム15 / 逆順13。設計候補の倍額で実際に2違うことを検証。
全経済状態列挙A1264/B1696/C912（袋の由来順を含む）。最大19/20/18、全三面に二品成功。
独立監査は袋順を同一視した368/484/304状態でも同じ最大と可達性を確認。
毎回見送り、最安順、中央品だけ、同品三店、全店質問、同じ口上の左順をdegeneracy_audit.jsonへ記録。
全店に無料質問して最安順でもBは14で未達。無料質問を罰せず、容量/隣接/順番で選択を残した。
例の「三店」は方策が試す順序。予算不足なら三個買えない場合があり、ログに拒否をそのまま保存。

入力/UI
Z保持で提示から購入へ進まない。別の新しい押下が必要。
開始/提示/購入/帰宅/市場切替/停止は全操作キーrelease gateあり。複数の同時actionキーは無視。
全三面の証拠候補/確認/拒否/通常/勝利/未達/説明/デモ/比較のテキスト境界と字形集合を検査。
テスト内writerはstub。media全体のhashがテスト前後不変であることをvalidate_artifacts.pyで再検査。
cp932既定を模擬し、日本語+空白パスにコピー、/tmpをcwdにUI字形読込み・描画。
BATはASCII、%~dp0を引用、失敗時pause。ファイル読書きUTF-8明示。

実GUI（Linuxクラウドデスクトップ、20:30〜20:32 UTC）
タイトルの日本語、SPACE400ms開始、Z600msで提示だけ・未購入を確認。
新しいZ500msでA茶一個だけ購入。次のAジャムは初値3→提示6、候補「強気」。
Xで見送り。B茶の提示4、新品価値5＋手持ち上昇2、合計予告15を確認。
購入後袋二個、残金5＋価値10=15。帰宅確認から新しいZで達成。
R同市場再開、P説明/再開、C切替、帰宅確認X取消、改めて無購入帰宅9で未達。
Aへ切替、無購入帰宅10で未達。Escape終了、ウィンドウ不在を確認。
media/native_confirmation.png / native_price_doubled.png / native_neighbor_preview.png / native_success.png / native_safe_return.png。
media/gui_events.jsonに全状態hash、操作、遷移。三面全成功のネイティブ操作とは主張しない。

実映像
media/market_habits_automatic_silent.mp4。実Pyxelレンダラー、自動入力、無音。
全747キャプチャGIFフレームを順序通り一回ずつ30fps入力し、24.900秒。
750論理更新とキャプチャ枚数は区別する。フレーム落とし/複製で帳尻合わせしない。
GIF遅延は30/70msを含むが百分秒量子化を使用しない。ffprobeの映像747/30fps/24.900秒、音声なしを確認。
timing_validation.jsonに全入力フレームhash。replay.jsonの全自動取引がモデルの同入力列と一致、最終19。

一変更比較
B同初期値・補助目標12、隣ボーナスだけ有/無。--comparison/--baselineで独立起動可。
A茶だけなら両版12達成。B茶を追加する同じ取引で15対11。
提示画面にも新品5/3、手持ち+2/0の違いを出す。actual comparison_* PNG/JSON保存。

未確認
人の初見理解・判断の楽しさ・再試遊希望、ネイティブWindows/macOS動作、音の実聴。
音楽・効果音は実装していない。モデル最大値を面白さと呼ばない。公開投稿なし。
ライセンスは元コード/図形MIT、同梱Noto字形は別のSIL OFL。
