Skip to program ledger

Living Program Ledger

Frauthy/Project Management

v37 · 2026-07-28

Repository dossier

infrastructure

IaC — local stack + cloud provisioning

At risk
Branch
master
Commit
02ceb2d2a57992e305ec37f58c82e363a827f7ae
Worktree
Clean
SDK
Terraform platform contract

stack

Docker Compose · Terraform ≥1.9

ci

green (exact-head Infrastructure CI run 29755777669: Terraform validation/plans, topology and lifecycle tests, Compose validation, coverage contract, and reusable dispatch caller)

deploy

Terraform owns the complete Cloudflare, Neon, DNS, routing, secrets-reference, and environment topology contract; no apply or provider mutation was performed

coverage

not applicable; quality is enforced by validation, tests, plans, and lint

What it is. All IaC: the local Docker Compose stack (SpiceDB, Keto, mock-OIDC, Postgres, Jaeger, OTel collector, opt-in ClickHouse) plus Terraform modules and dev/staging/prod environment roots for self-host and cloud provisioning.

What’s proven. The local stack is excellent — fully aligned to the 41xxx port registry, seeded with safeId-encoded GP.Family data and three conformance checks, and it is what every live gate in the workspace runs against.

Where it falls short. The remote story is hollow: all six Terraform modules are locals-only — no cloud provider block exists anywhere, so terraform apply on any environment creates exactly two random passwords and nothing else. Remote state is commented out and its bootstrap script doesn’t exist. TLS outputs are literal PLACEHOLDER_* strings. The spec’d plan/apply CI workflows and tflint are absent, there’s no Keto seed parity, and the betterauth-dev provider image the spec references was never built.

The plan. infrastructure/specs/GAP-CLOSURE-2026-07-12.md (INFRA-1 … INFRA-9): a provider-agnostic layer with a docker target that provisions real containers today (autonomous and provable), the AWS layer specced behind the human target decision, real secrets/TLS paths, plan/apply CI, and the betterauth-dev image build that pairs with protocol’s adapter.

full spec: infrastructure/specs/GAP-CLOSURE-2026-07-12.md