Wire the reel-style CAD workflow atlas (signal→pod) as the served page via go:embed. Fill PROJECT.md/README with the 9-stage workflow, three governance gates (Ed25519 admission / dispatch-allow / var-go Oath), phase map A→C, dogfooding model, brain deep-links and external references. Fixes two template-go-web latent bugs surfaced by dogfooding: - templ version skew: go.mod pinned v0.2.778 vs templ@latest generator - .gitignore pattern *.templ.go did not match generated *_templ.go Verified: go build · vet · golangci-lint (0 issues) · go test green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
5.0 KiB
cad-atlas
Identity
- Name: cad-atlas
- Owner: Mathias
- Client: personal
- Repo: git.d-ma.be/mathias/cad-atlas
- Status: active
- Stack: Go + Templ + HTMX + CDN Tailwind (template-go-web). Cross-project conventions:
~/dev/.context/AGENT.md.
What this is
A visual atlas of the Continuous Agentic Development (CAD) workflow — the full path from a captured signal to a deployed k3s pod, one screen, reel-style ("From Signal to Pod"). It exists to (a) make the homelab's agentic delivery pipeline legible to a human, and (b) render the CAD audit chain — which doubles as the regulated-industry audit artifact.
Core thesis: the CAD audit chain is the visualization data.
TELOS → goal → spec → issue → execution → attestation → deployis both the trace and the audit package. Phase C renders it once and serves two masters (observability + compliance).
Phases
- Phase A — static hero viz (current). Self-contained
internal/web/static/cad-atlas.html, data-driven from a hand-authoredSTAGESarray (ground-truth snapshot from brain, 2026-07-19). Served at/byinternal/web/handler.goviago:embed. Reel-parity: SVG spine with arrowheads, animated pulse, dashed feedback bus (stage 08 → TELOS), replay + slow-mo. - Phase B — generated-from-source. Parse brain docs +
.gitea/workflows+ infra manifests → render the graph so it can't drift from config. - Phase C — live trace viewer. Replace the static
STAGESarray with live reads of theassessor-loopattestation ledger + brainsession_log+ Gitea run API + Flux events. This is the prize: a real signal→pod trace viewer that is also the audit package.
The workflow it visualizes (9 stages)
00 Signals (Applied AI Radar → mathias/signals) → 01 TELOS (intention substrate) →
02 Strategic session (claude.ai frontier + LLM Council + Autoresearch Council) →
03 Spec → Gitea issue (agent-ready contract; Ed25519 admission #36; var-go Oath) →
04 Human dispatch gate (the only checkpoint; session-dispatch bridge → cad-dispatch.yml) →
05 Execute · agentsquad (serve/taskqueue, exec+review loop, risk LOW/MED/HIGH, dma-cli routing,
assessor-loop ledger) → 06 PR → CI (go test/vet/lint/govulncheck + var-go/oath gate) →
07 CD → pod (Flux GitOps → k3s on koala) → 08 Loop back (outcome scored vs TELOS goal).
Three orthogonal governance gates
| Gate | Guards | Where |
|---|---|---|
| Ed25519 admission controller (#36) | spec integrity (issue untampered) | stage 03 |
dispatch-allow (.dispatch-allow + mathias/dispatch allowlist) |
repo eligibility (may agents run here) | stage 04/05 |
var-go Oath (cmd/vargo-gate, commit status var-go/oath) |
output correctness (PR satisfies the Oath; floor over reviewer, anti-rubber-stamp #55) | stage 06 |
Dogfooding
This repo is built through the workflow it depicts. It is dispatch-allow-enabled, and its
own build increments are governed by a var-go Oath embedded in their spec issues (see the
Stage-03 tracking issue). Bootstrapping honesty (per swedsl honest-stub discipline): the Oath is
defined but cmd/vargo-gate is not yet wired into this repo's CI — until it is, the Oath
is advisory here. Wiring it is a first tracked task; disclosed in code, this doc, and CI config.
Brain references (source of truth — brain_get <path>)
knowledge/workflow-idea-to-running-service.md— Double Diamond idea→service workflowwiki/homelab/decisions/continuous-agentic-development-cad-concept-2026-06-16.md— CAD definitionwiki/agentsquad/decisions/cad-dispatch-bridge.md— claude.ai → agentsquad trigger pathwiki/agentsquad/facts/llm-council-design-and-first-runs-2026-06-21.md— LLM Councilwiki/agentsquad/decisions/autoresearch-council-sibling-pipe.md— Autoresearch Councilwiki/agentsquad/decisions/serve-http-task-api.md— agentsquad serve/taskqueueknowledge/var-go-anchor-to-span-spike-verdict.md— var-go runner + CAD gate seamknowledge/swedsl-vargo-sprint1-enforcement-teeth-verdict.md— vargo-gate enforcement teethwiki/assessor-loop/decisions/assessor-loop-genesis.md— attestation ledger (Phase C source)wiki/homelab/facts/homelab-network-topology-reference.md— koala/iguana/flamingo/piguard
External references
- Inspiration reel — "From Inbox to Shipped" pipeline viz: https://www.instagram.com/reel/DY92L7bu27j/
- karpathy/llm-council — origin of the Council pattern
- Double Diamond design process (Discover/Define/Develop/Deliver)
Run
task check # lint + vet + test (CI gate)
task run # build + serve at http://localhost:8080 → the atlas
Deploy note
CD (.gitea/workflows/cd.yml) deploys to k3s namespace cad-atlas via Flux. Per the known
template-go-agent CD gap: the deploy job stays RED until mathias/infra has
k3s/apps/cad-atlas/deployment.yaml. check + build are the real bootstrap gate.