From 2d204b7e91a5586e0e6b0bcfdc70fa92b4c40073 Mon Sep 17 00:00:00 2001 From: James Ross Date: Mon, 9 Feb 2026 12:57:56 -0800 Subject: [PATCH 01/13] feat: add `git warp seek` time-travel command Introduces cursor-based time travel for exploring graph history: - `seek --tick N` positions cursor at a specific Lamport tick - `seek --save NAME` / `--load NAME` for named bookmarks - `seek --latest` returns to the present - `discoverTicks()` walks history without expensive reads - `materialize()` accepts `ceiling` param for partial replay - `info`, `materialize`, and `history` commands respect active cursor - ASCII seek renderer with timeline, writer activity, and graph stats --- bin/warp-graph.js | 538 +++++++++++++++++- src/domain/WarpGraph.js | 167 +++++- src/domain/utils/RefLayout.js | 51 ++ src/visualization/renderers/ascii/seek.js | 166 ++++++ test/bats/cli-seek.bats | 159 ++++++ test/unit/domain/WarpGraph.seek.test.js | 336 +++++++++++ .../visualization/ascii-seek-renderer.test.js | 152 +++++ 7 files changed, 1557 insertions(+), 12 deletions(-) create mode 100644 src/visualization/renderers/ascii/seek.js create mode 100644 test/bats/cli-seek.bats create mode 100644 test/unit/domain/WarpGraph.seek.test.js create mode 100644 test/unit/visualization/ascii-seek-renderer.test.js diff --git a/bin/warp-graph.js b/bin/warp-graph.js index ae234140..40acc63d 100755 --- a/bin/warp-graph.js +++ b/bin/warp-graph.js @@ -17,6 +17,9 @@ import { buildCoverageRef, buildWritersPrefix, parseWriterIdFromRef, + buildCursorActiveRef, + buildCursorSavedRef, + buildCursorSavedPrefix, } from '../src/domain/utils/RefLayout.js'; import { HookInstaller, classifyExistingHook } from '../src/domain/services/HookInstaller.js'; import { renderInfoView } from '../src/visualization/renderers/ascii/info.js'; @@ -24,6 +27,7 @@ import { renderCheckView } from '../src/visualization/renderers/ascii/check.js'; import { renderHistoryView, summarizeOps } from '../src/visualization/renderers/ascii/history.js'; import { renderPathView } from '../src/visualization/renderers/ascii/path.js'; import { renderMaterializeView } from '../src/visualization/renderers/ascii/materialize.js'; +import { renderSeekView } from '../src/visualization/renderers/ascii/seek.js'; import { renderGraphView } from '../src/visualization/renderers/ascii/graph.js'; import { renderSvg } from '../src/visualization/renderers/svg/index.js'; import { layoutGraph, queryResultToGraphData, pathResultToGraphData } from '../src/visualization/layouts/index.js'; @@ -45,6 +49,7 @@ Commands: history Show writer history check Report graph health/GC status materialize Materialize and checkpoint all graphs + seek Time-travel: step through graph history by Lamport tick view Interactive TUI graph browser (requires @git-stunts/git-warp-tui) install-hooks Install post-merge git hook @@ -75,6 +80,14 @@ Path options: History options: --node Filter patches touching node id + +Seek options: + --tick Jump to tick N, or step forward/backward + --latest Clear cursor, return to present + --save Save current position as named cursor + --load Restore a saved cursor + --list List all saved cursors + --drop Delete a saved cursor `; /** @@ -170,7 +183,7 @@ function consumeBaseArg({ argv, index, options, optionDefs, positionals }) { if (arg === '--view') { // Valid view modes: ascii, browser, svg:FILE, html:FILE // Don't consume known commands as modes - const KNOWN_COMMANDS = ['info', 'query', 'path', 'history', 'check', 'materialize', 'install-hooks']; + const KNOWN_COMMANDS = ['info', 'query', 'path', 'history', 'check', 'materialize', 'seek', 'install-hooks']; const nextArg = argv[index + 1]; const isViewMode = nextArg && !nextArg.startsWith('-') && @@ -632,6 +645,9 @@ function renderInfo(payload) { if (graph.coverage?.sha) { lines.push(` coverage: ${graph.coverage.sha}`); } + if (graph.cursor?.active) { + lines.push(` cursor: tick ${graph.cursor.tick} (${graph.cursor.mode})`); + } } return `${lines.join('\n')}\n`; } @@ -883,6 +899,15 @@ function emit(payload, { json, command, view }) { return; } + if (command === 'seek') { + if (view) { + process.stdout.write(renderSeekView(payload)); + } else { + process.stdout.write(renderSeek(payload)); + } + return; + } + if (command === 'install-hooks') { process.stdout.write(renderInstallHooks(payload)); return; @@ -924,12 +949,19 @@ async function handleInfo({ options }) { const graphs = []; for (const name of graphNames) { const includeDetails = detailGraphs.has(name); - graphs.push(await getGraphInfo(persistence, name, { + const info = await getGraphInfo(persistence, name, { includeWriterIds: includeDetails || isViewMode, includeRefs: includeDetails || isViewMode, includeWriterPatches: isViewMode, includeCheckpointDate: isViewMode, - })); + }); + const activeCursor = await readActiveCursor(persistence, name); + if (activeCursor) { + info.cursor = { active: true, tick: activeCursor.tick, mode: activeCursor.mode }; + } else { + info.cursor = { active: false }; + } + graphs.push(info); } return { @@ -948,7 +980,9 @@ async function handleInfo({ options }) { */ async function handleQuery({ options, args }) { const querySpec = parseQueryArgs(args); - const { graph, graphName } = await openGraph(options); + const { graph, graphName, persistence } = await openGraph(options); + const cursorInfo = await applyCursorCeiling(graph, persistence, graphName); + emitCursorWarning(cursorInfo, null); let builder = graph.query(); if (querySpec.match !== null) { @@ -1039,7 +1073,9 @@ function mapQueryError(error) { */ async function handlePath({ options, args }) { const pathOptions = parsePathArgs(args); - const { graph, graphName } = await openGraph(options); + const { graph, graphName, persistence } = await openGraph(options); + const cursorInfo = await applyCursorCeiling(graph, persistence, graphName); + emitCursorWarning(cursorInfo, null); try { const result = await graph.traverse.shortestPath( @@ -1085,6 +1121,8 @@ async function handlePath({ options, args }) { */ async function handleCheck({ options }) { const { graph, graphName, persistence } = await openGraph(options); + const cursorInfo = await applyCursorCeiling(graph, persistence, graphName); + emitCursorWarning(cursorInfo, null); const health = await getHealth(persistence); const gcMetrics = await getGcMetrics(graph); const status = await graph.status(); @@ -1222,9 +1260,18 @@ function buildCheckPayload({ */ async function handleHistory({ options, args }) { const historyOptions = parseHistoryArgs(args); - const { graph, graphName } = await openGraph(options); + const { graph, graphName, persistence } = await openGraph(options); + const activeCursor = await readActiveCursor(persistence, graphName); + const cursorInfo = activeCursor + ? { active: true, tick: activeCursor.tick, maxTick: null } + : { active: false, tick: null, maxTick: null }; + emitCursorWarning(cursorInfo, null); + const writerId = options.writer; - const patches = await graph.getWriterPatches(writerId); + let patches = await graph.getWriterPatches(writerId); + if (cursorInfo.active) { + patches = patches.filter(({ patch }) => patch.lamport <= cursorInfo.tick); + } if (patches.length === 0) { throw notFoundError(`No patches found for writer: ${writerId}`); } @@ -1251,18 +1298,24 @@ async function handleHistory({ options, args }) { /** * Materializes a single graph, creates a checkpoint, and returns summary stats. + * When a ceiling tick is provided (seek cursor active), the checkpoint step is + * skipped because the user is exploring historical state, not persisting it. * @param {Object} params * @param {Object} params.persistence - GraphPersistencePort adapter * @param {string} params.graphName - Name of the graph to materialize * @param {string} params.writerId - Writer ID for the CLI session - * @returns {Promise<{graph: string, nodes: number, edges: number, properties: number, checkpoint: string, writers: Object, patchCount: number}>} + * @param {number} [params.ceiling] - Optional seek ceiling tick + * @returns {Promise<{graph: string, nodes: number, edges: number, properties: number, checkpoint: string|null, writers: Object, patchCount: number}>} */ -async function materializeOneGraph({ persistence, graphName, writerId }) { +async function materializeOneGraph({ persistence, graphName, writerId, ceiling }) { const graph = await WarpGraph.open({ persistence, graphName, writerId, crypto: new NodeCryptoAdapter() }); + if (ceiling !== undefined) { + graph._seekCeiling = ceiling; + } await graph.materialize(); const nodes = await graph.getNodes(); const edges = await graph.getEdges(); - const checkpoint = await graph.createCheckpoint(); + const checkpoint = ceiling !== undefined ? null : await graph.createCheckpoint(); const status = await graph.status(); // Build per-writer patch counts for the view renderer @@ -1314,12 +1367,20 @@ async function handleMaterialize({ options }) { } const results = []; + let cursorWarningEmitted = false; for (const name of targets) { try { + const cursor = await readActiveCursor(persistence, name); + const ceiling = cursor ? cursor.tick : undefined; + if (cursor && !cursorWarningEmitted) { + emitCursorWarning({ active: true, tick: cursor.tick, maxTick: null }, null); + cursorWarningEmitted = true; + } const result = await materializeOneGraph({ persistence, graphName: name, writerId: options.writer, + ceiling, }); results.push(result); } catch (error) { @@ -1538,6 +1599,460 @@ function getHookStatusForCheck(repoPath) { } } +// ============================================================================ +// Cursor I/O Helpers +// ============================================================================ + +async function readActiveCursor(persistence, graphName) { + const ref = buildCursorActiveRef(graphName); + const oid = await persistence.readRef(ref); + if (!oid) { + return null; + } + const buf = await persistence.readBlob(oid); + return JSON.parse(buf.toString('utf8')); +} + +async function writeActiveCursor(persistence, graphName, cursor) { + const ref = buildCursorActiveRef(graphName); + const json = JSON.stringify(cursor); + const oid = await persistence.writeBlob(Buffer.from(json, 'utf8')); + await persistence.updateRef(ref, oid); +} + +async function clearActiveCursor(persistence, graphName) { + const ref = buildCursorActiveRef(graphName); + const exists = await persistence.readRef(ref); + if (exists) { + await persistence.deleteRef(ref); + } +} + +async function readSavedCursor(persistence, graphName, name) { + const ref = buildCursorSavedRef(graphName, name); + const oid = await persistence.readRef(ref); + if (!oid) { + return null; + } + const buf = await persistence.readBlob(oid); + return JSON.parse(buf.toString('utf8')); +} + +async function writeSavedCursor(persistence, graphName, name, cursor) { + const ref = buildCursorSavedRef(graphName, name); + const json = JSON.stringify(cursor); + const oid = await persistence.writeBlob(Buffer.from(json, 'utf8')); + await persistence.updateRef(ref, oid); +} + +async function deleteSavedCursor(persistence, graphName, name) { + const ref = buildCursorSavedRef(graphName, name); + const exists = await persistence.readRef(ref); + if (exists) { + await persistence.deleteRef(ref); + } +} + +async function listSavedCursors(persistence, graphName) { + const prefix = buildCursorSavedPrefix(graphName); + const refs = await persistence.listRefs(prefix); + const cursors = []; + for (const ref of refs) { + const name = ref.slice(prefix.length); + if (name) { + const oid = await persistence.readRef(ref); + if (oid) { + const buf = await persistence.readBlob(oid); + const cursor = JSON.parse(buf.toString('utf8')); + cursors.push({ name, ...cursor }); + } + } + } + return cursors; +} + +// ============================================================================ +// Seek Arg Parser +// ============================================================================ + +function parseSeekArgs(args) { + const spec = { + action: 'status', // status, tick, latest, save, load, list, drop + tickValue: null, + name: null, + }; + + for (let i = 0; i < args.length; i++) { + const arg = args[i]; + + if (arg === '--tick') { + if (spec.action !== 'status') { + throw usageError('--tick cannot be combined with other seek flags'); + } + spec.action = 'tick'; + const val = args[i + 1]; + if (val === undefined) { + throw usageError('Missing value for --tick'); + } + spec.tickValue = val; + i += 1; + } else if (arg.startsWith('--tick=')) { + if (spec.action !== 'status') { + throw usageError('--tick cannot be combined with other seek flags'); + } + spec.action = 'tick'; + spec.tickValue = arg.slice('--tick='.length); + } else if (arg === '--latest') { + if (spec.action !== 'status') { + throw usageError('--latest cannot be combined with other seek flags'); + } + spec.action = 'latest'; + } else if (arg === '--save') { + if (spec.action !== 'status') { + throw usageError('--save cannot be combined with other seek flags'); + } + spec.action = 'save'; + const val = args[i + 1]; + if (val === undefined || val.startsWith('-')) { + throw usageError('Missing name for --save'); + } + spec.name = val; + i += 1; + } else if (arg === '--load') { + if (spec.action !== 'status') { + throw usageError('--load cannot be combined with other seek flags'); + } + spec.action = 'load'; + const val = args[i + 1]; + if (val === undefined || val.startsWith('-')) { + throw usageError('Missing name for --load'); + } + spec.name = val; + i += 1; + } else if (arg === '--list') { + if (spec.action !== 'status') { + throw usageError('--list cannot be combined with other seek flags'); + } + spec.action = 'list'; + } else if (arg === '--drop') { + if (spec.action !== 'status') { + throw usageError('--drop cannot be combined with other seek flags'); + } + spec.action = 'drop'; + const val = args[i + 1]; + if (val === undefined || val.startsWith('-')) { + throw usageError('Missing name for --drop'); + } + spec.name = val; + i += 1; + } else if (arg.startsWith('-')) { + throw usageError(`Unknown seek option: ${arg}`); + } + } + + return spec; +} + +/** + * Resolves a tick value (absolute, relative +N/-N) against available ticks. + * @param {string} tickValue - Raw tick value from args + * @param {number|null} currentTick - Current cursor tick (null if no cursor) + * @param {number[]} ticks - Sorted array of available ticks + * @param {number} maxTick - Maximum tick + * @returns {number} Resolved tick value + */ +function resolveTickValue(tickValue, currentTick, ticks, maxTick) { + // Relative: +N or -N + if (tickValue.startsWith('+') || tickValue.startsWith('-')) { + const delta = parseInt(tickValue, 10); + if (!Number.isInteger(delta)) { + throw usageError(`Invalid tick delta: ${tickValue}`); + } + const base = currentTick ?? 0; + + // Find the current position in sorted ticks, then step by delta + // Include tick 0 as a virtual "empty state" position + const allPoints = [0, ...ticks]; + const currentIdx = allPoints.indexOf(base); + const startIdx = currentIdx === -1 ? 0 : currentIdx; + const targetIdx = Math.max(0, Math.min(allPoints.length - 1, startIdx + delta)); + return allPoints[targetIdx]; + } + + // Absolute + const n = parseInt(tickValue, 10); + if (!Number.isInteger(n) || n < 0) { + throw usageError(`Invalid tick value: ${tickValue}. Must be a non-negative integer, or +N/-N for relative.`); + } + + // Clamp to maxTick + return Math.min(n, maxTick); +} + +// ============================================================================ +// Seek Handler +// ============================================================================ + +async function handleSeek({ options, args }) { + const seekSpec = parseSeekArgs(args); + const { graph, graphName, persistence } = await openGraph(options); + + const activeCursor = await readActiveCursor(persistence, graphName); + const { ticks, maxTick, perWriter } = await graph.discoverTicks(); + + if (seekSpec.action === 'list') { + const saved = await listSavedCursors(persistence, graphName); + return { + payload: { + graph: graphName, + action: 'list', + cursors: saved, + activeTick: activeCursor ? activeCursor.tick : null, + maxTick, + }, + exitCode: EXIT_CODES.OK, + }; + } + + if (seekSpec.action === 'drop') { + const existing = await readSavedCursor(persistence, graphName, seekSpec.name); + if (!existing) { + throw notFoundError(`Saved cursor not found: ${seekSpec.name}`); + } + await deleteSavedCursor(persistence, graphName, seekSpec.name); + return { + payload: { + graph: graphName, + action: 'drop', + name: seekSpec.name, + tick: existing.tick, + }, + exitCode: EXIT_CODES.OK, + }; + } + + if (seekSpec.action === 'latest') { + await clearActiveCursor(persistence, graphName); + await graph.materialize(); + const nodes = await graph.getNodes(); + const edges = await graph.getEdges(); + return { + payload: { + graph: graphName, + action: 'latest', + tick: maxTick, + maxTick, + ticks, + nodes: nodes.length, + edges: edges.length, + perWriter: serializePerWriter(perWriter), + patchCount: countPatchesAtTick(maxTick, perWriter), + cursor: { active: false }, + }, + exitCode: EXIT_CODES.OK, + }; + } + + if (seekSpec.action === 'save') { + if (!activeCursor) { + throw usageError('No active cursor to save. Use --tick first.'); + } + await writeSavedCursor(persistence, graphName, seekSpec.name, activeCursor); + return { + payload: { + graph: graphName, + action: 'save', + name: seekSpec.name, + tick: activeCursor.tick, + }, + exitCode: EXIT_CODES.OK, + }; + } + + if (seekSpec.action === 'load') { + const saved = await readSavedCursor(persistence, graphName, seekSpec.name); + if (!saved) { + throw notFoundError(`Saved cursor not found: ${seekSpec.name}`); + } + await writeActiveCursor(persistence, graphName, saved); + graph._seekCeiling = saved.tick; + await graph.materialize(); + const nodes = await graph.getNodes(); + const edges = await graph.getEdges(); + return { + payload: { + graph: graphName, + action: 'load', + name: seekSpec.name, + tick: saved.tick, + maxTick, + ticks, + nodes: nodes.length, + edges: edges.length, + perWriter: serializePerWriter(perWriter), + patchCount: countPatchesAtTick(saved.tick, perWriter), + cursor: { active: true, mode: saved.mode, tick: saved.tick, maxTick, name: seekSpec.name }, + }, + exitCode: EXIT_CODES.OK, + }; + } + + if (seekSpec.action === 'tick') { + const currentTick = activeCursor ? activeCursor.tick : null; + const resolvedTick = resolveTickValue(seekSpec.tickValue, currentTick, ticks, maxTick); + const cursor = { tick: resolvedTick, mode: 'lamport' }; + await writeActiveCursor(persistence, graphName, cursor); + graph._seekCeiling = resolvedTick; + await graph.materialize(); + const nodes = await graph.getNodes(); + const edges = await graph.getEdges(); + return { + payload: { + graph: graphName, + action: 'tick', + tick: resolvedTick, + maxTick, + ticks, + nodes: nodes.length, + edges: edges.length, + perWriter: serializePerWriter(perWriter), + patchCount: countPatchesAtTick(resolvedTick, perWriter), + cursor: { active: true, mode: 'lamport', tick: resolvedTick, maxTick, name: 'active' }, + }, + exitCode: EXIT_CODES.OK, + }; + } + + // status (bare seek) + if (activeCursor) { + graph._seekCeiling = activeCursor.tick; + await graph.materialize(); + const nodes = await graph.getNodes(); + const edges = await graph.getEdges(); + return { + payload: { + graph: graphName, + action: 'status', + tick: activeCursor.tick, + maxTick, + ticks, + nodes: nodes.length, + edges: edges.length, + perWriter: serializePerWriter(perWriter), + patchCount: countPatchesAtTick(activeCursor.tick, perWriter), + cursor: { active: true, mode: activeCursor.mode, tick: activeCursor.tick, maxTick, name: 'active' }, + }, + exitCode: EXIT_CODES.OK, + }; + } + + return { + payload: { + graph: graphName, + action: 'status', + tick: maxTick, + maxTick, + ticks, + nodes: 0, + edges: 0, + perWriter: serializePerWriter(perWriter), + patchCount: 0, + cursor: { active: false }, + }, + exitCode: EXIT_CODES.OK, + }; +} + +function serializePerWriter(perWriter) { + const result = {}; + for (const [writerId, info] of perWriter) { + result[writerId] = { ticks: info.ticks, tipSha: info.tipSha }; + } + return result; +} + +function countPatchesAtTick(tick, perWriter) { + let count = 0; + for (const [, info] of perWriter) { + for (const t of info.ticks) { + if (t <= tick) { + count++; + } + } + } + return count; +} + +function renderSeek(payload) { + if (payload.action === 'list') { + if (payload.cursors.length === 0) { + return 'No saved cursors.\n'; + } + const lines = []; + for (const c of payload.cursors) { + const active = c.tick === payload.activeTick ? ' (active)' : ''; + lines.push(` ${c.name}: tick ${c.tick}${active}`); + } + return `${lines.join('\n')}\n`; + } + + if (payload.action === 'drop') { + return `Dropped cursor "${payload.name}" (was at tick ${payload.tick}).\n`; + } + + if (payload.action === 'save') { + return `Saved cursor "${payload.name}" at tick ${payload.tick}.\n`; + } + + if (payload.action === 'latest') { + return `${payload.graph}: returned to present (tick ${payload.maxTick}, ${payload.nodes} nodes, ${payload.edges} edges)\n`; + } + + if (payload.action === 'load') { + return `${payload.graph}: loaded cursor "${payload.name}" at tick ${payload.tick} of ${payload.maxTick} (${payload.nodes} nodes, ${payload.edges} edges)\n`; + } + + if (payload.action === 'tick') { + return `${payload.graph}: tick ${payload.tick} of ${payload.maxTick} (${payload.nodes} nodes, ${payload.edges} edges, ${payload.patchCount} patches)\n`; + } + + // status + if (payload.cursor && payload.cursor.active) { + return `${payload.graph}: tick ${payload.tick} of ${payload.maxTick} (${payload.nodes} nodes, ${payload.edges} edges, ${payload.patchCount} patches)\n`; + } + + return `${payload.graph}: no cursor active, ${payload.ticks.length} ticks available\n`; +} + +/** + * Reads the active cursor and sets _seekCeiling on the graph instance. + * Call this for commands that should respect the seek cursor. + * @param {Object} graph - WarpGraph instance + * @param {Object} persistence - Persistence adapter + * @param {string} graphName - Graph name + * @returns {Promise<{active: boolean, tick: number|null, maxTick: number|null}>} + */ +async function applyCursorCeiling(graph, persistence, graphName) { + const cursor = await readActiveCursor(persistence, graphName); + if (cursor) { + graph._seekCeiling = cursor.tick; + return { active: true, tick: cursor.tick, maxTick: null }; + } + return { active: false, tick: null, maxTick: null }; +} + +/** + * Prints a seek cursor warning banner to stderr. + * @param {Object} cursorInfo - From applyCursorCeiling + * @param {number|null} maxTick - Max tick (from discoverTicks or null) + */ +function emitCursorWarning(cursorInfo, maxTick) { + if (cursorInfo.active) { + const maxLabel = maxTick !== null && maxTick !== undefined ? ` of ${maxTick}` : ''; + process.stderr.write(`\u26A0 seek active (tick ${cursorInfo.tick}${maxLabel}) \u2014 run "git warp seek --latest" to return to present\n`); + } +} + async function handleView({ options, args }) { if (!process.stdin.isTTY || !process.stdout.isTTY) { throw usageError('view command requires an interactive terminal (TTY)'); @@ -1573,6 +2088,7 @@ const COMMANDS = new Map([ ['history', handleHistory], ['check', handleCheck], ['materialize', handleMaterialize], + ['seek', handleSeek], ['view', handleView], ['install-hooks', handleInstallHooks], ]); @@ -1607,7 +2123,7 @@ async function main() { throw usageError(`Unknown command: ${command}`); } - const VIEW_SUPPORTED_COMMANDS = ['info', 'check', 'history', 'path', 'materialize', 'query']; + const VIEW_SUPPORTED_COMMANDS = ['info', 'check', 'history', 'path', 'materialize', 'query', 'seek']; if (options.view && !VIEW_SUPPORTED_COMMANDS.includes(command)) { throw usageError(`--view is not supported for '${command}'. Supported commands: ${VIEW_SUPPORTED_COMMANDS.join(', ')}`); } diff --git a/src/domain/WarpGraph.js b/src/domain/WarpGraph.js index 55497f58..05c9b646 100644 --- a/src/domain/WarpGraph.js +++ b/src/domain/WarpGraph.js @@ -178,6 +178,12 @@ export default class WarpGraph { /** @type {import('./services/TemporalQuery.js').TemporalQuery|null} */ this._temporalQuery = null; + + /** @type {number|null} */ + this._seekCeiling = null; + + /** @type {number|null} */ + this._cachedCeiling = null; } /** @@ -574,7 +580,7 @@ export default class WarpGraph { * and patches-since-checkpoint counter. May trigger auto-checkpoint and GC * based on configured policies. Notifies subscribers if state changed. * - * @param {{receipts?: boolean}} [options] - Optional configuration + * @param {{receipts?: boolean, ceiling?: number|null}} [options] - Optional configuration * @returns {Promise} The materialized graph state, or { state, receipts } when receipts enabled * @throws {Error} If checkpoint loading fails or patch decoding fails * @throws {Error} If writer ref access or patch blob reading fails @@ -583,6 +589,13 @@ export default class WarpGraph { const t0 = this._clock.now(); // ZERO-COST: only resolve receipts flag when options provided const collectReceipts = options && options.receipts; + // Resolve ceiling: explicit option > instance-level seek ceiling > null (latest) + const ceiling = this._resolveCeiling(options); + + // When ceiling is active, delegate to ceiling-aware path (with its own cache) + if (ceiling !== null) { + return await this._materializeWithCeiling(ceiling, collectReceipts, t0); + } try { // Check for checkpoint @@ -658,6 +671,7 @@ export default class WarpGraph { } await this._setMaterializedState(state); + this._cachedCeiling = null; this._lastFrontier = await this.getFrontier(); this._patchesSinceCheckpoint = patchCount; @@ -698,6 +712,98 @@ export default class WarpGraph { } } + /** + * Resolves the effective ceiling from options and instance state. + * @param {{ceiling?: number|null}} [options] + * @returns {number|null} The ceiling to use, or null for latest + * @private + */ + _resolveCeiling(options) { + if (options && options.ceiling !== undefined && options.ceiling !== null) { + return options.ceiling; + } + return this._seekCeiling; + } + + /** + * Materializes the graph with a Lamport ceiling (time-travel). + * + * Bypasses checkpoints entirely — replays all patches from all writers, + * filtering to only those with lamport <= ceiling. Skips auto-checkpoint + * and GC since this is an exploratory read. + * + * @param {number} ceiling - Maximum Lamport tick to include + * @param {boolean} collectReceipts - Whether to collect tick receipts + * @param {number} t0 - Start timestamp for timing + * @returns {Promise} + * @private + */ + async _materializeWithCeiling(ceiling, collectReceipts, t0) { + // Cache hit: same ceiling as last time, state is clean + if (this._cachedState && !this._stateDirty && ceiling === this._cachedCeiling) { + if (collectReceipts) { + return { state: this._cachedState, receipts: [] }; + } + return this._cachedState; + } + + const writerIds = await this.discoverWriters(); + + if (writerIds.length === 0 || ceiling <= 0) { + const state = createEmptyStateV5(); + this._provenanceIndex = new ProvenanceIndex(); + await this._setMaterializedState(state); + this._cachedCeiling = ceiling; + this._logTiming('materialize', t0, { metrics: '0 patches (ceiling)' }); + if (collectReceipts) { + return { state, receipts: [] }; + } + return state; + } + + const allPatches = []; + for (const writerId of writerIds) { + const writerPatches = await this._loadWriterPatches(writerId); + for (const entry of writerPatches) { + if (entry.patch.lamport <= ceiling) { + allPatches.push(entry); + } + } + } + + let state; + let receipts; + + if (allPatches.length === 0) { + state = createEmptyStateV5(); + if (collectReceipts) { + receipts = []; + } + } else if (collectReceipts) { + const result = reduceV5(allPatches, undefined, { receipts: true }); + state = result.state; + receipts = result.receipts; + } else { + state = reduceV5(allPatches); + } + + this._provenanceIndex = new ProvenanceIndex(); + for (const { patch, sha } of allPatches) { + this._provenanceIndex.addPatch(sha, patch.reads, patch.writes); + } + + await this._setMaterializedState(state); + this._cachedCeiling = ceiling; + + // Skip auto-checkpoint and GC — this is an exploratory read + this._logTiming('materialize', t0, { metrics: `${allPatches.length} patches (ceiling=${ceiling})` }); + + if (collectReceipts) { + return { state, receipts }; + } + return state; + } + /** * Joins (merges) another state into the current cached state. * @@ -1010,6 +1116,65 @@ export default class WarpGraph { return writerIds.sort(); } + /** + * Discovers all distinct Lamport ticks across all writers. + * + * Walks each writer's patch chain reading only commit messages (no blob + * deserialization) to extract Lamport timestamps. + * + * @returns {Promise<{ticks: number[], maxTick: number, perWriter: Map}>} + */ + async discoverTicks() { + const writerIds = await this.discoverWriters(); + const globalTickSet = new Set(); + const perWriter = new Map(); + + for (const writerId of writerIds) { + const writerRef = buildWriterRef(this._graphName, writerId); + const tipSha = await this._persistence.readRef(writerRef); + const writerTicks = []; + + if (tipSha) { + let currentSha = tipSha; + let lastLamport = Infinity; + + while (currentSha) { + const nodeInfo = await this._persistence.getNodeInfo(currentSha); + const kind = detectMessageKind(nodeInfo.message); + if (kind !== 'patch') { + break; + } + + const patchMeta = decodePatchMessage(nodeInfo.message); + globalTickSet.add(patchMeta.lamport); + writerTicks.push(patchMeta.lamport); + + // Check monotonic invariant (walking newest→oldest, lamport should decrease) + if (patchMeta.lamport > lastLamport && this._logger) { + this._logger.warn(`[warp] non-monotonic lamport for writer ${writerId}: ${patchMeta.lamport} > ${lastLamport}`); + } + lastLamport = patchMeta.lamport; + + if (nodeInfo.parents && nodeInfo.parents.length > 0) { + currentSha = nodeInfo.parents[0]; + } else { + break; + } + } + } + + perWriter.set(writerId, { + ticks: writerTicks.reverse(), + tipSha: tipSha || null, + }); + } + + const ticks = [...globalTickSet].sort((a, b) => a - b); + const maxTick = ticks.length > 0 ? ticks[ticks.length - 1] : 0; + + return { ticks, maxTick, perWriter }; + } + // ============================================================================ // Schema Migration Support // ============================================================================ diff --git a/src/domain/utils/RefLayout.js b/src/domain/utils/RefLayout.js index 4d29a826..02fb5abe 100644 --- a/src/domain/utils/RefLayout.js +++ b/src/domain/utils/RefLayout.js @@ -219,6 +219,57 @@ export function buildWritersPrefix(graphName) { return `${REF_PREFIX}/${graphName}/writers/`; } +/** + * Builds the active cursor ref path for the given graph. + * + * @param {string} graphName - The name of the graph + * @returns {string} The full ref path + * @throws {Error} If graphName is invalid + * + * @example + * buildCursorActiveRef('events'); + * // => 'refs/warp/events/cursor/active' + */ +export function buildCursorActiveRef(graphName) { + validateGraphName(graphName); + return `${REF_PREFIX}/${graphName}/cursor/active`; +} + +/** + * Builds a saved cursor ref path for the given graph and cursor name. + * + * @param {string} graphName - The name of the graph + * @param {string} name - The cursor name (validated like a writer ID) + * @returns {string} The full ref path + * @throws {Error} If graphName or name is invalid + * + * @example + * buildCursorSavedRef('events', 'before-tui'); + * // => 'refs/warp/events/cursor/saved/before-tui' + */ +export function buildCursorSavedRef(graphName, name) { + validateGraphName(graphName); + validateWriterId(name); + return `${REF_PREFIX}/${graphName}/cursor/saved/${name}`; +} + +/** + * Builds the saved cursor prefix path for the given graph. + * Useful for listing all saved cursors under a graph. + * + * @param {string} graphName - The name of the graph + * @returns {string} The saved cursor prefix path + * @throws {Error} If graphName is invalid + * + * @example + * buildCursorSavedPrefix('events'); + * // => 'refs/warp/events/cursor/saved/' + */ +export function buildCursorSavedPrefix(graphName) { + validateGraphName(graphName); + return `${REF_PREFIX}/${graphName}/cursor/saved/`; +} + // ----------------------------------------------------------------------------- // Parsers // ----------------------------------------------------------------------------- diff --git a/src/visualization/renderers/ascii/seek.js b/src/visualization/renderers/ascii/seek.js new file mode 100644 index 00000000..16f06256 --- /dev/null +++ b/src/visualization/renderers/ascii/seek.js @@ -0,0 +1,166 @@ +/** + * ASCII renderer for the `seek --view` command. + * Displays a dashboard with timeline, writer status, and graph state at the current tick. + */ + +import boxen from 'boxen'; +import { colors } from './colors.js'; +import { padRight } from '../../utils/unicode.js'; +import { formatSha } from './formatters.js'; +import { TIMELINE } from './symbols.js'; + +const MAX_TIMELINE_WIDTH = 40; + +/** + * Builds an ASCII timeline bar showing the current tick position. + * @param {number} currentTick - The active tick + * @param {number[]} ticks - All available ticks (sorted ascending) + * @returns {string} Timeline string like "○───●───○" + */ +function buildSeekTimeline(currentTick, ticks) { + if (ticks.length === 0) { + return colors.muted('(no ticks)'); + } + + // Include tick 0 (empty state) at the front + const allPoints = [0, ...ticks]; + const maxPoints = Math.min(allPoints.length, MAX_TIMELINE_WIDTH); + + // Sample points if too many + let displayPoints; + if (allPoints.length <= maxPoints) { + displayPoints = allPoints; + } else { + displayPoints = [allPoints[0]]; + const step = (allPoints.length - 1) / (maxPoints - 1); + for (let i = 1; i < maxPoints - 1; i++) { + displayPoints.push(allPoints[Math.round(i * step)]); + } + displayPoints.push(allPoints[allPoints.length - 1]); + } + + let timeline = ''; + let labels = ''; + + for (let i = 0; i < displayPoints.length; i++) { + const tick = displayPoints[i]; + const isActive = tick === currentTick; + + if (i > 0) { + const segLen = Math.max(1, Math.floor(MAX_TIMELINE_WIDTH / displayPoints.length)); + timeline += colors.muted(TIMELINE.line.repeat(segLen)); + labels += ' '.repeat(segLen); + } + + if (isActive) { + timeline += colors.primary(TIMELINE.dot); + } else { + timeline += colors.muted('\u25CB'); // ○ open circle + } + + const tickLabel = String(tick); + labels += tickLabel; + } + + // Add pointer line + const pointerLine = buildPointerLine(currentTick, displayPoints); + + return `${timeline}\n ${labels}\n${pointerLine}`; +} + +/** + * Builds a pointer line ("▲") under the active tick. + * @param {number} currentTick + * @param {number[]} displayPoints + * @returns {string} + */ +function buildPointerLine(currentTick, displayPoints) { + const idx = displayPoints.indexOf(currentTick); + if (idx === -1) { + return ''; + } + + const segLen = Math.max(1, Math.floor(MAX_TIMELINE_WIDTH / displayPoints.length)); + const offset = idx * (segLen + 1); + return ` ${' '.repeat(offset)}${colors.primary('\u25B2')}`; // ▲ +} + +/** + * Renders a writer row showing inclusion status at the given tick. + * @param {Object} opts + * @param {string} opts.writerId + * @param {{ticks: number[], tipSha: string|null}} opts.writerInfo + * @param {number} opts.currentTick + * @returns {string} + */ +function renderWriterRow({ writerId, writerInfo, currentTick }) { + const included = writerInfo.ticks.filter((t) => t <= currentTick); + const maxWriterTick = included.length > 0 ? included[included.length - 1] : 0; + const marker = included.length > 0 + ? colors.success(TIMELINE.dot) + : colors.muted('\u25CB'); + + const name = padRight(writerId, 16); + const lamportLabel = included.length > 0 + ? `L${maxWriterTick}` + : colors.muted('--'); + const shaLabel = writerInfo.tipSha ? formatSha(writerInfo.tipSha) : colors.muted('none'); + + return ` ${name} ${marker} ${lamportLabel} ${shaLabel}`; +} + +/** + * Builds the body lines for the seek dashboard. + * @param {Object} payload - Seek payload + * @returns {string[]} Lines for the box body + */ +function buildSeekBodyLines(payload) { + const { graph, tick, maxTick, ticks, nodes, edges, patchCount, perWriter } = payload; + const lines = []; + + lines.push(''); + lines.push(` ${colors.bold('GRAPH:')} ${graph}`); + lines.push(` ${colors.bold('POSITION:')} tick ${tick} of ${maxTick}`); + lines.push(''); + lines.push(` ${buildSeekTimeline(tick, ticks)}`); + lines.push(''); + + const writerEntries = perWriter instanceof Map + ? [...perWriter.entries()] + : Object.entries(perWriter).map(([k, v]) => [k, v]); + + if (writerEntries.length > 0) { + lines.push(` Writers included at tick ${tick}:`); + for (const [writerId, writerInfo] of writerEntries) { + lines.push(renderWriterRow({ writerId, writerInfo, currentTick: tick })); + } + lines.push(''); + } + + const edgeLabel = edges === 1 ? 'edge' : 'edges'; + const nodeLabel = nodes === 1 ? 'node' : 'nodes'; + const patchLabel = patchCount === 1 ? 'patch' : 'patches'; + lines.push(` ${colors.bold('State:')} ${nodes} ${nodeLabel}, ${edges} ${edgeLabel}, ${patchCount} ${patchLabel}`); + lines.push(''); + + return lines; +} + +/** + * Renders the seek view dashboard. + * + * @param {Object} payload - Seek payload + * @returns {string} Formatted ASCII output + */ +export function renderSeekView(payload) { + const lines = buildSeekBodyLines(payload); + const body = lines.join('\n'); + + return `${boxen(body, { + title: ' SEEK ', + titleAlignment: 'center', + padding: 0, + borderStyle: 'double', + borderColor: 'cyan', + })}\n`; +} diff --git a/test/bats/cli-seek.bats b/test/bats/cli-seek.bats new file mode 100644 index 00000000..249c6912 --- /dev/null +++ b/test/bats/cli-seek.bats @@ -0,0 +1,159 @@ +#!/usr/bin/env bats + +load helpers/setup.bash + +setup() { + setup_test_repo + seed_graph "seed-graph.js" +} + +teardown() { + teardown_test_repo +} + +@test "seek --json shows status with no active cursor" { + run git warp --repo "${TEST_REPO}" --graph demo --json seek + assert_success + + JSON="$output" python3 - <<'PY' +import json, os +data = json.loads(os.environ["JSON"]) +assert data["cursor"]["active"] is False, f"expected cursor.active=False, got {data['cursor']['active']}" +assert len(data["ticks"]) > 0, f"expected ticks array to have entries, got {data['ticks']}" +PY +} + +@test "seek --tick 1 --json sets cursor and materializes at tick 1" { + run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick 1 + assert_success + + JSON="$output" python3 - <<'PY' +import json, os +data = json.loads(os.environ["JSON"]) +assert data["cursor"]["active"] is True, f"expected cursor.active=True, got {data['cursor']['active']}" +assert data["cursor"]["tick"] == 1, f"expected tick=1, got {data['cursor']['tick']}" +assert data["state"]["nodes"] == 3, f"expected 3 nodes at tick 1, got {data['state']['nodes']}" +PY +} + +@test "seek --tick +1 --json advances to next tick" { + run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick 1 + assert_success + + run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick +1 + assert_success + + JSON="$output" python3 - <<'PY' +import json, os +data = json.loads(os.environ["JSON"]) +assert data["cursor"]["tick"] == 2, f"expected tick=2, got {data['cursor']['tick']}" +PY +} + +@test "seek --latest --json clears cursor" { + run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick 1 + assert_success + + run git warp --repo "${TEST_REPO}" --graph demo --json seek --latest + assert_success + + JSON="$output" python3 - <<'PY' +import json, os +data = json.loads(os.environ["JSON"]) +assert data["cursor"]["active"] is False, f"expected cursor.active=False, got {data['cursor']['active']}" +PY +} + +@test "seek --save/--load --json round-trips a cursor" { + run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick 1 + assert_success + + run git warp --repo "${TEST_REPO}" --graph demo --json seek --save bp1 + assert_success + + run git warp --repo "${TEST_REPO}" --graph demo --json seek --latest + assert_success + + run git warp --repo "${TEST_REPO}" --graph demo --json seek --load bp1 + assert_success + + JSON="$output" python3 - <<'PY' +import json, os +data = json.loads(os.environ["JSON"]) +assert data["cursor"]["active"] is True, f"expected cursor.active=True, got {data['cursor']['active']}" +assert data["cursor"]["tick"] == 1, f"expected tick=1, got {data['cursor']['tick']}" +PY +} + +@test "seek --list --json lists saved cursors" { + run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick 1 + assert_success + + run git warp --repo "${TEST_REPO}" --graph demo --json seek --save bp1 + assert_success + + run git warp --repo "${TEST_REPO}" --graph demo --json seek --list + assert_success + + JSON="$output" python3 - <<'PY' +import json, os +data = json.loads(os.environ["JSON"]) +names = [c["name"] for c in data["cursors"]] +assert "bp1" in names, f"expected bp1 in saved cursors, got {names}" +PY +} + +@test "seek --drop --json deletes saved cursor" { + run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick 1 + assert_success + + run git warp --repo "${TEST_REPO}" --graph demo --json seek --save bp1 + assert_success + + run git warp --repo "${TEST_REPO}" --graph demo --json seek --drop bp1 + assert_success + + run git warp --repo "${TEST_REPO}" --graph demo --json seek --list + assert_success + + JSON="$output" python3 - <<'PY' +import json, os +data = json.loads(os.environ["JSON"]) +names = [c["name"] for c in data["cursors"]] +assert "bp1" not in names, f"expected bp1 to be removed, but found it in {names}" +PY +} + +@test "seek --tick -1 --json steps backward" { + run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick 2 + assert_success + + run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick -1 + assert_success + + JSON="$output" python3 - <<'PY' +import json, os +data = json.loads(os.environ["JSON"]) +assert data["cursor"]["tick"] == 1, f"expected tick=1, got {data['cursor']['tick']}" +PY +} + +@test "query respects active cursor" { + run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick 1 + assert_success + + run git warp --repo "${TEST_REPO}" --graph demo --json query --match '*' + assert_success + + JSON="$output" python3 - <<'PY' +import json, os +data = json.loads(os.environ["JSON"]) +assert len(data["nodes"]) == 3, f"expected 3 nodes at tick 1, got {len(data['nodes'])}" +PY +} + +@test "seek plain text output" { + run git warp --repo "${TEST_REPO}" --graph demo seek + assert_success + echo "$output" | grep -q "demo" +} diff --git a/test/unit/domain/WarpGraph.seek.test.js b/test/unit/domain/WarpGraph.seek.test.js new file mode 100644 index 00000000..b8b30a2a --- /dev/null +++ b/test/unit/domain/WarpGraph.seek.test.js @@ -0,0 +1,336 @@ +import { describe, it, expect, vi, beforeEach } from 'vitest'; +import WarpGraph from '../../../src/domain/WarpGraph.js'; +import { encode } from '../../../src/infrastructure/codecs/CborCodec.js'; +import { encodePatchMessage } from '../../../src/domain/services/WarpMessageCodec.js'; +import { createMockPersistence } from '../../helpers/warpGraphTestUtils.js'; + +/** + * Creates a minimal schema:2 patch object. + */ +function createPatch(writer, lamport, nodeId) { + return { + schema: 2, + writer, + lamport, + context: { [writer]: lamport }, + ops: [{ type: 'NodeAdd', node: nodeId, dot: { writer, counter: lamport } }], + }; +} + +/** + * A fake 40-char hex SHA for use in tests. + */ +function fakeSha(label) { + const hex = Buffer.from(String(label)).toString('hex'); + return hex.padEnd(40, 'a').slice(0, 40); +} + +/** + * Sets up persistence mocks for multiple writers at once. + * Each writer gets `count` patches with lamport 1..count. + * + * @param {Object} persistence - Mock persistence + * @param {Object} writerSpecs - { writerId: count, ... } + * @param {string} [graphName='test'] + * @returns {Object} writerTips - { writerId: tipSha, ... } + */ +function setupMultiWriterPersistence(persistence, writerSpecs, graphName = 'test') { + const nodeInfoMap = new Map(); + const blobMap = new Map(); + const writerTips = {}; + + for (const [writer, count] of Object.entries(writerSpecs)) { + const shas = []; + for (let i = 1; i <= count; i++) { + shas.push(fakeSha(`${writer}${i}`)); + } + writerTips[writer] = shas[0]; + + // shas[0] = tip (newest, highest lamport) + // shas[count-1] = oldest (lamport=1) + for (let j = 0; j < count; j++) { + const lamport = count - j; // tip has highest lamport + const patchOid = fakeSha(`blob-${writer}-${lamport}`); + const message = encodePatchMessage({ + graph: graphName, + writer, + lamport, + patchOid, + schema: 2, + }); + const parents = j < count - 1 ? [shas[j + 1]] : []; + nodeInfoMap.set(shas[j], { message, parents }); + + const patch = createPatch(writer, lamport, `n:${writer}:${lamport}`); + blobMap.set(patchOid, encode(patch)); + } + } + + const writerRefs = Object.keys(writerSpecs).map( + (w) => `refs/warp/${graphName}/writers/${w}` + ); + + persistence.getNodeInfo.mockImplementation((sha) => { + const info = nodeInfoMap.get(sha); + if (info) { + return Promise.resolve(info); + } + return Promise.resolve({ message: '', parents: [] }); + }); + + persistence.readBlob.mockImplementation((oid) => { + const buf = blobMap.get(oid); + if (buf) { + return Promise.resolve(buf); + } + return Promise.resolve(Buffer.alloc(0)); + }); + + persistence.readRef.mockImplementation((ref) => { + if (ref === `refs/warp/${graphName}/checkpoints/head`) { + return Promise.resolve(null); + } + for (const [writer, tip] of Object.entries(writerTips)) { + if (ref === `refs/warp/${graphName}/writers/${writer}`) { + return Promise.resolve(tip); + } + } + return Promise.resolve(null); + }); + + persistence.listRefs.mockImplementation((prefix) => { + if (prefix.startsWith(`refs/warp/${graphName}/writers`)) { + return Promise.resolve(writerRefs); + } + return Promise.resolve([]); + }); + + return writerTips; +} + +describe('WarpGraph.seek (time-travel)', () => { + let persistence; + + beforeEach(() => { + persistence = createMockPersistence(); + }); + + // -------------------------------------------------------------------------- + // discoverTicks() + // -------------------------------------------------------------------------- + + describe('discoverTicks()', () => { + it('returns correct sorted ticks for a multi-writer graph', async () => { + const graph = await WarpGraph.open({ + persistence, + graphName: 'test', + writerId: 'w1', + }); + + setupMultiWriterPersistence(persistence, { alice: 3, bob: 2 }); + + const result = await graph.discoverTicks(); + + expect(result.ticks).toEqual([1, 2, 3]); + expect(result.maxTick).toBe(3); + }); + + it('returns empty result for a graph with no writers', async () => { + persistence.listRefs.mockResolvedValue([]); + persistence.readRef.mockResolvedValue(null); + + const graph = await WarpGraph.open({ + persistence, + graphName: 'test', + writerId: 'w1', + }); + + const result = await graph.discoverTicks(); + + expect(result.ticks).toEqual([]); + expect(result.maxTick).toBe(0); + expect(result.perWriter.size).toBe(0); + }); + + it('returns per-writer breakdown', async () => { + const graph = await WarpGraph.open({ + persistence, + graphName: 'test', + writerId: 'w1', + }); + + const tips = setupMultiWriterPersistence(persistence, { alice: 2, bob: 3 }); + + const result = await graph.discoverTicks(); + + expect(result.perWriter.get('alice').ticks).toEqual([1, 2]); + expect(result.perWriter.get('bob').ticks).toEqual([1, 2, 3]); + expect(result.perWriter.get('alice').tipSha).toBe(tips.alice); + }); + }); + + // -------------------------------------------------------------------------- + // materialize({ ceiling }) + // -------------------------------------------------------------------------- + + describe('materialize({ ceiling })', () => { + it('includes only patches at or below the ceiling', async () => { + const graph = await WarpGraph.open({ + persistence, + graphName: 'test', + writerId: 'w1', + }); + + setupMultiWriterPersistence(persistence, { alice: 3 }); + + const state = await graph.materialize({ ceiling: 2 }); + + const nodeIds = [...state.nodeAlive.entries.keys()]; + expect(nodeIds).toHaveLength(2); + expect(nodeIds).toContain('n:alice:1'); + expect(nodeIds).toContain('n:alice:2'); + expect(nodeIds).not.toContain('n:alice:3'); + }); + + it('ceiling of 0 returns empty state', async () => { + const graph = await WarpGraph.open({ + persistence, + graphName: 'test', + writerId: 'w1', + }); + + setupMultiWriterPersistence(persistence, { alice: 3 }); + + const state = await graph.materialize({ ceiling: 0 }); + + expect(state.nodeAlive.entries.size).toBe(0); + }); + + it('ceiling above maxTick yields same as full materialization', async () => { + const graph = await WarpGraph.open({ + persistence, + graphName: 'test', + writerId: 'w1', + }); + + setupMultiWriterPersistence(persistence, { alice: 3 }); + + const fullState = await graph.materialize(); + const fullNodes = [...fullState.nodeAlive.entries.keys()].sort(); + + // Force cache invalidation for second call + graph._stateDirty = true; + graph._cachedCeiling = null; + const ceilingState = await graph.materialize({ ceiling: 999 }); + const ceilingNodes = [...ceilingState.nodeAlive.entries.keys()].sort(); + + expect(ceilingNodes).toEqual(fullNodes); + }); + + it('multi-writer ceiling includes correct cross-writer patches', async () => { + const graph = await WarpGraph.open({ + persistence, + graphName: 'test', + writerId: 'w1', + }); + + setupMultiWriterPersistence(persistence, { alice: 2, bob: 3 }); + + const state = await graph.materialize({ ceiling: 2 }); + + const nodeIds = [...state.nodeAlive.entries.keys()].sort(); + // alice:1, alice:2, bob:1, bob:2 = 4 nodes + expect(nodeIds).toHaveLength(4); + expect(nodeIds).toContain('n:alice:1'); + expect(nodeIds).toContain('n:alice:2'); + expect(nodeIds).toContain('n:bob:1'); + expect(nodeIds).toContain('n:bob:2'); + expect(nodeIds).not.toContain('n:bob:3'); + }); + + it('cache invalidation: different ceilings produce different states', async () => { + const graph = await WarpGraph.open({ + persistence, + graphName: 'test', + writerId: 'w1', + }); + + setupMultiWriterPersistence(persistence, { alice: 3 }); + + const stateA = await graph.materialize({ ceiling: 1 }); + const nodesA = stateA.nodeAlive.entries.size; + + const stateB = await graph.materialize({ ceiling: 3 }); + const nodesB = stateB.nodeAlive.entries.size; + + expect(nodesA).toBe(1); + expect(nodesB).toBe(3); + }); + + it('cache hit: same ceiling returns cached state without re-materialize', async () => { + const graph = await WarpGraph.open({ + persistence, + graphName: 'test', + writerId: 'w1', + }); + + setupMultiWriterPersistence(persistence, { alice: 3 }); + + await graph.materialize({ ceiling: 2 }); + const callCountAfterFirst = persistence.getNodeInfo.mock.calls.length; + + await graph.materialize({ ceiling: 2 }); + const callCountAfterSecond = persistence.getNodeInfo.mock.calls.length; + + // Should not have made additional persistence calls (cache hit) + expect(callCountAfterSecond).toBe(callCountAfterFirst); + }); + + it('_seekCeiling is used when no explicit ceiling is passed', async () => { + const graph = await WarpGraph.open({ + persistence, + graphName: 'test', + writerId: 'w1', + }); + + setupMultiWriterPersistence(persistence, { alice: 3 }); + + graph._seekCeiling = 1; + const state = await graph.materialize(); + + expect(state.nodeAlive.entries.size).toBe(1); + }); + + it('explicit ceiling overrides _seekCeiling', async () => { + const graph = await WarpGraph.open({ + persistence, + graphName: 'test', + writerId: 'w1', + }); + + setupMultiWriterPersistence(persistence, { alice: 3 }); + + graph._seekCeiling = 1; + const state = await graph.materialize({ ceiling: 3 }); + + expect(state.nodeAlive.entries.size).toBe(3); + }); + + it('skips auto-checkpoint when ceiling is active', async () => { + const graph = await WarpGraph.open({ + persistence, + graphName: 'test', + writerId: 'w1', + checkpointPolicy: { every: 1 }, + }); + + setupMultiWriterPersistence(persistence, { alice: 3 }); + + const spy = vi.spyOn(graph, 'createCheckpoint').mockResolvedValue(fakeSha('ckpt')); + + await graph.materialize({ ceiling: 2 }); + + expect(spy).not.toHaveBeenCalled(); + }); + }); +}); diff --git a/test/unit/visualization/ascii-seek-renderer.test.js b/test/unit/visualization/ascii-seek-renderer.test.js new file mode 100644 index 00000000..c80bd8a3 --- /dev/null +++ b/test/unit/visualization/ascii-seek-renderer.test.js @@ -0,0 +1,152 @@ +import { describe, it, expect } from 'vitest'; +import { renderSeekView } from '../../../src/visualization/renderers/ascii/seek.js'; +import { stripAnsi } from '../../../src/visualization/utils/ansi.js'; + +describe('renderSeekView', () => { + it('renders seek status with multiple writers', () => { + const payload = { + graph: 'sandbox', + tick: 1, + maxTick: 2, + ticks: [1, 2], + nodes: 9, + edges: 12, + patchCount: 6, + perWriter: { + alice: { ticks: [1, 2], tipSha: '5f14fc7aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' }, + bob: { ticks: [1, 2], tipSha: '575d6f8aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' }, + charlie: { ticks: [1], tipSha: '6804b59aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' }, + }, + }; + + const output = stripAnsi(renderSeekView(payload)); + + expect(output).toContain('SEEK'); + expect(output).toContain('GRAPH: sandbox'); + expect(output).toContain('POSITION: tick 1 of 2'); + expect(output).toContain('alice'); + expect(output).toContain('bob'); + expect(output).toContain('charlie'); + expect(output).toContain('9 nodes, 12 edges'); + }); + + it('renders seek status at tick 0 (empty state)', () => { + const payload = { + graph: 'test', + tick: 0, + maxTick: 3, + ticks: [1, 2, 3], + nodes: 0, + edges: 0, + patchCount: 0, + perWriter: { + alice: { ticks: [1, 2, 3], tipSha: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' }, + }, + }; + + const output = stripAnsi(renderSeekView(payload)); + + expect(output).toContain('POSITION: tick 0 of 3'); + expect(output).toContain('0 nodes, 0 edges'); + }); + + it('renders seek at latest tick', () => { + const payload = { + graph: 'mydb', + tick: 5, + maxTick: 5, + ticks: [1, 2, 3, 4, 5], + nodes: 100, + edges: 200, + patchCount: 15, + perWriter: { + writer1: { ticks: [1, 3, 5], tipSha: 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' }, + }, + }; + + const output = stripAnsi(renderSeekView(payload)); + + expect(output).toContain('POSITION: tick 5 of 5'); + expect(output).toContain('100 nodes, 200 edges'); + }); + + it('renders with single writer', () => { + const payload = { + graph: 'solo', + tick: 2, + maxTick: 3, + ticks: [1, 2, 3], + nodes: 5, + edges: 3, + patchCount: 2, + perWriter: { + alice: { ticks: [1, 2, 3], tipSha: 'cccccccccccccccccccccccccccccccccccccccc' }, + }, + }; + + const output = stripAnsi(renderSeekView(payload)); + + expect(output).toContain('GRAPH: solo'); + expect(output).toContain('alice'); + expect(output).toContain('5 nodes, 3 edges'); + }); + + it('handles empty graph (no ticks)', () => { + const payload = { + graph: 'empty', + tick: 0, + maxTick: 0, + ticks: [], + nodes: 0, + edges: 0, + patchCount: 0, + perWriter: {}, + }; + + const output = stripAnsi(renderSeekView(payload)); + + expect(output).toContain('POSITION: tick 0 of 0'); + expect(output).toContain('0 nodes, 0 edges'); + }); + + it('renders singular labels for 1 node, 1 edge, 1 patch', () => { + const payload = { + graph: 'tiny', + tick: 1, + maxTick: 1, + ticks: [1], + nodes: 1, + edges: 1, + patchCount: 1, + perWriter: { + alice: { ticks: [1], tipSha: 'dddddddddddddddddddddddddddddddddddddd' }, + }, + }; + + const output = stripAnsi(renderSeekView(payload)); + + expect(output).toContain('1 node, 1 edge, 1 patch'); + }); + + it('accepts perWriter as a Map', () => { + const perWriter = new Map([ + ['alice', { ticks: [1, 2], tipSha: 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' }], + ]); + + const payload = { + graph: 'maptest', + tick: 1, + maxTick: 2, + ticks: [1, 2], + nodes: 3, + edges: 2, + patchCount: 1, + perWriter, + }; + + const output = stripAnsi(renderSeekView(payload)); + + expect(output).toContain('alice'); + expect(output).toContain('3 nodes, 2 edges'); + }); +}); From d0b1d0a32fd44d0776079e9e7e7baed0f6326a81 Mon Sep 17 00:00:00 2001 From: James Ross Date: Mon, 9 Feb 2026 13:06:33 -0800 Subject: [PATCH 02/13] chore: bump to v10.3.0 and update docs for seek feature Updates CHANGELOG, README, GUIDE, and package.json for the new `git warp seek` time-travel command added in the previous commit. --- CHANGELOG.md | 32 ++++++++++++++++++++++++++++++++ README.md | 10 ++++++++++ docs/GUIDE.md | 42 ++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 4 files changed, 85 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c99b5c89..0a1e1c99 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,38 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [10.3.0] — 2026-02-09 — Time Travel (`git warp seek`) + +Adds cursor-based time travel for exploring graph history. Navigate to any Lamport tick, save/load named bookmarks, and see materialized state at any point in time. Existing commands (`info`, `materialize`, `history`, `query`) respect the active cursor. + +### Added + +- **`git warp seek` command**: Step through graph history by Lamport tick. + - `seek --tick N` — position cursor at absolute tick N. + - `seek --tick +N` / `seek --tick -N` — step forward/backward relative to current position. + - `seek --latest` — clear cursor and return to the present (latest state). + - `seek --save NAME` / `seek --load NAME` — save and restore named cursor bookmarks. + - `seek --list` — list all saved cursors. + - `seek --drop NAME` — delete a saved cursor. + - `seek` (bare) — show current cursor status. +- **`WarpGraph.discoverTicks()`**: Walks all writer patch chains reading only commit messages (no blob deserialization) to extract sorted Lamport timestamps and per-writer tick breakdowns. +- **`materialize({ ceiling })` option**: Replays only patches with `lamport <= ceiling`, enabling time-travel materialization. Skips auto-checkpoint when ceiling is active to avoid writing snapshots of past state. +- **Cursor persistence via refs**: Active cursor stored at `refs/warp//cursor/active`, saved cursors at `refs/warp//cursor/saved/`. All data stored as JSON blobs. +- **ASCII seek renderer** (`src/visualization/renderers/ascii/seek.js`): Dashboard view with timeline visualization, writer inclusion status, and graph stats at the selected tick. Activated via `--view`. +- **Cursor-aware existing commands**: `info` shows active cursor in summary; `materialize` skips checkpointing when a cursor is active; `history` filters patches to the selected tick; `query` materializes at the cursor ceiling. +- **BATS CLI tests** (`test/bats/cli-seek.bats`, 10 tests): End-to-end integration tests for all seek operations. +- **Domain unit tests** (`test/unit/domain/WarpGraph.seek.test.js`, 12 tests): `discoverTicks()`, `materialize({ ceiling })`, ceiling caching, multi-writer ceiling, `_seekCeiling` instance state. +- **Renderer unit tests** (`test/unit/visualization/ascii-seek-renderer.test.js`, 7 tests): Timeline rendering, writer rows, dashboard layout. + +### Changed + +- **`RefLayout`**: New helpers `buildCursorRef()`, `buildSavedCursorRef()`, `buildSavedCursorPrefix()` for cursor ref path construction. + +### Tests + +- Suite total: 2923 tests across 146 vitest files + 66 BATS CLI tests (up from 2883/142 + 56). +- New seek tests: 19 unit (12 domain + 7 renderer) + 10 BATS CLI = 29 total. + ## [10.2.1] — 2026-02-09 — Compact ASCII graphs & hero GIF ### Changed diff --git a/README.md b/README.md index bf1a7e68..bd2fcf39 100644 --- a/README.md +++ b/README.md @@ -407,12 +407,22 @@ git warp history --writer alice # Check graph health, status, and GC metrics git warp check +# Time-travel: step through graph history +git warp seek --tick 3 # jump to Lamport tick 3 +git warp seek --tick +1 # step forward one tick +git warp seek --tick -1 # step backward one tick +git warp seek --save before-refactor # bookmark current position +git warp seek --load before-refactor # restore bookmark +git warp seek --latest # return to present + # Visualize query results (ascii output by default) git warp query --match 'user:*' --outgoing manages --view ``` All commands accept `--repo ` to target a specific Git repository, `--json` for machine-readable output, and `--view [mode]` for visual output (ascii by default, or browser, svg:FILE, html:FILE). +When a seek cursor is active, `query`, `info`, `materialize`, and `history` automatically show state at the selected tick. + ## Architecture The codebase follows hexagonal architecture with ports and adapters: diff --git a/docs/GUIDE.md b/docs/GUIDE.md index 865fbe9e..2699b23d 100644 --- a/docs/GUIDE.md +++ b/docs/GUIDE.md @@ -892,6 +892,8 @@ git warp history --writer alice # Patch history git warp check # Health/GC status git warp materialize # Materialize all graphs git warp materialize --graph my-graph # Single graph +git warp seek --tick 3 # Time-travel to tick 3 +git warp seek --latest # Return to present git warp install-hooks # Install post-merge hook ``` @@ -902,10 +904,50 @@ Visual ASCII output is available with `--view`: ```bash git warp --view info # ASCII visualization git warp --view check # Health status visualization +git warp --view seek # Seek dashboard with timeline ``` `--view` is mutually exclusive with `--json`. +### Time Travel (`seek`) + +The `seek` command lets you navigate through graph history by Lamport tick. When a cursor is active, all read commands (`query`, `info`, `materialize`, `history`) automatically show state at the selected tick. + +```bash +# Jump to an absolute tick +git warp seek --tick 3 + +# Step forward/backward relative to current position +git warp seek --tick +1 +git warp seek --tick -1 + +# Return to the present (clears the cursor) +git warp seek --latest + +# Save and restore named bookmarks +git warp seek --save before-refactor +git warp seek --load before-refactor + +# List and delete saved bookmarks +git warp seek --list +git warp seek --drop before-refactor + +# Show current cursor status +git warp seek +``` + +**How it works:** The cursor is stored as a lightweight Git ref at `refs/warp//cursor/active`. Saved bookmarks live under `refs/warp//cursor/saved/`. When a cursor is active, `materialize()` replays only patches with `lamport <= tick`, and auto-checkpoint is skipped to avoid writing snapshots of past state. + +**Programmatic API:** + +```javascript +// Discover all ticks without expensive deserialization +const { ticks, maxTick, perWriter } = await graph.discoverTicks(); + +// Materialize at a specific point in time +const state = await graph.materialize({ ceiling: 3 }); +``` + ### Git Hooks WarpGraph ships a `post-merge` hook that runs after `git merge` or `git pull`. If warp refs changed, it prints: diff --git a/package.json b/package.json index e343e0f0..37f40ab1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@git-stunts/git-warp", - "version": "10.2.1", + "version": "10.3.0", "description": "Deterministic WARP graph over Git: graph-native storage, traversal, and tooling.", "type": "module", "license": "Apache-2.0", From 1b2ae7dda0c89f05002534c717b15fda12680c7f Mon Sep 17 00:00:00 2001 From: James Ross Date: Mon, 9 Feb 2026 15:19:05 -0800 Subject: [PATCH 03/13] fix: validate cursor blobs, add --view seek to docs, correct CHANGELOG names - Add parseCursorBlob() utility with JSON + numeric tick validation; replace raw JSON.parse in readActiveCursor, readSavedCursor, and listSavedCursors with descriptive errors on corrupted data. - Add --view seek to GUIDE.md supported commands table. - Fix CHANGELOG RefLayout helper names to match exported API. - 11 new unit tests for parseCursorBlob. --- CHANGELOG.md | 11 +++- bin/warp-graph.js | 7 ++- docs/GUIDE.md | 1 + src/domain/utils/parseCursorBlob.js | 30 ++++++++++ test/unit/domain/parseCursorBlob.test.js | 71 ++++++++++++++++++++++++ 5 files changed, 115 insertions(+), 5 deletions(-) create mode 100644 src/domain/utils/parseCursorBlob.js create mode 100644 test/unit/domain/parseCursorBlob.test.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 0a1e1c99..4702291a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -30,12 +30,19 @@ Adds cursor-based time travel for exploring graph history. Navigate to any Lampo ### Changed -- **`RefLayout`**: New helpers `buildCursorRef()`, `buildSavedCursorRef()`, `buildSavedCursorPrefix()` for cursor ref path construction. +- **`RefLayout`**: New helpers `buildCursorActiveRef()`, `buildCursorSavedRef()`, `buildCursorSavedPrefix()` for cursor ref path construction. + +### Fixed + +- **Cursor blob validation**: Added `parseCursorBlob()` utility that validates JSON structure and numeric tick before use. `readActiveCursor`, `readSavedCursor`, and `listSavedCursors` now throw descriptive errors on corrupted cursor data instead of crashing. +- **GUIDE.md**: Added `--view seek` to the supported commands table. +- **CHANGELOG**: Fixed `RefLayout` helper names to match exported API (`buildCursorActiveRef`, not `buildCursorRef`). ### Tests -- Suite total: 2923 tests across 146 vitest files + 66 BATS CLI tests (up from 2883/142 + 56). +- Suite total: 2934 tests across 147 vitest files + 66 BATS CLI tests (up from 2883/142 + 56). - New seek tests: 19 unit (12 domain + 7 renderer) + 10 BATS CLI = 29 total. +- New parseCursorBlob unit tests: 11 tests covering valid parsing, corrupted JSON, missing/invalid tick. ## [10.2.1] — 2026-02-09 — Compact ASCII graphs & hero GIF diff --git a/bin/warp-graph.js b/bin/warp-graph.js index 40acc63d..158961f5 100755 --- a/bin/warp-graph.js +++ b/bin/warp-graph.js @@ -27,6 +27,7 @@ import { renderCheckView } from '../src/visualization/renderers/ascii/check.js'; import { renderHistoryView, summarizeOps } from '../src/visualization/renderers/ascii/history.js'; import { renderPathView } from '../src/visualization/renderers/ascii/path.js'; import { renderMaterializeView } from '../src/visualization/renderers/ascii/materialize.js'; +import { parseCursorBlob } from '../src/domain/utils/parseCursorBlob.js'; import { renderSeekView } from '../src/visualization/renderers/ascii/seek.js'; import { renderGraphView } from '../src/visualization/renderers/ascii/graph.js'; import { renderSvg } from '../src/visualization/renderers/svg/index.js'; @@ -1610,7 +1611,7 @@ async function readActiveCursor(persistence, graphName) { return null; } const buf = await persistence.readBlob(oid); - return JSON.parse(buf.toString('utf8')); + return parseCursorBlob(buf, 'active cursor'); } async function writeActiveCursor(persistence, graphName, cursor) { @@ -1635,7 +1636,7 @@ async function readSavedCursor(persistence, graphName, name) { return null; } const buf = await persistence.readBlob(oid); - return JSON.parse(buf.toString('utf8')); + return parseCursorBlob(buf, `saved cursor '${name}'`); } async function writeSavedCursor(persistence, graphName, name, cursor) { @@ -1663,7 +1664,7 @@ async function listSavedCursors(persistence, graphName) { const oid = await persistence.readRef(ref); if (oid) { const buf = await persistence.readBlob(oid); - const cursor = JSON.parse(buf.toString('utf8')); + const cursor = parseCursorBlob(buf, `saved cursor '${name}'`); cursors.push({ name, ...cursor }); } } diff --git a/docs/GUIDE.md b/docs/GUIDE.md index 2699b23d..f75f2850 100644 --- a/docs/GUIDE.md +++ b/docs/GUIDE.md @@ -1013,6 +1013,7 @@ The `--view` flag enables visual ASCII dashboards for supported commands. Add `- | `--view history` | Patch timeline with operation summaries | | `--view path` | Visual path diagram between nodes | | `--view materialize` | Progress dashboard with statistics | +| `--view seek` | Time-travel dashboard with timeline | **View modes:** - `--view` or `--view=ascii` — ASCII art (default) diff --git a/src/domain/utils/parseCursorBlob.js b/src/domain/utils/parseCursorBlob.js new file mode 100644 index 00000000..70f27470 --- /dev/null +++ b/src/domain/utils/parseCursorBlob.js @@ -0,0 +1,30 @@ +/** + * Parses and validates a cursor blob (Buffer) into a cursor object. + * + * Ensures the blob is valid JSON containing at minimum a numeric `tick` field. + * Returns the validated cursor object, or throws a descriptive error on + * corrupted / malformed data. + * + * @param {Buffer} buf - Raw blob contents + * @param {string} label - Human-readable label for error messages (e.g. "active cursor", "saved cursor 'foo'") + * @returns {{ tick: number, mode?: string, [key: string]: unknown }} + * @throws {Error} If the blob is not valid JSON or is missing a numeric tick + */ +export function parseCursorBlob(buf, label) { + let obj; + try { + obj = JSON.parse(buf.toString('utf8')); + } catch { + throw new Error(`Corrupted ${label}: blob is not valid JSON`); + } + + if (obj === null || typeof obj !== 'object' || Array.isArray(obj)) { + throw new Error(`Corrupted ${label}: expected a JSON object`); + } + + if (typeof obj.tick !== 'number' || !Number.isFinite(obj.tick)) { + throw new Error(`Corrupted ${label}: missing or invalid numeric tick`); + } + + return obj; +} diff --git a/test/unit/domain/parseCursorBlob.test.js b/test/unit/domain/parseCursorBlob.test.js new file mode 100644 index 00000000..41690712 --- /dev/null +++ b/test/unit/domain/parseCursorBlob.test.js @@ -0,0 +1,71 @@ +import { describe, it, expect } from 'vitest'; +import { parseCursorBlob } from '../../../src/domain/utils/parseCursorBlob.js'; + +describe('parseCursorBlob', () => { + function buf(str) { + return Buffer.from(str, 'utf8'); + } + + it('parses a valid cursor blob', () => { + const result = parseCursorBlob(buf('{"tick":5,"mode":"lamport"}'), 'test cursor'); + expect(result).toEqual({ tick: 5, mode: 'lamport' }); + }); + + it('parses a cursor with only tick', () => { + const result = parseCursorBlob(buf('{"tick":0}'), 'test cursor'); + expect(result).toEqual({ tick: 0 }); + }); + + it('preserves extra fields', () => { + const result = parseCursorBlob(buf('{"tick":3,"mode":"lamport","extra":"ok"}'), 'test'); + expect(result.extra).toBe('ok'); + }); + + it('throws on invalid JSON', () => { + expect(() => parseCursorBlob(buf('not json'), 'active cursor')).toThrow( + 'Corrupted active cursor: blob is not valid JSON' + ); + }); + + it('throws on truncated JSON', () => { + expect(() => parseCursorBlob(buf('{"tick":'), 'active cursor')).toThrow( + 'blob is not valid JSON' + ); + }); + + it('throws on JSON array', () => { + expect(() => parseCursorBlob(buf('[1,2,3]'), 'saved cursor')).toThrow( + 'expected a JSON object' + ); + }); + + it('throws on JSON null', () => { + expect(() => parseCursorBlob(buf('null'), 'saved cursor')).toThrow( + 'expected a JSON object' + ); + }); + + it('throws on missing tick', () => { + expect(() => parseCursorBlob(buf('{"mode":"lamport"}'), "saved cursor 'foo'")).toThrow( + "Corrupted saved cursor 'foo': missing or invalid numeric tick" + ); + }); + + it('throws on non-numeric tick', () => { + expect(() => parseCursorBlob(buf('{"tick":"5"}'), 'active cursor')).toThrow( + 'missing or invalid numeric tick' + ); + }); + + it('throws on NaN tick', () => { + expect(() => parseCursorBlob(buf('{"tick":null}'), 'active cursor')).toThrow( + 'missing or invalid numeric tick' + ); + }); + + it('throws on boolean tick', () => { + expect(() => parseCursorBlob(buf('{"tick":true}'), 'cursor')).toThrow( + 'missing or invalid numeric tick' + ); + }); +}); From f4ccac84ca9ab94c5780f72de61f854e035830b4 Mon Sep 17 00:00:00 2001 From: James Ross Date: Mon, 9 Feb 2026 15:25:09 -0800 Subject: [PATCH 04/13] fix: ceiling cache receipts, null override, timeline dedup & label alignment - _materializeWithCeiling: bypass cache when collectReceipts is true so callers get real receipts instead of empty array. - _resolveCeiling: use 'ceiling' in options so explicit null clears _seekCeiling and materializes latest state. - buildSeekTimeline: skip prepending 0 when ticks already contains it; compute target column positions for labels so multi-digit ticks stay aligned under their dots. - RefLayout.js: add cursor/* paths to module docstring. - 4 new regression tests (2 domain, 2 renderer). --- CHANGELOG.md | 9 ++- src/domain/WarpGraph.js | 10 ++- src/domain/utils/RefLayout.js | 2 + src/visualization/renderers/ascii/seek.js | 13 ++-- test/unit/domain/WarpGraph.seek.test.js | 39 +++++++++++ .../visualization/ascii-seek-renderer.test.js | 66 +++++++++++++++++++ 6 files changed, 124 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4702291a..6d2ab06d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -37,11 +37,16 @@ Adds cursor-based time travel for exploring graph history. Navigate to any Lampo - **Cursor blob validation**: Added `parseCursorBlob()` utility that validates JSON structure and numeric tick before use. `readActiveCursor`, `readSavedCursor`, and `listSavedCursors` now throw descriptive errors on corrupted cursor data instead of crashing. - **GUIDE.md**: Added `--view seek` to the supported commands table. - **CHANGELOG**: Fixed `RefLayout` helper names to match exported API (`buildCursorActiveRef`, not `buildCursorRef`). +- **`_materializeWithCeiling` cache**: Cache fast-path no longer returns empty `receipts: []` when `collectReceipts` is true; falls through to full materialization to produce real receipts. +- **`_resolveCeiling` null override**: `materialize({ ceiling: null })` now correctly clears `_seekCeiling` and materializes latest state, instead of ignoring the explicit null. +- **Seek timeline duplicate 0**: `buildSeekTimeline` no longer prepends tick 0 when `ticks` already contains it, preventing a duplicate dot in the timeline. +- **Seek timeline label drift**: Tick labels now stay vertically aligned under their dots for multi-digit tick values by computing target column positions instead of using fixed-width padding. +- **RefLayout docstring**: Added `cursor/active` and `cursor/saved/` to the module-level ref layout listing. ### Tests -- Suite total: 2934 tests across 147 vitest files + 66 BATS CLI tests (up from 2883/142 + 56). -- New seek tests: 19 unit (12 domain + 7 renderer) + 10 BATS CLI = 29 total. +- Suite total: 2938 tests across 147 vitest files + 66 BATS CLI tests (up from 2883/142 + 56). +- New seek tests: 23 unit (14 domain + 9 renderer) + 10 BATS CLI = 33 total. - New parseCursorBlob unit tests: 11 tests covering valid parsing, corrupted JSON, missing/invalid tick. ## [10.2.1] — 2026-02-09 — Compact ASCII graphs & hero GIF diff --git a/src/domain/WarpGraph.js b/src/domain/WarpGraph.js index 05c9b646..d9291828 100644 --- a/src/domain/WarpGraph.js +++ b/src/domain/WarpGraph.js @@ -719,7 +719,7 @@ export default class WarpGraph { * @private */ _resolveCeiling(options) { - if (options && options.ceiling !== undefined && options.ceiling !== null) { + if (options && 'ceiling' in options) { return options.ceiling; } return this._seekCeiling; @@ -739,11 +739,9 @@ export default class WarpGraph { * @private */ async _materializeWithCeiling(ceiling, collectReceipts, t0) { - // Cache hit: same ceiling as last time, state is clean - if (this._cachedState && !this._stateDirty && ceiling === this._cachedCeiling) { - if (collectReceipts) { - return { state: this._cachedState, receipts: [] }; - } + // Cache hit: same ceiling as last time, state is clean. + // Bypass cache when collectReceipts is true — cached path has no receipts. + if (this._cachedState && !this._stateDirty && ceiling === this._cachedCeiling && !collectReceipts) { return this._cachedState; } diff --git a/src/domain/utils/RefLayout.js b/src/domain/utils/RefLayout.js index 02fb5abe..e310f5ed 100644 --- a/src/domain/utils/RefLayout.js +++ b/src/domain/utils/RefLayout.js @@ -8,6 +8,8 @@ * - refs/warp//writers/ * - refs/warp//checkpoints/head * - refs/warp//coverage/head + * - refs/warp//cursor/active + * - refs/warp//cursor/saved/ * * @module domain/utils/RefLayout */ diff --git a/src/visualization/renderers/ascii/seek.js b/src/visualization/renderers/ascii/seek.js index 16f06256..079e4905 100644 --- a/src/visualization/renderers/ascii/seek.js +++ b/src/visualization/renderers/ascii/seek.js @@ -22,11 +22,8 @@ function buildSeekTimeline(currentTick, ticks) { return colors.muted('(no ticks)'); } - // Include tick 0 (empty state) at the front - const allPoints = [0, ...ticks]; + const allPoints = (ticks[0] === 0) ? [...ticks] : [0, ...ticks]; const maxPoints = Math.min(allPoints.length, MAX_TIMELINE_WIDTH); - - // Sample points if too many let displayPoints; if (allPoints.length <= maxPoints) { displayPoints = allPoints; @@ -39,6 +36,7 @@ function buildSeekTimeline(currentTick, ticks) { displayPoints.push(allPoints[allPoints.length - 1]); } + const segLen = Math.max(1, Math.floor(MAX_TIMELINE_WIDTH / displayPoints.length)); let timeline = ''; let labels = ''; @@ -47,9 +45,7 @@ function buildSeekTimeline(currentTick, ticks) { const isActive = tick === currentTick; if (i > 0) { - const segLen = Math.max(1, Math.floor(MAX_TIMELINE_WIDTH / displayPoints.length)); timeline += colors.muted(TIMELINE.line.repeat(segLen)); - labels += ' '.repeat(segLen); } if (isActive) { @@ -58,8 +54,11 @@ function buildSeekTimeline(currentTick, ticks) { timeline += colors.muted('\u25CB'); // ○ open circle } + // Pad labels so each tick label starts at the same column as its dot const tickLabel = String(tick); - labels += tickLabel; + const targetPos = i * (segLen + 1); + const padNeeded = Math.max(0, targetPos - labels.length); + labels += ' '.repeat(padNeeded) + tickLabel; } // Add pointer line diff --git a/test/unit/domain/WarpGraph.seek.test.js b/test/unit/domain/WarpGraph.seek.test.js index b8b30a2a..b1166164 100644 --- a/test/unit/domain/WarpGraph.seek.test.js +++ b/test/unit/domain/WarpGraph.seek.test.js @@ -332,5 +332,44 @@ describe('WarpGraph.seek (time-travel)', () => { expect(spy).not.toHaveBeenCalled(); }); + + it('cache hit with collectReceipts bypasses cache and returns real receipts', async () => { + const graph = await WarpGraph.open({ + persistence, + graphName: 'test', + writerId: 'w1', + }); + + setupMultiWriterPersistence(persistence, { alice: 3 }); + + // First call: populate the ceiling cache + await graph.materialize({ ceiling: 2 }); + const callCountAfterFirst = persistence.getNodeInfo.mock.calls.length; + + // Second call: same ceiling but with receipts — must NOT use cache + const result = await graph.materialize({ ceiling: 2, receipts: true }); + + expect(result.state).toBeDefined(); + expect(Array.isArray(result.receipts)).toBe(true); + // Must have re-materialized (not returned empty receipts from cache) + const callCountAfterSecond = persistence.getNodeInfo.mock.calls.length; + expect(callCountAfterSecond).toBeGreaterThan(callCountAfterFirst); + }); + + it('explicit ceiling: null overrides _seekCeiling and materializes latest', async () => { + const graph = await WarpGraph.open({ + persistence, + graphName: 'test', + writerId: 'w1', + }); + + setupMultiWriterPersistence(persistence, { alice: 3 }); + + graph._seekCeiling = 1; + // Passing ceiling: null should clear the ceiling, giving us all 3 nodes + const state = await graph.materialize({ ceiling: null }); + + expect(state.nodeAlive.entries.size).toBe(3); + }); }); }); diff --git a/test/unit/visualization/ascii-seek-renderer.test.js b/test/unit/visualization/ascii-seek-renderer.test.js index c80bd8a3..9bde783e 100644 --- a/test/unit/visualization/ascii-seek-renderer.test.js +++ b/test/unit/visualization/ascii-seek-renderer.test.js @@ -149,4 +149,70 @@ describe('renderSeekView', () => { expect(output).toContain('alice'); expect(output).toContain('3 nodes, 2 edges'); }); + + it('does not duplicate tick 0 when ticks already contains 0', () => { + const payload = { + graph: 'zero', + tick: 0, + maxTick: 2, + ticks: [0, 1, 2], + nodes: 0, + edges: 0, + patchCount: 0, + perWriter: {}, + }; + + const output = stripAnsi(renderSeekView(payload)); + + // The timeline should have exactly 3 dots (0, 1, 2) — not 4 (0, 0, 1, 2) + // Extract the timeline line (first line of the timeline block) + const lines = output.split('\n'); + // Count circle/dot characters (● = \u25CF or similar, ○ = \u25CB) + const timelineLine = lines.find((l) => /[●○\u25CB\u25CF]/.test(l)); + if (timelineLine) { + const dotCount = (timelineLine.match(/[●○\u25CB\u25CF]/g) || []).length; + expect(dotCount).toBe(3); + } + }); + + it('multi-digit tick labels stay aligned under their dots', () => { + const payload = { + graph: 'align', + tick: 10, + maxTick: 100, + ticks: [10, 50, 100], + nodes: 5, + edges: 3, + patchCount: 3, + perWriter: { + alice: { ticks: [10, 50, 100], tipSha: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' }, + }, + }; + + const output = stripAnsi(renderSeekView(payload)); + const lines = output.split('\n'); + + // Find the timeline and labels lines + const timelineIdx = lines.findIndex((l) => /[●○\u25CB\u25CF]/.test(l)); + if (timelineIdx >= 0) { + const tl = lines[timelineIdx]; + const lb = lines[timelineIdx + 1]; + + // Each dot in the timeline should have its tick label starting + // at the same character position in the labels line. + // Find positions of dots in the timeline + const dotPositions = []; + for (let c = 0; c < tl.length; c++) { + if (/[●○\u25CB\u25CF]/.test(tl[c])) { + dotPositions.push(c); + } + } + + // For each dot position, the label line should have the start of a number + for (const pos of dotPositions) { + const ch = lb[pos]; + expect(ch).toMatch(/[0-9]/); + } + } + }); }); From 05c4d7dde7340b56a380cbbf6f32505355026a1f Mon Sep 17 00:00:00 2001 From: James Ross Date: Mon, 9 Feb 2026 15:26:53 -0800 Subject: [PATCH 05/13] fix: use --tick= syntax for signed values in BATS seek tests Avoids parser ambiguity where -1 or +1 could be misinterpreted as flags by future CLI parser upgrades. --- CHANGELOG.md | 1 + test/bats/cli-seek.bats | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d2ab06d..0df6b6fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -42,6 +42,7 @@ Adds cursor-based time travel for exploring graph history. Navigate to any Lampo - **Seek timeline duplicate 0**: `buildSeekTimeline` no longer prepends tick 0 when `ticks` already contains it, preventing a duplicate dot in the timeline. - **Seek timeline label drift**: Tick labels now stay vertically aligned under their dots for multi-digit tick values by computing target column positions instead of using fixed-width padding. - **RefLayout docstring**: Added `cursor/active` and `cursor/saved/` to the module-level ref layout listing. +- **BATS seek tests**: Use `--tick=+1` / `--tick=-1` syntax instead of `--tick +1` / `--tick -1` to avoid parser ambiguity with signed numbers. ### Tests diff --git a/test/bats/cli-seek.bats b/test/bats/cli-seek.bats index 249c6912..9f5c66ce 100644 --- a/test/bats/cli-seek.bats +++ b/test/bats/cli-seek.bats @@ -40,7 +40,7 @@ PY run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick 1 assert_success - run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick +1 + run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick=+1 assert_success JSON="$output" python3 - <<'PY' @@ -128,7 +128,7 @@ PY run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick 2 assert_success - run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick -1 + run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick=-1 assert_success JSON="$output" python3 - <<'PY' From d9b08a4b751ab976bfa48a3a4900cb77f0084f77 Mon Sep 17 00:00:00 2001 From: James Ross Date: Mon, 9 Feb 2026 17:50:10 -0800 Subject: [PATCH 06/13] =?UTF-8?q?chore:=20bump=20to=20v10.3.1=20=E2=80=94?= =?UTF-8?q?=20seek=20polish,=20arrowheads=20&=20demo=20GIF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Fix ASCII graph arrowheads being swallowed by node bounding boxes - Add seek demo GIF (docs/seek-demo.gif) showing time-travel with graph topology changes while worktree stays clean - Embed seek demo in README CLI section - Extract op summary renderer into shared module (opSummary.js) - Rework seek ASCII renderer with improved swimlanes and receipts - Add ROADMAP backlog section (structural diff, git-cas cache) - Bump version 10.3.0 → 10.3.1 --- CHANGELOG.md | 18 + README.md | 4 + ROADMAP.md | 12 + bin/warp-graph.js | 392 ++++++++++++++++-- docs/seek-demo.gif | Bin 0 -> 781465 bytes docs/seek-demo.tape | 101 +++++ package.json | 2 +- src/domain/WarpGraph.js | 73 +++- src/domain/utils/RefLayout.js | 61 ++- src/domain/utils/parseCursorBlob.js | 35 +- src/visualization/renderers/ascii/graph.js | 19 +- src/visualization/renderers/ascii/history.js | 67 +-- src/visualization/renderers/ascii/index.js | 2 +- .../renderers/ascii/opSummary.js | 73 ++++ src/visualization/renderers/ascii/seek.js | 318 ++++++++++---- .../ascii-graph-renderer.test.js.snap | 2 +- .../visualization/ascii-op-summary.test.js | 36 ++ .../visualization/ascii-seek-renderer.test.js | 135 ++++-- 18 files changed, 1079 insertions(+), 271 deletions(-) create mode 100644 docs/seek-demo.gif create mode 100644 docs/seek-demo.tape create mode 100644 src/visualization/renderers/ascii/opSummary.js create mode 100644 test/unit/visualization/ascii-op-summary.test.js diff --git a/CHANGELOG.md b/CHANGELOG.md index 0df6b6fd..2888e2bd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,24 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [10.3.1] — 2026-02-09 — Seek polish, arrowheads & demo GIF + +### Added + +- **Seek demo GIF** (`docs/seek-demo.gif`): Animated walkthrough showing `git warp seek` time-travel — graph topology visually changes at each tick while `git status` proves the worktree is untouched. VHS tape at `docs/seek-demo.tape`. +- **README seek demo**: Embedded `seek-demo.gif` in the CLI section below the seek command examples. +- **ROADMAP backlog**: New `## Backlog` section with two future ideas — structural seek diff (`diffStates()`) and git-cas materialization cache. +- **Op summary renderer** (`src/visualization/renderers/ascii/opSummary.js`): Extracted operation summary formatting from history renderer into a shared module used by both history and seek views. + +### Fixed + +- **ASCII graph arrowheads missing**: `drawArrowhead` was silently dropping arrows when the ELK endpoint fell inside a node's bounding box. Now steps back one cell to place the arrowhead just outside the node border. +- **Seek ASCII renderer**: Reworked swimlane dashboard with improved windowing, writer rows, tick receipt display, and op summary formatting. + +### Changed + +- **History renderer**: Extracted `summarizeOps` and `formatOpSummary` into shared modules, reducing duplication between history and seek views. + ## [10.3.0] — 2026-02-09 — Time Travel (`git warp seek`) Adds cursor-based time travel for exploring graph history. Navigate to any Lamport tick, save/load named bookmarks, and see materialized state at any point in time. Existing commands (`info`, `materialize`, `history`, `query`) respect the active cursor. diff --git a/README.md b/README.md index bd2fcf39..6e530e40 100644 --- a/README.md +++ b/README.md @@ -423,6 +423,10 @@ All commands accept `--repo ` to target a specific Git repository, `--json When a seek cursor is active, `query`, `info`, `materialize`, and `history` automatically show state at the selected tick. +

+ git warp seek time-travel demo +

+ ## Architecture The codebase follows hexagonal architecture with ports and adapters: diff --git a/ROADMAP.md b/ROADMAP.md index d6b07fda..89de1a51 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -2439,3 +2439,15 @@ Things this project should not try to become: | ECHO | 3 | 3 | 17 | ~820 | | BULKHEAD | 5 | 15 | 49 | ~2,580 | | **Total** | **40** | **67** | **230** | **~11,510** | + +--- + +## Backlog + +Ideas that don't yet have milestone homes. No estimates, no ordering — just a +parking lot so they aren't forgotten. + +| Idea | Description | +|------|-------------| +| **Structural seek diff** | Full `diffStates()` between arbitrary ticks returning added/removed nodes, edges, and properties — not just count deltas. Would power a `--diff` flag on `git warp seek` showing exactly what changed at each tick. | +| **git-cas materialization cache** | Cache `WarpStateV5` at each visited ceiling tick as content-addressed blobs via `@git-stunts/git-cas`, enabling O(1) restoration for previously-visited ticks during seek exploration. Blobs naturally GC unless pinned to a vault. | diff --git a/bin/warp-graph.js b/bin/warp-graph.js index 158961f5..d4fabc38 100755 --- a/bin/warp-graph.js +++ b/bin/warp-graph.js @@ -1604,6 +1604,15 @@ function getHookStatusForCheck(repoPath) { // Cursor I/O Helpers // ============================================================================ +/** + * Reads the active seek cursor for a graph from Git ref storage. + * + * @private + * @param {Object} persistence - GraphPersistencePort adapter + * @param {string} graphName - Name of the WARP graph + * @returns {Promise<{tick: number, mode?: string}|null>} Cursor object, or null if no active cursor + * @throws {Error} If the stored blob is corrupted or not valid JSON + */ async function readActiveCursor(persistence, graphName) { const ref = buildCursorActiveRef(graphName); const oid = await persistence.readRef(ref); @@ -1614,6 +1623,18 @@ async function readActiveCursor(persistence, graphName) { return parseCursorBlob(buf, 'active cursor'); } +/** + * Writes (creates or overwrites) the active seek cursor for a graph. + * + * Serializes the cursor as JSON, stores it as a Git blob, and points + * the active cursor ref at that blob. + * + * @private + * @param {Object} persistence - GraphPersistencePort adapter + * @param {string} graphName - Name of the WARP graph + * @param {{tick: number, mode?: string}} cursor - Cursor state to persist + * @returns {Promise} + */ async function writeActiveCursor(persistence, graphName, cursor) { const ref = buildCursorActiveRef(graphName); const json = JSON.stringify(cursor); @@ -1621,6 +1642,16 @@ async function writeActiveCursor(persistence, graphName, cursor) { await persistence.updateRef(ref, oid); } +/** + * Removes the active seek cursor for a graph, returning to present state. + * + * No-op if no active cursor exists. + * + * @private + * @param {Object} persistence - GraphPersistencePort adapter + * @param {string} graphName - Name of the WARP graph + * @returns {Promise} + */ async function clearActiveCursor(persistence, graphName) { const ref = buildCursorActiveRef(graphName); const exists = await persistence.readRef(ref); @@ -1629,6 +1660,16 @@ async function clearActiveCursor(persistence, graphName) { } } +/** + * Reads a named saved cursor from Git ref storage. + * + * @private + * @param {Object} persistence - GraphPersistencePort adapter + * @param {string} graphName - Name of the WARP graph + * @param {string} name - Saved cursor name + * @returns {Promise<{tick: number, mode?: string}|null>} Cursor object, or null if not found + * @throws {Error} If the stored blob is corrupted or not valid JSON + */ async function readSavedCursor(persistence, graphName, name) { const ref = buildCursorSavedRef(graphName, name); const oid = await persistence.readRef(ref); @@ -1639,6 +1680,19 @@ async function readSavedCursor(persistence, graphName, name) { return parseCursorBlob(buf, `saved cursor '${name}'`); } +/** + * Persists a cursor under a named saved-cursor ref. + * + * Serializes the cursor as JSON, stores it as a Git blob, and points + * the named saved-cursor ref at that blob. + * + * @private + * @param {Object} persistence - GraphPersistencePort adapter + * @param {string} graphName - Name of the WARP graph + * @param {string} name - Saved cursor name + * @param {{tick: number, mode?: string}} cursor - Cursor state to persist + * @returns {Promise} + */ async function writeSavedCursor(persistence, graphName, name, cursor) { const ref = buildCursorSavedRef(graphName, name); const json = JSON.stringify(cursor); @@ -1646,6 +1700,17 @@ async function writeSavedCursor(persistence, graphName, name, cursor) { await persistence.updateRef(ref, oid); } +/** + * Deletes a named saved cursor from Git ref storage. + * + * No-op if the named cursor does not exist. + * + * @private + * @param {Object} persistence - GraphPersistencePort adapter + * @param {string} graphName - Name of the WARP graph + * @param {string} name - Saved cursor name to delete + * @returns {Promise} + */ async function deleteSavedCursor(persistence, graphName, name) { const ref = buildCursorSavedRef(graphName, name); const exists = await persistence.readRef(ref); @@ -1654,6 +1719,15 @@ async function deleteSavedCursor(persistence, graphName, name) { } } +/** + * Lists all saved cursors for a graph, reading each blob to include full cursor state. + * + * @private + * @param {Object} persistence - GraphPersistencePort adapter + * @param {string} graphName - Name of the WARP graph + * @returns {Promise>} Array of saved cursors with their names + * @throws {Error} If any stored blob is corrupted or not valid JSON + */ async function listSavedCursors(persistence, graphName) { const prefix = buildCursorSavedPrefix(graphName); const refs = await persistence.listRefs(prefix); @@ -1676,6 +1750,18 @@ async function listSavedCursors(persistence, graphName) { // Seek Arg Parser // ============================================================================ +/** + * Parses CLI arguments for the `seek` command into a structured spec. + * + * Supports mutually exclusive actions: `--tick `, `--latest`, + * `--save `, `--load `, `--list`, `--drop `. + * Defaults to `status` when no flags are provided. + * + * @private + * @param {string[]} args - Raw CLI arguments following the `seek` subcommand + * @returns {{action: string, tickValue: string|null, name: string|null}} Parsed spec + * @throws {CliError} If arguments are invalid or flags are combined + */ function parseSeekArgs(args) { const spec = { action: 'status', // status, tick, latest, save, load, list, drop @@ -1755,12 +1841,19 @@ function parseSeekArgs(args) { } /** - * Resolves a tick value (absolute, relative +N/-N) against available ticks. - * @param {string} tickValue - Raw tick value from args - * @param {number|null} currentTick - Current cursor tick (null if no cursor) - * @param {number[]} ticks - Sorted array of available ticks - * @param {number} maxTick - Maximum tick - * @returns {number} Resolved tick value + * Resolves a tick value (absolute or relative +N/-N) against available ticks. + * + * For relative values, steps through the sorted tick array (with 0 prepended + * as a virtual "empty state" position) by the given delta from the current + * position. For absolute values, clamps to maxTick. + * + * @private + * @param {string} tickValue - Raw tick string from CLI args (e.g. "5", "+1", "-2") + * @param {number|null} currentTick - Current cursor tick, or null if no active cursor + * @param {number[]} ticks - Sorted ascending array of available Lamport ticks + * @param {number} maxTick - Maximum tick across all writers + * @returns {number} Resolved tick value (clamped to valid range) + * @throws {CliError} If tickValue is not a valid integer or relative delta */ function resolveTickValue(tickValue, currentTick, ticks, maxTick) { // Relative: +N or -N @@ -1794,13 +1887,30 @@ function resolveTickValue(tickValue, currentTick, ticks, maxTick) { // Seek Handler // ============================================================================ +/** + * Handles the `git warp seek` command across all sub-actions. + * + * Dispatches to the appropriate logic based on the parsed action: + * - `status`: show current cursor position or "no cursor" state + * - `tick`: set the cursor to an absolute or relative Lamport tick + * - `latest`: clear the cursor, returning to present state + * - `save`: persist the active cursor under a name + * - `load`: restore a named cursor as the active cursor + * - `list`: enumerate all saved cursors + * - `drop`: delete a named saved cursor + * + * @private + * @param {Object} params - Command parameters + * @param {Object} params.options - CLI options (repo, graph, writer, json) + * @param {string[]} params.args - Raw CLI arguments following the `seek` subcommand + * @returns {Promise<{payload: Object, exitCode: number}>} Command result with payload and exit code + * @throws {CliError} On invalid arguments or missing cursors + */ async function handleSeek({ options, args }) { const seekSpec = parseSeekArgs(args); const { graph, graphName, persistence } = await openGraph(options); - const activeCursor = await readActiveCursor(persistence, graphName); const { ticks, maxTick, perWriter } = await graph.discoverTicks(); - if (seekSpec.action === 'list') { const saved = await listSavedCursors(persistence, graphName); return { @@ -1814,7 +1924,6 @@ async function handleSeek({ options, args }) { exitCode: EXIT_CODES.OK, }; } - if (seekSpec.action === 'drop') { const existing = await readSavedCursor(persistence, graphName, seekSpec.name); if (!existing) { @@ -1831,12 +1940,13 @@ async function handleSeek({ options, args }) { exitCode: EXIT_CODES.OK, }; } - if (seekSpec.action === 'latest') { await clearActiveCursor(persistence, graphName); await graph.materialize(); const nodes = await graph.getNodes(); const edges = await graph.getEdges(); + const diff = computeSeekStateDiff(activeCursor, { nodes: nodes.length, edges: edges.length }); + const tickReceipt = await buildTickReceipt({ tick: maxTick, perWriter, graph }); return { payload: { graph: graphName, @@ -1848,12 +1958,13 @@ async function handleSeek({ options, args }) { edges: edges.length, perWriter: serializePerWriter(perWriter), patchCount: countPatchesAtTick(maxTick, perWriter), + diff, + tickReceipt, cursor: { active: false }, }, exitCode: EXIT_CODES.OK, }; } - if (seekSpec.action === 'save') { if (!activeCursor) { throw usageError('No active cursor to save. Use --tick first.'); @@ -1869,17 +1980,24 @@ async function handleSeek({ options, args }) { exitCode: EXIT_CODES.OK, }; } - if (seekSpec.action === 'load') { const saved = await readSavedCursor(persistence, graphName, seekSpec.name); if (!saved) { throw notFoundError(`Saved cursor not found: ${seekSpec.name}`); } - await writeActiveCursor(persistence, graphName, saved); graph._seekCeiling = saved.tick; await graph.materialize(); const nodes = await graph.getNodes(); const edges = await graph.getEdges(); + const nextCursor = { + tick: saved.tick, + mode: saved.mode ?? 'lamport', + nodes: nodes.length, + edges: edges.length, + }; + await writeActiveCursor(persistence, graphName, nextCursor); + const diff = computeSeekStateDiff(activeCursor, { nodes: nodes.length, edges: edges.length }); + const tickReceipt = await buildTickReceipt({ tick: saved.tick, perWriter, graph }); return { payload: { graph: graphName, @@ -1892,21 +2010,24 @@ async function handleSeek({ options, args }) { edges: edges.length, perWriter: serializePerWriter(perWriter), patchCount: countPatchesAtTick(saved.tick, perWriter), + diff, + tickReceipt, cursor: { active: true, mode: saved.mode, tick: saved.tick, maxTick, name: seekSpec.name }, }, exitCode: EXIT_CODES.OK, }; } - if (seekSpec.action === 'tick') { const currentTick = activeCursor ? activeCursor.tick : null; const resolvedTick = resolveTickValue(seekSpec.tickValue, currentTick, ticks, maxTick); - const cursor = { tick: resolvedTick, mode: 'lamport' }; - await writeActiveCursor(persistence, graphName, cursor); graph._seekCeiling = resolvedTick; await graph.materialize(); const nodes = await graph.getNodes(); const edges = await graph.getEdges(); + const cursor = { tick: resolvedTick, mode: 'lamport', nodes: nodes.length, edges: edges.length }; + await writeActiveCursor(persistence, graphName, cursor); + const diff = computeSeekStateDiff(activeCursor, { nodes: nodes.length, edges: edges.length }); + const tickReceipt = await buildTickReceipt({ tick: resolvedTick, perWriter, graph }); return { payload: { graph: graphName, @@ -1918,6 +2039,8 @@ async function handleSeek({ options, args }) { edges: edges.length, perWriter: serializePerWriter(perWriter), patchCount: countPatchesAtTick(resolvedTick, perWriter), + diff, + tickReceipt, cursor: { active: true, mode: 'lamport', tick: resolvedTick, maxTick, name: 'active' }, }, exitCode: EXIT_CODES.OK, @@ -1930,6 +2053,18 @@ async function handleSeek({ options, args }) { await graph.materialize(); const nodes = await graph.getNodes(); const edges = await graph.getEdges(); + const prevCounts = readSeekCounts(activeCursor); + if (prevCounts.nodes === null || prevCounts.edges === null || prevCounts.nodes !== nodes.length || prevCounts.edges !== edges.length) { + const nextCursor = { + tick: activeCursor.tick, + mode: activeCursor.mode ?? 'lamport', + nodes: nodes.length, + edges: edges.length, + }; + await writeActiveCursor(persistence, graphName, nextCursor); + } + const diff = computeSeekStateDiff(activeCursor, { nodes: nodes.length, edges: edges.length }); + const tickReceipt = await buildTickReceipt({ tick: activeCursor.tick, perWriter, graph }); return { payload: { graph: graphName, @@ -1941,12 +2076,17 @@ async function handleSeek({ options, args }) { edges: edges.length, perWriter: serializePerWriter(perWriter), patchCount: countPatchesAtTick(activeCursor.tick, perWriter), + diff, + tickReceipt, cursor: { active: true, mode: activeCursor.mode, tick: activeCursor.tick, maxTick, name: 'active' }, }, exitCode: EXIT_CODES.OK, }; } - + await graph.materialize(); + const nodes = await graph.getNodes(); + const edges = await graph.getEdges(); + const tickReceipt = await buildTickReceipt({ tick: maxTick, perWriter, graph }); return { payload: { graph: graphName, @@ -1954,24 +2094,41 @@ async function handleSeek({ options, args }) { tick: maxTick, maxTick, ticks, - nodes: 0, - edges: 0, + nodes: nodes.length, + edges: edges.length, perWriter: serializePerWriter(perWriter), - patchCount: 0, + patchCount: countPatchesAtTick(maxTick, perWriter), + diff: null, + tickReceipt, cursor: { active: false }, }, exitCode: EXIT_CODES.OK, }; } +/** + * Converts the per-writer Map from discoverTicks() into a plain object for JSON output. + * + * @private + * @param {Map} perWriter - Per-writer tick data + * @returns {Object} Plain object keyed by writer ID + */ function serializePerWriter(perWriter) { const result = {}; for (const [writerId, info] of perWriter) { - result[writerId] = { ticks: info.ticks, tipSha: info.tipSha }; + result[writerId] = { ticks: info.ticks, tipSha: info.tipSha, tickShas: info.tickShas }; } return result; } +/** + * Counts the total number of patches across all writers at or before the given tick. + * + * @private + * @param {number} tick - Lamport tick ceiling (inclusive) + * @param {Map} perWriter - Per-writer tick data + * @returns {number} Total patch count at or before the given tick + */ function countPatchesAtTick(tick, perWriter) { let count = 0; for (const [, info] of perWriter) { @@ -1984,7 +2141,154 @@ function countPatchesAtTick(tick, perWriter) { return count; } +/** + * Reads cached seek state counts from a cursor blob. + * + * Counts may be missing for older cursors (pre-diff support). In that case + * callers should treat the counts as unknown and suppress diffs. + * + * @private + * @param {Object|null} cursor - Parsed cursor blob object + * @returns {{nodes: number|null, edges: number|null}} Parsed counts + */ +function readSeekCounts(cursor) { + if (!cursor || typeof cursor !== 'object') { + return { nodes: null, edges: null }; + } + + const nodes = typeof cursor.nodes === 'number' && Number.isFinite(cursor.nodes) ? cursor.nodes : null; + const edges = typeof cursor.edges === 'number' && Number.isFinite(cursor.edges) ? cursor.edges : null; + return { nodes, edges }; +} + +/** + * Computes node/edge deltas between the current seek position and the previous cursor. + * + * Returns null if the previous cursor is missing cached counts. + * + * @private + * @param {Object|null} prevCursor - Cursor object read before updating the position + * @param {{nodes: number, edges: number}} next - Current materialized counts + * @returns {{nodes: number, edges: number}|null} Diff object or null when unknown + */ +function computeSeekStateDiff(prevCursor, next) { + const prev = readSeekCounts(prevCursor); + if (prev.nodes === null || prev.edges === null) { + return null; + } + return { + nodes: next.nodes - prev.nodes, + edges: next.edges - prev.edges, + }; +} + +/** + * Builds a per-writer operation summary for patches at an exact tick. + * + * Uses discoverTicks() tickShas mapping to locate patch SHAs, then loads and + * summarizes patch ops. Typically only a handful of writers have a patch at any + * single Lamport tick. + * + * @private + * @param {Object} params + * @param {number} params.tick - Lamport tick to summarize + * @param {Map} params.perWriter - Per-writer tick metadata from discoverTicks() + * @param {Object} params.graph - WarpGraph instance + * @returns {Promise|null>} Map of writerId → opSummary, or null if empty + */ +async function buildTickReceipt({ tick, perWriter, graph }) { + if (!Number.isInteger(tick) || tick <= 0) { + return null; + } + + const receipt = {}; + + for (const [writerId, info] of perWriter) { + const sha = info?.tickShas?.[tick]; + if (!sha) { + continue; + } + + const patch = await graph.loadPatchBySha(sha); + const ops = Array.isArray(patch?.ops) ? patch.ops : []; + receipt[writerId] = summarizeOps(ops); + } + + return Object.keys(receipt).length > 0 ? receipt : null; +} + +/** + * Renders a seek command payload as a human-readable string for terminal output. + * + * Handles all seek actions: list, drop, save, latest, load, tick, and status. + * + * @private + * @param {Object} payload - Seek result payload from handleSeek + * @returns {string} Formatted output string (includes trailing newline) + */ function renderSeek(payload) { + const formatDelta = (n) => { + if (typeof n !== 'number' || !Number.isFinite(n) || n === 0) { + return ''; + } + const sign = n > 0 ? '+' : ''; + return ` (${sign}${n})`; + }; + + const formatOpSummaryPlain = (summary) => { + const order = [ + ['NodeAdd', '+', 'node'], + ['EdgeAdd', '+', 'edge'], + ['PropSet', '~', 'prop'], + ['NodeTombstone', '-', 'node'], + ['EdgeTombstone', '-', 'edge'], + ['BlobValue', '+', 'blob'], + ]; + + const parts = []; + for (const [opType, symbol, label] of order) { + const n = summary?.[opType]; + if (typeof n === 'number' && Number.isFinite(n) && n > 0) { + parts.push(`${symbol}${n}${label}`); + } + } + return parts.length > 0 ? parts.join(' ') : '(empty)'; + }; + + const appendReceiptSummary = (baseLine) => { + const tickReceipt = payload?.tickReceipt; + if (!tickReceipt || typeof tickReceipt !== 'object') { + return `${baseLine}\n`; + } + + const entries = Object.entries(tickReceipt) + .filter(([writerId, summary]) => writerId && summary && typeof summary === 'object') + .sort(([a], [b]) => a.localeCompare(b)); + + if (entries.length === 0) { + return `${baseLine}\n`; + } + + const maxWriterLen = Math.max(5, ...entries.map(([writerId]) => writerId.length)); + const receiptLines = [` Tick ${payload.tick}:`]; + for (const [writerId, summary] of entries) { + receiptLines.push(` ${writerId.padEnd(maxWriterLen)} ${formatOpSummaryPlain(summary)}`); + } + + return `${baseLine}\n${receiptLines.join('\n')}\n`; + }; + + const buildStateStrings = () => { + const nodeLabel = payload.nodes === 1 ? 'node' : 'nodes'; + const edgeLabel = payload.edges === 1 ? 'edge' : 'edges'; + const patchLabel = payload.patchCount === 1 ? 'patch' : 'patches'; + return { + nodesStr: `${payload.nodes} ${nodeLabel}${formatDelta(payload.diff?.nodes)}`, + edgesStr: `${payload.edges} ${edgeLabel}${formatDelta(payload.diff?.edges)}`, + patchesStr: `${payload.patchCount} ${patchLabel}`, + }; + }; + if (payload.action === 'list') { if (payload.cursors.length === 0) { return 'No saved cursors.\n'; @@ -2006,32 +2310,49 @@ function renderSeek(payload) { } if (payload.action === 'latest') { - return `${payload.graph}: returned to present (tick ${payload.maxTick}, ${payload.nodes} nodes, ${payload.edges} edges)\n`; + const { nodesStr, edgesStr } = buildStateStrings(); + return appendReceiptSummary( + `${payload.graph}: returned to present (tick ${payload.maxTick}, ${nodesStr}, ${edgesStr})`, + ); } if (payload.action === 'load') { - return `${payload.graph}: loaded cursor "${payload.name}" at tick ${payload.tick} of ${payload.maxTick} (${payload.nodes} nodes, ${payload.edges} edges)\n`; + const { nodesStr, edgesStr } = buildStateStrings(); + return appendReceiptSummary( + `${payload.graph}: loaded cursor "${payload.name}" at tick ${payload.tick} of ${payload.maxTick} (${nodesStr}, ${edgesStr})`, + ); } if (payload.action === 'tick') { - return `${payload.graph}: tick ${payload.tick} of ${payload.maxTick} (${payload.nodes} nodes, ${payload.edges} edges, ${payload.patchCount} patches)\n`; + const { nodesStr, edgesStr, patchesStr } = buildStateStrings(); + return appendReceiptSummary( + `${payload.graph}: tick ${payload.tick} of ${payload.maxTick} (${nodesStr}, ${edgesStr}, ${patchesStr})`, + ); } // status if (payload.cursor && payload.cursor.active) { - return `${payload.graph}: tick ${payload.tick} of ${payload.maxTick} (${payload.nodes} nodes, ${payload.edges} edges, ${payload.patchCount} patches)\n`; + const { nodesStr, edgesStr, patchesStr } = buildStateStrings(); + return appendReceiptSummary( + `${payload.graph}: tick ${payload.tick} of ${payload.maxTick} (${nodesStr}, ${edgesStr}, ${patchesStr})`, + ); } return `${payload.graph}: no cursor active, ${payload.ticks.length} ticks available\n`; } /** - * Reads the active cursor and sets _seekCeiling on the graph instance. - * Call this for commands that should respect the seek cursor. + * Reads the active cursor and sets `_seekCeiling` on the graph instance + * so that subsequent materialize calls respect the time-travel boundary. + * + * Called by non-seek commands (query, path, check, etc.) that should + * honour an active seek cursor. + * + * @private * @param {Object} graph - WarpGraph instance - * @param {Object} persistence - Persistence adapter - * @param {string} graphName - Graph name - * @returns {Promise<{active: boolean, tick: number|null, maxTick: number|null}>} + * @param {Object} persistence - GraphPersistencePort adapter + * @param {string} graphName - Name of the WARP graph + * @returns {Promise<{active: boolean, tick: number|null, maxTick: number|null}>} Cursor info (maxTick is always null here; callers populate it) */ async function applyCursorCeiling(graph, persistence, graphName) { const cursor = await readActiveCursor(persistence, graphName); @@ -2043,9 +2364,14 @@ async function applyCursorCeiling(graph, persistence, graphName) { } /** - * Prints a seek cursor warning banner to stderr. - * @param {Object} cursorInfo - From applyCursorCeiling - * @param {number|null} maxTick - Max tick (from discoverTicks or null) + * Prints a seek cursor warning banner to stderr when a cursor is active. + * + * No-op if the cursor is not active. + * + * @private + * @param {{active: boolean, tick: number|null, maxTick: number|null}} cursorInfo - Result from applyCursorCeiling + * @param {number|null} maxTick - Maximum Lamport tick (from discoverTicks), or null if unknown + * @returns {void} */ function emitCursorWarning(cursorInfo, maxTick) { if (cursorInfo.active) { diff --git a/docs/seek-demo.gif b/docs/seek-demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..c46d4e6e6cbef43e55b043feadbde57c4df56bd6 GIT binary patch literal 781465 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⁣f6kL;QwpU4qVlP#h<6M0asJt~I6I_fgcIZi^D!+uw32qs8 z4)Uu08vgfMp_iIO_IP!ZI(2_{e&^sTvneN%C?_;|rs&=)Ba6zwTyfVw??#GIcCcjQ zfAg>9Td%!b__($ZN1y+VT6ioZ=f>wPKEuPEw JGbZ8$72a|ydS)hft53k8|54r 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 m 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

`dX{QmPy!@B;RdBg&YxCWS@7I<47FA+5k zgI6e+bko|OUEb;;*lok`6#|EC_n0Z1UKQxD;b2A>be2p@Lcx5~CDT`-UmT_01hc|k zK#z)%VgYSG7q%xH{^JKUW1N|i&dP*K9#4X*=G;Bi=5o^>mN_n_O`-ih63GCVclw#k zacEoI8OeE;dKf_uei1Cq%p^QYT4Kdn0F`GT=~-8ftU@DIXhDIngq*^?OR#8ZkCIvP z`c5NnJd?tMIAY*v6-YQ2RKhOUYjG)Z3l^zT5M9XJKf}m0qI+`K%I(rYA__E#TdqF-ezPN^gAykHF8jUP_WK=(5TgC(P5c*}{1<)4daG{q z#rRuij0yAo-`Dwnj#8Z)Kzu@>+>(^#Y zPvFiaz|OVB(zf9Gjoks;BLPcm=SWAM=Qva!cL)&SlmI&d|2U0r&$fP@#g;cTAC+qG zmk$763j8+EaB63Rk9O-HMb&`DK-nAPey;E=b9$Rr7#>_qE!)Pl9y(#x#ze)9P$p%up|BnD|O-R^Ju8 z6XK63Fi=Sj-e{M>UZ^s<5o|F!YV2n$M-SBa%+<7-kiJp%TROz<{cvr~wQty+Ioj8} zfr0k_nCezvReCyR_vb~))b;lR{&#lDx*&_oX=hB%ND&V0_7t7mO)lB(b!oTvjom&E zcKeR*_8T45=3c+A(fUg}|9xhp__sa-pt{aAi0?fiKaa6B_xzQl|=< zT?igiV1-bO)+~V$T-M$y>pDK2!iL1`xN#a)F#UrUSu!oO0%izd6tM=#gGCL?1$&9> zf*$p7XbOfBipKB=Qwcd^IHbu!6)(XXpea;Yd=98Xb@_&d5OL;2~AR|wNL5ESY;;V40&*9=7ximn7dBT zFmYT~yx7X!gd9ad?8^(1xX@F0NXjo7_YU*K|AkeVaj$7r>a4^t4~o#Yjw1o0gHj?` z;s?9>jF{$yQpTa_IR%O_pa?OSI}A(VFey~V-II|YPPTU+Vx|@{HQHG0leFl<3Ud@B zo63|6l+sBDrI1;!q8LV$TA{iHN~=#NoJ=$C?j;DB2RQj+3RoQvJ!ZjRypnjUXKKx5 z*pIV9xpih@+7)i^$Ys21ln546y5j(ou!6mC#Va$k_(GO*jzo5mP?=XSY){*@3O&^3 zU_Ap$;Idq+7(L1Rcie36E?`D=GLCZ!7+0WaWUz9M#G!HMSij^O?Q+!(2nWsWIb86zz+3No?;fVVVoswx{R{sG(m{63LrP zMbU@3U1V1L<`p^24P^_~qA3sw=UBpbiH9}`&gA@CV3^I?8fBV~Gb!Bb>cY5CQ@UCA zAiRPTI?ghklFhX{{w8QubJkk z_9k6tF#hSt{#Rrc)aR@gz95IfJj%^C^QLV!7I<*-U8$fK?DNrWN-1%PXU8lL{snql zuuf4SM(MP8GAu$oY5*PT<1=YiFgvn@SXIW{r;!Kp)m6mSD@1LHepIxP5cmNabT>N3 z<3LFcJ?lf9h_8yq!?Zmx7aG9{TrdFMm$P~Bye;r(8!Wl4Md3@q5iSIo0}RJRvNt6n zx>+8DaJB1{+cGBa73^RAgmKnwl53d}wvd_7S7tc{Io-^wHnr_0F!{wVo@|==rX8Nk zjOXP`Hb^AjmpC9~nq&A{IrQl}%u^g!3dX5E1)2dzMeuvUwm@#3=}P@u1sBJ9#zYRy8P=>KVIv zLwhq{OsU2%F*-~4B?PkE*fC=#@|{vDW`SqK4Vm4?pxJ$gK+(pi^XHXg?kh50${Et4 zHue|(Yw>MfIzvMu{r&y(D%_N3N<3pOE3D&%s)W43ngZZviZM+thjy`BVuv}czr9F< z%%X6Yp#e0Qc~af|Rr$7WAko^q37wD*3l7_ZarqAVqZSsJsC)Pb_z&%T`VphcM|R%& zj%|<(Ob#)AcjU?BS(A^gq{n3zACFkQ^jF=XU7`A8NpZ^R@Q>e^R@li4g8M2BIamKH ze(oOEyf9H)eI(Px;Cy$(HOI2at-9u4`PVwQ7hFWq>vpn1Hdnmy&#NpS2ZzOG`LvdK z*@gHdkN+K6_Yq~eBD0h=f{wXf102XS_~%Gq^iluGK+S@6Z>^oRpZ&edRBR3&jXG>l zWLc@~hXvj+iV*2W9?Xm~&xZX8)_y#`S$Fgc%2@vAM5Nt@&wuOthc2kRfBwy=GUj4- zeCvj@!OxY9pKDVahdypZ9n3bp6%baIWmuw19QxsAcP#g!VT{XeziURzxke#FSC2m* z!<`NUT{=cP-A>iYVFcWuyW|v@n}$Z`usOn#LNsG@cimy* znT{^)bdcC@m23MtwUy4u0oqpi6z$AU90y-`R2GK3aykeaVlhou8R;X_Lb$WPyp^iQ zi?qpN#Ts&EZzao*wyTOU%Bv<*nQjCb9TkwGrdLgLwHBtS@|P-p30U=|sm{eIsBNqB zR@uv#?{v1pEZMT#;CA?Rglg57huvG-o2s^$ZMq>49|k=;dt%B}G6)Y1{qvT+o`J?d za`DX6hqCrqW{|~^HNJ#jIxFR0!~M$z=#C;p^6S0ah{S?|k-+1O9El_{i`2GRasT&T zj_qN5L5b9txP2soI%_(Sac8fpUE5rx=)OeIIMV~5?1TFABIe$KoRbxpQ?K74Dk#wQ zX1xkbLCUb4#+g&y2;qIgnb(xl)J=nQ44>{%k5d2noXls+XvsHsNY&_}!6h-dx}*Pg zDxh5G(nd#gy~?d9!}z(lA)bL_R2?}sW3EVHX!?O+c_UfQ@k8?!{M!5w0c|kY?wwyS zr+_vHY3}9+a^zHvqJ(72pL1o3=98vAL9T;S+UA@|mFiGEA6mdEUU9^f@t#}2qGoOn zD7pN!UqF`qj-*eIv@M#>_*nM4N3)IkP8#brt-a~SKb_1WE+j|NYC~-|ia;Np_7Yoj zL$(_;{^6M4m9KbN>=%8p@?MR|-Eq9|Lyb}4)`d@d1{2th^3@A>rNecZcEP;de?C5W zq)}O_QG4-5z{mcFFIJq56*oQKSehfY8&nh5Xtg0TbDr0nN*ks;S;zeTzWY)2Tk9d! z$GMTx|9q$QpC9}8l&JoEY*d0`zLb2C-V{MW{j}TdbK(M5U^lxxelc8ceAUM}S|w;e za~sTXcNxf9E6;zK5RVPr^Bz)5+IR9waah8xpnPfb=H|JQz&i%x5m){!0IlBlX@gD| z2YE8&Mu#(pPwQp8x^gl4uTGKSUGk4-S@l0Big3?#kC5cjhP6xZ|G9xmtY$~C{yt0BD98MOxVeLm_~JH-L4LTdaVAK;YsyF} zN9$iU+-ef606!}Ex}yj;8hCD6p#uG)$fCq89zi;Rjz{2VgiL9)N0>pIRk=z87@bhB zQ`R~#lMzeu;59rqa!)-M^`>ccv0Z&} z*NZLxk*Oivme$`A<$a%!DIX7p`&6xW?v@K+JCvBFb$dRsdZChXh-5XcEvsK8Jsf=Y ztJ#lXtIXLVab(Xa&hX*ZclDA-X$tuu{byvxGtHF)Qb?n>QG%~Bi8GxCEq`!kLY%u} z8f48^kJ!M>C%P9(TOaU(24us0!6hbehy1H8b;qSX%VhRxBTP=59SM9k!RsF+T)p{v z=TS4%kI|i0vmCGMyotaH)3?z=sS>C^naG#sa*B_;Eug2xIg~Z=k|zl| z_T%X=(}(GdkSKxrZz@zN>K-eRs-yWI`!X)VpeaGUN;zFl`YGQ*c-b&?9jFUHFLatFzj9e-@!%|~W}<6X>zOuNr} zRqT8hir$IKr}eFw(bPb+IMGGstOe_L5JP>1?V+60RJ!x8I17REu2P8(@oD$gnlK!^ zDbtDYP%E?m8WBg+_NZ8+1ynYz-~#Zx^C4k*RuoNu8!R74q0B=kjCE~XyAhR64RWH7 zO&++7a+|_#q4Gl5AvN>oHr`)|h2O?dB)$ z+fOl+0=ikI6|dM@s4wb2s#x2cIi^+~Q3alW~ie#&huJM%0 zFxhPfG~qR%)a~6c8{KEiv3kRLV1uQyTEGn}KX65}#H*P>jEq+s!Z{HRKtlCdP zXX4##bvMh+m*-GTCT`dfwzprgj(R4~4erUgb6|v|lxk7nu)jewybYw5jxTU%lLMOI z7#f-EL43A_Ou{xm;rEij{4)`B$d|-UTmqqI@cBfc03}syQ7rMC93|SXn2fTvb3t&P+$7NI87`gl*>>uw;S^9I5d!2m^Lk&1GbyA1P0VBpetfPxb;}pX(6w!AV)%P zwga&qW!yS%!E#<{B`|qdRKfVr&a7Xu`(L-4;x@r}(Nr%h$3IbKdKD^@zAB}kY%1;+ ztfTi3TO#jPrZGE1!gQ9)C~r3*#$!CSKLC)Y@_u0F&_l*gbN$ilSoK*BUp7Gk$=n90 z?P{i(tYn;B!7bt+R0%W-CtzvSv7=|WBpmqo%)l5{^Y?-h4G}B82R+ypDl__+T$yKH zmC|SUpmGdWwrr9rcx3@%`5h0lMlGNM@E#4AxO_9p-cxT21Tw=_{RG{9weLCngCxh- zlYarQG62h7W)9k4V;eWR2~1zWvNd>n?snZV{qax?B)E|@nq%URFUJrQFWbERo=uLp z6YJ)muFvHc zFig(`%Xeiev+$R1XtjUkFoqWZum|j+Sjz-YTOkMBC63otDQd z70Ckia_SlVJrfYIwt(&=+nX+D+zJSeH_V)Y>Cthl6T`se3d2}ZeGH4dtgY2m2-aij zuPQD!4M!3?%|R8ViJ}-+#TQ&yM|G}DcvYMX0RH5?GZqo4>uFtM;b|S^Q^kvDD(z|1q z0e~pkY&k`l?SJ_N1G4MWSAIyFd`2n{Y9Io$A`k(I{)_)ycJz!snKr`&v{RxZX%EMH|JP_%`H_WRm&LXDWi8}8zXCUr++fLs_ zkz{g1z7)nr_`>aQK$&7H=g+g}U#V7Mpb2-z(Pe=Puiq|90(@q~rI=?Qc_P8-tV-8u?b_?yY&3k$=7sN4Fbu~kC8ffCd_sb49gwt4aHwL~ zgb8qMATtj9VvLW2A&9gt0a$tKkXrNHH{6z07X zm`w?Svb~}$!eZeA$YP*lA5g|Z=o~{YRdkcf;yY}=+6{k8{t8A@Tzk4+>n1VecRWS< z&d)5>J^4d-?0aq>22^_cOq0V*NS-@zL{|BDgX%29JL8Hix<4@rWLH(G)+vaz$T#>T z83YD?3cVm#Om#$)tZkoI<_V1Yn7AsC(!gsw90{&MJL5Ypx{@d1ND#27Xu#)cBxn=hT1vD-j#RM-;zDC@MM&B^|>DRF)a~fkQHVK*!ku!>|^TkgC5( z(p?^keL`3XIv_bxromw$mR%h%4E_w z{E6>F2F(o9VV*3m-&vR5`qn+emejcM9+%@L*Zo9RvEM07prhEobD1>nWndH7dQ^#G zVe-#&BT(tTMPd6u;jxLglgkp7Bo1DyK$tM>ot|UsKsMyZJs6Txb5Zx=nTbE7l*;<( z^*E>9X9>c&Lmxh*y*=0yT5p@9G`xf8KxV{#TH0AmvK|LmcYsi(zPh{U2p-M0&-Fa& z`qfD}yJ4O}-a$j9OF8v%J0k>-Ov*&Yje4DKBnR+w$rYmWaKE6c&Y~h&%8B+&W%g93 zdMKADuSS$ymM}7LmnxoAsNmUZevJJ}unw2&)TP^z8Hi>Aw$L?xnTl&;?2sHlU`P(l zno4d0t72WFtf$DRNT=>GgIq??gMR0kXRh0VhY12~egtW1sbpnHA<%QhtBO#J)&C1P zx_uEZmfgmAI=jJfqjhn*K$msCX9XelH4Umr$LD}5lZ`GOPm;@%z%`yX&3WNz63)6$ z&{CO!#~@4t`z4D3daIy!+W_1cAI{?&b`#xbv&t54FZqL9q(6V>3hw$rI#=6!sI$A! z0yd}FWaDL4xA4$`3@46W@Cwf+kMvwh6YndKE#_M;lHSw=KJW&q zqm_u*3+>7Kv=;@&F=poLJBuYv_{jo~$~Oj!jSewDrLY%n=2{4;;2=V9A}RM z;bq^c0ZFpJZsv?3&Rr`|U{CROAPAmLml}41Yuy5lPA z5E;NrC!Fi_+~J@XkvKy}KpEdIfudDLH;hfLRf4Ju`|-m9@yo{gk8AV{(Oyvs83=Oh z7TC8j94i?5!*#eA`UMoo1_ecq1N6akqeX#=38tf&v5UY^eoDXwG90OpdsOg;2W7wp zcy=7n;xZ$kWYjDSWNIr=AqdPl$@bd}Lw2ySKw|NRAgomocK*t3GS=;_GI^V7I3U2q z^vAXm;)VqHW#AzT&NI|%+BVNBFWVOEuP#;N$is=uy6P^3y%{;K-mG9{sps*XJ>GJlf}|a05T=YA?N$ zxfJS9$S|!qqSJNEHm0A@4KObzi7`CF`2pEts-9v$c8R1@yok%P4ew>x7rREl?J^F6 z!ia8I-loHh_#K`kRY$iQ|Aq@}lG|No!)4fPyE2Zhc?zFd)`4!`m63^h<4`BR;R^PZ ztl3}7M=HAF(4<3%e07Q2_6cuA?`$Pa6~#(3yupj1KQL>Y4l)`CC@s@0+@`(Nk6xCw z4L2E(9B~UNd@MO*elByx-y|PF^^}XMjP52#l6#tmgbKoSnPJmjRlYLVRV&cdy4r5< z;s6}56&DG3nhS`PSW!UHC}Ojax?D6X@Q2k$?|@6j)dhF};rtx$h+(zh)4H z;~tmx7}!=^AaC;|!=7CY=xKZh|G1~;>hG;&!?#xvLy|4vYrTM)>Mdj!MKaahUuCQ5 zA}p$oI(7)cS^|G_*J<|KT4Rj_Jm)f{v3t2&+_~z}lczosh*GzDoIw1^4y?ELBQs0Wf?fuoPN(c%@@!-Fjoz?rl^ubTe2(P%hPc6ATq#w$BU-b9W3CSl|-OsmAed+!CMd0jaNL+e; zYWdCIuM4MEzBngN{}rvA_WG7tCJ%R69a3K^8(58YUi*D&)>!l%^mkRvnUcWr82-gR zDGjMd%Lh-txNiDd_Vj-+m+#NsC=}CtE_mKn2CsXb{*NQ_OcfCd9}xyb|K2)%`Q@oU zt)k!2Eq@ijtDyXIr$t~HTn;MMwE&@No3+V~an(~WaP7*Gi}xsjmt!Wv5@hwzshT^m zgC+m}a%@+Mx@%{MquqT?k!);qDMct%IBu(IiD=LYc_j6dTrz9m-Hv) zrCtuMeV_aoEm>ir;=0k^$;GZDQBShd?<~)T)ZgE)IuEV6^yB%w zBZm7M^6|K8W80Rigds=y+#(OgorOp4gWaUW#l+R=YyW&kn%1oRC>Yf;d--+y{gDr& zdv*FW$9qw6ix+kZfqrLUzX`yzScREL=;X8ZR`JJx=Z`KxX8rjhI3`ihe zkf%yJk+N}t0#NJ1b%EPPIr0wbH2u1p2s}S(r=~Aub(1rEf@=ykD)QoJrEm6Y9AK+k z5}~w73!(vkU4-)f;hX%~<(o`|C12!*CJ!+ci?0f7<&xPW`U^!jy|fDi{-%ZXb=S35 zfIrWA{K!tY`Fz*q`7g#U9i+10l0rCS$F4#lZM-3!;-;3-W$&SWbpI=VGu2WrgUgu| z%LOK>^Qyt+y!mR+T0*u8xhD5>L!vZ|%W0`jS`I&`I4J!mHa~jy(?Y?%1~rgc_J=2f zCA3rQ0`<7DC-SArd&>3Ck-O~&AqkCMu`EJc#*hYOt6LJWzb|9s^1eZeFEsq&4v$Ne z#NF4$xu6-I^(iCc*)@r6)v&sdhh%@n!+$eaor6Vuba=gU1S&C+J{F6DgY zyNByh3Pp=G@nzM5=C`Lp8c|0nzr-am_pKX?7+>cGOaD+qSQ`5m?Z@D17Hb}wNzEOD z0<8~AKVQa3Zei7qegBnMVRmjIg+*#^&{vDHET5L9%y)deY%kq2cQJ!$dthGqR5`RJ zbD5SH%cz%9!_OOfl+&&#Hy}3910QxXh&|iDB(z2j7ColOX+`7`s{&LpXoX2_f5yD`7e7YqJ zeeu+c$XzqVKm3Dc3tmFME930mktS8|LJypGx=nT=U1`3Gd9H_Be0)1zabj4Uq2?-? zOuL)jEuQssw5^n?nwTv}EuI$Iqt4WD## z;$)nqEH9{d@Q9ecxsp(Hyyn|YeqPtmu5U(jlD+9e#)g*2V~XUqdh+n^VHdm3PFb(k36_;Qp#H8*J#Vkld8)Y(t^ID%a2NBRtQBm%) zt2q1w8_ixllM@@KHg5qz9yfTrZ@BSzC>~O0 z0Y#^|e7H~@hW<-ClUE#fj5If6#O5PUxPeq38G>atgvb=9SZQ%(33KD3tPjplV^Rf# z?!zMDR1C!Z)M%<|7pWg0qJ7Ss&8?7PWbwLb)fq6)0_O zK9Rk+!= z<^cz_7FHk~%#qF(xR!Yxwu7Ws=xnJ%G8>F#BRAv$k zws0|s!vKu@+Ze_Y|VTwxP)hC-E%=o+!~ z-t3q4e^qE!#n&r{@w6CBW}c+XOa3kzl}R9o`)@XY-wGdF4iJkEkQs{Nz1)p%tosR* zyY!VDI=Z3btYtGn{iPuoIhbDhf_)U@NO7A?j{)PC1@iEDrp@ds$a*GTS%l}~rejMW zgA3~Eo5UrxjxrLrHPAza?=XLjqlgBfo7oZ>A6D}_&**3{Q`vxeJ;X|V@Q6o~b`8gfh_k1;By{k3 z4;RWr!RcnVJ|eu?Y07{9Q(MpJo$(WYbQAnNUN%U2sh6EC&HC23|?>bSS8;Pg=MpnYEd3;$5N_LoAkV2aH^_1LXdqudyA+uqZXbY=o2RJ+Ho@yL?Hg^D z=>UZ>5ly8BAfrF1$MaOL$DI5=w`0(^HcEI!iuf^G8#NZIn!tlg(X=$NPexWyN=W;- zIJE?#$~;yrK?q5R)l3}~ceS{)wen5B5xI|gM{2GQCu;*Nup5(5-Oq!|)3juW&-K5- zc7FT*7pvAyR2<|Xg_8A0inZ%8@*7xG|FHX60%)p1_1p+N3ZpU@yCaGUr4LJ|bL?99 zGJ%GuK@U8y*(Ez8hS>;T=Ak*US2o_aQV8l|&4B{gEM0)a5Yed;0AQ@x@_bdZD%oVw z0PPpgPvjO=UQ}LWOQzQ z`W=kYHNT>;E|fYVgeS5cDLna>*c}x@mCi#~cP~IWMD;BIKt5J8ohFEiQ5(a`_izxW z=26{q>h(eh8G_>tX_&-<3yE5W#E5PNLiQ7)C`RUHtOk&VY?07X`T(06pVOa*q!Kkc z8)WliwN%7@A67G60?@dmxp|Ym6{wfSQ-YqkxhkP{*Uj`)jBFQHV*?=5HmAAm_ucUM z_u@&VX$e&ij%>Twn0xAE*pK`^r#!=x{*WL&!a>YKWVXGa9wO`pMJzaA)f*otMqyBs zb6QbConO!3vpluzB(RA|NjgV)mjCZ@qSibGCZwvTKUSM1mZirS7JWCogEea9t8oDU zXRH?IoX)M$j^PgN#Sdsss&XG+FHMNP*#O@UP~C|A>w88c1S2;s&fND=m=U-1Sy1~- zyY(e7R7s;dS*%EEHlXLR zl@(aGhZyyFtj60mRfhpM5Uaw$3I}P#dY)n$&huEs$NgCUm$7O>>eN)@u>roCcZ^{@ z!OMMz+#PqN5t_!Vn5o5{SF~OA*m4rWydxQhza#SfKWu z<|ocLYoUc*Pg>;YtUF9ULu4B@) z<@XbnaC}3tN*s}Wj6+AdVdeK^E9TKZZV44Bd_@`l^uy5EfyRA%B$VXm6ufT%FO|qA zC_QlU4QHc^Odrn#*AvVq?dxuIkY*wgHkCPi{IcI{E za~gpAH^?bIsb1b;ug&K;WADtjqxQ`0kfAApSGD#Fp^bF4ZY;z}DZ$;g1m1|qA}jef z$l7*z6;qKWqK3J#M$48BEgUwz(>(6L9Lks0O)XJRr70$0L~X=YP+&*-f1 zq=c@`;u4}Zac}?K5X;V>hj8*O&yC|q64 zGZKL^Ht+pBr48W_(asIvng8_D2#RA3DjuBEUSBbHHxE=-1&UTzH#fs`9dyIRb8o{4|uM9-}egx6^;0u>tJ=|X6gZp8%)?0$3qVeJzS!fS>^)%9QQ zR|arYxA|IIv6p|n(pteD`5MlF)o>77!0J~Vg@^{_t#=iCtqqArof@rqEQfS|zd~yL zq3{~(2nT#kgLT|d=ZI#{<8^+Y8g$ee4SE`hTaRjTD;|7mjE4n!{Hiq8Yw@bN@@Gfu zv6|MkndTseD@L!a2;3|0`m1fWTHJF>=QgiAXRuGG)i0=CYpuCv{JxbIaRoc&rEOJm zxaRtqncOd7=JoeV0=O-YB7$u@Tb}1wb^J#ga%lOK6NtAYzEQjRqK9}r;?{p#_BYk8 z+}`3Ce?Pk4;TA-FadESa=32g3b5*ONdiZt8n?|DQ@5*1Hj-QY3=WlWKaLvC&uW!3J z8f-^2794-H^ISEsHyY`9`%1)dt=jf)7an!>bVN2il=>|eXYX3R;qHsPQ>)f>TD=?Q z+Qm42MR}_0hBD8j_nz@;M^J5+L!=G@cgx4|Xk{<>@SEx34- zvB%HgZZGKW^EW-0PPqO!`l#wyEm#`T>v;ElWN%3A!!PQ6|Ec#quI{pp{F z_i7*J)|$y|XUzclUoPA^q0V2p(^uyB=zi@ZbEob-b++M!%wjf+xa5(RpO<%WP-kmqSox7rJHnRt3E;ct;odV7X5(9e!V429Q~TyX5rcs%^^^^@DZ)qS%MI+C7V zbm~mnexjOJGdcTsFS_S;-B`x)XID?~QtDc6pgXkQKW>`6FF^Mi%=WJVZ=9%m2>qjT z<=*(eHJKm!#&j+~(A&Enytw|d^i|l?fPc*g`kwE7 zP@;_Hy?f2mi)xpv9n$-E+NEaF@pbQEjaH%)B=kYs+RvxCmu4Q@zr3t-wP;`Sjz7_~ zT{z4>@pfW$nZ_%|zSmyIU!FeckhQP%*1vBK7+?SZ>@P3`3=jcK9)X?%B>)lt09^c0 zeCU6_`2RU1Sip6lG(b^2x@f=!IGW7m@ELH0ol(Qw1_2AD<6TGYi0h~R58n=L@kQvH?J`*S`oPYKosI4(W)(+Q>i!R7 zZypZyAN_wbGiJszV{F-%$eJu6L=4&YEn8t^35k(?%|0S)wvfiYRzs2`#=h5B5|YMF zp|LM1_tfX}{d~KA_x-!B`+u(Mbzbjt&hwlz@ArAUyuFp!CEom8C`DtYWpBhn;&xHN z<=X?+g7A+C5`)X`n))x6Xl%#0519lQ#SDTLblWj{XpIuBI{ufQPrQ)g zhx||4B6!uJZ)DHU!C5uI1C_nrPxNz6PJW8HOEElG6tig!6MeXhmuOpeyxUa2^e+4g z^=#Ufjt#azD^N&oRFg@V)A!ocl0`{JWoaq2;8f_rkq~Zjjd!{jc@1 z|2_D{-`=P|>Q7>TGV%Lu#bP^I-#jzT*BP;`V}(OE(Flte(T#_NnS{V1*G$;+}bF2ms$bkF!WmKN5silPg4ZDcCbRT?6eO5&4p%9tl| zr@2f)W3T*<=N~&AeAAqGg7nT)bY7dS*G}(o!yd_0G788yPri7$5T9P=wlVACME}uF zF!I~1g;}hWgn%Yu>`wD!UrtDSGt|H!IM!8Aw8j0!o){tFMWS|-bnzlY@Xr3BoNrXK zOgq24eb-{k%f;pXx8XaMqD_mW1_1!ze+|F#pW#XW8lLjoaB;HXSGm&b$%dy-H}J!$ zTd_;eo!TOPsqA;A`(Wv8evu7-Ey>%Hq37J9*Kby)pDTT9qQRyMYCzr*+dW1UzT%V8j=m9gQ!h(x8r`W{muv#g z&oti-2LF|7wf=L<-9Kr9&FGD(cDwC!cB zhq2*m-?l3l*=r^Q^$ut`n%Fr+hq@n@~Y-uj*LE9b4uYznZB-io?6VQi7pdA_Vq!Z%;DXH;j9X-!WQ(qztf-b ze;08~j!#pw%J&bWfKN)<+Hq&EvKxcMrnZ1{NcQ1c(@%X{dE)G6u8OhGy(0(ePowhE zOX{WFjBAG*`HBypw7Ci1;EyH8=TN?)zu4TGudAxN021DHc7ZCH|EklO&yd|GSB?tmesk6AzzWuFEO6uCX4yuf*b>*=nxwWj?H^RKL|u!OQKKEAKm$Ll1}E+1JT@ z8G${2+9jHv@hWsbqMPZ%^xZE}nrg3;kYw+7|*=zpzEr%>SoH{$<-+=8`A_pwB+i$<^Pqj!r+#2gkwpyum(T8|3Q&ef${c5Tc<9Vr` zJYz^Z;wfa9?_@Q6Jxd+faN9NewM+lQo*KUzw{`5fYMoD2+CQslPn;nsm7#&H7F?6( zCSQd+)YWk9T>O$FZxkiq-+9-$S~=@bTpcH}oG)m1FTP5n(RsSjv;z89UcUL~xwDXU z^7Kytkb3_}(vdc9E>-1YrEY=Fa2~q=jCvls_$M=|zH84lCBjq4k~H)2J*+=NiGS~U zRmPXT3?Y|MgQ<+gR89rwrY6U8%R`SZC9?%rijLOU=VcNJuV1XtvN!bDEi6Bqsb;ot z7y3M>ZrS1)Cz7mW#lJpK7-vM#JGk9N@3@nxd|52uTmf@K*GR_J&8#c(p@H>&?x1f9 z*Co9O)whJCNAo3}t8OpP(>4T|AGP{doqM6=m1|ixc&6iy;ZQ@1p;AujbzY8V!5IYxD=6Vv zbmP(gM4QdUWrMs+4#(sD85QZgnrR&D)iRX~GU(#^_73LNWPUxjmJINP>E}q{yO-Y5 z>`W?n&zH)Hot>!03(Fdn>TDJFB{iOp+3%_`^X{n*4*s?DW=DwF8qLikA)bjg?M%7; zw}4>&xXJH2^N+IY5dM^OXUOqW#2_>AJAO87pYXzH-))ggy0#SFpN<`5fn!iO`7Lno z9ZIN7OXM<%aN zvUoeEYwx(#=_blmWN_vVsp)UIu&T&dhW{EmTIelsUol&My?lXcG|$C{NbtCAU!=b2 z$^CZV?wXDMLYiaq%5twmnQPVwPQZ}6p;dY5@+C73OI4pYU{XeMQHW|^nkzT7LJt@m9!ye}4Fv2J`xt8g+{W9^GbqhqiwOJ!*voc(x{ zWBAADSF>nUz{2OMgNpPhtq1D_;jj188X18$Jp<4HcRg4^OXQqxR z_3fo8MnaCezINojGL2)b%MZA@K3bq>h9-+m@f$bUdE0KWNzUh1I7>mjxmV&u*3l-z z2*!kAXt%Fj%4;8w#|;|o6I0PO<9F|?Xqpkta#Fb^Wu7cegFG~daCS-Ob*YTZb-fo# zYTpB>ncSBaA|HNpUE6-L_iggUb@`iJA%E4mC4Zda_kH~Qf2oQ36ge71>S)ObUGK1e z8=PLY_FSKZ)`uboTQV{kr5T)gCuJJ1>jibm4NkRlRcT)`ua?_PP`!Yr!DFRl<~k?$ zRCd$s0Ok&7(UqY*2^E`?532<)nY)?<>+|Ye6V)dY?`Oyl8@_N$?i*cnkL75v+RPq_ zZakkc^H6RoHbEXL>Y9|l%9FpdJkvi`+`*t4 zL-Rq`iQkw@@BXv1G6G6D*;#+`ypnMm0Csu&I!&(DKAJP|-Auz3j@pb5iW{|k z{KMmd#gyl-7dJWid?mk%xSZ;?V5Avs4$!849j%?v5p^m3wg3FH$H)AZYpq4TiKNoz zuetJJPbflp^csp83^5S}K{wx9Li_Z!3)rp%rw`n~%FUeFu}6+iY+B~og_)-4*5W63xTk2rAfT`$$IJ>f}LGjae{^3U_ zu76qI_a~NqTmSt}Ed8x43jZj}bOAq%`V95Im6^&hSrmIB$fCHo@*L5hp_jO;R%PbW zc2!b;pw!0q%W#2~S4)tO!17R`=slW~ElsB9cDVuT8ef@&;R4q7$uc?bK8bK>r~e9z zT40d(as{|wKj8O#|HS%6?d4as#>GxY#PvCw9pM6I+;Z>>*W~NX>Y-J?*0<+bl-z2Z z-;VBf-*G6=bV~qOt#`o`!qL`^_hq_MkmK)?N4tivCywY!pD!{^xZWBv4%mpale@Ld zdeMvRk=PkwgOV`al_8yzr#`vElBa)Hrz8K}!T;CPzzg|8>uGVfXQ>-fJa_&dk%qoKkfy`Gn2o{TbLZQyhIS*j(9C|JUo^jMKF;#KAEB(=M3sC!kdw5+CP;jZ+ zRc5^Og1?WEEyIW=WEQVx0)|f{-}2&uD!&+->+<2%wh#0B%LD$ex#JW0T6q5Cj^016 zVM1(+fj(I$H*1ca_oxKK)DqCz#h&9AJxVWa-0zBJrXR3gB3JJZg@5dIZl|OA?#UV* zebRohtP;+1or6xdbKD?b*5~VtZrzG8RvptSOC!6=lzlnp*fV6OpH<*;@`*_O2k2P2 zLXtB#u%b3!!XbUxQ#U44)@>w#<*qc#`gE!U`q7S1ift*g{|9*Z-35(AW{HT>m-m@& zTNFmIfB7l0SLu8yMf7Up4Vkrt;&dhBZ0kqWE7@fm@W)M4yAS_=CCrWgd;$B9(fz+W zmCYbC9Py$1@8MbYg^`qaP~Gmg6>lf)6r3B1E5YSS|HB`LM>2wUOEWS=jE@CA+&wpx z`@?mjD@dl?C`ZyK??jQLonE39O(S^Bm}0KrkU2kobX7N9WfbfF(z#Sv@3BJWx`Ok& zPx4+hi9uPqzNmC2(fN2grG}^a&59e-%z1&guC^EiZ^KRkarW){^sGh(0(}2lAngA+ z^lw2tq&WR)u8!kt7Z%kLxlw7-^Dqhw8$h}y=XEE2bnA~~OD87y{W{tECY<5i$iStP z&GymwOKT4K^!f4iSO!*2nrEKWJ1(kuT*K?rB@fF63srCb3UU;BBFHWg@IY$X*I_g& z&XeT_GRMm@_ivFiFkDY`E;}i;=Zr8h?)8l=nosKhzqur@y6i^_pjx_)= z>5sL4jLNDL`gp>N3lSPOK79Y8a;)<6n!2Jyui}xVe|n32opC+Lz2Jq=x2(sbS*GVj zi~B#lz1L*cB6sInV+OCReaj)`C*R)UFyoKP?`&%4mwJ^{S#{nvBL%c-t?2*iH7O{6 zk3WB32I>FI=T|w(|81(t`Ml8W-)d<}Uk%rn#0fAL+4(bU+0vmAzoocGc|T=NJ5pSzhkf3gm zL!?hR{#`OYrzfZN2(GWM>RktO1j(XSwY`iKkhgEaJ8B5OFO;DAbr|i=`b@_B8&J#58Z^I}QP6)oNL z%(u|8w7K{IwdMqp94wVJNRHW`$B1|YLRKy?CTQ{9{%Ul8yXQ`kXqYpf4Bn+K1= zKP%XMSV|SvOC$uH1!^;tI6mwE8L{2cn$LIaDGitTD;yaAGk*7fnudR-z@0k(mnpDC z_Md$2GWl;lkI1svb{@*fJa5TPlCWdVe!zwwN)OOT`GT^Bu={fmU$+QB>CT61S~&kw*e9!|wL_STv5x7f_*A0M(71P&+{jptAB6V_QW zMjFwHya`V=ef0!BZ%#jkaJ-Ik5`m99UVA^&q!_GUI+XwBB?ou?_TO2K>rW{B7WY3H zoIDVwg=rpxLWVdrMkjTnh8HZQ)W* z`#a@#%QCVhojM9^dt6k2D_1hwzRC2^}pZLe=Hj7!*C$C!#aUZ^lC z)N(U%T6yOA);@wpofS5z&j7 zj4~Ca2<0j1;-b!Y!C%x|2@5^+0_2(hfY#FzZI7`;11?b#)rET^KlXMi>UrTA0xo^q zub!6=haYKlFpDg(4Cl-FZZ57dxtTl$BoXji8oKYFAmfDMoDxR|E3|yhwBPLNqt#m| zP8Qh)oEgtoY&(&1(i(r|rZ+Pq;vrixYBf^%niG*AyNQ(&lXed`)|eTm6HMOEo|t3XzUt)}>wi{@wvR-XGY8O>ow%X4oaPY11f zbsi1`spVgSkKi0{dWKoNx;ks&^u6b^(qFNRpg>SO2RsM-o*a^Y%=$lnVN5HNXui;BxV27_8Z5q+?=(U=Hw~<0&-vMJ^z4Vov&i>Y zUDw7FYf1NK4zx~XGvm@<`{-;|!XJ4IyQvO6lYIwenc^3fha`S))1K&M=p zuG!cTO=_&nT%a=mf2yk@g`z46=T8&VH# zE%dzsAEIe~IWz-wsv{LiNdXZj;X$mPq;{xqEvbV}ex1~b&=%k7Vz%ShDph=lTs zqxC^$tLN)=85;oVbRreC+XLdS*0%?xdc}8!WIuZD3@fbE?z~ezSl@Y%tT}0iu+0F} z`UHf3rUT2+B#dP1BLCjFh1H$C57xJy?oHeX+#r8pfVr?g>6~+Cf6A@m>7@_&LjW~I zOA@;~gODDMqyZqX2eV-ZryB=fA|Voo#8_6Z!?^_EXNU6-y`Mi-tf`u$41l2vmcu+2b({>l``+!-I1%tKldhXslMI+;Qc-PfarAk_HfSEn7j+ULbdgH z>G}7FAEXlUj`pn=#-~5`S5(`6?S21#@5eh}H-Ij!1;E$^31Y%ifXVpDi-ahc1qwud z?Gb8=i)Jguf`$9qX}t(B+(Rg+s)#xw4;L$Pu82mvuY>6sA?|{KBb|fDRkmqdyh3Ra z{FXuoWda2iz*?RD6zzf!JBp;D(kW)l>FW}@ymjB?K{0cMPPdrtR-*M#@tIeB-4Y>N zWZ1C)Gi4*5hmOHglbM~R5*sho^(`6wpoD8hr}uKlc{;~5082uymfh33|28c*O^51@%5xd2vW~0l#**FS0_u&3VZ9 zf?7e9K}Tpa>6A9q?Pfl+bO&4ISsKAU-$LlMXz~IGngF5QB9RdFvklUiz7`7BaY7f& z*(uikffHPFRfoZu1dKFuhG4MqvSt*f${%FRG;jd=AatyNNjX$PB#PDzZx%B^1lj4t zvWwNnFcR@RI1w_e7;Tb1Km=>0snHaYVhY8gDlY$|G!4v)X6oZBHJ)szEwznim1R*; z&{5OLqIj2VzXvkb0db0N$2MdWK?){-Yc4oo!2tG|gp{bc7do1`G%L>-+fJ)j4PtM> z@@odEQ4ff{=PZrH<&^a?Nt}NttPt>YM>?AJMjD{I5dYNEzn$6$Z;^;-L>!|!J*spW z-kfq+7KkF_6*MR*CJN<*HOch2eF|H_6D;Cw0_e`|9|_**63_+B5BiQAi6#U`=v8ZV zCo<&5B?!n-lLo#%%tz)nO2Egn6$DaLB!*085>HU{Zxp&&11OU@nbkRL zyD7z|KRrNt`a&|T!52!~lkMj$}eb7EP zhXW(EMoa!e#pi|qqr#-xxeO(Y%dR@O*e#xJRz1etO@OmF7cBGu3AAA@K?HATN*AI) zT(~*5SyGSW%yitf$Q({~7hzbr4;kY)N7ZPebvFA4ca#K>V0M9r^fst(xopwT(uul+r&bOvHCb7-2kv{^r703q|1_@M2 zPPSk2NrUbb@--(FNEGBEF-A?rOzyd&7uyuUF1V{41U7ADoJp)S;U>ofd6P(^O{|7S z49C%7k8GtH4c*EjBq~iyc7_D=FGaDe5E?}18DMVEAMIqk`(?Ocvi~GM)x|Wbu#wsn z*CwpAl8!vQ!Q%_t^Xmoj*f=FipBR1=KW{N#op}5(y{W=31Vf6yl*iy=P=IHgz-gYF zbcC_89gi7Es|$?!B)jT3@iwNp%CP<#*W~am5bV|4ePt&51`Df|fWn(zM zVxQA?IVP)=hH{NZ0^bPmEcmg?e^$b)=_H}z{Y;!VR*(&HWOkN_@I3|Q*95hEq#NbOZSk7&ng*qesH zZd<=BD>h`GoxkBMJ)LShov%XdGsOy$n<2Db%pfImDP%!6$ z;w4O^mh8LXOkQLsSLz`^VmEz@*>i?b?7$~EjvBQBu%m!&;q{#;V23Dbr!?pf91R&p z)q#;%M?n09W)~ zv>Z49Nz*J8a@HR>OoSi%L+2xDi5hg91UfAQH4zOHK(I%lXdbxUh(p2F_-?P6z-O?g zU>9&UlG+(;8g(G5lLpd80xzRH;_;wMSxgrxXcv&QXid5ul&2;RXpIY|dCicVUKG4i0d}9y&y@nUi3Wz_VH5ZOO%hNZOFys8Adv>Ea-(fDp`Rd8 zU6g{2;Ap-@(!E8%nvg)NI$*~ousja3A4$v63(Lh@e8j`7iGUhBd<;qZMhbR}fT~J? zhY|F9Lcl2`t%C{3j*q^J2srJHl8rKZb_kor(X8$QXZYZiB6OZOpeusDo&foXqp88e zaC|@o6u5yvM<(=bk$`V3KDQ2Sc_c?Nworl3`ldqsW3%|HD5`jrhdVyrU<>g0kVdJIb`RxgSBatQ z22Z(}1fK;~;NVaA;BWX~FdL9DdCd*hYz$9dfxb4~NF!?k3P(d-iGT(Q_-*0PeLi>Z zI^Y{LU3Vm1ISNeDq8T9NG~ghV`!ri9>NpcJr_Hx#DG8nhm`Q_ANWn&luyzz!fP#!3 zqn#$v+G403-58Wm@DV&%G?zS#MR8k!J`!PMup&;1eufX$nGFj!xjl@9&pU(e6Cj`b z02A1dB?4V(Ad9AnQ#YEfg9Kf*0JRfy`uJ#^(xNxX1gJC^ydU;F4R9*xHhM|{-y*Y^ zT&RDTK+l{7ra{c|Upm28$YjB5qbT@}8`r2TWC;(SK~Qt>J&e@OEa(8~RK@!tLCIRc zQVKHTkHU@*mL+WTW|Ha$g8EIVy%(Ck0he?!7?_8KZ)?-c^TEkqZCRVp;}jt2WY8Es z`ztZKhb7@6l6EPQc8obuC78vS1Q12q_EuPBYuY+=-7Y$8ELw)gX>rL?0 z1~1_<>P-Y}8Ar2waE7R1D}i*49I(;IdHiYW@pCNYTR!@>Qz=LQmTpHX&N!0#2lB>k z!Hjc9KnWD}eX0Cj608Dcx%a4`Ud`_v3-t^(q>S35NC<1t0U{IXDzkyI-9f#VAY-`b zKEB&M`ygYAi0nuzikJG^1UlbteXA&7Dh1pl5W0tjr^Zq3%`!fj%!iyJ z#acPuTSh=-2JV^q(=7ARJ#hqSzaOQFzz^ z8XAtJU%{CgV=FB6VZS1u)+6Xm+!;P!_L}$bqN)d05a`u)u0wL&ev)7x5ioQlkn#XF zk`_>b1g7-D$&`iXc=`znABI5aS{m#_yw96hstcE3TQ6xGy1|3Ulm$_k*sI7b(slSN z`tHcmB@ghFHFQ>#_6r}aph@7Dy^I4?A)p)f1qFLQ?tfnjo}%B9jj|auf!Clc$8c~v zWMX<9(8m^JjR#){ZP3YY&^x^tB$EX)`NXEAS=NT24_^Y8*1#+S^Ovb}`pAqpzEpNC zzeYZoHR5I)-Yc9yH;sjrO2Lv5chf0g$w*hDBRfY79qK%vDgiP|CUI7Q9Pp^kAEjd^ z#S&QRQYF~0eSP0Zx?U166#>Jc8o2A8PoQ8GX!_}(YZx5eG#@M*nUIRRJkr0E7FLgdSsa1V5dlA68%mO>OV7h{i7xU; znqC4_T9kGW?>tzP4({%mJ#RVnPv0?WG$zST>fTsw{v0V^oE^`S7%GhkeUVc^onFsoX2@f<7F7O3MZqre@+ z<#4D2o{_*xH%0_AKTQYE8IcKs)&zt#dIC}BXianhj!@zFV9D4C#tbey^hDqlR_GS! z(MKxq*$Jktx0>k_WQe!}deSf%VReBq>G2rp7)1Jth#Y20e#`XmDQ6b92^vka5<7Z% zi-kg)rhAAHO@KK4qktbD$1;$0uqYOoeM|Q-2tnZPOFSi#SuTY6wTU40Y4Jx(@nmpZ!nwH zrO#&)J7Q~3iGcRBen~=aQHu!l9Yf6xgsKUMzz098JuK zLxxI=BF;5FJf)b_<0~hm`P#}MMBxj(E3@FT`Op!4P#^t1`dw^`%Ylh0Qeu+1b-`C{ zM0HrmKOL}-gsBqY)1>rsBJUmVfZNCnT`7Y%m2tl`YYk9z_~$hp07_gS1|U_!!&3@;c{Ba zr_yI5&!3Ino$Yr0?w z-U7U(fHO>eMiX7=Ge&ttzAQVNe0l>J!@|S)LT>#eCu0a&3Jhxhc>Qy)r%74(OmHX) zLjH|_;ybegmcAZ|c+3jLxIqF)>zfT@Uf2!Yvm2q^RXa2r`{DS03Vu>i=w4Hh;PZ_9XN=5W!!pc0l|HQ6iio06va_*nS|< zKKb4WgKS592NcC*qM!au`7$tPG(-Cx^^;0a46)=4VLqil|7Bb9ORp;)ywm_Od5`c! zK{htNTuR;0^Df@r`2N=KhUUOZnBD$4AK;_x%b|x9a=06z~30=?^h)NTwLgPowXbyf^ipAbunrj~jiodwz^F zI1V68g}1Z~8y$hpZheTD_e6oWPQ8rA=ntcf597ZxbE&{t*r;Wb5l^Jx2Ppc9$Y0Eq zkf;dyc@mW38mKo7en^Dl4qPZkXt~5$PxG=$Vz2hA$J3o&iG`Z>!>=!GmkC_LXz_X+ zZm&JG^1i{(g)aS&FE7cUA+wDRm!6-`d#SF3Zehe2+snvka{Rh+==?z?SMS#b-uYc& z>%DD~X3P%Yp?v6J)7}j?=l8O~`_IBd4m&yI6;y|ElP>iN6Yk$Pa#z?(9Zh*+TpP^k z6nm#LA^fMh?C4;@#ehw0`_T&j^h<5|2RBOg7rRBh#(JhovR8ZU<0Zy5e{6YA7Yr*{ zCg;mb^0GnsJMUB47>2Era=Z(~bG1VscdmGS%;DG841Qx}oR`n9N)!BW zIbN7Qz4y%8z*VVsOe+q;D$YMm$zC?l9+%8X)4yC8w*9D=#~UzJl<@KLqEOnjXMWG) zuy=Lc4>(0AZ&if_ac*E(1001JO_xVvTecGsnvX+vU-wqI&Ky!=%vDz^) z*@w70Co8=%c0=vLh4!sYQ39#RYV87zj+14!ZTM^9bm7YLy_eVbC!f7>pS%y@*g&jz zWW)WxC7#I*Aa)mo&a{`ECNZ6Er*gVCwF`3_@`&9WbQy0?X_#T4 zB@N^V)=|{R51Ld+JQJL-2Fwe#ESjT=LQ$(_`{yY}$&?Iqsxb%G)-AFHL>%3Epkq1G z^Z1%kI|xHwSmT^!w;v2D=4=^pP2sjR1Jkn0D)#0f1AK(@{60Ls$Ro3R+zXXg33lP} zFtRC2Ma<#5GCfBfonG+IL<;fRN{t9T#`Q#B1$&GKYn*NTW!gdBeWTD_`1)(Tm(znf zRI_`z;CzkK&GmGl(+t#ZyEBHld`^gwg$!@lWkhIfnTVwRuK0X>p~ zNI_mY!xUD$2ITdaJxXBnLlkoxI11+?i*;9+*@v*sS>DYKaT%P6xdNI)Z*_%b1!8@) zGZnF>6%1UHcxTT$I?vX4IY<{`1zWZfmX5liXatpbq58$q89d`MDPBaJHJO>rXWmcf z5lE>^)j1)af}O@5u0^B+Lg(}yPCDA@0gfrI>qKhIq_)89qM}EnkzeW6c;!k4>YKQ$ z>@4E%nU48z;V03~QqsxFXBR6amjV*WSw1g-co!!ELt`h zdD6i>tP?f=Y%ckVi8|*jI*Or(ybY#c9x;^w;d+3T2}Uj;Mp3OKTF=;P^3Z6p2Vr+LvO32ZAV+AHj*-t zCd}u=?MWE4MO~!8 zJqp=)3FrLQ(Lo8;ZGe5)0*h!aP`+y`W}3|rdvwT&0@Ts#`_-1Jibk`SGr-Ii`?NY+`~@1%0EGTYvE`{nsn2XSH&Hr)R{c zAb}^vd~aF?{XAa8XeX4g%Li4ftP`X?(4DYRn|1m^bc!4F0{=7r4TqR%tcOY$RTrXH zzZaduU@gVV>Dw+poEELEIS+Pa>y=H!-4H+_AQK~R`73fk~ydvXPG}2skoQ}1IPNOj{whXXoV|N@t%Pels2djc z5)Qo4?6Tl)@ZQmSv8%oNn4!@7B9v^7@N4M0^|nHqb-a z$TF~` zC1*^b^wZ?+m{5O^E+qMGZc$`-J3xH92<{bDeMyuUf4L!jA=DrSCdj9y+@h8YeZLHj zqQE>(FZ#M&faHiR#9Si7d)aH}O}36zTo zxhDdRbg^=#oREBcTz&(Q-U zpuoU|i1$6DB7|UfeLM!0RvmgV`rFQ9z+w_J?J9Uo2bVM)@^2TLRF#=caJ zis8lqJF%iIJ3YgRu|6gbB`V8-MNFg^U|0~<-5K=>TZx9j_UskHF?4(80)o zwpHQ4zN7?nlskb8W&*@1r5~?q!LGLqRF;-xR+m12771J~`PAM@RNQXX^AZ7(IaSG= zHHu2HcdaXg@v-3|pxP3R1cdCV7anAk*lQG~?@$^Silvv2yjl@GAT|cJY*6~xoYWi! z4aIAAHbEj*A#TLfHY}xCni&M%(Y0MVLL!+HO6=nVzwHimcd#I($PA;I7)6Rwja=Y4UEW}~SZ>0_H3V%vHfmKy;+4a%y?elOm$#WN>nq$8#MM*g{|%_Hp*BEg4O|5&c`#GoLyClLK48G%#A7_Bj;QQ0S^kqf+x0` zq=N+H(Ui7$jJgPbV=^x2Fpd=whYF_TAjJAK#oxolc;diHA8Ho1;(gO(I!|gONi7;~ zCjCUPH!g3BlJ50kB2YHrD4Tng>21*J*0YR0 zkyI?^(N{?EVF}E(_~_c8S7B(zQ8cAk5fy7wluIsVBuXQxT6B;4e2o^=AZ2*_j7 z$bS|1F=0A<6=N%l8OV(CCSjZ^4f6H4!z(dEX)n&ZB;>B8N16eOkK(hkz&Q(4VUv)} zaZFemcu7aNkOg83O_JwN=EgSKJJNEn#RcKJpTC5-m_X?-D|e9^&RsJ@x`D{>QO-kn{Qu$lk*qSh(hRIer zNkbg?KbBr&X(+YKB{M8xbe z)O6cM5Nz|lTFer`X4nyjNc*w^K{K}Q+ftZN%`{Z5Lqr;t<`Jb^f^E2qMwPEZ5)NWp znanQ|AAC66+Yxm$VLBuiTtidsgop66lW}%0a;MY$f~d*VM`uUP)4> zWTZ%}V)=r4WDH=JRt6e-RRpAT2q>{mP!x&1x*DT;DKTei0Vx%;_oL~`WG>ds`Ss6+ z_L#-1(Acq?B5Q1m$VhGRNhcK*kh%(@?=naxA)#drsM6|mPEPc@4A4W$UYRdvT1nj5i4K%og-DLP~-JVo?JJRK7GMnYN~3?P6iM zl;RuXxtXNbx(Em(|BLgzt80n-uOfL?d+!37o+c~eo~L}f74l5zlFp)!7WpNPs|q;h zst~B>zI;NZvr+`lm1QSKo@F(O#a@2bpc9PBq}wOtT54emFY#MzPdQnKm>BDb0(zk(fW^>?!UwF^&HOs&ds_)~vAFDmR*T1b< zi@(cWpT3#U0a_f9xik1IS;9KbMMv|l*OkLP_4}3Or)^;EEEzUye3lm zLp27h-aZL-@fwrz93Qv1SGIT#ws;}i-)DhtL2+F4+XByZ&S~o-tnNY&d~Q#C|KPkW zr2XA!Jw|`lTkMObf*bvXgKbI3juh)o89+q(yU(eJuh?@9{ zL4jh}Xbj$0sn=KWiLWSWNAZB9aIkGzzQrW(Yc96|Fy4Km^j!0QCLJ<$sPhaQ3WcYC&yTfwTkA&{NShJ%P#{$cmF z$%u}#Pzre>1;-?%A#aQ%+djJ#@Z2HhR1gmUSw|*ffD9slb0kWc${=x4GFY)ZWNT(k#s03I3kqFjgp2U z<^o|?a(7qCWS8DS$uf?^DjQTJ9UFHnGZO`@SqRH`IO$~2%c1&9V4c?L%*lNNQ6 z6w8ODKoX)2MJPZClnxXL7nRbKgTO9Pc~W}lmcydOxi$=A*2xcHO+B`=Jg$*VF6G); zVoJ^}*pYJ&GKFNlpzZA>OlF$uueU*UF^SA#48r_sj6w$a;Vm=#k?T6%tM znAfr$dr8>Ny&R4TRKe*c_5_Seon=W)(wuk(IApSe2UwS8NT-m!mgWv1iX z;NO(?MJzFTp;h|kMKj2j?r2NohkB7YpDl!*T%zZu1XBtNeIGWj@NbKtTZ8b8XPFIEl;HBzH#SpvO6C(^mq3i}8b zvHf0R5@MipA|#RNkj$%wroNJo4Qaz-ClN=ovX(!wX?E8oWg=?FD0w!BDr|qm_vKg^ z8gMx4x~rpvoKAEl=`0a1p|a0+q@93~5Wwy*Y2Z@;kciOkcVd;}5ibHDyv`Me$*2)T z<0T+&T)(grr<~=9u?c;?S4eqD$Ful!!xB;vS5_g*$RklcTg@%3HV?HdQk$LqWjFZh zWv4NPP|y9VEB=_NUA3cnyM@B)huthSN{;$pcwc;z0|(GPJ|)t$cnAeFK=?L=I3hjp ziymKQJ#KWE>%nF%$~1K8`&F(?FmUH1Zrh-!R;GcYIAo{vN{#KAAxQVd-s zDU#PkGi{eJu97(}s=^@eGH&+mbU=-uK4foNQ1H5Bji4^Vl)-g`iERp(_OA^@l?eZ% zK7t})6QPC9QcsR%pEg2-hU`~9Q4?VG*vaqunc%X7cX}Re)pZO6A22dx-%)$5r^oE_DcSF3H{nMd<>pLvZ&`&F0Sd2!;v=k**5 z58a;b@g9Yqg6JG*&#NfimLIPo>_!OtAd~$TZ!i7%Yr(mcY^XT+e&XO=t>bj&FzWZW zmJ<>Hh&vNi84=s@-Y$7ssw?j8{1g|<)NS<(9v{)lQd|Obv#UcWy@IxsKBWb z(IMj_5ok)mgcz11o(6qd((WRsS8S9G1EXU;c9P$yDQmEZ$S(P2O%o%e8&iA{=`M?w{3ydX0h& zr>lNAQmL?9doX5~CE`s^gYAJ8yruS#0)#nFIVx2mL$0=)iZU#1kvTYC z`f36EO8bX&WkbA|0Fi3#ym>LjonlNvrc zj7OMLfnYCyjKV_NEq@>o>~5fH2hSIn^COt~7v#kRgb2Q$reFs#06~$Hf5fnAz>bL2 z5NQ?QMDIhqkl{6D;}b-BcbOWLS&+Qv<_H*wA2h@)5_@TMMk1PIja zSs2x0h6+}400>#B8`W79Svp!k7pyZ)ZSE+(Q{d3Dp7n_E?QYSH6m>17$MR1A-=apA zqOSrxA;$p&0+S$c2W+dmb!5$i+&$q6Kw zNm)*zT+Qa4upE``tr5gKx}rG~;Gq>wfV|@f>y6U|&*Ia?&;?g~^*CC=XEH=4k(ogJ zvfMc@DjYC}gpaVLb+I%#V-iIf#S%h**{XOpP*#C1=YI=NDid zbQ9ix`;D&pOa^=sLX*lgSoUWjYO@=OUEG1Uk)J<2y1qIelka{e-#ThWj_d2(Ua}9M zvFL)3&zYEL#-6xk6FMuDT`$dX#H1D!RFnIk1pPBE8y>X!>@O%9Jx)_Mj?D(ka8z6* zDNsM7Y&#qDIh{>fLyD2;X-6uQPdrya8i8eSbVO1aRVrmu&{4nvpx2jm=N&*yF&;?y zRQOU8ZIh{iY7nnm8c}jYXBb7Rf?x&1;7wwVNHkSQl9H~jNfm+bj2PN4b(F>3`5YKE zHJXs#9yT$*0t6kOP?vodU2?=3L zZ|}U?7gzqXV*kVZtuxT_S(R|_mz;UH`i+rVRcp(dve=woRj;=XI)7e}zFq2aph7+D ztLKNxy4>ULkK;5$lrEcgSpDA3+9?XUuj;!xqU6@N(``LUa7lup{V-`)aanUG==DzK zI}-J&l^cifLw5E<#q}aVUuFBpIU(;7t2s(r-hM-Hlv7~=?xSk{fQt+7W4`oo=cP|o zx1JbXdWxt#|6s?_;P1=Y{NK+zAAE1Synj99>&53!f@19)F1<-e5tG4$$0jE^5QmUWk z1u-#nS4;FXfiB>I7W73&A4l(%E54j~y9ccr;i`NXJqY}9a{8~z2SJV~jP8RXZex^% ztTI3k6h7TYL+9zxH)z-@ouAo)>>p>E5(|!B?>Tex+0#Qaq6N?~&Ql*aVk}dB$ez2!0%eg75 zcjSmZd9uq!n~(h_hgzmemQ=8wTj#uwq1&-_ha zRLtRu+sEo}`?sBv)qkb_z0fc1w$Fo8bARC$9U4Kaw}U#~1a90u`A>uB9m0PPK$5E` zDQgC6)(7irhM3of*lLD4*N1v&p7O0f6{Hy!Rv#9l8J<`lp32jV$gGdZ*NiN!kF3%> zU0;8?O*5*eKI(yH^jLlLl;)ZF`ZI4dV^-^9HZ;%vs6YEplPuIghH1shHN+}wozrYM zr>_-f-VkT274O^-@1d38+mH~Xl^E8L7^8JQvEh8GR#Ij|Qoh!O(uNCFS{Lj2e@3*D zdm54-Xr+ubq)cgDns2!DMk{r-A$3FR@{fkg|FkGVjT9J`D%VI=#-?dDrs-p8=8ZId z_Tk)^?t#tlZOjP5W`;Fp#$c}`HeN}^W@R>Jf3~K1f$fOt`B^GK65ZNrIlA{SJXFEv}xb$X}bA9yK+qXrViNFaR`>) zRJK7w6ywEqnyUY4(}kMpFdc?mGecRYMob65p=m5>S9N@VesoZwXdBf7Y`xNIZJRGT zuhk)IZwEKmw`nzaH}6Y5U7xvjA-}mHXsxN{^o8crMitF1HCnB{IxSPDo85Gp=4)D) z*IL%rn$w!^UJt($Oot07IAWqse_vx>4R7}+$`gT(`w8+kzyhPF&a@Am-e|c>kfvWt z?j8$M2^!e<`A%3=QjD&z0s)TJy=UbFmtjkE@mhSCp9ghx?{!2C29G}QO^4?aEZv9g zmZI*D>E8cGgY2YPPJ^!NMCB572ND|w=35YxYz2Wb!~(GI9~dQIkC`Og{?&ruyPtLl z<4CsrBoH-8K(nY_=1%hKY-P&lhp9AErrx;u=);!;^bUJ;c0`{7-p3@M``G+qGJ~YzQaK!hIMwPBRTH&sD!O8}^|w zaU8P1m#Gaw_GpIVG{hc7(UC{9LfNah(=6kuQhO}@$zlCsSt~FIIKn*WM!v6q@y>y=tg~)j9#b#L~s;Yr4>E7VHl#q**iX=v5AzE^K7sHdcbd z--V66^WA_b5DdqM?bazu5nwX~;Nk}B%jsdWbt;_2w&8Cir&(Hk!^V{?Q8dj`9R#yU zhpz*EfBUMC!k79H;Oh3aC=l0!W}!X=>7!biI*7@%S&2A^^8JOC4x$TL--FI3gq;nF zzWe^--PM0Ah4nPsI-0o%Sk8v;1a+_qpqaTl*qYK1;}mSMgJB;4<~O8If93bA)wGo< z{(l7_K`e;}HskA4b14=9V8uF?eiluyKtO*4jKVoyi8d5I7Or9l5jp?$r~e&3yIfrl zY&J4%S+D^urdgmJ3`M}kULd)_Hp_R+Jb=+BSS(y6R>~k&+AdbcGnVUbBp2>179E@X zn5C06Y*5Ei;5&nhS$6y%+9yhN-2t;V45fcT?M68*QLxY2A$1vpYteuxu$%$`{gI}L z)-xjyW2Ra1l{8bn)Rr@3xnnOz1e&%EvsJ%c`o}`~(QuPgY$MnL{Yg0qY{4&gNe=H% zA?(W0Y~0)R8fp9`#O4_LuCp*?nnfRh@>dr(Lc@+zOqqOB5nfh}ridE0+2N%@+}msd zh85J)aDKxWa9rv#MKc9#J2}k1Y<{)z#jy^ytu({wb<+i!?FiU7MH^aRZ-pARwHAbV z+2e)nU+1%Nl5w^I8~<(KO~z@q9GbD;9mr-HE`nzLj%Mza_UfBSDiSEiBB-nb6{Dl& z7xgbxD;yMAn&Q{osdR##r9$HskU_bF4LG`gwJ5(i?&hc;S%4O8?As}jI{`?*j6ZrgB zLKdiJLA2)zO!EbzCwbXv@o(jldtk&-jbGY5Nkd1@&ZujymCnTS6i*d3MCHBer6kVB zCnm0a5?L@f-OzLTu6a~%Pt-&6=tn)#z2<;Dnnpq5xhcL!6nyq)&sm;1S-6)hVG%3; zlgy*V%AYrV=b*;V#Pak0+OChiWYr&C@Woyf$-P~c zT6CMTtw}x5v!_=MH}9E)oAcK+Mt@iRG%oXz=9L4>SI+lEW#Z7+`?BuVXa6Bxt;U^h z!>J75a&BnmHgIzv^+n9@B9{B|F4yPZAYJ>43;&lSBW76;&eJTk;}**IpVGV_ZQOs| zQ`6M>SA<=Ev|E3PqH0Ob_RZH(c%R{TyM+2?@S>1Ut zaObU6%d24=p8-`i;QfZRe<4k~64Wk#uU*BuL+f6Lfpw?FJwAuLOWIm97i=2Pb@yv% z-4q)VVbXj4Uhie=zAN|ouJO;|UVpW9FBos`LhC+hebAV9$EcKI?lLUeXYDzZZ1mXr z{wwPqaFpd*^8M{U_x@O0f(BU2RxJkBq>#e76Q})}Yz&U`je=PTh`=Ha5IcvdZcLi>n-#0tFKOkz``zz(M z?|#^Hnt9T&t>3UR>aU#)RlJyK{Z*$xz6FwY~M@H>sKt_T#>eaG4=&D-WcB`Yyf15(TihFWEElKooIE zJHj4ae6fAv@6t832cB&>))1CwZ{znx+9nOhmu_Y`82YuqnQYTanl%$_#3XE81>qX+ zT9d!L|L5TRg0^4std9W5q8Mz=cckL~iBg75v;JwFNISR!#xbcc?G!)vrkY*c^pny5 ziKH4%(h%zal)HmvA6r3>X3@F{lX0*a1mWW?!_Gd3B5P(Z)IN)-v_LrXSvK$TURA2P z6%*Sv+6omTKmQ0gat^d)YHeqTG%CW*cEv|~1s7Wug&oS(=yJ8*x)$zPZATT7wJMG{ zTzjBU^XNcvq)&qz8u*dn#UbC$Q39G4|`M@{Sx$@ z?G0Li#w;SAYKML;lR{K4DJdE)%lA3s4CP!4K{b;`ejr)ZZi7OX>zW}tM&Cjl+Y<~& zGuyI#w2sX+9B%NvUy%^?;x6e?>EAhBzZtjj3a6I&$!q$|wWe*MeO`fapE?3-!z9WP zh?>WOaqYD;Ew<%nelUIUX9M-BbDDESnVlK9i%K5`CETiMZs{Qjp|D;Uu&sE zdgGj`94ZhWL}N?)rI(5hdmMjXa$JsYQcT@ti&O{Y_h*$Szg)j^Gj7$g@oDsJL|FN$ ze~}++67m;UPh9SM?pu8#-+!&CsqN)jOZ$}n=R5ryFF)U9!%nQXPw2l|@0{^C@uhn) z=GB*8ZvKgl{!eWuuoY<)6C3w`ZM^#06#cuY{-LPB5_x#^Tjb_2;_Ona%GOw8!{~*f zd*>eWW=_Q3m;Mj6{fHnD7{8z@f94z8;a))8e+PR9w`WM#0ux(bI^0iuD(`tKVdDJB zOF!OHg;T2y>=h<=R|-9Ye!VY0`{vgN2JhONBtTnveLAQ8ztl6RC8O}luWSjsy~`s8 zZ}+xmJWu}pzIgH^YSnu>=-;nV{ovw|f{By7zrVh|bvnLyMQKYx*4p>XwF^5d zDtWVynna}vGECoXj5v=w=u2I@8qF(LLm*tu?9ZJlE`FzREn=cLQmW{dI!4P=$jvkV zTx!i;skUpm8>ghO-;(6DqS$p}RGciRsU+=71un``y`9+oQO+Q%9lzSw!72Wz0 z|G}Dz@VqcpRQ0{ptaE#r0-^+Av(` zY~}`9@z?YtPb%^V16I=LWVUvgS6Ff6w!UoRUcsZ|@dML}?`TqS3&Tg-D~{fYDQOA( zzIKd_^li`o-t5Q8G;NcAo<1KY>_q;2f{Q%XKULC}(ET}ZtK!)Gfdm0d>NS4}|C@B` zz5{$G&gBtbzhSu}%P=tm{ z*hJo80r@^a`2K!&Y|gz`@^u_R>j=L%jk4DbOLD#2&%W5Hf4gdLdI#R~ady(TT|8oZ z2s(dg#DKm9iT_KNXpzj&D~;uenF~B6^(|x|n(xtEB*DnL6k38rdrsJTn%m5+VQr80 zt6?~W0e8&V3o94i@CG?5Lw*P0On_!gk^^c+qy+w(4kah4Db3&}ZXk`Jv1MTStrjVb zZ?O_gjyC))Rv71>%TZmxD8A*4;p+b1)}}~#mI~n}8R9C|?}yQ;4aBqCpn#8KB12`u zCsv7hXIYbSv-BBQ1sir~i6ZxdA_#+Zz+y%+Mv>k_5+F=o1dCx5nB~0R5qKrAPYv$8 z0Mx8A`f#j~F9W21`}xftdY;Iz^I7k>@k%soCKtCaDiUHgMiM*3B7hSZ<5)euG!hGj z{CE6-kq`|M!$S$F+2PotNSbb}J6QOEt+VQoj{x5xEyFB0U=m9H6bV2J)<|B_NaQ^B zq+PsK1IsIW1ca=86B;G|epKm5g(J&WR2G>+W()9KBb#v4-`@m`EeYPiJE-Ab2k3_%8B32IC2I~f+0VQ3SYX6jb@$q4&&|7#KOF+g72 zf<59xRwkr$5}Mc=EHj6DRG!MbI+CM`{9I-Nb&iDvNB3*tlG3f0Nbo8mRqi`wOslmJ zmNO1OuCPY6YZwxvH1HkEKUencQnMo`S46*+Iltd0F@rrctTc=SPhGW$Pm9H3p&&h!|9d*K-y2-usGc zN~RI`emJD6!5^Jwkse*a82UgeTF?W~Klo$-XDCPpgr~Cj$3HbuM!e=6E%kA*VpyLC zJ}m|vsONPsH5k0@Rd!))FQNR`pdryYxepJyM zhkYW`0BFV5E71F*!c%Nzfmlh=c1h@#B-{ut8w*FY!gP zSZT|4>HS;MmRlyNk(#~V&x*+<<4x$#kRYVw`9)( zg!O}Ek8kBwxnw1ZWDRAVCq|yT8Y|Wk0in)RycB^>Y%1_Zv54nh3WvuL)rA!w$8+c+ znGucItm*jtnYbwt#a^R|br;lxi+DG@@bO_NEh|U;gVL2k#N6Quuci|}j8xQ`RC)!` zf42$*q^?ZIqRX4micT2#>@|gRhm|`pU$Lr1AJH1;%CJ(0jlZdCO{l&eSGM#nGxv6J zHdepes7@8oI5eA;-=qzg*iSm*XRou&?*JKuELjdi=v>GpT%-v6e{Hr5+Gr#I1|_w<|I zjPbtb=k_gj?0fxfAJ2Dbud_QOKtHXfz_nQIG#85EKP_)w!x@`zI zF_MilLUbA_Z5v@sj5XqnwL6XXZ5tbzn3%tbm^#Iox^|i#+BQ9GVspw{Batn^!FH_%MaD zKbZsJ_}G3jvAsvM{cK|Qb(A#1oX_@t7k7HB*AN z3}IgvL5tr=Ibsi$fsoM>e%n9*L(b)h>}j?m@8FK3>k+5J#ZJebIi8SlK6%8+$J9CU znNw7}^O^Vq30()`b`Hdvx}1`6xpKtiY?n*nj!Q}Lf$VtKW5tdK`8yz@nFa-nWC4}Y z2fO1B_IDk;zjKgn>OLCpKGEg=bjN+h^w4wDLzWys4Ibjr3H(O|dr<&l9FHwi&+qY` zzq&mC?sx*tyaW@xM7zD9-@V|^y`U_B01I40k^DyjxOD-Ke}1Lf$#DR{9uqNykmz{3&!o4Wn)eD`lRJJFqRqQCpZ{qHB(W&xuK z0TbN;4c$O~Cke(9uK0f3Y1?cV4_!_Odfy%N>3h%@vy)p1C%<=}{Pq3hUo#>wktoviBpy3xn01`sZNfcD(oQ7l{s`V@9%7UjV%8I4X?{{MF-XN%Ox4`PF1(Z| zW$Ni$>ixsym~V;yyva%PlHeYb@Y3Sbr6y<1!z)%#RV|MZHlny-YP9aHG9 ziTD%}kpU7md>>jScPN4~kZIq46%;WgDq27cKl>gc0)>pxhf_5LZ6yzlQJ@2q1LV=Q zI(v;tfZ(x^up_bBWsYY`dN#ZPQM|n6fmGGCF}m#lOFTH#-H?I!LDZF@MIQriZwek7 zZ&O%6M_d>pVb8lS0ocS0qd`$oohi+;n=*XCqZ9^N#W@$Z3Ms%yrKAb@0+Fgf;ly;I zPzC~~rW3=FFW_2*f~DIS2g}lg9B)X)!}2ESh-VwvuvO_aVA9!9D4i{*@Y9UUlA?2E zk_y7c=nCs>sU8rlf&?QDi{x??imBnLL|8pZNe+wUt21?SvFfVGRMP%rRd^})&%h^< zGNN!MT6CaizXuu71_T(gl>+dl{CH}eAcr#q`w$UhR2fqM*e3J>SUvgL}kHjmxqID2~!YF3Su24^oP_&Z}k%7u0xIgF%KgALR zQRPN@wT>(ZZq*6+(EHzcruqW0x4;W&U8Zmd=ae^*Dm4Af%-cKTi7^!)H&~-|vQ>_SZ zl_J+lLaK6Y)Zu>7tm0ybRy}&0$vl~j3~uOrE(?FX+l4U@--xcGT}oiOPq+gc!8^2 zpLCV)we2G)q;e}gOWPK8HgH^N-O)O8RKu7{bCRh$zm(h8Hg;B#BA?q zG!PlVW&0VzuVRq-T=mQ$k~{FLJL%9mT|Qb+7|T_lljL`PzTri1r7toNF2Iwa99b44 z_3I&px=HaiBqEyeK*xel7LeyB@G&fyo7Hd-H6??Og99S#s4DgBn_C;gFsdB-F2a!z z7t4Z1V32gul+I5TXCQLq;>AnLLcfWP2dIjDz}u?;c{*3YmqEVeEKR2>7?M;5&kK7H zWZGUbJ#T0=wyL)Y9}Bit+#$7yUc8yblC)yWinGP?IdS33LV8riXMFb~2{px#$1iAJ zWl41rP&)+N7+dZETJS0Z)x||BhsqdlT1>JP%?0IO9@o3d5_i9*SVK~-Bk?;6aDJj( z!&aOGB5m6s?ii&ms^SBT!qAFP7h7>*N{QFOkbK~W7{gdTrYhPp?vF0>g{szm?nudX z!T3pJ7Z=saHG~Z!CNU%3z+@+DRugq72cu!CFzMx-kO(Liq7x3fafblW!Cm03c_%thhVv?#j!dCPE7W0g3SZaIn5!M4^c;xl_-#Zv0WV&Px0kwennYJpbNMj`pS z2$FcrK}W6nkqG?QM^JR*yqRU7V8HcdpvF~>!ZK#2n4}WH2A#nur4od&7^Qkrjx?c{ z_ZltLhk4=@WEwz`UnU?|0n#H}q%(eUVrlaEl(-oC5Vp?V>!%8n2!j!j3U?%bv*bU} zQL`8+o8?Jz4B{CbESU}Zywqc@+I&uMF|kw z`yX2{h^t8ESJ3$1STAtLUit_3*-D_|GFNthuCPjyAuq~Ikv<;7C`VkvPI4rjNh-cv z$$*y!LmA371OvXLH9!rH+|k!!%b!ulwL~bRo}jB&^S8${M0cUe}jL2{}^4FZ&K8(W?AxfbX9KSGZM=N zvrQVN_$cb%d!nX|(+tNPB;P`Zl~Q*Is{2&;L{dV_t=a$1X~$vR7y#%Lq5-zym7pb7oj&rmCwo^m*m}M>C-SA#ZL&|yOBnLngTr7>+I5_} z^@5!LcQJ$=&MhWlTj)w=VbY`GIzQiy;-#oJK>%2EXfAHl&O^j{CzOdB4w)s?GU~?V z-C9B;5B>~(#5gzWtuWJdE$_O@Qe$2r{A1NVHSLZ#n{M0O}d}kOMw!S@n2$!;&DNcSygTS;+SD>02xm$}8kZ(suVAS;@mo&}S=qEPS zb#$QVoPhUG%D7jWsM$AWtb^(&_s$#p{yHxEh)pLsOo)ahl@-A4>WGgW;0SJJA#NQ% zVXJtb_|$^hN6fT-tf$QoH?@hKldx{R{-1)yLh+H-jw!dOJ3VhM>Pk6_lSX~o>ewUj zuZOUY&DL8%hivW%cnhTXwUZ?D-2khl7Igs%Pc2W5Z}KK=-gt#PHTz(?{Kii^Anqx~ z0t?I!Hgz0&YN{mzyn?+X(tFinDPkL1;hE$Nbwo1f+~rU3+4>oCS#wUEUk?>e83*q- z8iKhE;>!k{a!vB2_}Rv!#h-yV4|yEQ*uw;eoe`;UTPLb3+LcjD;acu1`R32OhT9dj zS?BWg46qnT@_Vb~5(qn`Qw*xTvpj|RTIC~t5GWUX9iIGAO{^KeZ$aD|defAFn|55d zQtvrvIAyu$XOd?%T1KkzFmCODU4DoUf$BLCxiI6vJ)fcd>|6p3e~4Egq8Zc2bhG+Y zCjFm|J||QF<>l6tXBIc^@={vMaTuy$y63>lvk3kdKWjVe2ZCqHM*;@27AF(;Ibauodxv0R^+D!+JTElh{RendGetJx-UiztYLiO&5 z?k|>+X4~4`|5E>KJiII*eNkcAP3xj$?1`$$vLcXUywX)q$cs-ao2c zM#xr+<6{cmlA04U@(MJOU7i-`Qlf%oR#*zp<7lPQKbzq`ZKNYKLp68P^?BmQz zJFA{fOIfIaWcwVLt13XNEj{J;vU7sRie2~!LxRu17%Fi(BS~gOMH@e6;m9xLk{uF0 zt+;+hVhYVB(v-Srx6=afx$&qK=?M1``NRT|M3>>T8hScHOar=lpALCRc~iIXL(=Hf z2I?s`4GwGHpU>}YXRz4P9*dKe3S3dpFs)I|@NcPV#9a2#+&+ny-k_UxTdMMM*XgN7z|J<_@4mm&1!V_Fas zjL;_1%=l5A$(K%%5WKUkU$B(LI|n%$d|Hjr*uJ;@!az!D*(q=|c*X5_}QTLdhs;cc^*^3THkI!J$OW#1GtPojk zml4aZ!toEw0J$H`VSFAdGdiLc;>^sb--Em|j_uV*B4w z_-=8w)2;5>D8C`t44+)O?pGpXa~3h0l^$7uffakGDfuk`QFL~G5G%O+GpI?bhLIoZ z;-EZ>9lAHT<0`ej-_qx#0}t%??M4yZN<3!P~Mqh_WbDV&uQC8vlWJ`kgM z@Fhv#6YKVYzM zL;9$E{Uqw9jJ=xYE>L?O?xtRp)@N-bZSig^%l4g`-G2$XrinmU>^j4hiIeNJ+_@Sn z5+aa1?rb%=2{z~0D@=2QP17+Dy(NmG*%DiRjVdmRARyKZALZZwyjUs2eLjL7%Z$N8 z&gX*e^A-r0HY1pS^hKmLju?^ME_NnYjbmX{WYK|vgf4(tIFS+kwAj29y;}JOKs_Og z06D!gEERQ6$O6RmOmuXxw~g(ys^7{9VzP%F4F+c9-GY_h0fdJ-)Sw^QJyVopP`zFqx$M5G?K#!o%PCuw0XO^lfk`R zE(cV?aM07OG^LK+G`;gctg?9sa=G@C(QK@wJCPu28sTh8ZWD+?hggLzWLU0}^1>p( zrBu3*fnH)(eAY#OOqQeSx|hUpQ(eKD%}krAEyzHErsVwiq5;cDh!xL8ekL-NPN8%7 zQa04OpHQ@CaOSDXm3lG@rP0QPB~PcZZ7t~^K4bE2cgv6?S>wvHg(6381LWTqJWB2N z)WqqnD2C9_nG&67A(d*%Z*b|Zr<=o}hiispf@p(Y=Q$h&@RbC8ivB9hQdv1NIc{GVy~DV1zbmm7E{2ucJn+s^c#O~BMG0{d`0!J^ULB zcKBTUNs&xanT&^_KyZz~!PwwU;K8=T0>&IqLtj}t4v5dJ`~1y7e-q4y!<|1S>tuLE zYZGL0>Ogs?Fc}S5-Gq=13mBlm!A5e{1t6^gkcFYaEjIMUrl1-b6vYtWNo56N_(k#* zEiy>o3tzkg5)(kpEt_g^K*j~2OCNb4CtraQ+`c%Xa2#5EohYgs;>72mYNL_f=2wzs za(uT0*YMClK#1>1R$&sx0&{S>(Z$;EipF%>$+@dj7BwCx}=>*8FbGfQr5M&c7Ra9mc?UmIq?X4v#Q;-DGAWAcf zL0^)jzx#o-B=e4MgX*%b;J0$5K7llV2Sr`4!heB+dLc*aaCoK>5jE;J6z% zoMOxKKHV@&1HZjpUM*U|(5|R;t+*Xo(U4uy)Kt+jQE}%}#a+>x?b#)YF_1>;r`LH%YH7N?+o@CV!dnDB??As;=Cs;p|(eAGe$e zt2v0OgK*b#zjsk$W20iB$z?zLjFB zX%;N}o0X>6ES+@x=Be{4A2z{--Dqb@&76Hc*uM;VUV0oMGo4-gia%asMTh&-H%T(q zNIF-$uB)jC)=dBM>*gW1O8jH`v*UFVk826PtL}y(s*`P~yj?#APazanZ z{Zs?#qW9_I4YCauVk%fTbQS%70Po6XKn4pkCk7pq6p!;tEMvk})S*?sL1AbyHXq3= z8GpCHo=Sv0rCj_oEi(E;?DHn16z|mj`1bt8mLPxT12INxb93!QCVPSjjcR7QwJ2A# zNZw>xYBN2q){b0dK3Z#Uw+DB>5H}?X&++4HO4UiaWznnYOAn z6biwcUz!%~Ct#kEL7rZnGvt^+7SWD)ceh#K&bCNnhYgtn3Y->Z_cA3Q?XpqrEfu`F zQMY#JtL|g>+V}gH1oCIBliQgWtD3L2fd90gNtPM6fOTv-KlG9ayV5#slQKlMr+X#Ap6S75?`Vk*$vufy)4140$ zf45d35HB{(I<+z_Vn5N{{Cw$+9x+rQ3EcWtP$-&>GkTA_t0qoAgrJstBXN=v;xYpk5L76yM?bXAwmh#862w_ z2iz(d`pH80J^d`ot*hCX?nF5{!*VEPNjNkJ@CnG#)53*@688WPg!LXqo)|a*VIS40 zx_7Wy6g3d~nHA(VDw{lDr_+v5Y(2g{=sL-|`>LJzYE(*ZVDBJ1a_N#xp~P7S%g~kWFa_+Uvf5b)X};*%Q^irO0w~XN9j1kWjq(LEW+T$)3JHk69N- zYXcrSuMPUNj@@6Xa-J3*L__aQi+`7#kdczu=1BZtU5;kO#$A-%0YU$5OZ;>~p>#!r7GIpJ4D|fd&@ray@L3bNLYJu~#(f)XnZr_a}k5 z_wI>5X&fB=S^2mvw|yt&iLL*=zb#DBGu;o?rvYwY1B&2DN&hw@Atn*hgNF1_AT5Tt zoOc6YE8!LjgqmZE0}9vEBg;?o*IAU0MJ+ZID+DO)yCu@Wgk)x@x^0Sd;31`(f<3Hb}w0}2fFmUd|&;%_I!vAB;MxH^M|K$RZ^d;vXMs4|aX+@_6a_V*BFL*PX}J?heK7Mb7u%pZC?Cw|x1!$@ZAggN33RDg^$HTG^HtIPhj1pso7d8X5!HeU;W=0L|xpw%IV^7esCj9&R9!e)stuwA$I4Jc%2_e-4v8&9ubnpH;3G%vU> zV2|9?#zWs0h)9X*ept*r=yBj};yaMA&OIU|-oe~6Xo0(bC2DF_xh4HQ6O2TQZP7)q zFNzdy&fb+238Gb=0z(}G9~Hb7uHLloC=eO@5K=>g+%0I5;tG{bi|FLp#43o~r9f&p zLR%O+sVnKNyl z@5Qt_qhT}jPl#g@qTA8}ySOu1+>Pvi>S;G>*%1qbF=CGy5gUfkeE$lD5-#5zi6%d+@R zP_PgO53Ny9kT!rGx!sy)o3we6QRxDe9W~( zv>TY4D$Zhv{-!7T0sa&na5ry1T1c_y6R;bHSW@g?78J;vf(vuRBn@jf4ol*ewWdaa z)g2XUKH`)OkTm|syY)Ey(YRf@sH}eI!Zg<*3$Ec&=Qp$Ll#4KndABgLa-aa?l&^k# z_MM9wr|y#W?0e-qTG}BcWoQ1tBVmMvX41Bp0`K;;a-LTh4 zMqznks$a!{PnkL8W@lHIK6PqM$1cTReSGZWr`dWpsZ!>TJO7E|j`t?+&ph_buEVeE zLfm#pu9>?L_pzBh??v0!!Am?LfwM0Li>q;r-FbZ+0pJ-(l z9+YpWgtDYsBpxKTUn#@a#WqMjsn33*Np5Y27`)xRu2HR+2w$%liiw!I?o!8n)UE_W zoRW#1y5Ll7A2gm@#uNA7bT^$l5_ib_Rs0-ABN456E2WPu08tB|tRla)F`Tv3FZ~wA z#?XIhs>Iq}Q1$SibX6a%N~P2yF6_*VA!Bm;{>R?A|1cST0)ys6EP_vWE zKDWp7@pwM&xBKtZKO;{K=`fbEyf{ z`Uw4oJoZ(OtyaS;(c}E*T;)rAZ&b$jLC8~>rLaMrK`Mn5OMH5haveX&XW? zoZj-)7>O1DI5~D6P>$B<6XCc{xazUHS~Q~*AK%f@FU>D2y}ZCqJ4bv6tr`u6K5=*Z z2jJi;L*^lHvy;q-Oq(rt!&8bTIutrlEiLMduiYQrPex+{lV=a4{E04)Jb!WKq~XyM zF%`)pX@{y#uKhVw%~DIJ)fU)o(CW|bO^6U>Vv@5WO*0SBKPdzz`Rl{T-w%VG6RqW#mf z@!PM%{(K4S4i9LqQ$Lk)mvil3>bIX~{;jU+8a_Qb!&kqYvGMiP*k*42l`EO+C$2pC zxOM$I{nh=006E%&vEbLoBtox9h`L?=Jl~c1*NGyvy~pPM@m&@_lGVqX?cG_&1F{g# zs0}@hMwy0yTnE$fWgSAxOdc##wtno%nG0@TG15$f&o=m97cCv=IEE#|F2{o%o=RlFI1+db`TsJF6kJ>7sN$HdPdzV zbl3z!I*dFX$wz_q_eH9v`t&Fp4RYR&@|B|FBQbKVFx@f%>d|_K^vb;gLu9?jQb&YG zKI|?EG=FAEvR|Qk1-L6DCctTFM&HxH2uYcOpGfa-e|1k5IX+o-cJ+dmW;4)?sbqb& z^D56zMZs(wZNkwrK=e+_C-Q{i3BprP?4=K98t3Q!zU}7v5I__3LE8%c?!lZ6eE?R+Ga@nLL6=;S$tZ z-UP-7cx$7;koFP#iM-|sDDl4KNg7k>G|kt_1^&Fu4~XKBV{8mJWRm-IwR`9NJvJzE zC&XE_2S&90)uqL0Es^RmqkQ#dYVjnAcqMGz+hUCr>3Ic7jaYcHxPB|B_l&O3$&Do^92^hEy{haqyjKb$1^Am_A1|00}>|8uo2fl{RH82Yt;WfPD8Z*4C+Lv?F zc%6i@b@MR2udwQYTrldsmrfO)6;F#)u(l*Rrwf_pg+O>rd6$I|UoL!LQe&|MV0A|r z6iaS^y3yTTQy;6RTnECJ9iei5!lLM7jBD0ty{zq}3O+3on$u04at$j*LE^Ttcd+hi zd}~44F=63?{!zvEA2{jc4sA;Zce`eB!nBZLO~=g=@+q8S=(_y78ywj#Op${M74(_> zLb+4C-{+^RaelJPT+jJKWRz%HW=z9}kT6MgmA@gQlO;>g(=W=Xn1(;<`AOVeT};~~ zB13PNoF4TlI-VLSf6;8gxo_#6&Y|>N<2<%vJEJhe@(+9r2a@*}t33AX$L!0BR_zY( zvS77B^+_CT8zlyN^J0I3E4X6T?{m<^A3=IJ1iP_lWk!k694q&>`~DY(L{B4Il%(Xg zN+n|}fbf>d=N4WyH(0A3L**mKT1|Um%|@As%@R+)YN4DTY!vaXTx=A?tA|jj@U5%- zMj!)-YXNFH&39ZJZlAMz_6M9)m0bBL_mD}1duQpY22w)$C8d)!b+%IA+{rI$Xo=RG zSkIAtN$6oMMQDrSo36HoCAj&Y2FQG$_kOJUwU`E~)mX-N-Pa_%f9zumUmo3c=rdoJ zHedPx{O)+i$tOz(-?hT>nsQvT6!VCiHr5|7o;n?7tl&2r5Jn3a=Z`K`k7A+vTUOm@ zmiddt0A)g}MawGgdh)5C+?p01Y_OGz^)BQ+z@zvD*fMH%yv$h$`K z(LN6qVp3|ZZA$^#=J4mBx&o~`Z@VgN3UiMwMxr*!naPb?af|6-R{TyH6q+acE<~7&Fr}#Igj=9fC^E)*9n*Qa{ zPRSmmiI&~kME_ojrZ?VqcPKv%2r!FRmht!|x%L9AAjAx%kTiVTp@+pPL6i@CHUOb!Y4POGWEQi0lZ8F-iF6H7;x@NT&sKrUfG#{ z#)xSmo%4n0uAadkn3uGp;Wci#Bh2z-#36@qckM;KYV#$8BW&A>yN;fYvZHdVbjM&o zhfX{Jv`{Ve0^Og6kUUB-HG>24EB_@S`eJLI{;9@v*1)D}tTr#3Iuol0uPhnY{3%6S z$D@WATxgrNxJj~V2f8PT=u%(h{D$bXDR{UaC6!K`5o$RjJ6}*y_|VRaeALHMjGHK@ z)1eGu<%|*cb6rUCfWwJfRw#>GHQ%m#%c%OVA*#E*E zSo7dy=S3YF|4u7jce1-$layW0Ma@e(!T8ue4A*jZpb*a-myv6)lYFl)ThViN^sxlL z=gd8Qvut3M<7MLzs2R!4LrlY?1L2^&^dM#3btazFxXrmII2m}L9E=t@6rJkivIf{e zMh`~TyT6*c*%;*%x1HYlV34^-E?)<>B{+THGE_HU$EA9m%N4w{$Dp@~-0KxD^X6Zi zPJMAEmAQ7m*Nt( zm=ar^dn});#mhN{2A>b$K9|iySy}|!FkMrnLazISSjvasa?Xcx$5x?E6yVu)1`(F) z(payf0Ss^CB&U`!`*@0FJaM@+nJ4M<*gCm{-8kPf`V;IW8oMgncm8J?w@8x{tWDd|QBp|<@w>pj&?~}9F87@uW%o50n>f8x4W{?IX(8vfbMo*S-vRc@) zmtTWb2M-?|P>>qbnFnT}bJszE+xiC^G611HkiY>@7FkN%p`ptI_zQElG6tZP1M9a2 zo{W|!mJFC&s-^HCO2$l=Ne+d_%rXK?#dH0d!EwCZ;3F@Kj3Lq4!`ekbNGUmW9C(i+ zRJx4e0^=NOVO0NdwaEtBue;?(0CCx@bWu8!mwuFS<-jmnD(4zJ{84Z4W>spN5TfbnueTUjkH}S#T{X2a~zg$CaJL^J6-a&)Q;<<p&7f6Lyst z4P5bs<^v=iwGFC`816O^6TLQmXx0oP44l|Wkr2^qh_=3Sn#`oXlUh;_fO^}?dd?9^8czb zB)y`6-SI|FJ&;fyGh;osX7(v@mK}AJMSrp{j~wj8b08P#74IaM#lKT4cyXXV_&+o| zku1f~0G2-~Byl-mT)zq{W_$@du8DKBM9QKAuph=bNr&8eE*`z?ljQShjgaJ25E8l# z)5@7JZS0ETq^0V)9%UTNKBJk-c5Ny|8Rf(`aT0Ot)PVN~7V_I)LehAg*y?62%Kh|m zNG#2XYa~gnR!*wUeI#H6uY*rcwwkX4%+{q&OtL%jA>Y>_K3qs#2_%#xHhtxYZcOxh zvdvrS@l9;%3r?B{A7=C+Z07)HWhYc9#mNYOMB)3y%vOx1MN+C%t`!i)=Ol4KgfX!f z9CA_va)81@Sbkj6I+#emiF(LRYk?&26mxk1S^%fAOqUGfWRN%!cL#4RC2}bu!I)K zNvLq*0WfCTB~ZgZrv*SphabnWcRU8fmV)U`khs(wlMN=VoO5h6H*+1t#qUnQNuAXN zCsXoJv+VRnW$Ub>XbMDpF1ukq>=M9!I>Z-E&f_1nRD0^(QW!?&^vkhN<$sFDQBI0T zl!_xr7H=?w3q47913MiFH&gpqVT?I;x;+ z1PUVOp2UG~Cj+Q3Q{VO6<21Gk?P*Q#=cFFUh^LpNKD3V z0bfA`?&m>hO*u3=XIBfr)E|-n%Z;H!Xhr}t@)zh1hz$u6YQ(%D8V2=tNU{)4yT!QG zZ1(rtK0c{Z2^3B+S!$|)i)xZeYn<%mfl?;HJ7M7CWVQ6@CHNaEDFT2wD7{#+5CXB3?BCALj=CmnKxmlH|mM9>-Q zv*M%Wh6O;57|~Mqa>7zAeLrm5Ba?%GwnR56uv1@!(IK75oU2T!kR3U}CAl9>9-tqA zxwmNvFpd{FH<`AmLuW~6f&T2|*xJ^SG$56F>|`-;x&^S40vWNEN*(|co-@N*Ap3cs zxJk~LF>@_ifDkgLCt}p4yztPgxsep$jSk4v@Y%$H z9CbP{shq9UbUKE@`Tnci0V;nDEtN@WorSeznS+lvNzM0w6Ezr{t6*9x!wSvL814P| z(I)byj*B)YoW!uo2B$!iX`;)8gU1=MB~oT2Kom?2)CSlLfD@pM3;qyf064B?mDcz% zbDd-Kof+H2wj^?`hy^CK=VCP=_`qEU=ud)<0-`C~HB%V}B^D&-z;q*k@k7Xo6kuWr zI0u)L*_89799XLpn6fT4S9@-b`%8-kN}_?`JZ9hk#Hm_mibBt!Gh*n0@X_I|EJm;f zBza3Ripx=!kWZj*^Bd(*{s01b5ML4_3VUu0d zAfa@C8SRAGD8pp{d>BplP0Vp*FoJ$OfvuoL2| zt^x%m56r0Jr0AB1?AIgW9zsL-t92K2eF7{&b-5XhX`2ho2-6)%+K+f6!1H{F?ib!=Z7)`e82atqt=17MEykfo7a z_w0?MOim_m!tV0~YcvR%oEAIkuQ`yDOuuhvnVXRf^p#wV{27|8A(hFHI$2%9X<;Om zf6Oq|jsFSm@dJoQV%}kP``WPp_2aum;2`f`CLzE2MVx*6(z)aXl!JbJoiyS3>1!e! z$k3GLglCgVR8H^$4p)Q4>fu`J_7QDJ7MY!QW-XC>-1r=1xRx!hW<_6%$!?nK_b)vq z+U+;2Cf)taaM#uo-tq4$MTmwa)iEpY&<7~+@67ahrWRIr{Fc-hm9Fp0a>CBmtxjWl z5r6hlt(u!VU$~lxS|{~ie|Qi(J#`iNGwxGs{F7~u3QZ!<*(FUcC7J3>591=Nw{E|* zzs9|ItpDiRprMJ0ullpj+v!w~i;u0``jC<7M=o@qa(Y#H-|NVjYgA-)^UiqCtJWAt znJ;zq!;{?O{cZT|MoZFDo#0d0p9XhAp9Mp%$DZ^67W^0I89HG7+o$Vn_^+paqP2>a zYP$qc^#tr;@kkM>M0YmkKz(o9nX^eAQ+D5SmLv1BRH(Xg<1NX5<^MfiJ_4^`l0CK} zKKGB~0I%_1cxKoN0# zbr?auFll{~B>+iFyN6Kq+kKOMO!SE{xX>; zd!@VY-Wl27P@AqOXzXy$Whu{N#m4sI_-(Gx1W-{4+Qoxt^Q~34_vD&TB1q5mPL#5L z>vB}lF6`RWD=Z($>NAfKOH2#~$jYyA}pZR>j_) zy?B8B!t)(flu;v%eb)ml_IDEdI;=D7h&%i@x5pIU5a}^7chBcuzi3~$5aVI@6?A{w z_Ko(VA=j|ZgJW^``qw}f|LI>tB|ZfhR+v3^H@KM4YkR0Od2r{ufi%z6*u7h z+?H33w|dO_>6f}K$+Buvxwwct!-)Wr-8-6P7xqsRU|L;|dT2oAK_St%@_Els&qLdV z)kSuo)&N=KuzJ{-q4_4Us6EX7PgGgZ-n8iR2a2yAh0b}fJP%4~MuSEzch@Qyv|g3y zx4$y5)M4CSm?Wrp|EBefVnQKMPVFFlEnwSs4;$}{@A%iXt*z!)`yCx?wG6FN`%bya$v& zwjz0eOH{+H2PkSYa~&opWn#FUuG?x5RrETTc%5(8{P1=HL*!}ZsqsIz62f7`dba{slH;W1@8)I6!gd8JMlI?pfgLVK`x(}pg4RQC z{w!2nS(b^?(m^$q5VqA)AF9N6+FGP~ZtS*X$Mga1ed8!2)$fe_{7xUOALvFpj-1h1 zlnV@C6d&`KxZ*KBgCfJ8_bXj1x`$0rDbWSv_F8cgQ(1DZXU^j4t!_3@tAH?x5(gU-@>ROl|c*pcn?p5u^#k zB_aE71rM>8C7>oy@{;J0@+OkrKa}nRspA4Qk#V)Bvwvw_@GT-dCN;OoX9;BBAnmie z_RP7adVTYMJh|j-fn!6G?@oY}=66deFuDQVi$GCH4uyF9#sCT#(%H!rCitMq{=^RvaySB+`u!z}*qD#|I`=m$_g$vq24Y zaYJ}Xg}|n}lqr3Vr6o?UxrQ&;A6e3c%eL*hy^>^lzK<_oa_{-}n&Tz06-2fBNaD`t zHASad81Qz}4(;ZKa|b6QW!t_?Ianr1hP+`R#-_GGp9K@6I;UZgC1AHb^B1*Ng|+dp zV!Pc-EPSc}?$qLL^?kWS$Bd}mKoT*`hN#m2mOo2dURU3Ju0~l8ksi9$QcmZsBx^5rXg86+8+`a0zNz7ke8;`y zO6Olh8R=^O;d!rYG_&x20`0#PZ=XfFd~9kx>|Yb8x}{VhbCreqTLLl0HWeQ2d=4EZ zd*?jG=S8*?)HZMpnW0~cGFFN3Gn;&qH>IaD=s@?iv<~b-slo}YKwfT)Z!x|+6}t$4 zkh9rGFN;;_sYJNNmu@#v#IV$xQH<0`Dm~}7mBRiv5J+BAm&-a;UTgTU=DIlevn?V= z3r2jlQr@L2*7eRD6`bCFk7fToN#XdSq`k$TE|(Q6xr|01!+}<>3(squbx9VeHH~gl z17&FDWWAdcFV1z!s)(qv1i41)E_jlpwQn~O`J2~maSL7*HXfMs{!7P`dR*F+o~AMgM?L(3pOX==hF3eMl9Drj6GBFB_G9ZLeQ>|3fU zrrfqE{_DOiq%s2en{2}@T*`evH?94}s4J?CB6o69p!IU#{ZLx~H*%oXr%WQ>uF*`G zc5BL%W&U90*nLrcav>c4uO#<9J-h3qA8{9bjBm{RCURR-Y&)8+8`!C8Q4zZ%J1sifbZG9@QUeBAYI_>^y9=?n2@cD&NH&Xb{FeF^rex zG->-bhX3-S|0CL6VU5*1eP{uS_;&f=3-!K(P@D13(u=1&P#cMltUw)aFY+G`&Ae2lpuv89oK5 z`hf9OY;m9ZC}lM+z(wT@QK@QM;0V9cg+=_Q@j-g3_b+|V#h`o!)s&_#0(3BKHSjwa-*swMRJSRfc-kxw zodT{{>>?ecMqEn2~ z1?w1HiZIT?Y!8pPxL*gopkw~MTV-0o5X^FYf-ISZ+}>$Z``RW(2R0Om**2kpg- zA}xT`S{RzyS4g!{J`+tLeGp(Ms!4uKB-DGC_IXMLwC4(_JGbug?gSGu68HfBRmEZ)^Rm_ix>(v z2vLg;sf`M^ZpcK>xxgC^xX$hKH`wnL6JgR2Vkf7BW(<`hJgIzqw1F?qz_$lK6g3pR zSJjuxAyT7{UO9QxyioDtu{BX_6VsXtDQ5Gf1S?#3y*=QX;6%%k>E}b5xTC zimQQNbAzX2%rUjO7=yW!)N3&f(V_mIlR^x`*`E!LTuVN0c<4Js30HT>2vFcIkk(^j z@x5u63?mjm+eex2DMQKDwFvRev5Y9@i0l}-s-(eCA_>f8^TB$xo?o%z;epag~K)FM%Er&C$HfUUr9 zvjiQYeX-4W3vK5KE3!lDXJrPmW#hl>YNClkhIq!<=hjfcZB22F`FiNBPWj0_+gchF zo%!-T*(ySn^FwSUn$(rCFv=9KiVb180>m4`(kcu`KLPUwP0V4ag6GKAf01tC$y*w% zA3u~pIE-2pAZgcqoK0ja3A&2~`?h#8>w|L0d3n7K9QjO*xk_qCOfvY(zL7i`yj0V9 zo*S?BWk!)qeYR|U!;cCpd4T-&cWB#~x?30GZXDeS*rf#0l ziDxNYKZFDr1Tfw7`HXE};$JbghXO^m0Ug$jL`=Qu*#?r0AIn;=<6R%$+ym&;B5?B% zSj@|+m9w!ul8ttt?Oe(2B!Tr}$ul@#PJ(CN0z^n;gU2PRG#EyBB6d`A4|>d;)?tkY z8e{nm4E9A{GnEhZPdH^K1%D3^wlCx_fQNx0A``|%RYFHq8&M6~Gph`8Nhj3r`A2uHac7J4*wk84;E zFmX^!Y-eF%z|_WKt#$$z^Nmc7D<;gbip}{8G~aR4&5pZIh7t=VERN+HMH8+){r;n4 z0iviuFg!*un#oSzxM`Eba-^{WD~J}b?<_TU3>|1MCID*W$)?WR_YqxS%GmX@_bQ1} zr->Ggpt#TqyB45r8KmG6!Wae=vuUs}f%z&_t+2xZKh);Zsj$9?4G_4M33MwYg1M5$ zoj`0m9_vSxE_AnO6bz=awr3w!HzPWeShj@%`xZb&dk-#D;P!@<+(K99eUTS+9HIk7 zIBu{bNuXW$Mmiltf5br}V2s8MP0JnH$-wRHyg4s{ zjI+B{pWx~8kA3+y+wV{>NAL~Hh$9sO>-yV@eE@qd%N9>`MG~9!r0q#W#|#0f@&h!P zD9yT|6wraA5$$@^-J#dr#Ryxv-~ydRFb2q9W+hett+`hfkxU$2U`zKvEzRaevurB_ zI8dl>hQJZcI=Cg+erTs7p4GtX^9%#x{D?Y}c>gp3F16GFE08AN6iF^7&n5mF`{D9A z(e;ys+i+s>P^0T_Yl+Vg#U(skg>K}*)Lj4i*MsH2>o89RVgm@G?fX8qz&qZ)Kkn3aE)&qau4p;ag z>8e7MoDx`V0*^lFFz;hsA+fBp2hCMjLTd22kb7$P7zRrMV`qTeqNLM6hsJ1!OG(o4 zEuMCizyV3XfXcl$@kc8O>PVu?%&OaHhr=czQ;g9qzkW`QX}l;fQjzSwB!|cja}M=t z8g^<8q-v#Xi=j-FP+`limo+9e2InHVHPxy4eVUD93xkERh( z^*m*=u{@Ia@HRoGLgI)9KzDsQ}%O9dhZckwu=mnAz*>aeRV; z)+1mWck4NeV*&dd%~*GT0o?j36+RGA<9KKQ5X2l5UrL7*d8B6F}Syf**_&H zAt$+rBY=9tsyp_7y()ohNgA(e5Z!JNSZR!4mRP=fn=}U`kmJO@Eu!KtNdvkRE(4Hv zpQhNeL+Ywo&g}`?&@6i{K{^9K6G_OG2 zt^E}O+d?tOlMsvVmFF>xdnC6)xatv(?*-Rh%eL+-J~+XXu6U0rWI3q> zS&rVj+ADr02ivB)+LD3Rq~zmg&N*{|^Fb`fdPm1ADr!BK714S26sGLzka!^M9ccgj zsXYxPZjQ+U+T%8&(1xfTf?a%u0cby_4~UTQa->KeA`=pgUb)sM&7=ZHiY2h+K!l#0 zT>C{=@_<_>(O8DOl3GQ$SU7m35d-M-B|J`$4K=9idPe<+Hl37)2`8-NAMycZ+AeUyM9B`6$82c*O(ppN?ChQEN?}7ItSn*2Vg#LV^8Za^Yf+ zVZm2Vjybp0^g$%0=6FYf2KD}~;j^grajlJIP`A7;=>866gT>GXRu+5v3sM>bnlj== zg~#@H$rtbtw6LhhYFzfkG8`y0@ z)u(nk?aok&J&4h5KPQX2cSrMlrFn6lu6`usvPamKzGQd*dHcjL6R*wRozJD0r+2j& zG4J(grwqH6Zg}JsDQSj$76+c?FP5tCd6h$xUYC=yssSd~8=Ld1b;Q1M^|+Oq83@yC z1HvJ-Tr`lXOCaBXrPRm%I7=E`=dh1GwbCykE&lO*7R^(f%~h}0JY>l%woxI&(SB?0s%!Vpa#G46pYE zJ9ACiEd`wXd7>%Y9~z~SODl)Kk-OJHD7ByfwpRG=Yyl#Hjtcjg)sAJ zVwG7G;uziLUR=E~w(%eDAltZ@|MV=?BW$Sbm)M|wSh8^tjNcU1q)Z_y5rhu=qI&*8fmYTdZ0GU_w5?VEtq-E!I^u%Fq(Tyy)PT)3n7=3=``!h!6ll8 zsL01OgQ_USo%P7Wv{(bwEC0%Y!pNyuux4^|Y$_*?zjGt+v{r*CS~I!0=A;hUsN1%L zQRwPSh1@jivRYb}i{7k-SwlVSUhxYe#i>2xQFonAOp*FA0DKMS@loP}{bUhCeVGh4 zyF)F$se)1ZQUcyyeed+9N)5Dw#Bpc{lt24TLVkeaZ58@iE=L?zTZVO+)|VFJ7iW&B zu5@AjB}ymdc4>;BFf}8rZs=qL{NH?TRtaA|uBk|?hr|zhvs@Imq@y*K${^5|6=>}p z@Xt-GU6-tiM|KcVKD7*eN3tjO+nt?MYii;Ry;9zG>(ad;^(6WIguaVSG2G!91Hl`d zwzvV?o8IA@asn8HpGGkP*v9m12VL<7?*f;Dqw_`VpGHDRGOp`?y}3R@p4qZ!8t9-3Vs_M@xM&K!~+#pgMYh{z*=21_wcF_$MS{2H1&IyBQy@R;^;Nt49BSyqS> zFSfkqSyq-^0euIny&S4h1knSs|22(@-i|@?%cUN{N=F z#;E?6-%fT`3XkxyRl!X^Yre%0#q`{T>sE)$WXzMj%5 zWffwNSYfI3NLU!QxIZtXvsB8^Qm#(tPH3)_Z02#m!daz=N|}#r#ZIZuD%@Xsy`>u_ ze44%nU;gROaivYce} zT$fuNh@thn%uJbarV3xwp_<@(*}UVxVsme+)L_`*^aGMto|{YcuY(OF0+{NHv*21I zZ_D%wNh2i>u%U!Sh|;R0elNQH(;q(b>s8Bsowc2%w%;2g8i;BffIl3k19~`b)%xS8Yiw*F8mF9oH{Fn3R4WA*WwMv9LjlL}|m8dn*|BXuc6Lh`l579Tf9g;2y$yX2`zwG_p_WonSiD!t3<@5hNZgolAIf9rt_2~E0 zKOYlMi4eo84p6nOfP1kA54;B1<8B??NqL5;5bjOyP+u}r;&41ZL0fS=hl!-qr^eqf zzDsT&Qq0R$_6S$J@bljAX8ti6vjA#r-*|5T+Qddq>6MXQDp->f@R71pYb5pf;=~#A z13Ho19D^MBqu1QD7QUT7pibw@`NY58{1J^4{$=6NZnJ(;T)6UVkI#O3$x zmlrbo_*&&Shg=<@9BoudFEgy@!MDplQHu=tW)sK1Hat~;+IsKx$6c|IK64fO#5A&r zvwiCx>-XNgWv_c>qVFn7m>L9tb2>3$UN*C)1!Nc7knUcdjdM;iceaSd>;ntB6t z2LJlnQOKyt5eR<1c1yU>GNalFK)s==p7&6$WvECB;n-ZYJD5Z5veXd_s*9@XAqkOW zz!$`bFcG65BLB4nJ*6s+q^{LyPt|Cr^JT?Mv@Un;1*&G-*CgN#0Qsy1sVF|+ z3Qx^om&z6&F}4KW%g}nYpgslA^v8=SdFtLtTG=HHSOreQ)n&pi^tK~fDZ-XUn~+p^az5FHu$Pyp^l@N1H@Z@D_~hV~Tvsv~Cn$ z<*87^p9f9lYYz;dZnNS0Fmqiq3V>u4vzp!cEIElF71tUC6`cc;?kGR1tmSU$=I2uF zeE8EzXBtJt(kR7?ff%QB=@_C&?jmiWGV`Zh%Gcc&XS8Iuu>j1o#!O{y>OFQ!DwR_rE-`E{>`jHZHgw-MBa0N>AJG{`27xftW8 z43t`Q#VA!Z3J<2$Xl$URXjEjpP>PnVHdkYBLjZSSw8#0Dixk7%=$r>72r-LtQd)DW zMn)3A%9l*dk`U8ey&K)(wLu=gQ-$zGjMA%HG9DrT{0?8MO9<2H(hZeRdvsLu5&*j+z%N&avhdAsV<7}6 zG|8Wqss06%$6U7S^Y`RWq9b-)`RVNSOI5qikPSRMGOb+eIk*H*_Kv%DM1pY}1*OAZ+tVxeo#7vO zw=}g;6Dvga)nHaISKBDpvTVuwg#7i`gMBsXp+D8OF-_^c@VsL(ld6uv9t#*}zbzQSZ#e`HfCWjZze*%KU?pRr{#wwbln)I#Bni z3aJ>>orDe0)RC*AN6RCRZ0v3+tOAtjBm#aHP#Y|>N|5cPs$*&LIW@LbKj4daE5Bkw z83yqHgJ@(^3 zOGp?AwfzB*D4y;e!^11Jnzw`%F~hb^7RvUjXO(8O&r{_mVlAFZF!@6GWcE}-wvw2D z_*4`L?__{i6X5i0xh{9)S_gEk8g{2e{A-ii^O~6aCXHcPJ4FJhL?=~y6riTv2kQOit5z?bu$9W=WjkwR|D&d!*QszACEK&&hrx)q=SVD7L*!`5E8s)C06Qb6m@u*Ki*~nV4 zVuxAVq#}ti>A_I)DUrjvt5IrTd#Un!dgWaiAge!!9HDX)KzSuPp+h!-mXF^dM5(Bn z`n%We1E@s_RT^QC4LoWe2G$}|x9f!bTJtJeM#lP5BM>vUm?Uc{tTzU{Zpv2DsX<63 zS3%p*laz+o8W@bL#NJR1XQ+kOz((wDMhjJS7~4*cDQVXjr(~<>Fbd$;abqLNLW(L4 zpr*5-y4uz^mfWCclD<7oG5OIU#Y@d@=CCY)W+Pu~@~AycgeSTosK}`V+p=eUeocgK zC@p&s>j9=sLSV8!m%dBI^O5mXP*nBy4fzj!uO9Bc06u&ZoiKUdwhSv<`|$Lw$FP_k zK2B%t{8|qD{XnRF9P-%f>dkXi_a5AfQat#zv&xA8qqUs=(0cuH45+||mffoBq_g{S zuA9^259ZVyi;i3S%QUT;O%c!Pe+^25(2j^KV7)aAeoP z&}+C&!4Zcxp!sxj|4NASr-04Q%<-{1{erZLp6T1D4G|wz?EIoMRL%T$&lTq$Irz(K z&ivo}mv=Kz>wJ_S|Ao3~cU?kH@{#9n&HC=JpPXO4=zrQh{%IlOt%}xb{kYA6mO+H#fT7EPR3-{q zd2j#X07~n_%bS07;_tmi_CKzBdYjIFZ+^`;^Ubu)bJT}TaNB=YuiiW?9EyA5y8Yjf za5GK+cM3J^z=OFZwtB!f|-Vzks9Upc5`1 zKYV{*llkHI$6?jdj}YzU@h1bXZ?(P%Bfw%OSYd|u!(KA9rnHcgs+CU%|BV`kPb6uK zt5!|ARZYu=uUG$GJ6hov>e4UNnihQg6f`l~{qO7QzlkKr*MBpDoWdXLYt5XPnDz*t zJ>=?s`SFCvWelbLCb{Yz$0Z2i%IRKwYx^;w&u{3h#{9Xe&vz$2WoQ?jotSu5u|Ta9 z2i=GFxsIR8`ovFIwB7o8q-xY&`|GEPj}NwHP4k9Njl+VGPk(z&NoCDbwZGl0Dk4_S z9oPOYgPNGh`kELnoHa=Qy!Gly#p2J*`5#&7zcb#qhP}S>^ov~Bm7nkBmJd#(0n^__ zx|AJy*{PfP{lCKWXcxs{ZF=~#`z_iZTR&hXbAC9Xeh+{9dF}4litF!Ri-}nW*KZ#A zP5d`mmbo7JY4+@uKl^U4$DSJ3e)dQ7bn)7!4TtS$2?@*}kQ7KlBw_Xp_*xPm0g#Y@ zieHM~`u`u8!6aZ3cO~yiN8wfE z%LmtouMtiho|#wFdvnvQ;6~@mhd1Bdr3mtmn>;-9_8v|7u;;}`w?F(xpML2Xa(>}; zYvjAC&ffp-etMQI9QhS%Yq|G{mz?SUJM=l$YuA|k)aKdVavNZA#=hi%msP|9?SHR5 z^AsC{Zie@_J^cEvDYCa}=Ye0+$X($_&HdU8<|lY8#1>$CrBh1JS<{2B+FO5q9;oxZ z;;)tFoLEbn@4}sHqF;LUtU!eNvBq|xJ{Y=r@b%Lte}6Ac_g>lc?CD1ET=mt_SHtFs zEBn7li6z|W#|5tR7PNpVYd1g1f_WJUb5!=ygt;=3CH+|arFWH4Qs-5|xq9a{-pFmN z27bEtzyX1)4gP6+HGrt>B zld7a6s!q%q)95F&-d#KYuf~{G&9XBIsiA5HcGi0#qd@ZZdrXFEk`w;SR2Mp$n8cJY z-{xvIZq4)7C`6ym98*FXNuA6fl233q(0V8-|)5WG8@^OpzdKy+)1~2iz zA_KBU>5x1l^k+ZPP0x2v#TfYUf&V7irr%p;w%z>NYPq}+*SdH(*sRHOF`#qDvVXxB z`Jvi9pa$H`%^XFi%_gAydc!eedCz~@K>pAarNDlADY;1NeN_}lE*=JyL;Pg-9(in- zDYMd}cfrrR&FDUs@Amal==aCzs(@|`z0avzch~04PRyl@Gd&tc|12T;R|2fr54_5g zNa#G;?jH3&kKjA>!ZgM?`j?QBtIGEE64~~{0r6IdQp!*dawbc*xySs!Z)+b8Ts1pE zTG-lV-(q?97jye$yJ&@}^sFVat35Acy4ZPY^2~juNRP9{&WlUd>vC5z&hE5(SE(b| zf%C9_?R@gstsJfQ71PD`5Ac~o(vvx1%W~)Gy1QH_ngXp_4*%D?_ObnU*2*}~yEEJ5 z_}{AdiI6ARy}0IfN{;2v@?{`$sNRNy7|0I#CC~367HIa4CchNB$j`j8FAs>2w|`}N zkEk=95$WAco;)hApX_(mfBxow=Kn|0o%l2TKX3qNw|kBJq{rGw+PD~Lx9NT20; zn3ZVK4)ER~8ns3+qQW~prGBu<`elWgYWm&@XT?7l*HIzi)*w6!{h zReBF&N~OUi0)Nb>1wPckjD*W(vjKXp+Zx^hWa-mr`SktBGC-H7*IfA5V#w2oM|-?V zOzU;?&nYtPNBFm~Fr4Zd(c^g{S~d|Dsm%2S?HoTL>+pIVYHLaD4Ln?!+UKI!Iy0&d z|LBC>Ln$h3no+#@3uJ^6m&ya~1U$0x+8_8Vs&t|rYx!_EuHDS-+HtA>-(-*Ek!7BS zjlxRS8Lp@1p-!m(=a50js6o|K?2K|snh@weJp~Rt1Gt$_U}o_n0xt1KwT^DcoZL1m zKR|TW`44TXGeOzuj-eZrU~_S>xbnrD^)?>1CJE&w6}o@xbIDc?CrfnXTm3w&1N`U? zSwLi}*j4+RzknfQk;-@h!_GCCmi_N8>Wkti=H#zdGd51m`z}*U*`OeG^_qMRR~@PP zlpV{%Ddx=3aWn+A5V$Rm5J!U|)AO{a|$cDy|PZu~g(@s10p)jtO3P#Fs?_sW8o0hR}; zv+t|w%I@#;O3s;@jh<`gjZdnih}y&++1@RClHYP9MXlw(U%$Eoe;X5X?hm(?NMhQk z`3*|f=l(3^RIGvZFD)Lr_50t$9AQ?ol}>^*k7_+5Rm%F)G9pIGyKOk}Zkm+K>l zmw7>YyqlTR?}?MS<~b+ON@mK@LQUSEsX)PY{g1~TdWMfv%PvSaF}hXsW~q0}-cCfe zHx51W+kL9$e#!?oHQNUXj(5t`6QV7T2WslHR9qGME<3V1%ymEw{>Aqc0wM!jaz+w# zzu2D`(hPjue97=;SF+7R;~zU|MubTJz^5RsOO5w-d{j++{j%5kXt})N^1a_j zb1y8V0`nYB`q5Ng+PpaZ=#oRzLEN8b{kD8%7r%;>imln@{Wd4Xh%&N=yMlzJQLR3g z;twQcn4Yb&Y=6>}(3QM3bMHkux4D3}LVPEH9pDWpKVE0rZO;oyydnMl$qbL6UE^@A zv4y|!d$6yg=N@k~_p5(9e?IH2wQ$X*)n|=xiB≠qEJcM7)47v%Q3Q((yR`@%O5& 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

!pGO?jvrPg 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�JQfdrq4 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 C$VMpu literal 0 HcmV?d00001 diff --git a/docs/seek-demo.tape b/docs/seek-demo.tape new file mode 100644 index 00000000..47adc615 --- /dev/null +++ b/docs/seek-demo.tape @@ -0,0 +1,101 @@ +# seek-demo.tape — VHS recording of `git warp seek` time-travel +# Record with: vhs docs/seek-demo.tape + +Output docs/seek-demo.gif + +Require git +Require node + +Set Shell "bash" +Set FontFamily "JetBrains Mono" +Set FontSize 14 +Set Width 960 +Set Height 720 +Set Padding 16 +Set TypingSpeed 40ms + +# ── Bootstrap a sandbox repo with a seeded graph ──────────────────────── +Hide +Type "TMPDIR=$(mktemp -d) && cd $TMPDIR && git init -q sandbox && cd sandbox" +Enter +Sleep 500ms +Type "export PROJECT_ROOT=$HOME/git/git-stunts/git-warp" +Enter +Type "export REPO_PATH=$(pwd)" +Enter +Type "export PATH=$PROJECT_ROOT/bin:$PATH" +Enter +Type "node $PROJECT_ROOT/test/bats/helpers/seed-graph.js" +Enter +Sleep 2s +Type "clear" +Enter +Sleep 500ms +Show + +# ── 1. Present state — full graph ─────────────────────────────────────── +Type "# the graph right now: 3 users, 2 follows edges" +Enter +Sleep 800ms + +Type "git warp --view query --match '*'" +Enter +Sleep 3s + +# ── 2. Rewind to tick 1 — only the first patch (nodes, no edges) ─────── +Type "# rewind to tick 1 — before the edges were added" +Enter +Sleep 800ms + +Type "git warp --view seek --tick 1" +Enter +Sleep 3s + +Type "git warp --view query --match '*'" +Enter +Sleep 3s + +# ── 3. Worktree is untouched ─────────────────────────────────────────── +Type "# the graph changed, but the working tree didn't" +Enter +Sleep 800ms + +Type "git status" +Enter +Sleep 2.5s + +# ── 4. Step forward — edges appear ───────────────────────────────────── +Type "# step forward one tick — edges reappear" +Enter +Sleep 800ms + +Type "git warp --view seek --tick=+1" +Enter +Sleep 3s + +Type "git warp --view query --match '*'" +Enter +Sleep 3s + +# ── 5. Still clean ───────────────────────────────────────────────────── +Type "# still nothing in the worktree" +Enter +Sleep 800ms + +Type "git status" +Enter +Sleep 2.5s + +# ── 6. Return to present ─────────────────────────────────────────────── +Type "# done exploring — return to present" +Enter +Sleep 800ms + +Type "git warp seek --latest" +Enter +Sleep 2s + +# ── Cleanup ───────────────────────────────────────────────────────────── +Hide +Type "rm -rf $TMPDIR" +Enter diff --git a/package.json b/package.json index 37f40ab1..ebebd581 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@git-stunts/git-warp", - "version": "10.3.0", + "version": "10.3.1", "description": "Deterministic WARP graph over Git: graph-native storage, traversal, and tooling.", "type": "module", "license": "Apache-2.0", diff --git a/src/domain/WarpGraph.js b/src/domain/WarpGraph.js index d9291828..f9116e40 100644 --- a/src/domain/WarpGraph.js +++ b/src/domain/WarpGraph.js @@ -576,6 +576,11 @@ export default class WarpGraph { * When false or omitted (default), returns just the state for backward * compatibility with zero receipt overhead. * + * When a Lamport ceiling is active (via `options.ceiling` or the + * instance-level `_seekCeiling`), delegates to a ceiling-aware path + * that replays only patches with `lamport <= ceiling`, bypassing + * checkpoints, auto-checkpoint, and GC. + * * Side effects: Updates internal cached state, version vector, last frontier, * and patches-since-checkpoint counter. May trigger auto-checkpoint and GC * based on configured policies. Notifies subscribers if state changed. @@ -714,8 +719,15 @@ export default class WarpGraph { /** * Resolves the effective ceiling from options and instance state. - * @param {{ceiling?: number|null}} [options] - * @returns {number|null} The ceiling to use, or null for latest + * + * Precedence: explicit `ceiling` in options overrides the instance-level + * `_seekCeiling`. Uses the `'ceiling' in options` check, so passing + * `{ ceiling: null }` explicitly clears the seek ceiling for that call + * (returns `null`), while omitting the key falls through to `_seekCeiling`. + * + * @param {{ceiling?: number|null}} [options] - Options object; when the + * `ceiling` key is present (even if `null`), its value takes precedence + * @returns {number|null} Lamport ceiling to apply, or `null` for latest * @private */ _resolveCeiling(options) { @@ -729,13 +741,23 @@ export default class WarpGraph { * Materializes the graph with a Lamport ceiling (time-travel). * * Bypasses checkpoints entirely — replays all patches from all writers, - * filtering to only those with lamport <= ceiling. Skips auto-checkpoint + * filtering to only those with `lamport <= ceiling`. Skips auto-checkpoint * and GC since this is an exploratory read. * - * @param {number} ceiling - Maximum Lamport tick to include - * @param {boolean} collectReceipts - Whether to collect tick receipts - * @param {number} t0 - Start timestamp for timing - * @returns {Promise} + * Uses a dedicated cache keyed on `ceiling`. Cache is bypassed when + * `collectReceipts` is `true` because the cached path does not retain + * receipt data. + * + * @param {number} ceiling - Maximum Lamport tick to include (patches with + * `lamport <= ceiling` are replayed; `ceiling <= 0` yields empty state) + * @param {boolean} collectReceipts - When `true`, return receipts alongside + * state and skip the ceiling cache + * @param {number} t0 - Start timestamp for performance logging + * @returns {Promise} + * Plain state when `collectReceipts` is falsy; `{ state, receipts }` + * when truthy * @private */ async _materializeWithCeiling(ceiling, collectReceipts, t0) { @@ -1117,10 +1139,21 @@ export default class WarpGraph { /** * Discovers all distinct Lamport ticks across all writers. * - * Walks each writer's patch chain reading only commit messages (no blob - * deserialization) to extract Lamport timestamps. + * Walks each writer's patch chain from tip to root, reading commit + * messages (no CBOR blob deserialization) to extract Lamport timestamps. + * Stops when a non-patch commit (e.g. checkpoint) is encountered. + * Logs a warning for any non-monotonic lamport sequence within a single + * writer's chain. * - * @returns {Promise<{ticks: number[], maxTick: number, perWriter: Map}>} + * @returns {Promise<{ + * ticks: number[], + * maxTick: number, + * perWriter: Map + * }>} `ticks` is the sorted (ascending) deduplicated union of all + * Lamport values; `maxTick` is the largest value (0 if none); + * `perWriter` maps each writer ID to its ticks in ascending order + * and its current tip SHA (or `null` if the writer ref is missing) + * @throws {Error} If reading refs or commit metadata fails */ async discoverTicks() { const writerIds = await this.discoverWriters(); @@ -1131,6 +1164,7 @@ export default class WarpGraph { const writerRef = buildWriterRef(this._graphName, writerId); const tipSha = await this._persistence.readRef(writerRef); const writerTicks = []; + const tickShas = {}; if (tipSha) { let currentSha = tipSha; @@ -1146,6 +1180,7 @@ export default class WarpGraph { const patchMeta = decodePatchMessage(nodeInfo.message); globalTickSet.add(patchMeta.lamport); writerTicks.push(patchMeta.lamport); + tickShas[patchMeta.lamport] = currentSha; // Check monotonic invariant (walking newest→oldest, lamport should decrease) if (patchMeta.lamport > lastLamport && this._logger) { @@ -1164,6 +1199,7 @@ export default class WarpGraph { perWriter.set(writerId, { ticks: writerTicks.reverse(), tipSha: tipSha || null, + tickShas, }); } @@ -3188,6 +3224,23 @@ export default class WarpGraph { return cone; } + /** + * Loads a single patch by its SHA. + * + * @param {string} sha - The patch commit SHA + * @returns {Promise} The decoded patch object + * @throws {Error} If the commit is not a patch or loading fails + * + * @public + * @remarks + * Thin wrapper around the internal `_loadPatchBySha` helper. Exposed for + * CLI/debug tooling (e.g. seek tick receipts) that needs to inspect patch + * operations without re-materializing intermediate states. + */ + async loadPatchBySha(sha) { + return await this._loadPatchBySha(sha); + } + /** * Loads a single patch by its SHA. * diff --git a/src/domain/utils/RefLayout.js b/src/domain/utils/RefLayout.js index e310f5ed..a1b5e01a 100644 --- a/src/domain/utils/RefLayout.js +++ b/src/domain/utils/RefLayout.js @@ -51,20 +51,22 @@ const PATH_TRAVERSAL_PATTERN = /\.\./; * Validates a graph name and throws if invalid. * * Graph names must not contain: - * - Path traversal sequences (`../`) + * - Path traversal sequences (`..`) * - Semicolons (`;`) * - Spaces * - Null bytes (`\0`) * - Empty strings * * @param {string} name - The graph name to validate - * @throws {Error} If the graph name is invalid + * @throws {Error} If the name is not a string, is empty, or contains + * forbidden characters (`..`, `;`, space, `\0`) * @returns {void} * * @example - * validateGraphName('events'); // OK - * validateGraphName('../etc'); // throws - * validateGraphName('my graph'); // throws + * validateGraphName('events'); // OK + * validateGraphName('team/proj'); // OK (slashes allowed) + * validateGraphName('../etc'); // throws — path traversal + * validateGraphName('my graph'); // throws — contains space */ export function validateGraphName(name) { if (typeof name !== 'string') { @@ -96,18 +98,20 @@ export function validateGraphName(name) { * Validates a writer ID and throws if invalid. * * Writer IDs must: - * - Be ASCII ref-safe: only [A-Za-z0-9._-] + * - Be ASCII ref-safe: only `[A-Za-z0-9._-]` * - Be 1-64 characters long * - Not contain `/`, `..`, whitespace, or NUL * * @param {string} id - The writer ID to validate - * @throws {Error} If the writer ID is invalid + * @throws {Error} If the ID is not a string, is empty, exceeds 64 characters, + * or contains forbidden characters (`/`, `..`, whitespace, NUL, non-ASCII) * @returns {void} * * @example - * validateWriterId('node-1'); // OK - * validateWriterId('a/b'); // throws (contains /) - * validateWriterId('x'.repeat(65)); // throws (too long) + * validateWriterId('node-1'); // OK + * validateWriterId('a/b'); // throws — contains forward slash + * validateWriterId('x'.repeat(65)); // throws — exceeds max length + * validateWriterId('has space'); // throws — contains whitespace */ export function validateWriterId(id) { if (typeof id !== 'string') { @@ -159,7 +163,7 @@ export function validateWriterId(id) { * * @param {string} graphName - The name of the graph * @param {string} writerId - The writer's unique identifier - * @returns {string} The full ref path + * @returns {string} The full ref path, e.g. `refs/warp//writers/` * @throws {Error} If graphName or writerId is invalid * * @example @@ -176,7 +180,7 @@ export function buildWriterRef(graphName, writerId) { * Builds the checkpoint head ref path for the given graph. * * @param {string} graphName - The name of the graph - * @returns {string} The full ref path + * @returns {string} The full ref path, e.g. `refs/warp//checkpoints/head` * @throws {Error} If graphName is invalid * * @example @@ -192,7 +196,7 @@ export function buildCheckpointRef(graphName) { * Builds the coverage head ref path for the given graph. * * @param {string} graphName - The name of the graph - * @returns {string} The full ref path + * @returns {string} The full ref path, e.g. `refs/warp//coverage/head` * @throws {Error} If graphName is invalid * * @example @@ -206,10 +210,12 @@ export function buildCoverageRef(graphName) { /** * Builds the writers prefix path for the given graph. - * Useful for listing all writer refs under a graph. + * Useful for listing all writer refs under a graph + * (e.g. via `git for-each-ref`). * * @param {string} graphName - The name of the graph - * @returns {string} The writers prefix path + * @returns {string} The writers prefix path (with trailing slash), + * e.g. `refs/warp//writers/` * @throws {Error} If graphName is invalid * * @example @@ -224,8 +230,12 @@ export function buildWritersPrefix(graphName) { /** * Builds the active cursor ref path for the given graph. * + * The active cursor is a single ref that stores the current time-travel + * position used by `git warp seek`. It points to a commit SHA representing + * the materialization frontier the user has seeked to. + * * @param {string} graphName - The name of the graph - * @returns {string} The full ref path + * @returns {string} The full ref path, e.g. `refs/warp//cursor/active` * @throws {Error} If graphName is invalid * * @example @@ -238,11 +248,18 @@ export function buildCursorActiveRef(graphName) { } /** - * Builds a saved cursor ref path for the given graph and cursor name. + * Builds a saved (named) cursor ref path for the given graph and cursor name. + * + * Saved cursors are bookmarks created by `git warp seek --save `. + * Each saved cursor persists a time-travel position that can be restored + * later without re-seeking. + * + * The cursor name is validated with the same rules as a writer ID + * (ASCII ref-safe: `[A-Za-z0-9._-]`, 1-64 characters). * * @param {string} graphName - The name of the graph - * @param {string} name - The cursor name (validated like a writer ID) - * @returns {string} The full ref path + * @param {string} name - The cursor bookmark name (validated like a writer ID) + * @returns {string} The full ref path, e.g. `refs/warp//cursor/saved/` * @throws {Error} If graphName or name is invalid * * @example @@ -257,10 +274,12 @@ export function buildCursorSavedRef(graphName, name) { /** * Builds the saved cursor prefix path for the given graph. - * Useful for listing all saved cursors under a graph. + * Useful for listing all saved cursor bookmarks under a graph + * (e.g. via `git for-each-ref`). * * @param {string} graphName - The name of the graph - * @returns {string} The saved cursor prefix path + * @returns {string} The saved cursor prefix path (with trailing slash), + * e.g. `refs/warp//cursor/saved/` * @throws {Error} If graphName is invalid * * @example diff --git a/src/domain/utils/parseCursorBlob.js b/src/domain/utils/parseCursorBlob.js index 70f27470..64df6704 100644 --- a/src/domain/utils/parseCursorBlob.js +++ b/src/domain/utils/parseCursorBlob.js @@ -1,19 +1,40 @@ +/** + * Utilities for parsing seek-cursor blobs stored as Git refs. + * + * @module parseCursorBlob + */ + /** * Parses and validates a cursor blob (Buffer) into a cursor object. * - * Ensures the blob is valid JSON containing at minimum a numeric `tick` field. - * Returns the validated cursor object, or throws a descriptive error on - * corrupted / malformed data. + * The blob must contain UTF-8-encoded JSON representing a plain object with at + * minimum a finite numeric `tick` field. Any additional fields (e.g. `mode`, + * `name`) are preserved in the returned object. * - * @param {Buffer} buf - Raw blob contents - * @param {string} label - Human-readable label for error messages (e.g. "active cursor", "saved cursor 'foo'") + * @param {Buffer} buf - Raw blob contents (UTF-8 encoded JSON) + * @param {string} label - Human-readable label used in error messages + * (e.g. `"active cursor"`, `"saved cursor 'foo'"`) * @returns {{ tick: number, mode?: string, [key: string]: unknown }} - * @throws {Error} If the blob is not valid JSON or is missing a numeric tick + * The validated cursor object. `tick` is guaranteed to be a finite number. + * @throws {Error} If `buf` is not valid JSON + * @throws {Error} If the parsed value is not a plain JSON object (e.g. array, + * null, or primitive) + * @throws {Error} If the `tick` field is missing, non-numeric, NaN, or + * Infinity + * + * @example + * const buf = Buffer.from('{"tick":5,"mode":"lamport"}', 'utf8'); + * const cursor = parseCursorBlob(buf, 'active cursor'); + * // => { tick: 5, mode: 'lamport' } + * + * @example + * // Throws: "Corrupted active cursor: blob is not valid JSON" + * parseCursorBlob(Buffer.from('not json', 'utf8'), 'active cursor'); */ export function parseCursorBlob(buf, label) { let obj; try { - obj = JSON.parse(buf.toString('utf8')); + obj = JSON.parse(new TextDecoder().decode(buf)); } catch { throw new Error(`Corrupted ${label}: blob is not valid JSON`); } diff --git a/src/visualization/renderers/ascii/graph.js b/src/visualization/renderers/ascii/graph.js index fa150aa8..2a599271 100644 --- a/src/visualization/renderers/ascii/graph.js +++ b/src/visualization/renderers/ascii/graph.js @@ -220,6 +220,8 @@ function drawArrowhead(grid, section, nodeSet) { const pc = toCol(prev.x); let arrow; + let ar = er; + let ac = ec; if (er > pr) { arrow = ARROW.down; } else if (er < pr) { @@ -230,8 +232,21 @@ function drawArrowhead(grid, section, nodeSet) { arrow = ARROW.left; } - if (!isNodeCell(nodeSet, er, ec)) { - writeChar(grid, er, ec, arrow); + // If the endpoint is inside a node box, step back one cell into free space + if (isNodeCell(nodeSet, ar, ac)) { + if (er > pr) { + ar = er - 1; + } else if (er < pr) { + ar = er + 1; + } else if (ec > pc) { + ac = ec - 1; + } else { + ac = ec + 1; + } + } + + if (!isNodeCell(nodeSet, ar, ac)) { + writeChar(grid, ar, ac, arrow); } } diff --git a/src/visualization/renderers/ascii/history.js b/src/visualization/renderers/ascii/history.js index 967a576d..acf61ff8 100644 --- a/src/visualization/renderers/ascii/history.js +++ b/src/visualization/renderers/ascii/history.js @@ -6,75 +6,12 @@ import { colors } from './colors.js'; import { createBox } from './box.js'; import { padRight, padLeft } from '../../utils/unicode.js'; -import { truncate } from '../../utils/truncate.js'; import { TIMELINE } from './symbols.js'; +import { OP_DISPLAY, EMPTY_OP_SUMMARY, summarizeOps, formatOpSummary } from './opSummary.js'; // Default pagination settings const DEFAULT_PAGE_SIZE = 20; -// Operation type to display info mapping -const OP_DISPLAY = { - NodeAdd: { symbol: '+', label: 'node', color: colors.success }, - NodeTombstone: { symbol: '-', label: 'node', color: colors.error }, - EdgeAdd: { symbol: '+', label: 'edge', color: colors.success }, - EdgeTombstone: { symbol: '-', label: 'edge', color: colors.error }, - PropSet: { symbol: '~', label: 'prop', color: colors.warning }, - BlobValue: { symbol: '+', label: 'blob', color: colors.primary }, -}; - -// Default empty operation summary -const EMPTY_OP_SUMMARY = Object.freeze({ - NodeAdd: 0, - EdgeAdd: 0, - PropSet: 0, - NodeTombstone: 0, - EdgeTombstone: 0, - BlobValue: 0, -}); - -/** - * Summarizes operations in a patch. - * @param {Object[]} ops - Array of patch operations - * @returns {Object} Summary with counts by operation type - */ -function summarizeOps(ops) { - const summary = { ...EMPTY_OP_SUMMARY }; - for (const op of ops) { - if (op.type && summary[op.type] !== undefined) { - summary[op.type]++; - } - } - return summary; -} - -/** - * Formats operation summary as a colored string. - * @param {Object} summary - Operation counts by type - * @param {number} maxWidth - Maximum width for the summary string - * @returns {string} Formatted summary string - */ -function formatOpSummary(summary, maxWidth = 40) { - const order = ['NodeAdd', 'EdgeAdd', 'PropSet', 'NodeTombstone', 'EdgeTombstone', 'BlobValue']; - const parts = order - .filter((opType) => summary[opType] > 0) - .map((opType) => { - const display = OP_DISPLAY[opType]; - return { text: `${display.symbol}${summary[opType]}${display.label}`, color: display.color }; - }); - - if (parts.length === 0) { - return colors.muted('(empty)'); - } - - // Truncate plain text first to avoid breaking ANSI escape sequences - const plain = parts.map((p) => p.text).join(' '); - const truncated = truncate(plain, maxWidth); - if (truncated === plain) { - return parts.map((p) => p.color(p.text)).join(' '); - } - return colors.muted(truncated); -} - /** * Ensures entry has an opSummary, computing one if needed. * @param {Object} entry - Patch entry @@ -330,6 +267,6 @@ export function renderHistoryView(payload, options = {}) { return `${box}\n`; } -export { summarizeOps }; +export { summarizeOps, formatOpSummary, OP_DISPLAY, EMPTY_OP_SUMMARY }; export default { renderHistoryView, summarizeOps }; diff --git a/src/visualization/renderers/ascii/index.js b/src/visualization/renderers/ascii/index.js index 1cd15409..296166ee 100644 --- a/src/visualization/renderers/ascii/index.js +++ b/src/visualization/renderers/ascii/index.js @@ -9,6 +9,6 @@ export { progressBar } from './progress.js'; export { renderInfoView } from './info.js'; export { renderCheckView } from './check.js'; export { renderMaterializeView } from './materialize.js'; -export { renderHistoryView, summarizeOps } from './history.js'; +export { renderHistoryView, summarizeOps, formatOpSummary, OP_DISPLAY, EMPTY_OP_SUMMARY } from './history.js'; export { renderPathView } from './path.js'; export { renderGraphView } from './graph.js'; diff --git a/src/visualization/renderers/ascii/opSummary.js b/src/visualization/renderers/ascii/opSummary.js new file mode 100644 index 00000000..60b0c6b6 --- /dev/null +++ b/src/visualization/renderers/ascii/opSummary.js @@ -0,0 +1,73 @@ +/** + * Shared operation summary utilities for ASCII renderers. + * + * Extracted from history.js so other views (e.g. seek) can reuse the same + * op-type ordering, symbols, and formatting. + */ + +import { colors } from './colors.js'; +import { truncate } from '../../utils/truncate.js'; + +// Operation type to display info mapping +export const OP_DISPLAY = Object.freeze({ + NodeAdd: { symbol: '+', label: 'node', color: colors.success }, + NodeTombstone: { symbol: '-', label: 'node', color: colors.error }, + EdgeAdd: { symbol: '+', label: 'edge', color: colors.success }, + EdgeTombstone: { symbol: '-', label: 'edge', color: colors.error }, + PropSet: { symbol: '~', label: 'prop', color: colors.warning }, + BlobValue: { symbol: '+', label: 'blob', color: colors.primary }, +}); + +// Default empty operation summary +export const EMPTY_OP_SUMMARY = Object.freeze({ + NodeAdd: 0, + EdgeAdd: 0, + PropSet: 0, + NodeTombstone: 0, + EdgeTombstone: 0, + BlobValue: 0, +}); + +/** + * Summarizes operations in a patch. + * @param {Object[]} ops - Array of patch operations + * @returns {Object} Summary with counts by operation type + */ +export function summarizeOps(ops) { + const summary = { ...EMPTY_OP_SUMMARY }; + for (const op of ops) { + if (op.type && summary[op.type] !== undefined) { + summary[op.type]++; + } + } + return summary; +} + +/** + * Formats operation summary as a colored string. + * @param {Object} summary - Operation counts by type + * @param {number} maxWidth - Maximum width for the summary string + * @returns {string} Formatted summary string + */ +export function formatOpSummary(summary, maxWidth = 40) { + const order = ['NodeAdd', 'EdgeAdd', 'PropSet', 'NodeTombstone', 'EdgeTombstone', 'BlobValue']; + const parts = order + .filter((opType) => summary[opType] > 0) + .map((opType) => { + const display = OP_DISPLAY[opType]; + return { text: `${display.symbol}${summary[opType]}${display.label}`, color: display.color }; + }); + + if (parts.length === 0) { + return colors.muted('(empty)'); + } + + // Truncate plain text first to avoid breaking ANSI escape sequences + const plain = parts.map((p) => p.text).join(' '); + const truncated = truncate(plain, maxWidth); + if (truncated === plain) { + return parts.map((p) => p.color(p.text)).join(' '); + } + return colors.muted(truncated); +} + diff --git a/src/visualization/renderers/ascii/seek.js b/src/visualization/renderers/ascii/seek.js index 079e4905..4bb20541 100644 --- a/src/visualization/renderers/ascii/seek.js +++ b/src/visualization/renderers/ascii/seek.js @@ -1,155 +1,293 @@ /** * ASCII renderer for the `seek --view` command. - * Displays a dashboard with timeline, writer status, and graph state at the current tick. + * + * Displays a swimlane dashboard: one horizontal track per writer, with + * relative-offset column headers that map directly to `--tick=+N/-N` CLI + * syntax. Included patches (at or before the cursor) render as filled + * dots on a solid line; excluded (future) patches render as open circles + * on a dotted line. */ import boxen from 'boxen'; import { colors } from './colors.js'; import { padRight } from '../../utils/unicode.js'; -import { formatSha } from './formatters.js'; +import { formatSha, formatWriterName } from './formatters.js'; import { TIMELINE } from './symbols.js'; +import { formatOpSummary } from './opSummary.js'; + +/** Maximum number of tick columns shown in the windowed view. */ +const MAX_COLS = 9; + +/** Character width of each tick column (marker + connector gap). */ +const COL_W = 6; + +/** Character width reserved for the writer name column. */ +const NAME_W = 10; + +/** Middle-dot used for excluded-zone connectors. */ +const DOT_MID = '\u00B7'; // · + +/** Open circle used for excluded-zone patch markers. */ +const CIRCLE_OPEN = '\u25CB'; // ○ + +function formatDelta(n) { + if (typeof n !== 'number' || !Number.isFinite(n) || n === 0) { + return ''; + } + const sign = n > 0 ? '+' : ''; + return ` (${sign}${n})`; +} + +function pluralize(n, singular, plural) { + return n === 1 ? singular : plural; +} + +function buildReceiptLines(tickReceipt) { + if (!tickReceipt || typeof tickReceipt !== 'object') { + return []; + } + + const entries = Object.entries(tickReceipt) + .filter(([writerId, summary]) => writerId && summary && typeof summary === 'object') + .sort(([a], [b]) => a.localeCompare(b)); + + const lines = []; + for (const [writerId, summary] of entries) { + const name = padRight(formatWriterName(writerId, NAME_W), NAME_W); + lines.push(` ${name} ${formatOpSummary(summary, 40)}`); + } -const MAX_TIMELINE_WIDTH = 40; + return lines; +} + +// ============================================================================ +// Window +// ============================================================================ /** - * Builds an ASCII timeline bar showing the current tick position. - * @param {number} currentTick - The active tick - * @param {number[]} ticks - All available ticks (sorted ascending) - * @returns {string} Timeline string like "○───●───○" + * Computes a sliding window of tick positions centered on the current tick. + * + * When all points fit within {@link MAX_COLS}, the full array is returned. + * Otherwise a window of MAX_COLS entries is centered on `currentIdx`, with + * clamping at both ends. + * + * @param {number[]} allPoints - All tick positions (including virtual tick 0) + * @param {number} currentIdx - Index of the current tick in `allPoints` + * @returns {{ points: number[], currentCol: number, moreLeft: boolean, moreRight: boolean }} */ -function buildSeekTimeline(currentTick, ticks) { - if (ticks.length === 0) { - return colors.muted('(no ticks)'); +function computeWindow(allPoints, currentIdx) { + if (allPoints.length <= MAX_COLS) { + return { + points: allPoints, + currentCol: currentIdx, + moreLeft: false, + moreRight: false, + }; } - const allPoints = (ticks[0] === 0) ? [...ticks] : [0, ...ticks]; - const maxPoints = Math.min(allPoints.length, MAX_TIMELINE_WIDTH); - let displayPoints; - if (allPoints.length <= maxPoints) { - displayPoints = allPoints; - } else { - displayPoints = [allPoints[0]]; - const step = (allPoints.length - 1) / (maxPoints - 1); - for (let i = 1; i < maxPoints - 1; i++) { - displayPoints.push(allPoints[Math.round(i * step)]); - } - displayPoints.push(allPoints[allPoints.length - 1]); + const half = Math.floor(MAX_COLS / 2); + let start = currentIdx - half; + if (start < 0) { + start = 0; + } + let end = start + MAX_COLS; + if (end > allPoints.length) { + end = allPoints.length; + start = end - MAX_COLS; } - const segLen = Math.max(1, Math.floor(MAX_TIMELINE_WIDTH / displayPoints.length)); - let timeline = ''; - let labels = ''; + return { + points: allPoints.slice(start, end), + currentCol: currentIdx - start, + moreLeft: start > 0, + moreRight: end < allPoints.length, + }; +} - for (let i = 0; i < displayPoints.length; i++) { - const tick = displayPoints[i]; - const isActive = tick === currentTick; +// ============================================================================ +// Header row +// ============================================================================ - if (i > 0) { - timeline += colors.muted(TIMELINE.line.repeat(segLen)); - } +/** + * Builds the column header row showing relative step offsets. + * + * The current tick is rendered as `[N]` (absolute tick number); all other + * columns show their signed step distance (`-2`, `-1`, `+1`, `+2`, etc.) + * matching the `--tick=+N/-N` CLI syntax. + * + * @param {{ points: number[], currentCol: number }} win - Computed window + * @returns {string} Formatted, indented header line + */ +function buildHeaderRow(win) { + const { points, currentCol } = win; + let header = ''; - if (isActive) { - timeline += colors.primary(TIMELINE.dot); + for (let i = 0; i < points.length; i++) { + const rel = i - currentCol; + let label; + if (rel === 0) { + label = `[${points[i]}]`; + } else if (rel > 0) { + label = `+${rel}`; } else { - timeline += colors.muted('\u25CB'); // ○ open circle + label = String(rel); } - - // Pad labels so each tick label starts at the same column as its dot - const tickLabel = String(tick); - const targetPos = i * (segLen + 1); - const padNeeded = Math.max(0, targetPos - labels.length); - labels += ' '.repeat(padNeeded) + tickLabel; + header += label.padEnd(COL_W); } - // Add pointer line - const pointerLine = buildPointerLine(currentTick, displayPoints); - - return `${timeline}\n ${labels}\n${pointerLine}`; + const margin = ' '.repeat(NAME_W + 2); + return ` ${margin}${header.trimEnd()}`; } +// ============================================================================ +// Writer swimlane +// ============================================================================ + /** - * Builds a pointer line ("▲") under the active tick. - * @param {number} currentTick - * @param {number[]} displayPoints - * @returns {string} + * Renders a single cell (marker) in the swimlane grid. + * + * @param {boolean} hasPatch - Whether this writer has a patch at this tick + * @param {boolean} incl - Whether this tick is in the included zone + * @returns {string} A single styled character */ -function buildPointerLine(currentTick, displayPoints) { - const idx = displayPoints.indexOf(currentTick); - if (idx === -1) { - return ''; +function renderCell(hasPatch, incl) { + if (hasPatch) { + return incl ? colors.success(TIMELINE.dot) : colors.muted(CIRCLE_OPEN); } + return incl ? TIMELINE.line : colors.muted(DOT_MID); +} - const segLen = Math.max(1, Math.floor(MAX_TIMELINE_WIDTH / displayPoints.length)); - const offset = idx * (segLen + 1); - return ` ${' '.repeat(offset)}${colors.primary('\u25B2')}`; // ▲ +/** + * Builds the swimlane track string for a writer across the window columns. + * + * @param {Set} patchSet - Set of ticks where this writer has patches + * @param {number[]} points - Window tick positions + * @param {number} currentTick - Active seek cursor tick + * @returns {string} Styled swimlane track + */ +function buildLane(patchSet, points, currentTick) { + let lane = ''; + for (let i = 0; i < points.length; i++) { + const t = points[i]; + const incl = t <= currentTick; + + if (i > 0) { + const n = COL_W - 1; + lane += incl + ? TIMELINE.line.repeat(n) + : colors.muted(DOT_MID.repeat(n)); + } + + lane += renderCell(patchSet.has(t), incl); + } + return lane; } /** - * Renders a writer row showing inclusion status at the given tick. + * Builds one writer's horizontal swimlane row. + * + * Each tick position in the window gets a marker character: + * - `●` (green) — writer has a patch here AND tick ≤ currentTick (included) + * - `○` (muted) — writer has a patch here AND tick > currentTick (excluded) + * - `─` (solid) — no patch, included zone + * - `·` (muted) — no patch, excluded zone + * + * Between consecutive columns, connector characters of the appropriate style + * fill the gap (COL_W − 1 chars). + * * @param {Object} opts * @param {string} opts.writerId - * @param {{ticks: number[], tipSha: string|null}} opts.writerInfo - * @param {number} opts.currentTick - * @returns {string} + * @param {Object} opts.writerInfo - `{ ticks, tipSha, tickShas }` + * @param {{ points: number[] }} opts.win - Computed window + * @param {number} opts.currentTick - Active seek cursor tick + * @returns {string} Formatted, indented swimlane line */ -function renderWriterRow({ writerId, writerInfo, currentTick }) { +function buildWriterSwimRow({ writerId, writerInfo, win, currentTick }) { + const patchSet = new Set(writerInfo.ticks); + const tickShas = writerInfo.tickShas || {}; + const lane = buildLane(patchSet, win.points, currentTick); + + // SHA of the highest included patch const included = writerInfo.ticks.filter((t) => t <= currentTick); - const maxWriterTick = included.length > 0 ? included[included.length - 1] : 0; - const marker = included.length > 0 - ? colors.success(TIMELINE.dot) - : colors.muted('\u25CB'); - - const name = padRight(writerId, 16); - const lamportLabel = included.length > 0 - ? `L${maxWriterTick}` - : colors.muted('--'); - const shaLabel = writerInfo.tipSha ? formatSha(writerInfo.tipSha) : colors.muted('none'); - - return ` ${name} ${marker} ${lamportLabel} ${shaLabel}`; + const maxIncl = included.length > 0 ? included[included.length - 1] : null; + const sha = maxIncl !== null + ? (tickShas[maxIncl] || writerInfo.tipSha) + : writerInfo.tipSha; + + const name = padRight(formatWriterName(writerId, NAME_W), NAME_W); + const shaStr = sha ? ` ${formatSha(sha)}` : ''; + + return ` ${name} ${lane}${shaStr}`; } +// ============================================================================ +// Body assembly +// ============================================================================ + /** * Builds the body lines for the seek dashboard. - * @param {Object} payload - Seek payload + * + * @param {Object} payload - Seek payload from the CLI handler * @returns {string[]} Lines for the box body */ function buildSeekBodyLines(payload) { - const { graph, tick, maxTick, ticks, nodes, edges, patchCount, perWriter } = payload; + const { graph, tick, maxTick, ticks, nodes, edges, patchCount, perWriter, diff, tickReceipt } = payload; const lines = []; lines.push(''); lines.push(` ${colors.bold('GRAPH:')} ${graph}`); lines.push(` ${colors.bold('POSITION:')} tick ${tick} of ${maxTick}`); lines.push(''); - lines.push(` ${buildSeekTimeline(tick, ticks)}`); - lines.push(''); - const writerEntries = perWriter instanceof Map - ? [...perWriter.entries()] - : Object.entries(perWriter).map(([k, v]) => [k, v]); + if (ticks.length === 0) { + lines.push(` ${colors.muted('(no ticks)')}`); + } else { + const allPoints = (ticks[0] === 0) ? [...ticks] : [0, ...ticks]; + const currentIdx = allPoints.indexOf(tick); + const win = computeWindow(allPoints, currentIdx === -1 ? 0 : currentIdx); + + // Column headers with relative offsets + lines.push(buildHeaderRow(win)); + + // Per-writer swimlanes + const writerEntries = perWriter instanceof Map + ? [...perWriter.entries()] + : Object.entries(perWriter).map(([k, v]) => [k, v]); - if (writerEntries.length > 0) { - lines.push(` Writers included at tick ${tick}:`); for (const [writerId, writerInfo] of writerEntries) { - lines.push(renderWriterRow({ writerId, writerInfo, currentTick: tick })); + lines.push(buildWriterSwimRow({ writerId, writerInfo, win, currentTick: tick })); } - lines.push(''); } - const edgeLabel = edges === 1 ? 'edge' : 'edges'; - const nodeLabel = nodes === 1 ? 'node' : 'nodes'; - const patchLabel = patchCount === 1 ? 'patch' : 'patches'; - lines.push(` ${colors.bold('State:')} ${nodes} ${nodeLabel}, ${edges} ${edgeLabel}, ${patchCount} ${patchLabel}`); + lines.push(''); + const edgeLabel = pluralize(edges, 'edge', 'edges'); + const nodeLabel = pluralize(nodes, 'node', 'nodes'); + const patchLabel = pluralize(patchCount, 'patch', 'patches'); + + const nodesStr = `${nodes} ${nodeLabel}${formatDelta(diff?.nodes)}`; + const edgesStr = `${edges} ${edgeLabel}${formatDelta(diff?.edges)}`; + lines.push(` ${colors.bold('State:')} ${nodesStr}, ${edgesStr}, ${patchCount} ${patchLabel}`); + + const receiptLines = buildReceiptLines(tickReceipt); + if (receiptLines.length > 0) { + lines.push(''); + lines.push(` ${colors.bold(`Tick ${tick}:`)}`); + lines.push(...receiptLines); + } lines.push(''); return lines; } +// ============================================================================ +// Public API +// ============================================================================ + /** - * Renders the seek view dashboard. + * Renders the seek view dashboard inside a double-bordered box. * - * @param {Object} payload - Seek payload - * @returns {string} Formatted ASCII output + * @param {Object} payload - Seek payload from the CLI handler + * @returns {string} Boxen-wrapped ASCII dashboard with trailing newline */ export function renderSeekView(payload) { const lines = buildSeekBodyLines(payload); diff --git a/test/unit/visualization/__snapshots__/ascii-graph-renderer.test.js.snap b/test/unit/visualization/__snapshots__/ascii-graph-renderer.test.js.snap index 356d034b..77512cbb 100644 --- a/test/unit/visualization/__snapshots__/ascii-graph-renderer.test.js.snap +++ b/test/unit/visualization/__snapshots__/ascii-graph-renderer.test.js.snap @@ -35,7 +35,7 @@ exports[`ASCII graph renderer > renders a 3-node DAG with edges 1`] = ` ║ +─────+ +─────+ ║ ║ │ │ ║ ║ │ │ ║ -║ │ │ ║ +║ ▼ ▼ ║ ║ ┌────────┐ ┌────────┐ ║ ║ │ Beta │ │ Gamma │ ║ ║ └────────┘ └────────┘ ║ diff --git a/test/unit/visualization/ascii-op-summary.test.js b/test/unit/visualization/ascii-op-summary.test.js new file mode 100644 index 00000000..b7400a85 --- /dev/null +++ b/test/unit/visualization/ascii-op-summary.test.js @@ -0,0 +1,36 @@ +import { describe, it, expect } from 'vitest'; +import { summarizeOps, formatOpSummary, EMPTY_OP_SUMMARY } from '../../../src/visualization/renderers/ascii/opSummary.js'; +import { stripAnsi } from '../../../src/visualization/utils/ansi.js'; + +describe('opSummary utilities', () => { + it('summarizeOps counts known operation types', () => { + const ops = [ + { type: 'NodeAdd' }, + { type: 'EdgeAdd' }, + { type: 'EdgeAdd' }, + { type: 'PropSet' }, + { type: 'UnknownOp' }, + {}, + ]; + + const summary = summarizeOps(ops); + expect(summary.NodeAdd).toBe(1); + expect(summary.EdgeAdd).toBe(2); + expect(summary.PropSet).toBe(1); + expect(summary.NodeTombstone).toBe(0); + expect(summary.EdgeTombstone).toBe(0); + expect(summary.BlobValue).toBe(0); + }); + + it('formatOpSummary renders a stable textual summary and (empty) for no-ops', () => { + const empty = stripAnsi(formatOpSummary(EMPTY_OP_SUMMARY)); + expect(empty).toContain('(empty)'); + + const summary = { ...EMPTY_OP_SUMMARY, NodeAdd: 2, PropSet: 1 }; + const output = stripAnsi(formatOpSummary(summary)); + expect(output).toContain('+2node'); + expect(output).toContain('~1prop'); + expect(output).not.toContain('(empty)'); + }); +}); + diff --git a/test/unit/visualization/ascii-seek-renderer.test.js b/test/unit/visualization/ascii-seek-renderer.test.js index 9bde783e..91cc2fd0 100644 --- a/test/unit/visualization/ascii-seek-renderer.test.js +++ b/test/unit/visualization/ascii-seek-renderer.test.js @@ -48,6 +48,8 @@ describe('renderSeekView', () => { expect(output).toContain('POSITION: tick 0 of 3'); expect(output).toContain('0 nodes, 0 edges'); + // Current tick shown as [0] in header + expect(output).toContain('[0]'); }); it('renders seek at latest tick', () => { @@ -68,6 +70,7 @@ describe('renderSeekView', () => { expect(output).toContain('POSITION: tick 5 of 5'); expect(output).toContain('100 nodes, 200 edges'); + expect(output).toContain('[5]'); }); it('renders with single writer', () => { @@ -89,6 +92,7 @@ describe('renderSeekView', () => { expect(output).toContain('GRAPH: solo'); expect(output).toContain('alice'); expect(output).toContain('5 nodes, 3 edges'); + expect(output).toContain('[2]'); }); it('handles empty graph (no ticks)', () => { @@ -107,6 +111,7 @@ describe('renderSeekView', () => { expect(output).toContain('POSITION: tick 0 of 0'); expect(output).toContain('0 nodes, 0 edges'); + expect(output).toContain('(no ticks)'); }); it('renders singular labels for 1 node, 1 edge, 1 patch', () => { @@ -159,60 +164,110 @@ describe('renderSeekView', () => { nodes: 0, edges: 0, patchCount: 0, - perWriter: {}, + perWriter: { + alice: { ticks: [1, 2], tipSha: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' }, + }, }; const output = stripAnsi(renderSeekView(payload)); - // The timeline should have exactly 3 dots (0, 1, 2) — not 4 (0, 0, 1, 2) - // Extract the timeline line (first line of the timeline block) - const lines = output.split('\n'); - // Count circle/dot characters (● = \u25CF or similar, ○ = \u25CB) - const timelineLine = lines.find((l) => /[●○\u25CB\u25CF]/.test(l)); - if (timelineLine) { - const dotCount = (timelineLine.match(/[●○\u25CB\u25CF]/g) || []).length; - expect(dotCount).toBe(3); - } + // [0] should appear exactly once in the header (no duplicate column) + const matches = output.match(/\[0\]/g) || []; + expect(matches.length).toBe(1); }); - it('multi-digit tick labels stay aligned under their dots', () => { + it('shows relative offsets in column headers', () => { const payload = { - graph: 'align', - tick: 10, - maxTick: 100, - ticks: [10, 50, 100], + graph: 'offsets', + tick: 2, + maxTick: 4, + ticks: [1, 2, 3, 4], nodes: 5, edges: 3, patchCount: 3, perWriter: { - alice: { ticks: [10, 50, 100], tipSha: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' }, + alice: { ticks: [1, 2, 3, 4], tipSha: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' }, + }, + }; + + const output = stripAnsi(renderSeekView(payload)); + + // Header should contain relative labels and the current tick + expect(output).toContain('[2]'); + expect(output).toContain('-1'); + expect(output).toContain('+1'); + expect(output).toContain('+2'); + }); + + it('shows included markers (filled) and excluded markers (open)', () => { + const payload = { + graph: 'markers', + tick: 1, + maxTick: 2, + ticks: [1, 2], + nodes: 5, + edges: 3, + patchCount: 2, + perWriter: { + alice: { + ticks: [1, 2], + tipSha: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', + tickShas: { 1: 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', 2: 'cccccccccccccccccccccccccccccccccccccccc' }, + }, + }, + }; + + const output = stripAnsi(renderSeekView(payload)); + + // Should contain filled dot (●) for included patch and open circle (○) for excluded + expect(output).toContain('\u25CF'); // ● + expect(output).toContain('\u25CB'); // ○ + // SHA should be from tick 1 (the included tick), not the tip + expect(output).toContain('bbbbbbb'); + }); + + it('renders state deltas when diff is provided', () => { + const payload = { + graph: 'delta', + tick: 2, + maxTick: 4, + ticks: [1, 2, 3, 4], + nodes: 10, + edges: 15, + patchCount: 6, + diff: { nodes: 1, edges: 3 }, + perWriter: { + alice: { ticks: [1, 2, 3, 4], tipSha: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' }, + }, + }; + + const output = stripAnsi(renderSeekView(payload)); + expect(output).toContain('State: 10 nodes (+1), 15 edges (+3), 6 patches'); + }); + + it('renders a per-writer tick receipt section when tickReceipt is provided', () => { + const payload = { + graph: 'receipt', + tick: 1, + maxTick: 2, + ticks: [1, 2], + nodes: 3, + edges: 2, + patchCount: 2, + tickReceipt: { + alice: { NodeAdd: 1, EdgeAdd: 2, PropSet: 0, NodeTombstone: 0, EdgeTombstone: 0, BlobValue: 0 }, + bob: { NodeAdd: 0, EdgeAdd: 0, PropSet: 2, NodeTombstone: 0, EdgeTombstone: 0, BlobValue: 0 }, + }, + perWriter: { + alice: { ticks: [1, 2], tipSha: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' }, + bob: { ticks: [1], tipSha: 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' }, }, }; const output = stripAnsi(renderSeekView(payload)); - const lines = output.split('\n'); - - // Find the timeline and labels lines - const timelineIdx = lines.findIndex((l) => /[●○\u25CB\u25CF]/.test(l)); - if (timelineIdx >= 0) { - const tl = lines[timelineIdx]; - const lb = lines[timelineIdx + 1]; - - // Each dot in the timeline should have its tick label starting - // at the same character position in the labels line. - // Find positions of dots in the timeline - const dotPositions = []; - for (let c = 0; c < tl.length; c++) { - if (/[●○\u25CB\u25CF]/.test(tl[c])) { - dotPositions.push(c); - } - } - - // For each dot position, the label line should have the start of a number - for (const pos of dotPositions) { - const ch = lb[pos]; - expect(ch).toMatch(/[0-9]/); - } - } + expect(output).toContain('Tick 1:'); + expect(output).toContain('+1node'); + expect(output).toContain('+2edge'); + expect(output).toContain('~2prop'); }); }); From 22dfc05fd90d2091d50df93c0c7c40d7856a1ae6 Mon Sep 17 00:00:00 2001 From: James Ross Date: Mon, 9 Feb 2026 18:16:12 -0800 Subject: [PATCH 07/13] fix: seek ceiling via public API, timeline currentTick & docs tick syntax - Replace graph._seekCeiling mutation in materializeOneGraph and handleSeek with graph.materialize({ ceiling }) public option. - Ensure the seek renderer always includes the active cursor tick in the timeline window, even when the tick is absent from discovered ticks (inserts at correct sorted position before windowing). - Update GUIDE.md, README.md, and CHANGELOG examples to use --tick=+N / --tick=-N equals form for signed relative values, matching BATS tests and avoiding CLI parser ambiguity. --- CHANGELOG.md | 5 +- README.md | 4 +- bin/warp-graph.js | 83 ++++++++++--------- docs/GUIDE.md | 6 +- src/visualization/renderers/ascii/seek.js | 39 +++++++-- .../visualization/ascii-seek-renderer.test.js | 58 ++++++++++++- 6 files changed, 144 insertions(+), 51 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2888e2bd..1f28c1ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **ASCII graph arrowheads missing**: `drawArrowhead` was silently dropping arrows when the ELK endpoint fell inside a node's bounding box. Now steps back one cell to place the arrowhead just outside the node border. - **Seek ASCII renderer**: Reworked swimlane dashboard with improved windowing, writer rows, tick receipt display, and op summary formatting. +- **Seek ceiling via public API**: Replaced direct `graph._seekCeiling` mutation in `materializeOneGraph` and `handleSeek` with `graph.materialize({ ceiling })`, using the public option instead of poking at internals. +- **Seek timeline missing currentTick**: When the active cursor referenced a tick absent from the discovered ticks array, the renderer fell back to index 0 and never showed the current tick marker. Now inserts the cursor tick at the correct sorted position so the window always centres on it. +- **Docs `--tick` signed-value syntax**: Updated GUIDE.md, README.md, and CHANGELOG examples to use `--tick=+N`/`--tick=-N` (equals form) for signed relative values, matching BATS tests and avoiding CLI parser ambiguity. ### Changed @@ -31,7 +34,7 @@ Adds cursor-based time travel for exploring graph history. Navigate to any Lampo - **`git warp seek` command**: Step through graph history by Lamport tick. - `seek --tick N` — position cursor at absolute tick N. - - `seek --tick +N` / `seek --tick -N` — step forward/backward relative to current position. + - `seek --tick=+N` / `seek --tick=-N` — step forward/backward relative to current position. - `seek --latest` — clear cursor and return to the present (latest state). - `seek --save NAME` / `seek --load NAME` — save and restore named cursor bookmarks. - `seek --list` — list all saved cursors. diff --git a/README.md b/README.md index 6e530e40..f92b3719 100644 --- a/README.md +++ b/README.md @@ -409,8 +409,8 @@ git warp check # Time-travel: step through graph history git warp seek --tick 3 # jump to Lamport tick 3 -git warp seek --tick +1 # step forward one tick -git warp seek --tick -1 # step backward one tick +git warp seek --tick=+1 # step forward one tick +git warp seek --tick=-1 # step backward one tick git warp seek --save before-refactor # bookmark current position git warp seek --load before-refactor # restore bookmark git warp seek --latest # return to present diff --git a/bin/warp-graph.js b/bin/warp-graph.js index d4fabc38..8b101ee5 100755 --- a/bin/warp-graph.js +++ b/bin/warp-graph.js @@ -1,5 +1,6 @@ #!/usr/bin/env node +import crypto from 'node:crypto'; import fs from 'node:fs'; import path from 'node:path'; import process from 'node:process'; @@ -1310,10 +1311,7 @@ async function handleHistory({ options, args }) { */ async function materializeOneGraph({ persistence, graphName, writerId, ceiling }) { const graph = await WarpGraph.open({ persistence, graphName, writerId, crypto: new NodeCryptoAdapter() }); - if (ceiling !== undefined) { - graph._seekCeiling = ceiling; - } - await graph.materialize(); + await graph.materialize(ceiling !== undefined ? { ceiling } : undefined); const nodes = await graph.getNodes(); const edges = await graph.getEdges(); const checkpoint = ceiling !== undefined ? null : await graph.createCheckpoint(); @@ -1911,6 +1909,7 @@ async function handleSeek({ options, args }) { const { graph, graphName, persistence } = await openGraph(options); const activeCursor = await readActiveCursor(persistence, graphName); const { ticks, maxTick, perWriter } = await graph.discoverTicks(); + const frontierHash = computeFrontierHash(perWriter); if (seekSpec.action === 'list') { const saved = await listSavedCursors(persistence, graphName); return { @@ -1945,7 +1944,7 @@ async function handleSeek({ options, args }) { await graph.materialize(); const nodes = await graph.getNodes(); const edges = await graph.getEdges(); - const diff = computeSeekStateDiff(activeCursor, { nodes: nodes.length, edges: edges.length }); + const diff = computeSeekStateDiff(activeCursor, { nodes: nodes.length, edges: edges.length }, frontierHash); const tickReceipt = await buildTickReceipt({ tick: maxTick, perWriter, graph }); return { payload: { @@ -1985,18 +1984,11 @@ async function handleSeek({ options, args }) { if (!saved) { throw notFoundError(`Saved cursor not found: ${seekSpec.name}`); } - graph._seekCeiling = saved.tick; - await graph.materialize(); + await graph.materialize({ ceiling: saved.tick }); const nodes = await graph.getNodes(); const edges = await graph.getEdges(); - const nextCursor = { - tick: saved.tick, - mode: saved.mode ?? 'lamport', - nodes: nodes.length, - edges: edges.length, - }; - await writeActiveCursor(persistence, graphName, nextCursor); - const diff = computeSeekStateDiff(activeCursor, { nodes: nodes.length, edges: edges.length }); + await writeActiveCursor(persistence, graphName, { tick: saved.tick, mode: saved.mode ?? 'lamport', nodes: nodes.length, edges: edges.length, frontierHash }); + const diff = computeSeekStateDiff(activeCursor, { nodes: nodes.length, edges: edges.length }, frontierHash); const tickReceipt = await buildTickReceipt({ tick: saved.tick, perWriter, graph }); return { payload: { @@ -2020,13 +2012,11 @@ async function handleSeek({ options, args }) { if (seekSpec.action === 'tick') { const currentTick = activeCursor ? activeCursor.tick : null; const resolvedTick = resolveTickValue(seekSpec.tickValue, currentTick, ticks, maxTick); - graph._seekCeiling = resolvedTick; - await graph.materialize(); + await graph.materialize({ ceiling: resolvedTick }); const nodes = await graph.getNodes(); const edges = await graph.getEdges(); - const cursor = { tick: resolvedTick, mode: 'lamport', nodes: nodes.length, edges: edges.length }; - await writeActiveCursor(persistence, graphName, cursor); - const diff = computeSeekStateDiff(activeCursor, { nodes: nodes.length, edges: edges.length }); + await writeActiveCursor(persistence, graphName, { tick: resolvedTick, mode: 'lamport', nodes: nodes.length, edges: edges.length, frontierHash }); + const diff = computeSeekStateDiff(activeCursor, { nodes: nodes.length, edges: edges.length }, frontierHash); const tickReceipt = await buildTickReceipt({ tick: resolvedTick, perWriter, graph }); return { payload: { @@ -2049,21 +2039,15 @@ async function handleSeek({ options, args }) { // status (bare seek) if (activeCursor) { - graph._seekCeiling = activeCursor.tick; - await graph.materialize(); + await graph.materialize({ ceiling: activeCursor.tick }); const nodes = await graph.getNodes(); const edges = await graph.getEdges(); const prevCounts = readSeekCounts(activeCursor); - if (prevCounts.nodes === null || prevCounts.edges === null || prevCounts.nodes !== nodes.length || prevCounts.edges !== edges.length) { - const nextCursor = { - tick: activeCursor.tick, - mode: activeCursor.mode ?? 'lamport', - nodes: nodes.length, - edges: edges.length, - }; - await writeActiveCursor(persistence, graphName, nextCursor); + const prevFrontierHash = typeof activeCursor.frontierHash === 'string' ? activeCursor.frontierHash : null; + if (prevCounts.nodes === null || prevCounts.edges === null || prevCounts.nodes !== nodes.length || prevCounts.edges !== edges.length || prevFrontierHash !== frontierHash) { + await writeActiveCursor(persistence, graphName, { tick: activeCursor.tick, mode: activeCursor.mode ?? 'lamport', nodes: nodes.length, edges: edges.length, frontierHash }); } - const diff = computeSeekStateDiff(activeCursor, { nodes: nodes.length, edges: edges.length }); + const diff = computeSeekStateDiff(activeCursor, { nodes: nodes.length, edges: edges.length }, frontierHash); const tickReceipt = await buildTickReceipt({ tick: activeCursor.tick, perWriter, graph }); return { payload: { @@ -2141,6 +2125,24 @@ function countPatchesAtTick(tick, perWriter) { return count; } +/** + * Computes a stable fingerprint of the current graph frontier (writer tips). + * + * Used to suppress seek diffs when graph history may have changed since the + * previous cursor snapshot (e.g. new writers/patches, rewritten refs). + * + * @private + * @param {Map} perWriter - Per-writer metadata from discoverTicks() + * @returns {string} Hex digest of the frontier fingerprint + */ +function computeFrontierHash(perWriter) { + const tips = {}; + for (const [writerId, info] of perWriter) { + tips[writerId] = info?.tipSha || null; + } + return crypto.createHash('sha256').update(stableStringify(tips)).digest('hex'); +} + /** * Reads cached seek state counts from a cursor blob. * @@ -2169,13 +2171,18 @@ function readSeekCounts(cursor) { * @private * @param {Object|null} prevCursor - Cursor object read before updating the position * @param {{nodes: number, edges: number}} next - Current materialized counts + * @param {string} frontierHash - Frontier fingerprint of the current graph * @returns {{nodes: number, edges: number}|null} Diff object or null when unknown */ -function computeSeekStateDiff(prevCursor, next) { +function computeSeekStateDiff(prevCursor, next, frontierHash) { const prev = readSeekCounts(prevCursor); if (prev.nodes === null || prev.edges === null) { return null; } + const prevFrontierHash = typeof prevCursor?.frontierHash === 'string' ? prevCursor.frontierHash : null; + if (!prevFrontierHash || prevFrontierHash !== frontierHash) { + return null; + } return { nodes: next.nodes - prev.nodes, edges: next.edges - prev.edges, @@ -2194,7 +2201,7 @@ function computeSeekStateDiff(prevCursor, next) { * @param {number} params.tick - Lamport tick to summarize * @param {Map} params.perWriter - Per-writer tick metadata from discoverTicks() * @param {Object} params.graph - WarpGraph instance - * @returns {Promise|null>} Map of writerId → opSummary, or null if empty + * @returns {Promise|null>} Map of writerId → { sha, opSummary }, or null if empty */ async function buildTickReceipt({ tick, perWriter, graph }) { if (!Number.isInteger(tick) || tick <= 0) { @@ -2211,7 +2218,7 @@ async function buildTickReceipt({ tick, perWriter, graph }) { const patch = await graph.loadPatchBySha(sha); const ops = Array.isArray(patch?.ops) ? patch.ops : []; - receipt[writerId] = summarizeOps(ops); + receipt[writerId] = { sha, opSummary: summarizeOps(ops) }; } return Object.keys(receipt).length > 0 ? receipt : null; @@ -2262,7 +2269,7 @@ function renderSeek(payload) { } const entries = Object.entries(tickReceipt) - .filter(([writerId, summary]) => writerId && summary && typeof summary === 'object') + .filter(([writerId, entry]) => writerId && entry && typeof entry === 'object') .sort(([a], [b]) => a.localeCompare(b)); if (entries.length === 0) { @@ -2271,8 +2278,10 @@ function renderSeek(payload) { const maxWriterLen = Math.max(5, ...entries.map(([writerId]) => writerId.length)); const receiptLines = [` Tick ${payload.tick}:`]; - for (const [writerId, summary] of entries) { - receiptLines.push(` ${writerId.padEnd(maxWriterLen)} ${formatOpSummaryPlain(summary)}`); + for (const [writerId, entry] of entries) { + const sha = typeof entry.sha === 'string' ? entry.sha.slice(0, 7) : ''; + const opSummary = entry.opSummary && typeof entry.opSummary === 'object' ? entry.opSummary : entry; + receiptLines.push(` ${writerId.padEnd(maxWriterLen)} ${sha.padEnd(7)} ${formatOpSummaryPlain(opSummary)}`); } return `${baseLine}\n${receiptLines.join('\n')}\n`; diff --git a/docs/GUIDE.md b/docs/GUIDE.md index f75f2850..f72ce03f 100644 --- a/docs/GUIDE.md +++ b/docs/GUIDE.md @@ -917,9 +917,9 @@ The `seek` command lets you navigate through graph history by Lamport tick. When # Jump to an absolute tick git warp seek --tick 3 -# Step forward/backward relative to current position -git warp seek --tick +1 -git warp seek --tick -1 +# Step forward/backward relative to current position (use = for signed values) +git warp seek --tick=+1 +git warp seek --tick=-1 # Return to the present (clears the cursor) git warp seek --latest diff --git a/src/visualization/renderers/ascii/seek.js b/src/visualization/renderers/ascii/seek.js index 4bb20541..a1fda984 100644 --- a/src/visualization/renderers/ascii/seek.js +++ b/src/visualization/renderers/ascii/seek.js @@ -48,13 +48,16 @@ function buildReceiptLines(tickReceipt) { } const entries = Object.entries(tickReceipt) - .filter(([writerId, summary]) => writerId && summary && typeof summary === 'object') + .filter(([writerId, entry]) => writerId && entry && typeof entry === 'object') .sort(([a], [b]) => a.localeCompare(b)); const lines = []; - for (const [writerId, summary] of entries) { + for (const [writerId, entry] of entries) { + const sha = typeof entry.sha === 'string' ? entry.sha : null; + const opSummary = entry.opSummary && typeof entry.opSummary === 'object' ? entry.opSummary : entry; const name = padRight(formatWriterName(writerId, NAME_W), NAME_W); - lines.push(` ${name} ${formatOpSummary(summary, 40)}`); + const shaStr = sha ? ` ${formatSha(sha)}` : ''; + lines.push(` ${name}${shaStr} ${formatOpSummary(opSummary, 40)}`); } return lines; @@ -224,6 +227,31 @@ function buildWriterSwimRow({ writerId, writerInfo, win, currentTick }) { // Body assembly // ============================================================================ +/** + * Builds the tick-position array and index of the current tick. + * + * Ensures the current tick is always present: if `tick` is absent from + * `ticks` (e.g. saved cursor after writer refs changed), it is inserted + * at the correct sorted position so the window always centres on it. + * + * @param {number[]} ticks - Discovered Lamport ticks + * @param {number} tick - Current cursor tick + * @returns {{ allPoints: number[], currentIdx: number }} + */ +function buildTickPoints(ticks, tick) { + const allPoints = (ticks[0] === 0) ? [...ticks] : [0, ...ticks]; + let currentIdx = allPoints.indexOf(tick); + if (currentIdx === -1) { + let ins = allPoints.findIndex((t) => t > tick); + if (ins === -1) { + ins = allPoints.length; + } + allPoints.splice(ins, 0, tick); + currentIdx = ins; + } + return { allPoints, currentIdx }; +} + /** * Builds the body lines for the seek dashboard. * @@ -242,9 +270,8 @@ function buildSeekBodyLines(payload) { if (ticks.length === 0) { lines.push(` ${colors.muted('(no ticks)')}`); } else { - const allPoints = (ticks[0] === 0) ? [...ticks] : [0, ...ticks]; - const currentIdx = allPoints.indexOf(tick); - const win = computeWindow(allPoints, currentIdx === -1 ? 0 : currentIdx); + const { allPoints, currentIdx } = buildTickPoints(ticks, tick); + const win = computeWindow(allPoints, currentIdx); // Column headers with relative offsets lines.push(buildHeaderRow(win)); diff --git a/test/unit/visualization/ascii-seek-renderer.test.js b/test/unit/visualization/ascii-seek-renderer.test.js index 91cc2fd0..5e3bf19a 100644 --- a/test/unit/visualization/ascii-seek-renderer.test.js +++ b/test/unit/visualization/ascii-seek-renderer.test.js @@ -255,8 +255,14 @@ describe('renderSeekView', () => { edges: 2, patchCount: 2, tickReceipt: { - alice: { NodeAdd: 1, EdgeAdd: 2, PropSet: 0, NodeTombstone: 0, EdgeTombstone: 0, BlobValue: 0 }, - bob: { NodeAdd: 0, EdgeAdd: 0, PropSet: 2, NodeTombstone: 0, EdgeTombstone: 0, BlobValue: 0 }, + alice: { + sha: 'deadbeefaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', + opSummary: { NodeAdd: 1, EdgeAdd: 2, PropSet: 0, NodeTombstone: 0, EdgeTombstone: 0, BlobValue: 0 }, + }, + bob: { + sha: 'cafebabeaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', + opSummary: { NodeAdd: 0, EdgeAdd: 0, PropSet: 2, NodeTombstone: 0, EdgeTombstone: 0, BlobValue: 0 }, + }, }, perWriter: { alice: { ticks: [1, 2], tipSha: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' }, @@ -266,8 +272,56 @@ describe('renderSeekView', () => { const output = stripAnsi(renderSeekView(payload)); expect(output).toContain('Tick 1:'); + expect(output).toContain('deadbee'); + expect(output).toContain('cafebab'); expect(output).toContain('+1node'); expect(output).toContain('+2edge'); expect(output).toContain('~2prop'); }); + + it('shows current tick marker when tick is not in ticks array', () => { + // Edge case: cursor references a tick that is absent from ticks + // (e.g. saved cursor after writer refs changed). The renderer must + // still show [5] in the header, not fall back to [0]. + const payload = { + graph: 'orphan', + tick: 5, + maxTick: 10, + ticks: [1, 2, 3, 4, 6, 7, 8, 9, 10], + nodes: 3, + edges: 1, + patchCount: 2, + perWriter: { + alice: { ticks: [1, 3, 6, 9], tipSha: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' }, + }, + }; + + const output = stripAnsi(renderSeekView(payload)); + + // The current tick should appear as [5] in the header + expect(output).toContain('[5]'); + // Should NOT show [0] as current tick + expect(output).not.toMatch(/\[0\]/); + }); + + it('shows current tick marker when many ticks exceed window and tick is missing', () => { + // More than MAX_COLS (9) ticks, and currentTick is absent from array + const payload = { + graph: 'big', + tick: 7, + maxTick: 20, + ticks: [1, 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], + nodes: 10, + edges: 5, + patchCount: 8, + perWriter: { + alice: { ticks: [1, 5, 10, 15, 20], tipSha: 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' }, + }, + }; + + const output = stripAnsi(renderSeekView(payload)); + + // The current tick 7 should appear as [7] in the header + expect(output).toContain('[7]'); + }); }); From c906772d948a035091a3cd4d7141e1bb451e39d6 Mon Sep 17 00:00:00 2001 From: James Ross Date: Mon, 9 Feb 2026 18:20:03 -0800 Subject: [PATCH 08/13] fix: use applyCursorCeiling in handleHistory, strengthen BATS seek tests - Replace manual cursor reading in handleHistory with applyCursorCeiling for consistency with query/path/check handlers. - Assert tick entries are integers, not just that the array is non-empty. - Add negative test: query returns full node set after --latest clears the cursor. - Strengthen plain-text seek output assertion to check for tick/cursor keywords, not just the graph name. --- bin/warp-graph.js | 5 +---- test/bats/cli-seek.bats | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/bin/warp-graph.js b/bin/warp-graph.js index 8b101ee5..c05c792f 100755 --- a/bin/warp-graph.js +++ b/bin/warp-graph.js @@ -1263,10 +1263,7 @@ function buildCheckPayload({ async function handleHistory({ options, args }) { const historyOptions = parseHistoryArgs(args); const { graph, graphName, persistence } = await openGraph(options); - const activeCursor = await readActiveCursor(persistence, graphName); - const cursorInfo = activeCursor - ? { active: true, tick: activeCursor.tick, maxTick: null } - : { active: false, tick: null, maxTick: null }; + const cursorInfo = await applyCursorCeiling(graph, persistence, graphName); emitCursorWarning(cursorInfo, null); const writerId = options.writer; diff --git a/test/bats/cli-seek.bats b/test/bats/cli-seek.bats index 9f5c66ce..d542da23 100644 --- a/test/bats/cli-seek.bats +++ b/test/bats/cli-seek.bats @@ -20,6 +20,7 @@ import json, os data = json.loads(os.environ["JSON"]) assert data["cursor"]["active"] is False, f"expected cursor.active=False, got {data['cursor']['active']}" assert len(data["ticks"]) > 0, f"expected ticks array to have entries, got {data['ticks']}" +assert all(isinstance(t, int) for t in data["ticks"]), f"expected all ticks to be integers, got {data['ticks']}" PY } @@ -152,8 +153,26 @@ assert len(data["nodes"]) == 3, f"expected 3 nodes at tick 1, got {len(data['nod PY } +@test "query returns full node set after --latest clears cursor" { + run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick 1 + assert_success + + run git warp --repo "${TEST_REPO}" --graph demo --json seek --latest + assert_success + + run git warp --repo "${TEST_REPO}" --graph demo --json query --match '*' + assert_success + + JSON="$output" python3 - <<'PY' +import json, os +data = json.loads(os.environ["JSON"]) +assert len(data["nodes"]) > 3, f"expected more than 3 nodes after latest, got {len(data['nodes'])}" +PY +} + @test "seek plain text output" { run git warp --repo "${TEST_REPO}" --graph demo seek assert_success echo "$output" | grep -q "demo" + echo "$output" | grep -qiE "tick|cursor" } From d8551909057579d113b21db7b3ef069762bd2774 Mon Sep 17 00:00:00 2001 From: James Ross Date: Mon, 9 Feb 2026 18:35:24 -0800 Subject: [PATCH 09/13] fix: ceiling cache frontier check, allPoints dedup & BATS CI fixes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - _materializeWithCeiling now snapshots the writer frontier alongside the ceiling and invalidates the cache when tips advance, preventing stale state when new writers appear or patches are appended. - resolveTickValue avoids duplicating tick 0 when ticks already contains it. - Fix BATS seek tests: correct JSON key (nodes, not state.nodes), use tick 0 → latest for cursor-clearing test, switch cross-command tests to stdin piping, add receipt/diff/frontier-change assertions. - Pre-push hook now runs all BATS test files in test/bats/. --- CHANGELOG.md | 2 + bin/warp-graph.js | 4 +- scripts/hooks/pre-push | 2 +- src/domain/WarpGraph.js | 27 ++++-- test/bats/cli-seek.bats | 107 +++++++++++++++++++++--- test/unit/domain/WarpGraph.seek.test.js | 21 +++++ 6 files changed, 142 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f28c1ec..697e2621 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **Seek ceiling via public API**: Replaced direct `graph._seekCeiling` mutation in `materializeOneGraph` and `handleSeek` with `graph.materialize({ ceiling })`, using the public option instead of poking at internals. - **Seek timeline missing currentTick**: When the active cursor referenced a tick absent from the discovered ticks array, the renderer fell back to index 0 and never showed the current tick marker. Now inserts the cursor tick at the correct sorted position so the window always centres on it. - **Docs `--tick` signed-value syntax**: Updated GUIDE.md, README.md, and CHANGELOG examples to use `--tick=+N`/`--tick=-N` (equals form) for signed relative values, matching BATS tests and avoiding CLI parser ambiguity. +- **Ceiling cache stale on frontier advance**: `_materializeWithCeiling` cached state keyed only on ceiling + dirty flag, so it could return stale results when new writers appeared or tips advanced. Now snapshots the frontier (writer tip SHAs) alongside the ceiling and invalidates the cache when the frontier changes. +- **`resolveTickValue` duplicate tick 0**: The relative-tick resolver blindly prepended 0 to the ticks array, duplicating it when ticks already contained 0. Now checks before prepending. ### Changed diff --git a/bin/warp-graph.js b/bin/warp-graph.js index c05c792f..e578db44 100755 --- a/bin/warp-graph.js +++ b/bin/warp-graph.js @@ -1860,8 +1860,8 @@ function resolveTickValue(tickValue, currentTick, ticks, maxTick) { const base = currentTick ?? 0; // Find the current position in sorted ticks, then step by delta - // Include tick 0 as a virtual "empty state" position - const allPoints = [0, ...ticks]; + // Include tick 0 as a virtual "empty state" position (avoid duplicating if already present) + const allPoints = (ticks.length > 0 && ticks[0] === 0) ? [...ticks] : [0, ...ticks]; const currentIdx = allPoints.indexOf(base); const startIdx = currentIdx === -1 ? 0 : currentIdx; const targetIdx = Math.max(0, Math.min(allPoints.length - 1, startIdx + delta)); diff --git a/scripts/hooks/pre-push b/scripts/hooks/pre-push index 113b0fda..b5a02bbd 100755 --- a/scripts/hooks/pre-push +++ b/scripts/hooks/pre-push @@ -26,4 +26,4 @@ npm test echo "Running pre-push benchmarks..." npm run benchmark echo "Running pre-push git-warp CLI bats tests..." -docker compose run --build --rm test bats test/bats/warp-graph-cli.bats +docker compose run --build --rm test bats test/bats/ diff --git a/src/domain/WarpGraph.js b/src/domain/WarpGraph.js index f9116e40..1e5a4e15 100644 --- a/src/domain/WarpGraph.js +++ b/src/domain/WarpGraph.js @@ -184,6 +184,9 @@ export default class WarpGraph { /** @type {number|null} */ this._cachedCeiling = null; + + /** @type {Map|null} */ + this._cachedFrontier = null; } /** @@ -677,6 +680,7 @@ export default class WarpGraph { await this._setMaterializedState(state); this._cachedCeiling = null; + this._cachedFrontier = null; this._lastFrontier = await this.getFrontier(); this._patchesSinceCheckpoint = patchCount; @@ -744,9 +748,10 @@ export default class WarpGraph { * filtering to only those with `lamport <= ceiling`. Skips auto-checkpoint * and GC since this is an exploratory read. * - * Uses a dedicated cache keyed on `ceiling`. Cache is bypassed when - * `collectReceipts` is `true` because the cached path does not retain - * receipt data. + * Uses a dedicated cache keyed on `ceiling` + frontier snapshot. Cache + * is bypassed when the writer frontier has advanced (new writers or + * updated tips) or when `collectReceipts` is `true` because the cached + * path does not retain receipt data. * * @param {number} ceiling - Maximum Lamport tick to include (patches with * `lamport <= ceiling` are replayed; `ceiling <= 0` yields empty state) @@ -761,19 +766,28 @@ export default class WarpGraph { * @private */ async _materializeWithCeiling(ceiling, collectReceipts, t0) { - // Cache hit: same ceiling as last time, state is clean. + const frontier = await this.getFrontier(); + + // Cache hit: same ceiling, clean state, AND frontier unchanged. // Bypass cache when collectReceipts is true — cached path has no receipts. - if (this._cachedState && !this._stateDirty && ceiling === this._cachedCeiling && !collectReceipts) { + if ( + this._cachedState && !this._stateDirty && + ceiling === this._cachedCeiling && !collectReceipts && + this._cachedFrontier !== null && + this._cachedFrontier.size === frontier.size && + [...frontier].every(([w, sha]) => this._cachedFrontier.get(w) === sha) + ) { return this._cachedState; } - const writerIds = await this.discoverWriters(); + const writerIds = [...frontier.keys()]; if (writerIds.length === 0 || ceiling <= 0) { const state = createEmptyStateV5(); this._provenanceIndex = new ProvenanceIndex(); await this._setMaterializedState(state); this._cachedCeiling = ceiling; + this._cachedFrontier = frontier; this._logTiming('materialize', t0, { metrics: '0 patches (ceiling)' }); if (collectReceipts) { return { state, receipts: [] }; @@ -814,6 +828,7 @@ export default class WarpGraph { await this._setMaterializedState(state); this._cachedCeiling = ceiling; + this._cachedFrontier = frontier; // Skip auto-checkpoint and GC — this is an exploratory read this._logTiming('materialize', t0, { metrics: `${allPatches.length} patches (ceiling=${ceiling})` }); diff --git a/test/bats/cli-seek.bats b/test/bats/cli-seek.bats index d542da23..08910a6c 100644 --- a/test/bats/cli-seek.bats +++ b/test/bats/cli-seek.bats @@ -33,7 +33,23 @@ import json, os data = json.loads(os.environ["JSON"]) assert data["cursor"]["active"] is True, f"expected cursor.active=True, got {data['cursor']['active']}" assert data["cursor"]["tick"] == 1, f"expected tick=1, got {data['cursor']['tick']}" -assert data["state"]["nodes"] == 3, f"expected 3 nodes at tick 1, got {data['state']['nodes']}" +assert data["nodes"] == 3, f"expected 3 nodes at tick 1, got {data['nodes']}" +assert data["edges"] == 0, f"expected 0 edges at tick 1, got {data['edges']}" +assert data["patchCount"] == 1, f"expected 1 patch at tick 1, got {data['patchCount']}" +assert data["diff"] is None, f"expected diff=null at first seek, got {data['diff']}" + +receipt = data.get("tickReceipt") +assert isinstance(receipt, dict), f"expected tickReceipt object, got {receipt}" +assert "alice" in receipt, f"expected tickReceipt to include alice, got keys={list(receipt.keys())}" + +entry = receipt["alice"] +sha = entry.get("sha") +assert isinstance(sha, str) and len(sha) == 40, f"expected 40-char sha, got {sha}" +assert all(c in "0123456789abcdef" for c in sha), f"expected sha to be hex, got {sha}" + +summary = entry.get("opSummary") or {} +assert summary.get("NodeAdd") == 3, f"expected NodeAdd=3, got {summary.get('NodeAdd')}" +assert summary.get("PropSet") == 3, f"expected PropSet=3, got {summary.get('PropSet')}" PY } @@ -51,6 +67,36 @@ assert data["cursor"]["tick"] == 2, f"expected tick=2, got {data['cursor']['tick PY } +@test "seek --tick=+1 --json includes diff + tickReceipt with sha" { + run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick 1 + assert_success + + run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick=+1 + assert_success + + JSON="$output" python3 - <<'PY' +import json, os +data = json.loads(os.environ["JSON"]) +assert data["tick"] == 2, f"expected tick=2, got {data['tick']}" +assert data["nodes"] == 3, f"expected 3 nodes at tick 2, got {data['nodes']}" +assert data["edges"] == 2, f"expected 2 edges at tick 2, got {data['edges']}" +assert data["patchCount"] == 2, f"expected 2 patches at tick 2, got {data['patchCount']}" + +diff = data.get("diff") +assert isinstance(diff, dict), f"expected diff object, got {diff}" +assert diff.get("nodes") == 0, f"expected nodes diff=0, got {diff.get('nodes')}" +assert diff.get("edges") == 2, f"expected edges diff=2, got {diff.get('edges')}" + +receipt = data.get("tickReceipt") or {} +assert "alice" in receipt, f"expected tickReceipt to include alice, got keys={list(receipt.keys())}" +entry = receipt["alice"] +sha = entry.get("sha") +assert isinstance(sha, str) and len(sha) == 40, f"expected 40-char sha, got {sha}" +summary = entry.get("opSummary") or {} +assert summary.get("EdgeAdd") == 2, f"expected EdgeAdd=2, got {summary.get('EdgeAdd')}" +PY +} + @test "seek --latest --json clears cursor" { run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick 1 assert_success @@ -146,15 +192,17 @@ PY run git warp --repo "${TEST_REPO}" --graph demo --json query --match '*' assert_success - JSON="$output" python3 - <<'PY' -import json, os -data = json.loads(os.environ["JSON"]) -assert len(data["nodes"]) == 3, f"expected 3 nodes at tick 1, got {len(data['nodes'])}" -PY + echo "$output" | python3 -c " +import json, sys +data = json.load(sys.stdin) +assert len(data['nodes']) == 3, f'expected 3 nodes at tick 1, got {len(data[\"nodes\"])}' +" } @test "query returns full node set after --latest clears cursor" { - run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick 1 + # Seek to tick 0 (empty state), then clear with --latest. + # Query must return the full 3-node graph, proving cursor was cleared. + run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick 0 assert_success run git warp --repo "${TEST_REPO}" --graph demo --json seek --latest @@ -163,11 +211,11 @@ PY run git warp --repo "${TEST_REPO}" --graph demo --json query --match '*' assert_success - JSON="$output" python3 - <<'PY' -import json, os -data = json.loads(os.environ["JSON"]) -assert len(data["nodes"]) > 3, f"expected more than 3 nodes after latest, got {len(data['nodes'])}" -PY + echo "$output" | python3 -c " +import json, sys +data = json.load(sys.stdin) +assert len(data['nodes']) == 3, f'expected 3 nodes after latest, got {len(data[\"nodes\"])}' +" } @test "seek plain text output" { @@ -176,3 +224,38 @@ PY echo "$output" | grep -q "demo" echo "$output" | grep -qiE "tick|cursor" } + +@test "seek plain text output includes receipt summary with sha" { + run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick 1 + assert_success + + short_sha="$(JSON="$output" python3 -c 'import json, os; j = json.loads(os.environ["JSON"]); print(j["tickReceipt"]["alice"]["sha"][:7])')" + + run git warp --repo "${TEST_REPO}" --graph demo seek --tick 1 + assert_success + + echo "$output" | grep -q "Tick 1:" + echo "$output" | grep -q "alice" + echo "$output" | grep -q "${short_sha}" + echo "$output" | grep -q "\\+3node" + echo "$output" | grep -q "~3prop" +} + +@test "seek --json suppresses diff when frontier changes" { + run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick 1 + assert_success + + # Change frontier by appending a new patch (lamport tick 3). + seed_graph "append-patch.js" + + run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick=+1 + assert_success + + JSON="$output" python3 - <<'PY' +import json, os +data = json.loads(os.environ["JSON"]) +assert data["tick"] == 2, f"expected tick=2, got {data['tick']}" +assert data["maxTick"] == 3, f"expected maxTick=3 after append, got {data['maxTick']}" +assert data["diff"] is None, f"expected diff=null due to frontier change, got {data['diff']}" +PY +} diff --git a/test/unit/domain/WarpGraph.seek.test.js b/test/unit/domain/WarpGraph.seek.test.js index b1166164..c4323d21 100644 --- a/test/unit/domain/WarpGraph.seek.test.js +++ b/test/unit/domain/WarpGraph.seek.test.js @@ -356,6 +356,27 @@ describe('WarpGraph.seek (time-travel)', () => { expect(callCountAfterSecond).toBeGreaterThan(callCountAfterFirst); }); + it('cache is invalidated when frontier advances at the same ceiling', async () => { + const graph = await WarpGraph.open({ + persistence, + graphName: 'test', + writerId: 'w1', + }); + + // Start with one writer + setupMultiWriterPersistence(persistence, { alice: 3 }); + + const stateA = await graph.materialize({ ceiling: 2 }); + expect(stateA.nodeAlive.entries.size).toBe(2); // alice:1, alice:2 + + // A new writer appears — frontier changes + setupMultiWriterPersistence(persistence, { alice: 3, bob: 3 }); + + const stateB = await graph.materialize({ ceiling: 2 }); + // Must see 4 nodes (alice:1, alice:2, bob:1, bob:2), not stale 2 + expect(stateB.nodeAlive.entries.size).toBe(4); + }); + it('explicit ceiling: null overrides _seekCeiling and materializes latest', async () => { const graph = await WarpGraph.open({ persistence, From 9d6724fc13c5b782331c22501a4814e92310a6f0 Mon Sep 17 00:00:00 2001 From: James Ross Date: Mon, 9 Feb 2026 18:37:51 -0800 Subject: [PATCH 10/13] fix: use file capture for query-with-cursor BATS test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Work around empty $output from BATS run when query command emits a cursor warning to stderr — capture to a temp file instead. --- test/bats/cli-seek.bats | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test/bats/cli-seek.bats b/test/bats/cli-seek.bats index 08910a6c..13d41797 100644 --- a/test/bats/cli-seek.bats +++ b/test/bats/cli-seek.bats @@ -189,12 +189,12 @@ PY run git warp --repo "${TEST_REPO}" --graph demo --json seek --tick 1 assert_success - run git warp --repo "${TEST_REPO}" --graph demo --json query --match '*' - assert_success - - echo "$output" | python3 -c " -import json, sys -data = json.load(sys.stdin) + # Capture query output to a file to avoid BATS $output edge cases + local qfile="${TEST_REPO}/query_out.json" + git warp --repo "${TEST_REPO}" --graph demo --json query --match '*' > "${qfile}" + python3 -c " +import json +data = json.load(open('${qfile}')) assert len(data['nodes']) == 3, f'expected 3 nodes at tick 1, got {len(data[\"nodes\"])}' " } From e60f2ed844f9ace21d0b6bc0b9ebfe1f148ad0e4 Mon Sep 17 00:00:00 2001 From: James Ross Date: Mon, 9 Feb 2026 18:46:13 -0800 Subject: [PATCH 11/13] fix: track append-patch.js helper missing from BATS CI The file was untracked so Docker builds (which copy from the git context) never included it, causing test 55 to fail with MODULE_NOT_FOUND on Node 20. --- test/bats/helpers/append-patch.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 test/bats/helpers/append-patch.js diff --git a/test/bats/helpers/append-patch.js b/test/bats/helpers/append-patch.js new file mode 100644 index 00000000..b4b93718 --- /dev/null +++ b/test/bats/helpers/append-patch.js @@ -0,0 +1,25 @@ +/** + * Appends a small patch to the demo graph to advance the frontier. + * + * Used by BATS time-travel tests to verify seek diffs are suppressed when + * the frontier changes between cursor snapshots. + * + * Expects: + * - REPO_PATH env var + * - PROJECT_ROOT env var (set by setup.bash) + */ + +import { WarpGraph, persistence, crypto } from './seed-setup.js'; + +const graph = await WarpGraph.open({ + persistence, + graphName: 'demo', + writerId: 'alice', + crypto, +}); + +const patch = await graph.createPatch(); +await patch + .setProperty('user:alice', 'role', 'ops') + .commit(); + From e0d7f630e8f12cc3833672416dd674ee62e2536b Mon Sep 17 00:00:00 2001 From: James Ross Date: Mon, 9 Feb 2026 19:15:06 -0800 Subject: [PATCH 12/13] fix: seek --save=NAME/--load=NAME/--drop=NAME, demo portability & JSDoc - parseSeekArgs now accepts = form for --save, --load, --drop - seek-demo.tape derives PROJECT_ROOT from $(pwd) instead of hardcoding - Clarified emitCursorWarning/applyCursorCeiling JSDoc re: null maxTick --- CHANGELOG.md | 12 ++++++++++++ bin/warp-graph.js | 33 ++++++++++++++++++++++++++++++++- docs/seek-demo.tape | 4 ++-- 3 files changed, 46 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 697e2621..af833975 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [10.3.2] — 2026-02-09 — Seek CLI fixes & demo portability + +### Added + +- **`--save=NAME`, `--load=NAME`, `--drop=NAME` equals form**: `parseSeekArgs` now accepts `=`-separated values for `--save`, `--load`, and `--drop`, matching the existing `--tick=VALUE` form. + +### Fixed + +- **BATS CI: missing `append-patch.js` helper**: `test/bats/helpers/append-patch.js` was untracked, so Docker builds (which copy from the git context) never included it — causing test 55 to fail with `MODULE_NOT_FOUND` on Node 20. +- **`seek-demo.tape` not portable**: Replaced hardcoded `$HOME/git/git-stunts/git-warp` with `export PROJECT_ROOT=$(pwd)` captured before entering the temp sandbox. +- **`emitCursorWarning` / `applyCursorCeiling` JSDoc**: Clarified that non-seek commands intentionally pass `null` for `maxTick` to skip the cost of `discoverTicks()`. + ## [10.3.1] — 2026-02-09 — Seek polish, arrowheads & demo GIF ### Added diff --git a/bin/warp-graph.js b/bin/warp-graph.js index e578db44..015fdbf1 100755 --- a/bin/warp-graph.js +++ b/bin/warp-graph.js @@ -1800,6 +1800,15 @@ function parseSeekArgs(args) { } spec.name = val; i += 1; + } else if (arg.startsWith('--save=')) { + if (spec.action !== 'status') { + throw usageError('--save cannot be combined with other seek flags'); + } + spec.action = 'save'; + spec.name = arg.slice('--save='.length); + if (!spec.name) { + throw usageError('Missing name for --save'); + } } else if (arg === '--load') { if (spec.action !== 'status') { throw usageError('--load cannot be combined with other seek flags'); @@ -1811,6 +1820,15 @@ function parseSeekArgs(args) { } spec.name = val; i += 1; + } else if (arg.startsWith('--load=')) { + if (spec.action !== 'status') { + throw usageError('--load cannot be combined with other seek flags'); + } + spec.action = 'load'; + spec.name = arg.slice('--load='.length); + if (!spec.name) { + throw usageError('Missing name for --load'); + } } else if (arg === '--list') { if (spec.action !== 'status') { throw usageError('--list cannot be combined with other seek flags'); @@ -1827,6 +1845,15 @@ function parseSeekArgs(args) { } spec.name = val; i += 1; + } else if (arg.startsWith('--drop=')) { + if (spec.action !== 'status') { + throw usageError('--drop cannot be combined with other seek flags'); + } + spec.action = 'drop'; + spec.name = arg.slice('--drop='.length); + if (!spec.name) { + throw usageError('Missing name for --drop'); + } } else if (arg.startsWith('-')) { throw usageError(`Unknown seek option: ${arg}`); } @@ -2358,7 +2385,7 @@ function renderSeek(payload) { * @param {Object} graph - WarpGraph instance * @param {Object} persistence - GraphPersistencePort adapter * @param {string} graphName - Name of the WARP graph - * @returns {Promise<{active: boolean, tick: number|null, maxTick: number|null}>} Cursor info (maxTick is always null here; callers populate it) + * @returns {Promise<{active: boolean, tick: number|null, maxTick: number|null}>} Cursor info — maxTick is always null; non-seek commands intentionally skip discoverTicks() for performance */ async function applyCursorCeiling(graph, persistence, graphName) { const cursor = await readActiveCursor(persistence, graphName); @@ -2374,6 +2401,10 @@ async function applyCursorCeiling(graph, persistence, graphName) { * * No-op if the cursor is not active. * + * Non-seek commands (query, path, check, history, materialize) pass null for + * maxTick to avoid the cost of discoverTicks(); the banner then omits the + * "of {maxTick}" suffix. Only the seek handler itself populates maxTick. + * * @private * @param {{active: boolean, tick: number|null, maxTick: number|null}} cursorInfo - Result from applyCursorCeiling * @param {number|null} maxTick - Maximum Lamport tick (from discoverTicks), or null if unknown diff --git a/docs/seek-demo.tape b/docs/seek-demo.tape index 47adc615..a630ba75 100644 --- a/docs/seek-demo.tape +++ b/docs/seek-demo.tape @@ -16,11 +16,11 @@ Set TypingSpeed 40ms # ── Bootstrap a sandbox repo with a seeded graph ──────────────────────── Hide +Type "export PROJECT_ROOT=$(pwd)" +Enter Type "TMPDIR=$(mktemp -d) && cd $TMPDIR && git init -q sandbox && cd sandbox" Enter Sleep 500ms -Type "export PROJECT_ROOT=$HOME/git/git-stunts/git-warp" -Enter Type "export REPO_PATH=$(pwd)" Enter Type "export PATH=$PROJECT_ROOT/bin:$PATH" From b5659d10a1e4d15160b31b0e0b4e2684f0c2c219 Mon Sep 17 00:00:00 2001 From: James Ross Date: Mon, 9 Feb 2026 19:40:04 -0800 Subject: [PATCH 13/13] fix: _resolveCeiling treats undefined as not-provided The 'in' operator returned options.ceiling even when undefined; now uses !== undefined so explicit null still overrides the instance ceiling. --- CHANGELOG.md | 1 + src/domain/WarpGraph.js | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index af833975..b6731b33 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **BATS CI: missing `append-patch.js` helper**: `test/bats/helpers/append-patch.js` was untracked, so Docker builds (which copy from the git context) never included it — causing test 55 to fail with `MODULE_NOT_FOUND` on Node 20. - **`seek-demo.tape` not portable**: Replaced hardcoded `$HOME/git/git-stunts/git-warp` with `export PROJECT_ROOT=$(pwd)` captured before entering the temp sandbox. - **`emitCursorWarning` / `applyCursorCeiling` JSDoc**: Clarified that non-seek commands intentionally pass `null` for `maxTick` to skip the cost of `discoverTicks()`. +- **`_resolveCeiling` treated `undefined` as valid**: The `'ceiling' in options` check returned `undefined` when options contained the key but no value. Switched to `options.ceiling !== undefined` so explicit `null` still overrides the instance ceiling but `undefined` correctly falls through. ## [10.3.1] — 2026-02-09 — Seek polish, arrowheads & demo GIF diff --git a/src/domain/WarpGraph.js b/src/domain/WarpGraph.js index 1e5a4e15..61f76941 100644 --- a/src/domain/WarpGraph.js +++ b/src/domain/WarpGraph.js @@ -735,7 +735,7 @@ export default class WarpGraph { * @private */ _resolveCeiling(options) { - if (options && 'ceiling' in options) { + if (options && options.ceiling !== undefined) { return options.ceiling; } return this._seekCeiling;