- Memory CSV / JSON export โ closes procurement-evidence cluster's seventh axisThe procurement-evidence sextet (rev 6 JSON full + rev 7 activity CSV + rev 22 outputs CSV + rev 47 decisions CSV + rev 50 stale-tasks CSV + rev 60 cost summary CSV + rev 96 sources CSV) covered every other entity surface; durable knowledge (memory) was the missing seventh edge. A SOC 2 / ISO 42001 reviewer asking 'show me this workspace's accumulated brand voice, lessons, decisions, and pinned facts' had to read the JSON full export and filter in Excel. Rev 125 closes that gap with the single takeaway artefact procurement reviewers ask for: pinned + importance-ranked rows with tags inline, capped at 5,000 rows. New `/api/workspace/memory-export?format=csv|json` (dashboard) + `/api/v1/workspace/memory-export?format=csv|json` (v1 mirror) ships in lockstep โ the cadence pattern from rev 37 onwards (every dashboard primitive has a v1 equivalent within one rev) holds. Surfaced as the seventh button beside the rev-22 outputs CSV, rev-47 decisions CSV, rev-50 stale-tasks CSV, rev-60 cost summary CSV, and rev-96 sources CSV in the integrations panel data-export section using the rev-122 paired CSV/JSON chip cluster pattern.
- Per-rev permalinks on /roadmap items โ closes the public marketing share-affordance trioRev 101 added per-rev permalinks on /changelog. Rev 102 added per-post + per-heading permalinks on /blog. /roadmap was the last public reading surface without an item-level deep-link affordance. Rev 125 closes that gap. Every roadmap item carries id="item-<key>" (e.g. #item-stripe-checkout) + a small ๐ chip in the item title that surfaces on hover, copies the canonical URL with hash anchor on click, and updates the URL via history.replaceState so back/forward navigation re-fires the highlight. Hashchange listener auto-scrolls + 2.4s flash-highlights the matching item via the new [data-flash="true"] attribute (CSS animation, no class mutation needed). Procurement teams + early adopters citing a specific roadmap candidate ('we're upgrading once Stripe ships โ see loopdesk.space/roadmap#item-stripe-checkout') now get a stable shareable URL that points at the named candidate. Reuses the rev-101 changelog clipboard fallback path (execCommand for non-secure contexts) so it works inside iframes, private-mode browsers, and embedded contexts.
- OpenAPI typed coverage for the rev-122 dashboard ?format=json flag โ closes the named rev-124 candidateRev 122 added ?format=json to every dashboard procurement-evidence CSV export. Rev 124's running state explicitly named 'OpenAPI typed coverage on the dashboard ?format=json flag' as the natural rev-125 candidate. Rev 125 closes that gap two ways: (a) the new memory-export endpoint is fully typed in /api/v1/openapi.json with a complete row schema (id, createdAt, kind enum, importance, pinned, title, content, tags) and ?format=csv|json parameter inline; (b) the /docs#api page documents every dashboard ?format=json variant alongside its v1 mirror so session-authenticated programmatic callers see one consistent contract. The OpenAPI spec changelog header gains a rev 125 block explaining the durable-knowledge axis closure and the dashboard typed-contract symmetry. MCP-host code generators reading the spec now have a typed contract for the seventh procurement-evidence axis.
- Visual polish โ quiet roadmap permalink chip with brand-color accent ladder + flash animationCumulative micro-polish (every rev 22+ has carried at least one). New .ld-roadmap-permalink chip uses the same brand-color teal palette as the rev-101 .ld-changelog-permalink so the public marketing share-affordance trio (changelog rev 101 + blog rev 102 + roadmap rev 125) reads with one consistent visual vocabulary. Hidden by default opacity 0 (vs the changelog's 0.55), brightens to full opacity on item hover or focus so the chip never screams from every item-head when the user isn't interacting โ appropriate for the more browse-heavy roadmap surface vs the dense scroll-through changelog. New @keyframes ld-roadmap-item-flash 2.4s soft brand-color glow that fires on hash deep-link match. The roadmap item header h3 becomes an inline-flex container so the title + chip cluster reads as a coherent unit without breaking on narrow viewports.