Repository navigation
docs planning ADMIN_CONTRIBUTOR_PLAN
Status: PLANNED (2026-10-27). Nothing here is implemented until its PR is merged with passing tests. Decision: ADR-023. Rules (the source of truth for behavior): ADMIN_TIERS_CONTRACT. Kickoff prompts: ADMIN_CONTRIBUTOR_PROMPTS.
This plan is written to be executed by a less capable agent. Follow it literally. When something is not covered, stop and ask the user instead of inventing a rule.
-
Isolation. Each front works in its own git worktree and its own
branches, created from
origin/main. Never edit the main checkout at/home/iiii/PESSOAL-PROJETOS-ALEXANDRE/brazil-fuel-prices(it holds another person's uncommitted work). Never usegit stash,reset --hard,push --force,--no-verifyor admin merge bypass. -
One PR per feature. Each task block below (
A1,A2, …) is one branch and one PR tomain. The user authorized feature branches fromorigin/mainwith PRs tomainfor this batch, becausedevcarries the unrelated open PR #154. If the previous PR of the same front is not merged yet, branch from the previous branch and open the PR with--base <previous-branch>; say so in the PR body. Never merge. The user merges after review. -
Do not touch other open PRs. Open PRs at planning time: #152 (driver
suite, touches
ProfileScreen.ktand migrations 000133–000138), #154 (dev map), #155 (staging landing,infra/caddy/staging-web.Caddyfile), #156 (migration 000139), #157, #160. Avoid editing their files; when unavoidable (onlyProfileScreen.kt,landing/static/_headers), keep the diff minimal. -
Migrations. This batch reserves
000140–000149. Before creating one, rungit fetch origin && git ls-tree --name-only origin/main backend/db/migrations/and check open PR branches; if a number is taken, take the next free number inside the reserved range. Applied migrations are append-only. Every migration gets a recovery/idempotency test like its neighbours. -
TDD. Write the domain test from the contract rule first (RED), then the
code (GREEN), then refactor. Test names or comments cite the rule ID, e.g.
TestGrant_ENT03_DuplicateActiveGrantConflicts. -
Secrets. Never commit a key, hash of a real key, token, cookie, email,
real account id or screenshot of real data. Fixtures use synthetic values.
Before every commit run
git diff --checkand grep the diff forabv_admin_,ANPFUEL_ADMIN_KEY_SHA256=[0-9a-f], GitHub token prefixes (ghporgithub_patfollowed by an underscore) and e-mail addresses ([A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[a-z]{2,}). -
Checks per PR (backend). From
backend/:gofmt -l .(empty),go vet ./...,go test -race -count=1 ./..., and the PostGIS integration suite for touched modules (go test -race -count=1 -tags=integration ./internal/modules/<m>/... ./cmd/api/...withANPFUEL_TEST_DATABASE_URLfrombackend/README.md), plusgo test ./internal/platform/apicontract -count=1.sqlc generateoutput must be committed and unchanged on re-run. Runmake quick-verifybefore opening the PR. -
Checks per PR (Android).
./gradlew :app:testDebugUnitTest :application:test :data:test lintDebug assembleDebug(adjust to the modules touched). No new lint errors. Strings for all 8 locales (values,-pt-rBR,-es,-fr,-de,-ja,-ru,-zh-rCN). -
Checks per PR (landing / admin-web).
npm ci && npm run typecheck && npm run build && npm run check && npm testin the touched package. -
Commits. English, Conventional Commits (
feat(admin): …), atomic. PR body: scope, rules covered (IDs), tests run with results, what is not done. -
Progress. Each PR adds one concise entry to the top of
docs/planning/PROGRESS.md(task, branch, PR, tested revision, stateLOCAL_DONE / INTEGRATION_PENDING, next action). Detail goes tobackend/evidence/admin/<TASK>.md. -
Stop conditions. Stop and report (do not improvise) when: a test you did
not write fails on
origin/main; a rule is ambiguous; a migration number conflict cannot be resolved inside the range; you would need a new dependency; you would need to change payment, trust or moderation behavior. - No CI polling, no sleeping. Push, open the PR, report, continue.
Front A Backend (first; everything depends on it)
A0 recon ─ A1 admin auth+audit ─ A2 granted tiers ─ A3 contributors ─ A4 staff roles ─ A5 staging VPS
Front B Admin web UI (starts after A1 PR exists; real use after A2)
B0 recon ─ B1 scaffold+login+accounts/grants ─ B2 contributors/roles/audit ─ B3 Caddy+staging
Front C Contributor UI (app + landing; starts after A3 PR exists)
C0 recon ─ C1 app public list ─ C2 landing page ─ C3 app self-service (claim+profile) ─ C4 staging check
Worktrees (create with git worktree add -b <branch> <path> origin/main):
| Front | Worktree path | Branch prefix |
|---|---|---|
| A | .worktrees/adm-backend |
codex/adm-a<N>-<slug> |
| B | .worktrees/adm-web |
codex/adm-b<N>-<slug> |
| C | .worktrees/adm-contributors-ui |
codex/adm-c<N>-<slug> |
State: A1–A4 are delivered as stacked PRs #164 → #166 → #167 → #168, all
open; #164 conflicts with main (main moved to d4dcf716). Migrations
000140–000143 do not collide with the map (000139) or driver
(000133–000138) reservations. Nothing of A1–A4 is on staging.
Staging facts that supersede the plan text above:
- Staging is single-node k3s in namespace
abastevo-temp, not Docker Compose.docs/operator/deploy.md(Compose) does not describe it. The reviewed templates areinfra/k8s/staging/(PR #169) and the deploy path is the CD agent (CD-03/CD-04). The API reads configuration from a Kubernetes Secret, not an env file. - Staging currently runs the unmerged map branch (images
stg-7c7d776f, schema000139). Deploying any single feature branch would drop the other branch's features, so admin code reaches staging only throughmainand the CD agent (or one supervised CD apply), after the map PRs are inmain.
Decisions:
- Front B starts now (rule above: after the A1 PR exists). It does not wait
for A5. Local integration uses a backend built from the A4 head
(
codex/adm-a4-staff-roles, which contains A1–A3) on a disposable database; unit tests use a fakefetchagainst the OpenAPI contract. - A5 is split. A5a (code, now):
scripts/tests/test-admin-staging.shplus a run against the local A4 stack, as a normal PR stacked on #168. A5b (staging run): executes in the same staging window as B3, after A1–A4 and the map PRs are inmainand deployed; its evidence goes in the B3 PR (backend/evidence/admin/A5-STAGING.md), not in a bookkeeping-only PR. - Keys: the user generates the staging admin key locally with
go run ./cmd/ops admin keygen, keeps the raw key, and the hash goes into the staging Secret (kubectl -n abastevo-temppatch of the API Secret, run by the user or by an agent that only receives the hash). Rotation is the same command after the validation. No agent sees the raw key. - B3 serves
admin-web/distfrom the staging web tier (the Caddy ConfigMap and web Deployment templates ininfra/k8s/staging/, a release directory switched by symlink like the landing), not from Compose files. Production wiring stays out of scope (G09). - Merge order: #161 (this plan) → #164 (after merging current
maininto it) → retarget #166, #167, #168 tomainone by one as each base merges → A5a. Front B PRs targetmainand merge after #164.
Read: this plan, the contract, ADR-023, backend/README.md,
docs/backend/TEST_STRATEGY.md, and these files to copy patterns from:
-
backend/internal/modules/subscription/domain/policy.go(Evaluate,mergeWeb) -
backend/internal/modules/subscription/adapters/web_grants.goandcapability.go(RequireCapability) -
backend/internal/modules/subscription/adapters/http/http.go(user proof pattern:family_id+access_token+SignedOwner) -
backend/cmd/api/main.go(composition;premiumStore, payments wiring) -
backend/cmd/ops/main.go(CLI pattern) -
backend/internal/platform/httpapi(WriteError),config,httpserver -
backend/internal/modules/account/domain/account.go(AddressHash) - An existing migration + its integration test,
backend/sqlc.yaml.
Write backend/evidence/admin/A0-RECON.md: where each new piece plugs in,
the exact composition point for payments-not-configured (ENT-10), and the
migration numbers you will use. Include it in the A1 PR.
Branch codex/adm-a1-admin-auth. Rules ADM-01…ADM-12.
- Docs in this PR: ADR-023 status unchanged, contract unchanged unless a real gap is found (document it in the PR body).
- Migration
000140_admin_sessions_audit.sql:admin_sessions,admin_login_attempts(rate-limit counters byip_hash+ window, and a global row),admin_idempotency,admin_audit_events+ trigger refusingUPDATE/DELETE. - Module
backend/internal/modules/admin/withdomain/(key format, fingerprint, reason validation, session timing — pure, no I/O),application/(Login, Authenticate, Logout, RevokeAll, Audit port),adapters/(pg store with sqlc queries inbackend/db/queries/admin/),adapters/http/(routes, cookie, CSRF, Origin, headers, body limit). - Config:
ANPFUEL_ADMIN_KEY_SHA256,ANPFUEL_ADMIN_KEY_SHA256_NEXT,ANPFUEL_ADMIN_ORIGIN,ANPFUEL_ADMIN_ALLOWED_CIDRSininternal/platform/config; startup failure on malformed values; add placeholders (never values) toinfra/env.staging.exampleandinfra/env.prod.example. -
ops admin keygeninbackend/cmd/ops: prints key and hash to stdout, writes no file. Test that two runs differ and that hash(key) == hash. - Route registration only when a hash is configured; a test proves 404 when unset.
- Middleware
admin.RequireSessionusable by later PRs. Every handler that mutates must call one helper that validates reason + idempotency and writes the audit row in the same transaction.
Required tests (each a separate test function):
| # | Case | Expect |
|---|---|---|
| S1 | no hash configured, any admin path | 404 |
| S2 | malformed hash env | startup error |
| S3 | correct key | 200, __Host-abv_admin cookie with HttpOnly, Secure, SameSite=Strict, Path=/ |
| S4 | wrong key / empty / 10 KiB key / non-JSON / key in query | 401 or 400, identical 401 bodies |
| S5 | 6th failure from same IP within 15 min | 429 + Retry-After |
| S6 | 51 failures/hour from many IPs | 429 for all, also for correct key |
| S7 | concurrent 20 failed logins (goroutines) | counter exact, no lost update |
| S8 | session idle 31 min / absolute 8h01 (injected clock) | 401 |
| S9 | logout then reuse cookie | 401 |
| S10 | login twice | two different sessions; old remains until expiry; revoke-all kills both |
| S11 | rotation: session from removed hash | 401 |
| S12 | mutation without X-Admin-CSRF / wrong token / wrong Origin / no Origin |
403 |
| S13 | user account access token or signed-owner proof on admin route | 401 |
| S14 | admin cookie on user route | not accepted as user |
| S15 | unknown JSON field / body > 16 KiB | 400 / 413 |
| S16 | same Idempotency-Key replay / different body | same result / 409 |
| S17 | audit UPDATE/DELETE
|
DB error |
| S18 | log capture across S3–S12 | no key, token, cookie, CSRF value present |
| S19 |
/v1/admin/* responses |
no-store, noindex, no-referrer headers |
| S20 | CIDR fence set, request from outside | 404 |
Branch codex/adm-a2-granted-tiers. Rules ENT-01…ENT-12, BUC-ADM-02/03/04.
- Migration
000141_entitlement_grants.sql:entitlement_grants(id, account_id FK accounts, tier CHECK IN ('PRO','CONTRIBUTOR','ENTERPRISE'), policy_version, state CHECK IN ('ACTIVE','REVOKED'), start_at, end_at NULL, reason, created_at, created_session_id, revoked_at, revoke_reason)+ partial unique index(account_id, tier) WHERE state='ACTIVE'+ owner index. - Module
backend/internal/modules/entitlement/withdomain/catalog.go(tier catalog v1 constant +Capabilities(tier, policyVersion)), grant validation, and store. Goldencontracts/admin/tier-catalog-v1.jsonwith a test asserting the Go catalog equals the JSON and thatPROequals the existing Premium bundle insubscription/domain/policy.go. - Subscription integration, minimal diff:
- add
adminGrants(ctx, tx, accountID, now)next towebGrants(same42P01tolerance); - extend
SnapshotwithAdminCapabilities,AdminValidUntil,Tiers; - add
mergeAdminaftermergeWeb; reasonverified-adminwhen only admin; -
RequireCapabilityalso checks admin grants; -
StatusgainsTiers []TierStatus(ENT-09). Updatecontracts/premium/policy-v1.jsonadditively. - Confirm in
cmd/api/main.gothat capability checks and/v1/premium/statuswork with payments unconfigured (ENT-10); test it.
- add
- Admin endpoints: accounts search/detail, grant create/list/revoke (contract §7).
- Erasure hook: revoke active grants on account erasure (find the existing
erasure flow in
account/privacy; add the call inside its transaction).
Required tests: domain table tests for ENT-02…07; integration (real PostGIS):
duplicate active grant under concurrency (two goroutines → one 201, one 409);
replace atomicity; expiry at the exact boundary (injected clock);
revoke-then-check denies; RequireCapability true for each PRO capability with
only an admin grant and payments unconfigured; status JSON contains tiers;
suspended/deleted target 409; body with capabilities 400; search by UUID /
alias / alias prefix / email (via AddressHash) and SQL-injection-like input
(' OR 1=1 --, %, _) returns nothing unexpected; erasure revokes; trust and
ranking code paths untouched (grep test: no import of entitlement from
trust, moderation, community ranking).
Branch codex/adm-a3-contributors. Rules CTB-01…CTB-14, BUC-ADM-05…09/11.
- Migration
000142_contributor_profiles.sql:contributor_profiles,contributor_links(max 2 by CHECK + trigger or app rule + test),contributor_github_links(unique partial indexes both ways),contributor_claims,github_contributor_snapshots. - Module
backend/internal/modules/contributor/: domain validation (display name, platform/handle table, URL builder, claim state machine, code generation), GitHub client adapter (net/http, timeout, size cap, optional token; tests usehttptest.Server, never the real GitHub), store, user HTTP routes, admin HTTP routes, publicGET /v1/contributors. - CORS only for
GET /v1/contributorsfromANPFUEL_PUBLIC_WEB_ORIGINS. Add/v1/contributorsto Caddy@shared_cacheableininfra/caddy/Caddyfile(identity is ignored by that route). - Erasure hook (CTB-13).
Required tests: every handle rule with valid/invalid examples
(javascript:alert(1), https://evil.com, user/../x, Unicode look-alikes
such as Cyrillic а, 16-char X handle, empty, 3 links, two links same
platform); display name with <script>, RTL override , zero-width
joiner, 41 runes, emoji (rejected); claim quotas and states; gist proof
(owner mismatch, code absent, gist 404, GitHub 500/timeout → UNVERIFIED not
crash, oversized response); approval atomic (grant + link) and override rule;
link uniqueness under concurrency; public list never contains account id,
alias, email, reasons (JSON key allowlist assertion); revoked grant / hidden
profile / HIDDEN visibility / suspended account excluded; pagination stable;
CORS headers present only for allowed origin and only on that route; erasure
removes from list.
Branch codex/adm-a4-staff-roles. Rules STF-01…STF-06, BUC-ADM-10/12.
Migration 000143_staff_roles.sql; module backend/internal/modules/staff/;
golden contracts/admin/staff-roles-v1.json; admin endpoints for catalog,
assign, revoke; owner read through POST /v1/contributor/profile/read;
public labels in the contributors list per STF-05; audit read endpoint
GET /v1/admin/audit. Tests: unknown role 400, duplicate 409, inactive target
409, end_at bounds, no endpoint can modify the catalog (route table test),
holding any role does not authorize any admin route (S13-style test per role),
erasure revokes, audit filters and pagination.
Branch codex/adm-a5-staging. Follow docs/operator/deploy.md and
docs/operator/access.md exactly; staging only. Production is out of scope
until the user asks explicitly (G09/G24).
- Add
scripts/tests/test-admin-staging.sh(readsANPFUEL_ADMIN_KEY,ANPFUEL_STAGING_URLand a synthetic test account from the operator's shell environment, prints no secret,set +x). It runs: S1-style disabled check is skipped on staging; login; who-am-I; wrong key 401; missing CSRF 403; search the synthetic account; grantPRO1 day;/v1/premium/statusshows tier; revoke; status no longer shows it; logout; reuse cookie 401;GET /v1/contributors200 with CORS for the landing origin. - The user generates the key (
go run ./cmd/ops admin keygen) and sets the hash in the staging env file on the VPS. The agent never sees or stores the raw key; it asks the user to export it in the shell that runs the script. - Record results (no secrets) in
backend/evidence/admin/A5-STAGING.md.
Visual standard: identical to the landing (landing/static/assets/styles.css
tokens, Manrope + Source Sans 3 from landing/static/assets/fonts/, same
buttons, cards, focus rings, spacing). Copy these at build time; do not fork
the token values by hand.
Read landing/README.md, landing/scripts/build.mjs, check.mjs,
landing/static/assets/styles.css, two landing tests, and contract §2/§7.
Branch codex/adm-b1-admin-web. New top-level package admin-web/
mirroring the landing layout (static/, src/, scripts/, tests/,
TypeScript 7.0.2 only, no framework, no runtime dependency).
Pages (/admin/…): login/, accounts/ (search + detail with grants:
create with tier select, end date default +30 days, reason; revoke with
reason), shared header with session expiry and logout.
Rules: all data rendered with textContent/createElement — a test fails the
build if innerHTML, outerHTML, insertAdjacentHTML, document.write or
eval appears in src/; fetch with credentials: 'same-origin'; CSRF token
kept in memory only (never localStorage); every mutation sends
Idempotency-Key (crypto.randomUUID) and X-Admin-CSRF; on 401 go to login;
<meta name="robots" content="noindex, nofollow"> on every page;
static/_headers with the CSP of ADR-023 + frame-ancestors 'none'.
Tests: build, no-unsafe-DOM scan, headers, API client unit tests against a fake
fetch (CSRF/idempotency headers present, 401 redirect, error mapping), form
validation (reason length, end date bounds).
Branch codex/adm-b2-admin-web-contributors. Pages: contributors/ (GitHub
snapshot with stale badge, link state, claims queue approve/reject with
override checkbox that requires reason), profile hide/unhide, roles/ on the
account detail, audit/ list with filters. Same tests pattern.
Branch codex/adm-b3-admin-serving. Serve built admin-web/dist at
/admin/* on the API origin from infra/caddy/Caddyfile (new handle_path
block with the admin CSP and X-Robots-Tag), mount in staging/prod compose,
extend the infra gate tests, deploy to staging, manual check with screenshots
of synthetic data only.
Read ProfileScreen.kt, ProfileActionRow.kt, the Premium data path
(GetPremiumStatusUseCase, PremiumViewModel, its data source in data/),
navigation graph, one existing list screen, landing/static/index.html, nav
and footer, landing/static/_headers, sitemap.xml, landing tests.
Branch codex/adm-c1-app-contributors.
- Data:
ContributorsRemoteDataSourceforGET /v1/contributors(cursor paging), domain model indomain/, use case inapplication/. - UI: the last item of the Profile screen becomes a highlighted card
"Contribuidores do projeto" (Premium-accent style like
PremiumEntryCard), openingContributorsScreen: list of name, verified-GitHub badge, role labels, up to 2 link chips. Empty, loading (skeleton), error-with-retry and offline states. - Links: open only the server
urlafter re-checking schemehttpsand host in the CTB-08 allowlist; otherwise do not render the chip. Use anACTION_VIEWintent; no WebView. - Tests: mapper (unknown platform dropped, non-https dropped, wrong host dropped), ViewModel states with fake repository, paging, strings in 8 locales, Compose UI test for the card being last in Profile.
-
ProfileScreen.ktis also touched by open PR #152: add only the new item at the end of the list; no reformatting.
Branch codex/adm-c2-landing-contributors.
-
landing/static/contribuidores/index.htmlusing the existing page shell, header, footer, typography and card components exactly. Static content without JS: what a contributor is, link to the GitHub repository and to the app. Progressive enhancementlanding/src/contributors.tsfetcheshttps://<API>/v1/contributors(API origin from a<meta name="abastevo-api">set at build time from an env var with a safe default of disabled) and renders cards withtextContentonly, links only after the same allowlist check as the app,rel="noopener noreferrer nofollow ugc",target="_blank". -
_headers: add the API origin toconnect-srcfor/contribuidores/*only. - Add to nav/footer,
sitemap.xml,llms.txtif the pattern requires. - Tests: page works without JS, no unsafe DOM API, CSP contains the API origin only on that path, rendering with fixture JSON (XSS payload names stay text), link allowlist, budget check passes.
Branch codex/adm-c3-app-contributor-self. Signed-in only.
"Sou contribuidor do projeto" flow: enter GitHub login → show code with copy
button and instructions to create a public gist → submit gist ID → claim
status. For accounts with contributor.profile: edit display name, up to 2
links (platform dropdown + handle), visibility switch with explicit consent
text, show-roles switch. Client validation mirrors CTB-08 but the server is the
authority (show server error codes). Tests: validators, ViewModel with fakes,
error mapping (403/409/429), strings in 8 locales.
Point a debug build at the staging origin, verify list, claim and edit with a
synthetic account; verify the landing page against staging. Evidence in
backend/evidence/admin/C4-STAGING.md.
- All PRs A1–A5, B1–B3, C1–C4 merged by the user, each with its rule tests.
- Security matrix S1–S20 green; A2/A3/A4 negative and concurrency tests green on real PostGIS.
- Staging script green with evidence; no secret in Git history
(
git log -p origin/main | grep -E 'abv_admin_[A-Za-z0-9_-]{20}'empty). - PROGRESS records each task state honestly; nothing claims production readiness.
- Home
- Roadmap
- docs-ADR_INDEX
- docs-AI_ENGINEERING_CONTRACT
- docs-CURRENT_STATE_AUDIT
- docs-MIGRATION_PLAN
- docs-README
- docs-adr-001-kotlin-compose-stack
- docs-adr-002-price-import-immutability
- docs-adr-003-nominatim-reverse-geocode
- docs-adr-004-backend-scope-and-governance
- docs-adr-005-modular-monolith-and-postgresql
- docs-adr-006-official-catalog-and-exact-contracts
- docs-adr-007-anonymous-proof-of-possession
- docs-adr-008-privacy-and-retention
- docs-adr-009-community-consensus-and-projections
- docs-adr-010-private-object-evidence
- docs-adr-011-operations-and-android-gate
- docs-adr-012-licensing-and-hosted-business
- docs-adr-013-fast-phase-delivery
- docs-adr-014-functional-app-before-production-release
- docs-adr-015-kotlin-multiplatform-shared-domain
- docs-adr-016-android-commercial-community-ios-deferred
- docs-adr-017-station-profile-and-verified-representation
- docs-adr-018-project-batch-delivery
- docs-adr-019-android-vps-integration-first
- docs-adr-020-maintained-dev-main-delivery
- docs-adr-021-community-first-contribution
- docs-adr-022-comaps-derived-native-map-engine
- docs-adr-023-admin-suite-granted-tiers-contributors
- docs-architecture
- docs-assets-brand-README
- docs-assets-flags-ATTRIBUTION
- docs-assets-fuel-icons-README
- docs-assets-games-fuel-v1-README
- docs-assets-home-art-README
- docs-assets-home-icons-README
- docs-assets-landing-fleet-android-20261012-BRIEF
- docs-assets-landing-hero-20261011-BRIEF
- docs-assets-landing-illustrated-20261012-BRIEF
- docs-assets-landing-illustrated-20261012-README
- docs-assets-landing-minimal-20261012-BRIEF
- docs-assets-landing-open-data-20261026-BRIEF
- docs-assets-landing-redesign-20261011-PREPARATION_EVIDENCE
- docs-assets-landing-redesign-20261011-README
- docs-assets-landing-redesign-20261011-REFERENCE_BRIEF
- docs-assets-landing-sync-20261012-BRIEF
- docs-assets-map-icons-README
- docs-attribution
- docs-backend-ANDROID_INTEGRATION_GUIDE
- docs-backend-ANP_INGESTION
- docs-backend-API_PLAN
- docs-backend-CI_PR127_RECOVERY
- docs-backend-CI_PR128_PR129_RECOVERY
- docs-backend-COMMUNITY_FIRST_POLICY
- docs-backend-COMMUNITY_PRICING_SPEC
- docs-backend-DATA_MODEL
- docs-backend-DOMAIN_MODEL
- docs-backend-DRIVER_PRIVATE_DATA
- docs-backend-GO1273_SECURITY_REVALIDATION
- docs-backend-INFRASTRUCTURE_PLAN
- docs-backend-MT_STATION_CATALOG_PILOT
- docs-backend-PHOTO_CAPTURE_CONTRACT
- docs-backend-PHOTO_SUBSET_SUBMISSION_CONTRACT
- docs-backend-PREMIUM_API_CONTRACT
- docs-backend-PREMIUM_BILLING_RUNBOOK
- docs-backend-PREMIUM_CLOUD_PROTOCOL
- docs-backend-PRIVACY_NOTICE
- docs-backend-REGISTRY_DAILY_SYNC
- docs-backend-RST_VPS_HARDENING
- docs-backend-STATION_RELIABILITY_AUDIT_20261013
- docs-backend-TARGET_ARCHITECTURE
- docs-backend-TEST_STRATEGY
- docs-backend-TOOLCHAIN
- docs-backend-evidence-PR150_CUMULATIVE_INTEGRATION
- docs-backend-evidence-STAGING_LANDING_PORTAL_2026-10-26
- docs-backend-evidence-TEST_ENV_UPDATE_2026-10-24
- docs-backend-evidence-cd-CD-01
- docs-backend-evidence-cd-CD-02
- docs-backend-evidence-cd-CD-03
- docs-backend-evidence-cd-CD-04
- docs-backend-evidence-cd-ZD-00
- docs-backend-evidence-cd-ZD-01
- docs-backend-evidence-cd-ZD-02
- docs-backend-evidence-cd-ZD-03
- docs-backend-evidence-cd-ZD-04
- docs-backend-evidence-cd-ZD-06
- docs-backend-evidence-cd-ZD-07
- docs-backend-evidence-cd-ZD-08
- docs-backend-evidence-community-safety-COMMUNITY_FINAL_SAFETY
- docs-backend-evidence-community-safety-COMMUNITY_HOME_CONSOLIDATION
- docs-backend-evidence-community-safety-CS00_AUDIT
- docs-backend-evidence-community-safety-CS01_HELPFULNESS_CONTRACT
- docs-backend-evidence-community-safety-CS02A_HELPFULNESS_STORE
- docs-backend-evidence-community-safety-CS02B_HELPFULNESS_HTTP
- docs-backend-evidence-community-safety-CS03A_HELPFULNESS_QUOTA
- docs-backend-evidence-community-safety-CS03B_LIMITER_ROTATION
- docs-backend-evidence-community-safety-CS04_FEED_PLANS
- docs-backend-evidence-community-safety-CS05A_CONTRIBUTION_MODERATION
- docs-backend-evidence-community-safety-CS05B_REVIEW_ANNOTATION
- docs-backend-evidence-community-safety-CS06_PROJECTIONS_ISOLATION
- docs-backend-evidence-community-safety-CS07A_BENCH_HARNESS
- docs-backend-evidence-community-safety-CS08A_HELPFULNESS_CLIENT
- docs-backend-evidence-community-safety-CS08B_HELPFULNESS_VIEW
- docs-backend-evidence-community-safety-CS09A_CONSENT_CONTRACT
- docs-backend-evidence-community-safety-CS09B_CONSENT_STORE
- docs-backend-evidence-community-safety-CS09C_CONSENT_HTTP
- docs-backend-evidence-community-safety-CS10A_PROMOTION_CONTRACT
- docs-backend-evidence-community-safety-CS10B_DERIVATIVE_STORE
- docs-backend-evidence-community-safety-CS10C_WORKER_PURGE_SOAK
- docs-backend-evidence-community-safety-CS10D_TRAINING_ERASURE
- docs-backend-evidence-community-safety-CS11A_CONSENT_CLIENT
- docs-backend-evidence-community-safety-CS11B_CONSENT_VIEW
- docs-backend-evidence-community-safety-CS11C_PHOTO_OPT_IN
- docs-backend-evidence-community-safety-CS12A_CONSENT_LIVE
- docs-backend-evidence-community-safety-PRM_COMMUNITY_FIRST
- docs-backend-evidence-community-safety-PRM_COMMUNITY_FIRST_ROLLOUT
- docs-backend-evidence-community-safety-RVA01_INGRESS_CONTRACT
- docs-backend-evidence-community-safety-RVA02_ADMISSION_CONTRACT
- docs-backend-evidence-community-safety-RVA03_ERASURE_RECOVERY
- docs-backend-evidence-community-safety-RVA04_CONSENT_FENCE
- docs-backend-evidence-community-safety-RVA05_OUTPUT_RECOVERY
- docs-backend-evidence-community-safety-RVA06_MINIMIZATION_GATE
- docs-backend-evidence-community-safety-RVA07_DEADLINE_ENFORCEMENT
- docs-backend-evidence-community-safety-RVA08_OWNER_CONSENT
- docs-backend-evidence-community-safety-RVA08_STAGING_ACCEPTANCE_2026-10-12
- docs-backend-evidence-community-safety-RVA09_JWKS_ADMISSION
- docs-backend-evidence-community-safety-RVA_BATCH_DELIVERY_2026-10-13
- docs-backend-evidence-community-safety-SEC01A_ADMISSION_REGRESSIONS
- docs-backend-evidence-community-safety-SEC01B_MAILBOX_BOUND
- docs-backend-evidence-community-safety-SEC01C_ATOMIC_ADMISSION
- docs-backend-evidence-community-safety-SEC01D_RETRY_ROLLBACK
- docs-backend-evidence-community-safety-SEC02A_PROXY_REGRESSIONS
- docs-backend-evidence-community-safety-SEC02B_TRUSTED_RESOLVER
- docs-backend-evidence-community-safety-SEC02C_BUDGET_SPLIT
- docs-backend-evidence-community-safety-SEC03A_ATOMIC_RESERVATION
- docs-backend-evidence-community-safety-SEC03B_TRANSFER_BOUNDARY
- docs-backend-evidence-community-safety-SEC03C_PROVIDER_MATRIX
- docs-backend-evidence-community-safety-SEC03D_NAMESPACE_MONITORING
- docs-backend-evidence-community-safety-SEC04A_ERASURE_INVENTORY
- docs-backend-evidence-community-safety-SEC04B_DELETION_LINKAGE
- docs-backend-evidence-community-safety-SEC04C_ATTRIBUTION_TRAINING
- docs-backend-evidence-community-safety-SEC04D_REPLAY_LOCAL_CLEANUP
- docs-backend-evidence-community-safety-SEC05A_OVERDUE_ORIGINALS
- docs-backend-evidence-community-safety-SEC05B_SCHEDULING_CATCHUP
- docs-backend-evidence-community-safety-SEC05C_TRANSIENT_CACHE
- docs-backend-evidence-community-safety-SEC05D_BACKUP_ASSESSMENT
- docs-backend-evidence-community-safety-SEC05E_EVERY_COPY_SOAK
- docs-backend-evidence-community-safety-SEC06A_SOURCE_BOUNDS
- docs-backend-evidence-community-safety-SEC06B_XLSX_CEILINGS
- docs-backend-evidence-community-safety-SEC06C_OUTBOX_BOUNDS
- docs-backend-evidence-community-safety-SEC06D_RETRY_BUDGETS
- docs-backend-evidence-community-safety-SEC06E_MEASURED_HISTORIES
- docs-backend-evidence-community-safety-SEC07A_REFRESH_REUSE
- docs-backend-evidence-community-safety-SEC07B_JWKS_EXPIRY
- docs-backend-evidence-community-safety-SEC07C_ANDROID_REFRESH
- docs-backend-evidence-community-safety-SEC08A_LOCATION_ASSURANCE
- docs-backend-evidence-community-safety-SEC08B_ADVERSARIAL_CLIENT
- docs-backend-evidence-community-safety-SEC08C_ATTESTATION_DECISION
- docs-backend-evidence-community-safety-SEC08D_PHONE_MATRIX
- docs-backend-evidence-community-safety-SEC09A_CURRENT_HEAD_REVIEW
- docs-backend-evidence-community-safety-SEC09B_DEPENDENCY_SCANS
- docs-backend-evidence-community-safety-SEC09C_INTEGRATION_FAULT
- docs-backend-evidence-community-safety-SEC09D_STAGING_RUNBOOK
- docs-backend-evidence-community-safety-SEC09E_PROTECTED_DELIVERY
- docs-backend-evidence-community-safety-rva08-staging-20261012-README
- docs-backend-evidence-driver-suite-DRV-00
- docs-backend-evidence-driver-suite-DRV-01
- docs-backend-evidence-driver-suite-DRV-02
- docs-backend-evidence-driver-suite-DRV-03-07_ACCEPTANCE
- docs-backend-evidence-driver-suite-DRV-03
- docs-backend-evidence-driver-suite-DRV-04
- docs-backend-evidence-driver-suite-DRV-05
- docs-backend-evidence-driver-suite-DRV-06
- docs-backend-evidence-driver-suite-DRV-07
- docs-backend-evidence-driver-suite-DRV-08
- docs-backend-evidence-driver-suite-DRV-09
- docs-backend-evidence-driver-suite-DRV-10
- docs-backend-evidence-driver-suite-DRV-11
- docs-backend-evidence-driver-suite-DRV-12
- docs-backend-evidence-driver-suite-DRV-13
- docs-backend-evidence-driver-suite-DRV-14
- docs-backend-evidence-driver-suite-DRV-15
- docs-backend-evidence-driver-suite-DRV-16
- docs-backend-evidence-driver-suite-DRV-17
- docs-backend-evidence-driver-suite-DRV-18-22
- docs-backend-evidence-driver-suite-DRV-18-recovery-continuation
- docs-backend-evidence-driver-suite-DRV-22-25
- docs-backend-evidence-enterprise-static-ESP-00
- docs-backend-evidence-enterprise-static-ESP-01
- docs-backend-evidence-enterprise-static-ESP-02
- docs-backend-evidence-enterprise-static-ESP-03
- docs-backend-evidence-enterprise-static-ESP-04
- docs-backend-evidence-enterprise-static-ESP-05
- docs-backend-evidence-enterprise-static-ESP-06
- docs-backend-evidence-enterprise-static-ESP-07
- docs-backend-evidence-enterprise-static-ESP-08
- docs-backend-evidence-enterprise-static-ESP-09
- docs-backend-evidence-enterprise-static-ESP-10
- docs-backend-evidence-enterprise-static-ESP-11
- docs-backend-evidence-enterprise-static-ESP-12
- docs-backend-evidence-enterprise-static-ESP-13
- docs-backend-evidence-enterprise-static-ESP-14
- docs-backend-evidence-enterprise-static-ESP-15
- docs-backend-evidence-enterprise-static-ESP-16
- docs-backend-evidence-enterprise-static-ESP-17
- docs-backend-evidence-enterprise-static-ESP-18
- docs-backend-evidence-enterprise-static-ESP-CORRECTIONS-02
- docs-backend-evidence-enterprise-static-ESP-STAGING-01
- docs-backend-evidence-ev-support-EE-00
- docs-backend-evidence-ev-support-EE-01
- docs-backend-evidence-ev-support-EE-02
- docs-backend-evidence-ev-support-EE-03
- docs-backend-evidence-ev-support-EE-04
- docs-backend-evidence-ev-support-EE-05
- docs-backend-evidence-ev-support-EE-06
- docs-backend-evidence-ev-support-EE-07
- docs-backend-evidence-ev-support-EE-08
- docs-backend-evidence-ev-support-EE-09
- docs-backend-evidence-ev-support-EE-10
- docs-backend-evidence-ev-support-EE-11-REVIEW
- docs-backend-evidence-ev-support-EE-11
- docs-backend-evidence-ev-support-EE-12
- docs-backend-evidence-ev-support-EE-13
- docs-backend-evidence-ev-support-EE-14
- docs-backend-evidence-ev-support-EE-15
- docs-backend-evidence-ev-support-EE-16
- docs-backend-evidence-ev-support-EE-17
- docs-backend-evidence-ev-support-EE-18
- docs-backend-evidence-ev-support-EE-19
- docs-backend-evidence-ev-support-EE-20
- docs-backend-evidence-ev-support-EE-21
- docs-backend-evidence-ev-support-EE-22
- docs-backend-evidence-ev-support-EE-23
- docs-backend-evidence-ev-support-EE-24
- docs-backend-evidence-ev-support-EE-25-MEX-31-GAP
- docs-backend-evidence-ev-support-EE-25
- docs-backend-evidence-ev-support-EE-26
- docs-backend-evidence-ev-support-EE-27
- docs-backend-evidence-ev-support-EE-28
- docs-backend-evidence-ev-support-EE-29
- docs-backend-evidence-ev-support-EE-30
- docs-backend-evidence-ev-support-EE-31
- docs-backend-evidence-evc-CUIABA_CHARGING_SUPPLEMENT
- docs-backend-evidence-evc-EVC-00
- docs-backend-evidence-evc-EVC-01
- docs-backend-evidence-evc-EVC-02
- docs-backend-evidence-evc-EVC-03
- docs-backend-evidence-evc-EVC-04
- docs-backend-evidence-evc-EVC-05
- docs-backend-evidence-evc-EVC-06
- docs-backend-evidence-evc-EVC-07
- docs-backend-evidence-evc-EVC-08
- docs-backend-evidence-evc-EVC-09
- docs-backend-evidence-evc-EVC-10
- docs-backend-evidence-evc-MT_NEXT10_CHARGING_PILOT
- docs-backend-evidence-evc-MT_TOP10_CHARGING_PILOT
- docs-backend-evidence-evc-SORRISO_CHARGING_PILOT
- docs-backend-evidence-evc-SORRISO_CHARGING_SUPPLEMENT
- docs-backend-evidence-fuel-quality-FQ-PORTAL-READY
- docs-backend-evidence-fuel-quality-FQ00_SOURCE_INVENTORY
- docs-backend-evidence-fuel-quality-FQ01_CONTRACTS
- docs-backend-evidence-fuel-quality-FQ02B_NATIVE_PMQC
- docs-backend-evidence-fuel-quality-FQ02C_SOURCE_CLOCKS
- docs-backend-evidence-fuel-quality-FQ02_QUALITY_PREP
- docs-backend-evidence-fuel-quality-FQ03_IDENTITY_RESOLUTION
- docs-backend-evidence-fuel-quality-FQ04A_ASSAY_LEDGER
- docs-backend-evidence-fuel-quality-FQ04B_EVENT_LEDGERS
- docs-backend-evidence-fuel-quality-FQ04C_REVISION_PROVENANCE
- docs-backend-evidence-fuel-quality-FQ05C_PREPARED_BRIDGE
- docs-backend-evidence-fuel-quality-FQ05W1_MEMBER_PROVENANCE
- docs-backend-evidence-fuel-quality-FQ05W2_ARCHIVE_PROCESS
- docs-backend-evidence-fuel-quality-FQ05W3_DIRECTORY_FENCE
- docs-backend-evidence-fuel-quality-FQ05W4_FILE_IMPORT
- docs-backend-evidence-fuel-quality-FQ05W5_WORKER_COMPOSITION
- docs-backend-evidence-fuel-quality-FQ05W6_DIRECTORY_REVALIDATION
- docs-backend-evidence-fuel-quality-FQ05W7_LIVE_DISCOVERY
- docs-backend-evidence-fuel-quality-FQ05W8_IMAGE_SCHEDULING
- docs-backend-evidence-fuel-quality-FQ05W_NATIVE_RUNTIME
- docs-backend-evidence-fuel-quality-FQ05_BACKFILL_DISCOVERY
- docs-backend-evidence-fuel-quality-FQ06_ENFORCEMENT_ADAPTER
- docs-backend-evidence-fuel-quality-FQ07R1_OFFICIAL_FINE_PREPARER
- docs-backend-evidence-fuel-quality-FQ07R2_VERIFIED_FINE_BRIDGE
- docs-backend-evidence-fuel-quality-FQ07R3A_NATIVE_FINE_STORAGE
- docs-backend-evidence-fuel-quality-FQ07R3B_NATIVE_FINE_PUBLICATION
- docs-backend-evidence-fuel-quality-FQ07R4A_NATIVE_FINE_FILE_IMPORT
- docs-backend-evidence-fuel-quality-FQ07R4B_NATIVE_FINE_WORKER
- docs-backend-evidence-fuel-quality-FQ07R5A_HISTORICAL_FINE_PREPARER
- docs-backend-evidence-fuel-quality-FQ07R5B_HISTORICAL_FINE_BRIDGE
- docs-backend-evidence-fuel-quality-FQ07R5C_HISTORICAL_FINE_STORAGE
- docs-backend-evidence-fuel-quality-FQ07R5D_HISTORICAL_FINE_PUBLICATION
- docs-backend-evidence-fuel-quality-FQ07R5E_HISTORICAL_FINE_WORKER
- docs-backend-evidence-fuel-quality-FQ07R6A_COMPANY_ASSOCIATION_POLICY
- docs-backend-evidence-fuel-quality-FQ07R6B_COMPANY_ASSOCIATION_STORAGE
- docs-backend-evidence-fuel-quality-FQ07R6C_COMPANY_ASSOCIATION_PUBLICATION
- docs-backend-evidence-fuel-quality-FQ07R6D_COMPANY_WORKER_COMPOSITION
- docs-backend-evidence-fuel-quality-FQ07R6E1_SCOPED_COMPANY_READS
- docs-backend-evidence-fuel-quality-FQ07_SANCTION_SNAPSHOTS
- docs-backend-evidence-fuel-quality-FQ08H_HISTORICAL_READS
- docs-backend-evidence-fuel-quality-FQ08_READ_API
- docs-backend-evidence-fuel-quality-FQ09_SIGNED_REPORTS
- docs-backend-evidence-fuel-quality-FQ11_DOCUMENT_FREE_REVIEW
- docs-backend-evidence-fuel-quality-FQ12_METHODOLOGY
- docs-backend-evidence-fuel-quality-FQ13_PROJECTIONS
- docs-backend-evidence-fuel-quality-FQ14A_PUBLIC_DIMENSIONS
- docs-backend-evidence-fuel-quality-FQ14B_ANDROID_PMQC
- docs-backend-evidence-fuel-quality-FQ15A_SIGNED_OWNER_CLIENT
- docs-backend-evidence-fuel-quality-FQ15B_ANDROID_OWNER_REPORTS
- docs-backend-evidence-fuel-quality-FQ16A_PUBLIC_OFFLINE_CACHE
- docs-backend-evidence-fuel-quality-FQ16B1_ENCRYPTED_JOURNAL
- docs-backend-evidence-fuel-quality-FQ16B2_DURABLE_DISPATCH
- docs-backend-evidence-fuel-quality-FQ_REVIEW_20261018
- docs-backend-evidence-maps-MAP-00
- docs-backend-evidence-maps-MAP-02
- docs-backend-evidence-maps-MAP-03
- docs-backend-evidence-maps-MAP-04
- docs-backend-evidence-maps-MAP-05
- docs-backend-evidence-maps-MAP-06
- docs-backend-evidence-maps-MAP-07
- docs-backend-evidence-maps-MAP-08
- docs-backend-evidence-maps-MAP-08_DIAGNOSIS
- docs-backend-evidence-maps-MAP-09
- docs-backend-evidence-maps-MAP-10
- docs-backend-evidence-maps-MAP-11
- docs-backend-evidence-maps-MAP-12
- docs-backend-evidence-maps-MAP-13
- docs-backend-evidence-maps-MAP-14
- docs-backend-evidence-maps-MAP-14_BUILD_RECOVERY
- docs-backend-evidence-maps-MAP-14_ENGINE_GATE
- docs-backend-evidence-maps-MAP-14_MULTI_ABI
- docs-backend-evidence-maps-MAP-14_REPRODUCIBILITY
- docs-backend-evidence-maps-MAP-14_SPIKE
- docs-backend-evidence-maps-MAP-14_T07_AUDIT
- docs-backend-evidence-maps-MAP-15
- docs-backend-evidence-maps-MAP-15_20_REMEDIATION_20261025
- docs-backend-evidence-maps-MAP-16
- docs-backend-evidence-maps-MAP-17
- docs-backend-evidence-maps-MAP-18
- docs-backend-evidence-maps-MAP-19
- docs-backend-evidence-maps-MAP-20
- docs-backend-evidence-maps-MAP-20_MINIMUM_LOCAL_20261025
- docs-backend-evidence-maps-MAP-21
- docs-backend-evidence-maps-MAP-22
- docs-backend-evidence-maps-MAP-22_23_DIRECT_NAVIGATION
- docs-backend-evidence-maps-MAP-23
- docs-backend-evidence-maps-MAP-24
- docs-backend-evidence-maps-MAP-25
- docs-backend-evidence-maps-MAP-26
- docs-backend-evidence-maps-MAP-27
- docs-backend-evidence-maps-MAP-28
- docs-backend-evidence-maps-MAP-29
- docs-backend-evidence-maps-MAP-30
- docs-backend-evidence-maps-MAP-31
- docs-backend-evidence-maps-MAP-32
- docs-backend-evidence-maps-MAP-33
- docs-backend-evidence-maps-MAP-UI-ISOLATION-20261026
- docs-backend-evidence-maps-MAP-UI-REFINEMENT-20261026
- docs-backend-evidence-maps-MAP_BATCH_INVENTORY
- docs-backend-evidence-maps-map-completion-MC-00
- docs-backend-evidence-maps-map-completion-MC-A1
- docs-backend-evidence-maps-map-completion-MC-A2
- docs-backend-evidence-maps-map-completion-MC-A3
- docs-backend-evidence-maps-map-completion-MC-B1
- docs-backend-evidence-maps-map-completion-MC-B2
- docs-backend-evidence-maps-map-completion-MC-B3
- docs-backend-evidence-maps-map-completion-MC-B4
- docs-backend-evidence-maps-map-completion-MC-C1
- docs-backend-evidence-maps-map14-final-REPEAT_RUNTIME
- docs-backend-evidence-maps-map14-t07-SOURCE_OFFER
- docs-backend-evidence-maps-map14-t07-THIRD_PARTY_NOTICES
- docs-backend-evidence-mobile-expansion-DOMAIN_AUDIT_20261021
- docs-backend-evidence-mobile-expansion-MAIN_RECONCILIATION_20261022
- docs-backend-evidence-mobile-expansion-MEX-00
- docs-backend-evidence-mobile-expansion-MEX-01
- docs-backend-evidence-mobile-expansion-MEX-02
- docs-backend-evidence-mobile-expansion-MEX-03
- docs-backend-evidence-mobile-expansion-MEX-04
- docs-backend-evidence-mobile-expansion-MEX-05
- docs-backend-evidence-mobile-expansion-MEX-06
- docs-backend-evidence-mobile-expansion-MEX-07
- docs-backend-evidence-mobile-expansion-MEX-08
- docs-backend-evidence-mobile-expansion-MEX-09
- docs-backend-evidence-mobile-expansion-MEX-10
- docs-backend-evidence-mobile-expansion-MEX-11
- docs-backend-evidence-mobile-expansion-MEX-12
- docs-backend-evidence-mobile-expansion-MEX-13
- docs-backend-evidence-mobile-expansion-MEX-14
- docs-backend-evidence-mobile-expansion-MEX-15
- docs-backend-evidence-mobile-expansion-MEX-16
- docs-backend-evidence-mobile-expansion-MEX-17
- docs-backend-evidence-mobile-expansion-MEX-18
- docs-backend-evidence-mobile-expansion-MEX-19
- docs-backend-evidence-mobile-expansion-MEX-20a
- docs-backend-evidence-mobile-expansion-MEX-20b
- docs-backend-evidence-mobile-expansion-MEX-20c
- docs-backend-evidence-mobile-expansion-MEX-20d
- docs-backend-evidence-mobile-expansion-MEX-20e
- docs-backend-evidence-mobile-expansion-MEX-20f
- docs-backend-evidence-mobile-expansion-MEX-21
- docs-backend-evidence-mobile-expansion-MEX-22
- docs-backend-evidence-mobile-expansion-MEX-23
- docs-backend-evidence-mobile-expansion-MEX-24
- docs-backend-evidence-mobile-expansion-MEX-25
- docs-backend-evidence-mobile-expansion-MEX-26
- docs-backend-evidence-mobile-expansion-MEX-27
- docs-backend-evidence-mobile-expansion-MEX-28
- docs-backend-evidence-mobile-expansion-MEX-29
- docs-backend-evidence-mobile-expansion-MEX-30
- docs-backend-evidence-mobile-expansion-MEX-31
- docs-backend-evidence-mobile-expansion-MEX-32
- docs-backend-evidence-mobile-expansion-MEX-33
- docs-backend-evidence-mobile-expansion-MEX-34
- docs-backend-evidence-mobile-expansion-MEX-35
- docs-backend-evidence-mobile-expansion-MEX-36
- docs-backend-evidence-mobile-expansion-MEX-37
- docs-backend-evidence-mobile-expansion-MEX-38
- docs-backend-evidence-payments-PAY-00
- docs-backend-evidence-payments-PAY-01
- docs-backend-evidence-payments-PAY-02
- docs-backend-evidence-payments-PAY-03
- docs-backend-evidence-payments-PAY-04
- docs-backend-evidence-payments-PAY-05
- docs-backend-evidence-payments-PAY-06
- docs-backend-evidence-payments-PAY-07
- docs-backend-evidence-payments-PAY-08
- docs-backend-evidence-payments-PAY-09
- docs-backend-evidence-payments-PAY-10
- docs-backend-evidence-payments-PAY-11
- docs-backend-evidence-payments-PAY-12
- docs-backend-evidence-payments-PAY-13
- docs-backend-evidence-payments-PAY-14
- docs-backend-evidence-payments-PAY-15
- docs-backend-evidence-payments-PAY-16
- docs-backend-evidence-payments-PAY-17
- docs-backend-evidence-payments-PAY-18
- docs-backend-evidence-payments-PAY-19
- docs-backend-evidence-payments-PAY-20
- docs-backend-evidence-payments-PAY-21
- docs-backend-evidence-payments-PAY-22
- docs-backend-evidence-payments-PAY_THREAT_MATRIX
- docs-backend-evidence-premium-PRM08_T05_GATE_MATRIX
- docs-backend-evidence-premium-PRM_FIRST_TEN
- docs-backend-evidence-premium-PRM_NEXT_TEN
- docs-backend-evidence-reviews-RECENT_MAIN_PRS_AUDIT
- docs-backend-evidence-sna-NATIONAL_REFRESH_AND_PORTAL
- docs-backend-evidence-sna-OPENCNPJ_STATION_NAMES
- docs-backend-evidence-sna-SNA-01
- docs-backend-evidence-sna-SNA-02-reprojection
- docs-backend-evidence-sna-SNA-02
- docs-backend-evidence-sna-SNA-03
- docs-backend-evidence-sna-SNA-04
- docs-backend-evidence-sna-SNA-05
- docs-backend-evidence-sna-SNA-06
- docs-brand-APP_ICONS
- docs-brand-IDENTITY
- docs-commit-conventions
- docs-data-sources
- docs-glossary
- docs-license
- docs-local-build
- docs-mobile-KOTLIN_MULTIPLATFORM_AUDIT
- docs-mobile-UI_CONTAINER_GUIDELINES
- docs-mobile-android-developer-preview-key-session
- docs-mobile-bottom-tab-base-navigation
- docs-mobile-evidence-games-v1-README
- docs-mobile-games-mvp
- docs-mobile-games-polish-emulator
- docs-mobile-opt-home-community-feed-phase1
- docs-mobile-opt-home-community-feed-phase2
- docs-mobile-opt-home-community-feed-phase3
- docs-mobile-opt-home-community-feed-phase4
- docs-mobile-opt-home-community-feed-phase5
- docs-mobile-opt-home-community-feed-review-20261021
- docs-mobile-p12-t01-toolchain-baseline
- docs-mobile-p12-t02-portable-domain
- docs-mobile-p12-t03-application-ports
- docs-mobile-p12-t04-swift-shell
- docs-mobile-p12-t05-foundation-acceptance
- docs-mobile-p13-t05a-shared-auth
- docs-mobile-p13-t05b-android-adapters
- docs-mobile-p13-t05c-auth-screens
- docs-mobile-p17-t04-lifecycle-exit
- docs-mobile-p18-t01-acceptance-matrix
- docs-mobile-p19-t01-baseline
- docs-mobile-p19-t02-information-architecture
- docs-mobile-p20-t01-discovery-contract
- docs-mobile-p20-t02-explore-journey
- docs-mobile-p20-t03-station-detail
- docs-mobile-p20-t04-discovery-acceptance
- docs-mobile-p21-t01-contribution-contract
- docs-mobile-p21-t02-capture-review
- docs-mobile-p21-t03-outbox-status
- docs-mobile-p21-t04-storage-expiry
- docs-mobile-p22-t01-account-journey
- docs-mobile-p22-t02-ratings-comments-votes
- docs-mobile-p22-t03-moderation-support
- docs-mobile-p22-t04-abuse-acceptance
- docs-mobile-p23-city-community-feed
- docs-mobile-p23-t01-return-flows
- docs-mobile-p23-t02-onboarding-rules
- docs-mobile-p23-t03-metrics-operations
- docs-mobile-p23-t04-community-rehearsal
- docs-mobile-p24-t01-device-matrix
- docs-mobile-p24-t02-usability-accessibility
- docs-mobile-p24-t03-performance-memory
- docs-mobile-p24-t04-security-signoff
- docs-mobile-p32-home-commercial
- docs-mobile-p32-home-minimal
- docs-mobile-p32-icon-monochrome
- docs-mobile-p32-t01-public-profile
- docs-mobile-p32-t02-claim-export-import
- docs-mobile-p32-t03-management
- docs-mobile-p32-t04-offline-acceptance
- docs-mobile-p32-ui-completion
- docs-mobile-p34-t01-staging-inventory
- docs-mobile-p34-t02-environment
- docs-mobile-p34-t03-test-catalog
- docs-mobile-p35-station-page
- docs-mobile-p35-t01-directory-ports
- docs-mobile-p35-t02-explore-detail
- docs-mobile-p35-t03-search-regression
- docs-mobile-p36-account-continuity
- docs-mobile-p36-secure-storage-keyboard-integration
- docs-mobile-p36-secure-storage-keyboard
- docs-mobile-p36-t01-staging-accounts
- docs-mobile-p36-t02-feedback-screens
- docs-mobile-p36-t03-activity-rights
- docs-mobile-p37-camera-review
- docs-mobile-p37-image-ocr
- docs-mobile-p37-ocr-expanded-validation
- docs-mobile-p37-owner-scope-expiry
- docs-mobile-p37-photo-capture-eligibility
- docs-mobile-p37-photo-subset-android
- docs-mobile-p37-photo-subset-backend
- docs-mobile-p37-send-feedback-recovery
- docs-mobile-p37-split-price-ocr
- docs-mobile-p37-t01-contextual-capture
- docs-mobile-p37-t02-upload-outbox
- docs-mobile-p37-t03-storage-expiry
- docs-mobile-p38-t01-code-regression
- docs-mobile-p38-t02-acceptance-20261026
- docs-mobile-p38-t02-manual-matrix
- docs-mobile-p38-t03-candidate-handoff
- docs-mobile-pagination-sync-device-20261020
- docs-mobile-pagination-sync-review-20261019
- docs-mobile-premium-area-organization
- docs-mobile-premium-fuel-category
- docs-mobile-stations-auto-sync-20261013
- docs-operations-MAP_ACCEPTANCE_RUNBOOK
- docs-operator-PORTAL_PUBLICATION
- docs-operator-access
- docs-operator-backup
- docs-operator-deploy
- docs-operator-dou-editions
- docs-operator-edge-cache
- docs-operator-feedback-moderation
- docs-operator-map-static-overlay
- docs-operator-monitoring
- docs-operator-payments
- docs-operator-pilot-city
- docs-operator-portal-static-hosting
- docs-operator-profile-review
- docs-operator-recovery
- docs-operator-registry-runs
- docs-operator-retention
- docs-planning-ADMIN_CONTRIBUTOR_PLAN
- docs-planning-ADMIN_CONTRIBUTOR_PROMPTS
- docs-planning-ANDROID_VPS_PLAN
- docs-planning-ANDROID_VPS_PLAN_VALIDATION
- docs-planning-APP_CONSOLIDATION_EXECUTION_PROMPT
- docs-planning-APP_CONSOLIDATION_PLAN
- docs-planning-BASELINE_VALIDATION
- docs-planning-CD_ZERO_DOWNTIME_PLAN
- docs-planning-CD_ZERO_DOWNTIME_PROMPT
- docs-planning-CI_PLAN
- docs-planning-COMMERCIAL_COMMUNITY_PLAN
- docs-planning-COMMUNITY_RELIABILITY_PLAN
- docs-planning-COMMUNITY_SAFETY_EXECUTION_PLAN
- docs-planning-COMMUNITY_SAFETY_EXECUTION_PROMPT
- docs-planning-CONTINUE_ANDROID_VPS_PROMPT
- docs-planning-DECISIONS
- docs-planning-DELIVERY_WORKFLOW
- docs-planning-DOCUMENT_VALIDATION
- docs-planning-DRIVER_SUITE_EXECUTION_PLAN
- docs-planning-DRIVER_SUITE_PLAN_VALIDATION
- docs-planning-ECONOMY_RETENTION_PLAN
- docs-planning-ENTERPRISE_DATA_STATIC_PORTAL_PLAN
- docs-planning-ENTERPRISE_DATA_STATIC_PORTAL_PROMPT
- docs-planning-EV_FULL_SUPPORT_EXECUTION_PLAN
- docs-planning-EV_SOURCE_RESEARCH
- docs-planning-EV_SUPPORT_EXECUTION_PROMPT
- docs-planning-EV_SUPPORT_PLAN_VALIDATION
- docs-planning-FAST_EXECUTION
- docs-planning-FUEL_QUALITY_EXECUTION_PROMPT
- docs-planning-FUEL_QUALITY_IMPLEMENTATION_PLAN
- docs-planning-FUEL_QUALITY_REMAINING_HANDOFF
- docs-planning-FUTURE_EVIDENCE_BUSINESS_PLAN
- docs-planning-GAMES_OFFLINE_PLAN
- docs-planning-HOME_OFFLINE_EFFICIENCY_PLAN
- docs-planning-LANDING_REDESIGN_EXECUTION_PLAN
- docs-planning-LANDING_REDESIGN_EXECUTION_PROMPT
- docs-planning-MAP_COMPLETION_PLAN
- docs-planning-MAP_EV_AGENT_PROMPT
- docs-planning-MAP_EV_EXECUTION_PLAN
- docs-planning-MAP_EV_PLAN_VALIDATION
- docs-planning-MAP_EV_RESUME
- docs-planning-MAP_EV_SOURCE_REGISTER
- docs-planning-MAP_NATIONAL_APPLY_GATE
- docs-planning-MAP_NATIONAL_APPLY_RECEIPT
- docs-planning-MAP_NATIONAL_FINAL_RECEIPT
- docs-planning-MAP_NATIONAL_SOURCE_LIMITS
- docs-planning-MAP_NATIONAL_STATIC_OVERLAY_RECEIPT
- docs-planning-MAP_NATIONAL_STATIONS_PLAN
- docs-planning-MOBILE_DELIVERY_PLAN
- docs-planning-MOBILE_EXPANSION_CONTINUATION
- docs-planning-MOBILE_EXPANSION_EXECUTION_PLAN
- docs-planning-MOBILE_EXPANSION_EXECUTION_PROMPT
- docs-planning-MOBILE_EXPANSION_PLAN_VALIDATION
- docs-planning-NATIVE_NAVIGATION_PLAN
- docs-planning-OFFLINE_CAPABILITY_INVENTORY
- docs-planning-OFFLINE_DECISION_FREEZE_CS15B1
- docs-planning-PHOTO_PRICE_CONTRIBUTION_PLAN
- docs-planning-PREMIUM_BACKEND_APP_PLAN
- docs-planning-PREMIUM_PLAN_VALIDATION
- docs-planning-PRM_COMMUNITY_FIRST_PROMPT
- docs-planning-PRM_COMMUNITY_FIRST_VALIDATION
- docs-planning-PROGRESS
- docs-planning-PROJECT_BATCH_FLOW_VALIDATION
- docs-planning-REQUIREMENTS_TRACEABILITY
- docs-planning-RISKS
- docs-planning-RST21_BUNDLE
- docs-planning-RUST_STATION_BENCHMARK_PLAN
- docs-planning-RUST_STATION_INGESTION_PLAN
- docs-planning-RUST_STATION_INGESTION_PROMPT
- docs-planning-RUST_STATION_INGESTION_RST00
- docs-planning-RUST_STATION_INGESTION_RST01
- docs-planning-RUST_STATION_INGESTION_RST02
- docs-planning-RUST_STATION_INGESTION_RST03
- docs-planning-RUST_STATION_INGESTION_RST04
- docs-planning-RUST_STATION_INGESTION_RST05
- docs-planning-RUST_STATION_INGESTION_RST06
- docs-planning-RUST_STATION_INGESTION_RST07
- docs-planning-RUST_STATION_INGESTION_RST08
- docs-planning-RUST_STATION_INGESTION_RST09
- docs-planning-RUST_STATION_INGESTION_RST10
- docs-planning-RUST_STATION_INGESTION_RST11
- docs-planning-RUST_STATION_INGESTION_RST12
- docs-planning-RUST_STATION_INGESTION_RST13
- docs-planning-RUST_STATION_INGESTION_RST14
- docs-planning-RUST_STATION_INGESTION_RST15
- docs-planning-RUST_STATION_INGESTION_RST16
- docs-planning-RUST_STATION_INGESTION_RST17
- docs-planning-RUST_STATION_INGESTION_RST18
- docs-planning-RUST_STATION_INGESTION_RST19
- docs-planning-RUST_STATION_INGESTION_RST20
- docs-planning-SEC00A_REPRODUCTION_RECORD
- docs-planning-SEC00B_ROUTE_INVENTORY
- docs-planning-SEC00C_BUDGET_FREEZE
- docs-planning-SECURITY_OFFLINE_CORRECTION_PLAN_2026-10-11
- docs-planning-SECURITY_REMEDIATION_PLAN_2026-10-11
- docs-planning-SKELETON_LOADING_PLAN
- docs-planning-STAGING_CONTINUOUS_DEPLOY_PLAN
- docs-planning-STATIC_LANDING_PLAN
- docs-planning-STATION_CATALOG_PLAN
- docs-planning-STATION_EV_INGESTOR_PLAN
- docs-planning-STATION_PROFILE_PLAN
- docs-planning-STRIPE_ASAAS_PAYMENT_PLAN
- docs-planning-STRIPE_ASAAS_PAYMENT_PROMPT
- docs-planning-STRIPE_ASAAS_PROVIDER_ADMISSION
- docs-planning-STRIPE_ASAAS_PROVIDER_REGISTER
- docs-planning-WIKI_HOME_ADOPTION
- docs-planning-WORKFLOW_PLAN_VALIDATION
- docs-planning-archive-IOS_DEFERRED
- docs-planning-history-CONSOLIDATION_OPENING_20261006
- docs-planning-history-MAP_ENGINE_PROGRESS_BEFORE_ACCEPTANCE_20261024
- docs-planning-history-MAP_EV_RESUME_BEFORE_ENGINE_ACCEPTANCE_20261024
- docs-planning-history-MAP_REMEDIATION_PROGRESS_BEFORE_20261025
- docs-planning-history-P01_FOUNDATION_EVIDENCE
- docs-planning-history-P01_P09_PROGRESS_20260930
- docs-planning-history-P09_LOCAL_PROGRESS_20260930
- docs-planning-history-P14_PROGRESS_20260930
- docs-planning-history-P15_PROGRESS_20260930
- docs-planning-history-P18_AND_BRAND_PROGRESS_20261001
- docs-planning-history-P32_UI_OPENING_20261005
- docs-planning-history-ROADMAP_BEFORE_MULTIPLATFORM_20260930
- docs-planning-history-STATION_EV_PROGRESS_BEFORE_COUNTRY_V2_20261103
- docs-planning-history-WIKI_HOME_BEFORE_20261001
- docs-planning-history-reconciliation-20261013-README
- docs-planning-mobile-pagination-main-delivery-20261020
- docs-planning-pending-ADMIN_SUITE_REMAINING
- docs-planning-pending-CD_STAGING_ACCEPTANCE_REMAINING
- docs-planning-pending-MAP_NATIONAL_REMAINING
- docs-planning-pending-P38_ACCEPTANCE_REMAINING
- docs-planning-pending-README
- docs-planning-pending-STAGING_PERF_REMAINING
- docs-planning-repository-consolidation-20261006
- docs-planning-repository-reconciliation-20261013
- docs-planning-templates-PHASE_PR
- docs-planning-templates-PHASE_RECORD
- docs-planning-templates-TASK_ISSUE
- docs-play-store-listing
- docs-privacy-policy
- docs-product-ADMIN_TIERS_CONTRACT
- docs-product-APP_CONSOLIDATION_TARGET_CONTRACT
- docs-product-COMMUNITY_EXPERIENCE
- docs-product-COMMUNITY_METRICS
- docs-product-COMMUNITY_MODERATION
- docs-product-COMMUNITY_PRIVACY_TERMS_PT_BR
- docs-product-DRIVER_03_07_CONTRACT
- docs-product-DRIVER_FOUNDATION_DECISIONS
- docs-product-DRIVER_ODOMETER_REVIEW_CONTRACT
- docs-product-DRIVER_SUITE_CONTRACT
- docs-product-DRV_08_CONTRACT
- docs-product-DRV_09_CONTRACT
- docs-product-DRV_10_CONTRACT
- docs-product-DRV_11_CONTRACT
- docs-product-DRV_13_CONTRACT
- docs-product-DRV_14_CONTRACT
- docs-product-DRV_15_CONTRACT
- docs-product-DRV_16_CONTRACT
- docs-product-DRV_17_CONTRACT
- docs-product-DRV_21_GPS_LIFECYCLE_CONTRACT
- docs-product-DRV_SESSION_BARRIER_CONTRACT
- docs-product-ENTERPRISE_DATA_OFFERING
- docs-product-ENTERPRISE_DATA_STATIC_PORTAL_CONTRACT
- docs-product-ENTERPRISE_PORTAL_ROUTES_AND_EDITORIAL
- docs-product-ENTERPRISE_SOURCE_ADMISSION
- docs-product-EV_FINANCIAL_METHOD
- docs-product-EV_PREPARATION_CONTRACT
- docs-product-EV_SUPPORT_CONTRACT
- docs-product-EV_TYPED_DATA_CONTRACT
- docs-product-FUEL_QUALITY_TARGET_CONTRACT
- docs-product-LANDING_CONTENT_CONTRACT
- docs-product-LANDING_GUIDES_CONTRACT
- docs-product-LANDING_MOBILE_TUTORIAL_CATALOG
- docs-product-MAP_21_23_CONTRACT
- docs-product-MAP_25_CONTRACT
- docs-product-MAP_26_CONTRACT
- docs-product-MAP_27_CONTRACT
- docs-product-MAP_28_CONTRACT
- docs-product-MAP_29_PERFORMANCE_CONTRACT
- docs-product-MAP_DISCOVERY_CONTRACT
- docs-product-MOBILE_EXPANSION_CONTRACT
- docs-product-MOBILE_EXPLORATION_CONTRACT
- docs-product-NOTIFICATION_CONTENT_CONTRACT
- docs-product-OPEN_SOURCE_BUSINESS
- docs-product-PREMIUM_FINANCIAL_METHOD
- docs-product-PREMIUM_PRODUCT_CONTRACT
- docs-product-PREMIUM_SOURCE_POLICY
- docs-product-PRODUCT_CONTRACT
- docs-product-REGISTRY_SOURCES
- docs-product-STATION_CATALOG
- docs-product-STATION_FUEL_FEEDBACK
- docs-product-STATION_PROFILE_CONTRACT_FREEZE
- docs-product-STATION_PROFILE_REPRESENTATION
- docs-product-STRIPE_ASAAS_OFFER_POLICY
- docs-product-STRIPE_ASAAS_PAYMENT_CONTRACT
- docs-product-VEHICLE_REGISTRATION_POLICY
- docs-product-pilot-plan
- docs-release-build
- docs-release-evidence-ANDROID_AUTOMATED_RELEASE_ATTRIBUTION
- docs-release-evidence-G09
- docs-release-evidence-STORE_PRIVACY_READINESS
- docs-release-evidence-batch-p32-p33-closure
- docs-release-evidence-g09-historical-4ce5aaf
- docs-release-evidence-landing-redesign
- docs-release-evidence-learning-ui-20261026
- docs-release-evidence-legal-page-chrome
- docs-release-evidence-p00-app-icons-commercial-plan
- docs-release-evidence-p00-brand-publication
- docs-release-evidence-p08-t04-restore-drill
- docs-release-evidence-p08-t07-load
- docs-release-evidence-p08-t08-security
- docs-release-evidence-p09-g09-scoped-release
- docs-release-evidence-p09-local-runtime-validation
- docs-release-evidence-p09-t01-rehearsal
- docs-release-evidence-p09-t02-compatibility
- docs-release-evidence-p09-t04-functional-planning
- docs-release-evidence-p09-t05-wiki-overview
- docs-release-evidence-p10-t01-contract-harness
- docs-release-evidence-p10-t02-community-read-cache
- docs-release-evidence-p10-t03-device-keys
- docs-release-evidence-p10-t04-capture-ocr
- docs-release-evidence-p10-t05-outbox-media
- docs-release-evidence-p10-t06-price-ui
- docs-release-evidence-p10-t07-confirm-dispute
- docs-release-evidence-p10-t08-offline-release
- docs-release-evidence-p10-t09-temp-smoke
- docs-release-evidence-p13-t01-account-rules
- docs-release-evidence-p13-t02a-account-service
- docs-release-evidence-p13-t02b-pgstore
- docs-release-evidence-p13-t02c-transport
- docs-release-evidence-p13-t03a-oidc-verifier
- docs-release-evidence-p13-t03b-provider-links
- docs-release-evidence-p13-t03c-transport
- docs-release-evidence-p13-t04a-status-lifecycle
- docs-release-evidence-p13-t04b-binding
- docs-release-evidence-p13-t04c-transport-prover
- docs-release-evidence-p13-t04d-write-gate
- docs-release-evidence-p14-t01-feedback-domain
- docs-release-evidence-p14-t02-ratings
- docs-release-evidence-p14-t03-comments
- docs-release-evidence-p14-t04-votes
- docs-release-evidence-p14-t05a-reports-visibility
- docs-release-evidence-p14-t05b-export-erase
- docs-release-evidence-p15-t01-media-budgets
- docs-release-evidence-p15-t02a-portable-photo
- docs-release-evidence-p15-t02b-android-cache
- docs-release-evidence-p15-t03-backend-processing
- docs-release-evidence-p15-t04-expiry-restore
- docs-release-evidence-p15-t05-privacy-acceptance
- docs-release-evidence-p16-t01-location-risk
- docs-release-evidence-p16-t02-native-adapters
- docs-release-evidence-p16-t03a-server-verification
- docs-release-evidence-p16-t03b-intake-wiring
- docs-release-evidence-p16-t04-device-recovery
- docs-release-evidence-p17-t01-feedback-usecases
- docs-release-evidence-p17-t02-social-flows
- docs-release-evidence-p17-t03-iphone-integration
- docs-release-evidence-p17-t04-lifecycle-exit
- docs-release-evidence-p18-local-integration-exit
- docs-release-evidence-p18-t01-feature-matrix
- docs-release-evidence-p18-t02-performance-baselines
- docs-release-evidence-p18-t03-security-signoff
- docs-release-evidence-p24-g24-user-acceptance
- docs-release-evidence-p25-registry-exit
- docs-release-evidence-p25-static-landing
- docs-release-evidence-p25-t01-source-contracts
- docs-release-evidence-p25-t02-csv-staging
- docs-release-evidence-p25-t03-api-discovery
- docs-release-evidence-p25-t04-reconciliation
- docs-release-evidence-p25-t05-jobs-acceptance
- docs-release-evidence-p26-landing-guides
- docs-release-evidence-p26-regulatory-exit
- docs-release-evidence-p26-t01-edition-access
- docs-release-evidence-p26-t02-act-reconciliation
- docs-release-evidence-p26-t03-review-catchup
- docs-release-evidence-p27-intake-exit
- docs-release-evidence-p27-t01-signed-intake
- docs-release-evidence-p27-t02-verified-decisions
- docs-release-evidence-p27-t03-catalog-cache
- docs-release-evidence-p27-t04-suggest-journey
- docs-release-evidence-p27-t05-abuse-privacy
- docs-release-evidence-p29-catalog-exit
- docs-release-evidence-p29-t01-capacity
- docs-release-evidence-p29-t02-lifecycle
- docs-release-evidence-p29-t03-candidate
- docs-release-evidence-p30-profile-exit
- docs-release-evidence-p30-t01-contract-freeze
- docs-release-evidence-p30-t02-operator-profile
- docs-release-evidence-p30-t03-claims
- docs-release-evidence-p30-t04-proof-intake
- docs-release-evidence-p31-t01-signature-verify
- docs-release-evidence-p31-t02-authority
- docs-release-evidence-p31-t03-review-grants
- docs-release-evidence-p31-t04-manage-replies
- docs-release-evidence-p33-t01-adversarial
- docs-release-evidence-p33-t02-lifecycle
- docs-release-evidence-p33-t03-candidate
- docs-release-evidence-p34-vps-connection-exit
- docs-release-evidence-p35-live-discovery-exit
- docs-release-evidence-p36-live-community-exit
- docs-release-evidence-p37-live-contributions-exit
- docs-release-evidence-p38-app-acceptance-exit
- docs-releases-v1.0.0
- docs-releases-v2.0.0
- docs-releases-v3.0.0
- docs-releases-v3.1.0
- docs-screenshots-v2-README
- docs-screenshots-v3-README
- docs-security-AI_TRAINING_IMAGE_CONSENT_PLAN
- docs-security-FREE_ACCOUNT_ACCESS
- docs-security-LOCAL_MEDIA_LOCATION_POLICY
- docs-security-SECURITY_AUDIT_2026-10-11
- docs-security-SECURITY_OFFLINE_REASSESSMENT_2026-10-11
- docs-security-SECURITY_PRIVACY
- docs-security-evidence-audit-2026-10-11-README
- docs-security-evidence-reassessment-2026-10-11-README
- docs-security-identity-profile
- docs-tech-stack
- docs-use-cases-backend-use-cases
- docs-use-cases-uc-001-sync-price-tables
- docs-use-cases-uc-002-onboarding
- docs-use-cases-uc-003-select-location
- docs-use-cases-uc-004-search-municipality
- docs-use-cases-uc-005-view-municipality-prices
- docs-use-cases-uc-006-view-price-history
- docs-use-cases-uc-007-view-station-prices
- docs-use-cases-uc-008-manage-settings
- docs-use-cases-uc-009-select-survey-week
- docs-use-cases-uc-010-manage-vehicles
- docs-use-cases-uc-011-estimate-tank-fill-cost
- docs-use-cases-uc-012-resolve-location-from-device
- docs-use-cases-uc-013-navigate-to-station
- docs-use-cases-uc-014-fuel-price-drop-alerts
- docs-use-cases-uc-015-find-nearest-best-price-station
- docs-user-business-logic
Source: AlexandreZanata/brazil-fuel-prices @ 99f218303462287ad0d2122e065fa9d9759314ee