@smartmemory/compose 0.2.2-beta → 0.2.3-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/contracts/checkpoint.schema.json +85 -0
- package/dist/assets/{App-QGVt8tH2.js → App-j8fWZcGr.js} +5 -5
- package/dist/assets/{arc-yX1Dy9Ls.js → arc-BFqOo_jJ.js} +1 -1
- package/dist/assets/{architectureDiagram-3BPJPVTR-BhtVN7Go.js → architectureDiagram-3BPJPVTR-D722w0RE.js} +1 -1
- package/dist/assets/{blockDiagram-GPEHLZMM-Do_uWvAL.js → blockDiagram-GPEHLZMM-B4w0mOAJ.js} +1 -1
- package/dist/assets/{c4Diagram-AAUBKEIU-DhjfNEZ_.js → c4Diagram-AAUBKEIU-D6LE8-j8.js} +1 -1
- package/dist/assets/channel-BD-5_hPW.js +1 -0
- package/dist/assets/{chunk-2J33WTMH-ZLuzLSr5.js → chunk-2J33WTMH-CrazA7xu.js} +1 -1
- package/dist/assets/{chunk-4BX2VUAB-BkfYx42O.js → chunk-4BX2VUAB-Cp90GiCM.js} +1 -1
- package/dist/assets/{chunk-55IACEB6-UGWHui37.js → chunk-55IACEB6-Bnais1SK.js} +1 -1
- package/dist/assets/{chunk-727SXJPM-DENLKVEd.js → chunk-727SXJPM-kD07Sqp5.js} +1 -1
- package/dist/assets/{chunk-AQP2D5EJ-BV-AIq0h.js → chunk-AQP2D5EJ-DmIxhJc8.js} +1 -1
- package/dist/assets/{chunk-FMBD7UC4-BO5q1BN_.js → chunk-FMBD7UC4-Jti_und8.js} +1 -1
- package/dist/assets/{chunk-ND2GUHAM-rAAtIsqf.js → chunk-ND2GUHAM-Ipx3noKz.js} +1 -1
- package/dist/assets/{chunk-QZHKN3VN-DmZo3sCU.js → chunk-QZHKN3VN-CeblRnPF.js} +1 -1
- package/dist/assets/classDiagram-4FO5ZUOK-mSW5R7DY.js +1 -0
- package/dist/assets/classDiagram-v2-Q7XG4LA2-mSW5R7DY.js +1 -0
- package/dist/assets/{cose-bilkent-S5V4N54A-BlBShGhI.js → cose-bilkent-S5V4N54A-fNQlSmHt.js} +1 -1
- package/dist/assets/{dagre-BM42HDAG-urcL7_B8.js → dagre-BM42HDAG-D27D6YAL.js} +1 -1
- package/dist/assets/{diagram-2AECGRRQ-DlfCvqLR.js → diagram-2AECGRRQ-CtXeohzN.js} +1 -1
- package/dist/assets/{diagram-5GNKFQAL-h5gTsYDo.js → diagram-5GNKFQAL-C_BqZkx0.js} +1 -1
- package/dist/assets/{diagram-KO2AKTUF-BbEbRrVo.js → diagram-KO2AKTUF-B29ynQz4.js} +1 -1
- package/dist/assets/{diagram-LMA3HP47-jog00Zl2.js → diagram-LMA3HP47-DAYJMc2I.js} +1 -1
- package/dist/assets/{diagram-OG6HWLK6-B0JVsR6S.js → diagram-OG6HWLK6-CBJMis3l.js} +1 -1
- package/dist/assets/{erDiagram-TEJ5UH35-DkUnalKg.js → erDiagram-TEJ5UH35-nd3GWiPn.js} +1 -1
- package/dist/assets/{flowDiagram-I6XJVG4X-DewNd_kM.js → flowDiagram-I6XJVG4X-HFUno_nV.js} +1 -1
- package/dist/assets/{ganttDiagram-6RSMTGT7-DzDBcVj5.js → ganttDiagram-6RSMTGT7-CPPAAjwR.js} +1 -1
- package/dist/assets/{gitGraphDiagram-PVQCEYII-D0CX5WgP.js → gitGraphDiagram-PVQCEYII-NBq1F6K2.js} +1 -1
- package/dist/assets/{index-D4GJb_6L.js → index-uHKnp74B.js} +2 -2
- package/dist/assets/{infoDiagram-5YYISTIA-B1zzuW9l.js → infoDiagram-5YYISTIA-D-TOBtCq.js} +1 -1
- package/dist/assets/{ishikawaDiagram-YF4QCWOH-3hFmuv1F.js → ishikawaDiagram-YF4QCWOH-nXOztZiZ.js} +1 -1
- package/dist/assets/{journeyDiagram-JHISSGLW-w9c-l95A.js → journeyDiagram-JHISSGLW-Bko3tTdh.js} +1 -1
- package/dist/assets/{kanban-definition-UN3LZRKU-9cL90JL0.js → kanban-definition-UN3LZRKU-1e-7i8st.js} +1 -1
- package/dist/assets/{linear-DyDb5wz8.js → linear-Dx5ZJB7F.js} +1 -1
- package/dist/assets/{mindmap-definition-RKZ34NQL-DBQqsZiD.js → mindmap-definition-RKZ34NQL-CNwNkDqN.js} +1 -1
- package/dist/assets/{pieDiagram-4H26LBE5-BbIHZku5.js → pieDiagram-4H26LBE5-C5fvCej-.js} +1 -1
- package/dist/assets/{quadrantDiagram-W4KKPZXB-DEQSG_lM.js → quadrantDiagram-W4KKPZXB-4NoQsF61.js} +1 -1
- package/dist/assets/{requirementDiagram-4Y6WPE33-BeVnwIwF.js → requirementDiagram-4Y6WPE33-q5WxB9LO.js} +1 -1
- package/dist/assets/{sankeyDiagram-5OEKKPKP-Be-ROw_I.js → sankeyDiagram-5OEKKPKP-DlQNB367.js} +1 -1
- package/dist/assets/{sequenceDiagram-3UESZ5HK-E-tnxahu.js → sequenceDiagram-3UESZ5HK-BzHclOKt.js} +1 -1
- package/dist/assets/{stateDiagram-AJRCARHV-3rgFN7hL.js → stateDiagram-AJRCARHV-BvWRI9zK.js} +1 -1
- package/dist/assets/stateDiagram-v2-BHNVJYJU-CDlF0VA8.js +1 -0
- package/dist/assets/{timeline-definition-PNZ67QCA-Dcs4QFbE.js → timeline-definition-PNZ67QCA-j2wKjAti.js} +1 -1
- package/dist/assets/{vennDiagram-CIIHVFJN-BstUQ900.js → vennDiagram-CIIHVFJN-B77g7htC.js} +1 -1
- package/dist/assets/{wardley-L42UT6IY-CO77hXwj.js → wardley-L42UT6IY-83Im2mo2.js} +1 -1
- package/dist/assets/{wardleyDiagram-YWT4CUSO-BvrP3shF.js → wardleyDiagram-YWT4CUSO-CK-XB-bO.js} +1 -1
- package/dist/assets/{xychartDiagram-2RQKCTM6-Btu4JcQO.js → xychartDiagram-2RQKCTM6-D42FcVOY.js} +1 -1
- package/dist/index.html +1 -1
- package/lib/checkpoint/anchor.js +66 -0
- package/lib/checkpoint/atomic.js +83 -0
- package/lib/checkpoint/checkpoint-writer.js +131 -0
- package/lib/checkpoint/fingerprint.js +145 -0
- package/lib/checkpoint/git.js +58 -0
- package/lib/checkpoint/prompts.js +206 -0
- package/lib/checkpoint/reconciler.js +207 -0
- package/lib/checkpoint/render.js +107 -0
- package/lib/checkpoint/store/index.js +67 -0
- package/lib/checkpoint/store/jsonl.js +80 -0
- package/package.json +1 -1
- package/server/compose-mcp-tools.js +30 -0
- package/server/compose-mcp.js +40 -0
- package/server/session-routes.js +65 -0
- package/server/vision-routes.js +15 -0
- package/dist/assets/channel-D6hNrRZ2.js +0 -1
- package/dist/assets/classDiagram-4FO5ZUOK-DvsVLUph.js +0 -1
- package/dist/assets/classDiagram-v2-Q7XG4LA2-DvsVLUph.js +0 -1
- package/dist/assets/stateDiagram-v2-BHNVJYJU-DY_OtnIg.js +0 -1
package/server/vision-routes.js
CHANGED
|
@@ -48,6 +48,7 @@ function getSchemaValidator() {
|
|
|
48
48
|
|
|
49
49
|
import { randomUUID } from 'node:crypto';
|
|
50
50
|
import { getTargetRoot, resolveProjectPath, loadProjectConfig } from './project-root.js';
|
|
51
|
+
import { anchorBoundary } from '../lib/checkpoint/checkpoint-writer.js';
|
|
51
52
|
import { appendGateLogEntry, readGateLog, mapResolveOutcomeToSchema } from './gate-log-store.js';
|
|
52
53
|
import { addOpenLoop, resolveOpenLoop, listOpenLoops } from './open-loops-store.js';
|
|
53
54
|
|
|
@@ -281,6 +282,8 @@ export function attachVisionRoutes(app, { store, scheduleBroadcast, broadcastMes
|
|
|
281
282
|
emitDriftAxes(broadcastMessage, store, item, projectRoot, now);
|
|
282
283
|
// COMP-OBS-STATUS: emit status snapshot after lifecycle transition (advance)
|
|
283
284
|
emitStatusSnapshot(broadcastMessage, store, item.lifecycle.featureCode, now);
|
|
285
|
+
// COMP-RESUME: best-effort anchor checkpoint at the phase boundary
|
|
286
|
+
anchorBoundary(getTargetRoot(), { item, trigger: 'phase-transition' });
|
|
284
287
|
res.json({ from, to: targetPhase, outcome });
|
|
285
288
|
} catch (err) {
|
|
286
289
|
const status = err.message.includes('not found') ? 404 : 400;
|
|
@@ -311,6 +314,8 @@ export function attachVisionRoutes(app, { store, scheduleBroadcast, broadcastMes
|
|
|
311
314
|
emitDriftAxes(broadcastMessage, store, item, projectRoot, now);
|
|
312
315
|
// COMP-OBS-STATUS: emit status snapshot after lifecycle transition (skip)
|
|
313
316
|
emitStatusSnapshot(broadcastMessage, store, item.lifecycle.featureCode, now);
|
|
317
|
+
// COMP-RESUME: best-effort anchor checkpoint at the phase boundary
|
|
318
|
+
anchorBoundary(getTargetRoot(), { item, trigger: 'phase-transition' });
|
|
314
319
|
res.json({ from, to: targetPhase, outcome: 'skipped', reason });
|
|
315
320
|
} catch (err) {
|
|
316
321
|
const status = err.message.includes('not found') ? 404 : 400;
|
|
@@ -341,6 +346,8 @@ export function attachVisionRoutes(app, { store, scheduleBroadcast, broadcastMes
|
|
|
341
346
|
emitDriftAxes(broadcastMessage, store, item, projectRoot, now);
|
|
342
347
|
// COMP-OBS-STATUS: emit status snapshot after lifecycle transition (kill)
|
|
343
348
|
emitStatusSnapshot(broadcastMessage, store, item.lifecycle.featureCode, now);
|
|
349
|
+
// COMP-RESUME: best-effort anchor checkpoint at the (terminal) phase boundary
|
|
350
|
+
anchorBoundary(getTargetRoot(), { item, trigger: 'phase-transition' });
|
|
344
351
|
res.json({ phase: from, reason });
|
|
345
352
|
} catch (err) {
|
|
346
353
|
const status = err.message.includes('not found') ? 404 : 400;
|
|
@@ -370,6 +377,8 @@ export function attachVisionRoutes(app, { store, scheduleBroadcast, broadcastMes
|
|
|
370
377
|
emitDriftAxes(broadcastMessage, store, item, projectRoot, now);
|
|
371
378
|
// COMP-OBS-STATUS: emit status snapshot after lifecycle transition (complete)
|
|
372
379
|
emitStatusSnapshot(broadcastMessage, store, item.lifecycle.featureCode, now);
|
|
380
|
+
// COMP-RESUME: best-effort anchor checkpoint at the (terminal) phase boundary
|
|
381
|
+
anchorBoundary(getTargetRoot(), { item, trigger: 'phase-transition' });
|
|
373
382
|
|
|
374
383
|
// COMP-MCP-MIGRATION: reconcile cockpit complete with record_completion
|
|
375
384
|
// (commit-bound completion writer). Best-effort: failures emit a decision
|
|
@@ -561,6 +570,8 @@ export function attachVisionRoutes(app, { store, scheduleBroadcast, broadcastMes
|
|
|
561
570
|
emitDriftAxes(broadcastMessage, store, item, projectRoot, now);
|
|
562
571
|
// COMP-OBS-STATUS: emit status snapshot after iteration complete
|
|
563
572
|
emitStatusSnapshot(broadcastMessage, store, item.lifecycle.featureCode, now);
|
|
573
|
+
// COMP-RESUME: best-effort anchor checkpoint at iteration-complete boundary
|
|
574
|
+
anchorBoundary(getTargetRoot(), { item, trigger: 'iteration-complete' });
|
|
564
575
|
}
|
|
565
576
|
} else {
|
|
566
577
|
// per-attempt update: NO DecisionEvent (Decision 2 — would flood strip)
|
|
@@ -614,6 +625,8 @@ export function attachVisionRoutes(app, { store, scheduleBroadcast, broadcastMes
|
|
|
614
625
|
emitDriftAxes(broadcastMessage, store, item, projectRoot, now);
|
|
615
626
|
// COMP-OBS-STATUS: emit status snapshot after iteration abort
|
|
616
627
|
emitStatusSnapshot(broadcastMessage, store, item.lifecycle.featureCode, now);
|
|
628
|
+
// COMP-RESUME: best-effort anchor checkpoint at iteration-complete (abort) boundary
|
|
629
|
+
anchorBoundary(getTargetRoot(), { item, trigger: 'iteration-complete' });
|
|
617
630
|
}
|
|
618
631
|
res.json({ aborted: true });
|
|
619
632
|
} catch (err) {
|
|
@@ -835,6 +848,8 @@ export function attachVisionRoutes(app, { store, scheduleBroadcast, broadcastMes
|
|
|
835
848
|
// COMP-OBS-DRIFT: emit drift axes before status so STATUS reads fresh drift_axes
|
|
836
849
|
emitDriftAxes(broadcastMessage, store, resolvedItem, projectRoot, resolvedAt);
|
|
837
850
|
emitStatusSnapshot(broadcastMessage, store, resolvedItem.lifecycle.featureCode, resolvedAt);
|
|
851
|
+
// COMP-RESUME: best-effort anchor checkpoint at gate-resolution boundary
|
|
852
|
+
anchorBoundary(getTargetRoot(), { item: resolvedItem, trigger: 'gate-resolution' });
|
|
838
853
|
}
|
|
839
854
|
}
|
|
840
855
|
res.json({ gateId: req.params.id, gateOutcome: outcome });
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ai as o,aj as n}from"./App-QGVt8tH2.js";const t=(a,r)=>o.lang.round(n.parse(a)[r]);export{t as c};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as e,C as t}from"./chunk-727SXJPM-DENLKVEd.js";import{_ as i}from"./App-QGVt8tH2.js";import"./chunk-FMBD7UC4-BO5q1BN_.js";import"./chunk-ND2GUHAM-rAAtIsqf.js";import"./chunk-55IACEB6-UGWHui37.js";import"./chunk-2J33WTMH-ZLuzLSr5.js";import"./mobile-CG5tLa2S.js";import"./index-D4GJb_6L.js";import"./graph-CJVNlri5.js";var b={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{b as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as a,c as s,a as e,C as t}from"./chunk-727SXJPM-DENLKVEd.js";import{_ as i}from"./App-QGVt8tH2.js";import"./chunk-FMBD7UC4-BO5q1BN_.js";import"./chunk-ND2GUHAM-rAAtIsqf.js";import"./chunk-55IACEB6-UGWHui37.js";import"./chunk-2J33WTMH-ZLuzLSr5.js";import"./mobile-CG5tLa2S.js";import"./index-D4GJb_6L.js";import"./graph-CJVNlri5.js";var b={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{b as diagram};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as r,b as e,a,S as s}from"./chunk-AQP2D5EJ-BV-AIq0h.js";import{_ as i}from"./App-QGVt8tH2.js";import"./chunk-55IACEB6-UGWHui37.js";import"./chunk-2J33WTMH-ZLuzLSr5.js";import"./mobile-CG5tLa2S.js";import"./index-D4GJb_6L.js";import"./graph-CJVNlri5.js";var n={parser:a,get db(){return new s(2)},renderer:e,styles:r,init:i(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{n as diagram};
|