@githolon/dsl 0.113.4 → 0.114.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 (58) hide show
  1. package/assets/operation-contract.wasm +0 -0
  2. package/compile_package.mjs +23 -3
  3. package/compile_proof.d.mts +7 -0
  4. package/compile_proof.mjs +38 -3
  5. package/dart/CHANGELOG.md +20 -0
  6. package/dart/lib/src/application_framework_calls.dart +9 -5
  7. package/dart/lib/src/generated_call.dart +14 -3
  8. package/dart/lib/src/nms_generated_runtime.dart +7 -0
  9. package/dart/lib/src/node_runner_transport.dart +77 -8
  10. package/dart/lib/src/nomos_trace.dart +107 -0
  11. package/dart/lib/src/reception/dart_reception.dart +148 -11
  12. package/dart/lib/src/rows_watch.dart +390 -0
  13. package/dart/lib/src/runner/node-entry.mjs +2803 -690
  14. package/dart/lib/src/sync_status_projection.dart +94 -1
  15. package/dart/lib/src/sync_status_reducer.dart +5 -2
  16. package/dart/lib/src/test_harness.dart +107 -41
  17. package/dart/lib/src/testing/test_peer.dart +107 -99
  18. package/dart/lib/src/testing/test_peer_host.dart +305 -0
  19. package/dart/lib/src/typed_watch_registry.dart +26 -3
  20. package/dart/pubspec.lock +1 -1
  21. package/dart/pubspec.yaml +2 -2
  22. package/dart/test/background_model_adoption_test.dart +1 -0
  23. package/dart/test/custodian_warming_test.dart +105 -0
  24. package/dart/test/fixtures/offer_watch_order_peer.dart +74 -0
  25. package/dart/test/kernel_author_after_read_test.dart +6 -3
  26. package/dart/test/kernel_fence_test.dart +4 -1
  27. package/dart/test/model_adoption_test.dart +17 -0
  28. package/dart/test/nomos_trace_test.dart +91 -0
  29. package/dart/test/own_offer_watch_order_test.dart +90 -0
  30. package/dart/test/receiving_group_open_test.dart +4 -8
  31. package/dart/test/replica_readiness_test.dart +14 -4
  32. package/dart/test/rows_watch_test.dart +331 -0
  33. package/dart/test/test_peer_host_selection_test.dart +49 -0
  34. package/dart_types/CHANGELOG.md +15 -0
  35. package/dart_types/lib/src/approved_model.dart +22 -5
  36. package/dart_types/lib/src/proto/nomos/kernel/v1/kernel.pb.dart +535 -1
  37. package/dart_types/lib/src/proto/nomos/kernel/v1/kernel.pbenum.dart +65 -0
  38. package/dart_types/lib/src/proto/nomos/runtime/v2/application_desk.pb.dart +14 -0
  39. package/dart_types/lib/src/proto/nomos/runtime/v2/correspondence_desk.pb.dart +359 -2
  40. package/dart_types/lib/src/proto/nomos/runtime/v2/correspondence_desk.pbenum.dart +65 -0
  41. package/dart_types/lib/src/proto/nomos/runtime/v2/model_adoption_desk.pb.dart +20 -2
  42. package/dart_types/lib/src/proto/nomos/runtime/v2/observability_desk.pb.dart +278 -9
  43. package/dart_types/lib/src/proto/nomos/runtime/v2/receiving_group_desk.pb.dart +7 -85
  44. package/dart_types/lib/src/proto/nomos/runtime/v2/residency_desk.pb.dart +35 -0
  45. package/dart_types/pubspec.yaml +1 -1
  46. package/package.json +4 -2
  47. package/src/build_provenance.ts +7 -2
  48. package/src/codegen_dart_client.ts +21 -9
  49. package/src/codegen_dart_facade.ts +1 -0
  50. package/src/codegen_dart_framework_calls.ts +12 -9
  51. package/src/codegen_dart_scenario.ts +7 -0
  52. package/src/codegen_ts.ts +26 -24
  53. package/src/compile_package_main.ts +65 -61
  54. package/src/engine_entry.ts +4 -48
  55. package/src/law_unit_set_identity.ts +44 -0
  56. package/src/query/compile.ts +0 -0
  57. package/src/release_inspection.ts +24 -0
  58. package/src/release_publication.ts +298 -0
