@githolon/runtime 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 (31) hide show
  1. package/dist/RUNTIME-SOURCES.sha256 +97 -71
  2. package/dist/application-reception.js +2 -2
  3. package/dist/nomos-native-runtime.js +5761 -1508
  4. package/dist/nomos-runner-web.js +347 -9
  5. package/dist/nomos-runner-worker.js +13372 -6047
  6. package/dist/nomos-runner.js +9861 -2904
  7. package/dist/remote-reception.cjs +23 -23
  8. package/dist/remote-reception.js +23 -23
  9. package/dist/typescript-application-desk.js +26 -27
  10. package/package.json +1 -1
  11. package/runner/node-entry.mjs +7678 -2860
  12. package/src/application_reception.ts +15 -0
  13. package/src/protocol/nomos/kernel/v1/kernel_pb.d.ts +612 -0
  14. package/src/protocol/nomos/kernel/v1/kernel_pb.js +354 -277
  15. package/src/protocol/nomos/runtime/v2/application_desk_pb.d.ts +8 -0
  16. package/src/protocol/nomos/runtime/v2/application_desk_pb.js +1 -1
  17. package/src/protocol/nomos/runtime/v2/correspondence_desk_pb.d.ts +1071 -147
  18. package/src/protocol/nomos/runtime/v2/correspondence_desk_pb.js +155 -22
  19. package/src/protocol/nomos/runtime/v2/model_adoption_desk_pb.d.ts +57 -2
  20. package/src/protocol/nomos/runtime/v2/model_adoption_desk_pb.js +10 -3
  21. package/src/protocol/nomos/runtime/v2/observability_desk_pb.d.ts +111 -2
  22. package/src/protocol/nomos/runtime/v2/observability_desk_pb.js +27 -12
  23. package/src/protocol/nomos/runtime/v2/receiving_group_desk_pb.d.ts +0 -29
  24. package/src/protocol/nomos/runtime/v2/receiving_group_desk_pb.js +6 -13
  25. package/src/protocol/nomos/runtime/v2/records_desk_pb.d.ts +10 -0
  26. package/src/protocol/nomos/runtime/v2/records_desk_pb.js +1 -1
  27. package/src/protocol/nomos/runtime/v2/residency_desk_pb.d.ts +19 -0
  28. package/src/protocol/nomos/runtime/v2/residency_desk_pb.js +1 -1
  29. package/src/protocol/nomos/runtime/v2/runtime_pb.d.ts +15 -1
  30. package/src/protocol/nomos/runtime/v2/runtime_pb.js +1 -1
  31. package/src/typescript_application_desk.public.d.ts +0 -1
@@ -714,6 +714,25 @@ export declare type OfferAdmitted = Message<"nomos.kernel.v1.OfferAdmitted"> & {
714
714
  * @generated from field: bool already_applied = 12;
715
715
  */
716
716
  alreadyApplied: boolean;
717
+
718
+ /**
719
+ * What this offer changed in the workspace's current state, typed the way reads resolve it, so a
720
+ * host can tell which declared reads the offer can change (CAP-760). Absent when the kernel cannot
721
+ * say exactly; a host then treats every read as changed.
722
+ *
723
+ * @generated from field: optional nomos.kernel.v1.OfferStateChange state_change = 13;
724
+ */
725
+ stateChange?: OfferStateChange | undefined;
726
+
727
+ /**
728
+ * CAP-811: this offer installed, staged or promoted law whose claimed version is equal to or lower
729
+ * than the claim this workspace already serves for the same law identity (package name). Advice
730
+ * only: the offer was admitted, and the warning never enters custody. Empty when either side claims
731
+ * no version (era rule), when the identity was not served, or when the claim moves forward.
732
+ *
733
+ * @generated from field: repeated nomos.kernel.v1.LawVersionWarning law_version_warnings = 14;
734
+ */
735
+ lawVersionWarnings: LawVersionWarning[];
717
736
  };
718
737
 
719
738
  /**
@@ -722,6 +741,146 @@ export declare type OfferAdmitted = Message<"nomos.kernel.v1.OfferAdmitted"> & {
722
741
  */
723
742
  export declare const OfferAdmittedSchema: GenMessage<OfferAdmitted>;
724
743
 
