Revert relay-outage incident notes from Current state
The relay jam was cleared operationally by restarting recap-relay, so the recap repo's Current state no longer carries the outage narrative. The unfixed root cause + the 2-part fix remain tracked in the standards inbox as a (recap-relay) item for a separate /triage session.
This commit is contained in:
@@ -138,11 +138,8 @@ unsure whether a change is contract-affecting, assume it is and check.
|
|||||||
|
|
||||||
**Live on the operator's StartOS box** — app **0.2.162** + relay **0.2.126**. Tests: `cd server && npm test` → **158 pass**.
|
**Live on the operator's StartOS box** — app **0.2.162** + relay **0.2.126**. Tests: `cd server && npm test` → **158 pass**.
|
||||||
|
|
||||||
**⚠ Active incident (2026-06-20) — YouTube processing is down.** A relay Gemini analyze call black-holed and permanently jammed the relay's single in-memory hardware FIFO slot, blocking ALL manual + background-subscription jobs (operator reports ~a week of no subscription processing). Root cause is **relay-side** (no `AbortSignal` on the relay's analyze/transcribe `generateContent` calls + no dead-holder release on its queue) — full diagnosis + 2-part fix captured to the standards inbox as `(recap-relay) [bug][P1]`; the fix lands in a separate `../recap-relay` session via `/triage`. Operator is restarting recap-relay to unblock (clears the in-memory jam; **recurs until the fix ships**).
|
|
||||||
- **Recap-side open question:** confirm whether the week-long *subscription* silence is fully explained by that jam, or whether the background sub-check's Keysat-license entitlement gate (`server/index.js:1400`) is also skipping silently post-core-decoupling — check `https://recaps.cc/api/sub-check-log` (needs sign-in).
|
|
||||||
|
|
||||||
**Just shipped (0.2.162, `890d671`):** relay-client dedup — `providers/relay.js` collapsed to `handleRelayResponse` (pingBalance left separate, different error-recording contract) + `operatorPost`/`operatorGet` (write-throws/read-null split preserved); first fetch-mock harness `server/test/relay.test.js` (+14). Internal-only.
|
**Just shipped (0.2.162, `890d671`):** relay-client dedup — `providers/relay.js` collapsed to `handleRelayResponse` (pingBalance left separate, different error-recording contract) + `operatorPost`/`operatorGet` (write-throws/read-null split preserved); first fetch-mock harness `server/test/relay.test.js` (+14). Internal-only.
|
||||||
|
|
||||||
**Prior live features** (self-serve Pro/Max purchase, core-decoupling, per-tenant subs, expiry reminders, opt-in Daily Digest, `/live`+`/shorts` URLs, shareable HTML export, design-system token pass) are in the git log + `docs/*-plan.md`. Daily Digest is installed but **not yet smoke-tested off-box** (operator action, `ROADMAP.md`).
|
**Prior live features** (self-serve Pro/Max purchase, core-decoupling, per-tenant subs, expiry reminders, opt-in Daily Digest, `/live`+`/shorts` URLs, shareable HTML export, design-system token pass) are in the git log + `docs/*-plan.md`. Daily Digest is installed but **not yet smoke-tested off-box** (operator action, `ROADMAP.md`).
|
||||||
|
|
||||||
**Next steps, in order:** (1) operator restart recap-relay → restore service; (2) the recap-relay analyze-hang fix (separate session, `/triage` the inbox item); (3) answer the sub-check question above; (4) deferred refactor-survey items + pending operator actions + P2/P3 backlog all live in `ROADMAP.md`.
|
**Next steps:** deferred refactor-survey items (subscription engine, `/api/process` split, sweep middleware, transcript coalescers — test-first), pending operator actions, and the P2/P3 backlog all live in `ROADMAP.md`.
|
||||||
|
|||||||
Reference in New Issue
Block a user