@optimystic/db-p2p 0.16.3 → 0.18.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 (90) hide show
  1. package/dist/src/cluster/block-transfer-service.d.ts +14 -1
  2. package/dist/src/cluster/block-transfer-service.d.ts.map +1 -1
  3. package/dist/src/cluster/block-transfer-service.js +12 -3
  4. package/dist/src/cluster/block-transfer-service.js.map +1 -1
  5. package/dist/src/cluster/cluster-policy.d.ts +112 -0
  6. package/dist/src/cluster/cluster-policy.d.ts.map +1 -0
  7. package/dist/src/cluster/cluster-policy.js +88 -0
  8. package/dist/src/cluster/cluster-policy.js.map +1 -0
  9. package/dist/src/cluster/cluster-repo.d.ts +41 -13
  10. package/dist/src/cluster/cluster-repo.d.ts.map +1 -1
  11. package/dist/src/cluster/cluster-repo.js +116 -23
  12. package/dist/src/cluster/cluster-repo.js.map +1 -1
  13. package/dist/src/cluster/quorum-restore.d.ts +64 -14
  14. package/dist/src/cluster/quorum-restore.d.ts.map +1 -1
  15. package/dist/src/cluster/quorum-restore.js +0 -0
  16. package/dist/src/cluster/quorum-restore.js.map +1 -1
  17. package/dist/src/cluster/reconcile-block.d.ts +60 -0
  18. package/dist/src/cluster/reconcile-block.d.ts.map +1 -0
  19. package/dist/src/cluster/reconcile-block.js +133 -0
  20. package/dist/src/cluster/reconcile-block.js.map +1 -0
  21. package/dist/src/cluster/service.d.ts +4 -1
  22. package/dist/src/cluster/service.d.ts.map +1 -1
  23. package/dist/src/cluster/service.js +9 -1
  24. package/dist/src/cluster/service.js.map +1 -1
  25. package/dist/src/cluster/spread-on-churn.d.ts.map +1 -1
  26. package/dist/src/cluster/spread-on-churn.js +8 -0
  27. package/dist/src/cluster/spread-on-churn.js.map +1 -1
  28. package/dist/src/inbound-authorization.d.ts +117 -0
  29. package/dist/src/inbound-authorization.d.ts.map +1 -0
  30. package/dist/src/inbound-authorization.js +149 -0
  31. package/dist/src/inbound-authorization.js.map +1 -0
  32. package/dist/src/index.d.ts +1 -0
  33. package/dist/src/index.d.ts.map +1 -1
  34. package/dist/src/index.js +1 -0
  35. package/dist/src/index.js.map +1 -1
  36. package/dist/src/libp2p-key-network.d.ts +14 -0
  37. package/dist/src/libp2p-key-network.d.ts.map +1 -1
  38. package/dist/src/libp2p-key-network.js +54 -4
  39. package/dist/src/libp2p-key-network.js.map +1 -1
  40. package/dist/src/libp2p-node-base.d.ts +48 -7
  41. package/dist/src/libp2p-node-base.d.ts.map +1 -1
  42. package/dist/src/libp2p-node-base.js +61 -83
  43. package/dist/src/libp2p-node-base.js.map +1 -1
  44. package/dist/src/repo/cluster-coordinator.d.ts +21 -3
  45. package/dist/src/repo/cluster-coordinator.d.ts.map +1 -1
  46. package/dist/src/repo/cluster-coordinator.js +27 -5
  47. package/dist/src/repo/cluster-coordinator.js.map +1 -1
  48. package/dist/src/repo/coordinator-repo.d.ts +123 -16
  49. package/dist/src/repo/coordinator-repo.d.ts.map +1 -1
  50. package/dist/src/repo/coordinator-repo.js +354 -49
  51. package/dist/src/repo/coordinator-repo.js.map +1 -1
  52. package/dist/src/repo/service.d.ts +4 -1
  53. package/dist/src/repo/service.d.ts.map +1 -1
  54. package/dist/src/repo/service.js +9 -1
  55. package/dist/src/repo/service.js.map +1 -1
  56. package/dist/src/storage/block-storage.d.ts.map +1 -1
  57. package/dist/src/storage/block-storage.js +11 -0
  58. package/dist/src/storage/block-storage.js.map +1 -1
  59. package/dist/src/storage/storage-repo.d.ts +56 -0
  60. package/dist/src/storage/storage-repo.d.ts.map +1 -1
  61. package/dist/src/storage/storage-repo.js +155 -13
  62. package/dist/src/storage/storage-repo.js.map +1 -1
  63. package/dist/src/sync/service.d.ts +4 -7
  64. package/dist/src/sync/service.d.ts.map +1 -1
  65. package/dist/src/sync/service.js +13 -10
  66. package/dist/src/sync/service.js.map +1 -1
  67. package/dist/src/testing/mesh-harness.d.ts +10 -0
  68. package/dist/src/testing/mesh-harness.d.ts.map +1 -1
  69. package/dist/src/testing/mesh-harness.js +55 -49
  70. package/dist/src/testing/mesh-harness.js.map +1 -1
  71. package/package.json +2 -2
  72. package/{README.md → readme.md} +37 -0
  73. package/src/cluster/block-transfer-service.ts +20 -5
  74. package/src/cluster/cluster-policy.ts +152 -0
  75. package/src/cluster/cluster-repo.ts +121 -26
  76. package/src/cluster/quorum-restore.ts +0 -0
  77. package/src/cluster/reconcile-block.ts +191 -0
  78. package/src/cluster/service.ts +10 -3
  79. package/src/cluster/spread-on-churn.ts +8 -0
  80. package/src/inbound-authorization.ts +190 -0
  81. package/src/index.ts +1 -0
  82. package/src/libp2p-key-network.ts +54 -4
  83. package/src/libp2p-node-base.ts +111 -94
  84. package/src/repo/cluster-coordinator.ts +30 -6
  85. package/src/repo/coordinator-repo.ts +419 -58
  86. package/src/repo/service.ts +10 -3
  87. package/src/storage/block-storage.ts +11 -0
  88. package/src/storage/storage-repo.ts +172 -15
  89. package/src/sync/service.ts +14 -12
  90. package/src/testing/mesh-harness.ts +55 -49
