Claude (matrix-test) 5db0c581d9 observer: fix gateway health probe — text/plain not JSON
The startup health check in observer.ts:645 did fetch().then(r => r.json())
against the gateway /health endpoint, which returns text/plain "lakehouse ok"
not JSON. r.json() throws, .catch swallows to null, observer concludes
"gateway unreachable" and exits. Combined with systemd Restart=on-failure
this produced a 5-second crash loop on every boot of matrix-test.

Fix: r.ok ? r.text() : null — keeps the same null-on-failure contract for
the existing if (!health) guard while accepting the actual content type.

Sealed in pathway_memory as TypeConfusion:fetch-health-json (trace at
matrix_handover_validate|mcp-server/observer.ts|service_crash_loop) so
the matrix index preempts this on any future deploy probe.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 04:37:20 +00:00
Description
Architectural checkpoint: matrix-driven agent loop with Mem0 versioning + deletion validated end-to-end on Chicago permit data
868 MiB
Languages
Rust 44.2%
TypeScript 30.4%
HTML 12.5%
Python 8.6%
JavaScript 1.7%
Other 2.6%