v0.18.0 — map lane: multi-session planning, and a road into greenfield
Minor: the map lane — multi-session planning above the pipeline, and a road into greenfield. Concept adapted from Matt Pocock's wayfinder skill (MIT); the enforcement layer is Espalier's.
/espalier-maplane — big efforts charted as decision maps underespalier/maps/{date}-{slug}/:map.mdindex + one file per ticket (grilling|prototype|research|task,blocked_by,claimed_by) +assets/. File-per-ticket = no cross-ticket merge conflicts; claims are the lock; the frontier is grep-derivable. Chart mode names the destination first and fans out breadth-first; work mode resolves one non-research ticket per session. Cleared maps hand off as FILED change skeletons — audit chain reads decision → ticket → change → commit.map-guard.sh(all three platforms) — plan-don't-do, machine-verified: while a fresh.active-sessionmarker exists, Write/Edit outsideespalier/maps/is blocked. User-approvedallow:prefix write windows; stale markers self-expire. Upstream wayfinder's most-reported failure (production code written mid-map) is closed structurally.- Grill
mode=decision— sharp-question grilling for map tickets. - Greenfield decide-then-bind —
/espalier-init+ bootstrap path for empty repos and boilerplates. espalier-stats.sh— lane-quality Layer 3 report hook.eval/mapharness — Layer 2 lane-quality gate: 10-fixture run PASS 1.00; judge validated 42/42 (dual-LLM proxy hand-score); shadow fixtures;validate-judge.shjudge-validation harness.
Suites: bootstrap 197/197, hooks 146/146; validation 50/55/60 by platform set (new checks 59-60). Migration #25 (v0.17.0→v0.18.0) included.
Full detail: CHANGELOG.md 0.18.0.