744
+ /**
745
+ * A law's identity: its package name (/Nomos/Package nomos:name) (CAP-809, CAP-811).
746
+ *
747
+ * @generated from message nomos.kernel.v1.LawIdentity
748
+ */
749
+ export declare type LawIdentity = Message<"nomos.kernel.v1.LawIdentity"> & {
750
+ /**
751
+ * @generated from field: string package_name = 1;
752
+ */
753
+ packageName: string;
754
+ };
755
+
756
+ /**
757
+ * Describes the message nomos.kernel.v1.LawIdentity.
758
+ * Use `create(LawIdentitySchema)` to create a new message.
759
+ */
760
+ export declare const LawIdentitySchema: GenMessage<LawIdentity>;
761
+
762
+ /**
763
+ * One version of a law: its closure identity, a canonical lowercase SHA-256 digest (CAP-809).
764
+ *
765
+ * @generated from message nomos.kernel.v1.LawVersion
766
+ */
767
+ export declare type LawVersion = Message<"nomos.kernel.v1.LawVersion"> & {
768
+ /**
769
+ * @generated from field: string closure_sha256 = 1;
770
+ */
771
+ closureSha256: string;
772
+ };
773
+
774
+ /**
775
+ * Describes the message nomos.kernel.v1.LawVersion.
776
+ * Use `create(LawVersionSchema)` to create a new message.
777
+ */
778
+ export declare const LawVersionSchema: GenMessage<LawVersion>;
779
+
780
+ /**
781
+ * A semver 2.0 claim without build metadata, as authored in nomos.project.ts (CAP-811).
782
+ *
783
+ * @generated from message nomos.kernel.v1.LawVersionClaim
784
+ */
785
+ export declare type LawVersionClaim = Message<"nomos.kernel.v1.LawVersionClaim"> & {
786
+ /**
787
+ * @generated from field: string semver = 1;
788
+ */
789
+ semver: string;
790
+ };
791
+
792
+ /**
793
+ * Describes the message nomos.kernel.v1.LawVersionClaim.
794
+ * Use `create(LawVersionClaimSchema)` to create a new message.
795
+ */
796
+ export declare const LawVersionClaimSchema: GenMessage<LawVersionClaim>;
797
+
798
+ /**
799
+ * An install that does not move its law's claimed version forward (CAP-811).
800
+ *
801
+ * @generated from message nomos.kernel.v1.LawVersionWarning
802
+ */
803
+ export declare type LawVersionWarning = Message<"nomos.kernel.v1.LawVersionWarning"> & {
804
+ /**
805
+ * @generated from field: nomos.kernel.v1.LawIdentity law = 1;
806
+ */
807
+ law?: LawIdentity | undefined;
808
+
809
+ /**
810
+ * @generated from field: nomos.kernel.v1.LawVersionOrder order = 2;
811
+ */
812
+ order: LawVersionOrder;
813
+
814
+ /**
815
+ * @generated from field: nomos.kernel.v1.LawVersionClaim installed_claim = 3;
816
+ */
817
+ installedClaim?: LawVersionClaim | undefined;
818
+
819
+ /**
820
+ * @generated from field: nomos.kernel.v1.LawVersion installed_version = 4;
821
+ */
822
+ installedVersion?: LawVersion | undefined;
823
+
824
+ /**
825
+ * @generated from field: nomos.kernel.v1.LawVersionClaim served_claim = 5;
826
+ */
827
+ servedClaim?: LawVersionClaim | undefined;
828
+
829
+ /**
830
+ * @generated from field: nomos.kernel.v1.LawVersion served_version = 6;
831
+ */
832
+ servedVersion?: LawVersion | undefined;
833
+
834
+ /**
835
+ * Human-readable summary of the same facts.
836
+ *
837
+ * @generated from field: string message = 7;
838
+ */
839
+ message: string;
840
+ };
841
+
842
+ /**
843
+ * Describes the message nomos.kernel.v1.LawVersionWarning.
844
+ * Use `create(LawVersionWarningSchema)` to create a new message.
845
+ */
846
+ export declare const LawVersionWarningSchema: GenMessage<LawVersionWarning>;
847
+
848
+ /**
849
+ * The aggregates one admitted offer changed, by the type a read resolves for each (its `__type`,
850
+ * else its id), between the head it was admitted on and the head it produced. Exact or wider,
851
+ * never narrower: every aggregate whose state differs between the two heads is counted.
852
+ *
853
+ * @generated from message nomos.kernel.v1.OfferStateChange
854
+ */
855
+ export declare type OfferStateChange = Message<"nomos.kernel.v1.OfferStateChange"> & {
856
+ /**
857
+ * The head this offer was admitted on; OfferAdmitted.head is its child.
858
+ *
859
+ * @generated from field: string parent_head = 1;
860
+ */
861
+ parentHead: string;
862
+
863
+ /**
864
+ * Sorted, without duplicates.
865
+ *
866
+ * @generated from field: repeated string aggregate_types = 2;
867
+ */
868
+ aggregateTypes: string[];
869
+
870
+ /**
871
+ * An aggregate this offer changed may be absent (archived) at the new head.
872
+ *
873
+ * @generated from field: bool archives = 3;
874
+ */
875
+ archives: boolean;
876
+ };
877
+
878
+ /**
879
+ * Describes the message nomos.kernel.v1.OfferStateChange.
880
+ * Use `create(OfferStateChangeSchema)` to create a new message.
881
+ */
882
+ export declare const OfferStateChangeSchema: GenMessage<OfferStateChange>;
883
+
725
884
  /**
726
885
  * @generated from message nomos.kernel.v1.OfferAggregateRef
727
886
  */
