@ibgib/core-gib 0.1.19 → 0.1.20

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.
Files changed (70) hide show
  1. package/dist/common/other/ibgib-helper.d.mts +13 -0
  2. package/dist/common/other/ibgib-helper.d.mts.map +1 -1
  3. package/dist/common/other/ibgib-helper.mjs +44 -0
  4. package/dist/common/other/ibgib-helper.mjs.map +1 -1
  5. package/dist/sync/merge-info/merge-info-constants.d.mts +2 -0
  6. package/dist/sync/merge-info/merge-info-constants.d.mts.map +1 -0
  7. package/dist/sync/merge-info/merge-info-constants.mjs +2 -0
  8. package/dist/sync/merge-info/merge-info-constants.mjs.map +1 -0
  9. package/dist/sync/merge-info/merge-info-helpers.d.mts +51 -0
  10. package/dist/sync/merge-info/merge-info-helpers.d.mts.map +1 -0
  11. package/dist/sync/merge-info/merge-info-helpers.mjs +92 -0
  12. package/dist/sync/merge-info/merge-info-helpers.mjs.map +1 -0
  13. package/dist/sync/merge-info/merge-info-helpers.respec.d.mts +2 -0
  14. package/dist/sync/merge-info/merge-info-helpers.respec.d.mts.map +1 -0
  15. package/dist/sync/merge-info/merge-info-helpers.respec.mjs +32 -0
  16. package/dist/sync/merge-info/merge-info-helpers.respec.mjs.map +1 -0
  17. package/dist/sync/merge-info/merge-info-types.d.mts +26 -0
  18. package/dist/sync/merge-info/merge-info-types.d.mts.map +1 -0
  19. package/dist/sync/merge-info/merge-info-types.mjs +2 -0
  20. package/dist/sync/merge-info/merge-info-types.mjs.map +1 -0
  21. package/dist/sync/strategies/conflict-optimistic.d.mts +37 -0
  22. package/dist/sync/strategies/conflict-optimistic.d.mts.map +1 -0
  23. package/dist/sync/strategies/conflict-optimistic.mjs +162 -0
  24. package/dist/sync/strategies/conflict-optimistic.mjs.map +1 -0
  25. package/dist/sync/sync-conflict.respec.d.mts +8 -0
  26. package/dist/sync/sync-conflict.respec.d.mts.map +1 -0
  27. package/dist/sync/sync-conflict.respec.mjs +158 -0
  28. package/dist/sync/sync-conflict.respec.mjs.map +1 -0
  29. package/dist/sync/sync-innerspace-constants.respec.mjs +2 -2
  30. package/dist/sync/sync-innerspace-constants.respec.mjs.map +1 -1
  31. package/dist/sync/sync-innerspace-deep-updates.respec.mjs +0 -1
  32. package/dist/sync/sync-innerspace-deep-updates.respec.mjs.map +1 -1
  33. package/dist/sync/sync-innerspace.respec.mjs +1 -1
  34. package/dist/sync/sync-innerspace.respec.mjs.map +1 -1
  35. package/dist/sync/sync-saga-coordinator.d.mts +23 -12
  36. package/dist/sync/sync-saga-coordinator.d.mts.map +1 -1
  37. package/dist/sync/sync-saga-coordinator.mjs +473 -107
  38. package/dist/sync/sync-saga-coordinator.mjs.map +1 -1
  39. package/dist/sync/sync-saga-message/sync-saga-message-helpers.d.mts +11 -0
  40. package/dist/sync/sync-saga-message/sync-saga-message-helpers.d.mts.map +1 -1
  41. package/dist/sync/sync-saga-message/sync-saga-message-helpers.mjs +24 -0
  42. package/dist/sync/sync-saga-message/sync-saga-message-helpers.mjs.map +1 -1
  43. package/dist/sync/sync-saga-message/sync-saga-message-types.d.mts +23 -0
  44. package/dist/sync/sync-saga-message/sync-saga-message-types.d.mts.map +1 -1
  45. package/dist/sync/sync-types.d.mts +31 -4
  46. package/dist/sync/sync-types.d.mts.map +1 -1
  47. package/dist/sync/sync-types.mjs.map +1 -1
  48. package/ibgib-foundations.md +129 -0
  49. package/package.json +1 -1
  50. package/roadmap.md +59 -0
  51. package/src/common/other/ibgib-helper.mts +52 -0
  52. package/src/keystone/README.md +13 -155
  53. package/src/keystone/docs/architecture.md +55 -0
  54. package/src/sync/README.md +37 -42
  55. package/src/sync/docs/architecture.md +69 -0
  56. package/src/sync/docs/verification.md +43 -0
  57. package/src/sync/merge-info/merge-info-constants.mts +1 -0
  58. package/src/sync/merge-info/merge-info-helpers.mts +134 -0
  59. package/src/sync/merge-info/merge-info-helpers.respec.mts +41 -0
  60. package/src/sync/merge-info/merge-info-types.mts +28 -0
  61. package/src/sync/strategies/conflict-optimistic.mts +208 -0
  62. package/src/sync/sync-conflict.respec.mts +194 -0
  63. package/src/sync/sync-innerspace-constants.respec.mts +1 -1
  64. package/src/sync/sync-innerspace-deep-updates.respec.mts +0 -1
  65. package/src/sync/sync-innerspace.respec.mts +1 -1
  66. package/src/sync/sync-saga-coordinator.mts +524 -118
  67. package/src/sync/sync-saga-message/sync-saga-message-helpers.mts +41 -0
  68. package/src/sync/sync-saga-message/sync-saga-message-types.mts +23 -0
  69. package/src/sync/sync-types.mts +33 -4
  70. package/tmp.md +2 -425
@@ -57,3 +57,44 @@ export async function parseSyncSagaMessageIb({
57
57
  throw error;
58
58
  }
59
59
  }
