1.4 KiB
1.4 KiB
API — Decisions
Settled
- API is the heartbeat authority by polling agents.
- Agent does not push heartbeat/state into API.
- Semantic readiness uses
/ready, not plain HTTP 200. - Portal should consume API-normalized state, not call agents directly for normal state/actions.
- streaming upload proxy behavior should remain separate from generic non-streaming
agentClient.jstransport. - websocket console proxy behavior should remain separate from generic non-streaming
agentClient.jstransport. - API is now tracked on a Node 24 baseline with repo-local version pinning.
- built-in global
fetchis the intended fetch implementation; directnode-fetchdependency is no longer the preferred pattern. - duplicated game file proxy behavior should be folded into shared helper paths while preserving compatibility for both canonical and compatibility routes.
- Prisma config should live in dedicated Prisma config, not deprecated
package.json#prismaconfig. - JWT verification hardening is allowed to be contract-sensitive; access, refresh, and IDE proxy tokens may use distinct audience expectations.
- hosted IDE proxy cookies should default to hardened behavior appropriate for public HTTPS deployments.
- proxy logging should avoid exposing cookies or detailed forwarded-header values in routine logs.
Tracking rule
- when API work completes, remove it from
OPEN_ITEMS.md - if it changes the long-lived architecture, update
CURRENT_STATE.mdor this file