@@ -1052,6 +1211,16 @@ export declare type OfferBlockedOnDependency = Message<"nomos.kernel.v1.OfferBlo
1052
1211
  * @generated from field: nomos.kernel.v1.NomosStruct diagnostics = 3;
1053
1212
  */
1054
1213
  diagnostics?: NomosStruct | undefined;
1214
+
1215
+ /**
1216
+ * Present only when the kernel itself found that a read the authored plan made needs a
1217
+ * derivative only background maintenance builds (CAP-824): the exact workspace position owed.
1218
+ * Not a verdict of law. The same offer, made again once maintenance has repaid it, is judged.
1219
+ * Absent for every other blocked dependency; a peer never infers it from `detail`.
1220
+ *
1221
+ * @generated from field: nomos.kernel.v1.ReadIndexPending awaits_maintenance = 4;
1222
+ */
1223
+ awaitsMaintenance?: ReadIndexPending | undefined;
1055
1224
  };
1056
1225
 
1057
1226
  /**
@@ -1922,6 +2091,17 @@ export declare type QueryResponse = Message<"nomos.kernel.v1.QueryResponse"> & {
1922
2091
  */
1923
2092
  value: InstalledLawDeclarationsResponse;
1924
2093
  case: "installedLawDeclarations";
2094
+ } | {
2095
+ /**
2096
+ * Incremental answer to a RowsQuery carrying `since_frontier` (CAP-731). The kernel computed
2097
+ * it from the exact state change set between the two read positions, under the same read
2098
+ * policies, principal and visibility as a full read. Merging it into the result read at
2099
+ * `base_frontier` yields, byte for byte, the full result at `frontier`.
2100
+ *
2101
+ * @generated from field: nomos.kernel.v1.ApplicationResultDelta application_result_delta = 31;
2102
+ */
2103
+ value: ApplicationResultDelta;
2104
+ case: "applicationResultDelta";
1925
2105
  } | { case: undefined; value?: undefined };
1926
2106
 
1927
2107
  /**
@@ -1932,6 +2112,32 @@ export declare type QueryResponse = Message<"nomos.kernel.v1.QueryResponse"> & {
1932
2112
  * @generated from field: nomos.kernel.v1.VerifyChainDiagnostics verify_chain_diagnostics = 20;
1933
2113
  */
1934
2114
  verifyChainDiagnostics?: VerifyChainDiagnostics | undefined;
2115
+
2116
+ /**
2117
+ * The kernel-issued read position of a complete `application_result` for a declared rows
2118
+ * query. Opaque to every caller: only the kernel interprets it, when it comes back as
2119
+ * `RowsQuery.since_frontier`. Absent on every other result.
2120
+ *
2121
+ * @generated from field: optional string result_frontier = 32;
2122
+ */
2123
+ resultFrontier?: string | undefined;
2124
+
2125
+ /**
2126
+ * Why a RowsQuery that asked for a delta (`since_frontier`) was answered in full. Present only
2127
+ * on such answers; a real failure is a Failure, never a reason.
2128
+ *
2129
+ * @generated from field: optional nomos.kernel.v1.FullResultReason full_result_reason = 33;
2130
+ */
2131
+ fullResultReason?: FullResultReason | undefined;
2132
+
2133
+ /**
2134
+ * What can change the answer of a declared rows query at its read position (CAP-760): present
2135
+ * beside `result_frontier` or an `application_result_delta` when the kernel can name it exactly.
2136
+ * Absent means anything may change it.
2137
+ *
2138
+ * @generated from field: optional nomos.kernel.v1.ReadDependencies result_dependencies = 34;
2139
+ */
2140
+ resultDependencies?: ReadDependencies | undefined;
1935
2141
  };
1936
2142
 
1937
2143
  /**
@@ -1940,6 +2146,85 @@ export declare type QueryResponse = Message<"nomos.kernel.v1.QueryResponse"> & {
1940
2146
  */
1941
2147
  export declare const QueryResponseSchema: GenMessage<QueryResponse>;
1942
2148
 
