@optimystic/db-p2p 1.0.0-beta.2 → 1.0.0

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 (234) hide show
  1. package/dist/src/cluster/block-transfer-service.d.ts +73 -1
  2. package/dist/src/cluster/block-transfer-service.d.ts.map +1 -1
  3. package/dist/src/cluster/block-transfer-service.js +70 -3
  4. package/dist/src/cluster/block-transfer-service.js.map +1 -1
  5. package/dist/src/cluster/block-transfer.d.ts +16 -1
  6. package/dist/src/cluster/block-transfer.d.ts.map +1 -1
  7. package/dist/src/cluster/block-transfer.js +73 -72
  8. package/dist/src/cluster/block-transfer.js.map +1 -1
  9. package/dist/src/cluster/client.d.ts +4 -6
  10. package/dist/src/cluster/client.d.ts.map +1 -1
  11. package/dist/src/cluster/client.js +8 -13
  12. package/dist/src/cluster/client.js.map +1 -1
  13. package/dist/src/cluster/cluster-policy.d.ts +2 -1
  14. package/dist/src/cluster/cluster-policy.d.ts.map +1 -1
  15. package/dist/src/cluster/cluster-policy.js.map +1 -1
  16. package/dist/src/cluster/cluster-repo.d.ts +172 -17
  17. package/dist/src/cluster/cluster-repo.d.ts.map +1 -1
  18. package/dist/src/cluster/cluster-repo.js +553 -149
  19. package/dist/src/cluster/cluster-repo.js.map +1 -1
  20. package/dist/src/cluster/commit-proof.js +2 -2
  21. package/dist/src/cluster/race-resolution.d.ts +51 -7
  22. package/dist/src/cluster/race-resolution.d.ts.map +1 -1
  23. package/dist/src/cluster/race-resolution.js +71 -7
  24. package/dist/src/cluster/race-resolution.js.map +1 -1
  25. package/dist/src/cluster/rebalance-monitor.d.ts +67 -5
  26. package/dist/src/cluster/rebalance-monitor.d.ts.map +1 -1
  27. package/dist/src/cluster/rebalance-monitor.js +120 -26
  28. package/dist/src/cluster/rebalance-monitor.js.map +1 -1
  29. package/dist/src/cluster/spread-on-churn.d.ts.map +1 -1
  30. package/dist/src/cluster/spread-on-churn.js +34 -47
  31. package/dist/src/cluster/spread-on-churn.js.map +1 -1
  32. package/dist/src/cohort-topic/host.d.ts.map +1 -1
  33. package/dist/src/cohort-topic/host.js +8 -6
  34. package/dist/src/cohort-topic/host.js.map +1 -1
  35. package/dist/src/cohort-topic/membership-source.js +1 -1
  36. package/dist/src/cohort-topic/membership-source.js.map +1 -1
  37. package/dist/src/cohort-topic/peer-codec.d.ts.map +1 -1
  38. package/dist/src/cohort-topic/peer-codec.js +5 -2
  39. package/dist/src/cohort-topic/peer-codec.js.map +1 -1
  40. package/dist/src/cohort-topic/stream-util.d.ts +24 -3
  41. package/dist/src/cohort-topic/stream-util.d.ts.map +1 -1
  42. package/dist/src/cohort-topic/stream-util.js +36 -3
  43. package/dist/src/cohort-topic/stream-util.js.map +1 -1
  44. package/dist/src/cohort-topic/topic-router.d.ts +9 -0
  45. package/dist/src/cohort-topic/topic-router.d.ts.map +1 -1
  46. package/dist/src/cohort-topic/topic-router.js +12 -2
  47. package/dist/src/cohort-topic/topic-router.js.map +1 -1
  48. package/dist/src/dispute/client.d.ts.map +1 -1
  49. package/dist/src/dispute/client.js +15 -3
  50. package/dist/src/dispute/client.js.map +1 -1
  51. package/dist/src/index.d.ts +5 -0
  52. package/dist/src/index.d.ts.map +1 -1
  53. package/dist/src/index.js +5 -0
  54. package/dist/src/index.js.map +1 -1
  55. package/dist/src/libp2p-key-network.d.ts +78 -17
  56. package/dist/src/libp2p-key-network.d.ts.map +1 -1
  57. package/dist/src/libp2p-key-network.js +241 -147
  58. package/dist/src/libp2p-key-network.js.map +1 -1
  59. package/dist/src/libp2p-node-base.d.ts +35 -1
  60. package/dist/src/libp2p-node-base.d.ts.map +1 -1
  61. package/dist/src/libp2p-node-base.js +151 -26
  62. package/dist/src/libp2p-node-base.js.map +1 -1
  63. package/dist/src/libp2p-node-rn.d.ts +2 -2
  64. package/dist/src/libp2p-node-rn.d.ts.map +1 -1
  65. package/dist/src/libp2p-node-rn.js.map +1 -1
  66. package/dist/src/libp2p-node.d.ts +2 -2
  67. package/dist/src/libp2p-node.d.ts.map +1 -1
  68. package/dist/src/libp2p-node.js.map +1 -1
  69. package/dist/src/logger.d.ts.map +1 -1
  70. package/dist/src/logger.js +19 -7
  71. package/dist/src/logger.js.map +1 -1
  72. package/dist/src/matchmaking/query-transport.d.ts +3 -4
  73. package/dist/src/matchmaking/query-transport.d.ts.map +1 -1
  74. package/dist/src/matchmaking/query-transport.js +9 -9
  75. package/dist/src/matchmaking/query-transport.js.map +1 -1
  76. package/dist/src/network/network-manager-service.d.ts +10 -5
  77. package/dist/src/network/network-manager-service.d.ts.map +1 -1
  78. package/dist/src/network/network-manager-service.js +11 -2
  79. package/dist/src/network/network-manager-service.js.map +1 -1
  80. package/dist/src/network/relay-reservation.d.ts +170 -0
  81. package/dist/src/network/relay-reservation.d.ts.map +1 -0
  82. package/dist/src/network/relay-reservation.js +527 -0
  83. package/dist/src/network/relay-reservation.js.map +1 -0
  84. package/dist/src/pend-validation.d.ts +3 -2
  85. package/dist/src/pend-validation.d.ts.map +1 -1
  86. package/dist/src/pend-validation.js +3 -2
  87. package/dist/src/pend-validation.js.map +1 -1
  88. package/dist/src/protocol-client.d.ts +8 -1
  89. package/dist/src/protocol-client.d.ts.map +1 -1
  90. package/dist/src/protocol-client.js +11 -0
  91. package/dist/src/protocol-client.js.map +1 -1
  92. package/dist/src/reactivity/forwarder-host.d.ts +2 -1
  93. package/dist/src/reactivity/forwarder-host.d.ts.map +1 -1
  94. package/dist/src/reactivity/forwarder-host.js +2 -1
  95. package/dist/src/reactivity/forwarder-host.js.map +1 -1
  96. package/dist/src/reactivity/origination-manager.d.ts +3 -3
  97. package/dist/src/reactivity/origination-manager.js +3 -3
  98. package/dist/src/reactivity/recover-transport.d.ts +22 -14
  99. package/dist/src/reactivity/recover-transport.d.ts.map +1 -1
  100. package/dist/src/reactivity/recover-transport.js +32 -19
  101. package/dist/src/reactivity/recover-transport.js.map +1 -1
  102. package/dist/src/reactivity/subscription-manager.d.ts +2 -2
  103. package/dist/src/reactivity/topic-bytes.d.ts +6 -7
  104. package/dist/src/reactivity/topic-bytes.d.ts.map +1 -1
  105. package/dist/src/reactivity/topic-bytes.js +8 -9
  106. package/dist/src/reactivity/topic-bytes.js.map +1 -1
  107. package/dist/src/repo/client.d.ts +5 -2
  108. package/dist/src/repo/client.d.ts.map +1 -1
  109. package/dist/src/repo/client.js +49 -40
  110. package/dist/src/repo/client.js.map +1 -1
  111. package/dist/src/repo/cluster-coordinator.d.ts +119 -5
  112. package/dist/src/repo/cluster-coordinator.d.ts.map +1 -1
  113. package/dist/src/repo/cluster-coordinator.js +181 -29
  114. package/dist/src/repo/cluster-coordinator.js.map +1 -1
  115. package/dist/src/repo/coordinator-repo.d.ts +259 -76
  116. package/dist/src/repo/coordinator-repo.d.ts.map +1 -1
  117. package/dist/src/repo/coordinator-repo.js +716 -328
  118. package/dist/src/repo/coordinator-repo.js.map +1 -1
  119. package/dist/src/repo/i-under-replication-ledger.d.ts +87 -0
  120. package/dist/src/repo/i-under-replication-ledger.d.ts.map +1 -0
  121. package/dist/src/repo/i-under-replication-ledger.js +2 -0
  122. package/dist/src/repo/i-under-replication-ledger.js.map +1 -0
  123. package/dist/src/repo/kv-under-replication-ledger.d.ts +91 -0
  124. package/dist/src/repo/kv-under-replication-ledger.d.ts.map +1 -0
  125. package/dist/src/repo/kv-under-replication-ledger.js +287 -0
  126. package/dist/src/repo/kv-under-replication-ledger.js.map +1 -0
  127. package/dist/src/repo/responsibility.d.ts +37 -0
  128. package/dist/src/repo/responsibility.d.ts.map +1 -0
  129. package/dist/src/repo/responsibility.js +37 -0
  130. package/dist/src/repo/responsibility.js.map +1 -0
  131. package/dist/src/repo/service.d.ts +44 -15
  132. package/dist/src/repo/service.d.ts.map +1 -1
  133. package/dist/src/repo/service.js +64 -27
  134. package/dist/src/repo/service.js.map +1 -1
  135. package/dist/src/repo/stuck-reservation.d.ts +127 -0
  136. package/dist/src/repo/stuck-reservation.d.ts.map +1 -0
  137. package/dist/src/repo/stuck-reservation.js +179 -0
  138. package/dist/src/repo/stuck-reservation.js.map +1 -0
  139. package/dist/src/repo/under-replication-drain.d.ts +208 -0
  140. package/dist/src/repo/under-replication-drain.d.ts.map +1 -0
  141. package/dist/src/repo/under-replication-drain.js +461 -0
  142. package/dist/src/repo/under-replication-drain.js.map +1 -0
  143. package/dist/src/rn.d.ts +5 -0
  144. package/dist/src/rn.d.ts.map +1 -1
  145. package/dist/src/rn.js +5 -0
  146. package/dist/src/rn.js.map +1 -1
  147. package/dist/src/storage/block-latch.d.ts +3 -2
  148. package/dist/src/storage/block-latch.d.ts.map +1 -1
  149. package/dist/src/storage/block-latch.js +7 -4
  150. package/dist/src/storage/block-latch.js.map +1 -1
  151. package/dist/src/storage/block-storage.d.ts +45 -3
  152. package/dist/src/storage/block-storage.d.ts.map +1 -1
  153. package/dist/src/storage/block-storage.js +156 -9
  154. package/dist/src/storage/block-storage.js.map +1 -1
  155. package/dist/src/storage/i-block-storage.d.ts +57 -5
  156. package/dist/src/storage/i-block-storage.d.ts.map +1 -1
  157. package/dist/src/storage/i-block-storage.js.map +1 -1
  158. package/dist/src/storage/pending-claim.d.ts +167 -0
  159. package/dist/src/storage/pending-claim.d.ts.map +1 -0
  160. package/dist/src/storage/pending-claim.js +156 -0
  161. package/dist/src/storage/pending-claim.js.map +1 -0
  162. package/dist/src/storage/raw-store-codec.d.ts +13 -0
  163. package/dist/src/storage/raw-store-codec.d.ts.map +1 -1
  164. package/dist/src/storage/raw-store-codec.js +24 -3
  165. package/dist/src/storage/raw-store-codec.js.map +1 -1
  166. package/dist/src/storage/restoration-coordinator.d.ts.map +1 -1
  167. package/dist/src/storage/restoration-coordinator.js +2 -1
  168. package/dist/src/storage/restoration-coordinator.js.map +1 -1
  169. package/dist/src/storage/ring-shift-coordinator.d.ts.map +1 -1
  170. package/dist/src/storage/ring-shift-coordinator.js +3 -3
  171. package/dist/src/storage/ring-shift-coordinator.js.map +1 -1
  172. package/dist/src/storage/storage-repo.d.ts +137 -5
  173. package/dist/src/storage/storage-repo.d.ts.map +1 -1
  174. package/dist/src/storage/storage-repo.js +273 -68
  175. package/dist/src/storage/storage-repo.js.map +1 -1
  176. package/dist/src/storage/struct.d.ts +58 -0
  177. package/dist/src/storage/struct.d.ts.map +1 -1
  178. package/dist/src/testing/mesh-harness.d.ts +92 -11
  179. package/dist/src/testing/mesh-harness.d.ts.map +1 -1
  180. package/dist/src/testing/mesh-harness.js +246 -103
  181. package/dist/src/testing/mesh-harness.js.map +1 -1
  182. package/package.json +2 -2
  183. package/readme.md +27 -3
  184. package/src/cluster/block-transfer-service.ts +132 -4
  185. package/src/cluster/block-transfer.ts +79 -84
  186. package/src/cluster/client.ts +115 -119
  187. package/src/cluster/cluster-policy.ts +2 -1
  188. package/src/cluster/cluster-repo.ts +3115 -2671
  189. package/src/cluster/commit-proof.ts +2 -2
  190. package/src/cluster/race-resolution.ts +76 -7
  191. package/src/cluster/rebalance-monitor.ts +677 -539
  192. package/src/cluster/spread-on-churn.ts +34 -54
  193. package/src/cohort-topic/host.ts +8 -6
  194. package/src/cohort-topic/membership-source.ts +1 -1
  195. package/src/cohort-topic/peer-codec.ts +34 -31
  196. package/src/cohort-topic/stream-util.ts +39 -4
  197. package/src/cohort-topic/topic-router.ts +12 -2
  198. package/src/dispute/client.ts +17 -7
  199. package/src/index.ts +64 -59
  200. package/src/libp2p-key-network.ts +1377 -1253
  201. package/src/libp2p-node-base.ts +186 -27
  202. package/src/libp2p-node-rn.ts +31 -30
  203. package/src/libp2p-node.ts +37 -36
  204. package/src/logger.ts +20 -7
  205. package/src/matchmaking/query-transport.ts +9 -9
  206. package/src/network/network-manager-service.ts +16 -5
  207. package/src/network/relay-reservation.ts +636 -0
  208. package/src/pend-validation.ts +3 -2
  209. package/src/protocol-client.ts +13 -1
  210. package/src/reactivity/forwarder-host.ts +2 -1
  211. package/src/reactivity/origination-manager.ts +3 -3
  212. package/src/reactivity/recover-transport.ts +39 -22
  213. package/src/reactivity/subscription-manager.ts +2 -2
  214. package/src/reactivity/topic-bytes.ts +35 -37
  215. package/src/repo/client.ts +172 -173
  216. package/src/repo/cluster-coordinator.ts +1296 -1113
  217. package/src/repo/coordinator-repo.ts +3087 -2687
  218. package/src/repo/i-under-replication-ledger.ts +89 -0
  219. package/src/repo/kv-under-replication-ledger.ts +302 -0
  220. package/src/repo/responsibility.ts +48 -0
  221. package/src/repo/service.ts +76 -39
  222. package/src/repo/stuck-reservation.ts +224 -0
  223. package/src/repo/under-replication-drain.ts +582 -0
  224. package/src/rn.ts +74 -69
  225. package/src/storage/block-latch.ts +7 -4
  226. package/src/storage/block-storage.ts +161 -10
  227. package/src/storage/i-block-storage.ts +60 -5
  228. package/src/storage/pending-claim.ts +200 -0
  229. package/src/storage/raw-store-codec.ts +26 -3
  230. package/src/storage/restoration-coordinator.ts +212 -211
  231. package/src/storage/ring-shift-coordinator.ts +271 -271
  232. package/src/storage/storage-repo.ts +311 -73
  233. package/src/storage/struct.ts +58 -0
  234. package/src/testing/mesh-harness.ts +329 -115
