@githolon/dsl 0.113.4 → 0.115.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 (103) 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 +60 -0
  6. package/dart/lib/src/application_framework_calls.dart +16 -6
  7. package/dart/lib/src/console_enrolment.dart +7 -0
  8. package/dart/lib/src/console_http_io.dart +22 -15
  9. package/dart/lib/src/dev_cloud.dart +62 -0
  10. package/dart/lib/src/generated_call.dart +14 -3
  11. package/dart/lib/src/nms_generated_runtime.dart +7 -0
  12. package/dart/lib/src/node_runner_transport.dart +77 -8
  13. package/dart/lib/src/nomos_trace.dart +107 -0
  14. package/dart/lib/src/operation_receipts.dart +74 -7
  15. package/dart/lib/src/reception/dart_reception.dart +174 -17
  16. package/dart/lib/src/rows_watch.dart +390 -0
  17. package/dart/lib/src/runner/node-entry.mjs +7678 -2860
  18. package/dart/lib/src/runtime_v2_transport.dart +3 -0
  19. package/dart/lib/src/sync_status_projection.dart +94 -1
  20. package/dart/lib/src/sync_status_reducer.dart +5 -2
  21. package/dart/lib/src/test_harness.dart +107 -41
  22. package/dart/lib/src/testing/test_peer.dart +107 -99
  23. package/dart/lib/src/testing/test_peer_host.dart +305 -0
  24. package/dart/lib/src/typed_watch_registry.dart +26 -3
  25. package/dart/pubspec.lock +1 -1
  26. package/dart/pubspec.yaml +2 -2
  27. package/dart/test/background_model_adoption_test.dart +1 -0
  28. package/dart/test/console_enrolment_test.dart +47 -0
  29. package/dart/test/custodian_warming_test.dart +105 -0
  30. package/dart/test/fixtures/offer_watch_order_peer.dart +74 -0
  31. package/dart/test/kernel_author_after_read_test.dart +6 -3
  32. package/dart/test/kernel_fence_test.dart +4 -1
  33. package/dart/test/model_adoption_test.dart +66 -0
  34. package/dart/test/nomos_trace_test.dart +91 -0
  35. package/dart/test/own_offer_watch_order_test.dart +90 -0
  36. package/dart/test/receiving_group_open_test.dart +4 -8
  37. package/dart/test/replica_readiness_test.dart +14 -4
  38. package/dart/test/rows_watch_test.dart +331 -0
  39. package/dart/test/runtime_projections_test.dart +41 -0
  40. package/dart/test/test_peer_host_selection_test.dart +49 -0
  41. package/dart_types/CHANGELOG.md +39 -0
  42. package/dart_types/lib/src/approved_model.dart +100 -6
  43. package/dart_types/lib/src/proto/nomos/kernel/v1/kernel.pb.dart +1063 -3
  44. package/dart_types/lib/src/proto/nomos/kernel/v1/kernel.pbenum.dart +89 -0
  45. package/dart_types/lib/src/proto/nomos/runtime/v2/application_desk.pb.dart +14 -0
  46. package/dart_types/lib/src/proto/nomos/runtime/v2/correspondence_desk.pb.dart +2272 -130
  47. package/dart_types/lib/src/proto/nomos/runtime/v2/correspondence_desk.pbenum.dart +65 -0
  48. package/dart_types/lib/src/proto/nomos/runtime/v2/model_adoption_desk.pb.dart +118 -2
  49. package/dart_types/lib/src/proto/nomos/runtime/v2/observability_desk.pb.dart +278 -9
  50. package/dart_types/lib/src/proto/nomos/runtime/v2/receiving_group_desk.pb.dart +7 -85
  51. package/dart_types/lib/src/proto/nomos/runtime/v2/records_desk.pb.dart +16 -0
  52. package/dart_types/lib/src/proto/nomos/runtime/v2/residency_desk.pb.dart +35 -0
  53. package/dart_types/lib/src/proto/nomos/runtime/v2/runtime.pb.dart +43 -2
  54. package/dart_types/pubspec.yaml +1 -1
  55. package/package.json +6 -2
  56. package/src/aggregate.ts +93 -0
  57. package/src/anonymous_value_interning.ts +205 -0
  58. package/src/baseline.ts +27 -0
  59. package/src/baseline_export.ts +432 -0
  60. package/src/baseline_import.ts +312 -0
  61. package/src/baseline_usda.ts +186 -0
  62. package/src/birth_key_rule.ts +472 -0
  63. package/src/births.ts +207 -24
  64. package/src/build_provenance.ts +17 -2
  65. package/src/business_birth.ts +50 -4
  66. package/src/check_package_main.ts +50 -6
  67. package/src/codegen_call_proto.ts +5 -18
  68. package/src/codegen_dart.ts +95 -3
  69. package/src/codegen_dart_client.ts +73 -15
  70. package/src/codegen_dart_facade.ts +58 -35
  71. package/src/codegen_dart_framework_calls.ts +32 -10
  72. package/src/codegen_dart_scenario.ts +7 -0
  73. package/src/codegen_proof.ts +5 -2
  74. package/src/codegen_result_proto.ts +8 -6
  75. package/src/codegen_result_usda.ts +4 -0
  76. package/src/codegen_ts.ts +135 -34
  77. package/src/compatibility_graph.ts +41 -4
  78. package/src/compatibility_usda.ts +11 -1
  79. package/src/compile_package_main.ts +272 -105
  80. package/src/composed_wire_identity.ts +24 -0
  81. package/src/directive.ts +6 -0
  82. package/src/domain_requirements.ts +75 -0
  83. package/src/engine_entry.ts +4 -48
  84. package/src/engine_javascript.ts +12 -6
  85. package/src/fields.ts +109 -0
  86. package/src/identity_usda.ts +77 -51
  87. package/src/index.ts +25 -1
  88. package/src/intent.ts +5 -0
  89. package/src/law_graph.ts +142 -1
  90. package/src/law_graph_usda.ts +25 -141
  91. package/src/law_layer_prims.ts +199 -0
  92. package/src/law_unit_selection.ts +45 -0
  93. package/src/law_unit_set_identity.ts +44 -0
  94. package/src/law_version.ts +107 -0
  95. package/src/package_config.ts +44 -0
  96. package/src/package_dependencies.ts +8 -0
  97. package/src/query/compile.ts +0 -0
  98. package/src/release_inspection.ts +24 -0
  99. package/src/release_publication.ts +298 -0
  100. package/src/value_object.ts +6 -3
  101. package/src/wire.ts +2 -0
  102. package/src/wire_paths.ts +17 -0
  103. package/src/workspace_routing.ts +1 -1
