Instruction 009 non-Gradle sanity pass: passed.

Repository AGP pin: gradle/libs.versions.toml agp = "9.5.0".
Inspected the exact cached com.android.tools.build:gradle-api:9.5.0 JAR using javap inside the existing JDK 21 build image. No Gradle invocation was used for this pass.

Verified signatures:
- SingleArtifact.APK extends SingleArtifact<Directory> and ContainsMany.
- Artifacts.get(SingleArtifact<FileTypeT>) returns Provider<FileTypeT>.
- Artifacts.getBuiltArtifactsLoader() returns BuiltArtifactsLoader.
- BuiltArtifactsLoader.load(Directory) returns BuiltArtifacts.
- BuiltArtifacts.elements is Collection<BuiltArtifact>.
- BuiltArtifact.outputFile is String.
- AndroidComponents.sdkComponents returns SdkComponents.
- SdkComponents.aapt2 is Provider<Aapt2>.
- Aapt2.executable is Provider<RegularFile>.
- VariantSelector.all() and withBuildType(String) exist.

The registration now lives inside the existing androidComponents/onVariants block in app/build.gradle.kts, which already imports Android plugin classes and compiles its existing Android DSL. Only new imports are SingleArtifact and java.io.File. The separately applied script was removed, eliminating its unavailable plugin compilation classpath and the generic getByType extension call.

The gate assertions and two exact legal exceptions are unchanged. The actual next APK assembly is the integration proof, not this signature inspection. The companion branding-resource-format-smoke.json records the full linked-resource format check (1013 visible-type resource keys, all configurations scanned, zero violations) and rejection boundaries.