@@ -1,4 +1,4 @@
1
- import { blockIdToBytes, blockIdsForTransforms } from '@optimystic/db-core';
1
+ import { blockIdsForTransforms } from '@optimystic/db-core';
2
2
  import { ProtocolClient } from '../protocol-client.js';
3
3
  import { peerIdFromString } from '@libp2p/peer-id';
4
4
  import { isClusterErrorEnvelope, clusterErrorFromEnvelope } from './cluster-error.js';
@@ -55,7 +55,7 @@ export class ClusterClient extends ProtocolClient {
55
55
  // notice we get that this peer matters, and if it is relay-only we have no address
56
56
  // for it at all. Merging after the dial would help only some later hop.
57
57
  this.peerNetwork.recordPeerAddresses?.(nextId, next.addrs ?? []);
58
- await this.recordCoordinatorForRecordIfSupported(record, nextId);
58
+ this.recordCoordinatorForRecordIfSupported(record, nextId);
59
59
  const nextClient = ClusterClient.create(nextId, this.peerNetwork, this.protocolPrefix);
60
60
  // Thread the caller's *original* options through the redirect hop (the
61
61
  // recursive call re-applies its own defaults) so the deadline survives a redirect.
@@ -91,14 +91,12 @@ export class ClusterClient extends ProtocolClient {
91
91
  * Reading `record.message.commit`/`.pend` (the old code) always saw
92
92
  * `undefined`, so this hint was dead code and never recorded anything.
93
93
  *
94
- * The key is `blockIdToBytes(<the coordinated block id>)` — the sha256 digest
95
- * findCoordinator/recordCoordinator key the cache on NOT raw utf8 of the id
96
- * (which would never be retrieved). Commit anchors on blockIds[0] (where
97
- * CoordinatorRepo runs consensus + verifyResponsibility), not tailId. Pend
98
- * anchors on a real block id (blockIdsForTransforms), not a structural
99
- * transforms field name. ClusterClient only ever carries commit/pend.
94
+ * Commit anchors on blockIds[0] (where CoordinatorRepo runs consensus +
95
+ * verifyResponsibility), not tailId. Pend anchors on a real block id
96
+ * (blockIdsForTransforms), not a structural transforms field name.
97
+ * ClusterClient only ever carries commit/pend.
100
98
  */
101
- async recordCoordinatorForRecordIfSupported(record, peerId) {
99
+ recordCoordinatorForRecordIfSupported(record, peerId) {
102
100
  const op = record.message.operations[0];
103
101
  if (!op)
104
102
  return;
@@ -109,10 +107,7 @@ export class ClusterClient extends ProtocolClient {
109
107
  id = blockIdsForTransforms(op.pend.transforms)[0];
110
108
  if (id == null)
111
109
  return;
112
- const kbytes = await blockIdToBytes(id);
113
- const pn = this.peerNetwork;
114
- if (typeof pn?.recordCoordinator === 'function')
115
- pn.recordCoordinator(kbytes, peerId);
110
+ this.recordCoordinatorHint(id, peerId);
116
111
  }
117
112
  }
118
113
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/cluster/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,uBAAuB,EAA2B,MAAM,oBAAoB,CAAC;AACtF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElE,MAAM,GAAG,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAE3C,MAAM,OAAO,aAAc,SAAQ,cAAc;IACwB;IAAxE,YAAoB,MAAc,EAAE,WAAyB,EAAW,cAAuB;QAC9F,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAD4C,mBAAc,GAAd,cAAc,CAAS;IAE/F,CAAC;IAED,mCAAmC;IAC5B,MAAM,CAAC,MAAM,CAAC,MAAc,EAAE,WAAyB,EAAE,cAAuB;QACtF,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAqB,EAAE,MAAc,CAAC,EAAE,OAA4B;QAChF,MAAM,OAAO,GAAG;YACf,SAAS,EAAE,QAAQ;YACnB,MAAM;SACN,CAAC;QACF,sEAAsE;QACtE,gEAAgE;QAChE,qEAAqE;QACrE,uEAAuE;QACvE,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,SAAS,CAAC,GAAG,gBAAgB,CAAC;QACvE,yEAAyE;QACzE,wEAAwE;QACxE,sFAAsF;QACtF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAU,OAAO,EAAE,QAAQ,EAAE,EAAE,GAAG,uBAAuB,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,yBAAyB,EAAE,CAAC,CAAC;QAE1J,sEAAsE;QACtE,sEAAsE;QACtE,uEAAuE;QACvE,IAAI,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,MAAM,wBAAwB,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QAED,6EAA6E;QAC7E,oFAAoF;QACpF,2FAA2F;QAC3F,MAAM,gBAAgB,GAAG,QAAoC,CAAC;QAC9D,IAAI,gBAAgB,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC/C,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;YAC9E,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;YAC3C,MAAM,IAAI,GAAG,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,YAAY,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,CAAA;YACtH,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACxC,IAAI,IAAI,CAAC,EAAE,KAAK,YAAY,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;YACvE,CAAC;YACD,oFAAoF;YACpF,mFAAmF;YACnF,wEAAwE;YACxE,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;YAChE,MAAM,IAAI,CAAC,qCAAqC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YAChE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,CAAA;YACtF,uEAAuE;YACvE,mFAAmF;YACnF,OAAO,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,OAAO,CAAC,CAAA;QACzD,CAAC;QACD,MAAM,OAAO,GAAG,QAAyB,CAAC;QAC1C,uFAAuF;QACvF,4FAA4F;QAC5F,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAA;QACvC,OAAO,OAAO,CAAC;IAChB,CAAC;IAED;;;;;;;;OAQG;IACK,yBAAyB,CAAC,MAAqB;QACtD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAA;QACjD,IAAI,CAAC,IAAI;YAAE,OAAM;QACjB,wBAAwB,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;IACtG,CAAC;IAEA;;;;;;;;;;;;;;;OAeG;IACK,KAAK,CAAC,qCAAqC,CAAC,MAAqB,EAAE,MAAc;QACvF,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QACvC,IAAI,CAAC,EAAE;YAAE,OAAM;QACf,IAAI,EAAsB,CAAA;QAC1B,IAAI,QAAQ,IAAI,EAAE;YAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;aACzC,IAAI,MAAM,IAAI,EAAE;YAAE,EAAE,GAAG,qBAAqB,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;QACxE,IAAI,EAAE,IAAI,IAAI;YAAE,OAAM;QACtB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,EAAE,CAAC,CAAA;QACvC,MAAM,EAAE,GAAQ,IAAI,CAAC,WAAkB,CAAA;QACvC,IAAI,OAAO,EAAE,EAAE,iBAAiB,KAAK,UAAU;YAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACvF,CAAC;CACF"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/cluster/client.ts"],"names":[],"mappings":"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"}
@@ -142,7 +142,8 @@ export interface ClusterPolicyOptions {
142
142
  repairCorroborationClusterSize?: number;
143
143
  /**
144
144
  * What a validator-configured member does with a pend that carries no `validation` payload
145
- * (nothing to re-execute — the single-collection `Collection.sync` shape). Default 'accept';
145
+ * (nothing to re-execute — a single-collection `Collection.sync` pend, or the Quereus
146
+ * adapter's legacy multi-tree commit, which pends through an unvalidated coordinator). Default 'accept';
146
147
  * see {@link UnvalidatablePendPolicy}.
147
148
  */
148
149
  unvalidatablePendPolicy?: UnvalidatablePendPolicy;
@@ -1 +1 @@
1
- {"version":3,"file":"cluster-policy.d.ts","sourceRoot":"","sources":["../../../src/cluster/cluster-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,sBAAsB,EAAE,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAMlI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACpC;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE;QACf,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,0DAA0D;QAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,sGAAsG;QACtG,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC;;;;;WAKG;QACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;QACvC;;;;;;;;;;;WAWG;QACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B;;;;;;;;;;;;;;;;;;;;;;;;;WAyBG;QACH,8BAA8B,CAAC,EAAE,MAAM,CAAC;QACxC;;;;WAIG;QACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;KAClD,CAAC;CACF;AAED,kGAAkG;AAClG,MAAM,MAAM,qBAAqB,GAAG,sBAAsB,GAAG;IAC5D,oFAAoF;IACpF,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;;OAQG;IACH,8BAA8B,EAAE,MAAM,CAAC;CACvC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAE5E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,qCAAqC,CACpD,kBAAkB,EAAE,MAAM,GAAG,SAAS,EACtC,kBAAkB,EAAE,MAAM,GAAG,SAAS,EACtC,WAAW,EAAE,MAAM,GACjB,MAAM,CAER;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,qBAAqB,CA+NzF"}
1
+ {"version":3,"file":"cluster-policy.d.ts","sourceRoot":"","sources":["../../../src/cluster/cluster-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,sBAAsB,EAAE,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAMlI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACpC;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE;QACf,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,0DAA0D;QAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,sGAAsG;QACtG,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC;;;;;WAKG;QACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;QACvC;;;;;;;;;;;WAWG;QACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B;;;;;;;;;;;;;;;;;;;;;;;;;WAyBG;QACH,8BAA8B,CAAC,EAAE,MAAM,CAAC;QACxC;;;;;WAKG;QACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;KAClD,CAAC;CACF;AAED,kGAAkG;AAClG,MAAM,MAAM,qBAAqB,GAAG,sBAAsB,GAAG;IAC5D,oFAAoF;IACpF,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;;OAQG;IACH,8BAA8B,EAAE,MAAM,CAAC;CACvC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAE5E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,qCAAqC,CACpD,kBAAkB,EAAE,MAAM,GAAG,SAAS,EACtC,kBAAkB,EAAE,MAAM,GAAG,SAAS,EACtC,WAAW,EAAE,MAAM,GACjB,MAAM,CAER;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,GAAG,qBAAqB,CA+NzF"}
@@ -1 +1 @@
1
- {"version":3,"file":"cluster-policy.js","sourceRoot":"","sources":["../../../src/cluster/cluster-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cluster-policy.js","sourceRoot":"","sources":["../../../src/cluster/cluster-policy.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import type { FretService } from "p2p-fret";
8
8
  import type { IPeerReputation } from "../reputation/types.js";
9
9
  import type { ITransactionStateStore } from "./i-transaction-state-store.js";
10
10
  import { type BlockCommitProof } from "./commit-proof.js";
11
+ import type { CommittedHolders } from "./rebalance-monitor.js";
11
12
  /**
12
13
  * Actively reconciles a block this member committed without having seen the matching
13
14
  * pend (cohort drift between the independent pend and commit cluster-transactions).
@@ -29,6 +30,14 @@ export type ReconcileBlockCallback = (blockId: BlockId, committed: ActionRev, co
29
30
  * isolated + logged (it must never break consensus).
30
31
  */
31
32
  export type CommitCertificateSink = (actionId: ActionId, cert: CommitCert) => void;
33
+ /**
34
+ * Sink for who is known to hold a commit this node's own storage durably holds — fed to the rebalance
35
+ * monitor so it does not push freshly committed blocks back to the members that stored them (see
36
+ * `RebalanceMonitor.recordCommittedHolders`). Fired by the member after applying a consensus commit,
37
+ * and by `CoordinatorRepo.commit` when it acknowledges one. Optional; a throwing sink is isolated +
38
+ * logged (it must never break consensus or the writer's answer).
39
+ */
40
+ export type CommittedHoldersSink = (committed: CommittedHolders) => void;
32
41
  /**
33
42
  * Applies a consensus-ordered {@link InvalidateRequest} to local storage — the deterministic
34
43
  * reversal every member runs once consensus on the invalidation is reached. The implementation
@@ -88,6 +97,13 @@ export declare const MEMBERSHIP_NOT_ADMITTED = "membership-not-admitted";
88
97
  * so the rejection itself is integrity-protected.
89
98
  */
90
99
  export declare const CONTENT_DIGEST_MISMATCH = "content-digest-mismatch";
100
+ /**
101
+ * Stable reject reason a member emits when a commit declares, for a block, a base revision
102
+ * (`CommitRequest.blockDigests[id].baseRev`) other than the one the same action's pend carried to
103
+ * this member (`PendRequest.baseRevs`, kept with the pending record) — see
104
+ * `ClusterMember.validateCommitBaseDeclarations`. Signed like its sibling above.
105
+ */
106
+ export declare const BASE_DECLARATION_DISAGREES = "base-declaration-disagrees";
91
107
  /**
92
108
  * The two stable reject reasons a validator-configured member emits from the shared
93
109
  * {@link checkPendValidation}: `PEND_NOT_VALIDATABLE` for a pend carrying no `validation` payload
@@ -112,6 +128,8 @@ interface ClusterMemberComponents {
112
128
  reconcileBlock?: ReconcileBlockCallback;
113
129
  /** Receives the consensus commit cert per committed action; see {@link CommitCertificateSink}. */
114
130
  onCommitCertificate?: CommitCertificateSink;
131
+ /** Receives who holds each consensus commit this member durably applied; see {@link CommittedHoldersSink}. */
132
+ onCommittedHolders?: CommittedHoldersSink;
115
133
  /** Applies a consensus-ordered invalidation to local storage; see {@link InvalidationApplySink}. */
116
134
  onInvalidate?: InvalidationApplySink;
117
135
  /** Layer-2 arbitrator-set recompute for invalidation verification; see {@link RecomputeArbitratorSetCapability}. */
@@ -159,12 +177,21 @@ export declare class ClusterMember implements ICluster {
159
177
  private readonly onInvalidate?;
160
178
  private readonly recomputeArbitratorSet?;
161
179
  private readonly deriveExpectedCluster?;
180
+ private readonly onCommittedHolders?;
162
181
  private activeTransactions;
163
182
  private executedTransactions;
164
183
  private executedPendResults;
165
184
  private executedCommitResults;
166
185
  private refusedPendActions;
167
186
  private appliedInvalidations;
187
+ /**
188
+ * Per block, what this member's own `held` votes have added up to — the member-side instance of
189
+ * the counter `CoordinatorRepo.noteStuckReservation` keeps from the coordinator's vantage. Fed by
190
+ * every `held` verdict {@link validatePendOperations} casts, so a reservation only THIS member
191
+ * holds (one the coordinator's storage cannot corroborate) is still named, once, where the record
192
+ * lives. Forgotten for a block the moment a vote finds it no longer reserved.
193
+ */
194
+ private readonly stuckReservations;
168
195
  private cleanupQueue;
169
196
  private pendingUpdates;
170
197
  private readonly expirationInterval;
@@ -193,7 +220,7 @@ export declare class ClusterMember implements ICluster {
193
220
  private readonly unvalidatablePendPolicy;
194
221
  /** Clock behind the reservation table's `lastUpdate` — see {@link ClusterMemberComponents.now}. */
195
222
  private readonly now;
196
- constructor(storageRepo: IRepo, peerNetwork: IPeerNetwork, peerId: PeerId, privateKey: PrivateKey, protocolPrefix?: string | undefined, _partitionDetector?: PartitionDetector, fretService?: FretService | undefined, validator?: ITransactionValidator | undefined, reputation?: IPeerReputation | undefined, consensusConfig?: ClusterConsensusConfig, stateStore?: ITransactionStateStore | undefined, reconcileBlock?: ReconcileBlockCallback | undefined, onCommitCertificate?: CommitCertificateSink | undefined, onInvalidate?: InvalidationApplySink | undefined, recomputeArbitratorSet?: RecomputeArbitratorSetCapability | undefined, deriveExpectedCluster?: DeriveExpectedClusterCallback | undefined, now?: () => number);
223
+ constructor(storageRepo: IRepo, peerNetwork: IPeerNetwork, peerId: PeerId, privateKey: PrivateKey, protocolPrefix?: string | undefined, _partitionDetector?: PartitionDetector, fretService?: FretService | undefined, validator?: ITransactionValidator | undefined, reputation?: IPeerReputation | undefined, consensusConfig?: ClusterConsensusConfig, stateStore?: ITransactionStateStore | undefined, reconcileBlock?: ReconcileBlockCallback | undefined, onCommitCertificate?: CommitCertificateSink | undefined, onInvalidate?: InvalidationApplySink | undefined, recomputeArbitratorSet?: RecomputeArbitratorSetCapability | undefined, deriveExpectedCluster?: DeriveExpectedClusterCallback | undefined, now?: () => number, onCommittedHolders?: CommittedHoldersSink | undefined);
197
224
  /**
198
225
  * The resolved super-majority threshold this member runs on. Exposed so the composition root can
199
226
  * fail-fast if the member and the coordinator would run different thresholds (see the coupling
@@ -223,13 +250,15 @@ export declare class ClusterMember implements ICluster {
223
250
  */
224
251
  getExecutedPendResult(messageHash: string): PendResult | undefined;
225
252
  /**
226
- * Commit-shaped sibling of {@link getExecutedPendResult}: local storage's verdict for a commit
227
- * operation applied during consensus, when this member retained one. `CoordinatorRepo.commit`
228
- * consults it after a locally-executed commit-consensus a retained refusal whose cause a local
229
- * re-read confirms as a rival holding the requested revision is returned to the writer as a
230
- * retryable conflict instead of the fabricated success the ahead-divergence tolerance would
231
- * otherwise imply. Same availability caveats as the pend accessor: in-memory only, absent for
232
- * pre-restart applies, pruned on the executed-transaction TTL.
253
+ * Commit-shaped sibling of {@link getExecutedPendResult}: this member's post-reconcile durable
254
+ * verdict for a commit operation applied during consensus, when it retained one `success: true`
255
+ * iff local storage holds the committed revision under the record's action for every block the
256
+ * commit named, after the apply and any behind-reconcile it triggered. `CoordinatorRepo.commit`
257
+ * reads it after a locally-executed commit-consensus, both as this node's own contribution to the
258
+ * durable-holder count its durability gate needs, and for a retained refusal whose cause a
259
+ * local re-read confirms as a rival holding the requested revision — as the trigger for a
260
+ * retryable conflict answer. Same availability caveats as the pend accessor: in-memory only,
261
+ * absent for pre-restart applies, pruned on the executed-transaction TTL.
233
262
  */
234
263
  getExecutedCommitResult(messageHash: string): CommitResult | undefined;
235
264
  /**
@@ -247,10 +276,12 @@ export declare class ClusterMember implements ICluster {
247
276
  update(record: ClusterRecord): Promise<ClusterRecord>;
248
277
  private processUpdate;
249
278
  /**
250
- * Add this member's own conflict-shaped pend verdict to a record's {@link ClusterRecord.applyOutcomes},
251
- * when storage produced one for this transaction. A success, a bare-reason fault, or no retained
252
- * verdict at all leaves the record untouched the coordinator's rule is "an entry means retry",
253
- * so an entry that does not mean retry must not exist.
279
+ * Add this member's own apply verdicts to a record's {@link ClusterRecord.applyOutcomes}, when
280
+ * storage produced any for this transaction. The two arms follow the rules on
281
+ * {@link MemberApplyOutcome}: the pend arm carries ONLY a conflict-shaped refusal (a success, a
282
+ * bare-reason fault, or no retained verdict leaves it off the coordinator's rule is "an entry
283
+ * means retry", so an entry that does not mean retry must not exist); the commit arm carries the
284
+ * retained durable verdict whatever it says, because the coordinator counts the successes.
254
285
  *
255
286
  * The member never signs this and never writes another peer's entry.
256
287
  */
@@ -262,8 +293,9 @@ export declare class ClusterMember implements ICluster {
262
293
  private mergeRecords;
263
294
  /**
264
295
  * Compares existing vs incoming signatures for the same peers.
265
- * If a peer's vote type changed (approve↔reject), that's equivocation:
266
- * report a penalty and keep the first-seen signature.
296
+ * ANY change of vote type is equivocation — the comparison is over `Signature['type']`, so it
297
+ * covers every kind without enumerating them (a new kind joins the check by existing): report a
298
+ * penalty and keep the first-seen signature.
267
299
  * New peers are accepted normally.
268
300
  */
269
301
  private detectEquivocation;
@@ -302,6 +334,13 @@ export declare class ClusterMember implements ICluster {
302
334
  private getTransactionPhase;
303
335
  private hasMajority;
304
336
  private handlePromiseNeeded;
337
+ /**
338
+ * Turn a {@link PromiseVerdict} into this member's signed promise vote — one vote kind per refusal
339
+ * kind. The single place the mapping lives, so a new refusal kind cannot reach the wire as the
340
+ * wrong vote: the coordinator's thresholds read only `Signature.type`, and until `held` existed the
341
+ * transient refusal had nowhere to go but `reject`.
342
+ */
343
+ private signPromiseVerdict;
305
344
  /**
306
345
  * Answer a record that lost the deterministic race to a transaction this member already holds
307
346
  * (`docs/correctness.md` Theorems 1 & 9: the loser is TOLD it lost, not ignored — an unanswered
@@ -314,8 +353,10 @@ export declare class ClusterMember implements ICluster {
314
353
  private handleConflictVoteNeeded;
315
354
  /**
316
355
  * The full promise-phase decision for a record: admit the declared membership FIRST, then (only if
317
- * admitted) validate its pend operations, then its commit operations. Failing any yields a
318
- * `{ valid:false, reason }` the caller turns into a `reject` vote. Keeping the three separate keeps
356
+ * admitted) validate its pend operations, then its commit operations. Failing any yields a refusal
357
+ * the caller turns into a vote — a `reject` for every validity judgement here, and a `held` for the
358
+ * one transient refusal {@link validatePendOperations} can make (see {@link PromiseVerdict}).
359
+ * Keeping the checks separate keeps
319
360
  * the reason strings distinct — a `membership-not-admitted` reject is a different signal (feeds the
320
361
  * dispute path) than a stale-revision / custom-validator reject, which is different again from a
321
362
  * `content-digest-mismatch` (see {@link validateCommitOperations}). A record carries pend OR commit
@@ -395,11 +436,47 @@ export declare class ClusterMember implements ICluster {
395
436
  private static symmetricDifferenceSize;
396
437
  /**
397
438
  * Validates pend operations in a cluster record using the transaction validator.
398
- * Also checks for stale revisions, and for blocks held by a different unresolved pending
439
+ * Also checks for stale revisions, and for blocks RESERVED by a different unresolved pending
399
440
  * action, to prevent consensus on operations that storage would refuse at apply.
400
441
  * Returns success if no validator is configured (backwards compatibility).
442
+ *
443
+ * Every refusal here is a validity judgement EXCEPT the pending-conflict one, which is transient by
444
+ * construction and returns the `held` kind — see {@link PromiseVerdict}. Transient means the
445
+ * reservation it answers is one its holder is still going to commit or cancel: a record claiming
446
+ * the slot this pend wants, or a later one. A record claiming a slot the collection has already
447
+ * moved past is NOT a reservation against this pend and is not refused on — see
448
+ * {@link reservingRivals} — because its holder is never going to remove it: the holder either
449
+ * committed at that slot on the rest of the cohort (this member missed the commit) or lost the
450
+ * slot, and in both cases the record would otherwise refuse every later write to the block, from
451
+ * every writer, for as long as this member lives.
401
452
  */
402
453
  private validatePendOperations;
454
+ /**
455
+ * Of the rival pending records `get` listed on `blockId`, the ones that RESERVE the block against
456
+ * `pendRequest` — see `isReservationAgainst` for the rule, fed the pend's revision and the base it
457
+ * declares for this block (`reservationRequestFor`, the same reading storage applies at apply).
458
+ * Asks storage's {@link IPendingClaimReader} for the slot each record claims; a repo without that
459
+ * capability (a plain `IRepo` mock) or a read that fails degrades to "every rival reserves", which
460
+ * is the refusal this member cast before claims were recorded — never to silently admitting one. A
461
+ * rival that `get` listed but that is gone by the time the claims are read has resolved in
462
+ * between, and is not a rival any more.
463
+ */
464
+ private reservingRivals;
465
+ /** `pendRequest`'s {@link ReservationRequest} for `blockId`, logging a base the rule cannot read —
466
+ * never a refusal: `baseRevs` is untrusted wire data, and a malformed entry only drops that block
467
+ * back to the revision rule. The base is read only when `record`'s cohort can reach its promise
468
+ * super-majority without one of its members (`cohortCanMissAPend`); in a cohort that needs every
469
+ * member, a stray record on one member (a cancel that never reached it) would otherwise refuse
470
+ * every later writer for good, and no member can have missed the pend the base arm guards against. */
471
+ private reservationRequestOf;
472
+ /**
473
+ * Feed this member's own `held` vote to its {@link stuckReservations} counter and say, once per
474
+ * episode and in words, when a block is wedged behind a reservation that is not going to clear —
475
+ * the member-side twin of `CoordinatorRepo.noteStuckReservation`, for the reservations that
476
+ * node cannot corroborate from its own storage. `peerId` is carried because this logger is not
477
+ * suffixed with one and several members can share a process.
478
+ */
479
+ private nameStuckReservation;
403
480
  /**
404
481
  * Promise-round check that a commit record's requested revision is not already committed HERE
405
482
  * under a different action. This is the member-side arm that keeps a DEAD rival's re-broadcast
@@ -491,6 +568,43 @@ export declare class ClusterMember implements ICluster {
491
568
  * it, or `undefined` for "no longer corroborated — abstain" (which a read fault also yields).
492
569
  */
493
570
  private refusedPendConflictsWithLocalState;
571
+ /**
572
+ * Promise-round check that a commit declares, for each block, the base revision the same action's
573
+ * PEND carried to this member. The author says the base twice — `PendRequest.baseRevs[id]`, kept
574
+ * with this member's pending record as `PendingClaim.baseRev`, and
575
+ * `CommitRequest.blockDigests[id].baseRev` — and an honest author says the same thing both times
576
+ * (`Tracker` pins the base at staging; the pend and the digest both read that pin). When they
577
+ * differ, this member's record holds operations computed against a base other than the one the
578
+ * commit is about to be applied as, so vote reject with {@link BASE_DECLARATION_DISAGREES}.
579
+ * `StorageRepo.internalCommit` refuses the same shape at apply (`guardCommitBase`); refusing here
580
+ * too puts a signed verdict on the record one round earlier, and when the cohort's records agree
581
+ * with each other but not with the commit (a writer whose commit contradicts its own pend) the
582
+ * whole cohort refuses at the vote, where the apply-time refusal alone would have every member
583
+ * refuse after consensus and reconcile against a revision nobody holds.
584
+ *
585
+ * Needs no preview, so it runs on a repo that can read one record's claim
586
+ * ({@link IPendingClaimReader}`.pendingClaimOf`) whether or not it can materialize. Abstains — votes
587
+ * as it would without the check — whenever it cannot compare: the commit declares nothing, an entry
588
+ * is surplus to `blockIds` or carries no numeric `baseRev` (untrusted wire data, same posture as the
589
+ * digest check), this member holds no record for the action on the block, the record carries no
590
+ * base (an inserted or deleted block, a base-less sender, or a record written before bases were
591
+ * kept), the read fails — or this member does not hold the declared base as its latest.
592
+ *
593
+ * That last abstain is what keeps an HONEST retry off this reject. The one disagreement an honest
594
+ * writer can meet here is a stale record from an earlier attempt of a retried action (same action
595
+ * id) meeting the retry's commit, when the retry's pend — which would have overwritten the record
596
+ * — never reached this member. Such a member is typically behind: it missed a pend, and the retry
597
+ * declares a base the rest of the cohort moved to. At three members one reject sinks the commit
598
+ * record (the default super-majority allows none), where abstaining lets the others commit and
599
+ * leaves this member to `guardCommitBase`, which refuses to apply the stale record and reconciles.
600
+ * When this member's latest IS the declared base, the stale operations are exactly what it would
601
+ * apply over it, and the digest check below rejects the same shape whenever they materialize
602
+ * differently; rejecting here names the cause instead.
603
+ */
604
+ private validateCommitBaseDeclarations;
605
+ /** This member's own committed revision of `blockId` (raw storage, no cluster recursion), or
606
+ * `undefined` when it holds none or the read fails — a fault reads as "cannot judge". */
607
+ private latestRevOf;
494
608
  /**
495
609
  * Promise-round check of a commit record's declared content digests
496
610
  * (`CommitRequest.blockDigests`) against what this member's OWN pended copy of each transform
@@ -585,8 +699,39 @@ export declare class ClusterMember implements ICluster {
585
699
  * mid-commit `internalCommit` fault (`success:false` with a bare `reason`, no
586
700
  * `missing`) is propagated so {@link handleConsensus} rolls back the executed marker
587
701
  * and rethrows — exactly like an unexpected thrown fault.
702
+ *
703
+ * Tolerated is not the same as acknowledged. Whatever shape a commit's apply took, this
704
+ * member retains one post-reconcile durable verdict for it ({@link durableCommitVerdict}) and
705
+ * reports it to the coordinator, whose durability gate (`CoordinatorRepo.commit`) acknowledges
706
+ * the writer only when a majority of the cohort reports holding the revision.
588
707
  */
589
708
  private applyConsensusOperation;
709
+ /**
710
+ * Apply one consensus commit to local storage, tolerating every divergence shape the way the
711
+ * doc comment on {@link applyConsensusOperation} describes and reconciling the behind ones.
712
+ * Returns storage's own result — or, for the thrown missing-pend shape, which produces no
713
+ * `CommitResult` at all, a refusal built from the throw — so {@link durableCommitVerdict} works
714
+ * from one uniform shape. Genuine faults (a bare-reason returned failure, an unrecognized throw)
715
+ * propagate so {@link handleConsensus} rolls back the executed marker and rethrows.
716
+ */
717
+ private applyCommitToStorage;
718
+ /**
719
+ * The durable verdict for a consensus commit: `applied` itself when storage landed it (a
720
+ * success from `StorageRepo.commit` means every block is committed, or already was, under this
721
+ * action), otherwise a fresh look at what local storage holds NOW — after the reconcile the
722
+ * refusal triggered. Durable means every block in `commit.blockIds` records `commit.rev` under
723
+ * `commit.actionId`. A refusal that is not durable is returned as-is, so the coordinating node
724
+ * can still classify its own member's ahead-shaped refusal against a rival. A read fault counts
725
+ * as not durable: the gate this feeds fails toward retry.
726
+ */
727
+ private durableCommitVerdict;
728
+ /**
729
+ * True when local storage records `commit.rev` of `blockId` under `commit.actionId`. Read from
730
+ * the revision index (the {@link IRevisionActionReader} capability) so a member whose `latest` has
731
+ * since moved past the revision still counts as holding it; a repo without the capability is
732
+ * judged on `latest` alone.
733
+ */
734
+ private holdsCommittedRevision;
590
735
  /**
591
736
  * Applies a consensus-ordered invalidation on this member: dedup → certificate verification →
592
737
  * capture the invalidation's commit cert (for reactivity reuse) → delegate the compensating write +
@@ -611,6 +756,16 @@ export declare class ClusterMember implements ICluster {
611
756
  * it can never break consensus.
612
757
  */
613
758
  private captureCommitCert;
759
+ /**
760
+ * Tell the {@link CommittedHoldersSink} which cohort members hold a commit this member just
761
+ * durably applied. A member learns nothing about the others' storage at apply time, so the
762
+ * evidence is the record's approving commit signers: each is a cohort member that signed to apply
763
+ * this commit. A signer that then failed to apply is wrongly recorded, which only spares it a
764
+ * rebalance push; its own reconcile, read-repair, and — on the coordinating node — the
765
+ * coordinator's durability-checked report (which lands after this one and overrides it) still
766
+ * reach it.
767
+ */
768
+ private reportCommittedHolders;
614
769
  /**
615
770
  * After tolerating a "behind" commit divergence, pull the committed revision of
616
771
  * each block from a cohort peer that holds it and restore it locally. Best-effort:
@@ -1 +1 @@
1
- {"version":3,"file":"cluster-repo.d.ts","sourceRoot":"","sources":["../../../src/cluster/cluster-repo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cluster-repo.d.ts","sourceRoot":"","sources":["../../../src/cluster/cluster-repo.ts"],"names":[],"mappings":"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"}