DSL 4.0 release smoke
Copyright © 2026 Hiroya Kubo. この文書はCC BY-SA 4.0で提供します。
文書状態: 公開プレリリース4.0.0-rc.8の再現・公開照合・追加smoke手順
対象Issue: tm-kamishibai-docs #47、#169
本書はリリース担当者向けで、一般的な動作確認を説明する文書ではありません。一般的な使い方は 大人向け概要、実装の責務は ソフトウェアメンテナンスガイドを参照してください。
v4.0.0-rc.8はnpm next、GitHub prerelease、Pagesのダウンロード導線として公開済みです。ただし、
推奨安定版はv3.2.3で、正式版v4.0.0は未公開です。Standard SB3の配布正本はGitHub Releaseです。
公開サンプルは、この公開SB3とfreeze commitから再生成したlockを別途照合します。
| 用語 | この文書での意味 |
|---|---|
| manifest | version、commit、成果物、検証結果を固定する機械可読な記録 |
| checksum | 取得・再生成した成果物が固定byte列と一致するか確認する値 |
固定値
正本はsources/dsl4/release-smoke-4.0-candidate.jsonです。
| 対象 | 固定値 |
|---|---|
| candidate merge | ad244910b6bf579b8eb7c7af70d72b7ca4b1fff6 |
| freeze/tag commit | 29c0deadcb98badf94a0244c479ca896dc71f842 |
| version | 4.0.0-rc.8 |
| release source | tag v4.0.0-rc.8(現行branchへ展開copyを保持しない) |
| source identity | sha256:8edbc02a06b3770cce0a89cf658367df129d974d53f401258b69f0713762014a |
| Schema SHA-256 | 46ff159c29e13704d707dae8e0d2ad3a146b6aa8a68a968614e6ef56d112f135 |
| Standard SB3 | 6,749,955 bytes / 91d7f594aaf922450fba359a90c7c26e7c1dfda51cf002534cb4605dbb0d7041 |
| npm tarball | 6,492,990 bytes / a7b91378e6345c530515cc4e8f82314c3c5f2a19d3e136de5e4fe8bff8d24c5e |
固定commitを取得します。
git clone https://github.com/kubohiroya/tm-kamishibai.git
git -C tm-kamishibai checkout --detach 29c0deadcb98badf94a0244c479ca896dc71f842
git -C tm-kamishibai status --short
Feature flag snapshot
すべてのDSL 4.0 flagは既定OFFです。配布surfaceは起動時に次のsnapshotを明示します。
ポーズoverlayには専用flagがなく、poseRecognition.preview.overlayを記述した全runtime profileで同じ契約を使います。
| Surface | ONにするflag |
|---|---|
| Standard production | dsl4Runtime、dsl4AppShell、dsl4PoseFeedbackModes、dsl4SpeechAdvanceTypewriter、dsl4TurboWarpActionSurface |
| 非埋め込みdevelopment | Standard productionに加え、dsl4WebPreviewAdapter、dsl4BrowserDistributionBuild、dsl4PreviewReloadOverlay、dsl4Debugger |
dsl4TurboWarpActionSurfaceにより、23個のcore actionを可視blockとして公開します。4個の内部制御blockは
非表示のままです。smoke中に既定値を変更しません。
自動検証
cd tm-kamishibai
pnpm install --frozen-lockfile
pnpm release:dsl4:check
pnpm verify:full
pnpm release:check
shasum -a 256 dist/downloads/kamishibai-4.0.0-rc.8.sb3
candidate PRのpnpm verify:fullはNode系test 1,161件、Chromium test 13件を通過しました。
GitHub Actionsの記録を
一次証跡とします。
公開物を照合する
公開元を別々に取得し、固定値と照合します。
curl -fL \
https://github.com/kubohiroya/tm-kamishibai/releases/download/v4.0.0-rc.8/kamishibai-4.0.0-rc.8.sb3 \
-o kamishibai-4.0.0-rc.8.sb3
shasum -a 256 kamishibai-4.0.0-rc.8.sb3
npm view @kubohiroya/tm-kamishibai@4.0.0-rc.8 \
version dist.tarball dist.integrity dist.shasum
npm view @kubohiroya/tm-kamishibai dist-tags
確認済みのnpm integrityは
sha512-nQmvHakwLWZioi1gOUZatKwyLe2nD3GPJbEBrqDqm5mzqQhbbLEMGl3znJQpVs0JRfzyeLI1JDTcGrePiIpjUg==です。
nextは4.0.0-rc.8、latestは3.2.3であることを確認します。
TurboWarp surfaceを確認する
rc.8 Standard SB3をfresh TurboWarp Editorで開き、次を確認します。
- composite IDが
kubohiroyakamishibai4である - Runtimeと6つの外部機能拡張、合計7 memberの見出しと文書ボタンが表示される
- Runtime由来の23 core action blockが表示される
- TurboWarp blockからの実行がYAMLと同じregistry、Schema正規化、ActionContext、lifecycleを通る
- Asset Manager 0.11.0、Async Input 0.4.0、Bubble 0.10.0、Runtime Expression 0.4.0、 SVG Text 0.5.0、TurboWarp TM 1.12.0のexact pinと一致する
- remote codeを取得せず、PoseNet model dataをprojectから復元できる
poseRecognition.preview.overlay設定時にSVGの関節とボーンが表示され、省略時は非表示になる- Bubble 0.10.0由来の31個の可視blockと、組み込み
say/thinkstyleが表示される bubbleClosePoliciesの秒数、入力待ち、両者のraceが、inline指定と同じspeech lifecycleで完了する- 未定義
closePolicyと、closePolicy+inlineseconds/waitForの競合をbuild前に拒否する
Browser/CLI Previewを確認する
Browser-owned Previewではuser gestureでproject directoryを選び、正常YAML、不正YAMLからの復帰、asset変更、 reload overlay、camera control、pose feedback、停止後のresource解放を確認します。source本文、local absolute path、 session token、file handle、camera device IDをログやSB3へ保存しません。
CLI Previewは候補packageとversion付きStandard SB3を使います。
pnpm exec tm-kamishibai preview-dsl4 --watch \
--base /absolute/path/to/kamishibai-4.0.0-rc.8.sb3 \
--project-root /absolute/path/to/project \
--source-manifest /absolute/path/to/project/project.source.json \
--control-profile production \
--channel bundled
token付きloopback URLだけを開き、runtime-ready、source/asset変更、診断、safe stop、Ctrl+C後の socket/watcher/timer解放を確認します。
実カメラ・実ポーズ
camera contextの責務境界はIssue #601で
Chrome 151と物理cameraを使って測定しました。実際と同じ1 draw/1 read経路ではwillReadFrequentlyに
再現性のある高速化がなく、WebGLでは全条件で悪化したため、TurboWarp TM 1.12.0は通常contextを使用します。
CPU推論時にChromiumのreadback警告が1回出る場合がありますが、警告抑制だけを目的に成果物を書き換えません。
現時点の判定は次のとおりです。
| 項目 | rc.8の状態 |
|---|---|
| 自動test/Chromium | 合格 |
| npm/GitHub/Pages公開照合 | 合格 |
| camera context物理測定 | 合格 |
| overlay browser確認 | 合格 |
追加の物理確認ではcamera許可/拒否、preview、legacyと必要時のlatest-needed、model準備の中断、認識feedback、
overlayの位置合わせ、scene遷移、終了時のtrack/model/timer解放を確認します。camera frameは保存しません。
Release-stop条件
- commit、version、Schema、source identity、flag snapshot、artifact hashの不一致
- 23 core action、7 member見出し/文書ボタン、dependency pinの不一致
- 名前付きclose policyとinline終了条件で、入力購読、timeout、cancel、Bubble cleanupが一致しない
- 同じ入力から生成したSB3またはWeb版の非決定性
- Browser Preview、CLI Preview、Standard SB3での診断または挙動差
- camera拒否、model中断、asset失敗、無効source、runtime例外での部分commitまたはresource残留
- production成果物へのpreview token、debug session、local path、file handleの混入
Rollback
公開済みrc.8のtag、SB3、npm tarballを同じversionで差し替えません。
- npmの
nextを4.0.0-rc.7へ戻す - GitHub prereleaseとPagesへ影響範囲と回避策を追記する
- 必要ならPagesを
a7f377d4675a9bf9acc8691a11d269ff3d78118bへ戻す - 修正版を
4.0.0-rc.9としてbuild、検証、公開する - 推奨安定版
3.2.3と過去のversion付き成果物を変更しない
文書だけをrollbackする場合は、このMarkdown、candidate manifest、リリース履歴、docs/config.mjs、
site/4.0/index.html、対応testを同じcommitで戻します。