Skip to content

検証記録 2026-08-19

目的

2026年9月1日リリース準備に向け、API、PWA、Facility APK、既存のManagement/Kioskデモ成果物を、ローカルで再現可能な範囲で検証した。これは本番受入テストや実機・外部サービス検証の代替ではない。

成功した検証

対象コマンド・確認結果
APInpm test -- --run31ファイル、103テスト成功
APInpx tsc --noEmit --pretty false成功
API契約scripts/check-api-compatibility.ps1重大な互換性問題なし
API監査auditVerifier.test.tsを含む対象テスト監査チェーン検証6テスト成功
Facilitynpm test -- --runnpm run build7ファイル、16テスト成功、ビルド成功
Guardiannpm test -- --runnpm run build1ファイル、3テスト成功、PWAビルド成功
Staffnpm testnpm run build型検査成功、PWAビルド成功
Providernpm run lintnpm run build成功
docsnpm run docs:build成功
docs-devnpm run docs:build成功
Facility APKfacility-0.1.0-offline-debug-demo.apkpackage、versionName 0.1.0、versionCode 1001を検証成功
Kiosk APKkiosk-0.1.0-offline-debug-demo.apkpackage、versionName 0.1.0、versionCode 1001、署名を検証成功
Management/Kioskデモ成果物検証スクリプトWindows/Linux成果物を検証成功
Guardian/StaffPWA ZIP検証APKなし、PWA ZIPの構造・命名を検証成功

GuardianとStaffのソース、ビルド入力、成果物にはCapacitor/APK生成経路を確認していない。両者はブラウザPWAとして扱う。

残存事項

  1. app/api全体Lintは、既存の未コミット変更を含むsrc/routes/files.tsの未使用代入1件と、src/routes/files.tssrc/utils/audit.tsのCRLF整形差分で失敗する。今回追加したauditVerifier.tsとテストは対象Lintを通過した。既存変更の所有者と意図を確認してから一括整形・修正する。
  2. Facilityの標準デモビルドは、Gradleのandroid/build/reports/problems/problems-report.htmlへのアクセス拒否で終了コード1になった。ただしAPK本体は生成され、メタデータ検証は成功した。クリーンなビルド環境で標準スクリプトが終了コード0になることを再確認する。
  3. ローカルのAPIおよび各フロントエンド(8787、5173〜5176)は検証時に待受していなかったため、ログイン、CORS、auth/me、Facility dashboard/SSEのHTTPスモークは未実施である。
  4. 本番Secret、署名鍵、Cloudflare/Firebase/LINE/R2、実機、NFC/QR、実アカウント、PWA更新、DBバックアップの検証は未実施である。
  5. PBKDF2反復回数の方針差分、既存ID移行方式、監査ログ同時書き込み時の直列化は本番Go/No-Goの判断事項として残る。

再実行用コマンド

powershell
cd app/api
npm test -- --run
npx tsc --noEmit --pretty false
npx tsx scripts/verify-audit-log-chain.ts --file audit-logs.json

cd ../..
pwsh -ExecutionPolicy Bypass -File ./scripts/check-api-compatibility.ps1
pwsh -ExecutionPolicy Bypass -File ./scripts/verify-release-artifacts.ps1 -VersionName 0.1.0 -VersionCode 1001 -Target facility,kiosk-android,guardian,staff -AllowDebug

監査ログJSONは本番D1から取得した後、検証終了時に削除し、リポジトリへコミットしない。出力には監査ログの値や個人情報を含めない。

放課後リンク 開発プロジェクト