@@ -9,6 +9,8 @@ import { peerIdBindsPublicKey } from "./peer-key-binding.js";
9
9
  import { toString as uint8ArrayToString, fromString as uint8ArrayFromString } from 'uint8arrays';
10
10
  import { createLogger } from '../logger.js';
11
11
  import { PenaltyReason } from "../reputation/types.js";
12
+ import { isMissingBaseRevisionFailure } from "../storage/storage-repo.js";
13
+ import { RECONCILE_TIMEOUT_MS } from "./reconcile-block.js";
12
14
  const log = createLogger('cluster-member');
13
15
  /** State of a transaction in the cluster */
14
16
  var TransactionPhase;
@@ -30,7 +32,8 @@ const ExecutedTransactionTtlMs = 10 * 60 * 1000;
30
32
  // Upper bound on an awaited active reconciliation of a divergent commit. Bounds the
31
33
  // consensus path so a slow/unreachable cohort peer can't stall the cluster stream;
32
34
  // a timeout is logged and tolerated (never thrown — that would reset the stream).
33
- const ReconcileTimeoutMs = 5000;
35
+ // Shared with the read path's acquisition (see RECONCILE_TIMEOUT_MS) — same operation, same bound.
36
+ const ReconcileTimeoutMs = RECONCILE_TIMEOUT_MS;
34
37
  /**
35
38
  * True when a thrown storage error reports a missing pending action — i.e. this
36
39
  * member reached commit-consensus without having seen the matching pend phase.
@@ -93,8 +96,8 @@ export class ClusterMember {
93
96
  minAbsoluteClusterSize;
94
97
  clusterSizeTolerance;
95
98
  membershipAdmissionFraction;
96
- /** Configured full cluster size, or undefined when unknown (then the gate cannot judge a downsize). */
97
- configuredClusterSize;
99
+ /** Operator-asserted smallest genuine cohort size, or undefined when unknown. */
100
+ assumedClusterSize;
98
101
  allowUnvalidatedSmallCluster;
