The authoritative finalized transaction is `out/current/build.json`. On `PASS`, use `out/current/package.json` and `out/current/kam-mobile.apk`. On `FAIL` or `BLOCKED`, read that metadata and the matching transient logs: `build/<build_id>/logs/compile.log`, `build/<build_id>/logs/package.log`, and `build/<build_id>/logs/signature.log` when apksigner was available and invoked.
Check Docker access, free space, network access, and write permission to the repository before rerunning. Do not use `sudo` as an automatic workaround. With `--local`, verify that the installed Castle, FPC, Java, Android SDK/NDK, and Android cross-compiler agree.
Follow the active dependency chain in `compile.log`. Desktop LCL units, generated includes, or native objects may need their upstream Android-compatible build input; do not add empty replacements. Source ownership remains the pinned `vendor/kam_remake` receipt plus RP01's registered adaptation/resolution owners, `config/extra-paths.json` and `tools/source_resolution.py`.
Use `compile.log` to identify the first missing native dependency and confirm it has the selected Android ABI. A desktop library or a same-named stub is not a valid fix.
Use `package.log` to inspect the packaged APK, ABI, and native-library findings. When present, `signature.log` records apksigner inspection. Do not substitute an older APK: only the current finalized package metadata identifies the current package.
The pinned vendor receipt/source verification detects changed or unrecorded source. Do not edit `vendor/kam_remake` to obtain a clean result; make project-owned adaptations through the registered RP01 path instead.