Secrets have one owner.
Configure separately restricted Android and iOS app credentials in their native projects. Do not put server secrets in Dart assets or compile-time constants.
A Dart selection aggregate and adapter seam preserving Mappls Pin identity while Android and iOS distributions are verified independently.
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 proofpubspec.yamlDependency-neutral packagelib/mappls_feature.dartStable selection and adapter contractlib/fixture_adapter.dartCredential-free fixtureConfigure separately restricted Android and iOS app credentials in their native projects. Do not put server secrets in Dart assets or compile-time constants.
The corpus contains Mappls sample evidence and an older current-classified MapmyIndia wrapper. Confirm the supported Flutter/Dart plugin and both native SDK lines before choosing one.
The form cannot submit stale text as a selected place and platform views/controllers are disposed after navigation.
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.
Both runner configurations are versioned
Controller readiness is awaited
Selection state is explicit
Physical-device releases are tested