Commit graph

2 commits

Author SHA256 Message Date
7730bf3818 fix(deploy): add releases: config for umbrella release
The Dockerfile's `mix release --overwrite` step failed because the
umbrella's root mix.exs lacked an explicit `releases:` block. Umbrella
projects cannot infer a default release — `mix release` requires the
operator to name which umbrella children go into each release and
their startup order.

Adds a single `:guildhall` release bundling all five umbrella apps as
:permanent, with startup order respecting the dep graph:
  guildhall_ops_db      (Repo — nothing else here starts without it)
  guildhall_chronicle
  guildhall_orchestrator
  guildhall_graph_bridge
  guildhall_web         (HTTP endpoint last, after Repo + contexts)

Each app's own `in_umbrella` deps in apps/*/mix.exs will back-stop
the ordering via OTP's dependency graph regardless, but the explicit
list is clearer and matches standard Phoenix-umbrella release idiom.

Mistake was in the prior Dockerfile commit (c6f1d07) planning — the
Dockerfile comment claimed the release name could be inferred from
the umbrella, which is true for single-app projects but not umbrellas.
No Dockerfile change needed; the fix is entirely in mix.exs.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Tyler J King <tking@guildhouse.dev>
2026-04-22 09:39:49 -04:00
4e22729bef feat: scaffold guildhall Elixir umbrella
Ceremony orchestrator + governance UI layer over substrate CRDs.
guildhall presents and coordinates; substrate decides and enforces.

Apps:
- guildhall_web: Phoenix LiveView UI for ceremony workflows,
  Forge visualization, posture dashboards
- guildhall_orchestrator: watches CeremonyRequest CRDs, notifies
  witnesses, collects signatures, tracks ceremony lifecycle
- guildhall_ops_db: Ecto schemas for the five Ops DB tables
  (per DESIGN-OPS-DB-CHAIN-OF-CUSTODY-0001)
- guildhall_graph_bridge: Microsoft Graph API reconciler (stub)
- guildhall_chronicle: Chronicle event consumer + Ops DB
  projector (stub)

Naming: guildhall components are orchestrators (workflow),
NOT engines (enforcement). The ceremony engine is a substrate
K8s operator. guildhall coordinates humans around CRDs.

Elixir 1.17.3 / OTP 27 / Phoenix 1.8.5. SHA-256 git repo.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Tyler J King <tking@guildhouse.dev>
2026-04-18 07:09:20 -04:00