# Validation report — Fileworkbench source release 0.2.0 Date: 2026-09-23. This is an implemented-source release, **not a verified Android APK**. ## Executed | Check | Result | Scope | |---|---|---| | Offline production core/JVM compilation and checks | **112 / 112 passed** | Kotlin/JVM 1.9.0, OpenJDK 21.0.11; not the pinned Android toolchain | | Android resource/manifest XML and source invariants | Passed | Source-level checks only | | Kotlin PSI parse | **44 files; 0 parse errors** | Syntax only; does not resolve Android/Compose/Gradle symbols | | Android build entry point `./scripts/verify-android.sh` | **Failed at wrapper download, exit 6** | DNS lookup for raw.githubusercontent.com failed before Android compilation | | APK generation | **No APK produced** | No Android SDK/Gradle dependencies/emulator available | The 112 checks comprise the retained 75 document-core/JVM checks plus 37 new browser/MIME/selection/ byte-budget checks. The offline runner invokes the same unit-test method bodies used by the Gradle suite after removing only test-runner annotations/imports. It does not substitute for a resolved Gradle build, Android instrumentation, or Apple framework compilation. Executed commands: ```sh ./scripts/test-core.sh python3 scripts/check-project.py ./scripts/check-kotlin-syntax.sh ./scripts/verify-android.sh ``` Raw evidence is in `TEST_RESULTS.txt`, `SOURCE_CHECKS.txt`, and `BUILD_ATTEMPT.txt`. The actual build attempt reached project source checks and the Gradle wrapper bootstrap, then failed with: ```text curl: (6) Could not resolve host: raw.githubusercontent.com ``` No Android compiler, D8, lint, packaging, installation, or emulator ran after that failure. ## What the structural checks establish The main manifest is parseable and declares no uses-permission entries; the PDF service is marked isolated/nonexported; the production FileProvider is nonexported and its allowlist contains only shared/ and picked/ caches. APP_FILES and a separate standard-launch GET_CONTENT activity are registered, and no activity declares OPEN_DOCUMENT/OPEN_DOCUMENT_TREE. The debug fixture provider is absent from the main manifest. Source assertions check read-only copied-result flags, use of streaming byte budgets, and intent sanitization before activity ViewModel creation. Common Kotlin files have no Android/Java imports. There is no WebView instantiation or Log call in main Android source. These are useful invariants, **not** runtime grant-isolation or security proofs. ## Written but not executed There are **12 Android instrumentation test methods**: the two retained/extended viewer smoke tests and ten browser/picker integration tests. They cover UI entry points, PDF IPC, synthetic SAF metadata, large/nested folders, copied MIME metadata, single/multiple result structure, intent registration, LOCAL_ONLY/MIME forwarding, virtual documents, and rejection of caller-supplied restore-state keys. These Android tests have not been compiled, installed or run. The debug-only synthetic document provider is test support, not a user-storage provider. Same-UID result checks cannot establish cross-UID grants; a separate caller app is explicitly required by `BROWSER_ACCEPTANCE.md`. ## Remaining verification gates - Resolve pinned Gradle/Kotlin/Android dependencies under JDK 17; compile, lint, D8 and assemble both debug APKs. Fix actual compiler/API/packaging errors before claiming an installable release. - Run instrumented tests and `BROWSER_ACCEPTANCE.md` on real devices/emulators, including API 26, Android 11+ storage restrictions, a current phone, and an independent result-receiving app. - Verify preview-to-browser navigation/scroll, rotation/process restoration, separate picker/viewer lifetimes, folder grant renewal/removal, cache/URI invalidation, and existing preview regressions. - Verify cancellation with slow/unresponsive providers, truthful and dishonest sizes, truncated listings, malformed documents, thumbnail decoding, memory pressure and copied-file limits. - Verify accessibility, large fonts, portrait/landscape layouts, and actual visual rendering. - Build the Apple framework and implement/test its native browser/file-access adapters separately. No device screenshots, performance measurements, whole-phone storage access, perfect Office rendering, security audit, iOS app, or successfully executed CI build are claimed by this release.