Trusted REST service starter

A dependency-free autosuggest service with bounded input, fixture-first behavior, abortable live calls, normalized output, and credential-safe errors.

A project you can inspect before installing.

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 boundary
STARTER_MANIFEST.jsonMachine-readable project scope
.env.exampleBlank non-secret configuration
EVIDENCE.mdSource and selection boundary
ACCEPTANCE.mdSuccess and hostile-path proof
package.jsonRun and test commands
src/service.mjsFixture/live provider seam
src/server.mjsBounded application endpoint
test/service.test.mjsCredential-free contract tests

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.

Source before syntax.

The public REST repository and normalized operation are repository evidence; the issued account remains authoritative for host, auth generation, quota, and region.

What must be true after the scaffold.

01

The successful response retains a Mappls place identity and the failure response is typed and redacted.

02

A blocked, missing, or unentitled provider produces a useful explicit failure rather than a blank surface or fabricated result.

03

No server credential, bearer value, precise private fixture, or provider response body appears in client bundles, logs, screenshots, or test artifacts.

04

Resources, listeners, sessions, processes, or requests stop cleanly when the owning screen, request, or application ends.

05

Credential restriction and URL-log redaction are proven

06

Timeout and bounded retry are explicit

07

Inputs and result sizes are bounded

08

Provider request identity is observable without response bodies