60
+
61
+ /**
62
+ * Helper to retrieve the Message Stone associated with a Saga Frame.
63
+ *
64
+ * Saga Frames link to their Message Stone via the `sync-msg` relationship.
65
+ */
66
+ import { IbGib_V1 } from "@ibgib/ts-gib/dist/V1/types.mjs";
67
+ import { IbGibSpaceAny } from "../../witness/space/space-base-v1.mjs";
68
+ import { getRel8dIbGibs } from "../../common/other/ibgib-helper.mjs";
69
+ import { SYNC_MSG_REL8N_NAME } from "../sync-constants.mjs";
70
+
71
+ export async function getSyncSagaMessageFromFrame({
72
+ frameIbGib,
73
+ space,
74
+ }: {
75
+ frameIbGib: IbGib_V1,
76
+ space: IbGibSpaceAny,
77
+ }): Promise<IbGib_V1<SyncSagaMessageData_V1>> {
78
+ const lc = `[${getSyncSagaMessageFromFrame.name}]`;
79
+ try {
80
+ const rel8d = await getRel8dIbGibs({
81
+ ibGib: frameIbGib,
82
+ rel8nNames: [SYNC_MSG_REL8N_NAME],
83
+ space
84
+ });
85
+ const msgs = rel8d[SYNC_MSG_REL8N_NAME];
86
+
87
+ if (!msgs || msgs.length === 0) {
88
+ throw new Error(`(UNEXPECTED) No sync message stone found found for frame: ${frameIbGib.ib} (E: 8a4b2c1d3e5f6a9b7c8d9e0f1a2b3c4d)`);
89
+ }
90
+
91
+ if (msgs.length > 1) {
92
+ throw new Error(`(UNEXPECTED) Multiple sync message stones found (${msgs.length}) for frame: ${frameIbGib.ib}. logic not currently equipped to handle multiple messages per frame. (E: 1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d)`);
93
+ }
94
+
95
+ return msgs[0] as IbGib_V1<SyncSagaMessageData_V1>;
96
+ } catch (error) {
97
+ console.error(`${lc} ${extractErrorMsg(error)}`);
98
+ throw error;
99
+ }
100
+ }
@@ -47,11 +47,34 @@ export interface SyncSagaMessageAckData_V1 extends SyncSagaMessageData_V1 {
47
47
  * Used by Sender to calculate differential payloads.
48
48
  */
49
49
  knowledgeVector?: { [groupKey: string]: string[] };
50
+ /**
51
+ * List of identified conflicts.
52
+ *
53
+ * If present, the Sender should use the `timelineAddrs` (Receiver's history)
54
+ * to compute the LCA and delta requirements for merging.
55
+ */
56
+ conflicts?: {
57
+ tjpAddr: string;
58
+ localAddr: string;
59
+ remoteAddr: string;
60
+ /**
61
+ * Full history of the timeline from the Receiver's perspective.
62
+ * Used by Sender to find LCA.
63
+ */
64
+ timelineAddrs: string[];
65
+ reason: string;
66
+ terminal: boolean;
67
+ }[];
50
68
  }
51
69
 
52
70
  export interface SyncSagaMessageDeltaData_V1 extends SyncSagaMessageData_V1, SyncDeltaData {
53
71
  stage: typeof SyncStage.delta;
54
72
  requests?: string[];
73
+ /**
74
+ * Flag indicating the sender has no further requests or payloads
75
+ * and is ready to commit the transaction.
76
+ */
77
+ proposeCommit?: boolean;
55
78
  }
56
79
 
