Architecture §3.1 listed base, containers, text, aeson, vector. The cabal file also depends on bytestring, filepath and directory (the engine reads L1 from disk and speaks JSON lines over a port), and on hspec for the test suite. Construction §1.3 already named all of them; the architecture list had simply not kept up. The list now matches shoresh-engine.cabal, says what each package is for, and says where the versions are pinned. One entry is marked as it is: `vector` is declared and no module imports it. Doorpost @expected_hash f653ef05… → 5094e48e…, in this commit, with the witnessed file that moved it (architecture). Read before committing: Elixir 474/0 on seeds 0 and 42; the built pipeline image reports specification_identity verified 5094e48e…. Seen while checking, not changed: Construction §1.3's "exact" Haskell versions disagree with the committed cabal.project.freeze for six of nine packages (aeson 2.2.1.0 vs 2.2.3.0, vector 0.13.1.0 vs 0.13.2.0, bytestring 0.12.1.0 vs 0.12.2.0, filepath 1.4.200.1 vs 1.4.301.0, directory 1.3.8.4 vs 1.3.10.1, hspec 2.11.7 vs 2.11.16). The freeze is what every image has been built from. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
VavPipeline
TODO: Add description
Installation
If available in Hex, the package can be installed
by adding vav_pipeline to your list of dependencies in mix.exs:
def deps do
[
{:vav_pipeline, "~> 0.1.0"}
]
end
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/vav_pipeline.