guildhall/apps
Tyler J King 4d9acf96d8 feat(ops_db): Ecto schemas for five Ops DB tables
Direct translation of DESIGN-OPS-DB-CHAIN-OF-CUSTODY-0001 §2.2:
- AccordBinding: governance context per artifact
- GovernedArtifact: registry with JSONB content + content_schema
- CustodyTransition: append-only chain of custody
- DeploymentState: current deployment per (artifact, target)
- VerificationResult: continuous attestation records
- ProjectorCheckpoint: Chronicle projector resume state

All JSONB fields use Ecto :map type (Postgres JSONB).
GIN indexes (jsonb_path_ops) on accord_terms and content columns.
Partitioning notes for time-series tables (DBA applies in prod).
Migrations renumbered to enforce FK dependency order
(accord_bindings → governed_artifacts → dependents).

Dev seed data (priv/repo/seeds.exs) creates nine governed artifacts
matching the JSONB content examples in the design doc §2.3
(Intune profile, DNS zone, DSC MOF, YANG config, Helm values,
JEA role, Conditional Access, TLS cert, OCI image) plus custody
transitions, deployment states, and verification results.

Verified: mix ecto.create + mix ecto.migrate + mix run seeds all
pass; 9 artifacts in governed_artifacts table.

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:17:51 -04:00
..
guildhall_chronicle feat: scaffold guildhall Elixir umbrella 2026-04-18 07:09:20 -04:00
guildhall_graph_bridge feat: scaffold guildhall Elixir umbrella 2026-04-18 07:09:20 -04:00
guildhall_ops_db feat(ops_db): Ecto schemas for five Ops DB tables 2026-04-18 07:17:51 -04:00
guildhall_orchestrator feat: scaffold guildhall Elixir umbrella 2026-04-18 07:09:20 -04:00
guildhall_web feat: scaffold guildhall Elixir umbrella 2026-04-18 07:09:20 -04:00