4 Commits

Author SHA1 Message Date
ac6288088a fix 2026-06-23 03:53:35 +00:00
d404929a84 feat(E1a): hash spike — NO-GO verdict, pivot to E1b-alt
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>
2026-06-22 22:22:14 +00:00
37dceb9ac5 feat: refine workflow, take first steps towards thiking about other peoples preferences 2026-06-22 16:27:51 +00:00
74f76a820d chore: first 2026-06-20 19:15:38 +00:00