Secrets have one owner.
Use only the documented Android credential configuration restricted to the package and signing identity. Server credentials never belong in the APK.
A Kotlin contract that keeps camera, selection, permission, recreation, and teardown state outside unconfirmed SDK types.
The canonical file manifest is also the archive contract. Common evidence, environment, manifest, and acceptance files accompany platform-specific source.
README.mdSetup and first-success boundarySTARTER_MANIFEST.jsonMachine-readable project scope.env.exampleBlank non-secret configurationEVIDENCE.mdSource and selection boundaryACCEPTANCE.mdSuccess and hostile-path proofsrc/main/kotlin/MapFeature.ktSDK-independent feature contractsrc/main/kotlin/FixtureMapAdapter.ktDeterministic native lifecycle fixtureBUILD_SELECTION.mdAGP, Kotlin, repository, and SDK gateUse only the documented Android credential configuration restricted to the package and signing identity. Server credentials never belong in the APK.
The public repositories are sample-classified evidence; confirm Maven coordinates, BoM, AGP/Kotlin, min/target SDK, and supported release with Mappls.
Camera/selection state restores intentionally and no map listener or location request survives the owning lifecycle.
A blocked, missing, or unentitled provider produces a useful explicit failure rather than a blank surface or fabricated result.
No server credential, bearer value, precise private fixture, or provider response body appears in client bundles, logs, screenshots, or test artifacts.
Resources, listeners, sessions, processes, or requests stop cleanly when the owning screen, request, or application ends.
Release dependency matrix is reproducible
Permission denial is a complete state
Process recreation is tested
Native resources detach deterministically