instar 1.3.719 → 1.3.721

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 (79) hide show
  1. package/dist/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +213 -31
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/core/CoherenceJournal.d.ts.map +1 -1
  5. package/dist/core/CoherenceJournal.js +9 -1
  6. package/dist/core/CoherenceJournal.js.map +1 -1
  7. package/dist/core/CoherenceJournalReader.d.ts +56 -0
  8. package/dist/core/CoherenceJournalReader.d.ts.map +1 -1
  9. package/dist/core/CoherenceJournalReader.js +148 -0
  10. package/dist/core/CoherenceJournalReader.js.map +1 -1
  11. package/dist/core/LeaseAcquisitionTrigger.d.ts +35 -0
  12. package/dist/core/LeaseAcquisitionTrigger.d.ts.map +1 -0
  13. package/dist/core/LeaseAcquisitionTrigger.js +53 -0
  14. package/dist/core/LeaseAcquisitionTrigger.js.map +1 -0
  15. package/dist/core/OwnershipReconciler.d.ts +106 -2
  16. package/dist/core/OwnershipReconciler.d.ts.map +1 -1
  17. package/dist/core/OwnershipReconciler.js +265 -12
  18. package/dist/core/OwnershipReconciler.js.map +1 -1
  19. package/dist/core/PlacementExecutor.d.ts +14 -1
  20. package/dist/core/PlacementExecutor.d.ts.map +1 -1
  21. package/dist/core/PlacementExecutor.js +17 -2
  22. package/dist/core/PlacementExecutor.js.map +1 -1
  23. package/dist/core/PostUpdateMigrator.d.ts +5 -3
  24. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  25. package/dist/core/PostUpdateMigrator.js +33 -7
  26. package/dist/core/PostUpdateMigrator.js.map +1 -1
  27. package/dist/core/SustainedOnlineTracker.d.ts +47 -0
  28. package/dist/core/SustainedOnlineTracker.d.ts.map +1 -0
  29. package/dist/core/SustainedOnlineTracker.js +67 -0
  30. package/dist/core/SustainedOnlineTracker.js.map +1 -0
  31. package/dist/core/TopicPinFoldView.d.ts +138 -0
  32. package/dist/core/TopicPinFoldView.d.ts.map +1 -0
  33. package/dist/core/TopicPinFoldView.js +235 -0
  34. package/dist/core/TopicPinFoldView.js.map +1 -0
  35. package/dist/core/TopicPinMutation.d.ts +46 -0
  36. package/dist/core/TopicPinMutation.d.ts.map +1 -0
  37. package/dist/core/TopicPinMutation.js +66 -0
  38. package/dist/core/TopicPinMutation.js.map +1 -0
  39. package/dist/core/TopicPinReplicatedStore.d.ts +3 -0
  40. package/dist/core/TopicPinReplicatedStore.d.ts.map +1 -1
  41. package/dist/core/TopicPinReplicatedStore.js +5 -0
  42. package/dist/core/TopicPinReplicatedStore.js.map +1 -1
  43. package/dist/core/TopicPinSkewQuarantine.d.ts +44 -0
  44. package/dist/core/TopicPinSkewQuarantine.d.ts.map +1 -0
  45. package/dist/core/TopicPinSkewQuarantine.js +136 -0
  46. package/dist/core/TopicPinSkewQuarantine.js.map +1 -0
  47. package/dist/core/TopicPlacementPinStore.d.ts +29 -2
  48. package/dist/core/TopicPlacementPinStore.d.ts.map +1 -1
  49. package/dist/core/TopicPlacementPinStore.js +23 -5
  50. package/dist/core/TopicPlacementPinStore.js.map +1 -1
  51. package/dist/core/types.d.ts +29 -2
  52. package/dist/core/types.d.ts.map +1 -1
  53. package/dist/core/types.js.map +1 -1
  54. package/dist/monitoring/SessionActivitySentinel.d.ts.map +1 -1
  55. package/dist/monitoring/SessionActivitySentinel.js +3 -0
  56. package/dist/monitoring/SessionActivitySentinel.js.map +1 -1
  57. package/dist/monitoring/guardManifest.d.ts.map +1 -1
  58. package/dist/monitoring/guardManifest.js +46 -0
  59. package/dist/monitoring/guardManifest.js.map +1 -1
  60. package/dist/scaffold/templates.d.ts.map +1 -1
  61. package/dist/scaffold/templates.js +1 -0
  62. package/dist/scaffold/templates.js.map +1 -1
  63. package/dist/server/AgentServer.d.ts +4 -0
  64. package/dist/server/AgentServer.d.ts.map +1 -1
  65. package/dist/server/AgentServer.js +2 -0
  66. package/dist/server/AgentServer.js.map +1 -1
  67. package/dist/server/routes.d.ts +6 -0
  68. package/dist/server/routes.d.ts.map +1 -1
  69. package/dist/server/routes.js +160 -15
  70. package/dist/server/routes.js.map +1 -1
  71. package/package.json +1 -1
  72. package/src/data/builtin-manifest.json +64 -64
  73. package/src/data/state-coherence-registry.json +18 -0
  74. package/src/scaffold/templates.ts +1 -0
  75. package/upgrades/1.3.720.md +125 -0
  76. package/upgrades/1.3.721.md +55 -0
  77. package/upgrades/eli16/digest-safety-prompt.eli16.md +61 -0
  78. package/upgrades/side-effects/digest-safety-prompt.md +112 -0
  79. package/upgrades/side-effects/u4-1-pin-persistence.md +49 -0
