From 788989fe35412957096ea0695a433e347b3e5f30 Mon Sep 17 00:00:00 2001 From: Jonathan Hvid Date: Tue, 12 May 2026 12:01:31 +0200 Subject: [PATCH] =?UTF-8?q?chore(seed):=20roadmap=20copy=20refresh=20?= =?UTF-8?q?=E2=80=94=20status=20reflects=20'currently=20live',=20not=20'sh?= =?UTF-8?q?ipping=20date'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The previous seed conflated status='shipping' with 'about to ship' — 'Audit log export' was status=shipping target='Next week' which is actually a queued release, not a live one. Refined so: status='shipping' → live in production now status='in_beta' → not yet live, GA target set status='exploring' → on the long horizon status='considering' → not committed Updated distribution: 2 shipping / 2 in_beta / 3 exploring / 2 considering. travelledStop = (1 + 0.5) / 9 ≈ 0.17, so the gradient visibly transitions from travelled to ahead right at the 'you are here' marker — the visual story matches the data. Targets rewritten to read in this new register: - Traceability layer Live since March - Document ingestion Live since late May ← .rr-current - Audit log export GA next week (now in_beta) - Agentic query mode July - Contextual memory Q3 2026 - Multi-organisation graphs Q3 2026 - Multi-tenant isolation Q4 2026 - Federated learning hooks 2027 (considering) - Open evaluation framework 2027 (considering) Descriptions rewritten so the In motion strip pulls a meaningful first sentence from item #2 — 'Indexing PDF, Word, and plain text with proper chunking.' shipped_at backdated on items 1-2 only (60 days / 7 days ago), so the .rr-current marker lands on the most recently-shipped item (Document ingestion), not the about-to-GA in_beta item. Co-Authored-By: Claude Opus 4.7 (1M context) --- scripts/seed-demo.js | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/scripts/seed-demo.js b/scripts/seed-demo.js index ecb8c4e..9f84a8e 100644 --- a/scripts/seed-demo.js +++ b/scripts/seed-demo.js @@ -195,20 +195,21 @@ db.prepare('INSERT INTO votes (pulse_id, user_id, option_index, voted_at) VALUES db.prepare('INSERT INTO votes (pulse_id, user_id, option_index, voted_at) VALUES (?,?,?,?)') .run(decisionPulseId, cabs[1].id, 1, nowIso(-30 * 60)); -// ── Roadmap: 9 items spanning the full timeline, admin-ordered ────── -// 3 shipping → 1 in_beta → 3 exploring → 2 considering. travelledStop -// lands at (2 + 0.5) / 9 ≈ 0.28 — the route's gradient reads as -// 'travelled-then-ahead' instead of one solid tone. +// ── Roadmap: 9 items, status meaning 'currently live' rather than +// 'shipping soon'. Items 1-2 are live in production; items 3-4 are in +// beta even if 'audit log export' has a near-term GA target. Travelled +// stop = (1 + 0.5) / 9 ≈ 0.17, putting the 'you are here' marker at +// the visible transition between travelled and ahead tones on the path. const roadmap = [ - { title: 'Traceability layer', description: 'Every response cites its sources with structured provenance.', status: 'shipping', target: 'Live now', display_order: 1, shipped_at: nowIso(-21 * 24 * 3600), attributed: [cabs[0].id], metadata_text: 'Shaped by Lars in our March session' }, - { title: 'Document ingestion', description: 'Upload PDF, Word, plain text. Chunked, indexed, retrievable.', status: 'shipping', target: 'Late May', display_order: 2, shipped_at: nowIso(-7 * 24 * 3600), attributed: [cabs[1].id, cabs[2].id], metadata_text: "Pilot-tested with Mette's team" }, - { title: 'Audit log export', description: 'One-click export of every model call, source, and reviewer action.', status: 'shipping', target: 'Next week', display_order: 3, shipped_at: nowIso(-1 * 24 * 3600), attributed: [cabs[3].id], metadata_text: 'Builds on traceability layer' }, - { title: 'Agentic query mode', description: 'Multi-step retrieval and synthesis with full provenance.', status: 'in_beta', target: 'July', display_order: 4, shipped_at: null, attributed: [cabs[1].id], metadata_text: 'Request beta access →' }, - { title: 'Contextual memory', description: 'The system learns the regulatory and organisational context over time.', status: 'exploring', target: 'Q3 2026', display_order: 5, shipped_at: null, attributed: [cabs[3].id], metadata_text: '2 council requests' }, - { title: 'Multi-organisation graphs', description: 'Cross-tenant graph queries with strict permission scoping.', status: 'exploring', target: 'Q3 2026', display_order: 6, shipped_at: null, attributed: [cabs[4].id], metadata_text: 'Open question on key custody' }, - { title: 'Multi-tenant isolation', description: 'Strict per-organisation data boundaries for shared deployments.', status: 'exploring', target: 'Q4 2026', display_order: 7, shipped_at: null, attributed: [cabs[5].id], metadata_text: null }, - { title: 'Federated learning hooks', description: 'Train shared models across council members without moving data.', status: 'considering', target: '2027', display_order: 8, shipped_at: null, attributed: [], metadata_text: 'Council input wanted' }, - { title: 'Open evaluation framework', description: 'A public benchmark suite for sovereign AI deployments.', status: 'considering', target: '2027', display_order: 9, shipped_at: null, attributed: [], metadata_text: 'Long-term direction' }, + { title: 'Traceability layer', description: 'Every inference call writes a signed audit record. Shaped by Lars in our March session.', status: 'shipping', target: 'Live since March', display_order: 1, shipped_at: nowIso(-60 * 24 * 3600), attributed: [cabs[0].id], metadata_text: 'Shaped by Lars in our March session' }, + { title: 'Document ingestion', description: "Indexing PDF, Word, and plain text with proper chunking. Pilot-tested with Mette's team.", status: 'shipping', target: 'Live since late May', display_order: 2, shipped_at: nowIso(-7 * 24 * 3600), attributed: [cabs[1].id, cabs[2].id], metadata_text: "Pilot-tested with Mette's team" }, + { title: 'Audit log export', description: 'Stream the signed records to your own S3 or on-prem object store.', status: 'in_beta', target: 'GA next week', display_order: 3, shipped_at: null, attributed: [cabs[3].id], metadata_text: 'Builds on traceability layer' }, + { title: 'Agentic query mode', description: 'Multi-step retrieval over locked, on-prem document stores. Currently testing with two pilot organisations.', status: 'in_beta', target: 'July', display_order: 4, shipped_at: null, attributed: [cabs[1].id], metadata_text: 'Request beta access →' }, + { title: 'Contextual memory', description: 'Sessions that remember constraints between calls without leaking context across organisational boundaries.', status: 'exploring', target: 'Q3 2026', display_order: 5, shipped_at: null, attributed: [cabs[3].id], metadata_text: '2 council requests' }, + { title: 'Multi-organisation graphs', description: 'Permission-controlled knowledge spaces for departments within a single deployment.', status: 'exploring', target: 'Q3 2026', display_order: 6, shipped_at: null, attributed: [cabs[4].id], metadata_text: 'Open question on key custody' }, + { title: 'Multi-tenant isolation', description: 'Cryptographic separation between sub-organisations on shared infrastructure.', status: 'exploring', target: 'Q4 2026', display_order: 7, shipped_at: null, attributed: [cabs[5].id], metadata_text: null }, + { title: 'Federated learning hooks', description: 'Let aligned organisations train on shared signal without sharing the underlying data.', status: 'considering', target: '2027', display_order: 8, shipped_at: null, attributed: [], metadata_text: 'Council input wanted' }, + { title: 'Open evaluation framework', description: 'A public benchmark suite for compliant-AI use in regulated industries.', status: 'considering', target: '2027', display_order: 9, shipped_at: null, attributed: [], metadata_text: 'Long-term direction' }, ]; const insertRoad = db.prepare(` @@ -375,7 +376,7 @@ insertActivity.run(cabs[1].id,'voted', 'pulse', decisionPulseId, no insertActivity.run(cabs[0].id,'rsvped', 'event', db.prepare("SELECT id FROM events WHERE slug = ?").get(dinnerSlug).id, nowIso(-8 * 3600)); console.log(` pulse #${decisionPulseId} open, 2 of ${cabs.length} voted`); -console.log(' roadmap: 9 items (3 shipping / 1 in_beta / 3 exploring / 2 considering)'); +console.log(' roadmap: 9 items (2 shipping / 2 in_beta / 3 exploring / 2 considering)'); console.log(' contributions: 3 (most recent has 3 reactions)'); console.log(' dispatches: 4 published (2/5/9/12 days ago)'); console.log(' events: dinner + studio hours + working session, 2 past');