@@ -1989,6 +1989,8 @@ class OfferAdmitted extends $pb.GeneratedMessage {
1989
1989
  $core.String? installedLawHash,
1990
1990
  PlacementAdopted? placement,
1991
1991
  $core.bool? alreadyApplied,
1992
+ OfferStateChange? stateChange,
1993
+ $core.Iterable<LawVersionWarning>? lawVersionWarnings,
1992
1994
  }) {
1993
1995
  final result = create();
1994
1996
  if (head != null) result.head = head;
@@ -2003,6 +2005,9 @@ class OfferAdmitted extends $pb.GeneratedMessage {
2003
2005
  if (installedLawHash != null) result.installedLawHash = installedLawHash;
2004
2006
  if (placement != null) result.placement = placement;
2005
2007
  if (alreadyApplied != null) result.alreadyApplied = alreadyApplied;
2008
+ if (stateChange != null) result.stateChange = stateChange;
2009
+ if (lawVersionWarnings != null)
2010
+ result.lawVersionWarnings.addAll(lawVersionWarnings);
2006
2011
  return result;
2007
2012
  }
2008
2013
 
@@ -2038,6 +2043,10 @@ class OfferAdmitted extends $pb.GeneratedMessage {
2038
2043
  ..aOM<PlacementAdopted>(11, _omitFieldNames ? '' : 'placement',
2039
2044
  subBuilder: PlacementAdopted.create)
2040
2045
  ..aOB(12, _omitFieldNames ? '' : 'alreadyApplied')
2046
+ ..aOM<OfferStateChange>(13, _omitFieldNames ? '' : 'stateChange',
2047
+ subBuilder: OfferStateChange.create)
2048
+ ..pPM<LawVersionWarning>(14, _omitFieldNames ? '' : 'lawVersionWarnings',
2049
+ subBuilder: LawVersionWarning.create)
2041
2050
  ..hasRequiredFields = false;
2042
2051
 
2043
2052
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -2152,6 +2161,418 @@ class OfferAdmitted extends $pb.GeneratedMessage {
2152
2161
  $core.bool hasAlreadyApplied() => $_has(11);
2153
2162
  @$pb.TagNumber(12)
2154
2163
  void clearAlreadyApplied() => $_clearField(12);
2164
+
2165
+ /// What this offer changed in the workspace's current state, typed the way reads resolve it, so a
2166
+ /// host can tell which declared reads the offer can change (CAP-760). Absent when the kernel cannot
2167
+ /// say exactly; a host then treats every read as changed.
2168
+ @$pb.TagNumber(13)
2169
+ OfferStateChange get stateChange => $_getN(12);
2170
+ @$pb.TagNumber(13)
2171
+ set stateChange(OfferStateChange value) => $_setField(13, value);
2172
+ @$pb.TagNumber(13)
2173
+ $core.bool hasStateChange() => $_has(12);
2174
+ @$pb.TagNumber(13)
2175
+ void clearStateChange() => $_clearField(13);
2176
+ @$pb.TagNumber(13)
2177
+ OfferStateChange ensureStateChange() => $_ensure(12);
2178
+
2179
+ /// CAP-811: this offer installed, staged or promoted law whose claimed version is equal to or lower
2180
+ /// than the claim this workspace already serves for the same law identity (package name). Advice
2181
+ /// only: the offer was admitted, and the warning never enters custody. Empty when either side claims
2182
+ /// no version (era rule), when the identity was not served, or when the claim moves forward.
2183
+ @$pb.TagNumber(14)
2184
+ $pb.PbList<LawVersionWarning> get lawVersionWarnings => $_getList(13);
2185
+ }
2186
+
2187
+ /// A law's identity: its package name (/Nomos/Package nomos:name) (CAP-809, CAP-811).
2188
+ class LawIdentity extends $pb.GeneratedMessage {
2189
+ factory LawIdentity({
2190
+ $core.String? packageName,
2191
+ }) {
2192
+ final result = create();
2193
+ if (packageName != null) result.packageName = packageName;
2194
+ return result;
2195
+ }
2196
+
2197
+ LawIdentity._();
2198
+
2199
+ factory LawIdentity.fromBuffer($core.List<$core.int> data,
2200
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
2201
+ create()..mergeFromBuffer(data, registry);
2202
+ factory LawIdentity.fromJson($core.String json,
2203
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
2204
+ create()..mergeFromJson(json, registry);
2205
+
2206
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(
2207
+ _omitMessageNames ? '' : 'LawIdentity',
2208
+ package:
2209
+ const $pb.PackageName(_omitMessageNames ? '' : 'nomos.kernel.v1'),
2210
+ createEmptyInstance: create)
2211
+ ..aOS(1, _omitFieldNames ? '' : 'packageName')
2212
+ ..hasRequiredFields = false;
2213
+
2214
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
2215
+ LawIdentity clone() => deepCopy();
2216
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
2217
+ LawIdentity copyWith(void Function(LawIdentity) updates) =>
2218
+ super.copyWith((message) => updates(message as LawIdentity))
2219
+ as LawIdentity;
2220
+
2221
+ @$core.override
2222
+ $pb.BuilderInfo get info_ => _i;
2223
+
2224
+ @$core.pragma('dart2js:noInline')
2225
+ static LawIdentity create() => LawIdentity._();
2226
+ @$core.override
2227
+ LawIdentity createEmptyInstance() => create();
2228
+ @$core.pragma('dart2js:noInline')
2229
+ static LawIdentity getDefault() => _defaultInstance ??=
2230
+ $pb.GeneratedMessage.$_defaultFor<LawIdentity>(create);
2231
+ static LawIdentity? _defaultInstance;
2232
+
2233
+ @$pb.TagNumber(1)
2234
+ $core.String get packageName => $_getSZ(0);
2235
+ @$pb.TagNumber(1)
2236
+ set packageName($core.String value) => $_setString(0, value);
2237
+ @$pb.TagNumber(1)
2238
+ $core.bool hasPackageName() => $_has(0);
2239
+ @$pb.TagNumber(1)
2240
+ void clearPackageName() => $_clearField(1);
2241
+ }
2242
+
2243
+ /// One version of a law: its closure identity, a canonical lowercase SHA-256 digest (CAP-809).
2244
+ class LawVersion extends $pb.GeneratedMessage {
2245
+ factory LawVersion({
2246
+ $core.String? closureSha256,
2247
+ }) {
2248
+ final result = create();
2249
+ if (closureSha256 != null) result.closureSha256 = closureSha256;
2250
+ return result;
2251
+ }
2252
+
2253
+ LawVersion._();
2254
+
2255
+ factory LawVersion.fromBuffer($core.List<$core.int> data,
2256
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
2257
+ create()..mergeFromBuffer(data, registry);
2258
+ factory LawVersion.fromJson($core.String json,
2259
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
2260
+ create()..mergeFromJson(json, registry);
2261
+
2262
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(
2263
+ _omitMessageNames ? '' : 'LawVersion',
2264
+ package:
2265
+ const $pb.PackageName(_omitMessageNames ? '' : 'nomos.kernel.v1'),
2266
+ createEmptyInstance: create)
2267
+ ..aOS(1, _omitFieldNames ? '' : 'closureSha256')
2268
+ ..hasRequiredFields = false;
2269
+
2270
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
2271
+ LawVersion clone() => deepCopy();
2272
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
2273
+ LawVersion copyWith(void Function(LawVersion) updates) =>
2274
+ super.copyWith((message) => updates(message as LawVersion)) as LawVersion;
2275
+
2276
+ @$core.override
2277
+ $pb.BuilderInfo get info_ => _i;
2278
+
2279
+ @$core.pragma('dart2js:noInline')
2280
+ static LawVersion create() => LawVersion._();
2281
+ @$core.override
2282
+ LawVersion createEmptyInstance() => create();
2283
+ @$core.pragma('dart2js:noInline')
2284
+ static LawVersion getDefault() => _defaultInstance ??=
2285
+ $pb.GeneratedMessage.$_defaultFor<LawVersion>(create);
2286
+ static LawVersion? _defaultInstance;
2287
+
2288
+ @$pb.TagNumber(1)
2289
+ $core.String get closureSha256 => $_getSZ(0);
2290
+ @$pb.TagNumber(1)
2291
+ set closureSha256($core.String value) => $_setString(0, value);
2292
+ @$pb.TagNumber(1)
2293
+ $core.bool hasClosureSha256() => $_has(0);
2294
+ @$pb.TagNumber(1)
2295
+ void clearClosureSha256() => $_clearField(1);
2296
+ }
2297
+
2298
+ /// A semver 2.0 claim without build metadata, as authored in nomos.project.ts (CAP-811).
2299
+ class LawVersionClaim extends $pb.GeneratedMessage {
2300
+ factory LawVersionClaim({
2301
+ $core.String? semver,
2302
+ }) {
2303
+ final result = create();
2304
+ if (semver != null) result.semver = semver;
2305
+ return result;
2306
+ }
2307
+
2308
+ LawVersionClaim._();
2309
+
2310
+ factory LawVersionClaim.fromBuffer($core.List<$core.int> data,
2311
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
2312
+ create()..mergeFromBuffer(data, registry);
2313
+ factory LawVersionClaim.fromJson($core.String json,
2314
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
2315
+ create()..mergeFromJson(json, registry);
2316
+
2317
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(
2318
+ _omitMessageNames ? '' : 'LawVersionClaim',
2319
+ package:
2320
+ const $pb.PackageName(_omitMessageNames ? '' : 'nomos.kernel.v1'),
2321
+ createEmptyInstance: create)
2322
+ ..aOS(1, _omitFieldNames ? '' : 'semver')
2323
+ ..hasRequiredFields = false;
2324
+
2325
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
2326
+ LawVersionClaim clone() => deepCopy();
2327
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
2328
+ LawVersionClaim copyWith(void Function(LawVersionClaim) updates) =>
2329
+ super.copyWith((message) => updates(message as LawVersionClaim))
2330
+ as LawVersionClaim;
2331
+
2332
+ @$core.override
2333
+ $pb.BuilderInfo get info_ => _i;
2334
+
2335
+ @$core.pragma('dart2js:noInline')
2336
+ static LawVersionClaim create() => LawVersionClaim._();
2337
+ @$core.override
2338
+ LawVersionClaim createEmptyInstance() => create();
2339
+ @$core.pragma('dart2js:noInline')
2340
+ static LawVersionClaim getDefault() => _defaultInstance ??=
2341
+ $pb.GeneratedMessage.$_defaultFor<LawVersionClaim>(create);
2342
+ static LawVersionClaim? _defaultInstance;
2343
+
2344
+ @$pb.TagNumber(1)
2345
+ $core.String get semver => $_getSZ(0);
2346
+ @$pb.TagNumber(1)
2347
+ set semver($core.String value) => $_setString(0, value);
2348
+ @$pb.TagNumber(1)
2349
+ $core.bool hasSemver() => $_has(0);
2350
+ @$pb.TagNumber(1)
2351
+ void clearSemver() => $_clearField(1);
2352
+ }
2353
+
2354
+ /// An install that does not move its law's claimed version forward (CAP-811).
2355
+ class LawVersionWarning extends $pb.GeneratedMessage {
2356
+ factory LawVersionWarning({
2357
+ LawIdentity? law,
2358
+ LawVersionOrder? order,
2359
+ LawVersionClaim? installedClaim,
2360
+ LawVersion? installedVersion,
2361
+ LawVersionClaim? servedClaim,
2362
+ LawVersion? servedVersion,
2363
+ $core.String? message,
2364
+ }) {
2365
+ final result = create();
2366
+ if (law != null) result.law = law;
2367
+ if (order != null) result.order = order;
2368
+ if (installedClaim != null) result.installedClaim = installedClaim;
2369
+ if (installedVersion != null) result.installedVersion = installedVersion;
2370
+ if (servedClaim != null) result.servedClaim = servedClaim;
2371
+ if (servedVersion != null) result.servedVersion = servedVersion;
2372
+ if (message != null) result.message = message;
2373
+ return result;
2374
+ }
2375
+
2376
+ LawVersionWarning._();
2377
+
2378
+ factory LawVersionWarning.fromBuffer($core.List<$core.int> data,
2379
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
2380
+ create()..mergeFromBuffer(data, registry);
2381
+ factory LawVersionWarning.fromJson($core.String json,
2382
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
2383
+ create()..mergeFromJson(json, registry);
2384
+
2385
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(
2386
+ _omitMessageNames ? '' : 'LawVersionWarning',
2387
+ package:
2388
+ const $pb.PackageName(_omitMessageNames ? '' : 'nomos.kernel.v1'),
2389
+ createEmptyInstance: create)
2390
+ ..aOM<LawIdentity>(1, _omitFieldNames ? '' : 'law',
2391
+ subBuilder: LawIdentity.create)
2392
+ ..aE<LawVersionOrder>(2, _omitFieldNames ? '' : 'order',
2393
+ enumValues: LawVersionOrder.values)
2394
+ ..aOM<LawVersionClaim>(3, _omitFieldNames ? '' : 'installedClaim',
2395
+ subBuilder: LawVersionClaim.create)
2396
+ ..aOM<LawVersion>(4, _omitFieldNames ? '' : 'installedVersion',
2397
+ subBuilder: LawVersion.create)
2398
+ ..aOM<LawVersionClaim>(5, _omitFieldNames ? '' : 'servedClaim',
2399
+ subBuilder: LawVersionClaim.create)
2400
+ ..aOM<LawVersion>(6, _omitFieldNames ? '' : 'servedVersion',
2401
+ subBuilder: LawVersion.create)
2402
+ ..aOS(7, _omitFieldNames ? '' : 'message')
2403
+ ..hasRequiredFields = false;
2404
+
2405
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
2406
+ LawVersionWarning clone() => deepCopy();
2407
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
2408
+ LawVersionWarning copyWith(void Function(LawVersionWarning) updates) =>
2409
+ super.copyWith((message) => updates(message as LawVersionWarning))
2410
+ as LawVersionWarning;
2411
+
2412
+ @$core.override
2413
+ $pb.BuilderInfo get info_ => _i;
2414
+
2415
+ @$core.pragma('dart2js:noInline')
2416
+ static LawVersionWarning create() => LawVersionWarning._();
2417
+ @$core.override
2418
+ LawVersionWarning createEmptyInstance() => create();
2419
+ @$core.pragma('dart2js:noInline')
2420
+ static LawVersionWarning getDefault() => _defaultInstance ??=
2421
+ $pb.GeneratedMessage.$_defaultFor<LawVersionWarning>(create);
2422
+ static LawVersionWarning? _defaultInstance;
2423
+
2424
+ @$pb.TagNumber(1)
2425
+ LawIdentity get law => $_getN(0);
2426
+ @$pb.TagNumber(1)
2427
+ set law(LawIdentity value) => $_setField(1, value);
2428
+ @$pb.TagNumber(1)
2429
+ $core.bool hasLaw() => $_has(0);
2430
+ @$pb.TagNumber(1)
2431
+ void clearLaw() => $_clearField(1);
2432
+ @$pb.TagNumber(1)
2433
+ LawIdentity ensureLaw() => $_ensure(0);
2434
+
2435
+ @$pb.TagNumber(2)
2436
+ LawVersionOrder get order => $_getN(1);
2437
+ @$pb.TagNumber(2)
2438
+ set order(LawVersionOrder value) => $_setField(2, value);
2439
+ @$pb.TagNumber(2)
2440
+ $core.bool hasOrder() => $_has(1);
2441
+ @$pb.TagNumber(2)
2442
+ void clearOrder() => $_clearField(2);
2443
+
2444
+ @$pb.TagNumber(3)
2445
+ LawVersionClaim get installedClaim => $_getN(2);
2446
+ @$pb.TagNumber(3)
2447
+ set installedClaim(LawVersionClaim value) => $_setField(3, value);
2448
+ @$pb.TagNumber(3)
2449
+ $core.bool hasInstalledClaim() => $_has(2);
2450
+ @$pb.TagNumber(3)
2451
+ void clearInstalledClaim() => $_clearField(3);
2452
+ @$pb.TagNumber(3)
2453
+ LawVersionClaim ensureInstalledClaim() => $_ensure(2);
2454
+
2455
+ @$pb.TagNumber(4)
2456
+ LawVersion get installedVersion => $_getN(3);
2457
+ @$pb.TagNumber(4)
2458
+ set installedVersion(LawVersion value) => $_setField(4, value);
2459
+ @$pb.TagNumber(4)
2460
+ $core.bool hasInstalledVersion() => $_has(3);
2461
+ @$pb.TagNumber(4)
2462
+ void clearInstalledVersion() => $_clearField(4);
2463
+ @$pb.TagNumber(4)
2464
+ LawVersion ensureInstalledVersion() => $_ensure(3);
2465
+
2466
+ @$pb.TagNumber(5)
2467
+ LawVersionClaim get servedClaim => $_getN(4);
2468
+ @$pb.TagNumber(5)
2469
+ set servedClaim(LawVersionClaim value) => $_setField(5, value);
2470
+ @$pb.TagNumber(5)
2471
+ $core.bool hasServedClaim() => $_has(4);
2472
+ @$pb.TagNumber(5)
2473
+ void clearServedClaim() => $_clearField(5);
2474
+ @$pb.TagNumber(5)
2475
+ LawVersionClaim ensureServedClaim() => $_ensure(4);
2476
+
2477
+ @$pb.TagNumber(6)
2478
+ LawVersion get servedVersion => $_getN(5);
2479
+ @$pb.TagNumber(6)
2480
+ set servedVersion(LawVersion value) => $_setField(6, value);
2481
+ @$pb.TagNumber(6)
2482
+ $core.bool hasServedVersion() => $_has(5);
2483
+ @$pb.TagNumber(6)
2484
+ void clearServedVersion() => $_clearField(6);
2485
+ @$pb.TagNumber(6)
2486
+ LawVersion ensureServedVersion() => $_ensure(5);
2487
+
2488
+ /// Human-readable summary of the same facts.
2489
+ @$pb.TagNumber(7)
2490
+ $core.String get message => $_getSZ(6);
2491
+ @$pb.TagNumber(7)
2492
+ set message($core.String value) => $_setString(6, value);
2493
+ @$pb.TagNumber(7)
2494
+ $core.bool hasMessage() => $_has(6);
2495
+ @$pb.TagNumber(7)
2496
+ void clearMessage() => $_clearField(7);
2497
+ }
2498
+
2499
+ /// The aggregates one admitted offer changed, by the type a read resolves for each (its `__type`,
2500
+ /// else its id), between the head it was admitted on and the head it produced. Exact or wider,
2501
+ /// never narrower: every aggregate whose state differs between the two heads is counted.
2502
+ class OfferStateChange extends $pb.GeneratedMessage {
2503
+ factory OfferStateChange({
2504
+ $core.String? parentHead,
2505
+ $core.Iterable<$core.String>? aggregateTypes,
2506
+ $core.bool? archives,
2507
+ }) {
2508
+ final result = create();
2509
+ if (parentHead != null) result.parentHead = parentHead;
2510
+ if (aggregateTypes != null) result.aggregateTypes.addAll(aggregateTypes);
2511
+ if (archives != null) result.archives = archives;
2512
+ return result;
2513
+ }
2514
+
2515
+ OfferStateChange._();
2516
+
2517
+ factory OfferStateChange.fromBuffer($core.List<$core.int> data,
2518
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
2519
+ create()..mergeFromBuffer(data, registry);
2520
+ factory OfferStateChange.fromJson($core.String json,
2521
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
2522
+ create()..mergeFromJson(json, registry);
2523
+
2524
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(
2525
+ _omitMessageNames ? '' : 'OfferStateChange',
2526
+ package:
2527
+ const $pb.PackageName(_omitMessageNames ? '' : 'nomos.kernel.v1'),
2528
+ createEmptyInstance: create)
2529
+ ..aOS(1, _omitFieldNames ? '' : 'parentHead')
2530
+ ..pPS(2, _omitFieldNames ? '' : 'aggregateTypes')
2531
+ ..aOB(3, _omitFieldNames ? '' : 'archives')
2532
+ ..hasRequiredFields = false;
2533
+
2534
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
2535
+ OfferStateChange clone() => deepCopy();
2536
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
2537
+ OfferStateChange copyWith(void Function(OfferStateChange) updates) =>
2538
+ super.copyWith((message) => updates(message as OfferStateChange))
2539
+ as OfferStateChange;
2540
+
2541
+ @$core.override
2542
+ $pb.BuilderInfo get info_ => _i;
2543
+
2544
+ @$core.pragma('dart2js:noInline')
2545
+ static OfferStateChange create() => OfferStateChange._();
2546
+ @$core.override
2547
+ OfferStateChange createEmptyInstance() => create();
2548
+ @$core.pragma('dart2js:noInline')
2549
+ static OfferStateChange getDefault() => _defaultInstance ??=
2550
+ $pb.GeneratedMessage.$_defaultFor<OfferStateChange>(create);
2551
+ static OfferStateChange? _defaultInstance;
2552
+
2553
+ /// The head this offer was admitted on; OfferAdmitted.head is its child.
2554
+ @$pb.TagNumber(1)
2555
+ $core.String get parentHead => $_getSZ(0);
2556
+ @$pb.TagNumber(1)
2557
+ set parentHead($core.String value) => $_setString(0, value);
2558
+ @$pb.TagNumber(1)
2559
+ $core.bool hasParentHead() => $_has(0);
2560
+ @$pb.TagNumber(1)
2561
+ void clearParentHead() => $_clearField(1);
2562
+
2563
+ /// Sorted, without duplicates.
2564
+ @$pb.TagNumber(2)
2565
+ $pb.PbList<$core.String> get aggregateTypes => $_getList(1);
2566
+
2567
+ /// An aggregate this offer changed may be absent (archived) at the new head.
2568
+ @$pb.TagNumber(3)
2569
+ $core.bool get archives => $_getBF(2);
2570
+ @$pb.TagNumber(3)
2571
+ set archives($core.bool value) => $_setBool(2, value);
2572
+ @$pb.TagNumber(3)
2573
+ $core.bool hasArchives() => $_has(2);
2574
+ @$pb.TagNumber(3)
2575
+ void clearArchives() => $_clearField(3);
2155
2576
  }
2156
2577
 
2157
2578
  class OfferAggregateRef extends $pb.GeneratedMessage {
@@ -3065,11 +3486,13 @@ class OfferBlockedOnDependency extends $pb.GeneratedMessage {
3065
3486
  $core.String? offerId,
3066
3487
  $core.String? detail,
3067
3488
  NomosStruct? diagnostics,
3489
+ ReadIndexPending? awaitsMaintenance,
3068
3490
  }) {
3069
3491
  final result = create();
3070
3492
  if (offerId != null) result.offerId = offerId;
3071
3493
  if (detail != null) result.detail = detail;
3072
3494
  if (diagnostics != null) result.diagnostics = diagnostics;
3495
+ if (awaitsMaintenance != null) result.awaitsMaintenance = awaitsMaintenance;
3073
3496
  return result;
3074
3497
  }
3075
3498
 
@@ -3091,6 +3514,8 @@ class OfferBlockedOnDependency extends $pb.GeneratedMessage {
3091
3514
  ..aOS(2, _omitFieldNames ? '' : 'detail')
3092
3515
  ..aOM<NomosStruct>(3, _omitFieldNames ? '' : 'diagnostics',
3093
3516
  subBuilder: NomosStruct.create)
3517
+ ..aOM<ReadIndexPending>(4, _omitFieldNames ? '' : 'awaitsMaintenance',
3518
+ subBuilder: ReadIndexPending.create)
3094
3519
  ..hasRequiredFields = false;
3095
3520
 
3096
3521
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -3141,6 +3566,21 @@ class OfferBlockedOnDependency extends $pb.GeneratedMessage {
3141
3566
  void clearDiagnostics() => $_clearField(3);
3142
3567
  @$pb.TagNumber(3)
3143
3568
  NomosStruct ensureDiagnostics() => $_ensure(2);
3569
+
3570
+ /// Present only when the kernel itself found that a read the authored plan made needs a
3571
+ /// derivative only background maintenance builds (CAP-824): the exact workspace position owed.
3572
+ /// Not a verdict of law. The same offer, made again once maintenance has repaid it, is judged.
3573
+ /// Absent for every other blocked dependency; a peer never infers it from `detail`.
3574
+ @$pb.TagNumber(4)
3575
+ ReadIndexPending get awaitsMaintenance => $_getN(3);
3576
+ @$pb.TagNumber(4)
3577
+ set awaitsMaintenance(ReadIndexPending value) => $_setField(4, value);
3578
+ @$pb.TagNumber(4)
3579
+ $core.bool hasAwaitsMaintenance() => $_has(3);
3580
+ @$pb.TagNumber(4)
3581
+ void clearAwaitsMaintenance() => $_clearField(4);
3582
+ @$pb.TagNumber(4)
3583
+ ReadIndexPending ensureAwaitsMaintenance() => $_ensure(3);
3144
3584
  }
3145
3585
 
3146
3586
  /// A target holon's non-effectful authored result. The target kernel alone runs its installed law and
@@ -5318,6 +5758,7 @@ enum QueryResponse_Result {
5318
5758
  workspaceEffectReceipt,
5319
5759
  openApiDescription,
5320
5760
  installedLawDeclarations,
5761
+ applicationResultDelta,
5321
5762
  notSet
5322
5763
  }
5323
5764
 
@@ -5346,6 +5787,10 @@ class QueryResponse extends $pb.GeneratedMessage {
5346
5787
  WorkspaceEffectReceiptResponse? workspaceEffectReceipt,
5347
5788
  OpenApiDescriptionResponse? openApiDescription,
5348
5789
  InstalledLawDeclarationsResponse? installedLawDeclarations,
5790
+ ApplicationResultDelta? applicationResultDelta,
5791
+ $core.String? resultFrontier,
5792
+ FullResultReason? fullResultReason,
5793
+ ReadDependencies? resultDependencies,
5349
5794
  }) {
5350
5795
  final result = create();
5351
5796
  if (value != null) result.value = value;
@@ -5385,6 +5830,12 @@ class QueryResponse extends $pb.GeneratedMessage {
5385
5830
  result.openApiDescription = openApiDescription;
5386
5831
  if (installedLawDeclarations != null)
5387
5832
  result.installedLawDeclarations = installedLawDeclarations;
5833
+ if (applicationResultDelta != null)
5834
+ result.applicationResultDelta = applicationResultDelta;
5835
+ if (resultFrontier != null) result.resultFrontier = resultFrontier;
5836
+ if (fullResultReason != null) result.fullResultReason = fullResultReason;
5837
+ if (resultDependencies != null)
5838
+ result.resultDependencies = resultDependencies;
5388
5839
  return result;
5389
5840
  }
5390
5841
 
@@ -5421,6 +5872,7 @@ class QueryResponse extends $pb.GeneratedMessage {
5421
5872
  28: QueryResponse_Result.workspaceEffectReceipt,
5422
5873
  29: QueryResponse_Result.openApiDescription,
5423
5874
  30: QueryResponse_Result.installedLawDeclarations,
5875
+ 31: QueryResponse_Result.applicationResultDelta,
5424
5876
  0: QueryResponse_Result.notSet
5425
5877
  };
5426
5878
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
@@ -5450,7 +5902,8 @@ class QueryResponse extends $pb.GeneratedMessage {
5450
5902
  27,
5451
5903
  28,
5452
5904
  29,
5453
- 30
5905
+ 30,
5906
+ 31
5454
5907
  ])
5455
5908
  ..aOM<NomosValue>(1, _omitFieldNames ? '' : 'value',
5456
5909
  subBuilder: NomosValue.create)
@@ -5515,6 +5968,14 @@ class QueryResponse extends $pb.GeneratedMessage {
5515
5968
  ..aOM<InstalledLawDeclarationsResponse>(
5516
5969
  30, _omitFieldNames ? '' : 'installedLawDeclarations',
5517
5970
  subBuilder: InstalledLawDeclarationsResponse.create)
5971
+ ..aOM<ApplicationResultDelta>(
5972
+ 31, _omitFieldNames ? '' : 'applicationResultDelta',
5973
+ subBuilder: ApplicationResultDelta.create)
5974
+ ..aOS(32, _omitFieldNames ? '' : 'resultFrontier')
5975
+ ..aE<FullResultReason>(33, _omitFieldNames ? '' : 'fullResultReason',
5976
+ enumValues: FullResultReason.values)
5977
+ ..aOM<ReadDependencies>(34, _omitFieldNames ? '' : 'resultDependencies',
5978
+ subBuilder: ReadDependencies.create)
5518
5979
  ..hasRequiredFields = false;
5519
5980
 
5520
5981
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -5558,6 +6019,7 @@ class QueryResponse extends $pb.GeneratedMessage {
5558
6019
  @$pb.TagNumber(28)
5559
6020
  @$pb.TagNumber(29)
5560
6021
  @$pb.TagNumber(30)
6022
+ @$pb.TagNumber(31)
5561
6023
  QueryResponse_Result whichResult() =>
5562
6024
  _QueryResponse_ResultByTag[$_whichOneof(0)]!;
5563
6025
  @$pb.TagNumber(1)
@@ -5582,6 +6044,7 @@ class QueryResponse extends $pb.GeneratedMessage {
5582
6044
  @$pb.TagNumber(28)
5583
6045
  @$pb.TagNumber(29)
5584
6046
  @$pb.TagNumber(30)
6047
+ @$pb.TagNumber(31)
5585
6048
  void clearResult() => $_clearField($_whichOneof(0));
5586
6049
 
5587
6050
  /// Cutover debt for fixed framework queries which have not yet gained a
@@ -5864,6 +6327,234 @@ class QueryResponse extends $pb.GeneratedMessage {
5864
6327
  @$pb.TagNumber(30)
5865
6328
  InstalledLawDeclarationsResponse ensureInstalledLawDeclarations() =>
5866
6329
  $_ensure(22);
6330
+
6331
+ /// Incremental answer to a RowsQuery carrying `since_frontier` (CAP-731). The kernel computed
6332
+ /// it from the exact state change set between the two read positions, under the same read
6333
+ /// policies, principal and visibility as a full read. Merging it into the result read at
6334
+ /// `base_frontier` yields, byte for byte, the full result at `frontier`.
6335
+ @$pb.TagNumber(31)
6336
+ ApplicationResultDelta get applicationResultDelta => $_getN(23);
6337
+ @$pb.TagNumber(31)
6338
+ set applicationResultDelta(ApplicationResultDelta value) =>
6339
+ $_setField(31, value);
6340
+ @$pb.TagNumber(31)
6341
+ $core.bool hasApplicationResultDelta() => $_has(23);
6342
+ @$pb.TagNumber(31)
6343
+ void clearApplicationResultDelta() => $_clearField(31);
6344
+ @$pb.TagNumber(31)
6345
+ ApplicationResultDelta ensureApplicationResultDelta() => $_ensure(23);
6346
+
6347
+ /// The kernel-issued read position of a complete `application_result` for a declared rows
6348
+ /// query. Opaque to every caller: only the kernel interprets it, when it comes back as
6349
+ /// `RowsQuery.since_frontier`. Absent on every other result.
6350
+ @$pb.TagNumber(32)
6351
+ $core.String get resultFrontier => $_getSZ(24);
6352
+ @$pb.TagNumber(32)
6353
+ set resultFrontier($core.String value) => $_setString(24, value);
6354
+ @$pb.TagNumber(32)
6355
+ $core.bool hasResultFrontier() => $_has(24);
6356
+ @$pb.TagNumber(32)
6357
+ void clearResultFrontier() => $_clearField(32);
6358
+
6359
+ /// Why a RowsQuery that asked for a delta (`since_frontier`) was answered in full. Present only
6360
+ /// on such answers; a real failure is a Failure, never a reason.
6361
+ @$pb.TagNumber(33)
6362
+ FullResultReason get fullResultReason => $_getN(25);
6363
+ @$pb.TagNumber(33)
6364
+ set fullResultReason(FullResultReason value) => $_setField(33, value);
6365
+ @$pb.TagNumber(33)
6366
+ $core.bool hasFullResultReason() => $_has(25);
6367
+ @$pb.TagNumber(33)
6368
+ void clearFullResultReason() => $_clearField(33);
6369
+
6370
+ /// What can change the answer of a declared rows query at its read position (CAP-760): present
6371
+ /// beside `result_frontier` or an `application_result_delta` when the kernel can name it exactly.
6372
+ /// Absent means anything may change it.
6373
+ @$pb.TagNumber(34)
6374
+ ReadDependencies get resultDependencies => $_getN(26);
6375
+ @$pb.TagNumber(34)
6376
+ set resultDependencies(ReadDependencies value) => $_setField(34, value);
6377
+ @$pb.TagNumber(34)
6378
+ $core.bool hasResultDependencies() => $_has(26);
6379
+ @$pb.TagNumber(34)
6380
+ void clearResultDependencies() => $_clearField(34);
6381
+ @$pb.TagNumber(34)
6382
+ ReadDependencies ensureResultDependencies() => $_ensure(26);
6383
+ }
6384
+
6385
+ /// The state a declared rows result reads, from the installed read law. A state change touching none
6386
+ /// of it leaves the next delta from this result's position empty. Exact or wider, never narrower.
6387
+ class ReadDependencies extends $pb.GeneratedMessage {
6388
+ factory ReadDependencies({
6389
+ $core.Iterable<$core.String>? aggregateTypes,
6390
+ $core.bool? readsArchives,
6391
+ $core.String? readAt,
6392
+ }) {
6393
+ final result = create();
6394
+ if (aggregateTypes != null) result.aggregateTypes.addAll(aggregateTypes);
6395
+ if (readsArchives != null) result.readsArchives = readsArchives;
6396
+ if (readAt != null) result.readAt = readAt;
6397
+ return result;
6398
+ }
6399
+
6400
+ ReadDependencies._();
6401
+
6402
+ factory ReadDependencies.fromBuffer($core.List<$core.int> data,
6403
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
6404
+ create()..mergeFromBuffer(data, registry);
6405
+ factory ReadDependencies.fromJson($core.String json,
6406
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
6407
+ create()..mergeFromJson(json, registry);
6408
+
6409
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(
6410
+ _omitMessageNames ? '' : 'ReadDependencies',
6411
+ package:
6412
+ const $pb.PackageName(_omitMessageNames ? '' : 'nomos.kernel.v1'),
6413
+ createEmptyInstance: create)
6414
+ ..pPS(1, _omitFieldNames ? '' : 'aggregateTypes')
6415
+ ..aOB(2, _omitFieldNames ? '' : 'readsArchives')
6416
+ ..aOS(3, _omitFieldNames ? '' : 'readAt')
6417
+ ..hasRequiredFields = false;
6418
+
6419
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
6420
+ ReadDependencies clone() => deepCopy();
6421
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
6422
+ ReadDependencies copyWith(void Function(ReadDependencies) updates) =>
6423
+ super.copyWith((message) => updates(message as ReadDependencies))
6424
+ as ReadDependencies;
6425
+
6426
+ @$core.override
6427
+ $pb.BuilderInfo get info_ => _i;
6428
+
6429
+ @$core.pragma('dart2js:noInline')
6430
+ static ReadDependencies create() => ReadDependencies._();
6431
+ @$core.override
6432
+ ReadDependencies createEmptyInstance() => create();
6433
+ @$core.pragma('dart2js:noInline')
6434
+ static ReadDependencies getDefault() => _defaultInstance ??=
6435
+ $pb.GeneratedMessage.$_defaultFor<ReadDependencies>(create);
6436
+ static ReadDependencies? _defaultInstance;
6437
+
6438
+ /// Aggregate types (as OfferStateChange.aggregate_types names them) whose state the rows, their
6439
+ /// membership or the read law come from. Sorted, without duplicates.
6440
+ @$pb.TagNumber(1)
6441
+ $pb.PbList<$core.String> get aggregateTypes => $_getList(0);
6442
+
6443
+ /// A combined field reads a related row by reference: an archive of any aggregate may change it.
6444
+ @$pb.TagNumber(2)
6445
+ $core.bool get readsArchives => $_getBF(1);
6446
+ @$pb.TagNumber(2)
6447
+ set readsArchives($core.bool value) => $_setBool(1, value);
6448
+ @$pb.TagNumber(2)
6449
+ $core.bool hasReadsArchives() => $_has(1);
6450
+ @$pb.TagNumber(2)
6451
+ void clearReadsArchives() => $_clearField(2);
6452
+
6453
+ /// The commit whose state this answer shows (as OfferStateChange.parent_head names a head).
6454
+ @$pb.TagNumber(3)
6455
+ $core.String get readAt => $_getSZ(2);
6456
+ @$pb.TagNumber(3)
6457
+ set readAt($core.String value) => $_setString(2, value);
6458
+ @$pb.TagNumber(3)
6459
+ $core.bool hasReadAt() => $_has(2);
6460
+ @$pb.TagNumber(3)
6461
+ void clearReadAt() => $_clearField(3);
6462
+ }
6463
+
6464
+ /// The rows of one declared query that changed between two kernel-issued read positions.
6465
+ class ApplicationResultDelta extends $pb.GeneratedMessage {
6466
+ factory ApplicationResultDelta({
6467
+ $core.String? baseFrontier,
6468
+ $core.String? frontier,
6469
+ $0.Any? changedRows,
6470
+ $core.Iterable<$core.String>? removedIds,
6471
+ }) {
6472
+ final result = create();
6473
+ if (baseFrontier != null) result.baseFrontier = baseFrontier;
6474
+ if (frontier != null) result.frontier = frontier;
6475
+ if (changedRows != null) result.changedRows = changedRows;
6476
+ if (removedIds != null) result.removedIds.addAll(removedIds);
6477
+ return result;
6478
+ }
6479
+
6480
+ ApplicationResultDelta._();
6481
+
6482
+ factory ApplicationResultDelta.fromBuffer($core.List<$core.int> data,
6483
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
6484
+ create()..mergeFromBuffer(data, registry);
6485
+ factory ApplicationResultDelta.fromJson($core.String json,
6486
+ [$pb.ExtensionRegistry registry = $pb.ExtensionRegistry.EMPTY]) =>
6487
+ create()..mergeFromJson(json, registry);
6488
+
6489
+ static final $pb.BuilderInfo _i = $pb.BuilderInfo(
6490
+ _omitMessageNames ? '' : 'ApplicationResultDelta',
6491
+ package:
6492
+ const $pb.PackageName(_omitMessageNames ? '' : 'nomos.kernel.v1'),
6493
+ createEmptyInstance: create)
6494
+ ..aOS(1, _omitFieldNames ? '' : 'baseFrontier')
6495
+ ..aOS(2, _omitFieldNames ? '' : 'frontier')
6496
+ ..aOM<$0.Any>(3, _omitFieldNames ? '' : 'changedRows',
6497
+ subBuilder: $0.Any.create)
6498
+ ..pPS(4, _omitFieldNames ? '' : 'removedIds')
6499
+ ..hasRequiredFields = false;
6500
+
6501
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
6502
+ ApplicationResultDelta clone() => deepCopy();
6503
+ @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
6504
+ ApplicationResultDelta copyWith(
6505
+ void Function(ApplicationResultDelta) updates) =>
6506
+ super.copyWith((message) => updates(message as ApplicationResultDelta))
6507
+ as ApplicationResultDelta;
6508
+
6509
+ @$core.override
6510
+ $pb.BuilderInfo get info_ => _i;
6511
+
6512
+ @$core.pragma('dart2js:noInline')
6513
+ static ApplicationResultDelta create() => ApplicationResultDelta._();
6514
+ @$core.override
6515
+ ApplicationResultDelta createEmptyInstance() => create();
6516
+ @$core.pragma('dart2js:noInline')
6517
+ static ApplicationResultDelta getDefault() => _defaultInstance ??=
6518
+ $pb.GeneratedMessage.$_defaultFor<ApplicationResultDelta>(create);
6519
+ static ApplicationResultDelta? _defaultInstance;
6520
+
6521
+ /// The position the caller's result must be at (the request's `since_frontier`).
6522
+ @$pb.TagNumber(1)
6523
+ $core.String get baseFrontier => $_getSZ(0);
6524
+ @$pb.TagNumber(1)
6525
+ set baseFrontier($core.String value) => $_setString(0, value);
6526
+ @$pb.TagNumber(1)
6527
+ $core.bool hasBaseFrontier() => $_has(0);
6528
+ @$pb.TagNumber(1)
6529
+ void clearBaseFrontier() => $_clearField(1);
6530
+
6531
+ /// The position this delta advances it to; the next request's `since_frontier`.
6532
+ @$pb.TagNumber(2)
6533
+ $core.String get frontier => $_getSZ(1);
6534
+ @$pb.TagNumber(2)
6535
+ set frontier($core.String value) => $_setString(1, value);
6536
+ @$pb.TagNumber(2)
6537
+ $core.bool hasFrontier() => $_has(1);
6538
+ @$pb.TagNumber(2)
6539
+ void clearFrontier() => $_clearField(2);
6540
+
6541
+ /// Every added or changed visible row, encoded with the SAME `QueryResult_<identity>` contract as
6542
+ /// the full result (rows sorted by id; no page metadata), so generated decoders decode it.
6543
+ @$pb.TagNumber(3)
6544
+ $0.Any get changedRows => $_getN(2);
6545
+ @$pb.TagNumber(3)
6546
+ set changedRows($0.Any value) => $_setField(3, value);
6547
+ @$pb.TagNumber(3)
6548
+ $core.bool hasChangedRows() => $_has(2);
6549
+ @$pb.TagNumber(3)
6550
+ void clearChangedRows() => $_clearField(3);
6551
+ @$pb.TagNumber(3)
6552
+ $0.Any ensureChangedRows() => $_ensure(2);
6553
+
6554
+ /// Ids that no longer belong to the result. Sorted, disjoint from `changed_rows`; an id the
6555
+ /// caller never held is a no-op.
6556
+ @$pb.TagNumber(4)
6557
+ $pb.PbList<$core.String> get removedIds => $_getList(3);
5867
6558
  }
5868
6559
 
5869
6560
  /// OpenAPI is already a JSON document, not a tenant value or a recursive NomosValue tree.
@@ -5928,10 +6619,12 @@ class OpenApiDescriptionResponse extends $pb.GeneratedMessage {
5928
6619
  class InterfaceCompatibilityQuery extends $pb.GeneratedMessage {
5929
6620
  factory InterfaceCompatibilityQuery({
5930
6621
  $core.List<$core.int>? applicationMatrixUsda,
6622
+ $core.Iterable<LawUnit>? candidateUnits,
5931
6623
  }) {
5932
6624
  final result = create();
5933
6625
  if (applicationMatrixUsda != null)
5934
6626
  result.applicationMatrixUsda = applicationMatrixUsda;
6627
+ if (candidateUnits != null) result.candidateUnits.addAll(candidateUnits);
5935
6628
  return result;
5936
6629
  }
5937
6630
 
@@ -5951,6 +6644,8 @@ class InterfaceCompatibilityQuery extends $pb.GeneratedMessage {
5951
6644
  createEmptyInstance: create)
5952
6645
  ..a<$core.List<$core.int>>(
5953
6646
  1, _omitFieldNames ? '' : 'applicationMatrixUsda', $pb.PbFieldType.OY)
6647
+ ..pPM<LawUnit>(2, _omitFieldNames ? '' : 'candidateUnits',
6648
+ subBuilder: LawUnit.create)
5954
6649
  ..hasRequiredFields = false;
5955
6650
 
5956
6651
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -5984,6 +6679,12 @@ class InterfaceCompatibilityQuery extends $pb.GeneratedMessage {
5984
6679
  $core.bool hasApplicationMatrixUsda() => $_has(0);
5985
6680
  @$pb.TagNumber(1)
5986
6681
  void clearApplicationMatrixUsda() => $_clearField(1);
6682
+
6683
+ /// RELEASE QUALIFICATION (CAP-789): judge the matrix against the law this workspace would serve once
6684
+ /// these carried units were staged and promoted (composed exactly as that STAGE would compose them at
6685
+ /// this frontier), instead of the law it serves now. Nothing is written and no verdict is retained.
6686
+ @$pb.TagNumber(2)
6687
+ $pb.PbList<LawUnit> get candidateUnits => $_getList(1);
5987
6688
  }
5988
6689
 
5989
6690
  class InterfaceMemberVerdict extends $pb.GeneratedMessage {
@@ -6122,11 +6823,13 @@ class InterfaceCompatibilityResponse extends $pb.GeneratedMessage {
6122
6823
  $core.bool? compatible,
6123
6824
  $core.Iterable<InterfaceMemberVerdict>? members,
6124
6825
  $core.String? workspaceFrontier,
6826
+ $core.String? candidateHash,
6125
6827
  }) {
6126
6828
  final result = create();
6127
6829
  if (compatible != null) result.compatible = compatible;
6128
6830
  if (members != null) result.members.addAll(members);
6129
6831
  if (workspaceFrontier != null) result.workspaceFrontier = workspaceFrontier;
6832
+ if (candidateHash != null) result.candidateHash = candidateHash;
6130
6833
  return result;
6131
6834
  }
6132
6835
 
@@ -6148,6 +6851,7 @@ class InterfaceCompatibilityResponse extends $pb.GeneratedMessage {
6148
6851
  ..pPM<InterfaceMemberVerdict>(2, _omitFieldNames ? '' : 'members',
6149
6852
  subBuilder: InterfaceMemberVerdict.create)
6150
6853
  ..aOS(3, _omitFieldNames ? '' : 'workspaceFrontier')
6854
+ ..aOS(4, _omitFieldNames ? '' : 'candidateHash')
6151
6855
  ..hasRequiredFields = false;
6152
6856
 
6153
6857
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -6192,6 +6896,16 @@ class InterfaceCompatibilityResponse extends $pb.GeneratedMessage {
6192
6896
  $core.bool hasWorkspaceFrontier() => $_has(2);
6193
6897
  @$pb.TagNumber(3)
6194
6898
  void clearWorkspaceFrontier() => $_clearField(3);
6899
+
6900
+ /// The closure the carried candidate units composed to; empty when the installed law was judged.
6901
+ @$pb.TagNumber(4)
6902
+ $core.String get candidateHash => $_getSZ(3);
6903
+ @$pb.TagNumber(4)
6904
+ set candidateHash($core.String value) => $_setString(3, value);
6905
+ @$pb.TagNumber(4)
6906
+ $core.bool hasCandidateHash() => $_has(3);
6907
+ @$pb.TagNumber(4)
6908
+ void clearCandidateHash() => $_clearField(4);
6195
6909
  }
6196
6910
 
6197
6911
  /// One bounded kernel-maintenance quantum. This is runtime procedure state,
@@ -6382,6 +7096,9 @@ class MaintenanceQuantumQuery extends $pb.GeneratedMessage {
6382
7096
  $core.bool? localReadOnly,
6383
7097
  $core.bool? maintainGitCustody,
6384
7098
  $core.bool? readIndexOnly,
7099
+ $core.bool? maintainAddressedFrontiers,
7100
+ $core.bool? flushDurability,
7101
+ $core.bool? localWriteBurst,
6385
7102
  }) {
6386
7103
  final result = create();
6387
7104
  if (requestedDomain != null) result.requestedDomain = requestedDomain;
@@ -6392,6 +7109,10 @@ class MaintenanceQuantumQuery extends $pb.GeneratedMessage {
6392
7109
  if (maintainGitCustody != null)
6393
7110
  result.maintainGitCustody = maintainGitCustody;
6394
7111
  if (readIndexOnly != null) result.readIndexOnly = readIndexOnly;
7112
+ if (maintainAddressedFrontiers != null)
7113
+ result.maintainAddressedFrontiers = maintainAddressedFrontiers;
7114
+ if (flushDurability != null) result.flushDurability = flushDurability;
7115
+ if (localWriteBurst != null) result.localWriteBurst = localWriteBurst;
6395
7116
  return result;
6396
7117
  }
6397
7118
 
@@ -6415,6 +7136,9 @@ class MaintenanceQuantumQuery extends $pb.GeneratedMessage {
6415
7136
  ..aOB(4, _omitFieldNames ? '' : 'localReadOnly')
6416
7137
  ..aOB(5, _omitFieldNames ? '' : 'maintainGitCustody')
6417
7138
  ..aOB(6, _omitFieldNames ? '' : 'readIndexOnly')
7139
+ ..aOB(7, _omitFieldNames ? '' : 'maintainAddressedFrontiers')
7140
+ ..aOB(8, _omitFieldNames ? '' : 'flushDurability')
7141
+ ..aOB(9, _omitFieldNames ? '' : 'localWriteBurst')
6418
7142
  ..hasRequiredFields = false;
6419
7143
 
6420
7144
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -6493,6 +7217,51 @@ class MaintenanceQuantumQuery extends $pb.GeneratedMessage {
6493
7217
  $core.bool hasReadIndexOnly() => $_has(5);
6494
7218
  @$pb.TagNumber(6)
6495
7219
  void clearReadIndexOnly() => $_clearField(6);
7220
+
7221
+ /// The idle pin quantum: pin the live positions the current raw frontier index
7222
+ /// does not serve (normally the admitted frontier behind unsynced local
7223
+ /// writes), once per position, and prune every other addressed derivative in
7224
+ /// bounded batches. No reader waits on it, so the host sends it only after the
7225
+ /// workspace has been write-idle for a quiet window, never during a burst.
7226
+ /// Exclusive of the other modes; maintenance_pending asks for another quantum.
7227
+ @$pb.TagNumber(7)
7228
+ $core.bool get maintainAddressedFrontiers => $_getBF(6);
7229
+ @$pb.TagNumber(7)
7230
+ set maintainAddressedFrontiers($core.bool value) => $_setBool(6, value);
7231
+ @$pb.TagNumber(7)
7232
+ $core.bool hasMaintainAddressedFrontiers() => $_has(6);
7233
+ @$pb.TagNumber(7)
7234
+ void clearMaintainAddressedFrontiers() => $_clearField(7);
7235
+
7236
+ /// The durability flush quantum (CAP-746). Under the deferred durability policy a save forces
7237
+ /// nothing to stable storage; the kernel owes every file it wrote to one ordered flush (objects,
7238
+ /// then refs, then disposable SQLite, then a last-known-good marker per workspace). The host
7239
+ /// decides WHEN (after a short write-quiet window, bounded during a long burst); the kernel
7240
+ /// decides WHAT, and flushes everything it owes, whichever workspace the quantum names. A no-op
7241
+ /// under the synchronous policy. Exclusive of the other modes; maintenance_pending asks for
7242
+ /// another quantum.
7243
+ @$pb.TagNumber(8)
7244
+ $core.bool get flushDurability => $_getBF(7);
7245
+ @$pb.TagNumber(8)
7246
+ set flushDurability($core.bool value) => $_setBool(7, value);
7247
+ @$pb.TagNumber(8)
7248
+ $core.bool hasFlushDurability() => $_has(7);
7249
+ @$pb.TagNumber(8)
7250
+ void clearFlushDurability() => $_clearField(8);
7251
+
7252
+ /// The peer's local writes are in a burst (CAP-750). Packing loose custody objects waits for the
7253
+ /// person to pause, so the host sends a custody quantum (maintain_git_custody) during a burst
7254
+ /// only after the kernel reported loose_custody_pressure. The kernel then packs one small slice of
7255
+ /// loose objects and does nothing else in that quantum: no staged-pack promotion, no multi-pack
7256
+ /// index or repack step, no command warming.
7257
+ @$pb.TagNumber(9)
7258
+ $core.bool get localWriteBurst => $_getBF(8);
7259
+ @$pb.TagNumber(9)
7260
+ set localWriteBurst($core.bool value) => $_setBool(8, value);
7261
+ @$pb.TagNumber(9)
7262
+ $core.bool hasLocalWriteBurst() => $_has(8);
7263
+ @$pb.TagNumber(9)
7264
+ void clearLocalWriteBurst() => $_clearField(9);
6496
7265
  }
6497
7266
 
6498
7267
  class MaintenanceQuantumResponse extends $pb.GeneratedMessage {
@@ -6508,6 +7277,7 @@ class MaintenanceQuantumResponse extends $pb.GeneratedMessage {
6508
7277
  $core.String? preparedCommandDomain,
6509
7278
  $core.String? preparedCommandPackage,
6510
7279
  $core.String? preparedCommandSelector,
7280
+ $core.bool? looseCustodyPressure,
6511
7281
  }) {
6512
7282
  final result = create();
6513
7283
  if (workspace != null) result.workspace = workspace;
@@ -6525,6 +7295,8 @@ class MaintenanceQuantumResponse extends $pb.GeneratedMessage {
6525
7295
  result.preparedCommandPackage = preparedCommandPackage;
6526
7296
  if (preparedCommandSelector != null)
6527
7297
  result.preparedCommandSelector = preparedCommandSelector;
7298
+ if (looseCustodyPressure != null)
7299
+ result.looseCustodyPressure = looseCustodyPressure;
6528
7300
  return result;
6529
7301
  }
6530
7302
 
@@ -6558,6 +7330,7 @@ class MaintenanceQuantumResponse extends $pb.GeneratedMessage {
6558
7330
  ..aOS(9, _omitFieldNames ? '' : 'preparedCommandDomain')
6559
7331
  ..aOS(10, _omitFieldNames ? '' : 'preparedCommandPackage')
6560
7332
  ..aOS(11, _omitFieldNames ? '' : 'preparedCommandSelector')
7333
+ ..aOB(12, _omitFieldNames ? '' : 'looseCustodyPressure')
6561
7334
  ..hasRequiredFields = false;
6562
7335
 
6563
7336
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -6679,6 +7452,18 @@ class MaintenanceQuantumResponse extends $pb.GeneratedMessage {
6679
7452
  $core.bool hasPreparedCommandSelector() => $_has(10);
6680
7453
  @$pb.TagNumber(11)
6681
7454
  void clearPreparedCommandSelector() => $_clearField(11);
7455
+
7456
+ /// The loose objects this kernel instance has written and not yet packed exceed the growth guard
7457
+ /// (CAP-750). Reported on every maintenance quantum, so a host holding custody packing back for a
7458
+ /// burst learns when an endless burst must pack in small slices after all.
7459
+ @$pb.TagNumber(12)
7460
+ $core.bool get looseCustodyPressure => $_getBF(11);
7461
+ @$pb.TagNumber(12)
7462
+ set looseCustodyPressure($core.bool value) => $_setBool(11, value);
7463
+ @$pb.TagNumber(12)
7464
+ $core.bool hasLooseCustodyPressure() => $_has(11);
7465
+ @$pb.TagNumber(12)
7466
+ void clearLooseCustodyPressure() => $_clearField(12);
6682
7467
  }
6683
7468
 
6684
7469
  class OsgiAttribute extends $pb.GeneratedMessage {
@@ -8835,6 +9620,7 @@ class SyncResponse extends $pb.GeneratedMessage {
8835
9620
  $core.Iterable<SyncRefusedIntent>? refusedLocal,
8836
9621
  CustodyDisagreement? custodyDisagreement,
8837
9622
  $core.Iterable<$core.String>? parkedLocalRefs,
9623
+ $core.bool? replayPending,
8838
9624
  }) {
8839
9625
  final result = create();
8840
9626
  if (admitted != null) result.admitted = admitted;
@@ -8855,6 +9641,7 @@ class SyncResponse extends $pb.GeneratedMessage {
8855
9641
  if (custodyDisagreement != null)
8856
9642
  result.custodyDisagreement = custodyDisagreement;
8857
9643
  if (parkedLocalRefs != null) result.parkedLocalRefs.addAll(parkedLocalRefs);
9644
+ if (replayPending != null) result.replayPending = replayPending;
8858
9645
  return result;
8859
9646
  }
8860
9647
 
@@ -8891,6 +9678,7 @@ class SyncResponse extends $pb.GeneratedMessage {
8891
9678
  ..aOM<CustodyDisagreement>(13, _omitFieldNames ? '' : 'custodyDisagreement',
8892
9679
  subBuilder: CustodyDisagreement.create)
8893
9680
  ..pPS(14, _omitFieldNames ? '' : 'parkedLocalRefs')
9681
+ ..aOB(15, _omitFieldNames ? '' : 'replayPending')
8894
9682
  ..hasRequiredFields = false;
8895
9683
 
8896
9684
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -9000,6 +9788,19 @@ class SyncResponse extends $pb.GeneratedMessage {
9000
9788
  /// Non-empty means `refused_local` left main and is recoverable from the refused-offer desk.
9001
9789
  @$pb.TagNumber(14)
9002
9790
  $pb.PbList<$core.String> get parkedLocalRefs => $_getList(12);
9791
+
9792
+ /// The replay spent its `replay_offer_budget` before finishing (CAP-757). Nothing was published:
9793
+ /// live main is unchanged and `head` is still the live head. The kernel keeps its private
9794
+ /// candidate; the same request again continues it from the next offer. Every other field is
9795
+ /// empty until the answer that completes the replay.
9796
+ @$pb.TagNumber(15)
9797
+ $core.bool get replayPending => $_getBF(13);
9798
+ @$pb.TagNumber(15)
9799
+ set replayPending($core.bool value) => $_setBool(13, value);
9800
+ @$pb.TagNumber(15)
9801
+ $core.bool hasReplayPending() => $_has(13);
9802
+ @$pb.TagNumber(15)
9803
+ void clearReplayPending() => $_clearField(15);
9003
9804
  }
9004
9805
 
9005
9806
  class CustodyDisagreement extends $pb.GeneratedMessage {
@@ -14685,6 +15486,7 @@ class RowsQuery extends $pb.GeneratedMessage {
14685
15486
  $core.String? principal,
14686
15487
  $core.List<$core.int>? argumentsUsda,
14687
15488
  $0.Any? applicationArguments,
15489
+ $core.String? sinceFrontier,
14688
15490
  }) {
14689
15491
  final result = create();
14690
15492
  if (id != null) result.id = id;
@@ -14693,6 +15495,7 @@ class RowsQuery extends $pb.GeneratedMessage {
14693
15495
  if (argumentsUsda != null) result.argumentsUsda = argumentsUsda;
14694
15496
  if (applicationArguments != null)
14695
15497
  result.applicationArguments = applicationArguments;
15498
+ if (sinceFrontier != null) result.sinceFrontier = sinceFrontier;
14696
15499
  return result;
14697
15500
  }
14698
15501
 
@@ -14718,6 +15521,7 @@ class RowsQuery extends $pb.GeneratedMessage {
14718
15521
  4, _omitFieldNames ? '' : 'argumentsUsda', $pb.PbFieldType.OY)
14719
15522
  ..aOM<$0.Any>(5, _omitFieldNames ? '' : 'applicationArguments',
14720
15523
  subBuilder: $0.Any.create)
15524
+ ..aOS(6, _omitFieldNames ? '' : 'sinceFrontier')
14721
15525
  ..hasRequiredFields = false;
14722
15526
 
14723
15527
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -14792,6 +15596,19 @@ class RowsQuery extends $pb.GeneratedMessage {
14792
15596
  void clearApplicationArguments() => $_clearField(5);
14793
15597
  @$pb.TagNumber(5)
14794
15598
  $0.Any ensureApplicationArguments() => $_ensure(4);
15599
+
15600
+ /// Opt-in incremental read (CAP-731): the `result_frontier` (or delta `frontier`) of the result
15601
+ /// the caller holds for this exact query and arguments. The kernel answers with an
15602
+ /// `application_result_delta` from that position, or with the full result and a typed
15603
+ /// `full_result_reason`. Only valid with the application Protobuf result format.
15604
+ @$pb.TagNumber(6)
15605
+ $core.String get sinceFrontier => $_getSZ(5);
15606
+ @$pb.TagNumber(6)
15607
+ set sinceFrontier($core.String value) => $_setString(5, value);
15608
+ @$pb.TagNumber(6)
15609
+ $core.bool hasSinceFrontier() => $_has(5);
15610
+ @$pb.TagNumber(6)
15611
+ void clearSinceFrontier() => $_clearField(6);
14795
15612
  }
14796
15613
 
14797
15614
  class PageQuery extends $pb.GeneratedMessage {
@@ -15768,6 +16585,7 @@ class FrontierTransitionRequest extends $pb.GeneratedMessage {
15768
16585
  $core.String? atHash,
15769
16586
  $core.String? acknowledgementPrincipal,
15770
16587
  $core.String? restorePreviousOf,
16588
+ $core.Iterable<LawUnit>? candidateUnits,
15771
16589
  }) {
15772
16590
  final result = create();
15773
16591
  if (domain != null) result.domain = domain;
@@ -15776,6 +16594,7 @@ class FrontierTransitionRequest extends $pb.GeneratedMessage {
15776
16594
  if (acknowledgementPrincipal != null)
15777
16595
  result.acknowledgementPrincipal = acknowledgementPrincipal;
15778
16596
  if (restorePreviousOf != null) result.restorePreviousOf = restorePreviousOf;
16597
+ if (candidateUnits != null) result.candidateUnits.addAll(candidateUnits);
15779
16598
  return result;
15780
16599
  }
15781
16600
 
@@ -15798,6 +16617,8 @@ class FrontierTransitionRequest extends $pb.GeneratedMessage {
15798
16617
  ..aOS(3, _omitFieldNames ? '' : 'atHash')
15799
16618
  ..aOS(4, _omitFieldNames ? '' : 'acknowledgementPrincipal')
15800
16619
  ..aOS(5, _omitFieldNames ? '' : 'restorePreviousOf')
16620
+ ..pPM<LawUnit>(6, _omitFieldNames ? '' : 'candidateUnits',
16621
+ subBuilder: LawUnit.create)
15801
16622
  ..hasRequiredFields = false;
15802
16623
 
15803
16624
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -15864,6 +16685,15 @@ class FrontierTransitionRequest extends $pb.GeneratedMessage {
15864
16685
  $core.bool hasRestorePreviousOf() => $_has(4);
15865
16686
  @$pb.TagNumber(5)
15866
16687
  void clearRestorePreviousOf() => $_clearField(5);
16688
+
16689
+ /// RELEASE QUALIFICATION (CAP-789): the candidate carried as law units instead of named as a staged
16690
+ /// closure. The kernel admits each unit from its content, places and composes them exactly as a STAGE
16691
+ /// carrying them would at this frontier, and judges the same transition. It writes nothing: no stage, no
16692
+ /// custody object, no ref. When set, candidate_hash must equal the composed identity (the response names
16693
+ /// it either way). The answer is qualification evidence only: promotion still needs the candidate staged
16694
+ /// and judged again at the then-current frontier. Not with restore_previous_of.
16695
+ @$pb.TagNumber(6)
16696
+ $pb.PbList<LawUnit> get candidateUnits => $_getList(5);
15867
16697
  }
15868
16698
 
15869
16699
  class FrontierTransitionDispositionMapEntry extends $pb.GeneratedMessage {
@@ -17486,6 +18316,7 @@ class SyncRequest extends $pb.GeneratedMessage {
17486
18316
  $core.String? toHead,
17487
18317
  $core.bool? parkRefusedLocal,
17488
18318
  $fixnum.Int64? parkedAtMillis,
18319
+ $core.int? replayOfferBudget,
17489
18320
  }) {
17490
18321
  final result = create();
17491
18322
  if (target != null) result.target = target;
@@ -17493,6 +18324,7 @@ class SyncRequest extends $pb.GeneratedMessage {
17493
18324
  if (toHead != null) result.toHead = toHead;
17494
18325
  if (parkRefusedLocal != null) result.parkRefusedLocal = parkRefusedLocal;
17495
18326
  if (parkedAtMillis != null) result.parkedAtMillis = parkedAtMillis;
18327
+ if (replayOfferBudget != null) result.replayOfferBudget = replayOfferBudget;
17496
18328
  return result;
17497
18329
  }
17498
18330
 
@@ -17518,6 +18350,8 @@ class SyncRequest extends $pb.GeneratedMessage {
17518
18350
  ..a<$fixnum.Int64>(
17519
18351
  5, _omitFieldNames ? '' : 'parkedAtMillis', $pb.PbFieldType.OU6,
17520
18352
  defaultOrMaker: $fixnum.Int64.ZERO)
18353
+ ..aI(6, _omitFieldNames ? '' : 'replayOfferBudget',
18354
+ fieldType: $pb.PbFieldType.OU3)
17521
18355
  ..hasRequiredFields = false;
17522
18356
 
17523
18357
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -17593,6 +18427,20 @@ class SyncRequest extends $pb.GeneratedMessage {
17593
18427
  $core.bool hasParkedAtMillis() => $_has(4);
17594
18428
  @$pb.TagNumber(5)
17595
18429
  void clearParkedAtMillis() => $_clearField(5);
18430
+
18431
+ /// The most offers (incoming and local) this call judges before it answers `replay_pending`
18432
+ /// (CAP-757). Receiving a backlog is then bounded steps the host interleaves with foreground
18433
+ /// work, never one call that holds the kernel for the whole backlog. Absent or 0 replays
18434
+ /// everything in one call, as before. Local writes made between steps are rebased in the same
18435
+ /// replay; anything else that moves live main starts it again.
18436
+ @$pb.TagNumber(6)
18437
+ $core.int get replayOfferBudget => $_getIZ(5);
18438
+ @$pb.TagNumber(6)
18439
+ set replayOfferBudget($core.int value) => $_setUnsignedInt32(5, value);
18440
+ @$pb.TagNumber(6)
18441
+ $core.bool hasReplayOfferBudget() => $_has(5);
18442
+ @$pb.TagNumber(6)
18443
+ void clearReplayOfferBudget() => $_clearField(6);
17596
18444
  }
17597
18445
 
17598
18446
  /// Immutable process configuration supplied once by the Peer Office before it
@@ -17604,12 +18452,17 @@ class KernelConfigurationRequest extends $pb.GeneratedMessage {
17604
18452
  factory KernelConfigurationRequest({
17605
18453
  $core.List<$core.int>? trustRootPublicKey,
17606
18454
  $core.bool? trustsCustodianHistory,
18455
+ $core.bool? deferredDurability,
18456
+ $core.bool? hostCallLedger,
17607
18457
  }) {
17608
18458
  final result = create();
17609
18459
  if (trustRootPublicKey != null)
17610
18460
  result.trustRootPublicKey = trustRootPublicKey;
17611
18461
  if (trustsCustodianHistory != null)
17612
18462
  result.trustsCustodianHistory = trustsCustodianHistory;
18463
+ if (deferredDurability != null)
18464
+ result.deferredDurability = deferredDurability;
18465
+ if (hostCallLedger != null) result.hostCallLedger = hostCallLedger;
17613
18466
  return result;
17614
18467
  }
17615
18468
 
@@ -17630,6 +18483,8 @@ class KernelConfigurationRequest extends $pb.GeneratedMessage {
17630
18483
  ..a<$core.List<$core.int>>(
17631
18484
  1, _omitFieldNames ? '' : 'trustRootPublicKey', $pb.PbFieldType.OY)
17632
18485
  ..aOB(2, _omitFieldNames ? '' : 'trustsCustodianHistory')
18486
+ ..aOB(3, _omitFieldNames ? '' : 'deferredDurability')
18487
+ ..aOB(4, _omitFieldNames ? '' : 'hostCallLedger')
17633
18488
  ..hasRequiredFields = false;
17634
18489
 
17635
18490
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -17676,14 +18531,44 @@ class KernelConfigurationRequest extends $pb.GeneratedMessage {
17676
18531
  $core.bool hasTrustsCustodianHistory() => $_has(1);
17677
18532
  @$pb.TagNumber(2)
17678
18533
  void clearTrustsCustodianHistory() => $_clearField(2);
18534
+
18535
+ /// A peer property, not law (CAP-746): this peer is a personal device whose saves acknowledge
18536
+ /// once their writes reach the OS. The kernel forces nothing to stable storage on the hot path
18537
+ /// and owes it to an ordered background flush (MaintenanceQuantumQuery.flush_durability); a
18538
+ /// reopen after an unclean shutdown returns main to the last flushed head if its newer custody
18539
+ /// is unreadable and rebuilds unsynced disposable indexes. Absent or false keeps synchronous
18540
+ /// durability (the cloud custodian). Immutable once set.
18541
+ @$pb.TagNumber(3)
18542
+ $core.bool get deferredDurability => $_getBF(2);
18543
+ @$pb.TagNumber(3)
18544
+ set deferredDurability($core.bool value) => $_setBool(2, value);
18545
+ @$pb.TagNumber(3)
18546
+ $core.bool hasDeferredDurability() => $_has(2);
18547
+ @$pb.TagNumber(3)
18548
+ void clearDeferredDurability() => $_clearField(3);
18549
+
18550
+ /// Observability only, never law: this host counts the host calls it services into the kernel's
18551
+ /// per-offer phase ledger (kernel/src/offer_phases.rs). The kernel answers with the ledger's
18552
+ /// address in its own linear memory; the host adds one call and its nanoseconds there for every
18553
+ /// host call, and reads the finished offer line back from the same block. Changes no judgment.
18554
+ @$pb.TagNumber(4)
18555
+ $core.bool get hostCallLedger => $_getBF(3);
18556
+ @$pb.TagNumber(4)
18557
+ set hostCallLedger($core.bool value) => $_setBool(3, value);
18558
+ @$pb.TagNumber(4)
18559
+ $core.bool hasHostCallLedger() => $_has(3);
18560
+ @$pb.TagNumber(4)
18561
+ void clearHostCallLedger() => $_clearField(4);
17679
18562
  }
17680
18563
 
17681
18564
  class KernelConfigurationResponse extends $pb.GeneratedMessage {
17682
18565
  factory KernelConfigurationResponse({
17683
18566
  Acknowledged? result,
18567
+ $core.int? hostCallLedger,
17684
18568
  }) {
17685
18569
  final result$ = create();
17686
18570
  if (result != null) result$.result = result;
18571
+ if (hostCallLedger != null) result$.hostCallLedger = hostCallLedger;
17687
18572
  return result$;
17688
18573
  }
17689
18574
 
@@ -17703,6 +18588,8 @@ class KernelConfigurationResponse extends $pb.GeneratedMessage {
17703
18588
  createEmptyInstance: create)
17704
18589
  ..aOM<Acknowledged>(1, _omitFieldNames ? '' : 'result',
17705
18590
  subBuilder: Acknowledged.create)
18591
+ ..aI(2, _omitFieldNames ? '' : 'hostCallLedger',
18592
+ fieldType: $pb.PbFieldType.OU3)
17706
18593
  ..hasRequiredFields = false;
17707
18594
 
17708
18595
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -17737,6 +18624,16 @@ class KernelConfigurationResponse extends $pb.GeneratedMessage {
17737
18624
  void clearResult() => $_clearField(1);
17738
18625
  @$pb.TagNumber(1)
17739
18626
  Acknowledged ensureResult() => $_ensure(0);
18627
+
18628
+ /// Present when the request asked for `host_call_ledger`: the ledger block's linear-memory address.
18629
+ @$pb.TagNumber(2)
18630
+ $core.int get hostCallLedger => $_getIZ(1);
18631
+ @$pb.TagNumber(2)
18632
+ set hostCallLedger($core.int value) => $_setUnsignedInt32(1, value);
18633
+ @$pb.TagNumber(2)
18634
+ $core.bool hasHostCallLedger() => $_has(1);
18635
+ @$pb.TagNumber(2)
18636
+ void clearHostCallLedger() => $_clearField(2);
17740
18637
  }
17741
18638
 
17742
18639
  enum CustodyRequest_Operation {
@@ -19281,6 +20178,9 @@ class PackDeltaRequest extends $pb.GeneratedMessage {
19281
20178
  $core.String? base,
19282
20179
  $core.String? branch,
19283
20180
  $core.String? stagedPackFile,
20181
+ $core.int? depth,
20182
+ $core.bool? belowHead,
20183
+ $core.Iterable<$core.String>? alsoHeads,
19284
20184
  }) {
19285
20185
  final result = create();
19286
20186
  if (repo != null) result.repo = repo;
@@ -19288,6 +20188,9 @@ class PackDeltaRequest extends $pb.GeneratedMessage {
19288
20188
  if (base != null) result.base = base;
19289
20189
  if (branch != null) result.branch = branch;
19290
20190
  if (stagedPackFile != null) result.stagedPackFile = stagedPackFile;
20191
+ if (depth != null) result.depth = depth;
20192
+ if (belowHead != null) result.belowHead = belowHead;
20193
+ if (alsoHeads != null) result.alsoHeads.addAll(alsoHeads);
19291
20194
  return result;
19292
20195
  }
19293
20196
 
@@ -19310,6 +20213,9 @@ class PackDeltaRequest extends $pb.GeneratedMessage {
19310
20213
  ..aOS(3, _omitFieldNames ? '' : 'base')
19311
20214
  ..aOS(4, _omitFieldNames ? '' : 'branch')
19312
20215
  ..aOS(5, _omitFieldNames ? '' : 'stagedPackFile')
20216
+ ..aI(6, _omitFieldNames ? '' : 'depth', fieldType: $pb.PbFieldType.OU3)
20217
+ ..aOB(7, _omitFieldNames ? '' : 'belowHead')
20218
+ ..pPS(8, _omitFieldNames ? '' : 'alsoHeads')
19313
20219
  ..hasRequiredFields = false;
19314
20220
 
19315
20221
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -19378,9 +20284,37 @@ class PackDeltaRequest extends $pb.GeneratedMessage {
19378
20284
  $core.bool hasStagedPackFile() => $_has(4);
19379
20285
  @$pb.TagNumber(5)
19380
20286
  void clearStagedPackFile() => $_clearField(5);
20287
+
20288
+ /// A SHALLOW pack instead of a delta (architecture/peer_catchup.md), with no `base`: the commits
20289
+ /// within `depth` generations of `head`, each with its complete tree, objects ordered by id
20290
+ /// (deterministic bytes). depth 1 is a checkpoint: the frontier state at `head`.
20291
+ @$pb.TagNumber(6)
20292
+ $core.int get depth => $_getIZ(5);
20293
+ @$pb.TagNumber(6)
20294
+ set depth($core.int value) => $_setUnsignedInt32(5, value);
20295
+ @$pb.TagNumber(6)
20296
+ $core.bool hasDepth() => $_has(5);
20297
+ @$pb.TagNumber(6)
20298
+ void clearDepth() => $_clearField(6);
20299
+
20300
+ /// With `depth`: `head` is a shallow boundary the receiver holds. Its commit and tree are omitted
20301
+ /// and the `depth` generations below it are packed: one lazy-history slice.
20302
+ @$pb.TagNumber(7)
20303
+ $core.bool get belowHead => $_getBF(6);
20304
+ @$pb.TagNumber(7)
20305
+ set belowHead($core.bool value) => $_setBool(6, value);
20306
+ @$pb.TagNumber(7)
20307
+ $core.bool hasBelowHead() => $_has(6);
20308
+ @$pb.TagNumber(7)
20309
+ void clearBelowHead() => $_clearField(7);
20310
+
20311
+ /// With `depth` and not `below_head`: more heads packed beside `head` at the same depth (the
20312
+ /// settled-letter outcome commits a checkpoint carries).
20313
+ @$pb.TagNumber(8)
20314
+ $pb.PbList<$core.String> get alsoHeads => $_getList(7);
19381
20315
  }
19382
20316
 
19383
- enum ApplyPackRequest_Source { pack, stagedPackFile, notSet }
20317
+ enum ApplyPackRequest_Source { pack, stagedPackFile, continuePending, notSet }
19384
20318
 
19385
20319
  class ApplyPackRequest extends $pb.GeneratedMessage {
19386
20320
  factory ApplyPackRequest({
@@ -19390,6 +20324,8 @@ class ApplyPackRequest extends $pb.GeneratedMessage {
19390
20324
  $core.String? stagedPackFile,
19391
20325
  $core.Iterable<$core.String>? shallow,
19392
20326
  $core.Iterable<$core.String>? unshallow,
20327
+ $fixnum.Int64? workBudgetBytes,
20328
+ $core.bool? continuePending,
19393
20329
  }) {
19394
20330
  final result = create();
19395
20331
  if (repo != null) result.repo = repo;
@@ -19398,6 +20334,8 @@ class ApplyPackRequest extends $pb.GeneratedMessage {
19398
20334
  if (stagedPackFile != null) result.stagedPackFile = stagedPackFile;
19399
20335
  if (shallow != null) result.shallow.addAll(shallow);
19400
20336
  if (unshallow != null) result.unshallow.addAll(unshallow);
20337
+ if (workBudgetBytes != null) result.workBudgetBytes = workBudgetBytes;
20338
+ if (continuePending != null) result.continuePending = continuePending;
19401
20339
  return result;
19402
20340
  }
19403
20341
 
@@ -19414,6 +20352,7 @@ class ApplyPackRequest extends $pb.GeneratedMessage {
19414
20352
  _ApplyPackRequest_SourceByTag = {
19415
20353
  2: ApplyPackRequest_Source.pack,
19416
20354
  4: ApplyPackRequest_Source.stagedPackFile,
20355
+ 8: ApplyPackRequest_Source.continuePending,
19417
20356
  0: ApplyPackRequest_Source.notSet
19418
20357
  };
19419
20358
  static final $pb.BuilderInfo _i = $pb.BuilderInfo(
@@ -19421,7 +20360,7 @@ class ApplyPackRequest extends $pb.GeneratedMessage {
19421
20360
  package:
19422
20361
  const $pb.PackageName(_omitMessageNames ? '' : 'nomos.kernel.v1'),
19423
20362
  createEmptyInstance: create)
19424
- ..oo(0, [2, 4])
20363
+ ..oo(0, [2, 4, 8])
19425
20364
  ..aOS(1, _omitFieldNames ? '' : 'repo')
19426
20365
  ..a<$core.List<$core.int>>(
19427
20366
  2, _omitFieldNames ? '' : 'pack', $pb.PbFieldType.OY)
@@ -19429,6 +20368,10 @@ class ApplyPackRequest extends $pb.GeneratedMessage {
19429
20368
  ..aOS(4, _omitFieldNames ? '' : 'stagedPackFile')
19430
20369
  ..pPS(5, _omitFieldNames ? '' : 'shallow')
19431
20370
  ..pPS(6, _omitFieldNames ? '' : 'unshallow')
20371
+ ..a<$fixnum.Int64>(
20372
+ 7, _omitFieldNames ? '' : 'workBudgetBytes', $pb.PbFieldType.OU6,
20373
+ defaultOrMaker: $fixnum.Int64.ZERO)
20374
+ ..aOB(8, _omitFieldNames ? '' : 'continuePending')
19432
20375
  ..hasRequiredFields = false;
19433
20376
 
19434
20377
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -19452,10 +20395,12 @@ class ApplyPackRequest extends $pb.GeneratedMessage {
19452
20395
 
19453
20396
  @$pb.TagNumber(2)
19454
20397
  @$pb.TagNumber(4)
20398
+ @$pb.TagNumber(8)
19455
20399
  ApplyPackRequest_Source whichSource() =>
19456
20400
  _ApplyPackRequest_SourceByTag[$_whichOneof(0)]!;
19457
20401
  @$pb.TagNumber(2)
19458
20402
  @$pb.TagNumber(4)
20403
+ @$pb.TagNumber(8)
19459
20404
  void clearSource() => $_clearField($_whichOneof(0));
19460
20405
 
19461
20406
  @$pb.TagNumber(1)
@@ -19505,6 +20450,33 @@ class ApplyPackRequest extends $pb.GeneratedMessage {
19505
20450
 
19506
20451
  @$pb.TagNumber(6)
19507
20452
  $pb.PbList<$core.String> get unshallow => $_getList(5);
20453
+
20454
+ /// At most about this many bytes of work (hashing, inflating, decoding, rewriting) in this call
20455
+ /// (CAP-806). When the pack needs more, the kernel keeps the import's progress, publishes
20456
+ /// nothing and answers `import_pending`; `continue_pending` continues it. A host interleaves the
20457
+ /// steps with its user's reads and offers, so a large import never holds the kernel for its
20458
+ /// whole length. A new pack for the same repository discards a pending import. Absent or 0: the
20459
+ /// whole pack in one call, as before.
20460
+ @$pb.TagNumber(7)
20461
+ $fixnum.Int64 get workBudgetBytes => $_getI64(6);
20462
+ @$pb.TagNumber(7)
20463
+ set workBudgetBytes($fixnum.Int64 value) => $_setInt64(6, value);
20464
+ @$pb.TagNumber(7)
20465
+ $core.bool hasWorkBudgetBytes() => $_has(6);
20466
+ @$pb.TagNumber(7)
20467
+ void clearWorkBudgetBytes() => $_clearField(7);
20468
+
20469
+ /// Continue the import this repository has pending (CAP-806): the one a request with
20470
+ /// `work_budget_bytes` began and answered `import_pending`. It carries no pack, head or
20471
+ /// boundary; the import keeps those of the request that began it.
20472
+ @$pb.TagNumber(8)
20473
+ $core.bool get continuePending => $_getBF(7);
20474
+ @$pb.TagNumber(8)
20475
+ set continuePending($core.bool value) => $_setBool(7, value);
20476
+ @$pb.TagNumber(8)
20477
+ $core.bool hasContinuePending() => $_has(7);
20478
+ @$pb.TagNumber(8)
20479
+ void clearContinuePending() => $_clearField(8);
19508
20480
  }
19509
20481
 
19510
20482
  class RepoStatsRequest extends $pb.GeneratedMessage {
@@ -19571,6 +20543,7 @@ class IntentsAboveRequest extends $pb.GeneratedMessage {
19571
20543
  $fixnum.Int64? limit,
19572
20544
  $core.bool? completeLogical,
19573
20545
  $core.bool? compactStored,
20546
+ $core.bool? fromBase,
19574
20547
  }) {
19575
20548
  final result = create();
19576
20549
  if (repo != null) result.repo = repo;
@@ -19580,6 +20553,7 @@ class IntentsAboveRequest extends $pb.GeneratedMessage {
19580
20553
  if (limit != null) result.limit = limit;
19581
20554
  if (completeLogical != null) result.completeLogical = completeLogical;
19582
20555
  if (compactStored != null) result.compactStored = compactStored;
20556
+ if (fromBase != null) result.fromBase = fromBase;
19583
20557
  return result;
19584
20558
  }
19585
20559
 
@@ -19605,6 +20579,7 @@ class IntentsAboveRequest extends $pb.GeneratedMessage {
19605
20579
  defaultOrMaker: $fixnum.Int64.ZERO)
19606
20580
  ..aOB(6, _omitFieldNames ? '' : 'completeLogical')
19607
20581
  ..aOB(7, _omitFieldNames ? '' : 'compactStored')
20582
+ ..aOB(8, _omitFieldNames ? '' : 'fromBase')
19608
20583
  ..hasRequiredFields = false;
19609
20584
 
19610
20585
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -19688,6 +20663,19 @@ class IntentsAboveRequest extends $pb.GeneratedMessage {
19688
20663
  $core.bool hasCompactStored() => $_has(6);
19689
20664
  @$pb.TagNumber(7)
19690
20665
  void clearCompactStored() => $_clearField(7);
20666
+
20667
+ /// With `base` and a nonzero `limit`: the `limit` commits immediately ABOVE base, oldest first,
20668
+ /// rather than the newest `limit` below head. A bounded continuation from a boundary the
20669
+ /// receiver already holds; only the selected commits' changes are read. Refused when base is
20670
+ /// not on head's first-parent chain.
20671
+ @$pb.TagNumber(8)
20672
+ $core.bool get fromBase => $_getBF(7);
20673
+ @$pb.TagNumber(8)
20674
+ set fromBase($core.bool value) => $_setBool(7, value);
20675
+ @$pb.TagNumber(8)
20676
+ $core.bool hasFromBase() => $_has(7);
20677
+ @$pb.TagNumber(8)
20678
+ void clearFromBase() => $_clearField(8);
19691
20679
  }
19692
20680
 
19693
20681
  class HistorySummaryRequest extends $pb.GeneratedMessage {
@@ -24673,10 +25661,18 @@ class PackDeltaResponse extends $pb.GeneratedMessage {
24673
25661
  factory PackDeltaResponse({
24674
25662
  $core.List<$core.int>? pack,
24675
25663
  $fixnum.Int64? bytes,
25664
+ $core.Iterable<$core.String>? shallow,
25665
+ $core.int? commits,
25666
+ $core.int? trees,
25667
+ $core.int? blobs,
24676
25668
  }) {
24677
25669
  final result = create();
24678
25670
  if (pack != null) result.pack = pack;
24679
25671
  if (bytes != null) result.bytes = bytes;
25672
+ if (shallow != null) result.shallow.addAll(shallow);
25673
+ if (commits != null) result.commits = commits;
25674
+ if (trees != null) result.trees = trees;
25675
+ if (blobs != null) result.blobs = blobs;
24680
25676
  return result;
24681
25677
  }
24682
25678
 
@@ -24698,6 +25694,10 @@ class PackDeltaResponse extends $pb.GeneratedMessage {
24698
25694
  1, _omitFieldNames ? '' : 'pack', $pb.PbFieldType.OY)
24699
25695
  ..a<$fixnum.Int64>(2, _omitFieldNames ? '' : 'bytes', $pb.PbFieldType.OU6,
24700
25696
  defaultOrMaker: $fixnum.Int64.ZERO)
25697
+ ..pPS(3, _omitFieldNames ? '' : 'shallow')
25698
+ ..aI(4, _omitFieldNames ? '' : 'commits', fieldType: $pb.PbFieldType.OU3)
25699
+ ..aI(5, _omitFieldNames ? '' : 'trees', fieldType: $pb.PbFieldType.OU3)
25700
+ ..aI(6, _omitFieldNames ? '' : 'blobs', fieldType: $pb.PbFieldType.OU3)
24701
25701
  ..hasRequiredFields = false;
24702
25702
 
24703
25703
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -24737,6 +25737,37 @@ class PackDeltaResponse extends $pb.GeneratedMessage {
24737
25737
  $core.bool hasBytes() => $_has(1);
24738
25738
  @$pb.TagNumber(2)
24739
25739
  void clearBytes() => $_clearField(2);
25740
+
25741
+ /// A shallow pack only: the commits whose parents it omits, and what it holds.
25742
+ @$pb.TagNumber(3)
25743
+ $pb.PbList<$core.String> get shallow => $_getList(2);
25744
+
25745
+ @$pb.TagNumber(4)
25746
+ $core.int get commits => $_getIZ(3);
25747
+ @$pb.TagNumber(4)
25748
+ set commits($core.int value) => $_setUnsignedInt32(3, value);
25749
+ @$pb.TagNumber(4)
25750
+ $core.bool hasCommits() => $_has(3);
25751
+ @$pb.TagNumber(4)
25752
+ void clearCommits() => $_clearField(4);
25753
+
25754
+ @$pb.TagNumber(5)
25755
+ $core.int get trees => $_getIZ(4);
25756
+ @$pb.TagNumber(5)
25757
+ set trees($core.int value) => $_setUnsignedInt32(4, value);
25758
+ @$pb.TagNumber(5)
25759
+ $core.bool hasTrees() => $_has(4);
25760
+ @$pb.TagNumber(5)
25761
+ void clearTrees() => $_clearField(5);
25762
+
25763
+ @$pb.TagNumber(6)
25764
+ $core.int get blobs => $_getIZ(5);
25765
+ @$pb.TagNumber(6)
25766
+ set blobs($core.int value) => $_setUnsignedInt32(5, value);
25767
+ @$pb.TagNumber(6)
25768
+ $core.bool hasBlobs() => $_has(5);
25769
+ @$pb.TagNumber(6)
25770
+ void clearBlobs() => $_clearField(6);
24740
25771
  }
24741
25772
 
24742
25773
  class ApplyPackResponse extends $pb.GeneratedMessage {
@@ -24744,11 +25775,15 @@ class ApplyPackResponse extends $pb.GeneratedMessage {
24744
25775
  $fixnum.Int64? objectCount,
24745
25776
  $core.String? packHash,
24746
25777
  PhysicalClosureCheck? closure,
25778
+ $core.bool? importPending,
25779
+ $fixnum.Int64? workDoneBytes,
24747
25780
  }) {
24748
25781
  final result = create();
24749
25782
  if (objectCount != null) result.objectCount = objectCount;
24750
25783
  if (packHash != null) result.packHash = packHash;
24751
25784
  if (closure != null) result.closure = closure;
25785
+ if (importPending != null) result.importPending = importPending;
25786
+ if (workDoneBytes != null) result.workDoneBytes = workDoneBytes;
24752
25787
  return result;
24753
25788
  }
24754
25789
 
@@ -24772,6 +25807,10 @@ class ApplyPackResponse extends $pb.GeneratedMessage {
24772
25807
  ..aOS(2, _omitFieldNames ? '' : 'packHash')
24773
25808
  ..aOM<PhysicalClosureCheck>(3, _omitFieldNames ? '' : 'closure',
24774
25809
  subBuilder: PhysicalClosureCheck.create)
25810
+ ..aOB(4, _omitFieldNames ? '' : 'importPending')
25811
+ ..a<$fixnum.Int64>(
25812
+ 5, _omitFieldNames ? '' : 'workDoneBytes', $pb.PbFieldType.OU6,
25813
+ defaultOrMaker: $fixnum.Int64.ZERO)
24775
25814
  ..hasRequiredFields = false;
24776
25815
 
24777
25816
  @$core.Deprecated('See https://github.com/google/protobuf.dart/issues/998.')
@@ -24823,6 +25862,27 @@ class ApplyPackResponse extends $pb.GeneratedMessage {
24823
25862
  void clearClosure() => $_clearField(3);
24824
25863
  @$pb.TagNumber(3)
24825
25864
  PhysicalClosureCheck ensureClosure() => $_ensure(2);
25865
+
25866
+ /// The import spent its `work_budget_bytes` before finishing (CAP-806). Nothing is published;
25867
+ /// every other field is empty until the step that completes it.
25868
+ @$pb.TagNumber(4)
25869
+ $core.bool get importPending => $_getBF(3);
25870
+ @$pb.TagNumber(4)
25871
+ set importPending($core.bool value) => $_setBool(3, value);
25872
+ @$pb.TagNumber(4)
25873
+ $core.bool hasImportPending() => $_has(3);
25874
+ @$pb.TagNumber(4)
25875
+ void clearImportPending() => $_clearField(4);
25876
+
25877
+ /// Bytes of work the import has done so far, across its steps.
25878
+ @$pb.TagNumber(5)
25879
+ $fixnum.Int64 get workDoneBytes => $_getI64(4);
25880
+ @$pb.TagNumber(5)
25881
+ set workDoneBytes($fixnum.Int64 value) => $_setInt64(4, value);
25882
+ @$pb.TagNumber(5)
25883
+ $core.bool hasWorkDoneBytes() => $_has(4);
25884
+ @$pb.TagNumber(5)
25885
+ void clearWorkDoneBytes() => $_clearField(5);
24826
25886
  }
24827
25887
 
24828
25888
  class PhysicalClosureCheck extends $pb.GeneratedMessage {