WP-00 Shared HTTP and persistence scaffold
Load AGENTS.md, contracts.md, and api-map.md first. Tech specs: api/common.md, app/common.md, exchange/common.md. Implement only when the user asks.
Group G0. No other feature package starts before this lands.
Owns
afia-api/src/main/java/health/afia/app/common/EndpointUri.javaafia-api/src/main/java/health/afia/app/common/ApiEnvelope.javaafia-api/src/main/resources/db/afia-api/src/main/resources/application.propertiesafia-app/lib/core/const/api_config.dartai-agent/docs/api-map.md
Features F-18 and F-19 are already live. Keep those two paths working.
Must not write
- Any
health.afia.app.identity,patient,clinician,diagnostics, oradminpackage - Flutter
presentation/feature folders - Stitch exports or invented screens
Depends on
Nothing. This is the first implementation package.
Done when
EndpointUrihas constants for every row inmanifest/api-prefixes.tsv.ApiConfigcopies those paths. It does not invent new ones.docs/api-map.mdlists each reserved path and its owner work package.- Persistence rule from ADR 0003 is in
application.propertieswhen the first write lands. Use Postgres and Liquibase. Setddl-auto=none. GET /api/v1/afia/healthandGET /api/v1/afia/app-versionstill pass their existing tests.cd afia-api && mvn testpasses.cd afia-app && flutter testpasses.- After you edit
docs/api-map.mdor the pack,python3 ai-agent/scripts/check-agent-pack.pyprints PASS.
Do not invent screens
This package has no UI beyond the current health check. Leave Flutter home as it is unless the user asks to keep the health button.