E1a.1 go/no-go gate. Built the linkedom htmlToMarkdown inverse
(src/fromFoundry.ts) and a round-trip hash-stability fixture suite
(tests/e1a-hash-spike.test.ts) against the real forward transform.
Verdict: NO-GO. 7 of 12 fixtures round-trip; 5 fail for 5 distinct reasons:
1. wikilinks/@UUID — forward converts [[ ]]→@UUID via resolver; the
(html)=>string seam has no resolver.
2. tables — markdownToHtml has no table branch (forward gap).
3. ## Secrets order — forward moves Secrets to data.notes (always last).
4. ## Secrets heading case — canonicalize doesn't normalize case.
5. bold-leading bodies — parseBody tagline regex matches inside **bold**.
The markdown-hash divergence guard is not viable. E1b adopts the E1b-alt fork
(canonicalize Foundry HTML directly, hash the HTML, never hash markdown).
Findings + recommendation in e1a-spike-findings.md. The spike ships unwired
(fromFoundry.ts not consumed by the push path or ccHash); the forward push
path and canonicalize/contentHash signatures are unchanged. The suite is green
with the 5 unstable fixtures asserting toBe(false) to pin the evidence.
E0.2's markdown ccHash contract is superseded — E1b-alt re-baselines it.
Co-Authored-By: Claude <noreply@anthropic.com>