57
80
  export interface SyncSagaMessageCommitData_V1 extends SyncSagaMessageData_V1, SyncCommitData {
@@ -4,6 +4,7 @@ import { KeystoneIbGib_V1, KeystoneProof } from "../keystone/keystone-types.mjs"
4
4
  import { SYNC_ATOM, SyncStage } from "./sync-constants.mjs";
5
5
  import { IbGibSpaceAny } from "../witness/space/space-base-v1.mjs";
6
6
  import { MetaspaceService } from "../witness/space/metaspace/metaspace-types.mjs";
7
+ import { SyncPeerWitness } from "./sync-peer/sync-peer-types.mjs";
7
8
 
8
9
 
9
10
  // #region SyncMode
@@ -45,6 +46,10 @@ export function isValidSyncConflictStrategy(strategy: string): strategy is SyncC
45
46
  // #endregion SyncConflictStrategy
46
47
 
47
48
  export interface SyncOptions {
49
+ /**
50
+ * The peer we are syncing with.
51
+ */
52
+ peer: SyncPeerWitness;
48
53
  /**
49
54
  * The ibgibs we wish to sync.
50
55
  *
@@ -54,11 +59,15 @@ export interface SyncOptions {
54
59
  /**
55
60
  * The space containing the data we want to send.
56
61
  */
57
- source: IbGibSpaceAny;
62
+ source?: IbGibSpaceAny;
63
+ /**
64
+ * Alias for {@link source}. Used in some contexts.
65
+ */
66
+ localSpace?: IbGibSpaceAny;
58
67
  /**
59
68
  * The space receiving the data.
60
69
  */
61
- dest: IbGibSpaceAny;
70
+ dest?: IbGibSpaceAny;
62
71
  /**
63
72
  * The metaspace context (for registering sync sagas locally).
64
73
  */
@@ -66,16 +75,22 @@ export interface SyncOptions {
66
75
  /**
67
76
  * The identity authorizing this sync.
68
77
  */
69
- identity: KeystoneIbGib_V1;
78
+ identity?: KeystoneIbGib_V1;
70
79
  /**
71
80
  * The secret for the identity (to sign the commit).
72
81
  */
73
- identitySecret: string;
82
+ identitySecret?: string;
74
83
  /**
75
84
  * How to handle conflicts when both Source and Dest have diverged on the same timeline.
76
85
  * @default 'abort'
77
86
  */
78
87
  conflictStrategy?: SyncConflictStrategy;
88
+ /**
89
+ * @deprecated Use `identity` instead if you have a specific identity.
90
+ * If true, creates an ephemeral session identity.
91
+ * @default true
92
+ */
93
+ useSessionIdentity?: boolean;
79
94
  }
80
95
 
81
96
  // ===========================================================================
@@ -168,6 +183,20 @@ export interface SyncData_V1 extends IbGibData_V1 {
168
183
  */
169
184
  uuid: string;
170
185
 
186
+ /**
187
+ * Optional verification metadata (e.g. success count).
188
+ */
189
+ successCount?: number;
190
+ /**
191
+ * If failed, the reasons why.
192
+ */
193
+ errors?: string[];
194
+
195
+ /**
196
+ * Strategy used for resolving conflicts in this saga.
197
+ */
198
+ conflictStrategy?: SyncConflictStrategy;
199
+
171
200
  /**
172
201
  * Optional absolute timestamp (Unix ms) after which this frame should be considered void.
173
202
  * Useful for:
package/tmp.md CHANGED
@@ -1,426 +1,3 @@
1
- PS C:\Users\billm\antigravity\ibgib\libs\core-gib> npm run test:agent
1
+ Clarifying Merge Context
2
2
 
3
- > @ibgib/core-gib@0.1.18 test:agent
4
- > npm run build:test && npm run test:node:nobuild
5
-
6
-
7
- > @ibgib/core-gib@0.1.18 build:test
8
- > npm run clean && tsc -b tsconfig.test.json --force
9
-
10
-
11
- > @ibgib/core-gib@0.1.18 clean
12
- > node node_modules/@ibgib/helper-gib/tools/clean.js ./dist
13
-
14
- Cleaning: C:\Users\billm\antigravity\ibgib\libs\core-gib\dist
15
- Successfully cleaned: C:\Users\billm\antigravity\ibgib\libs\core-gib\dist
16
-
17
- > @ibgib/core-gib@0.1.18 test:node:nobuild
18
- > node dist/respec-gib.node.mjs --inspect
19
-
20
- filteredRespecPaths for extra respec: C:\Users\billm\antigravity\ibgib\libs\core-gib\dist\sync\sync-innerspace-partial-update.respec.mjs (I: b98f54656899646025eecb4c028ab523)
21
- [Metaspace_Innerspace][initialize] initialized (I: e3b3a9652c09445cb055013166ff089c)
22
- [sync-innerspace-partial-update.respec] Running Sync...
23
- [SyncSagaCoordinator][sync] starting...
24
- [fnCreateNewLocalSpace] starting... (I: a9bc8c7d54cb4bafae4c4aa515d71580)
25
- [fnCreateNewLocalSpace] localSpace.ib: witness space InnerSpace_V1 tmp_sync_space_d6e13091 dd1380249cd2c0d3f6145f5c320dbfe1a0afe8d7e495b321ba5289f62460a8ee undefined undefined
26
- [fnCreateNewLocalSpace] localSpace.gib: undefined (before sha256v1)
27
- [fnCreateNewLocalSpace] localSpace.data: {
28
- "version": "1",
29
- "name": "tmp_sync_space_d6e13091",
30
- "uuid": "dd1380249cd2c0d3f6145f5c320dbfe1a0afe8d7e495b321ba5289f62460a8ee",
31
- "description": "ephemeral in-memory space",
32
- "persistOptsAndResultIbGibs": false,
33
- "validateIbGibAddrsMatchIbGibs": true,
34
- "trace": false,
35
- "allowPrimitiveArgs": false,
36
- "catchAllErrors": true,
37
- "longPollingIntervalMs": 30000,
38
- "classname": "InnerSpace_V1"
39
- }
40
- [fnCreateNewLocalSpace] localSpace.rel8ns: "falsy"
41
- [fnCreateNewLocalSpace] localSpace.gib: FAED572F2CFBD0256DA9E08ADB2A5F01A8C32F190911FF6460377EDAE2526224 (after sha256v1)
42
- [fnCreateNewLocalSpace] complete.
43
- [SyncSagaCoordinator][sync] sessionIdentity: undefined (I: abc01872800b3a66b819a05898bba826)
44
- [SyncSagaCoordinator][createInitFrame] starting... (I: 551af8b411ae9be712ce3358d43ee726)
45
- [SyncSagaCoordinator][analyzeTimelines] graph generated. nodes: 8
46
- [SyncSagaCoordinator][createInitFrame] initStone: {
47
- "ib": "sync_sagamsg 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5 init",
48
- "gib": "867351FCC7FF7113AF2E431C192A67136F4313C14B01B44DF9DE36D0FD2E639E",
49
- "data": {
50
- "timestamp": "Thu, 08 Jan 2026 16:16:03 GMT",
51
- "timestampMs": 288,
52
- "sagaId": "11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5",
53
- "stage": "init",
54
- "knowledgeVector": {
55
- "timeline_root_partial^E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A": "timeline_root_partial^A5CA0E35F0B9817F9168E59185F4255C718A6F4908680DEE141AF118312784D5.E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A"
56
- },
57
- "mode": "sync",
58
- "stones": [
59
- "fork^44A4AA45CAE114169A4B8E32A4F6FF09E64A89E9BF7A3C307DB7325ACC377E5B",
60
- "mut8^7BFB21AAB6B67D70CC7185458A729045D3BD8AE97FBB2AE47D2C1C14D1648744",
61
- "mut8^14B6972BDA407BDF824C5FB55BDCB6D9FFC423DB9BD47FAA659BFA2C804EA3B9",
62
- "mut8^80DBBD760F47AD72A64230866EA3EB7C5DA5AE63122C9D804694301140CAEF88"
63
- ],
64
- "uuid": "e37af551d318fabe0ca1fad4e34b73e1dd96b4f33458b01272f3eb6aad4c5df1"
65
- },
66
- "rel8ns": {
67
- "ancestor": [
68
- "sync_sagamsg^gib"
69
- ]
70
- }
71
- } (I: 06e532f8a408549069474e96bed44826)
72
- [SyncSagaCoordinator][createInitFrame] sagaFrame (init): {
73
- "ib": "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5",
74
- "gib": "D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95",
75
- "data": {
76
- "n": 2,
77
- "timestamp": "Thu, 08 Jan 2026 16:16:03 GMT",
78
- "timestampMs": 314,
79
- "uuid": "11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5",
80
- "isTjp": true
81
- },
82
- "rel8ns": {
83
- "ancestor": [
84
- "sync^gib"
85
- ],
86
- "sync-msg": [
87
- "sync_sagamsg 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5 init^867351FCC7FF7113AF2E431C192A67136F4313C14B01B44DF9DE36D0FD2E639E"
88
- ]
89
- }
90
- } (I: b3d6a8be69248f18713cc3073cb08626)
91
- [SyncSagaCoordinator][createInitFrame] complete.
92
- [SyncSagaCoordinator][executeSagaLoop] transmitting... requestCtx: {
93
- "ib": "sync_sagacontext process",
94
- "gib": "F25B8D973F482155A42778B8BB70B8E8F091DCF85DBBFB353B54CD8600C43DD8",
95
- "data": {
96
- "timestamp": "Thu, 08 Jan 2026 16:16:03 GMT",
97
- "timestampMs": 334,
98
- "cmd": "process",
99
- "@payloadAddrs": [
100
- "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95",
101
- "sync_sagamsg 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5 init^867351FCC7FF7113AF2E431C192A67136F4313C14B01B44DF9DE36D0FD2E639E"
102
- ]
103
- },
104
- "rel8ns": {
105
- "ancestor": [
106
- "sync_sagacontext^gib"
107
- ],
108
- "sagaFrame": [
109
- "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95"
110
- ]
111
- }
112
- } (I: 8cf20817c66899abdb1e76df50356826)
113
- [SyncPeerInnerspace_V1][witness] starting...
114
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95
115
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): sync_sagamsg 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5 init^867351FCC7FF7113AF2E431C192A67136F4313C14B01B44DF9DE36D0FD2E639E
116
- [SyncPeerInnerspace_V1][sendRequest] starting...Context: sync_sagacontext process^F25B8D973F482155A42778B8BB70B8E8F091DCF85DBBFB353B54CD8600C43DD8
117
- [SyncPeerInnerspace_V1][sendRequest] Invoking Receiver Coordinator...
118
- [SyncSagaCoordinator][handleSagaFrame] starting... (I: 5deec8a1f7a6d263c88cd458ad990826)
119
- [SyncSagaCoordinator][handleSagaFrame] sagaIbGib: {
120
- "ib": "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5",
121
- "gib": "D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95",
122
- "data": {
123
- "n": 2,
124
- "timestamp": "Thu, 08 Jan 2026 16:16:03 GMT",
125
- "timestampMs": 314,
126
- "uuid": "11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5",
127
- "isTjp": true
128
- },
129
- "rel8ns": {
130
- "ancestor": [
131
- "sync^gib"
132
- ],
133
- "sync-msg": [
134
- "sync_sagamsg 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5 init^867351FCC7FF7113AF2E431C192A67136F4313C14B01B44DF9DE36D0FD2E639E"
135
- ]
136
- }
137
- } (I: 1b99d87d262e9d18d8a607a80b1a0126)
138
- [SyncSagaCoordinator][getStageAndPayloadFromFrame] starting... (I: fddc287bd4d55253dc50e519fd352226)
139
- [SyncSagaCoordinator][getStageAndPayloadFromFrame] complete.
140
- [SyncSagaCoordinator][handleSagaFrame] handling frame stage: init
141
- [SyncSagaCoordinator][handleInitFrame] starting...
142
- [SyncSagaCoordinator][handleInitFrame] initData: {
143
- "timestamp": "Thu, 08 Jan 2026 16:16:03 GMT",
144
- "timestampMs": 288,
145
- "sagaId": "11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5",
146
- "stage": "init",
147
- "knowledgeVector": {
148
- "timeline_root_partial^E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A": "timeline_root_partial^A5CA0E35F0B9817F9168E59185F4255C718A6F4908680DEE141AF118312784D5.E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A" },
149
- "mode": "sync",
150
- "stones": [
151
- "fork^44A4AA45CAE114169A4B8E32A4F6FF09E64A89E9BF7A3C307DB7325ACC377E5B",
152
- "mut8^7BFB21AAB6B67D70CC7185458A729045D3BD8AE97FBB2AE47D2C1C14D1648744",
153
- "mut8^14B6972BDA407BDF824C5FB55BDCB6D9FFC423DB9BD47FAA659BFA2C804EA3B9",
154
- "mut8^80DBBD760F47AD72A64230866EA3EB7C5DA5AE63122C9D804694301140CAEF88"
155
- ],
156
- "uuid": "e37af551d318fabe0ca1fad4e34b73e1dd96b4f33458b01272f3eb6aad4c5df1"
157
- } (I: 46b0f8441b96ad7a388f1ce3239dd826)
158
- [SyncSagaCoordinator][handleInitFrame] remoteKV: {
159
- "timeline_root_partial^E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A": "timeline_root_partial^A5CA0E35F0B9817F9168E59185F4255C718A6F4908680DEE141AF118312784D5.E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A"
160
- } (I: 9f957862356dfeae183c200854e86e26)
161
- [SyncSagaCoordinator][handleInitFrame] remoteTjps: [
162
- "timeline_root_partial^E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A"
163
- ] (I: 86ea4c53db0dc184c8b253386c402126)
164
- [SyncSagaCoordinator][handleInitFrame] localKV: {
165
- "timeline_root_partial^E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A": null
166
- } (I: 980975642cbccd8018cf0cd808d30826)
167
- [SyncSagaCoordinator][handleInitFrame] ackStone created: {
168
- "ib": "sync_sagamsg 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5 ack",
169
- "gib": "34814CA60B1719E980114CCFB2194CCCA026613FEC64E8C0F70CD8611D8F78D1",
170
- "data": {
171
- "timestamp": "Thu, 08 Jan 2026 16:16:03 GMT",
172
- "timestampMs": 417,
173
- "sagaId": "11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5",
174
- "stage": "ack",
175
- "deltaReqAddrs": [
176
- "timeline_root_partial^A5CA0E35F0B9817F9168E59185F4255C718A6F4908680DEE141AF118312784D5.E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A"
177
- ],
178
- "pushOfferAddrs": [],
179
- "knowledgeVector": {},
180
- "uuid": "2066609ed4be85a89d1805865a379cd6cc0801e33043e62cc2d476c79b557017"
181
- },
182
- "rel8ns": {
183
- "ancestor": [
184
- "sync_sagamsg^gib"
185
- ]
186
- }
187
- } (I: 313708132dd53ff946befb7833657826)
188
- [SyncSagaCoordinator][handleInitFrame] ackFrame created: {
189
- "ib": "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5",
190
- "gib": "075CA68A9D7A4DEEFA700E786EA02BC0D82E63D9BE0C3FFAD296B4013D779BF5.D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95",
191
- "data": {
192
- "n": 3,
193
- "timestamp": "Thu, 08 Jan 2026 16:16:03 GMT",
194
- "timestampMs": 444,
195
- "uuid": "11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5"
196
- },
197
- "rel8ns": {
198
- "ancestor": [
199
- "sync^gib"
200
- ],
201
- "sync-msg": [
202
- "sync_sagamsg 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5 ack^34814CA60B1719E980114CCFB2194CCCA026613FEC64E8C0F70CD8611D8F78D1"
203
- ],
204
- "past": [
205
- "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95"
206
- ],
207
- "tjp": [
208
- "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95"
209
- ]
210
- }
211
- } (I: be24480592eec478086bb3da49286826)
212
- [SyncSagaCoordinator][handleSagaFrame] complete.
213
- [SyncPeerInnerspace_V1][sendRequest] responseFrame addr: sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^075CA68A9D7A4DEEFA700E786EA02BC0D82E63D9BE0C3FFAD296B4013D779BF5.D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95
214
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^075CA68A9D7A4DEEFA700E786EA02BC0D82E63D9BE0C3FFAD296B4013D779BF5.D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95
215
- [SyncPeerInnerspace_V1][witness] complete.
216
- [SyncSagaCoordinator][executeSagaLoop] received responseCtx: {
217
- "ib": "sync_sagacontext default",
218
- "gib": "1CCC2C05AD1D3F28981F292892AE9FD2793376DB7C53C58D4299934C3874584A",
219
- "data": {
220
- "timestamp": "Thu, 08 Jan 2026 16:16:03 GMT",
221
- "timestampMs": 462
222
- },
223
- "rel8ns": {
224
- "ancestor": [
225
- "sync_sagacontext^gib"
226
- ],
227
- "sagaFrame": [
228
- "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^075CA68A9D7A4DEEFA700E786EA02BC0D82E63D9BE0C3FFAD296B4013D779BF5.D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95"
229
- ]
230
- }
231
- } (I: 8f35c8b7a9e886aa9743d38bee907826)
232
- [SyncSagaCoordinator][executeSagaLoop] calling handleSagaFrame. localSpace: source_uuid (source), tempSpace: dd1380249cd2c0d3f6145f5c320dbfe1a0afe8d7e495b321ba5289f62460a8ee
233
- [SyncSagaCoordinator][handleSagaFrame] starting... (I: 5deec8a1f7a6d263c88cd458ad990826)
234
- [SyncSagaCoordinator][handleSagaFrame] sagaIbGib: {
235
- "ib": "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5",
236
- "gib": "075CA68A9D7A4DEEFA700E786EA02BC0D82E63D9BE0C3FFAD296B4013D779BF5.D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95",
237
- "data": {
238
- "n": 3,
239
- "timestamp": "Thu, 08 Jan 2026 16:16:03 GMT",
240
- "timestampMs": 444,
241
- "uuid": "11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5"
242
- },
243
- "rel8ns": {
244
- "ancestor": [
245
- "sync^gib"
246
- ],
247
- "sync-msg": [
248
- "sync_sagamsg 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5 ack^34814CA60B1719E980114CCFB2194CCCA026613FEC64E8C0F70CD8611D8F78D1"
249
- ],
250
- "past": [
251
- "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95"
252
- ],
253
- "tjp": [
254
- "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95"
255
- ]
256
- }
257
- } (I: 1b99d87d262e9d18d8a607a80b1a0126)
258
- [SyncSagaCoordinator][getStageAndPayloadFromFrame] starting... (I: fddc287bd4d55253dc50e519fd352226)
259
- [SyncSagaCoordinator][getStageAndPayloadFromFrame] complete.
260
- [SyncSagaCoordinator][handleSagaFrame] handling frame stage: ack
261
- [SyncSagaCoordinator][handleAckFrame] starting...
262
- [SyncSagaCoordinator][getStageAndPayloadFromFrame] starting... (I: fddc287bd4d55253dc50e519fd352226)
263
- [SyncSagaCoordinator][getStageAndPayloadFromFrame] complete.
264
- [SyncSagaCoordinator][handleSagaFrame] complete.
265
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): timeline_root_partial^A5CA0E35F0B9817F9168E59185F4255C718A6F4908680DEE141AF118312784D5.E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A|fork^44A4AA45CAE114169A4B8E32A4F6FF09E64A89E9BF7A3C307DB7325ACC377E5B|mut8^7BFB21AAB6B67D70CC7185458A729045D3BD8AE97FBB2AE47D2C1C14D1648744|mut8^14B6972BDA407BDF824C5FB55BDCB6D9FFC423DB9BD47FAA659BFA2C804EA3B9|mut8^80DBBD760F47AD72A64230866EA3EB7C5DA5AE63122C9D804694301140CAEF88|timeline_root_partial^E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A|timeline_root_partial^FD412DAA7E5C4230EFC4EA8C9DA5EBEA5A44E8E99B7BEDB5A38944E820D752E0.E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A|timeline_root_partial^42B144792BFDD8F0C16CC9C37838521639EC984BC706BB4A627A07037ADF0DEC.E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A|fork^44A4AA45CAE114169A4B8E32A4F6FF09E64A89E9BF7A3C307DB7325ACC377E5B|mut8^7BFB21AAB6B67D70CC7185458A729045D3BD8AE97FBB2AE47D2C1C14D1648744|mut8^14B6972BDA407BDF824C5FB55BDCB6D9FFC423DB9BD47FAA659BFA2C804EA3B9|mut8^80DBBD760F47AD72A64230866EA3EB7C5DA5AE63122C9D804694301140CAEF88|timeline_root_partial^E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A|fork^44A4AA45CAE114169A4B8E32A4F6FF09E64A89E9BF7A3C307DB7325ACC377E5B|timeline_root_partial^FD412DAA7E5C4230EFC4EA8C9DA5EBEA5A44E8E99B7BEDB5A38944E820D752E0.E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A|fork^44A4AA45CAE114169A4B8E32A4F6FF09E64A89E9BF7A3C307DB7325ACC377E5B|mut8^7BFB21AAB6B67D70CC7185458A729045D3BD8AE97FBB2AE47D2C1C14D1648744|timeline_root_partial^E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A|timeline_root_partial^42B144792BFDD8F0C16CC9C37838521639EC984BC706BB4A627A07037ADF0DEC.E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A|fork^44A4AA45CAE114169A4B8E32A4F6FF09E64A89E9BF7A3C307DB7325ACC377E5B|mut8^7BFB21AAB6B67D70CC7185458A729045D3BD8AE97FBB2AE47D2C1C14D1648744|mut8^14B6972BDA407BDF824C5FB55BDCB6D9FFC423DB9BD47FAA659BFA2C804EA3B9|timeline_root_partial^E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A|timeline_root_partial^FD412DAA7E5C4230EFC4EA8C9DA5EBEA5A44E8E99B7BEDB5A38944E820D752E0.E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A|sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^2298E32C059C3C4579DDDEB34585298B0E4289AE7988386643C9810EE5B4FB9A.D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95
266
- [SyncSagaCoordinator][executeSagaLoop] transmitting... requestCtx: {
267
- "ib": "sync_sagacontext process",
268
- "gib": "99175B1566E19561B45A98DC98160D7429D54B7F27D0B334A7EB51E651C147B4",
269
- "data": {
270
- "timestamp": "Thu, 08 Jan 2026 16:16:03 GMT",
271
- "timestampMs": 558,
272
- "cmd": "process",
273
- "@payloadAddrs": [
274
- "timeline_root_partial^A5CA0E35F0B9817F9168E59185F4255C718A6F4908680DEE141AF118312784D5.E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A",
275
- "fork^44A4AA45CAE114169A4B8E32A4F6FF09E64A89E9BF7A3C307DB7325ACC377E5B",
276
- "mut8^7BFB21AAB6B67D70CC7185458A729045D3BD8AE97FBB2AE47D2C1C14D1648744",
277
- "mut8^14B6972BDA407BDF824C5FB55BDCB6D9FFC423DB9BD47FAA659BFA2C804EA3B9",
278
- "mut8^80DBBD760F47AD72A64230866EA3EB7C5DA5AE63122C9D804694301140CAEF88",
279
- "timeline_root_partial^E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A",
280
- "timeline_root_partial^FD412DAA7E5C4230EFC4EA8C9DA5EBEA5A44E8E99B7BEDB5A38944E820D752E0.E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A",
281
- "timeline_root_partial^42B144792BFDD8F0C16CC9C37838521639EC984BC706BB4A627A07037ADF0DEC.E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A",
282
- "fork^44A4AA45CAE114169A4B8E32A4F6FF09E64A89E9BF7A3C307DB7325ACC377E5B",
283
- "mut8^7BFB21AAB6B67D70CC7185458A729045D3BD8AE97FBB2AE47D2C1C14D1648744",
284
- "mut8^14B6972BDA407BDF824C5FB55BDCB6D9FFC423DB9BD47FAA659BFA2C804EA3B9",
285
- "mut8^80DBBD760F47AD72A64230866EA3EB7C5DA5AE63122C9D804694301140CAEF88",
286
- "timeline_root_partial^E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A",
287
- "fork^44A4AA45CAE114169A4B8E32A4F6FF09E64A89E9BF7A3C307DB7325ACC377E5B",
288
- "timeline_root_partial^FD412DAA7E5C4230EFC4EA8C9DA5EBEA5A44E8E99B7BEDB5A38944E820D752E0.E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A",
289
- "fork^44A4AA45CAE114169A4B8E32A4F6FF09E64A89E9BF7A3C307DB7325ACC377E5B",
290
- "mut8^7BFB21AAB6B67D70CC7185458A729045D3BD8AE97FBB2AE47D2C1C14D1648744",
291
- "timeline_root_partial^E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A",
292
- "timeline_root_partial^42B144792BFDD8F0C16CC9C37838521639EC984BC706BB4A627A07037ADF0DEC.E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A",
293
- "fork^44A4AA45CAE114169A4B8E32A4F6FF09E64A89E9BF7A3C307DB7325ACC377E5B",
294
- "mut8^7BFB21AAB6B67D70CC7185458A729045D3BD8AE97FBB2AE47D2C1C14D1648744",
295
- "mut8^14B6972BDA407BDF824C5FB55BDCB6D9FFC423DB9BD47FAA659BFA2C804EA3B9",
296
- "timeline_root_partial^E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A",
297
- "timeline_root_partial^FD412DAA7E5C4230EFC4EA8C9DA5EBEA5A44E8E99B7BEDB5A38944E820D752E0.E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A",
298
- "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^2298E32C059C3C4579DDDEB34585298B0E4289AE7988386643C9810EE5B4FB9A.D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95"
299
- ]
300
- },
301
- "rel8ns": {
302
- "ancestor": [
303
- "sync_sagacontext^gib"
304
- ],
305
- "sagaFrame": [
306
- "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^2298E32C059C3C4579DDDEB34585298B0E4289AE7988386643C9810EE5B4FB9A.D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95"
307
- ]
308
- }
309
- } (I: 8cf20817c66899abdb1e76df50356826)
310
- [SyncPeerInnerspace_V1][witness] starting...
311
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): timeline_root_partial^FD412DAA7E5C4230EFC4EA8C9DA5EBEA5A44E8E99B7BEDB5A38944E820D752E0.E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A
312
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): timeline_root_partial^42B144792BFDD8F0C16CC9C37838521639EC984BC706BB4A627A07037ADF0DEC.E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A
313
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): fork^44A4AA45CAE114169A4B8E32A4F6FF09E64A89E9BF7A3C307DB7325ACC377E5B
314
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): mut8^7BFB21AAB6B67D70CC7185458A729045D3BD8AE97FBB2AE47D2C1C14D1648744
315
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): mut8^14B6972BDA407BDF824C5FB55BDCB6D9FFC423DB9BD47FAA659BFA2C804EA3B9
316
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): mut8^80DBBD760F47AD72A64230866EA3EB7C5DA5AE63122C9D804694301140CAEF88
317
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): timeline_root_partial^E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A
318
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): fork^44A4AA45CAE114169A4B8E32A4F6FF09E64A89E9BF7A3C307DB7325ACC377E5B
319
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): timeline_root_partial^FD412DAA7E5C4230EFC4EA8C9DA5EBEA5A44E8E99B7BEDB5A38944E820D752E0.E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A
320
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): fork^44A4AA45CAE114169A4B8E32A4F6FF09E64A89E9BF7A3C307DB7325ACC377E5B
321
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): mut8^7BFB21AAB6B67D70CC7185458A729045D3BD8AE97FBB2AE47D2C1C14D1648744
322
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): timeline_root_partial^E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A
323
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): timeline_root_partial^42B144792BFDD8F0C16CC9C37838521639EC984BC706BB4A627A07037ADF0DEC.E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A
324
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): fork^44A4AA45CAE114169A4B8E32A4F6FF09E64A89E9BF7A3C307DB7325ACC377E5B
325
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): mut8^7BFB21AAB6B67D70CC7185458A729045D3BD8AE97FBB2AE47D2C1C14D1648744
326
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): mut8^14B6972BDA407BDF824C5FB55BDCB6D9FFC423DB9BD47FAA659BFA2C804EA3B9
327
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): timeline_root_partial^E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A
328
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): timeline_root_partial^FD412DAA7E5C4230EFC4EA8C9DA5EBEA5A44E8E99B7BEDB5A38944E820D752E0.E0F107C9EB0BE669B6CB19AC457799EECC60DE8226BE9D1241C78371CF98579A
329
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^2298E32C059C3C4579DDDEB34585298B0E4289AE7988386643C9810EE5B4FB9A.D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95
330
- [SyncPeerInnerspace_V1][sendRequest] starting...Context: sync_sagacontext process^99175B1566E19561B45A98DC98160D7429D54B7F27D0B334A7EB51E651C147B4
331
- [SyncPeerInnerspace_V1][sendRequest] Invoking Receiver Coordinator...
332
- [SyncSagaCoordinator][handleSagaFrame] starting... (I: 5deec8a1f7a6d263c88cd458ad990826)
333
- [SyncSagaCoordinator][handleSagaFrame] sagaIbGib: {
334
- "ib": "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5",
335
- "gib": "2298E32C059C3C4579DDDEB34585298B0E4289AE7988386643C9810EE5B4FB9A.D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95",
336
- "data": {
337
- "n": 4,
338
- "timestamp": "Thu, 08 Jan 2026 16:16:03 GMT",
339
- "timestampMs": 534,
340
- "uuid": "11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5"
341
- },
342
- "rel8ns": {
343
- "ancestor": [
344
- "sync^gib"
345
- ],
346
- "sync-msg": [
347
- "sync_sagamsg 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5 delta^DACE1C79C33934E4DAA6F10E0BC57055B79EEF93F2DB8578C40BDD56E3CC1B3B"
348
- ],
349
- "past": [
350
- "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95",
351
- "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^075CA68A9D7A4DEEFA700E786EA02BC0D82E63D9BE0C3FFAD296B4013D779BF5.D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95"
352
- ],
353
- "tjp": [
354
- "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95"
355
- ]
356
- }
357
- } (I: 1b99d87d262e9d18d8a607a80b1a0126)
358
- [SyncSagaCoordinator][getStageAndPayloadFromFrame] starting... (I: fddc287bd4d55253dc50e519fd352226)
359
- [SyncSagaCoordinator][getStageAndPayloadFromFrame] complete.
360
- [SyncSagaCoordinator][handleSagaFrame] handling frame stage: delta
361
- [SyncSagaCoordinator][handleDeltaFrame] starting...
362
- [SyncSagaCoordinator][getStageAndPayloadFromFrame] starting... (I: fddc287bd4d55253dc50e519fd352226)
363
- [SyncSagaCoordinator][getStageAndPayloadFromFrame] complete.
364
- [SyncSagaCoordinator][handleSagaFrame] complete.
365
- [SyncPeerInnerspace_V1][sendRequest] responseFrame addr: sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^05CE7879DDE658ED1D74E1F27AE954A2062867E19C6AA336E3FC836F6DD1EB90.D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95
366
- [putInSpace] [InnerSpace_V1][putImpl] already had addr(s): sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^05CE7879DDE658ED1D74E1F27AE954A2062867E19C6AA336E3FC836F6DD1EB90.D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95
367
- [SyncPeerInnerspace_V1][witness] complete.
368
- [SyncSagaCoordinator][executeSagaLoop] received responseCtx: {
369
- "ib": "sync_sagacontext default",
370
- "gib": "F63A25523546877EC053E4FE530307A8AD3E40E8B335E0DE40D7931DB11DEAAA",
371
- "data": {
372
- "timestamp": "Thu, 08 Jan 2026 16:16:03 GMT",
373
- "timestampMs": 807
374
- },
375
- "rel8ns": {
376
- "ancestor": [
377
- "sync_sagacontext^gib"
378
- ],
379
- "sagaFrame": [
380
- "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^05CE7879DDE658ED1D74E1F27AE954A2062867E19C6AA336E3FC836F6DD1EB90.D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95"
381
- ]
382
- }
383
- } (I: 8f35c8b7a9e886aa9743d38bee907826)
384
- [SyncSagaCoordinator][executeSagaLoop] calling handleSagaFrame. localSpace: source_uuid (source), tempSpace: dd1380249cd2c0d3f6145f5c320dbfe1a0afe8d7e495b321ba5289f62460a8ee
385
- [SyncSagaCoordinator][handleSagaFrame] starting... (I: 5deec8a1f7a6d263c88cd458ad990826)
386
- [SyncSagaCoordinator][handleSagaFrame] sagaIbGib: {
387
- "ib": "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5",
388
- "gib": "05CE7879DDE658ED1D74E1F27AE954A2062867E19C6AA336E3FC836F6DD1EB90.D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95",
389
- "data": {
390
- "n": 5,
391
- "timestamp": "Thu, 08 Jan 2026 16:16:03 GMT",
392
- "timestampMs": 790,
393
- "uuid": "11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5"
394
- },
395
- "rel8ns": {
396
- "ancestor": [
397
- "sync^gib"
398
- ],
399
- "sync-msg": [
400
- "sync_sagamsg 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5 commit^E435E561A24DCB1C8D82F31783CB815024FB881AF6B23A852EEEEA784E29BC0A"
401
- ],
402
- "past": [
403
- "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95",
404
- "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^075CA68A9D7A4DEEFA700E786EA02BC0D82E63D9BE0C3FFAD296B4013D779BF5.D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95",
405
- "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^2298E32C059C3C4579DDDEB34585298B0E4289AE7988386643C9810EE5B4FB9A.D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95"
406
- ],
407
- "tjp": [
408
- "sync 11afb650f3b229ff73fa20daa70dba8f10bbbcc4236b5d5caa6d2d1048e257e5^D9F087FF6C66546ACED8A7D525E23718A7E1E963A51068924DD555412C67CC95"
409
- ]
410
- }
411
- } (I: 1b99d87d262e9d18d8a607a80b1a0126)
412
- [SyncSagaCoordinator][getStageAndPayloadFromFrame] starting... (I: fddc287bd4d55253dc50e519fd352226)
413
- [SyncSagaCoordinator][getStageAndPayloadFromFrame] complete.
414
- [SyncSagaCoordinator][handleSagaFrame] handling frame stage: commit
415
- [SyncSagaCoordinator][handleCommitFrame] Commit received. Saga complete.
416
- [SyncSagaCoordinator][handleSagaFrame] complete.
417
- [sync-innerspace-partial-update.respec] Verifying Destination...
418
- 💚 [sync-innerspace-partial-update.respec.mjs][Sync InnerSpaces (Partial Update)][Sender Newer (Partial History)][verify setup] ALL 2 of 2 reckonings were respecful
419
- 💚 [sync-innerspace-partial-update.respec.mjs][Sync InnerSpaces (Partial Update)][Sender Newer (Partial History)][verify dest updated] ALL 2 of 2 reckonings were respecful
420
- [sync-innerspace-partial-update.respec.mjs][Sync InnerSpaces (Partial Update)][Sender Newer (Partial History)][verify setup] ✅
421
- [sync-innerspace-partial-update.respec.mjs][Sync InnerSpaces (Partial Update)][Sender Newer (Partial History)][verify dest updated] ✅
422
- [sync-innerspace-partial-update.respec.mjs][Sync InnerSpaces (Partial Update)][Sender Newer (Partial History)] ✅
423
-
424
- 29 respec files completely skipped.
425
-
426
- 💚💚 nothing but respec 💚💚
3
+ I'm now integrating merge context into handleDeltaFrame. It's crucial that this function knows the history of conflicts. I'm focusing on deriving state from the sagaIbGib and arguments, as the coordinator is mostly stateless. I'm thinking of checking for conflicts in the Ack within the saga history. If conflicts existed, I can then check for available merge data. This will involve inspecting delta changes to determine merge necessity, and if required, triggering merge based on existing conflicts. I'll add the necessary type updates accordingly.