Appearance
検証記録 2026-08-19
目的
2026年9月1日リリース準備に向け、API、PWA、Facility APK、既存のManagement/Kioskデモ成果物を、ローカルで再現可能な範囲で検証した。これは本番受入テストや実機・外部サービス検証の代替ではない。
成功した検証
| 対象 | コマンド・確認 | 結果 |
|---|---|---|
| API | npm test -- --run | 31ファイル、103テスト成功 |
| API | npx tsc --noEmit --pretty false | 成功 |
| API契約 | scripts/check-api-compatibility.ps1 | 重大な互換性問題なし |
| API監査 | auditVerifier.test.tsを含む対象テスト | 監査チェーン検証6テスト成功 |
| Facility | npm test -- --run、npm run build | 7ファイル、16テスト成功、ビルド成功 |
| Guardian | npm test -- --run、npm run build | 1ファイル、3テスト成功、PWAビルド成功 |
| Staff | npm test、npm run build | 型検査成功、PWAビルド成功 |
| Provider | npm run lint、npm run build | 成功 |
| docs | npm run docs:build | 成功 |
| docs-dev | npm run docs:build | 成功 |
| Facility APK | facility-0.1.0-offline-debug-demo.apk | package、versionName 0.1.0、versionCode 1001を検証成功 |
| Kiosk APK | kiosk-0.1.0-offline-debug-demo.apk | package、versionName 0.1.0、versionCode 1001、署名を検証成功 |
| Management/Kiosk | デモ成果物検証スクリプト | Windows/Linux成果物を検証成功 |
| Guardian/Staff | PWA ZIP検証 | APKなし、PWA ZIPの構造・命名を検証成功 |
GuardianとStaffのソース、ビルド入力、成果物にはCapacitor/APK生成経路を確認していない。両者はブラウザPWAとして扱う。
残存事項
app/api全体Lintは、既存の未コミット変更を含むsrc/routes/files.tsの未使用代入1件と、src/routes/files.ts・src/utils/audit.tsのCRLF整形差分で失敗する。今回追加したauditVerifier.tsとテストは対象Lintを通過した。既存変更の所有者と意図を確認してから一括整形・修正する。- Facilityの標準デモビルドは、Gradleの
android/build/reports/problems/problems-report.htmlへのアクセス拒否で終了コード1になった。ただしAPK本体は生成され、メタデータ検証は成功した。クリーンなビルド環境で標準スクリプトが終了コード0になることを再確認する。 - ローカルのAPIおよび各フロントエンド(8787、5173〜5176)は検証時に待受していなかったため、ログイン、CORS、
auth/me、Facility dashboard/SSEのHTTPスモークは未実施である。 - 本番Secret、署名鍵、Cloudflare/Firebase/LINE/R2、実機、NFC/QR、実アカウント、PWA更新、DBバックアップの検証は未実施である。
- 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から取得した後、検証終了時に削除し、リポジトリへコミットしない。出力には監査ログの値や個人情報を含めない。