2149
+ /**
2150
+ * The state a declared rows result reads, from the installed read law. A state change touching none
2151
+ * of it leaves the next delta from this result's position empty. Exact or wider, never narrower.
2152
+ *
2153
+ * @generated from message nomos.kernel.v1.ReadDependencies
2154
+ */
2155
+ export declare type ReadDependencies = Message<"nomos.kernel.v1.ReadDependencies"> & {
2156
+ /**
2157
+ * Aggregate types (as OfferStateChange.aggregate_types names them) whose state the rows, their
2158
+ * membership or the read law come from. Sorted, without duplicates.
2159
+ *
2160
+ * @generated from field: repeated string aggregate_types = 1;
2161
+ */
2162
+ aggregateTypes: string[];
2163
+
2164
+ /**
2165
+ * A combined field reads a related row by reference: an archive of any aggregate may change it.
2166
+ *
2167
+ * @generated from field: bool reads_archives = 2;
2168
+ */
2169
+ readsArchives: boolean;
2170
+
2171
+ /**
2172
+ * The commit whose state this answer shows (as OfferStateChange.parent_head names a head).
2173
+ *
2174
+ * @generated from field: string read_at = 3;
2175
+ */
2176
+ readAt: string;
2177
+ };
2178
+
2179
+ /**
2180
+ * Describes the message nomos.kernel.v1.ReadDependencies.
2181
+ * Use `create(ReadDependenciesSchema)` to create a new message.
2182
+ */
2183
+ export declare const ReadDependenciesSchema: GenMessage<ReadDependencies>;
2184
+
2185
+ /**
2186
+ * The rows of one declared query that changed between two kernel-issued read positions.
2187
+ *
2188
+ * @generated from message nomos.kernel.v1.ApplicationResultDelta
2189
+ */
2190
+ export declare type ApplicationResultDelta = Message<"nomos.kernel.v1.ApplicationResultDelta"> & {
2191
+ /**
2192
+ * The position the caller's result must be at (the request's `since_frontier`).
2193
+ *
2194
+ * @generated from field: string base_frontier = 1;
2195
+ */
2196
+ baseFrontier: string;
2197
+
2198
+ /**
2199
+ * The position this delta advances it to; the next request's `since_frontier`.
2200
+ *
2201
+ * @generated from field: string frontier = 2;
2202
+ */
2203
+ frontier: string;
2204
+
2205
+ /**
2206
+ * Every added or changed visible row, encoded with the SAME `QueryResult_<identity>` contract as
2207
+ * the full result (rows sorted by id; no page metadata), so generated decoders decode it.
2208
+ *
2209
+ * @generated from field: google.protobuf.Any changed_rows = 3;
2210
+ */
2211
+ changedRows?: Any | undefined;
2212
+
2213
+ /**
2214
+ * Ids that no longer belong to the result. Sorted, disjoint from `changed_rows`; an id the
2215
+ * caller never held is a no-op.
2216
+ *
2217
+ * @generated from field: repeated string removed_ids = 4;
2218
+ */
2219
+ removedIds: string[];
2220
+ };
2221
+
2222
+ /**
2223
+ * Describes the message nomos.kernel.v1.ApplicationResultDelta.
2224
+ * Use `create(ApplicationResultDeltaSchema)` to create a new message.
2225
+ */
2226
+ export declare const ApplicationResultDeltaSchema: GenMessage<ApplicationResultDelta>;
2227
+
1943
2228
  /**
1944
2229
  * OpenAPI is already a JSON document, not a tenant value or a recursive NomosValue tree.
1945
2230
  * Intermediate runtimes forward it without parsing/reconstructing every schema property.
@@ -1967,6 +2252,15 @@ export declare type InterfaceCompatibilityQuery = Message<"nomos.kernel.v1.Inter
1967
2252
  * @generated from field: bytes application_matrix_usda = 1;
1968
2253
  */
1969
2254
  applicationMatrixUsda: Uint8Array;
2255
+
2256
+ /**
2257
+ * RELEASE QUALIFICATION (CAP-789): judge the matrix against the law this workspace would serve once
2258
+ * these carried units were staged and promoted (composed exactly as that STAGE would compose them at
2259
+ * this frontier), instead of the law it serves now. Nothing is written and no verdict is retained.
2260
+ *
2261
+ * @generated from field: repeated nomos.kernel.v1.LawUnit candidate_units = 2;
2262
+ */
2263
+ candidateUnits: LawUnit[];
1970
2264
  };
1971
2265
 
1972
2266
  /**
@@ -2039,6 +2333,13 @@ export declare type InterfaceCompatibilityResponse = Message<"nomos.kernel.v1.In
2039
2333
  * @generated from field: string workspace_frontier = 3;
2040
2334
  */
2041
2335
  workspaceFrontier: string;
2336
+
2337
+ /**
2338
+ * The closure the carried candidate units composed to; empty when the installed law was judged.
2339
+ *
2340
+ * @generated from field: string candidate_hash = 4;
2341
+ */
2342
+ candidateHash: string;
2042
2343
  };
2043
2344
 
2044
2345
  /**
@@ -2150,6 +2451,42 @@ export declare type MaintenanceQuantumQuery = Message<"nomos.kernel.v1.Maintenan
2150
2451
  * @generated from field: bool read_index_only = 6;
2151
2452
  */
2152
2453
  readIndexOnly: boolean;
