fix(exec): use --output-format json to get structured output from claude

--json-schema combined with --output-format text produces empty stdout.
The structured result is in the "structured_output" field of the json
envelope. Updated executor to unwrap the envelope.

Also removes --bare flag which disables OAuth keychain reads, causing
silent auth failure when ANTHROPIC_API_KEY is not set.

Adds goreman Procfile + stdio bridge (cmd/bridge) for Claude Code MCP
integration. Task start/stop replaced with goreman + port-kill.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Mathias Bergqvist
2026-04-18 06:04:10 +02:00
parent 98acf1c14e
commit 4bf5edb78e
4 changed files with 86 additions and 19 deletions

View File

@@ -66,6 +66,11 @@ tasks:
cmds:
- go build -o bin/supervisor ./cmd/supervisor
bridge:build:
desc: Build stdio↔HTTP bridge for Claude Code MCP integration
cmds:
- go build -o bin/supervisor-bridge ./cmd/bridge
supervisor:test:smoke:
desc: Smoke test supervisor via MCP (requires supervisor:dev running)
cmds:
@@ -75,22 +80,15 @@ tasks:
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | jq .
start:
desc: Start the full hyperguild (ingestion + supervisor) in a tmux session
desc: Start ingestion + supervisor (requires goreman — go install github.com/mattn/goreman@latest)
cmds:
- |
tmux new-session -d -s hyperguild -x 220 -y 50 2>/dev/null || true
tmux rename-window -t hyperguild:0 'ingestion'
tmux send-keys -t hyperguild:ingestion "cd {{.ROOT_DIR}} && INGEST_BRAIN_DIR={{.ROOT_DIR}}/brain INGEST_PORT=3300 go run ./ingestion/cmd/server/" Enter
tmux new-window -t hyperguild -n 'supervisor'
tmux send-keys -t hyperguild:supervisor "cd {{.ROOT_DIR}} && SUPERVISOR_CONFIG_DIR={{.ROOT_DIR}}/config/supervisor SUPERVISOR_MODELS_FILE={{.ROOT_DIR}}/config/models.yaml SUPERVISOR_SESSIONS_DIR={{.ROOT_DIR}}/brain/sessions INGEST_BASE_URL=http://localhost:3300 go run ./cmd/supervisor/" Enter
tmux new-window -t hyperguild -n 'shell'
tmux select-window -t hyperguild:shell
tmux attach -t hyperguild
- goreman start
stop:
desc: Stop the hyperguild tmux session
desc: Stop all hyperguild processes (Ctrl-C in the goreman terminal, or kill by port)
cmds:
- tmux kill-session -t hyperguild 2>/dev/null || true
- lsof -ti:3300 | xargs kill -9 2>/dev/null || true
- lsof -ti:3200 | xargs kill -9 2>/dev/null || true
- echo "hyperguild stopped"
ingestion:build: