~bigbes/sr-ht-spec: 96471669

feat(cmd): mount the read plane, MCP and GraphQL surfaces

The three Phase 2 surfaces were built but never served: each was written
under an instruction not to touch cmd/, so every one reported its mounting
call and none of them wired it. The daemon answered /healthz and 404'd
everything else.

They share one search.Index, because bleve is single-writer and a second
Open on the same directory is wrong rather than merely wasteful.

Route order is load-bearing: /mcp and /query register before the web UI
mounts at /, which would otherwise swallow them as document paths — the
router has no reason to think 'mcp' is not a space name.

The MCP handler takes the configured origin as its Host allowlist, which
is why Traefik must pass the Host header through.

bigbes <bigbes@gmail.com> — 2026-07-22 15:17:54 UTC

Commit 964716696bd588e1fe9d67c5a8b9ff2cd6a08613view raw patch

Parent(s): 0879325b

1 changed file(s)

FileStatus+
cmd/specsrht/main.go M +109 -16