docs(memory-bank): record relay hardening policy baseline and operating knobs
This commit is contained in:
@@ -22,6 +22,21 @@
|
||||
- Additional custom server entries exist (`server.js`, `server/server.js`) but are currently treated as non-active for the refactor baseline unless deployment evidence indicates otherwise.
|
||||
- Environment-driven config for auth, relay/API roots, hash key, notify key, and database URL.
|
||||
|
||||
### Relay forwarding hardening policy knobs (P2-S3)
|
||||
|
||||
- Shared relay middleware now enforces centralized timeout/retry behavior for relay-backed GET flows.
|
||||
- Supported env knobs:
|
||||
- `RELAY_TIMEOUT_MS` (default `8000`, clamped `100..30000`)
|
||||
- `RELAY_RETRY_MAX` (default `2`, clamped `0..4`)
|
||||
- `RELAY_RETRY_BASE_DELAY_MS` (default `200`, clamped `0..5000`)
|
||||
- `RELAY_RETRY_MAX_DELAY_MS` (default `1200`, clamped `0..5000`)
|
||||
- Retry classification:
|
||||
- retryable: `408`, `429`, `5xx`, selected transient transport errors
|
||||
- non-retryable: deterministic client/auth statuses (`400`, `401`, `403`, `404`, `422`) and other explicit non-retryable HTTP statuses
|
||||
- Logging behavior:
|
||||
- structured redacted relay events emitted for retry/failure
|
||||
- duplicate endpoint-layer error logging suppressed when relay layer already emitted terminal failure log
|
||||
|
||||
## Tooling and quality gates
|
||||
|
||||
- Linting: `npm run lint` (`next lint`).
|
||||
|
||||
Reference in New Issue
Block a user