specs §1.3 + Doorpost: the Haskell versions the engine is actually built from

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 <noreply@anthropic.com>
This commit is contained in:
Scott KarpandClaude Fable 5.1 committed 2026-10-04 19:00:10 +00:00
1 parent d44d290227
commit 521f263e69
3 files changed
+13 -11

No files matched your search

+6 -4
View File
@@ -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 | | base | 4.18.2.0 | ✅ | Ships with GHC 9.6.4 |
| containers | 0.6.7 | ✅ | Ships with GHC | | containers | 0.6.7 | ✅ | Ships with GHC |
| text | 2.0.2 | ✅ | Hackage (free) | | text | 2.0.2 | ✅ | Hackage (free) |
| aeson | 2.2.1.0 | ✅ | Hackage (free) — JSON | | aeson | 2.2.3.0 | ✅ | Hackage (free) — JSON |
| vector | 0.13.1.0 | ✅ | Hackage (free) | | vector | 0.13.2.0 | ✅ | Hackage (free) |
| bytestring | 0.12.1.0 | ✅ | Ships with GHC | | bytestring | 0.12.2.0 | ✅ | Hackage (free) — GHC 9.6.4 ships 0.11.5.3; the freeze pins this one |
| hspec | 2.11.7 | ✅ | Hackage (free) — testing | | 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`) ### Erlang (via `rebar.lock`)
| Package | Version | Status | Notes | | Package | Version | Status | Notes |
+6 -6
View File
@@ -64,12 +64,12 @@ constraints:
base ==4.18.2.0, base ==4.18.2.0,
containers ==0.6.7, containers ==0.6.7,
text ==2.0.2, text ==2.0.2,
aeson ==2.2.1.0, aeson ==2.2.3.0,
vector ==0.13.1.0, vector ==0.13.2.0,
bytestring ==0.12.1.0, bytestring ==0.12.2.0,
filepath ==1.4.200.1, filepath ==1.4.301.0,
directory ==1.3.8.4, directory ==1.3.10.1,
hspec ==2.11.7, hspec ==2.11.16,
-- full list in committed freeze file -- full list in committed freeze file
``` ```
+1 -1
View File
@@ -175,7 +175,7 @@ defmodule VavPipeline.Doorpost do
# changes; the update is a deliberate operator commit. A bare # changes; the update is a deliberate operator commit. A bare
# hash-update commit (without a corresponding spec change in the # hash-update commit (without a corresponding spec change in the
# same commit) is itself a drift signal. # 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." @doc "Return the list of files that constitute the category-grade specification."
@spec files() :: [String.t()] @spec files() :: [String.t()]