docs(adr): ADR-0002 — per-application environments via an env coordinate #15
Reference in New Issue
Block a user
Delete Branch "claude/adr-multi-env"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Adds ADR-0002 · Per-application environments — the architecture decision behind the multi-environment work currently rolling out across
tools,factory, anderp.The decision: extend the
<app>join key with a second coordinate<env>, governed by an elision rule:envdefaults toprodand elides — whenenv == prod, every derived name is character-for-character identical to today's single-env output, so every existing app'stofu planis a no-op and adoption needs zero migration.<app>-<env>kebab suffix everywhere, except the Postgres owner role which stays snake-case<app>_<env>_role.Why it merits its own ADR (and the ADR-0001 reconciliation)
This is a genuine convention-level architecture change (it reshapes the
<app>naming model documented inconventions.md). It also sits in apparent tension with ADR-0001, which rejected "sandbox namespace on the real cluster" (its Alternative 3). The ADR addresses this head-on rather than glossing it:Files
vibe/ADR/0002-per-application-environments.md— the ADR (Status: Accepted, 2026-06-25).vibe/ADR/README.md— index row +Last Updatedbumped to 2026-06-25.vibe/PRD/safe-prod-like-environment/README.md— bidirectional back-link to ADR-0002 on the Adjacent line +Last Updatedbumped.Implementing PRs (cross-linked from the ADR's References)
env/envsparameter on the sharedapp_roles+app_policyVault modules..Values(merged).Process
Authored via the ADR Scribe persona (clean context), then validated via the Continuity Warden checklist: no-tombstone scan, breadcrumb first line, MADR-lite sections complete, all 6 relative links resolve, bidirectional links in place,
Last Updatedstamps bumped.🤖 Generated with Claude Code