From f706c3c47e6dc1af93befef1929f3627cab47688 Mon Sep 17 00:00:00 2001 From: Vantz Stockwell Date: Thu, 11 Jun 2026 10:37:37 -0400 Subject: [PATCH] =?UTF-8?q?docs(claude):=20host-agent=20reality=20?= =?UTF-8?q?=E2=80=94=20active=20Rust=20crate,=20tag=20scheme,=20runner=20c?= =?UTF-8?q?ontainer=20truth,=20command=20corrections?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- CLAUDE.md | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index aff1636..c2744fe 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -55,7 +55,12 @@ frontend/ # Vue 3 + TypeScript package.json vite.config.ts # Proxies /api to :3000 -companion-agent/ # Go binary for bare metal servers +corrosion-host-agent/ # Rust host agent (ACTIVE) — multi-game ops runtime + src/ # main, config, bus (NATS), telemetry, prober, hostcmd + PROTOCOL.md # Wire protocol v2 spec (instance-scoped subjects) + agent.example.toml # Multi-instance config reference + +companion-agent/ # Go binary (LEGACY — behavior reference until Rust parity) cmd/agent/ # main.go entry point internal/ # Core agent logic (nats, commands, process) Makefile # Build for Linux/Windows @@ -91,14 +96,16 @@ cd backend-nest && npx tsc --noEmit # Type-check without building # Frontend cd frontend && npm run dev # Vite dev server (port 5174) -cd frontend && npm run build # Production build → dist/ -cd frontend && npm run lint # ESLint -cd frontend && npm run type-check # TypeScript checking (vue-tsc) +cd frontend && npm run build # vue-tsc -b && vite build (type-check included; no separate lint/type-check scripts exist) -# Companion Agent (Go) +# Host Agent (Rust — ACTIVE) +cd corrosion-host-agent && cargo check # Fast validation +cd corrosion-host-agent && cargo build --release --target x86_64-unknown-linux-musl # Static Linux binary +cd corrosion-host-agent && cargo xwin build --release --target x86_64-pc-windows-msvc # Windows (local) +# CI: push tag agent-vX.Y.Z (must match Cargo.toml version) → Asgard builds → CDN /host-agent/alpha/ + +# Companion Agent (Go — LEGACY, behavior reference until Rust parity) cd companion-agent && make build # Build for current platform -cd companion-agent && make linux # Cross-compile for Linux -cd companion-agent && make windows # Cross-compile for Windows # Docker (from docker/ directory — Commander ALWAYS builds with --no-cache) docker compose build --no-cache && docker compose up -d # Full rebuild + start @@ -374,7 +381,8 @@ Default to Sonnet. Escalate to Opus when the problem demands it, not as a comfor - Treat every change as production deployment (`corrosionmgmt.com`) - Document why, not just what, in commits and CHANGELOG - **Always commit and push when done touching code — never ask, never wait for permission** -- **Tag companion agent builds when Go code in `companion-agent/` is modified** — increment from latest tag (currently v1.0.3), push tag to trigger CI build + CDN upload +- **Tag agent builds when agent code is modified** — Rust agent: `agent-vX.Y.Z` (must match `corrosion-host-agent/Cargo.toml`; CI publishes to CDN `/host-agent/alpha/`, while `/latest/` stays on the Go build until cutover). Legacy Go agent: `vX.Y.Z`. Tags roll FORWARD only — never reuse or re-push a tag; cut the next version +- **The Asgard CI runner executes jobs in a bare `node:20-bullseye` container** — no Rust/Go/Docker/sudo preinstalled; workflows must bootstrap toolchains per-run (setup-go, rustup via curl) ## Development Notes