@@ -50,6 +50,13 @@ const DEFAULT_DEATH_EVIDENCE_MS = 180_000;
50
50
  /** Fix #3 / Finding N4: how long a `transferring` may sit before the owner aborts a
51
51
  * transfer toward an unreachable target (the convergence deadline). */
52
52
  const DEFAULT_TRANSFER_DEADLINE_MS = 120_000;
53
+ /** U4.1 §2.G ws13MaxMovesPerTick default: bounded move-initiations per tick. */
54
+ const DEFAULT_MAX_MOVES_PER_TICK = 2;
55
+ /** U4.1 §2.G ws13DivergedWindowMs default: 10min (20 ticks) of persistent
56
+ * desired≠actual before `diverged` + its attention item. */
57
+ const DEFAULT_DIVERGED_WINDOW_MS = 600_000;
58
+ /** U4.1 §2.G ws13PendingPinMaxAgeMs default: 24h before the fulfil-or-unpin item. */
59
+ const DEFAULT_PENDING_PIN_MAX_AGE_MS = 86_400_000;
53
60
  export class OwnershipReconciler {
54
61
  d;
55
62
  /** First time we observed each topic's CURRENT conflict (cleared on convergence). */
@@ -92,22 +99,31 @@ export class OwnershipReconciler {
92
99
  * the owner cooperatively transfers toward; the force-claim path never reads it.
93
100
  */
94
101
  effectivePins() {
102
+ // U4.2 §2.4: the claim-suspension read applies to LOCAL pins too — a
103
+ // suspension must hold even when no advisory pins exist, or the local
104
+ // reconciler would fight a stale-owner claim.
105
+ return this.applyClaimSuspensions(this.effectivePinsRaw());
106
+ }
107
+ /** The union WITHOUT the suspension filter — pinStateOf() needs to SEE a
108
+ * suspended pin (to report `suspended-pending-owner-return`) that tick()
109
+ * must never ACT on (U4.1 §2D / U4.2 §2.4 composition).
110
+ * `includeOfflineAdvisory` (READ surfaces only): the known-and-online
111
+ * advisory filter protects ACTUATION; the placement READ still wants to
112
+ * report an offline-target advisory pin honestly as `pending`. */
113
+ effectivePinsRaw(includeOfflineAdvisory = false) {
95
114
  const ps = this.d.pinStore();
96
115
  const local = ps ? ps.all() : {}; // null until _topicPinStore resolves at boot → no pins (natural no-op)
97
116
  const advisory = this.d.advisoryPins?.();
98
- // U4.2 §2.4: the claim-suspension read applies to LOCAL pins too — a
99
- // suspension must hold even when no advisory pins exist (the early-return
100
- // path), or the local reconciler would fight a stale-owner claim.
101
117
  if (!advisory || advisory.size === 0)
102
- return this.applyClaimSuspensions(local);
118
+ return local;
103
119
  // Validate PRIMARY = membership/liveness (skew-proof): only act on a replicated pin
104
120
  // whose target is a KNOWN and currently-ONLINE machine (Findings N2/SE4/AD5). A stale
105
121
  // advisory pointing at a departed/offline machine must NOT trigger a transfer.
106
122
  const online = new Set(this.d.machines().filter((m) => m.online).map((m) => m.machineId));
107
123
  const out = { ...local };
108
124
  for (const [topic, adv] of advisory) {
109
- if (!online.has(adv.preferredMachine))
110
- continue; // unknown/offline target → ignore advisory
125
+ if (!includeOfflineAdvisory && !online.has(adv.preferredMachine))
126
+ continue; // unknown/offline target → ignore advisory (actuation)
111
127
  const key = String(topic);
112
128
  const localPin = local[key];
113
129
  const advPin = { preferredMachine: adv.preferredMachine, pinned: true, updatedAt: new Date(adv.hlc.physical).toISOString(), hlc: adv.hlc };
@@ -118,7 +134,7 @@ export class OwnershipReconciler {
118
134
  out[key] = advPin; // replicated intent is newer (HLC) → it wins (N3)
119
135
  }
120
136
  }
121
- return this.applyClaimSuspensions(out);
137
+ return out;
122
138
  }
123
139
  /**
124
140
  * U4.2 §2.4 — a stale-owner claim SUSPENDS the topic's pin (derived at read
@@ -151,6 +167,7 @@ export class OwnershipReconciler {
151
167
  const report = {
152
168
  examined: 0, transfers: 0, claims: 0, forceClaims: 0, adoptions: 0, aborts: 0,
153
169
  deferredBusy: 0, deferredDebounce: 0, deferredNoEvidence: 0, deferredTargetOffline: 0,
170
+ deferredAutonomousRun: 0, deferredPaced: 0,
154
171
  dryRun: this.d.dryRun(),
155
172
  };
156
173
  // U4.2 — the stale-owner-release engine rides THIS tick (one actor: the
@@ -191,16 +208,39 @@ export class OwnershipReconciler {
191
208
  }
192
209
  const byId = new Map(machines.map((m) => [m.machineId, m]));
193
210
  const staleOwnerActive = !!(this.d.staleOwnerEngine?.()?.isActive());
211
+ // U4.1 §2D pacing: bounded MOVE-INITIATING actions per tick (transfers +
212
+ // adoptions + force-claims); a lease flap can never trigger a transfer storm.
213
+ const maxMoves = Math.max(1, this.d.maxMovesPerTick ?? DEFAULT_MAX_MOVES_PER_TICK);
214
+ const movesInitiated = () => report.transfers + report.adoptions + report.forceClaims;
215
+ // U4.1 §2E (R-r2-2): sustained-online gate for pin-driven actuation toward a
216
+ // machine. Absent dep ⇒ plain online (today's behavior).
217
+ const targetActuationOk = (view, machineId) => {
218
+ if (!view || !view.online)
219
+ return false;
220
+ const gate = this.d.sustainedOnline;
221
+ if (!gate)
222
+ return true;
223
+ try {
224
+ return gate(machineId);
225
+ }
226
+ catch {
227
+ return true; /* @silent-fallback-ok — a broken hysteresis signal degrades to plain-online (today's behavior), never wedges convergence */
228
+ }
229
+ };
230
+ const pinnedSeenThisTick = new Set();
194
231
  for (const [sessionKey, pin] of Object.entries(this.effectivePins())) {
195
232
  if (!pin.pinned || !pin.preferredMachine)
196
233
  continue;
234
+ pinnedSeenThisTick.add(sessionKey);
197
235
  const rec = this.d.ownership.read(sessionKey);
198
236
  const owner = rec && rec.status !== 'released' ? rec.ownerMachineId : null;
199
237
  if (owner === pin.preferredMachine && rec?.status === 'active') {
200
238
  this.conflictSince.delete(sessionKey);
239
+ this.closePinEpisodes(sessionKey);
201
240
  continue; // converged
202
241
  }
203
242
  report.examined++;
243
+ this.escalatePinDivergence(sessionKey, pin, now);
204
244
  if (!this.conflictSince.has(sessionKey))
205
245
  this.conflictSince.set(sessionKey, now);
206
246
  const since = this.conflictSince.get(sessionKey);
@@ -237,6 +277,16 @@ export class OwnershipReconciler {
237
277
  }
238
278
  // ── Case D: no live record and the pin names ME → adopt (place→claim).
239
279
  if ((!rec || rec.status === 'released') && pin.preferredMachine === self) {
280
+ // U4.1 §2E (i): fulfilment on return requires SUSTAINED online — a
281
+ // flapping machine must not grab its pinned topics on each blink.
282
+ if (!targetActuationOk(byId.get(self), self)) {
283
+ report.deferredTargetOffline++;
284
+ continue;
285
+ }
286
+ if (movesInitiated() >= maxMoves) {
287
+ report.deferredPaced++;
288
+ continue;
289
+ }
240
290
  const placed = this.act(report, 'adoptions', sessionKey, { type: 'place', machineId: self }, 'reconcile-adopt');
241
291
  if (placed)
242
292
  this.act(report, 'adoptions', sessionKey, { type: 'claim', machineId: self }, 'reconcile-adopt', /*countOnce*/ true);
@@ -253,15 +303,34 @@ export class OwnershipReconciler {
253
303
  report.deferredDebounce++;
254
304
  continue;
255
305
  }
256
- // U4.2 named code fix: LOCAL pins in the cooperative path gain the same
257
- // online-gate the advisory pins already have — never start a transfer
258
- // toward an unknown/offline machine (the N4 abort would only have to
259
- // unwind it later).
306
+ // U4.2 named code fix, upgraded by U4.1 R-r2-2: LOCAL pins in the
307
+ // cooperative path gain the SUSTAINED-online gate the advisory pins'
308
+ // online filter foreshadowed never start a transfer toward an
309
+ // unknown/offline/just-flapped-on machine (the N4 abort would only
310
+ // have to unwind it ~every 2.5min, forever, silently). The pin stays
311
+ // QUEUED (`pinState: pending`), never re-routed.
260
312
  const targetView = byId.get(pin.preferredMachine);
261
- if (!targetView || !targetView.online) {
313
+ if (!targetActuationOk(targetView, pin.preferredMachine)) {
262
314
  report.deferredTargetOffline++;
263
315
  continue;
264
316
  }
317
+ // U4.1 §2E (iii): a LIVE autonomous run defers a pin-driven move
318
+ // INDEFINITELY as pending — the safe-point deadline override does NOT
319
+ // apply, and the consent gate is never auto-confirmed. The aged-pending
320
+ // attention item (brake ii) is the bounded escape, not a forced move.
321
+ if (this.d.hasLiveAutonomousRun) {
322
+ let live = false;
323
+ try {
324
+ live = this.d.hasLiveAutonomousRun(sessionKey);
325
+ }
326
+ catch {
327
+ live = false; /* @silent-fallback-ok — an unreadable run registry reads as no live run; the busy/safe-point gates below still apply */
328
+ }
329
+ if (live) {
330
+ report.deferredAutonomousRun++;
331
+ continue;
332
+ }
333
+ }
265
334
  // Bounded safe point: wait for idle, but never past the deadline.
266
335
  const busy = this.d.isTopicBusy(sessionKey);
267
336
  const pastDeadline = now - since >= (this.d.safePointDeadlineMs ?? DEFAULT_SAFE_POINT_DEADLINE_MS);
@@ -269,6 +338,10 @@ export class OwnershipReconciler {
269
338
  report.deferredBusy++;
270
339
  continue;
271
340
  }
341
+ if (movesInitiated() >= maxMoves) {
342
+ report.deferredPaced++;
343
+ continue;
344
+ }
272
345
  this.act(report, 'transfers', sessionKey, { type: 'transfer', to: pin.preferredMachine }, 'reconcile-transfer');
273
346
  continue;
274
347
  }
@@ -297,6 +370,10 @@ export class OwnershipReconciler {
297
370
  const online = machines.filter((m) => m.online).length;
298
371
  const inQuorum = machines.length <= 2 || online * 2 > machines.length;
299
372
  if ((ownerProvablyDead || ownerUnknown) && inQuorum) {
373
+ if (movesInitiated() >= maxMoves) {
374
+ report.deferredPaced++;
375
+ continue;
376
+ }
300
377
  this.act(report, 'forceClaims', sessionKey, { type: 'force-claim', machineId: self }, 'reconcile-force-claim');
301
378
  }
302
379
  else {
@@ -308,11 +385,84 @@ export class OwnershipReconciler {
308
385
  }
309
386
  // Neither owner nor pin target: not my move this tick.
310
387
  }
388
+ // U4.1 §2D/§2E episode boundaries: a pin that vanished (cleared/tombstoned)
389
+ // closes its open attention episodes — a re-pin later opens a NEW episode.
390
+ for (const key of [...this.divergedEpisodes]) {
391
+ if (!pinnedSeenThisTick.has(key))
392
+ this.divergedEpisodes.delete(key);
393
+ }
394
+ for (const key of [...this.agedPendingEpisodes]) {
395
+ if (!pinnedSeenThisTick.has(key))
396
+ this.agedPendingEpisodes.delete(key);
397
+ }
398
+ // The conflict clock resets with the episode too: a topic whose pin was
399
+ // cleared must not carry the OLD episode's divergence age into a later
400
+ // re-pin (it would classify `diverged` instantly instead of earning a
401
+ // fresh ws13DivergedWindowMs). conflictSince is only ever populated for
402
+ // pinned topics inside this loop, so pruning unseen keys is sound.
403
+ for (const key of [...this.conflictSince.keys()]) {
404
+ if (!pinnedSeenThisTick.has(key))
405
+ this.conflictSince.delete(key);
406
+ }
311
407
  // U4.2 — the stale-owner evidence pass (claims for provably-dead owners,
312
408
  // pinned AND unpinned; ambiguity escalation on any quorum member).
313
409
  runStaleOwnerPass();
314
410
  return this.finish(report);
315
411
  }
412
+ // ── U4.1 §2D/§2E — P17 escalation (one deduped item per EPISODE, never per tick) ──
413
+ /** Open attention episodes (a flap WITHIN an open episode never re-raises). */
414
+ divergedEpisodes = new Set();
415
+ agedPendingEpisodes = new Set();
416
+ /** Convergence (or pin removal) closes both episodes for the topic. */
417
+ closePinEpisodes(sessionKey) {
418
+ this.divergedEpisodes.delete(sessionKey);
419
+ this.agedPendingEpisodes.delete(sessionKey);
420
+ }
421
+ /**
422
+ * Raise the two U4.1 attention items for a topic currently in desired≠actual
423
+ * conflict: `u41:pin-diverged:<topicId>` when the conflict has persisted past
424
+ * ws13DivergedWindowMs (declarative intent with no controller escalation is a
425
+ * wish), and `u41:pin-pending-aged:<topicId>` when the pin itself has sat
426
+ * unfulfilled past ws13PendingPinMaxAgeMs (fulfil-or-unpin — covers the
427
+ * decommissioned/rebuilt-machineId case AND the owner-side offline-target
428
+ * pending, R-r2-2). Both are once-per-episode; the attention store dedupes by
429
+ * id as the backstop.
430
+ */
431
+ escalatePinDivergence(sessionKey, pin, now) {
432
+ const raise = this.d.raiseAttention;
433
+ if (!raise)
434
+ return;
435
+ const since = this.conflictSince.get(sessionKey) ?? now;
436
+ const divergedWindow = this.d.divergedWindowMs ?? DEFAULT_DIVERGED_WINDOW_MS;
437
+ if (now - since >= divergedWindow && !this.divergedEpisodes.has(sessionKey)) {
438
+ this.divergedEpisodes.add(sessionKey);
439
+ try {
440
+ raise({
441
+ id: `u41:pin-diverged:${sessionKey}`,
442
+ title: `Topic ${sessionKey} placement diverged from its pin`,
443
+ body: `Topic ${sessionKey} is pinned to ${pin.preferredMachine} but has been running elsewhere for over ${Math.round(divergedWindow / 60000)} minutes. The reconciler keeps converging it; if this persists, the pinned machine may be refusing the topic — check GET /pool/placement?topic=${sessionKey} and GET /pool/reconciler?topic=${sessionKey}.`,
444
+ priority: 'medium',
445
+ sourceContext: 'ws13-pin-persistence',
446
+ });
447
+ }
448
+ catch { /* escalation is observability — never gates the tick */ }
449
+ }
450
+ const pinAge = now - this.deriveLocalPinHlc(pin).physical;
451
+ const maxPendingAge = this.d.pendingPinMaxAgeMs ?? DEFAULT_PENDING_PIN_MAX_AGE_MS;
452
+ if (pinAge >= maxPendingAge && !this.agedPendingEpisodes.has(sessionKey)) {
453
+ this.agedPendingEpisodes.add(sessionKey);
454
+ try {
455
+ raise({
456
+ id: `u41:pin-pending-aged:${sessionKey}`,
457
+ title: `Topic ${sessionKey}'s pin has waited ${Math.round(pinAge / 3600000)}h unfulfilled`,
458
+ body: `Topic ${sessionKey} is pinned to ${pin.preferredMachine} but the pin has not been fulfilled for over ${Math.round(maxPendingAge / 3600000)} hours (the machine may be offline, decommissioned, or the topic is deferring on live work). Fulfil it (bring ${pin.preferredMachine} back / free the topic) or unpin via POST /pool/unpin {"topic":${JSON.stringify(sessionKey)}}.`,
459
+ priority: 'medium',
460
+ sourceContext: 'ws13-pin-persistence',
461
+ });
462
+ }
463
+ catch { /* escalation is observability — never gates the tick */ }
464
+ }
465
+ }
316
466
  /**
317
467
  * U4.2 — the engine's single CAS funnel (one actor, §2.7.6). Stamps the
318
468
  * EXTENDED nonce grammar `${self}:stale-owner-release:${sessionKey}:${episodeId}:${now}`
@@ -404,7 +554,21 @@ export class OwnershipReconciler {
404
554
  }
405
555
  return { ...ctx, decision: 'await-other-claim', reason: `transferring to ${rec.transferTo ?? '?'} — that machine claims` };
406
556
  }
557
+ const sustainedOk = (machineId) => {
558
+ if (!this.d.sustainedOnline)
559
+ return true;
560
+ try {
561
+ return this.d.sustainedOnline(machineId);
562
+ }
563
+ catch {
564
+ return true;
565
+ }
566
+ };
407
567
  if ((!rec || rec.status === 'released') && pin.preferredMachine === self) {
568
+ const selfView = machines.find((m) => m.machineId === self);
569
+ if (!selfView || !selfView.online || !sustainedOk(self)) {
570
+ return { ...ctx, decision: 'deferred-target-offline', reason: 'pin names me but I have not been sustained-online yet (U4.1 §2E fulfilment hysteresis)' };
571
+ }
408
572
  return { ...ctx, decision: 'adopt', reason: 'no live record + pin names me → would place→claim' };
409
573
  }
410
574
  if (!rec || rec.status === 'released') {
@@ -421,6 +585,21 @@ export class OwnershipReconciler {
421
585
  if (!tv || !tv.online) {
422
586
  return { ...ctx, decision: 'deferred-target-offline', reason: `pin target ${pin.preferredMachine} unknown/offline — cooperative transfer deferred (U4.2 online-gate)` };
423
587
  }
588
+ if (!sustainedOk(pin.preferredMachine)) {
589
+ return { ...ctx, decision: 'deferred-target-offline', reason: `pin target ${pin.preferredMachine} recently returned — waiting for sustained online (U4.1 §2E hysteresis)` };
590
+ }
591
+ if (this.d.hasLiveAutonomousRun) {
592
+ let live = false;
593
+ try {
594
+ live = this.d.hasLiveAutonomousRun(sessionKey);
595
+ }
596
+ catch {
597
+ live = false;
598
+ }
599
+ if (live) {
600
+ return { ...ctx, decision: 'deferred-busy', reason: 'live autonomous run — pin-driven move defers indefinitely (no deadline override, U4.1 §2E iii)' };
601
+ }
602
+ }
424
603
  const since = this.conflictSince.get(sessionKey) ?? now;
425
604
  const busy = this.d.isTopicBusy(sessionKey);
426
605
  const pastDeadline = now - since >= (this.d.safePointDeadlineMs ?? DEFAULT_SAFE_POINT_DEADLINE_MS);
@@ -447,6 +626,80 @@ export class OwnershipReconciler {
447
626
  }
448
627
  return { ...ctx, decision: 'not-my-move', reason: 'neither owner nor pin target this tick' };
449
628
  }
629
+ /**
630
+ * U4.1 §2D — the VERIFIED pin actuation state for one topic (the placement
631
+ * read's `pinState` + `pinHeldSince`). The read reflects the verified actual
632
+ * owner vs the pin, never intent alone (P20: Verify the State, Not Its
633
+ * Symbol). Derivation:
634
+ * - a live claim suspension excluding the pin → `suspended-pending-owner-return`
635
+ * (U4.2 §2.4 joint enum value; the ONE comparison authority is
636
+ * `claimSuspensionExcludesPin` — never a re-implemented comparison);
637
+ * - owner === pin target && active → `actuated`;
638
+ * - desired≠actual persisting past ws13DivergedWindowMs → `diverged`;
639
+ * - otherwise → `pending` (with the target's offline status named).
640
+ * `pinHeldSince` is the winning record's HLC PHYSICAL component (R-r2).
641
+ */
642
+ pinStateOf(sessionKey) {
643
+ const pin = this.effectivePinsRaw(/*includeOfflineAdvisory*/ true)[sessionKey];
644
+ if (!pin || !pin.pinned || !pin.preferredMachine)
645
+ return { pinned: false };
646
+ const pinHlc = pin.hlc ?? this.deriveLocalPinHlc(pin);
647
+ const base = { pinned: true, preferredMachine: pin.preferredMachine, pinHeldSince: pinHlc.physical };
648
+ // U4.2 §2.4: a claim suspension excludes the pin — derived, never written.
649
+ try {
650
+ const s = this.d.claimSuspensions?.()?.get(Number(sessionKey));
651
+ if (claimSuspensionExcludesPin(pinHlc, s)) {
652
+ return { ...base, pinState: 'suspended-pending-owner-return' };
653
+ }
654
+ }
655
+ catch { /* an unreadable annotation view reads as no suspension — the states below stay honest */ }
656
+ const rec = this.d.ownership.read(sessionKey);
657
+ const owner = rec && rec.status !== 'released' ? rec.ownerMachineId : null;
658
+ if (owner === pin.preferredMachine && rec?.status === 'active') {
659
+ return { ...base, pinState: 'actuated' };
660
+ }
661
+ const now = this.now();
662
+ const since = this.conflictSince.get(sessionKey);
663
+ if (since !== undefined && now - since >= (this.d.divergedWindowMs ?? DEFAULT_DIVERGED_WINDOW_MS)) {
664
+ return { ...base, pinState: 'diverged' };
665
+ }
666
+ // Pending — name the reason honestly (§2E: the offline pinned machine case).
667
+ let pendingReason;
668
+ try {
669
+ const view = this.d.machines().find((m) => m.machineId === pin.preferredMachine);
670
+ if (!view)
671
+ pendingReason = `pinned machine ${pin.preferredMachine} is not registered in the pool`;
672
+ else if (!view.online)
673
+ pendingReason = `pinned machine ${pin.preferredMachine} is offline`;
674
+ else if (this.d.sustainedOnline && !this.d.sustainedOnline(pin.preferredMachine)) {
675
+ pendingReason = `pinned machine ${pin.preferredMachine} recently returned — waiting for sustained online`;
676
+ }
677
+ }
678
+ catch { /* @silent-fallback-ok — the reason string is ADVISORY display detail; `pending` stands honestly on its own when the machines view is unreadable */ }
679
+ return { ...base, pinState: 'pending', ...(pendingReason ? { pendingReason } : {}) };
680
+ }
681
+ /** U4.1 §2A — GuardRegistry self-registration getter (`expectRuntime: true`
682
+ * honesty: the manifest declares a runtime report ONLY because this exists
683
+ * and server.ts registers it at boot). */
684
+ guardStatus() {
685
+ // Read-only guard-posture report: an unreadable gate reads as the SAFEST
686
+ // claim (disabled / dry-run), never a false "on".
687
+ return {
688
+ enabled: (() => { try {
689
+ return !!this.d.enabled();
690
+ }
691
+ catch {
692
+ return false; /* @silent-fallback-ok — unreadable gate reads as the safest claim (off) */
693
+ } })(),
694
+ dryRun: (() => { try {
695
+ return !!this.d.dryRun();
696
+ }
697
+ catch {
698
+ return true; /* @silent-fallback-ok — unreadable gate reads as the safest claim (dry-run) */
699
+ } })(),
700
+ lastTickAt: this.lastTickAtMs,
701
+ };
702
+ }
450
703
  /** Reconciler status (Observable Intelligence): last tick report + when, plus the
451
704
  * live enabled/dryRun gate and machine-count the reconciler actually sees. */
452
705
  status() {
@@ -1 +1 @@
1
- {"version":3,"file":"OwnershipReconciler.js","sourceRoot":"","sources":["../../src/core/OwnershipReconciler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OwnershipReconciler.js","sourceRoot":"","sources":["../../src/core/OwnershipReconciler.ts"],"names":[],"mappings":"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"}
@@ -68,9 +68,22 @@ export declare function validateTopicPlacement(tp: unknown, capabilityWhitelist:
68
68
  ok: false;
69
69
  reason: string;
70
70
  };
71
+ /**
72
+ * U4.1 §2E (R-r2-2) optional seams. `sustainedOnline`: the hard-pin fulfilment
73
+ * hysteresis — a pinned placement proceeds only when the pinned machine has
74
+ * been CONTINUOUSLY online for the sustained window (a flapping machine never
75
+ * triggers ping-pong). A machine failing the gate makes the hard pin
76
+ * `hard-pin-unavailable` → QUEUED (the shipped queued-never-rerouted contract —
77
+ * placement never drifts to another machine because the pinned one flapped).
78
+ * Absent ⇒ plain-online eligibility (today's exact behavior).
79
+ */
80
+ export interface PlacementExecutorSeams {
81
+ sustainedOnline?: (machineId: string) => boolean;
82
+ }
71
83
  export declare class PlacementExecutor {
72
84
  private readonly policy;
73
- constructor(policy?: PlacementPolicy);
85
+ private readonly seams;
86
+ constructor(policy?: PlacementPolicy, seams?: PlacementExecutorSeams);
74
87
  /** Score a candidate (lower = better): weighted load + session-ratio + mem pressure. */
75
88
  private score;
76
89
  /** Pure placement decision (§L4). Deterministic over its inputs. */
@@ -1 +1 @@
1
- {"version":3,"file":"PlacementExecutor.d.ts","sourceRoot":"","sources":["../../src/core/PlacementExecutor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,6FAA6F;IAC7F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,qGAAqG;IACrG,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9E,UAAU,EAAE;QAAE,yBAAyB,EAAE,MAAM,CAAC;QAAC,wBAAwB,EAAE,MAAM,CAAA;KAAE,CAAC;IACpF,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,QAAQ,EAAE,KAAK,CAAC,iBAAiB,GAAG,KAAK,GAAG,QAAQ,GAAG,cAAc,CAAC,CAAC;CACxE;AAED,eAAO,MAAM,wBAAwB,EAAE,eAKtC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,cAAc,CAAC;IAC9B,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,KAAK,GAAG,UAAU,GAAG,WAAW,GAAG,KAAK,CAAC;IACjD;;;;wDAIoD;IACpD,OAAO,CAAC,EAAE,OAAO,2BAA2B,EAAE,YAAY,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACrF;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,mBAAmB,CAAC;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,eAAe,CAqB1F;AAED,iHAAiH;AACjH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAqB/H;AAID,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;gBAC7B,MAAM,GAAE,eAA0C;IAK9D,wFAAwF;IACxF,OAAO,CAAC,KAAK;IAQb,oEAAoE;IACpE,MAAM,CAAC,GAAG,EAAE,gBAAgB,GAAG,iBAAiB;CAgHjD"}
1
+ {"version":3,"file":"PlacementExecutor.d.ts","sourceRoot":"","sources":["../../src/core/PlacementExecutor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,6FAA6F;IAC7F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uEAAuE;IACvE,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAC;IAChC,qGAAqG;IACrG,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9E,UAAU,EAAE;QAAE,yBAAyB,EAAE,MAAM,CAAC;QAAC,wBAAwB,EAAE,MAAM,CAAA;KAAE,CAAC;IACpF,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,QAAQ,EAAE,KAAK,CAAC,iBAAiB,GAAG,KAAK,GAAG,QAAQ,GAAG,cAAc,CAAC,CAAC;CACxE;AAED,eAAO,MAAM,wBAAwB,EAAE,eAKtC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,cAAc,CAAC;IAC9B,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,KAAK,GAAG,UAAU,GAAG,WAAW,GAAG,KAAK,CAAC;IACjD;;;;wDAIoD;IACpD,OAAO,CAAC,EAAE,OAAO,2BAA2B,EAAE,YAAY,GAAG;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACrF;AAED,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,QAAQ,GAAG,QAAQ,GAAG,mBAAmB,CAAC;IACnD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,eAAe,CAqB1F;AAED,iHAAiH;AACjH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAqB/H;AAID;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;CAClD;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyB;gBACnC,MAAM,GAAE,eAA0C,EAAE,KAAK,GAAE,sBAA2B;IAMlG,wFAAwF;IACxF,OAAO,CAAC,KAAK;IAQb,oEAAoE;IACpE,MAAM,CAAC,GAAG,EAAE,gBAAgB,GAAG,iBAAiB;CAwHjD"}
@@ -76,9 +76,11 @@ export function validateTopicPlacement(tp, capabilityWhitelist) {
76
76
  const MEM_PRESSURE_NUM = { low: 0, moderate: 1, high: 2, critical: 3 };
77
77
  export class PlacementExecutor {
78
78
  policy;
79
- constructor(policy = DEFAULT_PLACEMENT_POLICY) {
79
+ seams;
80
+ constructor(policy = DEFAULT_PLACEMENT_POLICY, seams = {}) {
80
81
  validatePlacementPolicy(policy);
81
82
  this.policy = policy;
83
+ this.seams = seams;
82
84
  }
83
85
  /** Score a candidate (lower = better): weighted load + session-ratio + mem pressure. */
84
86
  score(m) {
@@ -157,7 +159,20 @@ export class PlacementExecutor {
157
159
  // the decision reason carries the quota note so the caller can surface it.
158
160
  if (tp.pinned && tp.preferredMachine) {
159
161
  const pinned = eligible.find((m) => m.machineId === tp.preferredMachine);
160
- if (!pinned) {
162
+ // U4.1 §2E (i): fulfilment requires SUSTAINED online — a pinned machine
163
+ // that only just flapped back on is treated as unavailable (→ QUEUED,
164
+ // never re-routed; the same honest contract as offline). Absent seam /
165
+ // seam fault ⇒ plain-online (today's behavior — fail toward placement).
166
+ let sustainedOk = true;
167
+ if (pinned && this.seams.sustainedOnline) {
168
+ try {
169
+ sustainedOk = this.seams.sustainedOnline(pinned.machineId);
170
+ }
171
+ catch {
172
+ sustainedOk = true; /* @silent-fallback-ok — a broken hysteresis signal degrades to plain-online eligibility (today's exact behavior): fail toward PLACEMENT, never a wedged pin (U4.1 §2E) */
173
+ }
174
+ }
175
+ if (!pinned || !sustainedOk) {
161
176
  return { chosenMachine: null, score: 0, reason: 'hard-pin-unavailable', outcome: 'queued', escalationReason: 'hard-pin-unsatisfiable' };
162
177
  }
163
178
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"PlacementExecutor.js","sourceRoot":"","sources":["../../src/core/PlacementExecutor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlacementExecutor.js","sourceRoot":"","sources":["../../src/core/PlacementExecutor.ts"],"names":[],"mappings":"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"}
@@ -153,11 +153,13 @@ export declare function migrateConfigTmuxResilienceDevGate(config: Record<string
153
153
  */
154
154
  export declare function migrateConfigStateSyncStoresDevGate(config: Record<string, unknown>): boolean;
155
155
  /**
156
- * Strip default-shaped literal `false` for the 5 seamlessness coherence flags so
156
+ * Strip default-shaped literal `false` for the seamlessness coherence flags so
157
157
  * the developmentAgent gate resolves them (live on dev, dark on fleet) — exactly the
158
- * ws44PoolLinks / ws44PoolCache invariant, applied to ws3OneVoice / ws13Reconcile /
158
+ * ws44PoolLinks / ws44PoolCache invariant, applied to ws3OneVoice /
159
159
  * ws41DurableAck / ws43RoleGuard / ws43JournalLease (operator directive 2026-06-13,
160
- * topic 13481). An existing agent that ran the old ConfigDefaults carries an explicit
160
+ * topic 13481; ws13Reconcile removed by U4.1 an explicit `false` is now the
161
+ * operator's durable rollback lever and survives migration). An existing agent
162
+ * that ran the old ConfigDefaults carries an explicit
161
163
  * `false` per flag, which (being explicit) would keep resolveDevAgentGate DARK even on
162
164
  * a dev agent. Rules per flag:
163
165
  * - absent → no-op. The gate already decides correctly.