Files
mathiasandClaude Opus 4.8 784ece65d0
CD / Detect unsubstituted template (push) Successful in 1s
CD / Lint / Test / Vet (push) Has been skipped
CD / Build & Import (push) Has been skipped
CD / Deploy via GitOps (push) Has been skipped
docs: record Inception Sprint Oath; descope S3 (var-go enforcement) to #1
Add docs/INCEPTION-OATH.md — the sprint's acceptance contract (general +
cad-atlas-specific clauses, tagging as the closing act). S3 (var-go/oath
enforcing cad-atlas PRs) is descoped to a tracked fast-follow (#1): var-go v1's
candidate is a hardcoded self-test and its module is not cross-repo consumable,
so a green status would prove wiring, not verification. Honesty rule: a clause
blocked by an external dependency is descoped and tracked, never claimed.

Methodology persisted: brain wiki/homelab/decisions/inception-sprint-and-oath.md

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-19 13:05:06 +02:00

94 lines
5.3 KiB
Markdown

# 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 → deploy` is 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-authored `STAGES` array (ground-truth snapshot from brain, 2026-07-19).
Served at `/` by `internal/web/handler.go` via `go: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 `STAGES` array with live reads of the
`assessor-loop` attestation ledger + brain `session_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>`)
- `wiki/homelab/decisions/cad-atlas-audit-chain-is-viz-data.md`**this project's genesis note**: the audit-chain-is-viz-data thesis, the three gates, template-go-web footguns
- `wiki/homelab/decisions/inception-sprint-and-oath.md` — the Inception Sprint + Oath methodology (this repo's birth is the worked example); see [`docs/INCEPTION-OATH.md`](docs/INCEPTION-OATH.md) for the kept Oath
- `knowledge/workflow-idea-to-running-service.md` — Double Diamond idea→service workflow
- `wiki/homelab/decisions/continuous-agentic-development-cad-concept-2026-06-16.md` — CAD definition
- `wiki/agentsquad/decisions/cad-dispatch-bridge.md` — claude.ai → agentsquad trigger path
- `wiki/agentsquad/facts/llm-council-design-and-first-runs-2026-06-21.md` — LLM Council
- `wiki/agentsquad/decisions/autoresearch-council-sibling-pipe.md` — Autoresearch Council
- `wiki/agentsquad/decisions/serve-http-task-api.md` — agentsquad serve/taskqueue
- `knowledge/var-go-anchor-to-span-spike-verdict.md` — var-go runner + CAD gate seam
- `knowledge/swedsl-vargo-sprint1-enforcement-teeth-verdict.md` — vargo-gate enforcement teeth
- `wiki/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
```bash
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.