//! pd.2/pd.3 (`prelude-decouple` milestone): pin the canonical //! identity of the parsed prelude as a literal hex hash. Updates //! intentionally on prelude-content changes (record the why in the //! per-iter journal); accidental drift trips immediately. //! //! pd.2 also carried a `prelude_ail_and_json_parse_to_identical_module` //! cross-form-identity preflight that compared `parse(prelude.ail)` //! against `serde_json::from_str(prelude.ail.json)`. The preflight //! discharged its purpose at pd.2 close (PASSED at hash //! `3abe0d3fa3c11c99`) and was retired in pd.3 alongside the //! `prelude.ail.json` file. use ailang_core::workspace::module_hash; use ailang_surface::parse_prelude; #[test] fn prelude_parse_yields_canonical_hash() { let m = parse_prelude(); let h = module_hash(&m); // The expected hex is captured at pd.2-iter close (Step 5 of this task). // It updates intentionally on prelude-content changes; record the why // in the per-iter journal entry. assert_eq!( h, "3abe0d3fa3c11c99", // captured at pd.2 iter close "prelude module hash drifted; if intentional, capture the new \ hex below + record the why in the per-iter journal." ); }