2454
+
2455
+ /**
2456
+ * The idle pin quantum: pin the live positions the current raw frontier index
2457
+ * does not serve (normally the admitted frontier behind unsynced local
2458
+ * writes), once per position, and prune every other addressed derivative in
2459
+ * bounded batches. No reader waits on it, so the host sends it only after the
2460
+ * workspace has been write-idle for a quiet window, never during a burst.
2461
+ * Exclusive of the other modes; maintenance_pending asks for another quantum.
2462
+ *
2463
+ * @generated from field: bool maintain_addressed_frontiers = 7;
2464
+ */
2465
+ maintainAddressedFrontiers: boolean;
2466
+
2467
+ /**
2468
+ * The durability flush quantum (CAP-746). Under the deferred durability policy a save forces
2469
+ * nothing to stable storage; the kernel owes every file it wrote to one ordered flush (objects,
2470
+ * then refs, then disposable SQLite, then a last-known-good marker per workspace). The host
2471
+ * decides WHEN (after a short write-quiet window, bounded during a long burst); the kernel
2472
+ * decides WHAT, and flushes everything it owes, whichever workspace the quantum names. A no-op
2473
+ * under the synchronous policy. Exclusive of the other modes; maintenance_pending asks for
2474
+ * another quantum.
2475
+ *
2476
+ * @generated from field: bool flush_durability = 8;
2477
+ */
2478
+ flushDurability: boolean;
2479
+
2480
+ /**
2481
+ * The peer's local writes are in a burst (CAP-750). Packing loose custody objects waits for the
2482
+ * person to pause, so the host sends a custody quantum (maintain_git_custody) during a burst
2483
+ * only after the kernel reported loose_custody_pressure. The kernel then packs one small slice of
2484
+ * loose objects and does nothing else in that quantum: no staged-pack promotion, no multi-pack
2485
+ * index or repack step, no command warming.
2486
+ *
2487
+ * @generated from field: bool local_write_burst = 9;
2488
+ */
2489
+ localWriteBurst: boolean;
2153
2490
  };
2154
2491
 
2155
2492
  /**
@@ -2216,6 +2553,15 @@ export declare type MaintenanceQuantumResponse = Message<"nomos.kernel.v1.Mainte
2216
2553
  * @generated from field: optional string prepared_command_selector = 11;
2217
2554
  */
2218
2555
  preparedCommandSelector?: string | undefined;
2556
+
2557
+ /**
2558
+ * The loose objects this kernel instance has written and not yet packed exceed the growth guard
2559
+ * (CAP-750). Reported on every maintenance quantum, so a host holding custody packing back for a
2560
+ * burst learns when an endless burst must pack in small slices after all.
2561
+ *
2562
+ * @generated from field: bool loose_custody_pressure = 12;
2563
+ */
2564
+ looseCustodyPressure: boolean;
2219
2565
  };
2220
2566
 
2221
2567
  /**
@@ -3106,6 +3452,16 @@ export declare type SyncResponse = Message<"nomos.kernel.v1.SyncResponse"> & {
3106
3452
  * @generated from field: repeated string parked_local_refs = 14;
3107
3453
  */
3108
3454
  parkedLocalRefs: string[];
3455
+
3456
+ /**
3457
+ * The replay spent its `replay_offer_budget` before finishing (CAP-757). Nothing was published:
3458
+ * live main is unchanged and `head` is still the live head. The kernel keeps its private
3459
+ * candidate; the same request again continues it from the next offer. Every other field is
3460
+ * empty until the answer that completes the replay.
3461
+ *
3462
+ * @generated from field: bool replay_pending = 15;
3463
+ */
3464
+ replayPending: boolean;
3109
3465
  };
3110
3466
 
3111
3467
  /**
@@ -5138,6 +5494,16 @@ export declare type RowsQuery = Message<"nomos.kernel.v1.RowsQuery"> & {
5138
5494
  * @generated from field: google.protobuf.Any application_arguments = 5;
5139
5495
  */
5140
5496
  applicationArguments?: Any | undefined;
5497
+
5498
+ /**
5499
+ * Opt-in incremental read (CAP-731): the `result_frontier` (or delta `frontier`) of the result
5500
+ * the caller holds for this exact query and arguments. The kernel answers with an
5501
+ * `application_result_delta` from that position, or with the full result and a typed
5502
+ * `full_result_reason`. Only valid with the application Protobuf result format.
5503
+ *
5504
+ * @generated from field: optional string since_frontier = 6;
5505
+ */
5506
+ sinceFrontier?: string | undefined;
5141
5507
  };
5142
5508
 
5143
5509
  /**
@@ -5500,6 +5866,18 @@ export declare type FrontierTransitionRequest = Message<"nomos.kernel.v1.Frontie
5500
5866
  * @generated from field: optional string restore_previous_of = 5;
5501
5867
  */
5502
5868
  restorePreviousOf?: string | undefined;