99
102
  constructor(storageRepo, peerNetwork, peerId, privateKey, protocolPrefix,
100
103
  // Reserved for partition-healing (backlog ticket 6.5-partition-healing); held but not yet consumed.
@@ -117,8 +120,17 @@ export class ClusterMember {
117
120
  this.minAbsoluteClusterSize = consensusConfig?.minAbsoluteClusterSize ?? 3;
118
121
  this.clusterSizeTolerance = consensusConfig?.clusterSizeTolerance ?? 0.5;
119
122
  this.membershipAdmissionFraction = consensusConfig?.membershipAdmissionFraction ?? 0.75;
120
- this.configuredClusterSize = consensusConfig?.clusterSize;
123
+ this.assumedClusterSize = consensusConfig?.assumedClusterSize;
121
124
  this.allowUnvalidatedSmallCluster = consensusConfig?.allowUnvalidatedSmallCluster ?? false;
125
+ // State the resolved gate parameters once, so an operator diagnosing a membership rejection can see
126
+ // what this node actually resolved. A fact, not a warning: `assumedClusterSize < clusterSize` is the
127
+ // normal default state, so warning on it would fire for every node and be ignored.
128
+ log('cluster-member:admission-config', {
129
+ assumedClusterSize: this.assumedClusterSize,
130
+ minAbsoluteClusterSize: this.minAbsoluteClusterSize,
131
+ membershipAdmissionFraction: this.membershipAdmissionFraction,
132
+ allowUnvalidatedSmallCluster: this.allowUnvalidatedSmallCluster
133
+ });
122
134
  // Periodically clean up expired transactions (.unref() so tests/short-lived processes can exit)
123
135
  this.expirationInterval = setInterval(() => this.queueExpiredTransactions(), 60000);
124
136
  this.expirationInterval.unref();
@@ -654,12 +666,18 @@ export class ClusterMember {
654
666
  * of a peer or two is absorbed, a wholesale-disjoint or half-size set is not.
655
667
  *
656
668
  * **Fail-closed posture.** When the member cannot confidently derive `E` (no capability, low FRET
657
- * confidence — exactly what a partition induces), it must refuse any *downsizing* decision: a
658
- * below-full-size `D` is rejected against the configured full `clusterSize`. With NEITHER a confident
659
- * view NOR a configured full size the gate cannot judge a downsize at all, so it preserves the legacy
660
- * approve behavior (backward-compatible for nodes/tests with no derivation wired). `allowUnvalidatedSmallCluster`
661
- * is the explicit opt-in (single-node / local dev knowingly below the safe floor), matching the
662
- * coordinator's `validateSmallCluster` semantics.
669
+ * confidence — exactly what a partition induces), it must refuse any *downsizing* decision — but it
670
+ * needs a size reference to judge "downsize" against, and it may NOT borrow `clusterSize` for that:
671
+ * `clusterSize` is the replication factor (what a cohort should aim for), not a claim about how many
672
+ * peers exist, so a small deployment configured with the default 10 would refuse every write. The
673
+ * fallback yardstick is instead {@link ClusterConsensusConfig.assumedClusterSize} the operator's own
674
+ * assertion of the smallest cohort this deployment can genuinely field — run through the SAME
675
+ * {@link admissionFloor} as the confident path, so the fallback can never be stricter than the measured
676
+ * path (it was: it demanded the full configured size, with no fraction and no slack for churn or a peer
677
+ * not yet discovered). With NEITHER a confident view NOR an asserted size the gate cannot judge a
678
+ * downsize at all, so it preserves the legacy approve behavior (backward-compatible for nodes/tests with
679
+ * no derivation wired). `allowUnvalidatedSmallCluster` is the explicit opt-in (single-node / local dev
680
+ * knowingly below the safe floor), matching the coordinator's `validateSmallCluster` semantics.
663
681
  */
664
682
  async admitMembership(record) {
665
683
  const ourId = this.peerId.toString();
@@ -686,28 +704,40 @@ export class ClusterMember {
686
704
  && derived.confidence > ClusterMember.MembershipConfidenceThreshold
687
705
  && derivedSize > 0;
688
706
  if (!confident) {
689
- // Fail closed for downsizing under low/absent confidence. A full-size (or larger) declared set is
690
- // still admitted there is nothing to shrink. Without a configured full-size reference we cannot
691
- // tell a downsize from a legitimate small cluster, so we preserve legacy approve behavior.
692
- if (this.configuredClusterSize === undefined) {
707
+ // Fail closed for downsizing under low/absent confidence, measured against the operator's asserted
708
+ // cohort size rather than the replication factor. With no asserted size the gate cannot tell a
709
+ // downsize from a legitimately small cluster at all, so it preserves legacy approve behavior.
710
+ if (this.assumedClusterSize === undefined) {
693
711
  return { admit: true };
694
712
  }
695
- if (declared.length >= this.configuredClusterSize) {
713
+ const floor = this.admissionFloor(this.assumedClusterSize);
714
+ if (declared.length >= floor) {
696
715
  return { admit: true };
697
716
  }
698
717
  log('cluster-member:admission-reject', {
699
718
  messageHash: record.messageHash,
700
719
  reason: 'low-confidence-downsize',
701
720
  declaredSize: declared.length,
702
- configuredClusterSize: this.configuredClusterSize,
721
+ floor,
722
+ assumedClusterSize: this.assumedClusterSize,
703
723
  confidence: derived?.confidence
704
724
  });
705
- return { admit: false, reason: `${MEMBERSHIP_NOT_ADMITTED}:low-confidence-downsize` };
725
+ // The numbers ride along in the reason: this rejection is caused by *local* configuration, and
726
+ // without them a coordinator (or an operator reading a dispute record) has no hint which knob did it.
727
+ // NOTE: two honest members with different local config now emit *different* reason strings for the
728
+ // same record. Nothing compares reasons across peers today (`disputeEvidence.rejectReasons` is a
729
+ // per-peer map, and the signed payload hashes the string each vote carries); if anything ever groups
730
+ // or dedupes dispute reasons by string equality, group on the `membership-not-admitted:<variant>`
731
+ // prefix, not the whole string.
732
+ return {
733
+ admit: false,
734
+ reason: `${MEMBERSHIP_NOT_ADMITTED}:low-confidence-downsize (declared=${declared.length}, floor=${floor}, assumedClusterSize=${this.assumedClusterSize})`
735
+ };
706
736
  }
707
737
  const expected = Object.keys(derived.peers ?? {});
708
738
  const kEst = expected.length;
709
739
  // Predicate 2: floor derived from the member's OWN confident estimate.
710
- const floor = Math.max(this.minAbsoluteClusterSize, Math.ceil(this.membershipAdmissionFraction * kEst));
740
+ const floor = this.admissionFloor(kEst);
711
741
  if (declared.length < floor) {
712
742
  log('cluster-member:admission-reject', {
713
743
  messageHash: record.messageHash,
@@ -716,7 +746,10 @@ export class ClusterMember {
716
746
  floor,
717
747
  kEst
718
748
  });
719
- return { admit: false, reason: `${MEMBERSHIP_NOT_ADMITTED}:below-floor` };
749
+ return {
750
+ admit: false,
751
+ reason: `${MEMBERSHIP_NOT_ADMITTED}:below-floor (declared=${declared.length}, floor=${floor}, kEst=${kEst})`
752
+ };
720
753
  }
721
754
  // Predicate 3: consistency with the derived view within tolerance.
722
755
  const symmetricDiff = ClusterMember.symmetricDifferenceSize(declared, expected);
@@ -734,6 +767,26 @@ export class ClusterMember {
734
767
  }
735
768
  return { admit: true };
736
769
  }
770
+ /**
771
+ * The smallest declared peer set admissible against a cohort-size reference `k`, whether `k` is
772
+ * measured (the confident path's `kEst`) or asserted (`assumedClusterSize`). One function so the
773
+ * fallback can never be stricter than the measured path — which it was, demanding the full configured
774
+ * size with no fraction and no slack. Clamped at `minAbsoluteClusterSize`, so a degenerate `k` of 0, 1
775
+ * or negative yields the absolute floor rather than a floor that admits everything. A non-finite scaled
776
+ * size (a `NaN` or `Infinity` config value) is likewise treated as no usable reference rather than
777
+ * propagating: an unguarded `NaN` floor fails EVERY comparison, which would silently make the node
778
+ * reject every unconfident write.
779
+ *
780
+ * NOTE: partition safety needs `2 · membershipAdmissionFraction · superMajorityThreshold > 1` — each
781
+ * side of a split must recruit `fraction · threshold · K` distinct honest members, and two sides cannot
782
+ * both find them in one K-peer cluster. At the shipped defaults (0.75 · 0.67) that product is 1.005 —
783
+ * true, but with almost no margin. If either default is ever lowered, re-check Theorem 2 in
784
+ * `docs/correctness.md` before shipping it.
785
+ */
786
+ admissionFloor(k) {
787
+ const scaled = Math.ceil(this.membershipAdmissionFraction * k);
788
+ return Math.max(this.minAbsoluteClusterSize, Number.isFinite(scaled) ? scaled : 0);
789
+ }
737
790
  /**
738
791
  * Derive this member's own view of the record's block cluster via the injected capability, or
739
792
  * `undefined` when it cannot (no capability, no coordinating block id, or a derivation error — all of
@@ -789,6 +842,20 @@ export class ClusterMember {
789
842
  const blockResults = await this.storageRepo.get({ blockIds });
790
843
  for (const blockId of blockIds) {
791
844
  const blockResult = blockResults[blockId];
845
+ if (blockResult?.unavailable !== undefined) {
846
+ // This member cannot establish the block's revision, so it cannot judge
847
+ // staleness. Vote reject rather than approve on an answer it knows is a
848
+ // guess — approving would let a stale pend reach consensus on the strength
849
+ // of a member that could not check it. (Before StorageRepo caught
850
+ // materialization faults per block, this read threw out of the promise
851
+ // handler; rejecting keeps the fail-closed posture with a signed reason.)
852
+ log('cluster-member:validation-block-unavailable', {
853
+ messageHash: record.messageHash,
854
+ blockId,
855
+ reason: blockResult.unavailable
856
+ });
857
+ return { valid: false, reason: `block ${blockId} unavailable (${blockResult.unavailable}): cannot verify revision` };
858
+ }
792
859
  const latestRev = blockResult?.state?.latest?.rev;
793
860
  if (latestRev !== undefined && latestRev >= pendRequest.rev) {
794
861
  log('cluster-member:validation-stale-revision', {
@@ -909,9 +976,13 @@ export class ClusterMember {
909
976
  * - **behind**: we missed the prior `pend` cluster-transaction (cohort drift
910
977
  * between the independent pend and commit phases, or transient unreachability),
911
978
  * so we lack the pending action — `StorageRepo.commit` *throws* "Pending
912
- * action … not found".
979
+ * action … not found";
980
+ * - **behind (no base)**: we DID see the pend, but we never saw the revision that
981
+ * created the block, so the transform has nothing to apply to —
982
+ * `StorageRepo.commit` returns `success:false` with a `missing-base-revision`
983
+ * reason rather than recording a revision it could not materialize.
913
984
  *
914
- * For the **behind** case we hold no revision of the committed blocks at all, so we
985
+ * For both **behind** cases we hold no usable revision of the committed blocks, so we
915
986
  * actively reconcile: pull the committed revision from a cohort peer that holds it
916
987
  * (`reconcileBlock`) and restore it locally. Lazy read-repair on a later read cannot
917
988
  * recover it on its own when cohort drift has left the block under-replicated (no
@@ -1001,7 +1072,8 @@ export class ClusterMember {
1001
1072
  }
1002
1073
  if (!result.success) {
1003
1074
  // success:false is a StaleFailure. `missing` ⇒ ahead/stale divergence
1004
- // (we already hold ≥ this rev): tolerate, do NOT reconcile downward. A bare
1075
+ // (we already hold ≥ this rev): tolerate, do NOT reconcile downward. A
1076
+ // missing-base reason ⇒ behind divergence, reconcile (below). Any other bare
1005
1077
  // `reason` with no `missing` ⇒ a genuine internalCommit fault: propagate so
1006
1078
  // handleConsensus rolls back the executed marker and rethrows.
1007
1079
  if (result.missing?.length) {
@@ -1014,6 +1086,22 @@ export class ClusterMember {
1014
1086
  });
1015
1087
  return;
1016
1088
  }
1089
+ // This member holds no materializable base for one of the blocks, so
1090
+ // `StorageRepo.commit` REFUSED rather than record a revision it could never serve.
1091
+ // Same "behind" divergence as a missing pend — and the same cure: pull the committed
1092
+ // revision from a cohort peer. Reconciling here (after commit released its per-block
1093
+ // latches) is what makes refusing safe; fetching inside the commit path would deadlock
1094
+ // against the latch `saveReplicatedBlock` needs to persist what it fetched.
1095
+ if (isMissingBaseRevisionFailure(result)) {
1096
+ log('cluster-member:consensus-commit-diverged', {
1097
+ messageHash,
1098
+ actionId: commit.actionId,
1099
+ divergence: 'behind',
1100
+ reason: result.reason
1101
+ });
1102
+ await this.reconcileDivergentCommit(record, commit);
1103
+ return;
1104
+ }
1017
1105
  throw new Error(`Consensus commit for action ${commit.actionId} failed: ${result.reason ?? 'unknown reason'}`);
1018
1106
  }
1019
1107
  return;
@@ -1145,7 +1233,12 @@ export class ClusterMember {
1145
1233
  async reconcileOneBlock(messageHash, blockId, committed, cohortPeerIds) {
1146
1234
  try {
1147
1235
  await this.withReconcileTimeout(this.reconcileBlock(blockId, committed, cohortPeerIds), blockId);
1148
- log('cluster-member:consensus-commit-reconciled', { messageHash, blockId, rev: committed.rev });
1236
+ // "attempted", not "reconciled": the callback returns void, and a quorum decline is a
1237
+ // normal, non-throwing outcome — so reaching here means the pass ran to completion, NOT
1238
+ // that anything was restored. `reconcile:restored` (reconcile-block.ts) is the line that
1239
+ // says the bytes actually landed; `reconcile:no-rev-quorum` / `reconcile:no-content-quorum`
1240
+ // say they did not.
1241
+ log('cluster-member:consensus-commit-reconcile-attempted', { messageHash, blockId, rev: committed.rev });
1149
1242
  }
1150
1243
  catch (err) {
1151
1244
  log('cluster-member:consensus-commit-reconcile-failed', {
@@ -1 +1 @@
1
- {"version":3,"file":"cluster-repo.js","sourceRoot":"","sources":["../../../src/cluster/cluster-repo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cluster-repo.js","sourceRoot":"","sources":["../../../src/cluster/cluster-repo.ts"],"names":[],"mappings":"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"}
@@ -29,10 +29,41 @@ export interface QuorumRev {
29
29
  }
30
30
  /**
31
31
  * Number of distinct corroborating votes required to accept a claim:
32
- * `floor(simpleMajorityThreshold × responderCount)`, floored, with an absolute
33
- * minimum of 2 (a claim must be seconded by at least one other peer).
32
+ * `floor(simpleMajorityThreshold × responderCount)`, never below
33
+ * {@link CORROBORATION_FLOOR} except that demanding more corroborators than the cohort
34
+ * can possibly supply is a deadlock, not a safety property, so the floor is additionally
35
+ * capped at `corroboratorCapacity`.
36
+ *
37
+ * `corroboratorCapacity` is how many peers OTHER than the asking node could answer at
38
+ * all. Omit it when the caller cannot state one; the absolute floor of two then applies,
39
+ * which is the conservative direction (a claim no one seconded is never accepted).
40
+ *
41
+ * Note the capacity caps the FLOOR only, never the proportional term: with many
42
+ * responders the majority requirement still grows past two.
43
+ */
44
+ export declare function quorumSize(responderCount: number, simpleMajorityThreshold: number, corroboratorCapacity?: number): number;
45
+ /**
46
+ * The `corroboratorCapacity` to hand {@link quorumSize}: how many peers other than the asking node
47
+ * could answer for a block at all, given `cohortPeerCount` peers currently visible (self already
48
+ * excluded) and `repairCorroborationClusterSize` — the cohort size this deployment is measured
49
+ * against, resolved by `resolveClusterPolicy` in `cluster/cluster-policy.ts`.
50
+ *
51
+ * Deliberately the MAX of the two: the corroboration floor may be relaxed only for a cohort that is
52
+ * *genuinely* small, never for one that merely looks small. Cohort views are unauthenticated — the
53
+ * read path takes them from `IKeyNetwork.findCluster`, the commit path from a coordinator-declared
54
+ * peer set — so a partition, a self-shrunk record, or an attacker with routing influence could
55
+ * otherwise talk the requirement down to a single voter. Measuring against the resolved size keeps a
56
+ * shrunken view out of the relaxed branch.
57
+ *
58
+ * An unconfigured node resolves this to its `clusterSize` (default 10), so the floor of two binds and
59
+ * a shrunken view gains nothing. The escape hatch for a real two-node deployment is one explicit
60
+ * operator declaration — `clusterPolicy.assumedClusterSize: 2`, which does NOT also drop the
61
+ * replication factor, or an honest `clusterSize: 2`.
62
+ *
63
+ * Shared by both restoration paths so the two can never drift apart on the rule that decides how
64
+ * much trust a lone peer gets.
34
65
  */
35
- export declare function quorumSize(responderCount: number, simpleMajorityThreshold: number): number;
66
+ export declare function corroboratorCapacity(cohortPeerCount: number, repairCorroborationClusterSize: number): number;
36
67
  /**
37
68
  * Select the highest revision corroborated by a quorum of distinct peers.
38
69
  *
@@ -40,17 +71,22 @@ export declare function quorumSize(responderCount: number, simpleMajorityThresho
40
71
  * pair lands in its own singleton group and is outvoted. The highest rev whose
41
72
  * group has `>= quorum` distinct voters wins.
42
73
  *
43
- * Small-cluster fallback (honest lagging peer): when there are too few
44
- * responders to *form* a quorum (e.g. a single honest peer still holds the
45
- * block) but ALL responders agree on one pair, that pair is accepted. This is
46
- * intentionally permissive so a legitimately-lagging cohort still restores
47
- * honest blocks — declining there is safe (local keeps its data), so we only
48
- * fall back when there is exactly one candidate pair (no contradiction).
74
+ * **Claims must not include the asking node's own revision.** A node confirming its own
75
+ * answer is not evidence; its revision is the baseline being repaired, and counting it
76
+ * both inflates the responder count and lets a lone reader "corroborate" itself. Callers
77
+ * filter self out before calling (see `CoordinatorRepo.queryClusterForLatest`,
78
+ * `reconcileBlock`).
79
+ *
80
+ * `corroboratorCapacity` — how many peers other than the asking node could corroborate at
81
+ * all — lets a genuinely tiny cohort still converge: a cohort with exactly one other peer
82
+ * cannot produce two corroborators, so requiring two makes divergence permanent rather
83
+ * than making it safe. Pass a capacity that a shrunken view of the network cannot talk
84
+ * down (see {@link corroboratorCapacity}), or omit it to keep the floor at two.
49
85
  *
50
86
  * Returns `undefined` when nothing is corroborated — an uncorroborated claim
51
87
  * must never drive restoration.
52
88
  */
53
- export declare function selectQuorumRev(claims: RevClaim[], simpleMajorityThreshold: number): QuorumRev | undefined;
89
+ export declare function selectQuorumRev(claims: RevClaim[], simpleMajorityThreshold: number, corroboratorCapacity?: number): QuorumRev | undefined;
54
90
  /** Canonical sha256 of a block's content, base64url. Same pattern as `ClusterMember.computeCommitHash`. */
55
91
  export declare function canonicalBlockHash(block: IBlock): Promise<string>;
56
92
  /** One block candidate paired with its serving peer and canonical hash. */
@@ -61,11 +97,25 @@ export interface BlockHashCandidate {
61
97
  }
62
98
  /**
63
99
  * Among candidates already known to corroborate the target `(rev, actionId)`,
64
- * pick the block content agreed by a quorum. Strict: requires a UNIQUE hash
65
- * group meeting `quorum` (no single-responder fallback) — a cohort split on
66
- * content, or a lone block, declines. Returns the agreed block, or `undefined`.
100
+ * pick the block content agreed by a quorum. Requires a UNIQUE hash group meeting
101
+ * `quorum` — a cohort split on content declines rather than picking a side.
102
+ * Returns the agreed block, or `undefined`.
103
+ *
104
+ * `corroboratorCapacity` caps the floor exactly as it does in {@link selectQuorumRev}, and for
105
+ * the same reason: a cohort holding one other peer cannot produce two block-carriers, so
106
+ * demanding two makes the block permanently unrestorable on this node rather than making it safe.
107
+ * Omit it to keep the floor at two.
108
+ *
109
+ * **What relaxing this does and does not cost.** Block ids are random 256-bit strings, not
110
+ * content-addressed, so {@link canonicalBlockHash} is a cross-peer *agreement* hash and never a
111
+ * check against the requested id — nothing here re-derives an id from received bytes. At capacity
112
+ * one the sole peer's content is therefore taken on its word. That extends no trust the cohort had
113
+ * not already extended: the same peer's `(rev, actionId)` claim is equally uncorroborable at that
114
+ * size, and a two-member cohort has no honest majority to appeal to. Pass a capacity a shrunken
115
+ * view of the network cannot talk down (see {@link corroboratorCapacity}), so only a cohort that is
116
+ * *genuinely* that small reaches this branch.
67
117
  */
68
- export declare function selectQuorumBlock(candidates: BlockHashCandidate[], simpleMajorityThreshold: number): {
118
+ export declare function selectQuorumBlock(candidates: BlockHashCandidate[], simpleMajorityThreshold: number, corroboratorCapacity?: number): {
69
119
  block: IBlock;
70
120
  hash: string;
71
121
  } | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"quorum-restore.d.ts","sourceRoot":"","sources":["../../../src/cluster/quorum-restore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAIlD;;;;;;;;;;;;;GAaG;AAEH,iEAAiE;AACjE,MAAM,WAAW,QAAQ;IACxB,wFAAwF;IACxF,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,wFAAwF;AACxF,MAAM,WAAW,SAAS;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,UAAU,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,GAAG,MAAM,CAE1F;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,uBAAuB,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CA0C1G;AAWD,2GAA2G;AAC3G,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIvE;AAED,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,kBAAkB,EAAE,EAAE,uBAAuB,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAkBhJ"}
1
+ {"version":3,"file":"quorum-restore.d.ts","sourceRoot":"","sources":["../../../src/cluster/quorum-restore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAIlD;;;;;;;;;;;;;GAaG;AAEH,iEAAiE;AACjE,MAAM,WAAW,QAAQ;IACxB,wFAAwF;IACxF,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,wFAAwF;AACxF,MAAM,WAAW,SAAS;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,UAAU,EAAE,MAAM,EAAE,CAAC;CACrB;AASD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CACzB,cAAc,EAAE,MAAM,EACtB,uBAAuB,EAAE,MAAM,EAC/B,oBAAoB,GAAE,MAAiC,GACrD,MAAM,CAGR;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAAC,eAAe,EAAE,MAAM,EAAE,8BAA8B,EAAE,MAAM,GAAG,MAAM,CAE5G;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,CAC9B,MAAM,EAAE,QAAQ,EAAE,EAClB,uBAAuB,EAAE,MAAM,EAC/B,oBAAoB,CAAC,EAAE,MAAM,GAC3B,SAAS,GAAG,SAAS,CAkCvB;AAWD,2GAA2G;AAC3G,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAIvE;AAED,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAChC,UAAU,EAAE,kBAAkB,EAAE,EAChC,uBAAuB,EAAE,MAAM,EAC/B,oBAAoB,CAAC,EAAE,MAAM,GAC3B;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAuB7C"}
Binary file
@@ -1 +1 @@
1
- {"version":3,"file":"quorum-restore.js","sourceRoot":"","sources":["../../../src/cluster/quorum-restore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quorum-restore.js","sourceRoot":"","sources":["../../../src/cluster/quorum-restore.ts"],"names":[],"mappings":"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"}