Skip to content

release: 監査 10 agent の指摘を直し、手順書の無音の罠を塞ぐ - #79

Merged
ayutaz merged 1 commit into
mainfrom
release/v0.4.0-audit
Sep 12, 2026
Merged

ayutaz merged 1 commit into
mainfrom
release/v0.4.0-audit

Conversation

@ayutaz

@ayutaz ayutaz commented Sep 12, 2026

Copy link
Copy Markdown
Owner

release: 監査 10 agent の指摘を直し、手順書の無音の罠を塞ぐ

ultracode で 10 agent の監査を回した(配る実物との突き合わせ/実装との
突き合わせ/穴の申告の甘さ/手順の遵守、に加えて公開後に直す 10 ファイルの
地図)。生の findings 31 件 → 重複排除 25 件。3 本以上が独立に同じものを
挙げた項目が 3 つあった。

手順書の Critical(finding N)

step 7 のコマンドが v0.3.0 直書きで、そのまま実行しても落ちない。
全部入りの asset 名には版番号が入っていない(OpenUPM が安定した接頭辞で
選ぶため)ので、前の版の asset も同じ名前である。前の版は公開済みで現存し、
中には全 platform が揃っているので native plugins present: N まで通って
exit 0 になる。 dev.ps1 test-unity-tarball は package の version を
照合しない ―― 完全に無音の偽合格である。

grep '"version"' <out>/package/package.json を手順に足し、それが
「前の版を検証して合格した」と「この版を検証して合格した」を見分ける唯一の
手段である
と書いた。

手順書のその他

  • 打ち直すときの順序を step の中に足した(release.yml は条件なしに
    gh release create を呼ぶので、古い下書きを残すと 2 つ並びうる)。
    あわせて 「そもそも打ち直すべきか」を先に考える節を書いた ―― 差が
    本文だけなら gh release edit --notes-file で足り、検証済みの asset を
    捨てずに済む。
    native binary はバイト単位で再現しないので、本文に実物の
    大きさを書いていると測り直し → 本文修正 → 再 tag の無限ループになりうる
  • step 8 に Latest バッジの確認を足した
  • step 10 の一覧に docs/m4-device-verification.md を足した(10 ファイル)。
    README は「Status と導入の節」では足りず、「次の版から効く」のような
    相対表現は版番号で grep しても引っかからない
    ことを明記した

本文(配られる Release の説明)

  • CvOps の本数が 8 と 9 で自己矛盾していた。 9 が正しい(v0.3.0 の 3 本
    → 12 本)。本数を落として api-map に任せる形にした
  • namespace の一般化が実物と違った ―― 「他の公開クラスは CvUnity」だが、
    Unity 連携は CvUnity.Unity である。この版で増えた
    RenderTextureConverter がまさにそれ
    で、using CvUnity; だけでは
    見つからない
  • checksums.txt は展開先の root では 6 件とも失敗する(各行が
    package/ からの相対パス)。監査が実際に走らせて確かめた。cd package を
    含む例を足した
  • CI の GPU がソフトウェア実装(xvfb + Mesa)であることを明記
  • 起動時間の数字が「真の初回ロードを捉えていない」留保を明記
  • dnn を立てて Unity を走らせる CI レーンは Linux の 2 本だけで、
    他 5 platform の Player に dnn の C# assembly が入った状態は 1 度も
    作られていないことを明記

**ultracode で 10 agent の監査を回した**(配る実物との突き合わせ/実装との
突き合わせ/穴の申告の甘さ/手順の遵守、に加えて公開後に直す 10 ファイルの
地図)。生の findings 31 件 → 重複排除 25 件。**3 本以上が独立に同じものを
挙げた項目が 3 つあった。**

## 手順書の Critical(finding N)

**step 7 のコマンドが `v0.3.0` 直書きで、そのまま実行しても落ちない。**
全部入りの asset 名には**版番号が入っていない**(OpenUPM が安定した接頭辞で
選ぶため)ので、前の版の asset も同じ名前である。前の版は公開済みで現存し、
中には全 platform が揃っているので `native plugins present: N` まで通って
**exit 0 になる。** `dev.ps1 test-unity-tarball` は package の version を
照合しない ―― **完全に無音の偽合格である。**

`grep '"version"' <out>/package/package.json` を手順に足し、**それが
「前の版を検証して合格した」と「この版を検証して合格した」を見分ける唯一の
手段である**と書いた。

## 手順書のその他

- **打ち直すときの順序**を step の中に足した(`release.yml` は条件なしに
  `gh release create` を呼ぶので、古い下書きを残すと 2 つ並びうる)。
  あわせて **「そもそも打ち直すべきか」を先に考える**節を書いた ―― 差が
  本文だけなら `gh release edit --notes-file` で足り、**検証済みの asset を
  捨てずに済む。** native binary はバイト単位で再現しないので、本文に実物の
  大きさを書いていると**測り直し → 本文修正 → 再 tag の無限ループ**になりうる
- step 8 に **Latest バッジの確認**を足した
- step 10 の一覧に `docs/m4-device-verification.md` を足した(10 ファイル)。
  README は「Status と導入の節」では足りず、**「次の版から効く」のような
  相対表現は版番号で grep しても引っかからない**ことを明記した

## 本文(配られる Release の説明)

- **`CvOps` の本数が 8 と 9 で自己矛盾していた。** 9 が正しい(v0.3.0 の 3 本
  → 12 本)。本数を落として api-map に任せる形にした
- **namespace の一般化が実物と違った** ―― 「他の公開クラスは `CvUnity`」だが、
  Unity 連携は `CvUnity.Unity` である。**この版で増えた
  `RenderTextureConverter` がまさにそれ**で、`using CvUnity;` だけでは
  見つからない
- **`checksums.txt` は展開先の root では 6 件とも失敗する**(各行が
  `package/` からの相対パス)。監査が実際に走らせて確かめた。`cd package` を
  含む例を足した
- CI の GPU が**ソフトウェア実装**(xvfb + Mesa)であることを明記
- 起動時間の数字が「**真の初回ロードを捉えていない**」留保を明記
- **dnn を立てて Unity を走らせる CI レーンは Linux の 2 本だけ**で、
  他 5 platform の Player に dnn の C# assembly が入った状態は 1 度も
  作られていないことを明記
@ayutaz
ayutaz merged commit 4510dd8 into main Sep 12, 2026
42 checks passed
@ayutaz
ayutaz deleted the release/v0.4.0-audit branch September 12, 2026 17:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant