Shemot 28:2 — V'asita vigdei kodesh l'Aharon achicha, l'khavod ul'tifaret. The builder makes the garments. The kohen wears them. Four access tiers (Operations spec §1.1): - Pe'ah (GET/POST /peah/ask) — public, no auth, no tracking. The stranger is safe to approach. - Courtyard (POST /courtyard/offering) — Bearer token auth, offering types: shelamim, olah, chatat, minchah - Chatzer (POST /chatzer/sanhedrin) — Sanhedrin deliberation, returns majority/minority with preserved dissent - Kodesh (GET /kodesh/health, /kodesh/status) — operator interface, health checks for K8s liveness/readiness probes Error format follows chatat protocol (Operations spec §1.2): KIYOR_* (422), SHABBAT (503), MANNA_DEPLETED (503), CLOUD_MOVING (503), HALT_* (503), UNAUTHORIZED (401) Implementation: - Plug.Router with Bandit HTTP server - Added to supervision tree via maybe_add_http_server - Checks system availability (Shabbat, halt) before processing - Health check reads L1 integrity, cloud, manna, halt monitor - Status shows all component states, signal count, refuge list - 16 API tests covering all four tiers + error format All 235 Elixir + 19 L3 + 195 Prolog + 33 Haskell = 463+ tests, 0 failures Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
46 lines
1.0 KiB
Elixir
46 lines
1.0 KiB
Elixir
defmodule VavPipeline.MixProject do
|
|
use Mix.Project
|
|
|
|
def project do
|
|
[
|
|
app: :vav_pipeline,
|
|
version: "0.1.0",
|
|
elixir: "~> 1.16.1",
|
|
start_permanent: Mix.env() == :prod,
|
|
deps: deps(),
|
|
aliases: aliases()
|
|
]
|
|
end
|
|
|
|
def application do
|
|
[
|
|
extra_applications: [:logger, :crypto],
|
|
mod: {VavPipeline.Application, []}
|
|
]
|
|
end
|
|
|
|
defp aliases do
|
|
[
|
|
setup: ["deps.get", "ecto.setup"],
|
|
"ecto.setup": ["ecto.create", "ecto.migrate"],
|
|
"ecto.reset": ["ecto.drop", "ecto.setup"],
|
|
test: ["test"]
|
|
]
|
|
end
|
|
|
|
# Construction spec §1.5 — exact version pins
|
|
defp deps do
|
|
[
|
|
{:jason, "~> 1.4.1"},
|
|
{:sanhedrin, path: "../sanhedrin", manager: :rebar3},
|
|
# L3 — Oral Tradition (PostgreSQL append-only)
|
|
# Architecture §3.7, Construction §1.5
|
|
{:ecto_sql, "~> 3.11.1"},
|
|
{:postgrex, "~> 0.17.4"},
|
|
# Bigdei Kodesh — HTTP API layer (Shemot 28:2)
|
|
{:bandit, "~> 1.2"},
|
|
{:plug, "~> 1.15"}
|
|
]
|
|
end
|
|
end
|