5869
+
5870
+ /**
5871
+ * RELEASE QUALIFICATION (CAP-789): the candidate carried as law units instead of named as a staged
5872
+ * closure. The kernel admits each unit from its content, places and composes them exactly as a STAGE
5873
+ * carrying them would at this frontier, and judges the same transition. It writes nothing: no stage, no
5874
+ * custody object, no ref. When set, candidate_hash must equal the composed identity (the response names
5875
+ * it either way). The answer is qualification evidence only: promotion still needs the candidate staged
5876
+ * and judged again at the then-current frontier. Not with restore_previous_of.
5877
+ *
5878
+ * @generated from field: repeated nomos.kernel.v1.LawUnit candidate_units = 6;
5879
+ */
5880
+ candidateUnits: LawUnit[];
5503
5881
  };
5504
5882
 
5505
5883
  /**
@@ -6145,6 +6523,17 @@ export declare type SyncRequest = Message<"nomos.kernel.v1.SyncRequest"> & {
6145
6523
  * @generated from field: uint64 parked_at_millis = 5;
6146
6524
  */
6147
6525
  parkedAtMillis: bigint;
6526
+
6527
+ /**
6528
+ * The most offers (incoming and local) this call judges before it answers `replay_pending`
6529
+ * (CAP-757). Receiving a backlog is then bounded steps the host interleaves with foreground
6530
+ * work, never one call that holds the kernel for the whole backlog. Absent or 0 replays
6531
+ * everything in one call, as before. Local writes made between steps are rebased in the same
6532
+ * replay; anything else that moves live main starts it again.
6533
+ *
6534
+ * @generated from field: uint32 replay_offer_budget = 6;
6535
+ */
6536
+ replayOfferBudget: number;
6148
6537
  };
6149
6538
 
6150
6539
  /**
@@ -6180,6 +6569,28 @@ export declare type KernelConfigurationRequest = Message<"nomos.kernel.v1.Kernel
6180
6569
  * @generated from field: optional bool trusts_custodian_history = 2;
6181
6570
  */
6182
6571
  trustsCustodianHistory?: boolean | undefined;
6572
+
6573
+ /**
6574
+ * A peer property, not law (CAP-746): this peer is a personal device whose saves acknowledge
6575
+ * once their writes reach the OS. The kernel forces nothing to stable storage on the hot path
6576
+ * and owes it to an ordered background flush (MaintenanceQuantumQuery.flush_durability); a
6577
+ * reopen after an unclean shutdown returns main to the last flushed head if its newer custody
6578
+ * is unreadable and rebuilds unsynced disposable indexes. Absent or false keeps synchronous
6579
+ * durability (the cloud custodian). Immutable once set.
6580
+ *
6581
+ * @generated from field: optional bool deferred_durability = 3;
6582
+ */
6583
+ deferredDurability?: boolean | undefined;
6584
+
6585
+ /**
6586
+ * Observability only, never law: this host counts the host calls it services into the kernel's
6587
+ * per-offer phase ledger (kernel/src/offer_phases.rs). The kernel answers with the ledger's
6588
+ * address in its own linear memory; the host adds one call and its nanoseconds there for every
6589
+ * host call, and reads the finished offer line back from the same block. Changes no judgment.
6590
+ *
6591
+ * @generated from field: bool host_call_ledger = 4;
6592
+ */
6593
+ hostCallLedger: boolean;
6183
6594
  };
6184
6595
 
6185
6596
  /**
@@ -6196,6 +6607,13 @@ export declare type KernelConfigurationResponse = Message<"nomos.kernel.v1.Kerne
6196
6607
  * @generated from field: nomos.kernel.v1.Acknowledged result = 1;
6197
6608
  */
6198
6609
  result?: Acknowledged | undefined;
6610
+
6611
+ /**
6612
+ * Present when the request asked for `host_call_ledger`: the ledger block's linear-memory address.
6613
+ *
6614
+ * @generated from field: optional uint32 host_call_ledger = 2;
6615
+ */
6616
+ hostCallLedger?: number | undefined;
6199
6617
  };
6200
6618
 
6201
6619
  /**
@@ -6773,6 +7191,31 @@ export declare type PackDeltaRequest = Message<"nomos.kernel.v1.PackDeltaRequest
6773
7191
  * @generated from field: optional string staged_pack_file = 5;
6774
7192
  */
6775
7193
  stagedPackFile?: string | undefined;
7194
+
7195
+ /**
7196
+ * A SHALLOW pack instead of a delta (architecture/peer_catchup.md), with no `base`: the commits
7197
+ * within `depth` generations of `head`, each with its complete tree, objects ordered by id
7198
+ * (deterministic bytes). depth 1 is a checkpoint: the frontier state at `head`.
7199
+ *
7200
+ * @generated from field: optional uint32 depth = 6;
7201
+ */
7202
+ depth?: number | undefined;
7203
+
7204
+ /**
7205
+ * With `depth`: `head` is a shallow boundary the receiver holds. Its commit and tree are omitted
7206
+ * and the `depth` generations below it are packed: one lazy-history slice.
7207
+ *
7208
+ * @generated from field: bool below_head = 7;
7209
+ */
7210
+ belowHead: boolean;
7211
+
7212
+ /**
7213
+ * With `depth` and not `below_head`: more heads packed beside `head` at the same depth (the
7214
+ * settled-letter outcome commits a checkpoint carries).
7215
+ *
7216
+ * @generated from field: repeated string also_heads = 8;
7217
+ */
7218
+ alsoHeads: string[];
6776
7219
  };
