@amalgm/shell 0.1.89 → 0.1.91
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/PURPOSE.md +11 -2
- package/dist/detection/notebook-basis.d.ts +23 -0
- package/dist/detection/notebook-basis.js +23 -0
- package/dist/detection/notebook-basis.js.map +1 -0
- package/dist/detection/runtime.js +31 -5
- package/dist/detection/runtime.js.map +1 -1
- package/dist/user-ground-host.js +85 -40
- package/dist/user-ground-host.js.map +1 -1
- package/package.json +1 -1
package/PURPOSE.md
CHANGED
|
@@ -91,7 +91,11 @@ shell only assembles.
|
|
|
91
91
|
`files add` execute inside that same running host, so declaration, SQLite,
|
|
92
92
|
cloud, and Watch work use the established owners rather than constructing a
|
|
93
93
|
second lifecycle. Register waits through graph reconciliation, healthy
|
|
94
|
-
coverage,
|
|
94
|
+
coverage, capture of every repository parcel, immutable upload, and
|
|
95
|
+
graph-head commit before it returns. An uncapturable repository may settle
|
|
96
|
+
its local type and identity evidence, but Register fails and retains its
|
|
97
|
+
durable declaration; no graph containing a `repo.git` without its verified
|
|
98
|
+
Card + Checkpoint transport can become the cloud head. The
|
|
95
99
|
watcher established after authoritative materialization remains the one
|
|
96
100
|
ongoing watcher; the CLI never creates and immediately closes a second
|
|
97
101
|
Watch lifecycle. Closing an unchanged watcher does not invent a full scan. A
|
|
@@ -406,7 +410,12 @@ shell only assembles.
|
|
|
406
410
|
gaining `.git` records one Card + Checkpoint transition, while losing it
|
|
407
411
|
recaptures those children through their newly selected file rails. Watch
|
|
408
412
|
settles only after this transaction is durable and never interprets any of
|
|
409
|
-
these meanings itself.
|
|
413
|
+
these meanings itself. Filesystem observation is optimistic: the commit
|
|
414
|
+
compares every changed UUID with the exact notebook row the pass observed.
|
|
415
|
+
If Apply or another Detect advanced any basis row while the filesystem was
|
|
416
|
+
being read, the whole commit is refused and the retained Watch generation
|
|
417
|
+
observes fresh truth; stale evidence can never overwrite proof or create an
|
|
418
|
+
outgoing echo.
|
|
410
419
|
|
|
411
420
|
44. **One Detect job proves one finite Watch generation, root by root.** A
|
|
412
421
|
scheduled pass or explicit flush observes and settles only the generations
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** Exact optimistic-concurrency evidence shared by every Detect lane. */
|
|
2
|
+
export interface NotebookBasisRow {
|
|
3
|
+
readonly resourceId: string;
|
|
4
|
+
readonly rootUUID: string;
|
|
5
|
+
readonly uuid: string;
|
|
6
|
+
readonly type: string;
|
|
7
|
+
readonly parentUUID: string | null;
|
|
8
|
+
readonly name: string;
|
|
9
|
+
readonly status: string;
|
|
10
|
+
readonly version: string;
|
|
11
|
+
readonly payloadVersion: string | null;
|
|
12
|
+
readonly transportVersion: string | null;
|
|
13
|
+
readonly relativePath: string;
|
|
14
|
+
readonly absolutePath: string;
|
|
15
|
+
readonly deviceNumber: number;
|
|
16
|
+
readonly inode: number;
|
|
17
|
+
readonly byteSize: number | null;
|
|
18
|
+
readonly modifiedTimeMs: number | null;
|
|
19
|
+
readonly changedTimeMs: number | null;
|
|
20
|
+
readonly filesystemMode: number | null;
|
|
21
|
+
readonly contentVerifiedAtMs: number | null;
|
|
22
|
+
}
|
|
23
|
+
export declare function sameNotebookBasisRow(left: NotebookBasisRow, right: NotebookBasisRow | undefined): boolean;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export function sameNotebookBasisRow(left, right) {
|
|
2
|
+
return right !== undefined
|
|
3
|
+
&& left.resourceId === right.resourceId
|
|
4
|
+
&& left.rootUUID === right.rootUUID
|
|
5
|
+
&& left.uuid === right.uuid
|
|
6
|
+
&& left.type === right.type
|
|
7
|
+
&& left.parentUUID === right.parentUUID
|
|
8
|
+
&& left.name === right.name
|
|
9
|
+
&& left.status === right.status
|
|
10
|
+
&& left.version === right.version
|
|
11
|
+
&& left.payloadVersion === right.payloadVersion
|
|
12
|
+
&& left.transportVersion === right.transportVersion
|
|
13
|
+
&& left.relativePath === right.relativePath
|
|
14
|
+
&& left.absolutePath === right.absolutePath
|
|
15
|
+
&& left.deviceNumber === right.deviceNumber
|
|
16
|
+
&& left.inode === right.inode
|
|
17
|
+
&& left.byteSize === right.byteSize
|
|
18
|
+
&& left.modifiedTimeMs === right.modifiedTimeMs
|
|
19
|
+
&& left.changedTimeMs === right.changedTimeMs
|
|
20
|
+
&& left.filesystemMode === right.filesystemMode
|
|
21
|
+
&& left.contentVerifiedAtMs === right.contentVerifiedAtMs;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=notebook-basis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notebook-basis.js","sourceRoot":"","sources":["../../src/detection/notebook-basis.ts"],"names":[],"mappings":"AAuBA,MAAM,UAAU,oBAAoB,CAClC,IAAsB,EACtB,KAAmC;IAEnC,OAAO,KAAK,KAAK,SAAS;WACrB,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;WACpC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;WAChC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;WACxB,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;WACxB,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;WACpC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;WACxB,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;WAC5B,IAAI,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;WAC9B,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC,cAAc;WAC5C,IAAI,CAAC,gBAAgB,KAAK,KAAK,CAAC,gBAAgB;WAChD,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY;WACxC,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY;WACxC,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,YAAY;WACxC,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK;WAC1B,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;WAChC,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC,cAAc;WAC5C,IAAI,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa;WAC1C,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC,cAAc;WAC5C,IAAI,CAAC,mBAAmB,KAAK,KAAK,CAAC,mBAAmB,CAAC;AAC9D,CAAC"}
|
|
@@ -17,6 +17,7 @@ import { captureContentFile, sealCapturedArtifact } from "../content-cache-host.
|
|
|
17
17
|
import { captureRepository, hasGitMarker, inspectRepositoryTransportFile, readCachedRepositoryIdentity, } from "../git-repository-host.js";
|
|
18
18
|
import { inspectGitRegistration, sameGitIdentity, } from "../git-registration-host.js";
|
|
19
19
|
import { AcceptedInboxResultIndex } from "./accepted-result.js";
|
|
20
|
+
import { sameNotebookBasisRow } from "./notebook-basis.js";
|
|
20
21
|
import { exactTextReplay } from "./portable.js";
|
|
21
22
|
const NAMED_WALK_YIELD_ENTRIES = 256;
|
|
22
23
|
const ROW_SELECT = `
|
|
@@ -324,12 +325,19 @@ export class NamedDetectRuntime {
|
|
|
324
325
|
}
|
|
325
326
|
const committedRecords = [];
|
|
326
327
|
const commitStarted = performance.now();
|
|
327
|
-
this.database.transaction(() => {
|
|
328
|
+
const committed = this.database.transaction(() => {
|
|
329
|
+
if (captured.some((item) => {
|
|
330
|
+
const current = this.rowAtUuid.get(item.result.uuid);
|
|
331
|
+
return item.base ? !sameNotebookBasisRow(item.base, current) : current !== undefined;
|
|
332
|
+
}))
|
|
333
|
+
return false;
|
|
328
334
|
for (const item of captured) {
|
|
329
335
|
this.writeEntity.run(...rowValues(item.result));
|
|
330
336
|
this.writeNotebook.run(...rowValues(item.result));
|
|
331
337
|
if (!item.proposal || !outgoing.has(item.proposal))
|
|
332
338
|
continue;
|
|
339
|
+
if (this.acceptedInbox.covers(item.result.resourceId, item.proposal))
|
|
340
|
+
continue;
|
|
333
341
|
committedRecords.push(this.appendOutboxRecord(item.result.resourceId, item.proposal));
|
|
334
342
|
}
|
|
335
343
|
for (const parentUUID of membershipParents) {
|
|
@@ -361,7 +369,10 @@ export class NamedDetectRuntime {
|
|
|
361
369
|
committedRecords.push(this.appendOutboxRecord(base.resourceId, proposal));
|
|
362
370
|
}
|
|
363
371
|
}
|
|
372
|
+
return true;
|
|
364
373
|
})();
|
|
374
|
+
if (!committed)
|
|
375
|
+
return { handled: false, evidence: [] };
|
|
365
376
|
this.onRecordCommit?.({
|
|
366
377
|
durationMs: performance.now() - commitStarted,
|
|
367
378
|
records: committedRecords,
|
|
@@ -724,17 +735,32 @@ export class NamedDetectRuntime {
|
|
|
724
735
|
: 0;
|
|
725
736
|
const committedRecords = [];
|
|
726
737
|
const commitStarted = performance.now();
|
|
727
|
-
|
|
738
|
+
let committedRecord = false;
|
|
739
|
+
const committed = this.database.transaction(() => {
|
|
740
|
+
const bases = new Map([[repository.uuid, repository]]);
|
|
741
|
+
for (const uuid of leafRows.keys()) {
|
|
742
|
+
const base = priorByUuid.get(uuid);
|
|
743
|
+
if (base)
|
|
744
|
+
bases.set(uuid, base);
|
|
745
|
+
}
|
|
746
|
+
if ([...bases.values()].some((base) => !sameNotebookBasisRow(base, this.rowAtUuid.get(base.uuid)))) {
|
|
747
|
+
return false;
|
|
748
|
+
}
|
|
728
749
|
for (const row of leafRows.values()) {
|
|
729
750
|
this.writeEntity.run(...rowValues(row));
|
|
730
751
|
this.writeNotebook.run(...rowValues(row));
|
|
731
752
|
}
|
|
732
753
|
this.writeEntity.run(...rowValues(result));
|
|
733
754
|
this.writeNotebook.run(...rowValues(result));
|
|
734
|
-
if (proposal && shouldRecord
|
|
755
|
+
if (proposal && shouldRecord
|
|
756
|
+
&& !this.acceptedInbox.covers(repository.resourceId, proposal)) {
|
|
735
757
|
committedRecords.push(this.appendOutboxRecord(repository.resourceId, proposal));
|
|
758
|
+
committedRecord = true;
|
|
736
759
|
}
|
|
760
|
+
return true;
|
|
737
761
|
})();
|
|
762
|
+
if (!committed)
|
|
763
|
+
return { handled: false, evidence: [] };
|
|
738
764
|
this.onRecordCommit?.({
|
|
739
765
|
durationMs: performance.now() - commitStarted,
|
|
740
766
|
records: committedRecords,
|
|
@@ -749,8 +775,8 @@ export class NamedDetectRuntime {
|
|
|
749
775
|
gitInspections: 1,
|
|
750
776
|
repositoryCaptures: 1,
|
|
751
777
|
plannedRows: 1,
|
|
752
|
-
records:
|
|
753
|
-
recordBytes,
|
|
778
|
+
records: committedRecord ? 1 : 0,
|
|
779
|
+
recordBytes: committedRecord ? recordBytes : 0,
|
|
754
780
|
durationMs: performance.now() - started,
|
|
755
781
|
}],
|
|
756
782
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/detection/runtime.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/detection/runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/user-ground-host.js
CHANGED
|
@@ -15,6 +15,7 @@ import { ContentCacheDownload, captureContentFile, hashContentFile, sealCaptured
|
|
|
15
15
|
import { decodeContentWireBytes, encodeContentWireBytes } from "./content-wire-codec.js";
|
|
16
16
|
import { exactTextReplay, planGroundDetection, reconcileGroundUUIDs, } from "./detection/portable.js";
|
|
17
17
|
import { AcceptedInboxResultIndex } from "./detection/accepted-result.js";
|
|
18
|
+
import { sameNotebookBasisRow } from "./detection/notebook-basis.js";
|
|
18
19
|
import { NamedDetectRuntime } from "./detection/runtime.js";
|
|
19
20
|
import { WORKSPACE_UUID as UUID, createFilesRegisterPorts, ensureWorkspaceBinding, ensureWorkspaceReference, pathExists, pathWithin, referenceWorkspaceId, selectKnownRegistrationId, workspaceBindingDir, } from "./files-register-host.js";
|
|
20
21
|
import { applyRepositoryFiles, captureRepository, inspectRepositoryTransportFile, hasGitMarker, readCachedRepositoryIdentity, } from "./git-repository-host.js";
|
|
@@ -512,27 +513,21 @@ export class UserGroundHost {
|
|
|
512
513
|
if (retry?.kind === "retry") {
|
|
513
514
|
throw new Error(retry.reasons.join("; "));
|
|
514
515
|
}
|
|
515
|
-
|
|
516
|
-
primitive: "register",
|
|
517
|
-
stage: "entity-registration",
|
|
518
|
-
status: "completed",
|
|
519
|
-
workspaceId,
|
|
520
|
-
durationMs: performance.now() - registrationStarted,
|
|
521
|
-
measurements: {
|
|
522
|
-
roots: scanned.publicationRootIds?.length ?? 0,
|
|
523
|
-
rows: scanned.acceptedMaterializedRows.length,
|
|
524
|
-
},
|
|
525
|
-
});
|
|
516
|
+
const registrationDuration = performance.now() - registrationStarted;
|
|
526
517
|
const commitStarted = performance.now();
|
|
527
518
|
this.stage({
|
|
528
519
|
primitive: "register", stage: "entity-sqlite-commit", status: "started", workspaceId,
|
|
529
520
|
});
|
|
530
|
-
commitDetectedState(this.databasePath(identity), {
|
|
521
|
+
const committed = commitDetectedState(this.databasePath(identity), {
|
|
522
|
+
notebookBasis: scanned.notebookBasis,
|
|
531
523
|
acceptedMaterializedRows: scanned.acceptedMaterializedRows,
|
|
532
524
|
materializedRemovals: scanned.materializedRemovals,
|
|
533
525
|
acceptedNotebookRows: scanned.acceptedNotebookRows,
|
|
534
526
|
notebookRemovals: scanned.notebookRemovals,
|
|
535
527
|
});
|
|
528
|
+
if (!committed) {
|
|
529
|
+
throw new Error("verified ground advanced while registration was observing; retry");
|
|
530
|
+
}
|
|
536
531
|
this.stage({
|
|
537
532
|
primitive: "register",
|
|
538
533
|
stage: "entity-sqlite-commit",
|
|
@@ -540,6 +535,31 @@ export class UserGroundHost {
|
|
|
540
535
|
workspaceId,
|
|
541
536
|
durationMs: performance.now() - commitStarted,
|
|
542
537
|
});
|
|
538
|
+
if (scanned.transferFailures.length > 0) {
|
|
539
|
+
const details = scanned.transferFailures
|
|
540
|
+
.map(({ rootId, reason }) => `${rootId}: ${reason}`)
|
|
541
|
+
.join("; ");
|
|
542
|
+
this.stage({
|
|
543
|
+
primitive: "register",
|
|
544
|
+
stage: "entity-registration",
|
|
545
|
+
status: "failed",
|
|
546
|
+
workspaceId,
|
|
547
|
+
durationMs: registrationDuration,
|
|
548
|
+
measurements: { roots: scanned.transferFailures.length },
|
|
549
|
+
});
|
|
550
|
+
throw pipelineStageError("entity registration", new Error(`repository state could not be captured: ${details}`));
|
|
551
|
+
}
|
|
552
|
+
this.stage({
|
|
553
|
+
primitive: "register",
|
|
554
|
+
stage: "entity-registration",
|
|
555
|
+
status: "completed",
|
|
556
|
+
workspaceId,
|
|
557
|
+
durationMs: registrationDuration,
|
|
558
|
+
measurements: {
|
|
559
|
+
roots: scanned.publicationRootIds?.length ?? 0,
|
|
560
|
+
rows: scanned.acceptedMaterializedRows.length,
|
|
561
|
+
},
|
|
562
|
+
});
|
|
543
563
|
this.namedDetect?.refreshEnrollmentPolicy();
|
|
544
564
|
if (!scanned.publicationRootIds) {
|
|
545
565
|
throw new Error("cold registration reconciliation did not name its publication roots");
|
|
@@ -1578,6 +1598,7 @@ export class UserGroundHost {
|
|
|
1578
1598
|
return;
|
|
1579
1599
|
}
|
|
1580
1600
|
let detection;
|
|
1601
|
+
let notebookBasis;
|
|
1581
1602
|
let acceptedMaterializedRows;
|
|
1582
1603
|
let materializedRemovals;
|
|
1583
1604
|
let acceptedNotebookRows;
|
|
@@ -1593,6 +1614,7 @@ export class UserGroundHost {
|
|
|
1593
1614
|
coreScan,
|
|
1594
1615
|
});
|
|
1595
1616
|
detection = scanned.detection;
|
|
1617
|
+
notebookBasis = scanned.notebookBasis;
|
|
1596
1618
|
acceptedMaterializedRows = scanned.acceptedMaterializedRows;
|
|
1597
1619
|
materializedRemovals = scanned.materializedRemovals;
|
|
1598
1620
|
acceptedNotebookRows = scanned.acceptedNotebookRows;
|
|
@@ -1616,13 +1638,17 @@ export class UserGroundHost {
|
|
|
1616
1638
|
}))
|
|
1617
1639
|
: []);
|
|
1618
1640
|
const recordCommitStarted = performance.now();
|
|
1619
|
-
commitDetectedState(this.databasePath(identity), {
|
|
1641
|
+
const committed = commitDetectedState(this.databasePath(identity), {
|
|
1642
|
+
notebookBasis,
|
|
1620
1643
|
acceptedMaterializedRows,
|
|
1621
1644
|
materializedRemovals,
|
|
1622
1645
|
acceptedNotebookRows,
|
|
1623
1646
|
notebookRemovals,
|
|
1624
1647
|
proposals: detectedRecords,
|
|
1625
1648
|
});
|
|
1649
|
+
if (!committed) {
|
|
1650
|
+
throw pipelineStageError("detection", new Error("the verified notebook advanced while Detect was observing; retrying fresh truth"));
|
|
1651
|
+
}
|
|
1626
1652
|
const recordCommitDuration = performance.now() - recordCommitStarted;
|
|
1627
1653
|
if (detectedRecords.length === 0) {
|
|
1628
1654
|
this.stage({
|
|
@@ -2496,7 +2522,25 @@ function hasRecordsBeyondSnapshot(file) {
|
|
|
2496
2522
|
function commitDetectedState(file, input) {
|
|
2497
2523
|
const database = initializeDatabase(file);
|
|
2498
2524
|
try {
|
|
2499
|
-
database.transaction(() => {
|
|
2525
|
+
return database.transaction(() => {
|
|
2526
|
+
const basisRows = input.notebookBasis ?? [];
|
|
2527
|
+
const currentByUuid = new Map();
|
|
2528
|
+
for (let offset = 0; offset < basisRows.length; offset += 500) {
|
|
2529
|
+
const batch = basisRows.slice(offset, offset + 500);
|
|
2530
|
+
const placeholders = batch.map(() => "?").join(", ");
|
|
2531
|
+
const rows = database.prepare(`
|
|
2532
|
+
SELECT ${GROUND_ROW_PROJECTION} FROM detection_notebook
|
|
2533
|
+
WHERE uuid IN (${placeholders})
|
|
2534
|
+
`).all(...batch.map(({ uuid }) => uuid));
|
|
2535
|
+
for (const row of rows)
|
|
2536
|
+
currentByUuid.set(row.uuid, row);
|
|
2537
|
+
}
|
|
2538
|
+
for (const basis of basisRows) {
|
|
2539
|
+
const current = currentByUuid.get(basis.uuid);
|
|
2540
|
+
if (basis.row ? !sameNotebookBasisRow(basis.row, current) : current !== undefined) {
|
|
2541
|
+
return false;
|
|
2542
|
+
}
|
|
2543
|
+
}
|
|
2500
2544
|
const acceptedInbox = new AcceptedInboxResultIndex(database);
|
|
2501
2545
|
const append = database.prepare(`
|
|
2502
2546
|
INSERT INTO record_outbox(
|
|
@@ -2538,6 +2582,7 @@ function commitDetectedState(file, input) {
|
|
|
2538
2582
|
for (const row of input.acceptedNotebookRows) {
|
|
2539
2583
|
runGroundUpsert(database, "detection_notebook", upsertNotebook, row);
|
|
2540
2584
|
}
|
|
2585
|
+
return true;
|
|
2541
2586
|
})();
|
|
2542
2587
|
}
|
|
2543
2588
|
finally {
|
|
@@ -2681,28 +2726,6 @@ function capturedGroundRow(resourceId, rootUUID, row) {
|
|
|
2681
2726
|
contentVerifiedAtMs: row.contentVerifiedAtMs,
|
|
2682
2727
|
};
|
|
2683
2728
|
}
|
|
2684
|
-
function sameGroundRow(left, right) {
|
|
2685
|
-
return right !== undefined
|
|
2686
|
-
&& left.resourceId === right.resourceId
|
|
2687
|
-
&& left.rootUUID === right.rootUUID
|
|
2688
|
-
&& left.uuid === right.uuid
|
|
2689
|
-
&& left.type === right.type
|
|
2690
|
-
&& left.parentUUID === right.parentUUID
|
|
2691
|
-
&& left.name === right.name
|
|
2692
|
-
&& left.status === right.status
|
|
2693
|
-
&& left.version === right.version
|
|
2694
|
-
&& left.payloadVersion === right.payloadVersion
|
|
2695
|
-
&& left.transportVersion === right.transportVersion
|
|
2696
|
-
&& left.relativePath === right.relativePath
|
|
2697
|
-
&& left.absolutePath === right.absolutePath
|
|
2698
|
-
&& left.deviceNumber === right.deviceNumber
|
|
2699
|
-
&& left.inode === right.inode
|
|
2700
|
-
&& left.byteSize === right.byteSize
|
|
2701
|
-
&& left.modifiedTimeMs === right.modifiedTimeMs
|
|
2702
|
-
&& left.changedTimeMs === right.changedTimeMs
|
|
2703
|
-
&& left.filesystemMode === right.filesystemMode
|
|
2704
|
-
&& left.contentVerifiedAtMs === right.contentVerifiedAtMs;
|
|
2705
|
-
}
|
|
2706
2729
|
function groundRowValues(row) {
|
|
2707
2730
|
return [
|
|
2708
2731
|
row.uuid, row.resourceId, row.rootUUID, row.type, row.parentUUID, row.name, row.status,
|
|
@@ -3051,7 +3074,8 @@ async function reconcileGround(input) {
|
|
|
3051
3074
|
? readMaterializedRowsWithoutNotebook(database, selectedRoots ?? undefined)
|
|
3052
3075
|
: [];
|
|
3053
3076
|
const existing = suspicions ? [...notebook, ...unverifiedIdentity] : materialized;
|
|
3054
|
-
const
|
|
3077
|
+
const observedNotebookByUuid = new Map(notebook.map((row) => [row.uuid, row]));
|
|
3078
|
+
const notebookByUuid = new Map(observedNotebookByUuid);
|
|
3055
3079
|
const materializedBaseline = suspicions
|
|
3056
3080
|
? existing.filter((row) => materializedUUIDs.has(row.uuid))
|
|
3057
3081
|
: materialized;
|
|
@@ -3087,6 +3111,7 @@ async function reconcileGround(input) {
|
|
|
3087
3111
|
const acceptedNotebookRows = [];
|
|
3088
3112
|
const notebookRemovals = new Set();
|
|
3089
3113
|
const detection = [];
|
|
3114
|
+
const transferFailures = [];
|
|
3090
3115
|
const scan = async (parameters) => {
|
|
3091
3116
|
const counters = {
|
|
3092
3117
|
entries: 0,
|
|
@@ -3097,6 +3122,9 @@ async function reconcileGround(input) {
|
|
|
3097
3122
|
};
|
|
3098
3123
|
const started = performance.now();
|
|
3099
3124
|
const result = await reconcileRoot({ ...parameters, evidence: counters, materializedUUIDs });
|
|
3125
|
+
if (result.transferFailure !== null) {
|
|
3126
|
+
transferFailures.push({ rootId: parameters.rootUUID, reason: result.transferFailure });
|
|
3127
|
+
}
|
|
3100
3128
|
if (result.detection)
|
|
3101
3129
|
detection.push(result.detection);
|
|
3102
3130
|
for (const uuid of result.notebookRemovals) {
|
|
@@ -3110,11 +3138,11 @@ async function reconcileGround(input) {
|
|
|
3110
3138
|
}
|
|
3111
3139
|
for (const row of result.rows) {
|
|
3112
3140
|
const captured = capturedGroundRow(parameters.resourceId, parameters.rootUUID, row);
|
|
3113
|
-
if (!
|
|
3141
|
+
if (!sameNotebookBasisRow(captured, materializedByUuid.get(captured.uuid))) {
|
|
3114
3142
|
acceptedMaterializedRows.push(captured);
|
|
3115
3143
|
}
|
|
3116
3144
|
if (result.transferable) {
|
|
3117
|
-
if (
|
|
3145
|
+
if (sameNotebookBasisRow(captured, notebookByUuid.get(captured.uuid)))
|
|
3118
3146
|
continue;
|
|
3119
3147
|
acceptedNotebookRows.push(captured);
|
|
3120
3148
|
notebookByUuid.set(captured.uuid, captured);
|
|
@@ -3198,13 +3226,27 @@ async function reconcileGround(input) {
|
|
|
3198
3226
|
suspicion: observationFor(rootPath),
|
|
3199
3227
|
});
|
|
3200
3228
|
}
|
|
3229
|
+
const changedUUIDs = new Set([
|
|
3230
|
+
...acceptedMaterializedRows.map((row) => row.uuid),
|
|
3231
|
+
...materializedRemovals,
|
|
3232
|
+
...acceptedNotebookRows.map((row) => row.uuid),
|
|
3233
|
+
...notebookRemovals,
|
|
3234
|
+
...detection.flatMap((plan) => plan.kind === "ready"
|
|
3235
|
+
? plan.proposals.map((proposal) => proposal.entityId)
|
|
3236
|
+
: []),
|
|
3237
|
+
]);
|
|
3201
3238
|
return {
|
|
3202
3239
|
detection,
|
|
3240
|
+
notebookBasis: [...changedUUIDs].sort().map((uuid) => ({
|
|
3241
|
+
uuid,
|
|
3242
|
+
row: observedNotebookByUuid.get(uuid) ?? null,
|
|
3243
|
+
})),
|
|
3203
3244
|
acceptedMaterializedRows,
|
|
3204
3245
|
materializedRemovals: [...materializedRemovals],
|
|
3205
3246
|
acceptedNotebookRows,
|
|
3206
3247
|
notebookRemovals: [...notebookRemovals],
|
|
3207
3248
|
publicationRootIds: selectedRoots ? [...selectedRoots] : null,
|
|
3249
|
+
transferFailures,
|
|
3208
3250
|
};
|
|
3209
3251
|
}
|
|
3210
3252
|
async function reconcileRoot(input) {
|
|
@@ -3246,6 +3288,7 @@ async function reconcileRoot(input) {
|
|
|
3246
3288
|
.filter((row) => row.type === "reference" && row.payloadVersion && UUID.test(row.payloadVersion))
|
|
3247
3289
|
.map((row) => row.payloadVersion),
|
|
3248
3290
|
transferable: true,
|
|
3291
|
+
transferFailure: null,
|
|
3249
3292
|
notebookRemovals: [],
|
|
3250
3293
|
detection: input.suspicion ? planGroundDetection({
|
|
3251
3294
|
rootId: rootUUID,
|
|
@@ -3850,7 +3893,7 @@ async function reconcileRoot(input) {
|
|
|
3850
3893
|
}
|
|
3851
3894
|
}
|
|
3852
3895
|
}
|
|
3853
|
-
catch {
|
|
3896
|
+
catch (error) {
|
|
3854
3897
|
// Type and identity are filesystem facts, so they settle locally even
|
|
3855
3898
|
// when the selected repository rail cannot yet capture its artifact.
|
|
3856
3899
|
// Cloud publication remains commit-last because reconciliation omits the
|
|
@@ -3862,6 +3905,7 @@ async function reconcileRoot(input) {
|
|
|
3862
3905
|
rows,
|
|
3863
3906
|
referenceWorkspaceIds: [...referenceWorkspaceIds],
|
|
3864
3907
|
transferable: false,
|
|
3908
|
+
transferFailure: error instanceof Error ? error.message : String(error),
|
|
3865
3909
|
notebookRemovals: [],
|
|
3866
3910
|
detection: null,
|
|
3867
3911
|
};
|
|
@@ -4001,6 +4045,7 @@ async function reconcileRoot(input) {
|
|
|
4001
4045
|
rows,
|
|
4002
4046
|
referenceWorkspaceIds: [...referenceWorkspaceIds],
|
|
4003
4047
|
transferable: true,
|
|
4048
|
+
transferFailure: null,
|
|
4004
4049
|
notebookRemovals,
|
|
4005
4050
|
detection: input.suspicion ? planGroundDetection({
|
|
4006
4051
|
rootId: rootUUID,
|