d8d29664a3dc9648bf6b496d0ea84b0a47792ad8
On 2026-08-25 a deploy job ran with an empty IMAGE_TAG, wrote
`image: localhost:5000/gitea-mcp:` into the infra repo and pushed it.
That is invalid YAML, so Flux failed the ENTIRE apps Kustomization --
every app stopped reconciling for about an hour, including three
unrelated deploys queued behind it.
This job's existing check could not catch it. It greps for
`image: <repo>:${IMAGE_TAG}` after the sed, and with IMAGE_TAG empty that
pattern matches the corrupted line itself, so the verification passes
because of the bug rather than despite it.
Asserting the input up front is the fix: an empty tag now fails the job
before anything is written, let alone committed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011PL5XcG68SvQqz3vGVbWbf
PROJECT_NAME
Go agent built on Google ADK with a LiteLLM adapter for local model routing.
Quick start
cp .env.example .env
# edit .env with your LITELLM_API_KEY
go mod tidy
task run
Harness & workflow
Single harness: Claude Code + hyperguild — session-based (start a session, it works, it
stops). No push-triggered dispatch. MCP connections live in .mcp.json: brain (knowledge)
and gitea (issues/PRs — the audit trail); provide BRAIN_MCP_TOKEN and GITEA_MCP_TOKEN.
Work flows: issue → hyperguild session → PR (task check gate) → report-back comment on the
issue → brain capture if the learning is durable. See AGENTS.md / CLAUDE.md for the full
context, AGENT_BOUNDARIES.md for runtime scope.
Observability
Set OTLP_ENDPOINT=http://jaeger.d-ma.be:4318 to emit traces. Each invocation produces:
invoke_agent __PROJECT_NAME__spangenerate_content <model>child span withgen_ai.request.modelattribute
Structure
cmd/__PROJECT_NAME__/ agent entrypoint
pkg/litellm/ OpenAI-compat ADK adapter + OTLP telemetry helper
Languages
Go
54%
Shell
44.6%
Dockerfile
1.4%