6777
7220
 
6778
7221
  /**
@@ -6809,6 +7252,16 @@ export declare type ApplyPackRequest = Message<"nomos.kernel.v1.ApplyPackRequest
6809
7252
  */
6810
7253
  value: string;
6811
7254
  case: "stagedPackFile";
7255
+ } | {
7256
+ /**
7257
+ * Continue the import this repository has pending (CAP-806): the one a request with
7258
+ * `work_budget_bytes` began and answered `import_pending`. It carries no pack, head or
7259
+ * boundary; the import keeps those of the request that began it.
7260
+ *
7261
+ * @generated from field: bool continue_pending = 8;
7262
+ */
7263
+ value: boolean;
7264
+ case: "continuePending";
6812
7265
  } | { case: undefined; value?: undefined };
6813
7266
 
6814
7267
  /**
@@ -6829,6 +7282,18 @@ export declare type ApplyPackRequest = Message<"nomos.kernel.v1.ApplyPackRequest
6829
7282
  * @generated from field: repeated string unshallow = 6;
6830
7283
  */
6831
7284
  unshallow: string[];
7285
+
7286
+ /**
7287
+ * At most about this many bytes of work (hashing, inflating, decoding, rewriting) in this call
7288
+ * (CAP-806). When the pack needs more, the kernel keeps the import's progress, publishes
7289
+ * nothing and answers `import_pending`; `continue_pending` continues it. A host interleaves the
7290
+ * steps with its user's reads and offers, so a large import never holds the kernel for its
7291
+ * whole length. A new pack for the same repository discards a pending import. Absent or 0: the
7292
+ * whole pack in one call, as before.
7293
+ *
7294
+ * @generated from field: uint64 work_budget_bytes = 7;
7295
+ */
7296
+ workBudgetBytes: bigint;
6832
7297
  };
6833
7298
 
6834
7299
  /**
@@ -6891,6 +7356,16 @@ export declare type IntentsAboveRequest = Message<"nomos.kernel.v1.IntentsAboveR
6891
7356
  * @generated from field: bool compact_stored = 7;
6892
7357
  */
6893
7358
  compactStored: boolean;
7359
+
7360
+ /**
7361
+ * With `base` and a nonzero `limit`: the `limit` commits immediately ABOVE base, oldest first,
7362
+ * rather than the newest `limit` below head. A bounded continuation from a boundary the
7363
+ * receiver already holds; only the selected commits' changes are read. Refused when base is
7364
+ * not on head's first-parent chain.
7365
+ *
7366
+ * @generated from field: bool from_base = 8;
7367
+ */
7368
+ fromBase: boolean;
6894
7369
  };
6895
7370
 
6896
7371
  /**
@@ -8623,6 +9098,28 @@ export declare type PackDeltaResponse = Message<"nomos.kernel.v1.PackDeltaRespon
8623
9098
  * @generated from field: uint64 bytes = 2;
8624
9099
  */
8625
9100
  bytes: bigint;
9101
+
9102
+ /**
9103
+ * A shallow pack only: the commits whose parents it omits, and what it holds.
9104
+ *
9105
+ * @generated from field: repeated string shallow = 3;
9106
+ */
9107
+ shallow: string[];
9108
+
9109
+ /**
9110
+ * @generated from field: uint32 commits = 4;
9111
+ */
9112
+ commits: number;
9113
+
9114
+ /**
9115
+ * @generated from field: uint32 trees = 5;
9116
+ */
9117
+ trees: number;
9118
+
9119
+ /**
9120
+ * @generated from field: uint32 blobs = 6;
9121
+ */
9122
+ blobs: number;
8626
9123
  };
8627
9124
 
8628
9125
  /**
@@ -8652,6 +9149,21 @@ export declare type ApplyPackResponse = Message<"nomos.kernel.v1.ApplyPackRespon
8652
9149
  * @generated from field: optional nomos.kernel.v1.PhysicalClosureCheck closure = 3;
8653
9150
  */
8654
9151
  closure?: PhysicalClosureCheck | undefined;
9152
+
9153
+ /**
9154
+ * The import spent its `work_budget_bytes` before finishing (CAP-806). Nothing is published;
9155
+ * every other field is empty until the step that completes it.
9156
+ *
9157
+ * @generated from field: bool import_pending = 4;
9158
+ */
9159
+ importPending: boolean;
9160
+
9161
+ /**
9162
+ * Bytes of work the import has done so far, across its steps.
9163
+ *
9164
+ * @generated from field: uint64 work_done_bytes = 5;
9165
+ */
9166
+ workDoneBytes: bigint;
8655
9167
  };
8656
9168
 
