The public surface — 17 of the 28 registered routes — reads from a 29KB
TypeScript fixture and never touches the backend. `TECH_LOG_STUDIO_SOURCE`
only ever switched the Studio gateways; `publicContent` was wired to the
static adapter unconditionally, so no configuration could make the public
site show published content. This is the first half of closing that: the
contract and the switch, with the adapter still to come.
The generator now vendors both canonical contracts instead of one. They are
independent — different services on different schedules — so each carries
its own digest and operation list, and updating one leaves the other's drift
gate quiet.
`TECH_LOG_PUBLIC_SOURCE` is deliberately a second flag rather than a rename
of the Studio one. The combination that matters right now is exactly the one
a single flag cannot express: the authoring backend is live while the public
read API does not exist yet. production stays on MOCK for that reason —
pointing it at HTTP today would empty the live site — and moves when the
backend serves /api/v1/public.
Also records the compatibility evidence the registry gate wanted for the
Studio access change in fff5e6f. That gate has been failing since, which is
on me: the change was real and breaking, and it shipped without the note
explaining that route ids and schemas are untouched and only the access
classification moves.
22 lines
575 B
JSON
22 lines
575 B
JSON
{
|
|
"APP_ENV": "development",
|
|
"API_BASE_URL": "https://api.dev.example.com/",
|
|
"REQUEST_TIMEOUT_MS": 15000,
|
|
"MAX_RETRY_ATTEMPTS": 2,
|
|
"TELEMETRY_ENABLED": false,
|
|
"AUTH_MODE": "external",
|
|
"CONFIG_SCHEMA_VERSION": "2.0",
|
|
"RELEASE_MANIFEST_URL": "/release-manifest.json",
|
|
"CAPABILITY_OVERRIDES": {
|
|
"REALTIME": "DEFAULT",
|
|
"WEB_WORKER": "DEFAULT",
|
|
"SERVICE_WORKER": "DEFAULT",
|
|
"OFFLINE_COMMANDS": "DEFAULT"
|
|
},
|
|
"TECH_LOG_STUDIO_SOURCE": "HTTP",
|
|
"TECH_LOG_PUBLIC_SOURCE": "HTTP",
|
|
"FEATURE_OVERRIDES": {
|
|
"reference-feature": "DEFAULT"
|
|
}
|
|
}
|