Secrets have one owner.
Load the current restricted static key only inside the trusted process. Legacy OAuth and InTouch bearer credentials are separate generations and must never be mixed by inference.
A dependency-free autosuggest service with bounded input, fixture-first behavior, abortable live calls, normalized output, and credential-safe errors.
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 proofpackage.jsonRun and test commandssrc/service.mjsFixture/live provider seamsrc/server.mjsBounded application endpointtest/service.test.mjsCredential-free contract testsLoad the current restricted static key only inside the trusted process. Legacy OAuth and InTouch bearer credentials are separate generations and must never be mixed by inference.
The public REST repository and normalized operation are repository evidence; the issued account remains authoritative for host, auth generation, quota, and region.
The successful response retains a Mappls place identity and the failure response is typed and redacted.
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.
Credential restriction and URL-log redaction are proven
Timeout and bounded retry are explicit
Inputs and result sizes are bounded
Provider request identity is observable without response bodies