8657
9169
  /**
@@ -9799,6 +10311,33 @@ export declare type HistoryRequired = Message<"nomos.kernel.v1.HistoryRequired">
9799
10311
  */
9800
10312
  export declare const HistoryRequiredSchema: GenMessage<HistoryRequired>;
9801
10313
 
10314
+ /**
10315
+ * How an installed claim orders against the claim already served for its identity (CAP-811).
10316
+ *
10317
+ * @generated from enum nomos.kernel.v1.LawVersionOrder
10318
+ */
10319
+ export enum LawVersionOrder {
10320
+ /**
10321
+ * @generated from enum value: LAW_VERSION_ORDER_UNSPECIFIED = 0;
10322
+ */
10323
+ UNSPECIFIED = 0,
10324
+
10325
+ /**
10326
+ * @generated from enum value: LAW_VERSION_ORDER_EQUAL = 1;
10327
+ */
10328
+ EQUAL = 1,
10329
+
10330
+ /**
10331
+ * @generated from enum value: LAW_VERSION_ORDER_LOWER = 2;
10332
+ */
10333
+ LOWER = 2,
10334
+ }
10335
+
10336
+ /**
10337
+ * Describes the enum nomos.kernel.v1.LawVersionOrder.
10338
+ */
10339
+ export declare const LawVersionOrderSchema: GenEnum<LawVersionOrder>;
10340
+
9802
10341
  /**
9803
10342
  * @generated from enum nomos.kernel.v1.BirthOutcomeStatus
9804
10343
  */
@@ -10150,6 +10689,79 @@ export enum KernelRefusalCode {
10150
10689
  */
10151
10690
  export declare const KernelRefusalCodeSchema: GenEnum<KernelRefusalCode>;
10152
10691
 
10692
+ /**
10693
+ * Typed premise for answering a delta request with the complete result.
10694
+ *
10695
+ * @generated from enum nomos.kernel.v1.FullResultReason
10696
+ */
10697
+ export enum FullResultReason {
10698
+ /**
10699
+ * @generated from enum value: FULL_RESULT_REASON_UNSPECIFIED = 0;
10700
+ */
10701
+ UNSPECIFIED = 0,
10702
+
10703
+ /**
10704
+ * The request named no base position.
10705
+ *
10706
+ * @generated from enum value: FULL_RESULT_REASON_NO_BASE = 1;
10707
+ */
10708
+ NO_BASE = 1,
10709
+
10710
+ /**
10711
+ * The installed law changed between the two positions.
10712
+ *
10713
+ * @generated from enum value: FULL_RESULT_REASON_LAW_CHANGED = 2;
10714
+ */
10715
+ LAW_CHANGED = 2,
10716
+
10717
+ /**
10718
+ * The principal, or the workspace-wide grant the read relied on, changed.
10719
+ *
10720
+ * @generated from enum value: FULL_RESULT_REASON_READ_AUTHORITY_CHANGED = 3;
10721
+ */
10722
+ READ_AUTHORITY_CHANGED = 3,
10723
+
10724
+ /**
10725
+ * The principal reads this type record by record; visibility is not a function of the rows.
10726
+ *
10727
+ * @generated from enum value: FULL_RESULT_REASON_PER_RECORD_REFUSAL = 4;
10728
+ */
10729
+ PER_RECORD_REFUSAL = 4,
10730
+
10731
+ /**
10732
+ * An ordered read is selected by its declared order and limit, not by membership.
10733
+ *
10734
+ * @generated from enum value: FULL_RESULT_REASON_ORDERED_READ = 5;
10735
+ */
10736
+ ORDERED_READ = 5,
10737
+
10738
+ /**
10739
+ * The rows carry clock-derived fields whose value changes without a state change.
10740
+ *
10741
+ * @generated from enum value: FULL_RESULT_REASON_TEMPORAL_FIELDS = 6;
10742
+ */
10743
+ TEMPORAL_FIELDS = 6,
10744
+
10745
+ /**
10746
+ * This replica no longer holds the base position's state.
10747
+ *
10748
+ * @generated from enum value: FULL_RESULT_REASON_BASE_UNAVAILABLE = 7;
10749
+ */
10750
+ BASE_UNAVAILABLE = 7,
10751
+
10752
+ /**
10753
+ * One of the positions predates the state-tree format, which has no exact change set.
10754
+ *
10755
+ * @generated from enum value: FULL_RESULT_REASON_LEGACY_STATE = 8;
10756
+ */
10757
+ LEGACY_STATE = 8,
10758
+ }
10759
+
10760
+ /**
10761
+ * Describes the enum nomos.kernel.v1.FullResultReason.
10762
+ */
10763
+ export declare const FullResultReasonSchema: GenEnum<FullResultReason>;
10764
+
10153
10765
  /**
10154
10766
  * VINTF-inspired compatibility algebra over Nomos's canonical OpenUSD law.
10155
10767
  * The application matrix is USDA; Protobuf carries only the closed request and