@@ -28,6 +28,7 @@ class AdoptApplicationModelRequest extends $pb.GeneratedMessage {
28
28
  $core.Iterable<$core.String>? domainKeys,
29
29
  $core.String? acceptanceReason,
30
30
  $core.bool? dryRun,
31
+ $core.String? unitSet,
31
32
  }) {
32
33
  final result = create();
33
34
  if (session != null) result.session = session;
@@ -35,6 +36,7 @@ class AdoptApplicationModelRequest extends $pb.GeneratedMessage {
35
36
  if (domainKeys != null) result.domainKeys.addAll(domainKeys);
36
37
  if (acceptanceReason != null) result.acceptanceReason = acceptanceReason;
37
38
  if (dryRun != null) result.dryRun = dryRun;
39
+ if (unitSet != null) result.unitSet = unitSet;
38
40
  return result;
39
41
  }
40
42
 
@@ -57,6 +59,7 @@ class AdoptApplicationModelRequest extends $pb.GeneratedMessage {
57
59
  ..pPS(3, _omitFieldNames ? '' : 'domainKeys')
58
60
  ..aOS(4, _omitFieldNames ? '' : 'acceptanceReason')
59
61
  ..aOB(5, _omitFieldNames ? '' : 'dryRun')
62
+ ..aOS(6, _omitFieldNames ? '' : 'unitSet')
60
63
  ..hasRequiredFields = false;
61
64
 
62
65
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -92,8 +95,10 @@ class AdoptApplicationModelRequest extends $pb.GeneratedMessage {
92
95
  @$pb.TagNumber(1)
93
96
  void clearSession() => $_clearField(1);
94
97
 
95
- /// The approved package identity from the generated descriptor: the kernel-derived
96
- /// content identity of the compiled `.law.usdz` closure (64 lowercase hex).
98
+ /// The approved package identity from the generated descriptor: the content
99
+ /// identity of the compiled `.law.usdz` closure (64 lowercase hex). It names the
100
+ /// bytes the shell supplies when the desk stages, and the law a package-lane
101
+ /// workspace serves; it is not what a unit-lane workspace serves.
97
102
  @$pb.TagNumber(2)
98
103
  $core.String get lawSha256 => $_getSZ(1);
99
104
  @$pb.TagNumber(2)
@@ -130,6 +135,19 @@ class AdoptApplicationModelRequest extends $pb.GeneratedMessage {
130
135
  $core.bool hasDryRun() => $_has(4);
131
136
  @$pb.TagNumber(5)
132
137
  void clearDryRun() => $_clearField(5);
138
+
139
+ /// THE LAW the application approves: the unit set identity of its compiled
140
+ /// `build/<name>.units` (64 lowercase hex, CAP-773). A unit-lane workspace is on
141
+ /// the approved law when the closure it serves is composed from exactly these
142
+ /// units, whatever its kernel's composer. REQUIRED.
143
+ @$pb.TagNumber(6)
144
+ $core.String get unitSet => $_getSZ(5);
145
+ @$pb.TagNumber(6)
146
+ set unitSet($core.String value) => $_setString(5, value);
147
+ @$pb.TagNumber(6)
148
+ $core.bool hasUnitSet() => $_has(5);
149
+ @$pb.TagNumber(6)
150
+ void clearUnitSet() => $_clearField(6);
133
151
  }
134
152
 
135
153
  class ApplicationModelAdopted extends $pb.GeneratedMessage {
@@ -16,7 +16,8 @@ import 'package:fixnum/fixnum.dart' as $fixnum;
16
16
  import 'package:protobuf/protobuf.dart' as $pb;
17
17
 
18
18
  import '../../../google/protobuf/any.pb.dart' as $7;
19
- import '../../kernel/v1/progress.pb.dart' as $8;
19
+ import '../../kernel/v1/kernel.pb.dart' as $8;
20
+ import '../../kernel/v1/progress.pb.dart' as $9;
20
21
  import 'correspondence_desk.pb.dart' as $2;
21
22
  import 'custody_desk.pb.dart' as $5;
22
23
  import 'maintenance_desk.pb.dart' as $1;
@@ -618,6 +619,7 @@ enum RuntimeEvent_Event {
618
619
  foreignPlacementIgnored,
619
620
  bindingQuarantined,
620
621
  writePreparation,
622
+ readAccessPreparation,
621
623
  notSet
622
624
  }
623
625
 
@@ -646,6 +648,7 @@ class RuntimeEvent extends $pb.GeneratedMessage {
646
648
  $6.ForeignPlacementIgnored? foreignPlacementIgnored,
647
649
  $6.QuarantinedBinding? bindingQuarantined,
648
650
  WritePreparation? writePreparation,
651
+ ReadAccessPreparation? readAccessPreparation,
649
652
  }) {
650
653
  final result = create();
651
654
  if (sequence != null) result.sequence = sequence;
@@ -678,6 +681,8 @@ class RuntimeEvent extends $pb.GeneratedMessage {
678
681
  if (bindingQuarantined != null)
679
682
  result.bindingQuarantined = bindingQuarantined;
680
683
  if (writePreparation != null) result.writePreparation = writePreparation;
684
+ if (readAccessPreparation != null)
685
+ result.readAccessPreparation = readAccessPreparation;
681
686
  return result;
682
687
  }
683
688
 
@@ -713,6 +718,7 @@ class RuntimeEvent extends $pb.GeneratedMessage {
713
718
  28: RuntimeEvent_Event.foreignPlacementIgnored,
714
719
  29: RuntimeEvent_Event.bindingQuarantined,
715
720
  30: RuntimeEvent_Event.writePreparation,
721
+ 31: RuntimeEvent_Event.readAccessPreparation,
716
722
  0: RuntimeEvent_Event.notSet
717
723
  };
718
724
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
@@ -741,7 +747,8 @@ class RuntimeEvent extends $pb.GeneratedMessage {
741
747
  27,
742
748
  28,
743
749
  29,
744
- 30
750
+ 30,
751
+ 31
745
752
  ])
746
753
  ..a<$fixnum.Int64>(
747
754
  1, _omitFieldNames ? '' : 'sequence', $pb.PbFieldType.OU6,
@@ -796,6 +803,9 @@ class RuntimeEvent extends $pb.GeneratedMessage {
796
803
  subBuilder: $6.QuarantinedBinding.create)
797
804
  ..aOM<WritePreparation>(30, _omitFieldNames ? '' : 'writePreparation',
798
805
  subBuilder: WritePreparation.create)
806
+ ..aOM<ReadAccessPreparation>(
807
+ 31, _omitFieldNames ? '' : 'readAccessPreparation',
808
+ subBuilder: ReadAccessPreparation.create)
799
809
  ..hasRequiredFields = false;
800
810
 
801
811
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -838,6 +848,7 @@ class RuntimeEvent extends $pb.GeneratedMessage {
838
848
  @$pb.TagNumber(28)
839
849
  @$pb.TagNumber(29)
840
850
  @$pb.TagNumber(30)
851
+ @$pb.TagNumber(31)
841
852
  RuntimeEvent_Event whichEvent() => _RuntimeEvent_EventByTag[$_whichOneof(0)]!;
842
853
  @$pb.TagNumber(10)
843
854
  @$pb.TagNumber(11)
@@ -860,6 +871,7 @@ class RuntimeEvent extends $pb.GeneratedMessage {
860
871
  @$pb.TagNumber(28)
861
872
  @$pb.TagNumber(29)
862
873
  @$pb.TagNumber(30)
874
+ @$pb.TagNumber(31)
863
875
  void clearEvent() => $_clearField($_whichOneof(0));
864
876
 
865
877
  @$pb.TagNumber(1)
@@ -1119,6 +1131,18 @@ class RuntimeEvent extends $pb.GeneratedMessage {
1119
1131
  void clearWritePreparation() => $_clearField(30);
1120
1132
  @$pb.TagNumber(30)
1121
1133
  WritePreparation ensureWritePreparation() => $_ensure(22);
1134
+
1135
+ @$pb.TagNumber(31)
1136
+ ReadAccessPreparation get readAccessPreparation => $_getN(23);
1137
+ @$pb.TagNumber(31)
1138
+ set readAccessPreparation(ReadAccessPreparation value) =>
1139
+ $_setField(31, value);
1140
+ @$pb.TagNumber(31)
1141
+ $core.bool hasReadAccessPreparation() => $_has(23);
1142
+ @$pb.TagNumber(31)
1143
+ void clearReadAccessPreparation() => $_clearField(31);
1144
+ @$pb.TagNumber(31)
1145
+ ReadAccessPreparation ensureReadAccessPreparation() => $_ensure(23);
1122
1146
  }
1123
1147
 
1124
1148
  /// Application-wide (no session): the replica follows this peer keeps up with in the background.
@@ -1241,6 +1265,7 @@ class FollowObservation extends $pb.GeneratedMessage {
1241
1265
  $core.String? activeEffect,
1242
1266
  $core.int? unsent,
1243
1267
  $core.int? unacknowledged,
1268
+ CustodianWarming? custodianWarming,
1244
1269
  }) {
1245
1270
  final result = create();
1246
1271
  if (workspace != null) result.workspace = workspace;
@@ -1253,6 +1278,7 @@ class FollowObservation extends $pb.GeneratedMessage {
1253
1278
  if (activeEffect != null) result.activeEffect = activeEffect;
1254
1279
  if (unsent != null) result.unsent = unsent;
1255
1280
  if (unacknowledged != null) result.unacknowledged = unacknowledged;
1281
+ if (custodianWarming != null) result.custodianWarming = custodianWarming;
1256
1282
  return result;
1257
1283
  }
1258
1284
 
@@ -1286,6 +1312,8 @@ class FollowObservation extends $pb.GeneratedMessage {
1286
1312
  ..aI(9, _omitFieldNames ? '' : 'unsent', fieldType: $pb.PbFieldType.OU3)
1287
1313
  ..aI(10, _omitFieldNames ? '' : 'unacknowledged',
1288
1314
  fieldType: $pb.PbFieldType.OU3)
1315
+ ..aOM<CustodianWarming>(11, _omitFieldNames ? '' : 'custodianWarming',
1316
+ subBuilder: CustodianWarming.create)
1289
1317
  ..hasRequiredFields = false;
1290
1318
 
1291
1319
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -1325,7 +1353,7 @@ class FollowObservation extends $pb.GeneratedMessage {
1325
1353
  @$pb.TagNumber(2)
1326
1354
  void clearPhase() => $_clearField(2);
1327
1355
 
1328
- /// A settled follow with its upstream link open receives new frontiers now.
1356
+ /// Its upstream live link is open, independently of settlement (CAP-683); settled and live is current.
1329
1357
  @$pb.TagNumber(3)
1330
1358
  $core.bool get live => $_getBF(2);
1331
1359
  @$pb.TagNumber(3)
@@ -1402,6 +1430,127 @@ class FollowObservation extends $pb.GeneratedMessage {
1402
1430
  $core.bool hasUnacknowledged() => $_has(9);
1403
1431
  @$pb.TagNumber(10)
1404
1432
  void clearUnacknowledged() => $_clearField(10);
1433
+
1434
+ /// The custodian answered that it is opening this workspace from verified custody (warming up
1435
+ /// after a restart). Present while that is the only reason this follow is not yet current. It is
1436
+ /// not an error: nothing was refused, nothing executed, and the follow retries at the
1437
+ /// custodian's own hint. Its absence means any retry shown is an ordinary error retry. Older
1438
+ /// readers ignore it and see the unchanged phase.
1439
+ @$pb.TagNumber(11)
1440
+ CustodianWarming get custodianWarming => $_getN(10);
1441
+ @$pb.TagNumber(11)
1442
+ set custodianWarming(CustodianWarming value) => $_setField(11, value);
1443
+ @$pb.TagNumber(11)
1444
+ $core.bool hasCustodianWarming() => $_has(10);
1445
+ @$pb.TagNumber(11)
1446
+ void clearCustodianWarming() => $_clearField(11);
1447
+ @$pb.TagNumber(11)
1448
+ CustodianWarming ensureCustodianWarming() => $_ensure(10);
1449
+ }
1450
+
1451
+ /// A typed "custodian warming up" posture for one workspace, carried from the workspace-opening
1452
+ /// answer (or the edge relay's opening reply) through the follow round to observers.
1453
+ class CustodianWarming extends $pb.GeneratedMessage {
1454
+ factory CustodianWarming({
1455
+ $fixnum.Int64? sinceUnixMillis,
1456
+ $fixnum.Int64? expectedReadyUnixMillis,
1457
+ $fixnum.Int64? stalledAfterUnixMillis,
1458
+ $core.bool? stalled,
1459
+ }) {
1460
+ final result = create();
1461
+ if (sinceUnixMillis != null) result.sinceUnixMillis = sinceUnixMillis;
1462
+ if (expectedReadyUnixMillis != null)
1463
+ result.expectedReadyUnixMillis = expectedReadyUnixMillis;
1464
+ if (stalledAfterUnixMillis != null)
1465
+ result.stalledAfterUnixMillis = stalledAfterUnixMillis;
1466
+ if (stalled != null) result.stalled = stalled;
1467
+ return result;
1468
+ }
1469
+
1470
+ CustodianWarming._();
1471
+
1472
+ factory CustodianWarming.fromBuffer($core.List<$core.int> data,
1473
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
1474
+ create()..mergeFromBuffer(data, registry);
1475
+ factory CustodianWarming.fromJson($core.String json,
1476
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
1477
+ create()..mergeFromJson(json, registry);
1478
+
1479
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(
1480
+ _omitMessageNames ? '' : 'CustodianWarming',
1481
+ package:
1482
+ const $pb.PackageName(_omitMessageNames ? '' : 'nomos.runtime.v2'),
1483
+ createEmptyInstance: create)
1484
+ ..a<$fixnum.Int64>(
1485
+ 1, _omitFieldNames ? '' : 'sinceUnixMillis', $pb.PbFieldType.OU6,
1486
+ defaultOrMaker: $fixnum.Int64.ZERO)
1487
+ ..a<$fixnum.Int64>(2, _omitFieldNames ? '' : 'expectedReadyUnixMillis',
1488
+ $pb.PbFieldType.OU6,
1489
+ defaultOrMaker: $fixnum.Int64.ZERO)
1490
+ ..a<$fixnum.Int64>(
1491
+ 3, _omitFieldNames ? '' : 'stalledAfterUnixMillis', $pb.PbFieldType.OU6,
1492
+ defaultOrMaker: $fixnum.Int64.ZERO)
1493
+ ..aOB(4, _omitFieldNames ? '' : 'stalled')
1494
+ ..hasRequiredFields = false;
1495
+
1496
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
1497
+ CustodianWarming clone() => deepCopy();
1498
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
1499
+ CustodianWarming copyWith(void Function(CustodianWarming) updates) =>
1500
+ super.copyWith((message) => updates(message as CustodianWarming))
1501
+ as CustodianWarming;
1502
+
1503
+ @$core.override
1504
+ $pb.BuilderInfo get info_ => _i;
1505
+
1506
+ @$core.pragma('dart2js:noInline')
1507
+ static CustodianWarming create() => CustodianWarming._();
1508
+ @$core.override
1509
+ CustodianWarming createEmptyInstance() => create();
1510
+ @$core.pragma('dart2js:noInline')
1511
+ static CustodianWarming getDefault() => _defaultInstance ??=
1512
+ $pb.GeneratedMessage.$_defaultFor<CustodianWarming>(create);
1513
+ static CustodianWarming? _defaultInstance;
1514
+
1515
+ /// When this office first met the opening answer in the current warming spell.
1516
+ @$pb.TagNumber(1)
1517
+ $fixnum.Int64 get sinceUnixMillis => $_getI64(0);
1518
+ @$pb.TagNumber(1)
1519
+ set sinceUnixMillis($fixnum.Int64 value) => $_setInt64(0, value);
1520
+ @$pb.TagNumber(1)
1521
+ $core.bool hasSinceUnixMillis() => $_has(0);
1522
+ @$pb.TagNumber(1)
1523
+ void clearSinceUnixMillis() => $_clearField(1);
1524
+
1525
+ /// When the custodian said it expects to be ready: the latest answer's time plus its retry hint.
1526
+ @$pb.TagNumber(2)
1527
+ $fixnum.Int64 get expectedReadyUnixMillis => $_getI64(1);
1528
+ @$pb.TagNumber(2)
1529
+ set expectedReadyUnixMillis($fixnum.Int64 value) => $_setInt64(1, value);
1530
+ @$pb.TagNumber(2)
1531
+ $core.bool hasExpectedReadyUnixMillis() => $_has(1);
1532
+ @$pb.TagNumber(2)
1533
+ void clearExpectedReadyUnixMillis() => $_clearField(2);
1534
+
1535
+ /// After this moment warming has run well past what the custodian promised and counts as stalled.
1536
+ @$pb.TagNumber(3)
1537
+ $fixnum.Int64 get stalledAfterUnixMillis => $_getI64(2);
1538
+ @$pb.TagNumber(3)
1539
+ set stalledAfterUnixMillis($fixnum.Int64 value) => $_setInt64(2, value);
1540
+ @$pb.TagNumber(3)
1541
+ $core.bool hasStalledAfterUnixMillis() => $_has(2);
1542
+ @$pb.TagNumber(3)
1543
+ void clearStalledAfterUnixMillis() => $_clearField(3);
1544
+
1545
+ /// Warming had already passed `stalled_after_unix_millis` when this report was made.
1546
+ @$pb.TagNumber(4)
1547
+ $core.bool get stalled => $_getBF(3);
1548
+ @$pb.TagNumber(4)
1549
+ set stalled($core.bool value) => $_setBool(3, value);
1550
+ @$pb.TagNumber(4)
1551
+ $core.bool hasStalled() => $_has(3);
1552
+ @$pb.TagNumber(4)
1553
+ void clearStalled() => $_clearField(4);
1405
1554
  }
1406
1555
 
1407
1556
  /// A background physical effect, equivalent to the foreground pending paper.
@@ -1542,6 +1691,8 @@ class WatchChanged extends $pb.GeneratedMessage {
1542
1691
  RuntimeFailure? failure,
1543
1692
  $7.Any? applicationResult,
1544
1693
  $fixnum.Int64? integerValue,
1694
+ $8.ApplicationResultDelta? applicationDelta,
1695
+ $core.String? resultFrontier,
1545
1696
  }) {
1546
1697
  final result = create();
1547
1698
  if (subscriptionId != null) result.subscriptionId = subscriptionId;
@@ -1549,6 +1700,8 @@ class WatchChanged extends $pb.GeneratedMessage {
1549
1700
  if (failure != null) result.failure = failure;
1550
1701
  if (applicationResult != null) result.applicationResult = applicationResult;
1551
1702
  if (integerValue != null) result.integerValue = integerValue;
1703
+ if (applicationDelta != null) result.applicationDelta = applicationDelta;
1704
+ if (resultFrontier != null) result.resultFrontier = resultFrontier;
1552
1705
  return result;
1553
1706
  }
1554
1707
 
@@ -1574,6 +1727,10 @@ class WatchChanged extends $pb.GeneratedMessage {
1574
1727
  ..aOM<$7.Any>(4, _omitFieldNames ? '' : 'applicationResult',
1575
1728
  subBuilder: $7.Any.create)
1576
1729
  ..aInt64(5, _omitFieldNames ? '' : 'integerValue')
1730
+ ..aOM<$8.ApplicationResultDelta>(
1731
+ 6, _omitFieldNames ? '' : 'applicationDelta',
1732
+ subBuilder: $8.ApplicationResultDelta.create)
1733
+ ..aOS(7, _omitFieldNames ? '' : 'resultFrontier')
1577
1734
  ..hasRequiredFields = false;
1578
1735
 
1579
1736
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -1647,6 +1804,30 @@ class WatchChanged extends $pb.GeneratedMessage {
1647
1804
  $core.bool hasIntegerValue() => $_has(4);
1648
1805
  @$pb.TagNumber(5)
1649
1806
  void clearIntegerValue() => $_clearField(5);
1807
+
1808
+ /// Incremental change to the rows this subscription last delivered (only when the watch asked
1809
+ /// for `accept_row_delta`). Its `base_frontier` is the frontier of the previous delivery; a
1810
+ /// consumer that holds another position must fail the watch, never guess.
1811
+ @$pb.TagNumber(6)
1812
+ $8.ApplicationResultDelta get applicationDelta => $_getN(5);
1813
+ @$pb.TagNumber(6)
1814
+ set applicationDelta($8.ApplicationResultDelta value) => $_setField(6, value);
1815
+ @$pb.TagNumber(6)
1816
+ $core.bool hasApplicationDelta() => $_has(5);
1817
+ @$pb.TagNumber(6)
1818
+ void clearApplicationDelta() => $_clearField(6);
1819
+ @$pb.TagNumber(6)
1820
+ $8.ApplicationResultDelta ensureApplicationDelta() => $_ensure(5);
1821
+
1822
+ /// The read position of a complete `application_result`, for a consumer that merges deltas.
1823
+ @$pb.TagNumber(7)
1824
+ $core.String get resultFrontier => $_getSZ(6);
1825
+ @$pb.TagNumber(7)
1826
+ set resultFrontier($core.String value) => $_setString(6, value);
1827
+ @$pb.TagNumber(7)
1828
+ $core.bool hasResultFrontier() => $_has(6);
1829
+ @$pb.TagNumber(7)
1830
+ void clearResultFrontier() => $_clearField(7);
1650
1831
  }
1651
1832
 
1652
1833
  class SyncCompleted extends $pb.GeneratedMessage {
@@ -1737,9 +1918,11 @@ class SyncCompleted extends $pb.GeneratedMessage {
1737
1918
  class LinkChanged extends $pb.GeneratedMessage {
1738
1919
  factory LinkChanged({
1739
1920
  LinkStatus? status,
1921
+ $2.LiveLinkClosure? closure,
1740
1922
  }) {
1741
1923
  final result = create();
1742
1924
  if (status != null) result.status = status;
1925
+ if (closure != null) result.closure = closure;
1743
1926
  return result;
1744
1927
  }
1745
1928
 
@@ -1759,6 +1942,8 @@ class LinkChanged extends $pb.GeneratedMessage {
1759
1942
  createEmptyInstance: create)
1760
1943
  ..aE<LinkStatus>(1, _omitFieldNames ? '' : 'status',
1761
1944
  enumValues: LinkStatus.values)
1945
+ ..aOM<$2.LiveLinkClosure>(2, _omitFieldNames ? '' : 'closure',
1946
+ subBuilder: $2.LiveLinkClosure.create)
1762
1947
  ..hasRequiredFields = false;
1763
1948
 
1764
1949
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -1788,6 +1973,18 @@ class LinkChanged extends $pb.GeneratedMessage {
1788
1973
  $core.bool hasStatus() => $_has(0);
1789
1974
  @$pb.TagNumber(1)
1790
1975
  void clearStatus() => $_clearField(1);
1976
+
1977
+ /// On CLOSED: how and when the last connection ended, and what it had carried (CAP-683).
1978
+ @$pb.TagNumber(2)
1979
+ $2.LiveLinkClosure get closure => $_getN(1);
1980
+ @$pb.TagNumber(2)
1981
+ set closure($2.LiveLinkClosure value) => $_setField(2, value);
1982
+ @$pb.TagNumber(2)
1983
+ $core.bool hasClosure() => $_has(1);
1984
+ @$pb.TagNumber(2)
1985
+ void clearClosure() => $_clearField(2);
1986
+ @$pb.TagNumber(2)
1987
+ $2.LiveLinkClosure ensureClosure() => $_ensure(1);
1791
1988
  }
1792
1989
 
1793
1990
  class SignalChanged extends $pb.GeneratedMessage {
@@ -2068,7 +2265,7 @@ class RuntimeSpan extends $pb.GeneratedMessage {
2068
2265
 
2069
2266
  class KernelProgressObserved extends $pb.GeneratedMessage {
2070
2267
  factory KernelProgressObserved({
2071
- $8.KernelProgressSnapshot? snapshot,
2268
+ $9.KernelProgressSnapshot? snapshot,
2072
2269
  $fixnum.Int64? hostObservedElapsedMicros,
2073
2270
  $fixnum.Int64? hostObservedPhaseElapsedMicros,
2074
2271
  $fixnum.Int64? processResidentBytes,
@@ -2101,8 +2298,8 @@ class KernelProgressObserved extends $pb.GeneratedMessage {
2101
2298
  package:
2102
2299
  const $pb.PackageName(_omitMessageNames ? '' : 'nomos.runtime.v2'),
2103
2300
  createEmptyInstance: create)
2104
- ..aOM<$8.KernelProgressSnapshot>(1, _omitFieldNames ? '' : 'snapshot',
2105
- subBuilder: $8.KernelProgressSnapshot.create)
2301
+ ..aOM<$9.KernelProgressSnapshot>(1, _omitFieldNames ? '' : 'snapshot',
2302
+ subBuilder: $9.KernelProgressSnapshot.create)
2106
2303
  ..a<$fixnum.Int64>(2, _omitFieldNames ? '' : 'hostObservedElapsedMicros',
2107
2304
  $pb.PbFieldType.OU6,
2108
2305
  defaultOrMaker: $fixnum.Int64.ZERO)
@@ -2140,15 +2337,15 @@ class KernelProgressObserved extends $pb.GeneratedMessage {
2140
2337
  static KernelProgressObserved? _defaultInstance;
2141
2338
 
2142
2339
  @$pb.TagNumber(1)
2143
- $8.KernelProgressSnapshot get snapshot => $_getN(0);
2340
+ $9.KernelProgressSnapshot get snapshot => $_getN(0);
2144
2341
  @$pb.TagNumber(1)
2145
- set snapshot($8.KernelProgressSnapshot value) => $_setField(1, value);
2342
+ set snapshot($9.KernelProgressSnapshot value) => $_setField(1, value);
2146
2343
  @$pb.TagNumber(1)
2147
2344
  $core.bool hasSnapshot() => $_has(0);
2148
2345
  @$pb.TagNumber(1)
2149
2346
  void clearSnapshot() => $_clearField(1);
2150
2347
  @$pb.TagNumber(1)
2151
- $8.KernelProgressSnapshot ensureSnapshot() => $_ensure(0);
2348
+ $9.KernelProgressSnapshot ensureSnapshot() => $_ensure(0);
2152
2349
 
2153
2350
  @$pb.TagNumber(2)
2154
2351
  $fixnum.Int64 get hostObservedElapsedMicros => $_getI64(1);
@@ -2341,6 +2538,78 @@ class WritePreparation extends $pb.GeneratedMessage {
2341
2538
  void clearWorkspace() => $_clearField(2);
2342
2539
  }
2343
2540
 
2541
+ /// Transient observation: a session read was refused only because this device is
2542
+ /// not yet an active signer of a principal who holds the read there, and the office
2543
+ /// is enrolling it through the application's console route before asking again.
2544
+ /// The read itself still ends typed: rows, CREDENTIAL_UNAVAILABLE or a refusal.
2545
+ class ReadAccessPreparation extends $pb.GeneratedMessage {
2546
+ factory ReadAccessPreparation({
2547
+ $core.String? requestId,
2548
+ $core.String? workspace,
2549
+ }) {
2550
+ final result = create();
2551
+ if (requestId != null) result.requestId = requestId;
2552
+ if (workspace != null) result.workspace = workspace;
2553
+ return result;
2554
+ }
2555
+
2556
+ ReadAccessPreparation._();
2557
+
2558
+ factory ReadAccessPreparation.fromBuffer($core.List<$core.int> data,
2559
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
2560
+ create()..mergeFromBuffer(data, registry);
2561
+ factory ReadAccessPreparation.fromJson($core.String json,
2562
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
2563
+ create()..mergeFromJson(json, registry);
2564
+
2565
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(
2566
+ _omitMessageNames ? '' : 'ReadAccessPreparation',
2567
+ package:
2568
+ const $pb.PackageName(_omitMessageNames ? '' : 'nomos.runtime.v2'),
2569
+ createEmptyInstance: create)
2570
+ ..aOS(1, _omitFieldNames ? '' : 'requestId')
2571
+ ..aOS(2, _omitFieldNames ? '' : 'workspace')
2572
+ ..hasRequiredFields = false;
2573
+
2574
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
2575
+ ReadAccessPreparation clone() => deepCopy();
2576
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
2577
+ ReadAccessPreparation copyWith(
2578
+ void Function(ReadAccessPreparation) updates) =>
2579
+ super.copyWith((message) => updates(message as ReadAccessPreparation))
2580
+ as ReadAccessPreparation;
2581
+
2582
+ @$core.override
2583
+ $pb.BuilderInfo get info_ => _i;
2584
+
2585
+ @$core.pragma('dart2js:noInline')
2586
+ static ReadAccessPreparation create() => ReadAccessPreparation._();
2587
+ @$core.override
2588
+ ReadAccessPreparation createEmptyInstance() => create();
2589
+ @$core.pragma('dart2js:noInline')
2590
+ static ReadAccessPreparation getDefault() => _defaultInstance ??=
2591
+ $pb.GeneratedMessage.$_defaultFor<ReadAccessPreparation>(create);
2592
+ static ReadAccessPreparation? _defaultInstance;
2593
+
2594
+ @$pb.TagNumber(1)
2595
+ $core.String get requestId => $_getSZ(0);
2596
+ @$pb.TagNumber(1)
2597
+ set requestId($core.String value) => $_setString(0, value);
2598
+ @$pb.TagNumber(1)
2599
+ $core.bool hasRequestId() => $_has(0);
2600
+ @$pb.TagNumber(1)
2601
+ void clearRequestId() => $_clearField(1);
2602
+
2603
+ @$pb.TagNumber(2)
2604
+ $core.String get workspace => $_getSZ(1);
2605
+ @$pb.TagNumber(2)
2606
+ set workspace($core.String value) => $_setString(1, value);
2607
+ @$pb.TagNumber(2)
2608
+ $core.bool hasWorkspace() => $_has(1);
2609
+ @$pb.TagNumber(2)
2610
+ void clearWorkspace() => $_clearField(2);
2611
+ }
2612
+
2344
2613
  const $core.bool _omitFieldNames =
2345
2614
  $core.bool.fromEnvironment('protobuf.omit_field_names');
2346
2615
  const $core.bool _omitMessageNames =
@@ -21,69 +21,6 @@ export 'package:protobuf/protobuf.dart' show GeneratedMessageGenericExtensions;
21
21
 
22
22
  export 'receiving_group_desk.pbenum.dart';
23
23
 
24
- /// The application's law package identity, carried from the compiled
25
- /// application descriptor: the closure that serves the injected
26
- /// application-home domain. The child installs it in its genesis after the
27
- /// parent platform's own Nomos controller, whose identity is per-platform
28
- /// installed state the desk observes from the provider at birth (never a
29
- /// compile-time constant); the kernel resolves both closures by hash from the
30
- /// parent's custody, so a wrong identity is its typed refusal.
31
- class ApplicationBirthContract extends $pb.GeneratedMessage {
32
- factory ApplicationBirthContract({
33
- $core.String? lawSha256,
34
- }) {
35
- final result = create();
36
- if (lawSha256 != null) result.lawSha256 = lawSha256;
37
- return result;
38
- }
39
-
40
- ApplicationBirthContract._();
41
-
42
- factory ApplicationBirthContract.fromBuffer($core.List<$core.int> data,
43
- [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
44
- create()..mergeFromBuffer(data, registry);
45
- factory ApplicationBirthContract.fromJson($core.String json,
46
- [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
47
- create()..mergeFromJson(json, registry);
48
-
49
- static final $pb.BuilderInfo _i = $pb.BuilderInfo(
50
- _omitMessageNames ? '' : 'ApplicationBirthContract',
51
- package:
52
- const $pb.PackageName(_omitMessageNames ? '' : 'nomos.runtime.v2'),
53
- createEmptyInstance: create)
54
- ..aOS(1, _omitFieldNames ? '' : 'lawSha256')
55
- ..hasRequiredFields = false;
56
-
57
- @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
58
- ApplicationBirthContract clone() => deepCopy();
59
- @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
60
- ApplicationBirthContract copyWith(
61
- void Function(ApplicationBirthContract) updates) =>
62
- super.copyWith((message) => updates(message as ApplicationBirthContract))
63
- as ApplicationBirthContract;
64
-
65
- @$core.override
66
- $pb.BuilderInfo get info_ => _i;
67
-
68
- @$core.pragma('dart2js:noInline')
69
- static ApplicationBirthContract create() => ApplicationBirthContract._();
70
- @$core.override
71
- ApplicationBirthContract createEmptyInstance() => create();
72
- @$core.pragma('dart2js:noInline')
73
- static ApplicationBirthContract getDefault() => _defaultInstance ??=
74
- $pb.GeneratedMessage.$_defaultFor<ApplicationBirthContract>(create);
75
- static ApplicationBirthContract? _defaultInstance;
76
-
77
- @$pb.TagNumber(1)
78
- $core.String get lawSha256 => $_getSZ(0);
79
- @$pb.TagNumber(1)
80
- set lawSha256($core.String value) => $_setString(0, value);
81
- @$pb.TagNumber(1)
82
- $core.bool hasLawSha256() => $_has(0);
83
- @$pb.TagNumber(1)
84
- void clearLawSha256() => $_clearField(1);
85
- }
86
-
87
24
  /// One local-open/birth procedure. Reception transports this paper once; the
88
25
  /// shared desk opens mounted local custody immediately. Remote presence or a
89
26
  /// successful birth returns typed LOCAL_REPLICA_NOT_READY while Replica Follow
@@ -94,7 +31,6 @@ class OpenReceivingGroupRequest extends $pb.GeneratedMessage {
94
31
  $core.String? application,
95
32
  $core.String? principal,
96
33
  $core.List<$core.int>? authToken,
97
- ApplicationBirthContract? contract,
98
34
  $core.Iterable<$0.DirectiveCall>? genesisSeed,
99
35
  $core.bool? verifyHistory,
100
36
  ConsoleEnrolmentRoute? enrolment,
@@ -104,7 +40,6 @@ class OpenReceivingGroupRequest extends $pb.GeneratedMessage {
104
40
  if (application != null) result.application = application;
105
41
  if (principal != null) result.principal = principal;
106
42
  if (authToken != null) result.authToken = authToken;
107
- if (contract != null) result.contract = contract;
108
43
  if (genesisSeed != null) result.genesisSeed.addAll(genesisSeed);
109
44
  if (verifyHistory != null) result.verifyHistory = verifyHistory;
110
45
  if (enrolment != null) result.enrolment = enrolment;
@@ -130,8 +65,6 @@ class OpenReceivingGroupRequest extends $pb.GeneratedMessage {
130
65
  ..aOS(3, _omitFieldNames ? '' : 'principal')
131
66
  ..a<$core.List<$core.int>>(
132
67
  4, _omitFieldNames ? '' : 'authToken', $pb.PbFieldType.OY)
133
- ..aOM<ApplicationBirthContract>(5, _omitFieldNames ? '' : 'contract',
134
- subBuilder: ApplicationBirthContract.create)
135
68
  ..pPM<$0.DirectiveCall>(6, _omitFieldNames ? '' : 'genesisSeed',
136
69
  subBuilder: $0.DirectiveCall.create)
137
70
  ..aOB(7, _omitFieldNames ? '' : 'verifyHistory')
@@ -201,30 +134,19 @@ class OpenReceivingGroupRequest extends $pb.GeneratedMessage {
201
134
  @$pb.TagNumber(4)
202
135
  void clearAuthToken() => $_clearField(4);
203
136
 
204
- @$pb.TagNumber(5)
205
- ApplicationBirthContract get contract => $_getN(4);
206
- @$pb.TagNumber(5)
207
- set contract(ApplicationBirthContract value) => $_setField(5, value);
208
- @$pb.TagNumber(5)
209
- $core.bool hasContract() => $_has(4);
210
- @$pb.TagNumber(5)
211
- void clearContract() => $_clearField(5);
212
- @$pb.TagNumber(5)
213
- ApplicationBirthContract ensureContract() => $_ensure(4);
214
-
215
137
  /// Tenant seed steps are law (`application.receivingGroup.seed`, folded at
216
138
  /// birth by the framework's birth directive); the desk refuses a non-empty list
217
139
  /// rather than authoring a second seed lane.
218
140
  @$pb.TagNumber(6)
219
- $pb.PbList<$0.DirectiveCall> get genesisSeed => $_getList(5);
141
+ $pb.PbList<$0.DirectiveCall> get genesisSeed => $_getList(4);
220
142
 
221
143
  /// Re-run the complete signed history in the convergence tail (audit mode).
222
144
  @$pb.TagNumber(7)
223
- $core.bool get verifyHistory => $_getBF(6);
145
+ $core.bool get verifyHistory => $_getBF(5);
224
146
  @$pb.TagNumber(7)
225
- set verifyHistory($core.bool value) => $_setBool(6, value);
147
+ set verifyHistory($core.bool value) => $_setBool(5, value);
226
148
  @$pb.TagNumber(7)
227
- $core.bool hasVerifyHistory() => $_has(6);
149
+ $core.bool hasVerifyHistory() => $_has(5);
228
150
  @$pb.TagNumber(7)
229
151
  void clearVerifyHistory() => $_clearField(7);
230
152
 
@@ -234,15 +156,15 @@ class OpenReceivingGroupRequest extends $pb.GeneratedMessage {
234
156
  /// intent; the console births the principal's receiving group. When absent,
235
157
  /// the historical provider-token lane runs unchanged.
236
158
  @$pb.TagNumber(8)
237
- ConsoleEnrolmentRoute get enrolment => $_getN(7);
159
+ ConsoleEnrolmentRoute get enrolment => $_getN(6);
238
160
  @$pb.TagNumber(8)
239
161
  set enrolment(ConsoleEnrolmentRoute value) => $_setField(8, value);
240
162
  @$pb.TagNumber(8)
241
- $core.bool hasEnrolment() => $_has(7);
163
+ $core.bool hasEnrolment() => $_has(6);
242
164
  @$pb.TagNumber(8)
243
165
  void clearEnrolment() => $_clearField(8);
244
166
  @$pb.TagNumber(8)
245
- ConsoleEnrolmentRoute ensureEnrolment() => $_ensure(7);
167
+ ConsoleEnrolmentRoute ensureEnrolment() => $_ensure(6);
246
168
  }
247
169
 
248
170
  /// Where an enrolled principal's device key is enrolled (D22/D23): the