understanding-graph 0.1.1 → 0.1.3
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/README.md +1 -1
- package/bin/cli.js +2 -2
- package/node_modules/@understanding-graph/core/dist/database/sqlite.d.ts.map +1 -1
- package/node_modules/@understanding-graph/core/dist/database/sqlite.js +24 -1
- package/node_modules/@understanding-graph/core/dist/database/sqlite.js.map +1 -1
- package/node_modules/@understanding-graph/core/package.json +1 -1
- package/node_modules/@understanding-graph/core/src/database/sqlite.ts +25 -1
- package/node_modules/@understanding-graph/mcp-server/dist/tools/batch.d.ts.map +1 -1
- package/node_modules/@understanding-graph/mcp-server/dist/tools/batch.js +242 -182
- package/node_modules/@understanding-graph/mcp-server/dist/tools/batch.js.map +1 -1
- package/node_modules/@understanding-graph/mcp-server/dist/tools/solvers.js +1 -1
- package/node_modules/@understanding-graph/mcp-server/dist/tools/solvers.js.map +1 -1
- package/node_modules/@understanding-graph/mcp-server/package.json +1 -1
- package/package.json +1 -1
- package/packages/core/dist/database/sqlite.d.ts.map +1 -1
- package/packages/core/dist/database/sqlite.js +24 -1
- package/packages/core/dist/database/sqlite.js.map +1 -1
- package/packages/core/package.json +1 -1
- package/packages/mcp-server/dist/tools/batch.d.ts.map +1 -1
- package/packages/mcp-server/dist/tools/batch.js +242 -182
- package/packages/mcp-server/dist/tools/batch.js.map +1 -1
- package/packages/mcp-server/dist/tools/solvers.js +1 -1
- package/packages/mcp-server/dist/tools/solvers.js.map +1 -1
- package/packages/mcp-server/package.json +1 -1
- package/server.json +2 -2
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
import path from 'node:path';
|
|
2
|
-
import { createCommit, createDocumentWriter, getGraphStore, } from '@understanding-graph/core';
|
|
2
|
+
import { createCommit, createDocumentWriter, getGraphStore, sqlite, } from '@understanding-graph/core';
|
|
3
3
|
import { handleToolCall } from './index.js';
|
|
4
|
+
// Sentinel error class used by handleBatchTools to bubble an
|
|
5
|
+
// "intentional early return with payload" out of a transactional block
|
|
6
|
+
// and force the surrounding catch handler to ROLLBACK before returning
|
|
7
|
+
// the carried payload. We can't `return` directly from inside the
|
|
8
|
+
// transaction without also calling COMMIT, so we throw and recover.
|
|
9
|
+
class BatchEarlyExit extends Error {
|
|
10
|
+
payload;
|
|
11
|
+
constructor(payload) {
|
|
12
|
+
super('__batch_early_exit__');
|
|
13
|
+
this.payload = payload;
|
|
14
|
+
this.name = 'BatchEarlyExit';
|
|
15
|
+
}
|
|
16
|
+
}
|
|
4
17
|
// Tools that create nodes and need immediate embedding generation
|
|
5
18
|
const NODE_CREATING_TOOLS = [
|
|
6
19
|
'graph_add_concept',
|
|
@@ -21,13 +34,23 @@ const DOC_MUTATION_TOOLS = [
|
|
|
21
34
|
export const batchTools = [
|
|
22
35
|
{
|
|
23
36
|
name: 'graph_batch',
|
|
24
|
-
description: `Execute multiple graph operations
|
|
37
|
+
description: `Execute multiple graph operations as an ATOMIC COMMIT.
|
|
38
|
+
|
|
39
|
+
The entire batch is wrapped in a SQLite transaction. If any operation
|
|
40
|
+
fails, the entire batch is rolled back as if it never ran — there is no
|
|
41
|
+
half-state to clean up. This is the system's "Atomic Commit" primitive
|
|
42
|
+
from the paper: it lets you branch and revert cognitive states cleanly.
|
|
43
|
+
|
|
44
|
+
The required commit_message becomes the Origin Story attached to every
|
|
45
|
+
node and edge created in the batch. Future agents reading those nodes see
|
|
46
|
+
the intent that created them, not just the content. The commit stream is
|
|
47
|
+
the metacognitive log of how the graph evolved.
|
|
25
48
|
|
|
26
49
|
Use for:
|
|
27
50
|
- Document splitting (create children + clear parent)
|
|
28
51
|
- Creating hierarchies (root + multiple children)
|
|
29
52
|
- Bulk concept/connection creation
|
|
30
|
-
- Any multi-step
|
|
53
|
+
- Any multi-step modification that should land all-or-nothing
|
|
31
54
|
|
|
32
55
|
EDGE QUALITY REMINDER: When using graph_connect, edges should aid cognition — help future agents think better. Don't create edges for bureaucracy or "completeness". Each edge should answer: "When reasoning about X, why should I consider Y?"
|
|
33
56
|
|
|
@@ -452,135 +475,238 @@ export async function handleBatchTools(name, args, contextManager) {
|
|
|
452
475
|
return false;
|
|
453
476
|
}
|
|
454
477
|
})();
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
478
|
+
// Hoisted out of the try block below so the post-commit return statement
|
|
479
|
+
// can read them. `commit` is set inside the transaction, `hasErrors` is
|
|
480
|
+
// computed after the loop but still inside the transactional section.
|
|
481
|
+
let commit;
|
|
482
|
+
let hasErrors = false;
|
|
483
|
+
// ATOMICITY: wrap the entire batch in a SQLite transaction so that a
|
|
484
|
+
// mid-batch failure (op N throws, an orphan is detected, etc.) leaves
|
|
485
|
+
// the graph in EXACTLY the state it was in before the batch ran.
|
|
486
|
+
//
|
|
487
|
+
// The paper's "Atomic Commits" framing makes this load-bearing — agents
|
|
488
|
+
// need to be able to revert a failed reasoning step cleanly. The earlier
|
|
489
|
+
// version had no transaction wrapping; ops 1..N-1 were persisted when op
|
|
490
|
+
// N failed, and the manual cleanup only handled the special case of
|
|
491
|
+
// "orphaned concept nodes". Connected nodes from prior ops survived
|
|
492
|
+
// failures, so a half-finished commit could land in the graph.
|
|
493
|
+
//
|
|
494
|
+
// Implementation notes:
|
|
495
|
+
// * better-sqlite3's `db.transaction(fn)` requires fn to be sync.
|
|
496
|
+
// Our batch loop awaits the embedding service, so we use manual
|
|
497
|
+
// BEGIN/COMMIT/ROLLBACK instead. This is safe because the MCP server
|
|
498
|
+
// handles requests serially against a single per-project connection.
|
|
499
|
+
// * Early-return cases (mid-loop error with stopOnError, orphan-sweep
|
|
500
|
+
// failure) are signalled via the BatchEarlyExit sentinel so the
|
|
501
|
+
// catch block can ROLLBACK before returning the payload.
|
|
502
|
+
// * Doc auto-regeneration writes files (not the DB), so it happens
|
|
503
|
+
// AFTER commit. Score-hint computation is read-only, also after.
|
|
504
|
+
const txnDb = sqlite.getDb();
|
|
505
|
+
txnDb.exec('BEGIN');
|
|
506
|
+
let txnCommitted = false;
|
|
507
|
+
try {
|
|
508
|
+
for (let i = 0; i < operations.length; i++) {
|
|
509
|
+
const op = operations[i];
|
|
510
|
+
try {
|
|
511
|
+
// Resolve any variable references in params
|
|
512
|
+
const resolvedParams = resolveReferences(op.params, results);
|
|
513
|
+
// Pre-execution check: doc_create with parentId but no afterId
|
|
514
|
+
if (op.tool === 'doc_create' &&
|
|
515
|
+
resolvedParams.parentId &&
|
|
516
|
+
!resolvedParams.afterId &&
|
|
517
|
+
!allowUnorderedDocs) {
|
|
518
|
+
const store = getGraphStore();
|
|
519
|
+
const parentId = resolvedParams.parentId;
|
|
520
|
+
const existingSiblings = store.getChildren(parentId);
|
|
521
|
+
if (existingSiblings.length > 0) {
|
|
522
|
+
const siblingNames = existingSiblings.map((s) => s.title).join(', ');
|
|
523
|
+
throw new Error(`doc_create requires afterId when parent already has children. ` +
|
|
524
|
+
`Parent "${parentId}" has siblings: [${siblingNames}]. ` +
|
|
525
|
+
`Use afterId to specify position, or set allowUnorderedDocs: true to allow arbitrary ordering.`);
|
|
526
|
+
}
|
|
473
527
|
}
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
528
|
+
// Execute the tool
|
|
529
|
+
const result = await handleToolCall(op.tool, resolvedParams, contextManager);
|
|
530
|
+
results.push(result);
|
|
531
|
+
// Track affected node/edge IDs for commit
|
|
532
|
+
const resultObj = result;
|
|
533
|
+
if (resultObj.id && typeof resultObj.id === 'string') {
|
|
534
|
+
if (resultObj.id.startsWith('e_')) {
|
|
535
|
+
affectedEdgeIds.push(resultObj.id);
|
|
536
|
+
}
|
|
537
|
+
else if (resultObj.id.startsWith('n_')) {
|
|
538
|
+
affectedNodeIds.push(resultObj.id);
|
|
539
|
+
}
|
|
483
540
|
}
|
|
484
|
-
|
|
485
|
-
|
|
541
|
+
// Some tools return nodeId instead of id
|
|
542
|
+
if (resultObj.nodeId && typeof resultObj.nodeId === 'string') {
|
|
543
|
+
affectedNodeIds.push(resultObj.nodeId);
|
|
486
544
|
}
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
await store.generateAndStoreEmbedding(nodeId);
|
|
545
|
+
// graph_revise returns the updated node id
|
|
546
|
+
if (resultObj.newId && typeof resultObj.newId === 'string') {
|
|
547
|
+
affectedNodeIds.push(resultObj.newId);
|
|
548
|
+
}
|
|
549
|
+
// Generate embedding immediately for node-creating tools
|
|
550
|
+
// This ensures duplicate detection works within the same batch
|
|
551
|
+
if (NODE_CREATING_TOOLS.includes(op.tool)) {
|
|
552
|
+
const nodeId = result.id ||
|
|
553
|
+
result.newId;
|
|
554
|
+
if (nodeId && typeof nodeId === 'string') {
|
|
555
|
+
try {
|
|
556
|
+
const store = getGraphStore();
|
|
557
|
+
await store.generateAndStoreEmbedding(nodeId);
|
|
558
|
+
}
|
|
559
|
+
catch {
|
|
560
|
+
// Non-fatal: embedding generation can fail without breaking the batch
|
|
561
|
+
}
|
|
505
562
|
}
|
|
506
|
-
|
|
507
|
-
|
|
563
|
+
}
|
|
564
|
+
// Post-creation verification: doc_create nodes must trace to root
|
|
565
|
+
// This catches forward references that bypassed pre-validation
|
|
566
|
+
if (op.tool === 'doc_create') {
|
|
567
|
+
const resultObj = result;
|
|
568
|
+
const nodeId = resultObj.id;
|
|
569
|
+
const isRoot = resultObj.isDocRoot;
|
|
570
|
+
if (nodeId && !isRoot) {
|
|
571
|
+
const store = getGraphStore();
|
|
572
|
+
const docPath = store.getDocumentPath(nodeId);
|
|
573
|
+
if (!docPath) {
|
|
574
|
+
throw new Error(`Created document node "${nodeId}" does not trace to a document root. ` +
|
|
575
|
+
'This may indicate a broken forward reference or missing parentId.');
|
|
576
|
+
}
|
|
508
577
|
}
|
|
509
578
|
}
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
if (!docPath) {
|
|
521
|
-
throw new Error(`Created document node "${nodeId}" does not trace to a document root. ` +
|
|
522
|
-
'This may indicate a broken forward reference or missing parentId.');
|
|
579
|
+
// Track affected document roots for auto-regeneration
|
|
580
|
+
if (DOC_MUTATION_TOOLS.includes(op.tool)) {
|
|
581
|
+
const resultObj = result;
|
|
582
|
+
const nodeId = (resultObj.id || resultObj.nodeId);
|
|
583
|
+
if (nodeId) {
|
|
584
|
+
const store = getGraphStore();
|
|
585
|
+
const docPath = store.getDocumentPath(nodeId);
|
|
586
|
+
if (docPath && docPath.length > 0 && docPath[0].isDocRoot) {
|
|
587
|
+
affectedDocRoots.add(docPath[0].id);
|
|
588
|
+
}
|
|
523
589
|
}
|
|
524
590
|
}
|
|
525
591
|
}
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
592
|
+
catch (error) {
|
|
593
|
+
// Don't double-wrap our own sentinel
|
|
594
|
+
if (error instanceof BatchEarlyExit)
|
|
595
|
+
throw error;
|
|
596
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
597
|
+
errors.push({ index: i, tool: op.tool, error: errorMsg });
|
|
598
|
+
if (stopOnError) {
|
|
599
|
+
// The whole batch is in a SQLite transaction, so the outer catch
|
|
600
|
+
// will ROLLBACK and undo every prior op. No need for the manual
|
|
601
|
+
// orphan cleanup that the pre-transaction version had to do.
|
|
602
|
+
throw new BatchEarlyExit({
|
|
603
|
+
success: false,
|
|
604
|
+
completed: i,
|
|
605
|
+
total: operations.length,
|
|
606
|
+
results,
|
|
607
|
+
errors,
|
|
608
|
+
message: `Batch stopped at operation ${i} (${op.tool}): ${errorMsg}. Entire batch rolled back.`,
|
|
609
|
+
});
|
|
536
610
|
}
|
|
611
|
+
// Push null result for failed operation
|
|
612
|
+
results.push({ success: false, error: errorMsg });
|
|
537
613
|
}
|
|
538
614
|
}
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
615
|
+
hasErrors = errors.length > 0;
|
|
616
|
+
// ORPHAN PREVENTION: detect any concept nodes created in this batch that
|
|
617
|
+
// have no edges. Exception: if the graph was empty when this batch started,
|
|
618
|
+
// the very first concept node is allowed to remain unconnected — by
|
|
619
|
+
// definition there's nothing for it to connect to yet. This matches
|
|
620
|
+
// validateNoOrphans's pre-check exemption.
|
|
621
|
+
//
|
|
622
|
+
// Inside the transaction. If we find orphans, throw BatchEarlyExit so
|
|
623
|
+
// the catch block ROLLBACKs the entire batch (no half-state). The
|
|
624
|
+
// pre-transaction version manually archived the orphan nodes and left
|
|
625
|
+
// everything else committed; the transactional version is cleaner.
|
|
626
|
+
const sweepStore = getGraphStore();
|
|
627
|
+
const sweepEdges = sweepStore.getAll().edges;
|
|
628
|
+
const sweepConnectedIds = new Set();
|
|
629
|
+
for (const edge of sweepEdges) {
|
|
630
|
+
sweepConnectedIds.add(edge.fromId);
|
|
631
|
+
sweepConnectedIds.add(edge.toId);
|
|
632
|
+
}
|
|
633
|
+
const orphanedNodes = [];
|
|
634
|
+
let seedNodeAllowed = graphWasEmptyAtBatchStart;
|
|
635
|
+
for (const nodeId of affectedNodeIds) {
|
|
636
|
+
if (!nodeId.startsWith('n_'))
|
|
637
|
+
continue;
|
|
638
|
+
const node = sweepStore.getNode(nodeId);
|
|
639
|
+
if (!node)
|
|
640
|
+
continue;
|
|
641
|
+
// Skip document nodes (they have structural edges managed elsewhere)
|
|
642
|
+
if (node.fileType || node.isDocRoot)
|
|
643
|
+
continue;
|
|
644
|
+
// Check if node has any edges
|
|
645
|
+
if (!sweepConnectedIds.has(nodeId)) {
|
|
646
|
+
// Allow exactly one seed node when the batch started against an empty graph.
|
|
647
|
+
if (seedNodeAllowed) {
|
|
648
|
+
seedNodeAllowed = false;
|
|
649
|
+
continue;
|
|
565
650
|
}
|
|
566
|
-
|
|
567
|
-
? ` Rolled back ${orphanedNodes.length} orphaned node(s).`
|
|
568
|
-
: '';
|
|
569
|
-
return {
|
|
570
|
-
success: false,
|
|
571
|
-
completed: i,
|
|
572
|
-
total: operations.length,
|
|
573
|
-
results,
|
|
574
|
-
errors,
|
|
575
|
-
message: `Batch stopped at operation ${i} (${op.tool}): ${errorMsg}${orphanMsg}`,
|
|
576
|
-
};
|
|
651
|
+
orphanedNodes.push(nodeId);
|
|
577
652
|
}
|
|
578
|
-
// Push null result for failed operation
|
|
579
|
-
results.push({ success: false, error: errorMsg });
|
|
580
653
|
}
|
|
654
|
+
if (orphanedNodes.length > 0) {
|
|
655
|
+
const orphanNames = orphanedNodes
|
|
656
|
+
.map((id) => {
|
|
657
|
+
const r = results.find((r) => r?.id === id);
|
|
658
|
+
return r?.name || id;
|
|
659
|
+
})
|
|
660
|
+
.join(', ');
|
|
661
|
+
throw new BatchEarlyExit({
|
|
662
|
+
success: false,
|
|
663
|
+
completed: operations.length,
|
|
664
|
+
total: operations.length,
|
|
665
|
+
results,
|
|
666
|
+
errors: [
|
|
667
|
+
{
|
|
668
|
+
index: -1,
|
|
669
|
+
tool: 'orphan_check',
|
|
670
|
+
error: `${orphanedNodes.length} concept node(s) would be orphaned (no edges): ${orphanNames}. The entire batch has been rolled back. Add graph_connect operations that link every new concept to an existing or just-created node.`,
|
|
671
|
+
},
|
|
672
|
+
],
|
|
673
|
+
message: `Batch rolled back: ${orphanedNodes.length} orphaned concept node(s) detected. No changes were persisted.`,
|
|
674
|
+
hint: 'Every concept node MUST have at least one edge. Check that graph_connect operations exist for every new concept.',
|
|
675
|
+
});
|
|
676
|
+
}
|
|
677
|
+
// Create commit record if message provided and batch had changes.
|
|
678
|
+
// Inside the transaction so a rollback also rolls back the commit row.
|
|
679
|
+
if (commitMessage &&
|
|
680
|
+
(affectedNodeIds.length > 0 || affectedEdgeIds.length > 0)) {
|
|
681
|
+
const uniqueNodeIds = [...new Set(affectedNodeIds)];
|
|
682
|
+
const uniqueEdgeIds = [...new Set(affectedEdgeIds)];
|
|
683
|
+
const createdCommit = createCommit(commitMessage, uniqueNodeIds, uniqueEdgeIds, agentName);
|
|
684
|
+
commit = { id: createdCommit.id, message: createdCommit.message };
|
|
685
|
+
}
|
|
686
|
+
// Everything inside the transaction succeeded. COMMIT.
|
|
687
|
+
txnDb.exec('COMMIT');
|
|
688
|
+
txnCommitted = true;
|
|
581
689
|
}
|
|
582
|
-
|
|
583
|
-
|
|
690
|
+
catch (err) {
|
|
691
|
+
// Roll back any uncommitted work. Either a real error from a sub-tool,
|
|
692
|
+
// or a BatchEarlyExit sentinel carrying a structured payload.
|
|
693
|
+
if (!txnCommitted) {
|
|
694
|
+
try {
|
|
695
|
+
txnDb.exec('ROLLBACK');
|
|
696
|
+
}
|
|
697
|
+
catch {
|
|
698
|
+
// Swallow — if rollback itself fails the connection is wedged
|
|
699
|
+
// and there's nothing useful we can do here.
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
if (err instanceof BatchEarlyExit) {
|
|
703
|
+
// Intentional early exit — return its payload as the tool result.
|
|
704
|
+
return err.payload;
|
|
705
|
+
}
|
|
706
|
+
throw err;
|
|
707
|
+
}
|
|
708
|
+
// POST-COMMIT: doc auto-regeneration writes files (not the DB), and
|
|
709
|
+
// score-hint computation is read-only. Both are safe to do after commit.
|
|
584
710
|
const regeneratedDocs = [];
|
|
585
711
|
if (affectedDocRoots.size > 0) {
|
|
586
712
|
const projectId = contextManager.getCurrentProjectId();
|
|
@@ -637,72 +763,6 @@ Or use source_commit with type: "thinking" nodes.`;
|
|
|
637
763
|
scoreHint += `\n\n📊 ${avgEdges.toFixed(1)} avg edges per thinking (target: 2-3). Externalize more of the cognitive journey.`;
|
|
638
764
|
}
|
|
639
765
|
}
|
|
640
|
-
// ORPHAN PREVENTION: Delete any concept nodes created in this batch that have no edges.
|
|
641
|
-
// Exception: if the graph was empty when this batch started, the very first concept
|
|
642
|
-
// node is allowed to remain unconnected — by definition there's nothing for it to
|
|
643
|
-
// connect to yet. This matches validateNoOrphans's pre-check exemption.
|
|
644
|
-
const orphanedNodes = [];
|
|
645
|
-
const { edges: currentEdges } = store.getAll();
|
|
646
|
-
const connectedNodeIds = new Set();
|
|
647
|
-
for (const edge of currentEdges) {
|
|
648
|
-
connectedNodeIds.add(edge.fromId);
|
|
649
|
-
connectedNodeIds.add(edge.toId);
|
|
650
|
-
}
|
|
651
|
-
let seedNodeAllowed = graphWasEmptyAtBatchStart;
|
|
652
|
-
for (const nodeId of affectedNodeIds) {
|
|
653
|
-
if (!nodeId.startsWith('n_'))
|
|
654
|
-
continue;
|
|
655
|
-
const node = store.getNode(nodeId);
|
|
656
|
-
if (!node)
|
|
657
|
-
continue;
|
|
658
|
-
// Skip document nodes (they have structural edges managed elsewhere)
|
|
659
|
-
if (node.fileType || node.isDocRoot)
|
|
660
|
-
continue;
|
|
661
|
-
// Check if node has any edges
|
|
662
|
-
if (!connectedNodeIds.has(nodeId)) {
|
|
663
|
-
// Allow exactly one seed node when the batch started against an empty graph.
|
|
664
|
-
if (seedNodeAllowed) {
|
|
665
|
-
seedNodeAllowed = false;
|
|
666
|
-
continue;
|
|
667
|
-
}
|
|
668
|
-
orphanedNodes.push(nodeId);
|
|
669
|
-
// Delete the orphan
|
|
670
|
-
store.archiveNode(nodeId);
|
|
671
|
-
}
|
|
672
|
-
}
|
|
673
|
-
if (orphanedNodes.length > 0) {
|
|
674
|
-
const orphanNames = orphanedNodes
|
|
675
|
-
.map((id) => {
|
|
676
|
-
const r = results.find((r) => r?.id === id);
|
|
677
|
-
return r?.name || id;
|
|
678
|
-
})
|
|
679
|
-
.join(', ');
|
|
680
|
-
return {
|
|
681
|
-
success: false,
|
|
682
|
-
completed: operations.length,
|
|
683
|
-
total: operations.length,
|
|
684
|
-
results,
|
|
685
|
-
errors: [
|
|
686
|
-
{
|
|
687
|
-
index: -1,
|
|
688
|
-
tool: 'orphan_check',
|
|
689
|
-
error: `${orphanedNodes.length} concept node(s) were orphaned (no edges): ${orphanNames}. They have been deleted. Ensure graph_connect operations succeed for all new concepts.`,
|
|
690
|
-
},
|
|
691
|
-
],
|
|
692
|
-
message: `Batch failed: ${orphanedNodes.length} orphaned concept node(s) deleted. Add graph_connect calls with valid 'why' field.`,
|
|
693
|
-
hint: 'Every concept node MUST have at least one edge. Check that graph_connect calls include required fields (from, to, why).',
|
|
694
|
-
};
|
|
695
|
-
}
|
|
696
|
-
// Create commit record if message provided and batch had changes
|
|
697
|
-
let commit;
|
|
698
|
-
if (commitMessage &&
|
|
699
|
-
(affectedNodeIds.length > 0 || affectedEdgeIds.length > 0)) {
|
|
700
|
-
// Deduplicate IDs
|
|
701
|
-
const uniqueNodeIds = [...new Set(affectedNodeIds)];
|
|
702
|
-
const uniqueEdgeIds = [...new Set(affectedEdgeIds)];
|
|
703
|
-
const createdCommit = createCommit(commitMessage, uniqueNodeIds, uniqueEdgeIds, agentName);
|
|
704
|
-
commit = { id: createdCommit.id, message: createdCommit.message };
|
|
705
|
-
}
|
|
706
766
|
return {
|
|
707
767
|
success: !hasErrors,
|
|
708
768
|
completed: operations.length,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch.js","sourceRoot":"","sources":["../../src/tools/batch.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"batch.js","sourceRoot":"","sources":["../../src/tools/batch.ts"],"names":[],"mappings":"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"}
|
|
@@ -305,7 +305,7 @@ Coloring anchors:
|
|
|
305
305
|
},
|
|
306
306
|
{
|
|
307
307
|
name: 'solver_lock',
|
|
308
|
-
description: '
|
|
308
|
+
description: 'Cooperative subtree-partition lock for parallel cognition. Records "agent X is working on resource R (or the subtree rooted at R) until time T" in a shared table. The intended use is to PARTITION the graph among cooperating agents — Agent A locks the "Economics" subtree, Agent B locks the "Ethics" subtree, and they refactor in parallel without colliding. Use scope="subtree" to lock an entire branch atomically. Cooperating agents query solver_list_locks before mutating to honor each other\'s claims. Honest caveat: the lock is advisory at the storage layer — graph_batch and the other mutation tools do NOT check the lock table, so an uncooperative or unaware agent can still write through it. This is by design (cooperative coordination, not kernel mutex), but worth knowing if you\'re building against adversarial actors. Locks auto-expire (default 5 min, max 30) so a crashed agent can\'t deadlock the partition.',
|
|
309
309
|
inputSchema: {
|
|
310
310
|
type: 'object',
|
|
311
311
|
properties: {
|