From 521f263e6951a98c52853b63fc8613ccbdde51e4 Mon Sep 17 00:00:00 2001 From: Scott Karp Date: Sun, 4 Oct 2026 19:00:10 +0000 Subject: [PATCH] =?UTF-8?q?specs=20=C2=A71.3=20+=20Doorpost:=20the=20Haske?= =?UTF-8?q?ll=20versions=20the=20engine=20is=20actually=20built=20from?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Construction §1.3 is headed "Haskell Dependencies (Exact)" and shows an excerpt of cabal.project.freeze. Six of its nine versions were not the ones in the committed freeze file: aeson 2.2.1.0 → 2.2.3.0 vector 0.13.1.0 → 0.13.2.0 bytestring 0.12.1.0 → 0.12.2.0 filepath 1.4.200.1 → 1.4.301.0 directory 1.3.8.4 → 1.3.10.1 hspec 2.11.7 → 2.11.16 base 4.18.2.0, containers 0.6.7 and text 2.0.2 already agreed. The freeze file has not changed since Phase 1 (ae78ed2) and every engine image has been built from it; the build plan inside the build image (dist-newstyle/cache/plan.json, GHC 9.6.4) lists exactly these nine versions. The spec is corrected to the freeze, not the freeze to the spec: the freeze is the tested vessel. - specs/shorashim_vayakhel.md §1.3: the six versions. - specs/shorashim_terumah.md §D: the same, plus rows for filepath and directory; bytestring was marked "ships with GHC" — GHC 9.6.4 ships 0.11.5.3, and the freeze pins a newer one from Hackage. - Doorpost @expected_hash 5094e48e… → 39b66c31…, in this commit, with the witnessed file that moved it (vayakhel). Read before committing: Elixir 474/0 on seeds 0 and 42; the built pipeline image reports specification_identity verified 39b66c31…. No engine change: the engine image is untouched. Co-Authored-By: Claude Fable 5.1 --- specs/shorashim_terumah.md | 10 ++++++---- specs/shorashim_vayakhel.md | 12 ++++++------ vav_pipeline/lib/vav_pipeline/doorpost.ex | 2 +- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/specs/shorashim_terumah.md b/specs/shorashim_terumah.md index 6888d483..f29dfd37 100644 --- a/specs/shorashim_terumah.md +++ b/specs/shorashim_terumah.md @@ -68,10 +68,12 @@ All pinned via lock files per Construction Specification §§1.3-1.5. | base | 4.18.2.0 | ✅ | Ships with GHC 9.6.4 | | containers | 0.6.7 | ✅ | Ships with GHC | | text | 2.0.2 | ✅ | Hackage (free) | -| aeson | 2.2.1.0 | ✅ | Hackage (free) — JSON | -| vector | 0.13.1.0 | ✅ | Hackage (free) | -| bytestring | 0.12.1.0 | ✅ | Ships with GHC | -| hspec | 2.11.7 | ✅ | Hackage (free) — testing | +| aeson | 2.2.3.0 | ✅ | Hackage (free) — JSON | +| vector | 0.13.2.0 | ✅ | Hackage (free) | +| bytestring | 0.12.2.0 | ✅ | Hackage (free) — GHC 9.6.4 ships 0.11.5.3; the freeze pins this one | +| filepath | 1.4.301.0 | ✅ | Hackage (free) — GHC 9.6.4 ships 1.4.200.1; the freeze pins this one | +| directory | 1.3.10.1 | ✅ | Hackage (free) — GHC 9.6.4 ships 1.3.8.1; the freeze pins this one | +| hspec | 2.11.16 | ✅ | Hackage (free) — testing | ### Erlang (via `rebar.lock`) | Package | Version | Status | Notes | diff --git a/specs/shorashim_vayakhel.md b/specs/shorashim_vayakhel.md index c0f2b41b..68927940 100644 --- a/specs/shorashim_vayakhel.md +++ b/specs/shorashim_vayakhel.md @@ -64,12 +64,12 @@ constraints: base ==4.18.2.0, containers ==0.6.7, text ==2.0.2, - aeson ==2.2.1.0, - vector ==0.13.1.0, - bytestring ==0.12.1.0, - filepath ==1.4.200.1, - directory ==1.3.8.4, - hspec ==2.11.7, + aeson ==2.2.3.0, + vector ==0.13.2.0, + bytestring ==0.12.2.0, + filepath ==1.4.301.0, + directory ==1.3.10.1, + hspec ==2.11.16, -- full list in committed freeze file ``` diff --git a/vav_pipeline/lib/vav_pipeline/doorpost.ex b/vav_pipeline/lib/vav_pipeline/doorpost.ex index d3fc1ef2..febf3f22 100644 --- a/vav_pipeline/lib/vav_pipeline/doorpost.ex +++ b/vav_pipeline/lib/vav_pipeline/doorpost.ex @@ -175,7 +175,7 @@ defmodule VavPipeline.Doorpost do # changes; the update is a deliberate operator commit. A bare # hash-update commit (without a corresponding spec change in the # same commit) is itself a drift signal. - @expected_hash "5094e48ec4158f54646b00e8f2aa9ed57710b4ace33ccba155830a39e3149a38" + @expected_hash "39b66c3156d58fee5d0790008db4a542f90ed3007786a7c8b646edeb75e2f80e" @doc "Return the list of files that constitute the category-grade specification." @spec files() :: [String.t()]