@lucern/contracts 1.0.56 → 1.0.58

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.
package/CHANGELOG.md CHANGED
@@ -182,5 +182,8 @@ All notable changes to `@lucern/contracts` are tracked in this repository.
182
182
  ## [1.0.55] - 2026-06-30
183
183
  - Release notes pending.
184
184
 
185
- ## [1.0.56] - 2026-07-02
185
+ ## [1.0.57] - 2026-07-03
186
+ - Release notes pending.
187
+
188
+ ## [1.0.58] - 2026-07-03
186
189
  - Release notes pending.
package/LICENSE ADDED
@@ -0,0 +1,13 @@
1
+ Copyright 2024 Vercel, Inc.
2
+
3
+ Licensed under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License.
5
+ You may obtain a copy of the License at
6
+
7
+ http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+ Unless required by applicable law or agreed to in writing, software
10
+ distributed under the License is distributed on an "AS IS" BASIS,
11
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ See the License for the specific language governing permissions and
13
+ limitations under the License.
@@ -33,6 +33,7 @@ var TABLE_OWNERSHIP = {
33
33
  "deliberationContributions": "K",
34
34
  "deliberationSessions": "K",
35
35
  "deploymentHosts": "L",
36
+ "domainEventForwardCheckpoints": "K",
36
37
  "domainEvents": "K",
37
38
  "epistemicAudit": "K",
38
39
  "epistemicContracts": "K",
@@ -1168,6 +1168,25 @@ export declare const KERNEL_SCHEMA_TABLES: {
1168
1168
  by_topic_status: ["topicId", "status", "_creationTime"];
1169
1169
  by_createdBy: ["createdBy", "_creationTime"];
1170
1170
  }, {}, {}>;
1171
+ domainEventForwardCheckpoints: import("convex/server").TableDefinition<import("convex/values").VObject<{
1172
+ lastError?: string | undefined;
1173
+ lastStatus?: "ok" | "empty" | "export_failed" | undefined;
1174
+ updatedAt: number;
1175
+ sink: string;
1176
+ lastForwardedTimestamp: number;
1177
+ lastForwardedEventId: string;
1178
+ forwardedCount: number;
1179
+ }, {
1180
+ forwardedCount: import("convex/values").VFloat64<number, "required">;
1181
+ lastError: import("convex/values").VString<string | undefined, "optional">;
1182
+ lastForwardedEventId: import("convex/values").VString<string, "required">;
1183
+ lastForwardedTimestamp: import("convex/values").VFloat64<number, "required">;
1184
+ lastStatus: import("convex/values").VUnion<"ok" | "empty" | "export_failed" | undefined, [import("convex/values").VLiteral<"ok", "required">, import("convex/values").VLiteral<"empty", "required">, import("convex/values").VLiteral<"export_failed", "required">], "optional", never>;
1185
+ sink: import("convex/values").VString<string, "required">;
1186
+ updatedAt: import("convex/values").VFloat64<number, "required">;
1187
+ }, "required", "updatedAt" | "lastError" | "sink" | "lastForwardedTimestamp" | "lastForwardedEventId" | "forwardedCount" | "lastStatus">, {
1188
+ by_sink: ["sink", "_creationTime"];
1189
+ }, {}, {}>;
1171
1190
  domainEvents: import("convex/server").TableDefinition<import("convex/values").VObject<{
1172
1191
  tenantId?: string | undefined;
1173
1192
  workspaceId?: string | undefined;
@@ -1204,6 +1223,7 @@ export declare const KERNEL_SCHEMA_TABLES: {
1204
1223
  by_tenant_workspace_timestamp: ["tenantId", "workspaceId", "timestamp", "_creationTime"];
1205
1224
  by_type_timestamp: ["type", "timestamp", "_creationTime"];
1206
1225
  by_resource: ["resourceType", "resourceId", "timestamp", "_creationTime"];
1226
+ by_timestamp: ["timestamp", "_creationTime"];
1207
1227
  by_expiresAt: ["expiresAt", "_creationTime"];
1208
1228
  }, {}, {}>;
1209
1229
  epistemicAudit: import("convex/server").TableDefinition<import("convex/values").VObject<{
@@ -11710,6 +11730,25 @@ export declare const KERNEL_TIER_SCHEMA_TABLES: {
11710
11730
  by_topic_status: ["topicId", "status", "_creationTime"];
11711
11731
  by_createdBy: ["createdBy", "_creationTime"];
11712
11732
  }, {}, {}>;
11733
+ domainEventForwardCheckpoints: import("convex/server").TableDefinition<import("convex/values").VObject<{
11734
+ lastError?: string | undefined;
11735
+ lastStatus?: "ok" | "empty" | "export_failed" | undefined;
11736
+ updatedAt: number;
11737
+ sink: string;
11738
+ lastForwardedTimestamp: number;
11739
+ lastForwardedEventId: string;
11740
+ forwardedCount: number;
11741
+ }, {
11742
+ forwardedCount: import("convex/values").VFloat64<number, "required">;
11743
+ lastError: import("convex/values").VString<string | undefined, "optional">;
11744
+ lastForwardedEventId: import("convex/values").VString<string, "required">;
11745
+ lastForwardedTimestamp: import("convex/values").VFloat64<number, "required">;
11746
+ lastStatus: import("convex/values").VUnion<"ok" | "empty" | "export_failed" | undefined, [import("convex/values").VLiteral<"ok", "required">, import("convex/values").VLiteral<"empty", "required">, import("convex/values").VLiteral<"export_failed", "required">], "optional", never>;
11747
+ sink: import("convex/values").VString<string, "required">;
11748
+ updatedAt: import("convex/values").VFloat64<number, "required">;
11749
+ }, "required", "updatedAt" | "lastError" | "sink" | "lastForwardedTimestamp" | "lastForwardedEventId" | "forwardedCount" | "lastStatus">, {
11750
+ by_sink: ["sink", "_creationTime"];
11751
+ }, {}, {}>;
11713
11752
  domainEvents: import("convex/server").TableDefinition<import("convex/values").VObject<{
11714
11753
  tenantId?: string | undefined;
11715
11754
  workspaceId?: string | undefined;
@@ -11746,6 +11785,7 @@ export declare const KERNEL_TIER_SCHEMA_TABLES: {
11746
11785
  by_tenant_workspace_timestamp: ["tenantId", "workspaceId", "timestamp", "_creationTime"];
11747
11786
  by_type_timestamp: ["type", "timestamp", "_creationTime"];
11748
11787
  by_resource: ["resourceType", "resourceId", "timestamp", "_creationTime"];
11788
+ by_timestamp: ["timestamp", "_creationTime"];
11749
11789
  by_expiresAt: ["expiresAt", "_creationTime"];
11750
11790
  }, {}, {}>;
11751
11791
  epistemicAudit: import("convex/server").TableDefinition<import("convex/values").VObject<{
@@ -18465,6 +18505,25 @@ export declare const STACK_TIER_SCHEMA_TABLES: {
18465
18505
  by_topic_status: ["topicId", "status", "_creationTime"];
18466
18506
  by_createdBy: ["createdBy", "_creationTime"];
18467
18507
  }, {}, {}>;
18508
+ domainEventForwardCheckpoints: import("convex/server").TableDefinition<import("convex/values").VObject<{
18509
+ lastError?: string | undefined;
18510
+ lastStatus?: "ok" | "empty" | "export_failed" | undefined;
18511
+ updatedAt: number;
18512
+ sink: string;
18513
+ lastForwardedTimestamp: number;
18514
+ lastForwardedEventId: string;
18515
+ forwardedCount: number;
18516
+ }, {
18517
+ forwardedCount: import("convex/values").VFloat64<number, "required">;
18518
+ lastError: import("convex/values").VString<string | undefined, "optional">;
18519
+ lastForwardedEventId: import("convex/values").VString<string, "required">;
18520
+ lastForwardedTimestamp: import("convex/values").VFloat64<number, "required">;
18521
+ lastStatus: import("convex/values").VUnion<"ok" | "empty" | "export_failed" | undefined, [import("convex/values").VLiteral<"ok", "required">, import("convex/values").VLiteral<"empty", "required">, import("convex/values").VLiteral<"export_failed", "required">], "optional", never>;
18522
+ sink: import("convex/values").VString<string, "required">;
18523
+ updatedAt: import("convex/values").VFloat64<number, "required">;
18524
+ }, "required", "updatedAt" | "lastError" | "sink" | "lastForwardedTimestamp" | "lastForwardedEventId" | "forwardedCount" | "lastStatus">, {
18525
+ by_sink: ["sink", "_creationTime"];
18526
+ }, {}, {}>;
18468
18527
  domainEvents: import("convex/server").TableDefinition<import("convex/values").VObject<{
18469
18528
  tenantId?: string | undefined;
18470
18529
  workspaceId?: string | undefined;
@@ -18501,6 +18560,7 @@ export declare const STACK_TIER_SCHEMA_TABLES: {
18501
18560
  by_tenant_workspace_timestamp: ["tenantId", "workspaceId", "timestamp", "_creationTime"];
18502
18561
  by_type_timestamp: ["type", "timestamp", "_creationTime"];
18503
18562
  by_resource: ["resourceType", "resourceId", "timestamp", "_creationTime"];
18563
+ by_timestamp: ["timestamp", "_creationTime"];
18504
18564
  by_expiresAt: ["expiresAt", "_creationTime"];
18505
18565
  }, {}, {}>;
18506
18566
  epistemicAudit: import("convex/server").TableDefinition<import("convex/values").VObject<{
@@ -25848,6 +25908,25 @@ export declare const FULL_TIER_SCHEMA_TABLES: {
25848
25908
  by_topic_status: ["topicId", "status", "_creationTime"];
25849
25909
  by_createdBy: ["createdBy", "_creationTime"];
25850
25910
  }, {}, {}>;
25911
+ domainEventForwardCheckpoints: import("convex/server").TableDefinition<import("convex/values").VObject<{
25912
+ lastError?: string | undefined;
25913
+ lastStatus?: "ok" | "empty" | "export_failed" | undefined;
25914
+ updatedAt: number;
25915
+ sink: string;
25916
+ lastForwardedTimestamp: number;
25917
+ lastForwardedEventId: string;
25918
+ forwardedCount: number;
25919
+ }, {
25920
+ forwardedCount: import("convex/values").VFloat64<number, "required">;
25921
+ lastError: import("convex/values").VString<string | undefined, "optional">;
25922
+ lastForwardedEventId: import("convex/values").VString<string, "required">;
25923
+ lastForwardedTimestamp: import("convex/values").VFloat64<number, "required">;
25924
+ lastStatus: import("convex/values").VUnion<"ok" | "empty" | "export_failed" | undefined, [import("convex/values").VLiteral<"ok", "required">, import("convex/values").VLiteral<"empty", "required">, import("convex/values").VLiteral<"export_failed", "required">], "optional", never>;
25925
+ sink: import("convex/values").VString<string, "required">;
25926
+ updatedAt: import("convex/values").VFloat64<number, "required">;
25927
+ }, "required", "updatedAt" | "lastError" | "sink" | "lastForwardedTimestamp" | "lastForwardedEventId" | "forwardedCount" | "lastStatus">, {
25928
+ by_sink: ["sink", "_creationTime"];
25929
+ }, {}, {}>;
25851
25930
  domainEvents: import("convex/server").TableDefinition<import("convex/values").VObject<{
25852
25931
  tenantId?: string | undefined;
25853
25932
  workspaceId?: string | undefined;
@@ -25884,6 +25963,7 @@ export declare const FULL_TIER_SCHEMA_TABLES: {
25884
25963
  by_tenant_workspace_timestamp: ["tenantId", "workspaceId", "timestamp", "_creationTime"];
25885
25964
  by_type_timestamp: ["type", "timestamp", "_creationTime"];
25886
25965
  by_resource: ["resourceType", "resourceId", "timestamp", "_creationTime"];
25966
+ by_timestamp: ["timestamp", "_creationTime"];
25887
25967
  by_expiresAt: ["expiresAt", "_creationTime"];
25888
25968
  }, {}, {}>;
25889
25969
  epistemicAudit: import("convex/server").TableDefinition<import("convex/values").VObject<{
@@ -34806,6 +34886,25 @@ declare const _default: import("convex/server").SchemaDefinition<{
34806
34886
  by_topic_status: ["topicId", "status", "_creationTime"];
34807
34887
  by_createdBy: ["createdBy", "_creationTime"];
34808
34888
  }, {}, {}>;
34889
+ domainEventForwardCheckpoints: import("convex/server").TableDefinition<import("convex/values").VObject<{
34890
+ lastError?: string | undefined;
34891
+ lastStatus?: "ok" | "empty" | "export_failed" | undefined;
34892
+ updatedAt: number;
34893
+ sink: string;
34894
+ lastForwardedTimestamp: number;
34895
+ lastForwardedEventId: string;
34896
+ forwardedCount: number;
34897
+ }, {
34898
+ forwardedCount: import("convex/values").VFloat64<number, "required">;
34899
+ lastError: import("convex/values").VString<string | undefined, "optional">;
34900
+ lastForwardedEventId: import("convex/values").VString<string, "required">;
34901
+ lastForwardedTimestamp: import("convex/values").VFloat64<number, "required">;
34902
+ lastStatus: import("convex/values").VUnion<"ok" | "empty" | "export_failed" | undefined, [import("convex/values").VLiteral<"ok", "required">, import("convex/values").VLiteral<"empty", "required">, import("convex/values").VLiteral<"export_failed", "required">], "optional", never>;
34903
+ sink: import("convex/values").VString<string, "required">;
34904
+ updatedAt: import("convex/values").VFloat64<number, "required">;
34905
+ }, "required", "updatedAt" | "lastError" | "sink" | "lastForwardedTimestamp" | "lastForwardedEventId" | "forwardedCount" | "lastStatus">, {
34906
+ by_sink: ["sink", "_creationTime"];
34907
+ }, {}, {}>;
34809
34908
  domainEvents: import("convex/server").TableDefinition<import("convex/values").VObject<{
34810
34909
  tenantId?: string | undefined;
34811
34910
  workspaceId?: string | undefined;
@@ -34842,6 +34941,7 @@ declare const _default: import("convex/server").SchemaDefinition<{
34842
34941
  by_tenant_workspace_timestamp: ["tenantId", "workspaceId", "timestamp", "_creationTime"];
34843
34942
  by_type_timestamp: ["type", "timestamp", "_creationTime"];
34844
34943
  by_resource: ["resourceType", "resourceId", "timestamp", "_creationTime"];
34944
+ by_timestamp: ["timestamp", "_creationTime"];
34845
34945
  by_expiresAt: ["expiresAt", "_creationTime"];
34846
34946
  }, {}, {}>;
34847
34947
  epistemicAudit: import("convex/server").TableDefinition<import("convex/values").VObject<{
@@ -24,7 +24,8 @@ var KERNEL_SCHEMA_TABLES = {
24
24
  "decisionSnapshots": defineTable(v.object({ "anonymizationClass": v.optional(v.union(v.literal("none"), v.literal("standard"), v.literal("strict"))), "audienceLabel": v.optional(v.string()), "createdAt": v.number(), "decisionEventId": v.id("decisionEvents"), "exportClass": v.optional(v.union(v.literal("public_safe"), v.literal("client_safe"), v.literal("internal_only"))), "lineageParentDecisionEventId": v.optional(v.id("decisionEvents")), "lineageParentSnapshotId": v.optional(v.id("decisionSnapshots")), "lockedAt": v.number(), "lockedBy": v.string(), "metadata": v.optional(v.record(v.string(), v.any())), "outcome": v.optional(v.union(v.literal("approve"), v.literal("conditional"), v.literal("defer"), v.literal("reject"), v.literal("reopen_on_trigger"))), "ownerPrincipalId": v.optional(v.string()), "payload": v.record(v.string(), v.any()), "payloadHash": v.string(), "policyTags": v.optional(v.array(v.string())), "policyTraceId": v.optional(v.string()), "sensitivityTier": v.optional(v.union(v.literal("low"), v.literal("medium"), v.literal("high"))), "snapshotLabel": v.optional(v.string()), "tenantId": v.optional(v.string()), "topicId": v.optional(v.string()), "version": v.number(), "weightingModelVersion": v.string(), "weightingParameters": v.optional(v.record(v.string(), v.any())), "workspaceId": v.optional(v.string()) })).index("by_decisionEventId", ["decisionEventId"]).index("by_topicId", ["topicId"]).index("by_topic_lockedAt", ["topicId", "lockedAt"]).index("by_decision_version", ["decisionEventId", "version"]).index("by_decision_lockedAt", ["decisionEventId", "lockedAt"]).index("by_payloadHash", ["payloadHash"]),
25
25
  "deliberationContributions": defineTable(v.object({ "answer": v.string(), "confidence": v.number(), "contradictionHypotheses": v.array(v.string()), "createdAt": v.number(), "escalationQuestions": v.array(v.string()), "modelKey": v.optional(v.string()), "parsedResponse": v.optional(v.any()), "principalId": v.string(), "projectId": v.optional(v.string()), "promptName": v.optional(v.string()), "rawResponse": v.string(), "reasoningChain": v.array(v.string()), "role": v.union(v.literal("support"), v.literal("oppose"), v.literal("uncertain"), v.literal("synthesize")), "sessionId": v.id("deliberationSessions"), "slot": v.string(), "topicId": v.optional(v.string()), "traceId": v.optional(v.string()), "uncertaintyZones": v.array(v.object({ "explanation": v.string(), "label": v.string() })), "updatedAt": v.number() })).index("by_sessionId", ["sessionId"]).index("by_topicId", ["topicId"]).index("by_session_slot", ["sessionId", "slot"]),
26
26
  "deliberationSessions": defineTable(v.object({ "completedAt": v.optional(v.number()), "contextBrief": v.optional(v.string()), "contextSnapshot": v.optional(v.any()), "contradictionIds": v.array(v.string()), "createdAt": v.number(), "createdBy": v.string(), "error": v.optional(v.string()), "escalationQuestionIds": v.array(v.string()), "linkedBeliefNodeId": v.optional(v.string()), "modelSlots": v.array(v.string()), "outcomeSummary": v.optional(v.any()), "principalId": v.string(), "projectId": v.optional(v.string()), "question": v.string(), "replayBaseline": v.optional(v.any()), "replayBaselineAt": v.number(), "replayDelta": v.optional(v.any()), "replayHeadAt": v.optional(v.number()), "status": v.union(v.literal("running"), v.literal("completed"), v.literal("failed")), "tenantId": v.optional(v.string()), "topicId": v.optional(v.string()), "traceId": v.optional(v.string()), "uncertaintyZones": v.array(v.object({ "explanation": v.string(), "label": v.string(), "slots": v.array(v.string()) })), "updatedAt": v.number(), "workspaceId": v.optional(v.string()) })).index("by_topicId", ["topicId"]).index("by_status", ["status"]).index("by_topic_status", ["topicId", "status"]).index("by_createdBy", ["createdBy"]),
27
- "domainEvents": defineTable(v.object({ "actorId": v.string(), "actorType": v.union(v.literal("human"), v.literal("agent"), v.literal("service")), "correlationId": v.optional(v.string()), "data": v.record(v.string(), v.any()), "eventId": v.string(), "expiresAt": v.number(), "resourceId": v.string(), "resourceType": v.string(), "tenantId": v.optional(v.string()), "timestamp": v.number(), "topicId": v.string(), "type": v.string(), "version": v.string(), "workspaceId": v.optional(v.string()) })).index("by_eventId", ["eventId"]).index("by_topic_timestamp", ["topicId", "timestamp"]).index("by_tenant_workspace_timestamp", ["tenantId", "workspaceId", "timestamp"]).index("by_type_timestamp", ["type", "timestamp"]).index("by_resource", ["resourceType", "resourceId", "timestamp"]).index("by_expiresAt", ["expiresAt"]),
27
+ "domainEventForwardCheckpoints": defineTable(v.object({ "forwardedCount": v.number(), "lastError": v.optional(v.string()), "lastForwardedEventId": v.string(), "lastForwardedTimestamp": v.number(), "lastStatus": v.optional(v.union(v.literal("ok"), v.literal("empty"), v.literal("export_failed"))), "sink": v.string(), "updatedAt": v.number() })).index("by_sink", ["sink"]),
28
+ "domainEvents": defineTable(v.object({ "actorId": v.string(), "actorType": v.union(v.literal("human"), v.literal("agent"), v.literal("service")), "correlationId": v.optional(v.string()), "data": v.record(v.string(), v.any()), "eventId": v.string(), "expiresAt": v.number(), "resourceId": v.string(), "resourceType": v.string(), "tenantId": v.optional(v.string()), "timestamp": v.number(), "topicId": v.string(), "type": v.string(), "version": v.string(), "workspaceId": v.optional(v.string()) })).index("by_eventId", ["eventId"]).index("by_topic_timestamp", ["topicId", "timestamp"]).index("by_tenant_workspace_timestamp", ["tenantId", "workspaceId", "timestamp"]).index("by_type_timestamp", ["type", "timestamp"]).index("by_resource", ["resourceType", "resourceId", "timestamp"]).index("by_timestamp", ["timestamp"]).index("by_expiresAt", ["expiresAt"]),
28
29
  "epistemicAudit": defineTable(v.object({ "agentType": v.optional(v.string()), "changedAt": v.number(), "changedBy": v.string(), "changeType": v.union(v.literal("created"), v.literal("status_changed"), v.literal("confidence_changed"), v.literal("criticality_changed"), v.literal("formulation_modified"), v.literal("forked"), v.literal("superseded"), v.literal("archived"), v.literal("resolved"), v.literal("severity_changed"), v.literal("edge_added"), v.literal("edge_removed"), v.literal("annotated"), v.literal("blocked"), v.literal("unblocked"), v.literal("decision_finalized"), v.literal("proposal_accepted"), v.literal("proposal_rejected"), v.literal("pillar_changed"), v.literal("updated"), v.literal("deleted"), v.literal("entity_merged"), v.literal("entity_attributes_updated"), v.literal("entity_archived"), v.literal("published"), v.literal("deprecated"), v.literal("source_created"), v.literal("source_metadata_updated"), v.literal("canonicalText_repaired"), v.literal("globalId_repaired_v4_to_v7")), "entityId": v.string(), "entityType": v.union(v.literal("belief"), v.literal("evidence"), v.literal("question"), v.literal("answer"), v.literal("contradiction"), v.literal("decision"), v.literal("proposal"), v.literal("edge"), v.literal("node"), v.literal("epistemicNode"), v.literal("topic"), v.literal("entity"), v.literal("source"), v.literal("belief_conditional"), v.literal("belief_scenario"), v.literal("ontologyDefinition"), v.literal("ontologyVersion")), "isAgent": v.boolean(), "mcpSessionId": v.optional(v.string()), "mcpToolName": v.optional(v.string()), "newState": v.optional(v.union(v.record(v.string(), v.any()), v.null())), "previousState": v.optional(v.union(v.record(v.string(), v.any()), v.null())), "proposalId": v.optional(v.string()), "rationale": v.optional(v.string()), "sourceCommit": v.optional(v.string()), "topicId": v.optional(v.string()), "triggeringAction": v.optional(v.string()) })).index("by_entityId", ["entityId"]).index("by_entityType", ["entityType"]).index("by_entityType_id", ["entityType", "entityId"]).index("by_changedAt", ["changedAt"]).index("by_changedBy", ["changedBy"]).index("by_topicId", ["topicId"]).index("by_changeType", ["changeType"]).index("by_mcpSessionId", ["mcpSessionId"]),
29
30
  "epistemicContracts": defineTable(v.object({ "beliefNodeId": v.string(), "compositeOf": v.optional(v.array(v.string())), "compositeOperator": v.optional(v.union(v.literal("all"), v.literal("any"), v.literal("majority"))), "condition": v.object({ "evaluator": v.string(), "evaluatorConfig": v.optional(v.union(v.string(), v.number(), v.boolean(), v.null(), v.record(v.string(), v.any()), v.array(v.any()))), "expression": v.string() }), "conditionType": v.union(v.literal("assertion"), v.literal("temporal"), v.literal("evidential"), v.literal("threshold"), v.literal("composite")), "contractId": v.string(), "createdAt": v.number(), "createdBy": v.string(), "deadline": v.optional(v.number()), "description": v.optional(v.string()), "direction": v.union(v.literal("confirms"), v.literal("falsifies")), "evaluationCount": v.optional(v.number()), "evaluationSchedule": v.union(v.literal("on_demand"), v.literal("on_evidence"), v.literal("periodic"), v.literal("event_driven")), "inheritedAt": v.optional(v.number()), "inheritedFromBeliefNodeId": v.optional(v.string()), "inheritedFromContractId": v.optional(v.string()), "lastEvaluatedAt": v.optional(v.number()), "lineageSource": v.union(v.literal("declared"), v.literal("inherited")), "modulation": v.object({ "onConfirmed": v.object({ "ceiling": v.optional(v.number()), "delta": v.number() }), "onDisconfirmed": v.object({ "delta": v.number(), "floor": v.optional(v.number()) }), "onExpired": v.optional(v.object({ "delta": v.number() })), "onPartial": v.optional(v.object({ "delta": v.number(), "threshold": v.number() })) }), "periodicIntervalMs": v.optional(v.number()), "status": v.union(v.literal("active"), v.literal("satisfied"), v.literal("violated"), v.literal("expired"), v.literal("suspended"), v.literal("archived")), "title": v.string(), "topicId": v.optional(v.string()), "updatedAt": v.number() })).index("by_contractId", ["contractId"]).index("by_belief", ["beliefNodeId"]).index("by_status", ["status"]).index("by_evaluator", ["condition.evaluator"]).index("by_topic", ["topicId"]).index("by_schedule", ["evaluationSchedule"]),
30
31
  "epistemicEdges": defineTable(v.object({ "analogyBasis": v.optional(v.string()), "analogyStrength": v.optional(v.number()), "anonymizationClass": v.optional(v.union(v.literal("none"), v.literal("standard"), v.literal("strict"))), "audienceLabel": v.optional(v.string()), "blocking": v.optional(v.boolean()), "causal": v.optional(v.boolean()), "conditionalA": v.optional(v.object({ "a": v.number(), "b": v.number(), "d": v.number(), "u": v.number() })), "conditionalNotA": v.optional(v.object({ "a": v.number(), "b": v.number(), "d": v.number(), "u": v.number() })), "confidence": v.optional(v.number()), "constraint": v.optional(v.string()), "containment": v.optional(v.string()), "context": v.optional(v.string()), "createdAt": v.number(), "createdBy": v.string(), "defeatType": v.optional(v.union(v.literal("rebuts"), v.literal("undercuts"), v.literal("undermines"))), "derivation": v.optional(v.string()), "derivationType": v.optional(v.string()), "disanalogies": v.optional(v.array(v.string())), "domainNamespace": v.optional(v.string()), "edgeTier": v.optional(v.string()), "edgeType": v.union(v.literal("supports"), v.literal("informs"), v.literal("depends_on"), v.literal("derived_from"), v.literal("contains"), v.literal("tests"), v.literal("supersedes"), v.literal("responds_to"), v.literal("belongs_to"), v.literal("relates_to_thesis"), v.literal("works_at"), v.literal("invested_in"), v.literal("competes_with"), v.literal("participates_in"), v.literal("founded_by"), v.literal("evaluates"), v.literal("performs"), v.literal("function_in"), v.literal("impacts"), v.literal("raised_from"), v.literal("mentioned_in"), v.literal("perspective_on"), v.literal("plays_theme"), v.literal("answers"), v.literal("explores"), v.literal("qualifies"), v.literal("based_on"), v.literal("based_on_belief"), v.literal("based_on_question"), v.literal("blocked_by_contradiction"), v.literal("informed_by_theme"), v.literal("same_as"), v.literal("reinforces"), v.literal("parent_of"), v.literal("child_of"), v.literal("falsified_by"), v.literal("exclusive_with"), v.literal("collapses_if"), v.literal("cascade_from"), v.literal("counterfactual_of"), v.literal("cascade_to"), v.literal("mutually_exclusive"), v.literal("correlates_with"), v.literal("amplifies"), v.literal("precondition_for"), v.literal("in_tension_with"), v.literal("strengthened_by"), v.literal("weakened_by"), v.literal("alternative_to"), v.literal("subsumes"), v.literal("validated_by"), v.literal("required_for"), v.literal("blocks"), v.literal("prerequisite_for"), v.literal("parallel_to"), v.literal("corroborates"), v.literal("extends"), v.literal("same_source_as"), v.literal("same_theme_as"), v.literal("assumes"), v.literal("would_predict"), v.literal("analogous_to"), v.literal("independent_of"), v.literal("implements"), v.literal("violates"), v.literal("co_changes_with"), v.literal("migrating_from"), v.literal("migrating_to"), v.literal("scoped_by"), v.literal("about_entity"), v.literal("entity_referenced_in"), v.literal("contradicts"), v.literal("cites"), v.literal("summarizes"), v.literal("related_to"), v.literal("partially_answers"), v.literal("refines"), v.literal("branches_from"), v.literal("extracted_from")), "endDate": v.optional(v.number()), "evidence": v.optional(v.string()), "exportClass": v.optional(v.union(v.literal("internal_only"), v.literal("client_safe"), v.literal("public_safe"), v.literal("restricted"))), "fromLayer": v.optional(v.union(v.literal("L4"), v.literal("L3"), v.literal("L2"), v.literal("L1"), v.literal("ontological"), v.literal("organizational"))), "fromNodeId": v.string(), "fromNodeType": v.optional(v.string()), "globalId": v.string(), "implicit": v.optional(v.boolean()), "interrogation": v.optional(v.string()), "keywords": v.optional(v.array(v.string())), "logicalRole": v.optional(v.union(v.literal("necessary"), v.literal("sufficient"), v.literal("necessary_sufficient"), v.literal("contributory"), v.literal("corroborative"))), "metadata": v.optional(v.record(v.string(), v.any())), "normalization": v.optional(v.string()), "ownerPrincipalId": v.optional(v.string()), "policyTags": v.optional(v.array(v.string())), "predictionFulfilled": v.optional(v.boolean()), "predictionFulfilledAt": v.optional(v.number()), "predictionFulfilledBy": v.optional(v.string()), "projectId": v.optional(v.string()), "propagation": v.optional(v.string()), "reasoningMethod": v.optional(v.union(v.literal("deductive"), v.literal("inductive"), v.literal("abductive"), v.literal("analogical"), v.literal("causal"), v.literal("correlational"), v.literal("testimonial"), v.literal("statistical"), v.literal("implicit"), v.literal("pattern_match"))), "sensitivityTier": v.optional(v.union(v.literal("low"), v.literal("medium"), v.literal("high"), v.literal("restricted"))), "sourceGlobalId": v.optional(v.string()), "startDate": v.optional(v.number()), "surpriseScore": v.optional(v.number()), "targetGlobalId": v.optional(v.string()), "temporalClass": v.optional(v.union(v.literal("structural"), v.literal("cyclical"), v.literal("transient"), v.literal("point_in_time"))), "tenantId": v.optional(v.string()), "toLayer": v.optional(v.union(v.literal("L4"), v.literal("L3"), v.literal("L2"), v.literal("L1"), v.literal("ontological"), v.literal("organizational"))), "toNodeId": v.optional(v.string()), "toNodeType": v.optional(v.string()), "topicId": v.optional(v.string()), "updatedAt": v.optional(v.number()), "validFrom": v.optional(v.number()), "validUntil": v.optional(v.number()), "weight": v.optional(v.number()), "workspaceId": v.optional(v.string()) })).index("by_globalId", ["globalId"]).index("by_from", ["fromNodeId"]).index("by_to", ["toNodeId"]).index("by_from_type", ["fromNodeId", "edgeType"]).index("by_to_type", ["toNodeId", "edgeType"]).index("by_topic", ["topicId"]).index("by_tenantId", ["tenantId"]).index("by_workspaceId", ["workspaceId"]).index("by_tenant_workspace", ["tenantId", "workspaceId"]).index("by_audienceLabel", ["audienceLabel"]).index("by_sensitivityTier", ["sensitivityTier"]).index("by_exportClass", ["exportClass"]).index("by_type", ["edgeType"]).index("by_from_to", ["fromNodeId", "toNodeId"]).index("by_fromLayer", ["fromLayer"]).index("by_toLayer", ["toLayer"]).index("by_layer_pair", ["fromLayer", "toLayer"]).index("by_source_global_id", ["sourceGlobalId"]).index("by_target_global_id", ["targetGlobalId"]).index("by_reasoning_method", ["edgeType", "reasoningMethod"]).index("by_logical_role", ["edgeType", "logicalRole"]).index("by_temporal_class", ["temporalClass", "validUntil"]).index("by_surprise", ["edgeType", "surpriseScore"]),
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "generatedFrom": "packages/contracts/src/schemas/manifest.ts",
3
3
  "counts": {
4
- "total": 133,
4
+ "total": 134,
5
5
  "byComponent": {
6
- "kernel": 57,
6
+ "kernel": 58,
7
7
  "control-plane": 38,
8
8
  "mc": 38,
9
9
  "developer-pack": 0
@@ -11,7 +11,7 @@
11
11
  "byLayer": {
12
12
  "L": 38,
13
13
  "C": 38,
14
- "K": 57,
14
+ "K": 58,
15
15
  "D": 0,
16
16
  "A": 0
17
17
  }
@@ -1471,6 +1471,23 @@
1471
1471
  "deprecated": null,
1472
1472
  "invariants": []
1473
1473
  },
1474
+ {
1475
+ "name": "domainEventForwardCheckpoints",
1476
+ "component": "kernel",
1477
+ "layer": "K",
1478
+ "category": "events",
1479
+ "indices": [
1480
+ {
1481
+ "kind": "index",
1482
+ "name": "by_sink",
1483
+ "columns": [
1484
+ "sink"
1485
+ ]
1486
+ }
1487
+ ],
1488
+ "deprecated": null,
1489
+ "invariants": []
1490
+ },
1474
1491
  {
1475
1492
  "name": "domainEvents",
1476
1493
  "component": "kernel",
@@ -1518,6 +1535,13 @@
1518
1535
  "timestamp"
1519
1536
  ]
1520
1537
  },
1538
+ {
1539
+ "kind": "index",
1540
+ "name": "by_timestamp",
1541
+ "columns": [
1542
+ "timestamp"
1543
+ ]
1544
+ },
1521
1545
  {
1522
1546
  "kind": "index",
1523
1547
  "name": "by_expiresAt",
@@ -2,7 +2,7 @@ export type TableOwnershipLayer = "L" | "C" | "K" | "D" | "A";
2
2
  export declare const TABLES_BY_LAYER: {
3
3
  readonly L: readonly ["agentRegistryEntries", "apiKeys", "auditLog", "compatibilityShims", "controlPlaneTenantModelSlotBindings", "controlPlaneTenantProviderSecrets", "controlPlaneTenantProxyGatewayUsage", "controlPlaneTenantProxyTokenLeases", "controlPlaneToolAcls", "cutoverFlags", "deploymentHosts", "groupMemberships", "groups", "memberships", "methodologyPacks", "oauthDeviceCodes", "packAssignments", "packDefinitions", "packEntitlements", "packGroupAssignments", "packInstallations", "packVersions", "permitSyncStates", "policyBundles", "policyDecisionLogs", "policySimulations", "principalIdentityAliases", "principals", "rateLimitWindows", "secretSyncDriftReports", "servicePrincipalKeys", "tenantDeploymentCredentials", "tenantMethodologyAssignments", "tenants", "toolCatalog", "toolRegistryEntries", "userSessions", "workspaces"];
4
4
  readonly C: readonly ["agents", "mcpWritePolicy", "modelCallLogs", "modelFunctionSlots", "modelRegistry", "modelSlotConfigs", "permitAccessReviewItems", "permitAccessReviews", "permitAttributeBindings", "permitGroupMemberships", "permitGroups", "permitPolicyBundles", "permitPolicyDecisionReceipts", "permitPrincipalAliases", "permitPrincipals", "permitProjectionOutbox", "permitRelationshipTuples", "permitResourceInstances", "permitRoleAssignments", "platformAudienceGrants", "platformAudiences", "platformPolicyDecisionLogs", "projectGrants", "reasoningPermissions", "tenantApiKeys", "tenantConfig", "tenantIntegrations", "tenantModelSlotBindings", "tenantPermitSyncStates", "tenantPolicies", "tenantProviderSecrets", "tenantProxyGatewayUsage", "tenantProxyTokenMints", "tenantSandboxAuditEvents", "tenantSecrets", "toolAcls", "toolRegistry", "users"];
5
- readonly K: readonly ["agentMessages", "agentSessions", "autofixJobs", "backgroundJobRuns", "backgroundJobSettings", "beliefConfidence", "beliefEvidenceLinks", "beliefHistory", "beliefScenarios", "beliefVotes", "calibrationScores", "contractEvaluations", "contradictions", "crossProjectConnections", "decisionComputedSummaries", "decisionEvents", "decisionParticipants", "decisionRiskLedger", "decisionSnapshots", "deliberationContributions", "deliberationSessions", "domainEvents", "epistemicAudit", "epistemicContracts", "epistemicEdges", "epistemicIdentityBackfillMappings", "epistemicNodeEmbeddings", "epistemicNodes", "graphAnalysisCache", "graphAnalysisResults", "graphSuggestions", "harnessReplays", "harnessRuns", "idempotencyTokens", "lenses", "lensTopicBindings", "neo4jSyncQueue", "ontologyDefinitions", "ontologyVersions", "platformAgentRunPolicyDecisions", "platformAgentRunPromptResolutions", "platformAgentRuns", "platformAgentRunToolCalls", "platformHarnessShadowAudit", "publicationRules", "questionEvidenceLinks", "researchJobs", "schemaEnumConfig", "stakeholderGroups", "systemLogs", "tasks", "topics", "workflowDefinitions", "workflowPullRequests", "workflowStages", "worktreeBeliefCluster", "worktrees"];
5
+ readonly K: readonly ["agentMessages", "agentSessions", "autofixJobs", "backgroundJobRuns", "backgroundJobSettings", "beliefConfidence", "beliefEvidenceLinks", "beliefHistory", "beliefScenarios", "beliefVotes", "calibrationScores", "contractEvaluations", "contradictions", "crossProjectConnections", "decisionComputedSummaries", "decisionEvents", "decisionParticipants", "decisionRiskLedger", "decisionSnapshots", "deliberationContributions", "deliberationSessions", "domainEventForwardCheckpoints", "domainEvents", "epistemicAudit", "epistemicContracts", "epistemicEdges", "epistemicIdentityBackfillMappings", "epistemicNodeEmbeddings", "epistemicNodes", "graphAnalysisCache", "graphAnalysisResults", "graphSuggestions", "harnessReplays", "harnessRuns", "idempotencyTokens", "lenses", "lensTopicBindings", "neo4jSyncQueue", "ontologyDefinitions", "ontologyVersions", "platformAgentRunPolicyDecisions", "platformAgentRunPromptResolutions", "platformAgentRuns", "platformAgentRunToolCalls", "platformHarnessShadowAudit", "publicationRules", "questionEvidenceLinks", "researchJobs", "schemaEnumConfig", "stakeholderGroups", "systemLogs", "tasks", "topics", "workflowDefinitions", "workflowPullRequests", "workflowStages", "worktreeBeliefCluster", "worktrees"];
6
6
  readonly D: readonly [];
7
7
  readonly A: readonly [];
8
8
  };
@@ -40,6 +40,7 @@ export declare const TABLE_OWNERSHIP: {
40
40
  readonly deliberationContributions: "K";
41
41
  readonly deliberationSessions: "K";
42
42
  readonly deploymentHosts: "L";
43
+ readonly domainEventForwardCheckpoints: "K";
43
44
  readonly domainEvents: "K";
44
45
  readonly epistemicAudit: "K";
45
46
  readonly epistemicContracts: "K";
@@ -102,6 +102,7 @@ var TABLES_BY_LAYER = {
102
102
  "decisionSnapshots",
103
103
  "deliberationContributions",
104
104
  "deliberationSessions",
105
+ "domainEventForwardCheckpoints",
105
106
  "domainEvents",
106
107
  "epistemicAudit",
107
108
  "epistemicContracts",
@@ -176,6 +177,7 @@ var TABLE_OWNERSHIP = {
176
177
  "deliberationContributions": "K",
177
178
  "deliberationSessions": "K",
178
179
  "deploymentHosts": "L",
180
+ "domainEventForwardCheckpoints": "K",
179
181
  "domainEvents": "K",
180
182
  "epistemicAudit": "K",
181
183
  "epistemicContracts": "K",
@@ -51,7 +51,7 @@
51
51
  "components": [
52
52
  "kernel"
53
53
  ],
54
- "tableCount": 57,
54
+ "tableCount": 58,
55
55
  "tables": [
56
56
  "agentMessages",
57
57
  "agentSessions",
@@ -74,6 +74,7 @@
74
74
  "decisionSnapshots",
75
75
  "deliberationContributions",
76
76
  "deliberationSessions",
77
+ "domainEventForwardCheckpoints",
77
78
  "domainEvents",
78
79
  "epistemicAudit",
79
80
  "epistemicContracts",
@@ -123,7 +124,7 @@
123
124
  "control-plane",
124
125
  "developer-pack"
125
126
  ],
126
- "tableCount": 95,
127
+ "tableCount": 96,
127
128
  "tables": [
128
129
  "agentMessages",
129
130
  "agents",
@@ -147,6 +148,7 @@
147
148
  "decisionSnapshots",
148
149
  "deliberationContributions",
149
150
  "deliberationSessions",
151
+ "domainEventForwardCheckpoints",
150
152
  "domainEvents",
151
153
  "epistemicAudit",
152
154
  "epistemicContracts",
@@ -282,7 +284,7 @@
282
284
  "kernel",
283
285
  "developer-pack"
284
286
  ],
285
- "tableCount": 133,
287
+ "tableCount": 134,
286
288
  "tables": [
287
289
  "agentMessages",
288
290
  "agentRegistryEntries",
@@ -317,6 +319,7 @@
317
319
  "deliberationContributions",
318
320
  "deliberationSessions",
319
321
  "deploymentHosts",
322
+ "domainEventForwardCheckpoints",
320
323
  "domainEvents",
321
324
  "epistemicAudit",
322
325
  "epistemicContracts",
package/dist/index.js CHANGED
@@ -3699,9 +3699,39 @@ var domainEvents = defineTable({
3699
3699
  name: "by_resource",
3700
3700
  columns: ["resourceType", "resourceId", "timestamp"]
3701
3701
  },
3702
+ // OB.2: global chronological order for the Axiom forwarding scan. The
3703
+ // forwarder pages events strictly by (timestamp, eventId) after its
3704
+ // checkpoint cursor, so it needs a total time order independent of topic /
3705
+ // type / tenant. The forwarder additionally tie-breaks on eventId in
3706
+ // application code for events sharing a millisecond timestamp.
3707
+ { kind: "index", name: "by_timestamp", columns: ["timestamp"] },
3702
3708
  { kind: "index", name: "by_expiresAt", columns: ["expiresAt"] }
3703
3709
  ]
3704
3710
  });
3711
+ var domainEventForwardCheckpoints = defineTable({
3712
+ name: "domainEventForwardCheckpoints",
3713
+ component: "kernel",
3714
+ category: "events",
3715
+ shape: z.object({
3716
+ // Logical sink name. One checkpoint row per forwarding destination so a
3717
+ // second sink (e.g. a future OTel path) never contends on this cursor.
3718
+ sink: z.string(),
3719
+ // Cursor: the timestamp of the last successfully forwarded event (ms epoch).
3720
+ lastForwardedTimestamp: z.number(),
3721
+ // Cursor tie-breaker: the eventId of the last successfully forwarded event.
3722
+ lastForwardedEventId: z.string(),
3723
+ // Running count of events forwarded through this sink (observability of the
3724
+ // observer — lets an operator confirm the pump is moving without Axiom).
3725
+ forwardedCount: z.number(),
3726
+ // When this checkpoint row was last advanced (ms epoch).
3727
+ updatedAt: z.number(),
3728
+ // Last tick outcome, for at-a-glance health without querying Axiom.
3729
+ lastStatus: z.enum(["ok", "empty", "export_failed"]).optional(),
3730
+ // Redacted last-error summary when lastStatus is export_failed.
3731
+ lastError: z.string().optional()
3732
+ }),
3733
+ indices: [{ kind: "index", name: "by_sink", columns: ["sink"] }]
3734
+ });
3705
3735
  var idempotencyTokens = defineTable({
3706
3736
  name: "idempotencyTokens",
3707
3737
  component: "kernel",
@@ -14986,6 +15016,7 @@ var KERNEL_TABLE_CONTRACTS = [
14986
15016
  decisionRiskLedger,
14987
15017
  decisionSnapshots,
14988
15018
  domainEvents,
15019
+ domainEventForwardCheckpoints,
14989
15020
  deliberationContributions,
14990
15021
  deliberationSessions,
14991
15022
  stakeholderGroups,
@@ -28056,6 +28087,7 @@ var TABLE_OWNERSHIP = {
28056
28087
  "deliberationContributions": "K",
28057
28088
  "deliberationSessions": "K",
28058
28089
  "deploymentHosts": "L",
28090
+ "domainEventForwardCheckpoints": "K",
28059
28091
  "domainEvents": "K",
28060
28092
  "epistemicAudit": "K",
28061
28093
  "epistemicContracts": "K",
@@ -87095,6 +87127,13 @@ var TENANT_BOOTSTRAP_TABLE_REQUIREMENTS = [
87095
87127
  copyMode: "none",
87096
87128
  description: "Deliberation sessions are created by tenant workflows."
87097
87129
  },
87130
+ {
87131
+ component: "kernel",
87132
+ table: "domainEventForwardCheckpoints",
87133
+ prepopulation: "runtime_data",
87134
+ copyMode: "none",
87135
+ description: "Per-forwarder cursor checkpoints for domain-event log shipping; created at runtime by the log-lake forwarder."
87136
+ },
87098
87137
  {
87099
87138
  component: "kernel",
87100
87139
  table: "domainEvents",