E46 environment — ENV + WO-01¶
Date: 7 October 2026. Scope: local C++20 hash library and reproducible tests.
Repository¶
Remote:
https://github.com/Mik3XC/Ciphers-and-Chains.git; verified private.Existing remote
mainstarts at5b92a87(license). Its history is preserved.Reference baseline:
47236cd, committed before library construction.Review branch:
wo-01-librl. No merge or release is authorized by this report.New implementation:
e46/src,e46/include,e46/tests,e46/golden; command-line tools undere46/tools, measured logs undere46/reports.The initial reference baseline and subsequent owner map edits are separate from the implementation, for review. Local historical experiments and access test runs are not blanket-staged or uploaded.
Existing tools used¶
Component |
Measured version / setting |
|---|---|
Host |
macOS 26.3, arm64 |
Release and sanitizer compiler |
Apple Clang 21.0.0 |
Fuzz compiler / formatter |
Homebrew LLVM / clang-format 22.1.8 |
CMake |
4.3.2 |
Ninja |
1.13.2 |
Python |
3.14.7; standard library for WO-01 |
Language / warnings |
C++20; |
Sanitizers |
AddressSanitizer + UndefinedBehaviorSanitizer; no recovery |
Parallelism |
At most four compile jobs; tests, fuzzing and benchmark one worker |
No packages were installed. No external hash library is needed for WO-01. XKCP/OpenSSL and liboqs remain later work orders requiring installation approval.
Build configuration¶
Root CMakePresets.json defines release, sanitize and fuzz. Output goes to
ignored build/ directories. Presets clear inherited generic C++/executable
linker flags so unrelated local LDFLAGS do not enter the build. Compilation
retains the normal build-type optimization flags.
Apple’s command-line toolchain could build/run ASan and UBSan but could not link
libFuzzer: its libclang_rt.fuzzer_osx.a is missing. The already-installed
Homebrew LLVM supplied that runtime; its fuzz build is in build/fuzz-llvm.
The failure and successful alternative are documented in the WO-01 report.
No system settings, default compilers, global Git configuration or credentials
were changed. Builds are limited to the local project. Current platform support
requires a 64-bit compiler with __int128; a portable MSVC arithmetic backend
has not been implemented or tested.
Review and style¶
Commands: root README and API/reproduction guide. Evidence: WO-01 report.
.clang-format records the owner’s UNC brace convention. .editorconfig
records indentation and line endings. Formatting applies to the new C++ work,
leaving the existing research code intact. Claude re-runs the tests and checks
the specification before the owner approves a merge.