@lucern/contracts 1.0.55 → 1.0.57

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 (59) hide show
  1. package/CHANGELOG.md +3 -0
  2. package/dist/component-boundary.contract.js +1 -0
  3. package/dist/events-types.contract.js +4 -0
  4. package/dist/events.contract.d.ts +1 -1
  5. package/dist/events.contract.js +4 -0
  6. package/dist/evidence-taxonomy-target-scope.contract.js +9 -0
  7. package/dist/function-registry/beliefs.js +70 -0
  8. package/dist/function-registry/coding.js +71 -1
  9. package/dist/function-registry/context.js +71 -0
  10. package/dist/function-registry/contracts.js +70 -0
  11. package/dist/function-registry/coordination.js +70 -0
  12. package/dist/function-registry/edges.js +100 -2
  13. package/dist/function-registry/embeddings.js +70 -0
  14. package/dist/function-registry/evidence.js +59 -14
  15. package/dist/function-registry/graph.js +70 -0
  16. package/dist/function-registry/helpers.d.ts +1 -0
  17. package/dist/function-registry/helpers.js +95 -1
  18. package/dist/function-registry/hybrid.js +70 -0
  19. package/dist/function-registry/identity.js +70 -0
  20. package/dist/function-registry/index.js +95 -1
  21. package/dist/function-registry/judgments.js +70 -0
  22. package/dist/function-registry/legacy.js +70 -0
  23. package/dist/function-registry/lenses.js +70 -0
  24. package/dist/function-registry/nodes.js +70 -0
  25. package/dist/function-registry/ontologies.js +70 -0
  26. package/dist/function-registry/pipeline.js +70 -0
  27. package/dist/function-registry/policy.js +70 -0
  28. package/dist/function-registry/questions.js +70 -0
  29. package/dist/function-registry/tasks.js +70 -0
  30. package/dist/function-registry/topics.js +70 -0
  31. package/dist/function-registry/worktrees.js +70 -0
  32. package/dist/generated/convexSchemas.d.ts +100 -0
  33. package/dist/generated/convexSchemas.js +2 -1
  34. package/dist/generated/schema-manifest.json +27 -3
  35. package/dist/generated/tableOwnership.d.ts +2 -1
  36. package/dist/generated/tableOwnership.js +2 -0
  37. package/dist/generated/tier-expectations.json +6 -3
  38. package/dist/index.js +52 -0
  39. package/dist/manifests/__tests__/sc3-operation-manifest-census-derivability.test.d.ts +1 -0
  40. package/dist/manifests/operation-manifest.d.ts +650 -0
  41. package/dist/manifests/operation-manifest.js +306 -0
  42. package/dist/projections/check-convex-args-shape.js +9 -0
  43. package/dist/projections/create-evidence.projection.js +9 -0
  44. package/dist/projections/index.js +9 -0
  45. package/dist/proof-attestation.json +1 -1
  46. package/dist/schema-helpers/evidenceAdmission.d.ts +8 -0
  47. package/dist/schema-helpers/evidenceAdmission.js +167 -0
  48. package/dist/schemas/index.js +40 -0
  49. package/dist/schemas/manifest.d.ts +40 -0
  50. package/dist/schemas/manifest.js +40 -0
  51. package/dist/schemas/tables/kernel/events.d.ts +22 -0
  52. package/dist/schemas/tables/kernel/events.js +31 -1
  53. package/dist/schemas/tables/kernel/spine.js +9 -0
  54. package/dist/schemas.values.js +40 -0
  55. package/dist/tenant-bootstrap-seed.contract.d.ts +12 -0
  56. package/dist/tenant-bootstrap-seed.contract.js +7 -0
  57. package/dist/types/evidence-taxonomy-target-scope.d.ts +3 -0
  58. package/dist/types/evidence-taxonomy-target-scope.js +10 -1
  59. package/package.json +1 -1
@@ -205,6 +205,14 @@ export declare const KERNEL_TABLE_CONTRACTS: readonly [import("../dsl.js").Table
205
205
  data: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodAny>;
206
206
  correlationId: import("zod").ZodOptional<import("zod").ZodString>;
207
207
  expiresAt: import("zod").ZodNumber;
208
+ }>, import("../dsl.js").TableContract<{
209
+ sink: import("zod").ZodString;
210
+ lastForwardedTimestamp: import("zod").ZodNumber;
211
+ lastForwardedEventId: import("zod").ZodString;
212
+ forwardedCount: import("zod").ZodNumber;
213
+ updatedAt: import("zod").ZodNumber;
214
+ lastStatus: import("zod").ZodOptional<import("zod").ZodEnum<["ok", "empty", "export_failed"]>>;
215
+ lastError: import("zod").ZodOptional<import("zod").ZodString>;
208
216
  }>, import("../dsl.js").TableContract<{
209
217
  sessionId: import("../dsl.js").ConvexIdSchema<"deliberationSessions">;
210
218
  topicId: import("zod").ZodOptional<import("zod").ZodString>;
@@ -5650,6 +5658,14 @@ export declare const TABLE_CONTRACTS_BY_COMPONENT: {
5650
5658
  data: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodAny>;
5651
5659
  correlationId: import("zod").ZodOptional<import("zod").ZodString>;
5652
5660
  expiresAt: import("zod").ZodNumber;
5661
+ }>, import("../dsl.js").TableContract<{
5662
+ sink: import("zod").ZodString;
5663
+ lastForwardedTimestamp: import("zod").ZodNumber;
5664
+ lastForwardedEventId: import("zod").ZodString;
5665
+ forwardedCount: import("zod").ZodNumber;
5666
+ updatedAt: import("zod").ZodNumber;
5667
+ lastStatus: import("zod").ZodOptional<import("zod").ZodEnum<["ok", "empty", "export_failed"]>>;
5668
+ lastError: import("zod").ZodOptional<import("zod").ZodString>;
5653
5669
  }>, import("../dsl.js").TableContract<{
5654
5670
  sessionId: import("../dsl.js").ConvexIdSchema<"deliberationSessions">;
5655
5671
  topicId: import("zod").ZodOptional<import("zod").ZodString>;
@@ -11096,6 +11112,14 @@ export declare const ALL_TABLE_CONTRACTS: readonly [import("../dsl.js").TableCon
11096
11112
  data: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodAny>;
11097
11113
  correlationId: import("zod").ZodOptional<import("zod").ZodString>;
11098
11114
  expiresAt: import("zod").ZodNumber;
11115
+ }>, import("../dsl.js").TableContract<{
11116
+ sink: import("zod").ZodString;
11117
+ lastForwardedTimestamp: import("zod").ZodNumber;
11118
+ lastForwardedEventId: import("zod").ZodString;
11119
+ forwardedCount: import("zod").ZodNumber;
11120
+ updatedAt: import("zod").ZodNumber;
11121
+ lastStatus: import("zod").ZodOptional<import("zod").ZodEnum<["ok", "empty", "export_failed"]>>;
11122
+ lastError: import("zod").ZodOptional<import("zod").ZodString>;
11099
11123
  }>, import("../dsl.js").TableContract<{
11100
11124
  sessionId: import("../dsl.js").ConvexIdSchema<"deliberationSessions">;
11101
11125
  topicId: import("zod").ZodOptional<import("zod").ZodString>;
@@ -17678,6 +17702,14 @@ export declare function listTableContractsByName(name: string): (import("../dsl.
17678
17702
  data: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodAny>;
17679
17703
  correlationId: import("zod").ZodOptional<import("zod").ZodString>;
17680
17704
  expiresAt: import("zod").ZodNumber;
17705
+ }> | import("../dsl.js").TableContract<{
17706
+ sink: import("zod").ZodString;
17707
+ lastForwardedTimestamp: import("zod").ZodNumber;
17708
+ lastForwardedEventId: import("zod").ZodString;
17709
+ forwardedCount: import("zod").ZodNumber;
17710
+ updatedAt: import("zod").ZodNumber;
17711
+ lastStatus: import("zod").ZodOptional<import("zod").ZodEnum<["ok", "empty", "export_failed"]>>;
17712
+ lastError: import("zod").ZodOptional<import("zod").ZodString>;
17681
17713
  }> | import("../dsl.js").TableContract<{
17682
17714
  tenantId: import("zod").ZodString;
17683
17715
  fnName: import("zod").ZodString;
@@ -23120,6 +23152,14 @@ export declare function getTableContract(name: string, component?: string): impo
23120
23152
  data: import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodAny>;
23121
23153
  correlationId: import("zod").ZodOptional<import("zod").ZodString>;
23122
23154
  expiresAt: import("zod").ZodNumber;
23155
+ }> | import("../dsl.js").TableContract<{
23156
+ sink: import("zod").ZodString;
23157
+ lastForwardedTimestamp: import("zod").ZodNumber;
23158
+ lastForwardedEventId: import("zod").ZodString;
23159
+ forwardedCount: import("zod").ZodNumber;
23160
+ updatedAt: import("zod").ZodNumber;
23161
+ lastStatus: import("zod").ZodOptional<import("zod").ZodEnum<["ok", "empty", "export_failed"]>>;
23162
+ lastError: import("zod").ZodOptional<import("zod").ZodString>;
23123
23163
  }> | import("../dsl.js").TableContract<{
23124
23164
  tenantId: import("zod").ZodString;
23125
23165
  fnName: import("zod").ZodString;
@@ -2842,9 +2842,39 @@ var domainEvents = defineTable({
2842
2842
  name: "by_resource",
2843
2843
  columns: ["resourceType", "resourceId", "timestamp"]
2844
2844
  },
2845
+ // OB.2: global chronological order for the Axiom forwarding scan. The
2846
+ // forwarder pages events strictly by (timestamp, eventId) after its
2847
+ // checkpoint cursor, so it needs a total time order independent of topic /
2848
+ // type / tenant. The forwarder additionally tie-breaks on eventId in
2849
+ // application code for events sharing a millisecond timestamp.
2850
+ { kind: "index", name: "by_timestamp", columns: ["timestamp"] },
2845
2851
  { kind: "index", name: "by_expiresAt", columns: ["expiresAt"] }
2846
2852
  ]
2847
2853
  });
2854
+ var domainEventForwardCheckpoints = defineTable({
2855
+ name: "domainEventForwardCheckpoints",
2856
+ component: "kernel",
2857
+ category: "events",
2858
+ shape: z.object({
2859
+ // Logical sink name. One checkpoint row per forwarding destination so a
2860
+ // second sink (e.g. a future OTel path) never contends on this cursor.
2861
+ sink: z.string(),
2862
+ // Cursor: the timestamp of the last successfully forwarded event (ms epoch).
2863
+ lastForwardedTimestamp: z.number(),
2864
+ // Cursor tie-breaker: the eventId of the last successfully forwarded event.
2865
+ lastForwardedEventId: z.string(),
2866
+ // Running count of events forwarded through this sink (observability of the
2867
+ // observer — lets an operator confirm the pump is moving without Axiom).
2868
+ forwardedCount: z.number(),
2869
+ // When this checkpoint row was last advanced (ms epoch).
2870
+ updatedAt: z.number(),
2871
+ // Last tick outcome, for at-a-glance health without querying Axiom.
2872
+ lastStatus: z.enum(["ok", "empty", "export_failed"]).optional(),
2873
+ // Redacted last-error summary when lastStatus is export_failed.
2874
+ lastError: z.string().optional()
2875
+ }),
2876
+ indices: [{ kind: "index", name: "by_sink", columns: ["sink"] }]
2877
+ });
2848
2878
  var idempotencyTokens = defineTable({
2849
2879
  name: "idempotencyTokens",
2850
2880
  component: "kernel",
@@ -9966,6 +9996,14 @@ DATA_MODEL_MANIFEST_SKELETON.surfaces.map(
9966
9996
  (surface) => surface.compositionEmitted
9967
9997
  );
9968
9998
  var EVIDENCE_RELATION_VALUES = ["supports", "contradicts"];
9999
+ var EVIDENCE_KIND_VALUES = [
10000
+ "fact",
10001
+ "observation",
10002
+ "claim",
10003
+ "quote",
10004
+ "statistic",
10005
+ "signal"
10006
+ ];
9969
10007
  var EVIDENCE_METHODOLOGY_VALUES = [
9970
10008
  "primary_research",
9971
10009
  "expert_interview",
@@ -10019,6 +10057,7 @@ var EVIDENCE_TAXONOMY_REFUSAL_IDS = [
10019
10057
  "metadata_scoring_plan_refused"
10020
10058
  ];
10021
10059
  z.enum(EVIDENCE_RELATION_VALUES);
10060
+ z.enum(EVIDENCE_KIND_VALUES);
10022
10061
  z.enum(EVIDENCE_METHODOLOGY_VALUES);
10023
10062
  z.enum(
10024
10063
  EVIDENCE_INFORMATION_ASYMMETRY_VALUES
@@ -13477,6 +13516,7 @@ var KERNEL_TABLE_CONTRACTS = [
13477
13516
  decisionRiskLedger,
13478
13517
  decisionSnapshots,
13479
13518
  domainEvents,
13519
+ domainEventForwardCheckpoints,
13480
13520
  deliberationContributions,
13481
13521
  deliberationSessions,
13482
13522
  stakeholderGroups,
@@ -22,3 +22,25 @@ export declare const domainEvents: import("../../../dsl.js").TableContract<{
22
22
  correlationId: z.ZodOptional<z.ZodString>;
23
23
  expiresAt: z.ZodNumber;
24
24
  }>;
25
+ /**
26
+ * Axiom forwarding checkpoint — the OB.2 log-lake cursor.
27
+ *
28
+ * The scheduled `events:recordEvent` -> Axiom forwarder (OB.2) is cursor-based
29
+ * and idempotent: it persists, per sink, the `(timestamp, eventId)` of the last
30
+ * domain event it successfully forwarded. On each tick it reads events strictly
31
+ * after that cursor, forwards them through the transport-core Axiom exporter,
32
+ * and advances the checkpoint ONLY after a successful export. Forwarding is
33
+ * fail-open — an export failure leaves the checkpoint unadvanced so the same
34
+ * window is retried next tick, and it never touches the source `domainEvents`
35
+ * ledger. One row per `sink` (e.g. `axiom-events`); the row is upserted, never
36
+ * accreted, because it is operational cursor state, not epistemic state.
37
+ */
38
+ export declare const domainEventForwardCheckpoints: import("../../../dsl.js").TableContract<{
39
+ sink: z.ZodString;
40
+ lastForwardedTimestamp: z.ZodNumber;
41
+ lastForwardedEventId: z.ZodString;
42
+ forwardedCount: z.ZodNumber;
43
+ updatedAt: z.ZodNumber;
44
+ lastStatus: z.ZodOptional<z.ZodEnum<["ok", "empty", "export_failed"]>>;
45
+ lastError: z.ZodOptional<z.ZodString>;
46
+ }>;
@@ -50,8 +50,38 @@ var domainEvents = defineTable({
50
50
  name: "by_resource",
51
51
  columns: ["resourceType", "resourceId", "timestamp"]
52
52
  },
53
+ // OB.2: global chronological order for the Axiom forwarding scan. The
54
+ // forwarder pages events strictly by (timestamp, eventId) after its
55
+ // checkpoint cursor, so it needs a total time order independent of topic /
56
+ // type / tenant. The forwarder additionally tie-breaks on eventId in
57
+ // application code for events sharing a millisecond timestamp.
58
+ { kind: "index", name: "by_timestamp", columns: ["timestamp"] },
53
59
  { kind: "index", name: "by_expiresAt", columns: ["expiresAt"] }
54
60
  ]
55
61
  });
62
+ var domainEventForwardCheckpoints = defineTable({
63
+ name: "domainEventForwardCheckpoints",
64
+ component: "kernel",
65
+ category: "events",
66
+ shape: z.object({
67
+ // Logical sink name. One checkpoint row per forwarding destination so a
68
+ // second sink (e.g. a future OTel path) never contends on this cursor.
69
+ sink: z.string(),
70
+ // Cursor: the timestamp of the last successfully forwarded event (ms epoch).
71
+ lastForwardedTimestamp: z.number(),
72
+ // Cursor tie-breaker: the eventId of the last successfully forwarded event.
73
+ lastForwardedEventId: z.string(),
74
+ // Running count of events forwarded through this sink (observability of the
75
+ // observer — lets an operator confirm the pump is moving without Axiom).
76
+ forwardedCount: z.number(),
77
+ // When this checkpoint row was last advanced (ms epoch).
78
+ updatedAt: z.number(),
79
+ // Last tick outcome, for at-a-glance health without querying Axiom.
80
+ lastStatus: z.enum(["ok", "empty", "export_failed"]).optional(),
81
+ // Redacted last-error summary when lastStatus is export_failed.
82
+ lastError: z.string().optional()
83
+ }),
84
+ indices: [{ kind: "index", name: "by_sink", columns: ["sink"] }]
85
+ });
56
86
 
57
- export { domainEvents };
87
+ export { domainEventForwardCheckpoints, domainEvents };
@@ -5904,6 +5904,14 @@ DATA_MODEL_MANIFEST_SKELETON.surfaces.map(
5904
5904
  (surface) => surface.compositionEmitted
5905
5905
  );
5906
5906
  var EVIDENCE_RELATION_VALUES = ["supports", "contradicts"];
5907
+ var EVIDENCE_KIND_VALUES = [
5908
+ "fact",
5909
+ "observation",
5910
+ "claim",
5911
+ "quote",
5912
+ "statistic",
5913
+ "signal"
5914
+ ];
5907
5915
  var EVIDENCE_METHODOLOGY_VALUES = [
5908
5916
  "primary_research",
5909
5917
  "expert_interview",
@@ -5957,6 +5965,7 @@ var EVIDENCE_TAXONOMY_REFUSAL_IDS = [
5957
5965
  "metadata_scoring_plan_refused"
5958
5966
  ];
5959
5967
  z.enum(EVIDENCE_RELATION_VALUES);
5968
+ z.enum(EVIDENCE_KIND_VALUES);
5960
5969
  z.enum(EVIDENCE_METHODOLOGY_VALUES);
5961
5970
  z.enum(
5962
5971
  EVIDENCE_INFORMATION_ASYMMETRY_VALUES
@@ -2975,9 +2975,39 @@ var domainEvents = defineTable({
2975
2975
  name: "by_resource",
2976
2976
  columns: ["resourceType", "resourceId", "timestamp"]
2977
2977
  },
2978
+ // OB.2: global chronological order for the Axiom forwarding scan. The
2979
+ // forwarder pages events strictly by (timestamp, eventId) after its
2980
+ // checkpoint cursor, so it needs a total time order independent of topic /
2981
+ // type / tenant. The forwarder additionally tie-breaks on eventId in
2982
+ // application code for events sharing a millisecond timestamp.
2983
+ { kind: "index", name: "by_timestamp", columns: ["timestamp"] },
2978
2984
  { kind: "index", name: "by_expiresAt", columns: ["expiresAt"] }
2979
2985
  ]
2980
2986
  });
2987
+ var domainEventForwardCheckpoints = defineTable({
2988
+ name: "domainEventForwardCheckpoints",
2989
+ component: "kernel",
2990
+ category: "events",
2991
+ shape: z.object({
2992
+ // Logical sink name. One checkpoint row per forwarding destination so a
2993
+ // second sink (e.g. a future OTel path) never contends on this cursor.
2994
+ sink: z.string(),
2995
+ // Cursor: the timestamp of the last successfully forwarded event (ms epoch).
2996
+ lastForwardedTimestamp: z.number(),
2997
+ // Cursor tie-breaker: the eventId of the last successfully forwarded event.
2998
+ lastForwardedEventId: z.string(),
2999
+ // Running count of events forwarded through this sink (observability of the
3000
+ // observer — lets an operator confirm the pump is moving without Axiom).
3001
+ forwardedCount: z.number(),
3002
+ // When this checkpoint row was last advanced (ms epoch).
3003
+ updatedAt: z.number(),
3004
+ // Last tick outcome, for at-a-glance health without querying Axiom.
3005
+ lastStatus: z.enum(["ok", "empty", "export_failed"]).optional(),
3006
+ // Redacted last-error summary when lastStatus is export_failed.
3007
+ lastError: z.string().optional()
3008
+ }),
3009
+ indices: [{ kind: "index", name: "by_sink", columns: ["sink"] }]
3010
+ });
2981
3011
  var idempotencyTokens = defineTable({
2982
3012
  name: "idempotencyTokens",
2983
3013
  component: "kernel",
@@ -9985,6 +10015,14 @@ DATA_MODEL_MANIFEST_SKELETON.surfaces.map(
9985
10015
  (surface) => surface.compositionEmitted
9986
10016
  );
9987
10017
  var EVIDENCE_RELATION_VALUES = ["supports", "contradicts"];
10018
+ var EVIDENCE_KIND_VALUES = [
10019
+ "fact",
10020
+ "observation",
10021
+ "claim",
10022
+ "quote",
10023
+ "statistic",
10024
+ "signal"
10025
+ ];
9988
10026
  var EVIDENCE_METHODOLOGY_VALUES = [
9989
10027
  "primary_research",
9990
10028
  "expert_interview",
@@ -10038,6 +10076,7 @@ var EVIDENCE_TAXONOMY_REFUSAL_IDS = [
10038
10076
  "metadata_scoring_plan_refused"
10039
10077
  ];
10040
10078
  z.enum(EVIDENCE_RELATION_VALUES);
10079
+ z.enum(EVIDENCE_KIND_VALUES);
10041
10080
  z.enum(EVIDENCE_METHODOLOGY_VALUES);
10042
10081
  z.enum(
10043
10082
  EVIDENCE_INFORMATION_ASYMMETRY_VALUES
@@ -13496,6 +13535,7 @@ var KERNEL_TABLE_CONTRACTS = [
13496
13535
  decisionRiskLedger,
13497
13536
  decisionSnapshots,
13498
13537
  domainEvents,
13538
+ domainEventForwardCheckpoints,
13499
13539
  deliberationContributions,
13500
13540
  deliberationSessions,
13501
13541
  stakeholderGroups,
@@ -181,6 +181,12 @@ export declare const TENANT_BOOTSTRAP_TABLE_REQUIREMENTS: readonly [{
181
181
  readonly prepopulation: "runtime_data";
182
182
  readonly copyMode: "none";
183
183
  readonly description: "Deliberation sessions are created by tenant workflows.";
184
+ }, {
185
+ readonly component: "kernel";
186
+ readonly table: "domainEventForwardCheckpoints";
187
+ readonly prepopulation: "runtime_data";
188
+ readonly copyMode: "none";
189
+ readonly description: "Per-forwarder cursor checkpoints for domain-event log shipping; created at runtime by the log-lake forwarder.";
184
190
  }, {
185
191
  readonly component: "kernel";
186
192
  readonly table: "domainEvents";
@@ -815,6 +821,12 @@ export declare const TENANT_BOOTSTRAP_SEED_MANIFEST: {
815
821
  readonly prepopulation: "runtime_data";
816
822
  readonly copyMode: "none";
817
823
  readonly description: "Deliberation sessions are created by tenant workflows.";
824
+ }, {
825
+ readonly component: "kernel";
826
+ readonly table: "domainEventForwardCheckpoints";
827
+ readonly prepopulation: "runtime_data";
828
+ readonly copyMode: "none";
829
+ readonly description: "Per-forwarder cursor checkpoints for domain-event log shipping; created at runtime by the log-lake forwarder.";
818
830
  }, {
819
831
  readonly component: "kernel";
820
832
  readonly table: "domainEvents";
@@ -186,6 +186,13 @@ var TENANT_BOOTSTRAP_TABLE_REQUIREMENTS = [
186
186
  copyMode: "none",
187
187
  description: "Deliberation sessions are created by tenant workflows."
188
188
  },
189
+ {
190
+ component: "kernel",
191
+ table: "domainEventForwardCheckpoints",
192
+ prepopulation: "runtime_data",
193
+ copyMode: "none",
194
+ description: "Per-forwarder cursor checkpoints for domain-event log shipping; created at runtime by the log-lake forwarder."
195
+ },
189
196
  {
190
197
  component: "kernel",
191
198
  table: "domainEvents",
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  export declare const EVIDENCE_RELATION_VALUES: readonly ["supports", "contradicts"];
3
+ export declare const EVIDENCE_KIND_VALUES: readonly ["fact", "observation", "claim", "quote", "statistic", "signal"];
3
4
  export declare const EVIDENCE_METHODOLOGY_VALUES: readonly ["primary_research", "expert_interview", "customer_interview", "field_observation", "proprietary_data", "desk_research", "regulatory_filing", "news_article", "academic_paper", "ai_synthesis", "ai_extraction"];
4
5
  export declare const EVIDENCE_INFORMATION_ASYMMETRY_VALUES: readonly ["proprietary", "early", "common"];
5
6
  export declare const EVIDENCE_SOURCE_QUALITY_VALUES: readonly ["primary", "analyzed", "secondary", "tertiary", "unknown"];
@@ -7,6 +8,7 @@ export declare const EVIDENCE_SOURCE_TYPE_VALUES: readonly ["human", "ai_extract
7
8
  export declare const EVIDENCE_SCORING_DIMENSIONS: readonly ["signedImpact", "evidenceRelation", "sourceQuality", "methodology", "informationAsymmetry", "sourceRef", "targetBeliefId", "verificationStatus"];
8
9
  export declare const EVIDENCE_TAXONOMY_REFUSAL_IDS: readonly ["orphan_evidence_create_refused", "non_belief_create_target_refused", "zero_signed_impact_refused", "relation_signed_impact_mismatch_refused", "unscoped_list_evidence_refused", "metadata_scoring_plan_refused"];
9
10
  export type EvidenceRelation = (typeof EVIDENCE_RELATION_VALUES)[number];
11
+ export type EvidenceKind = (typeof EVIDENCE_KIND_VALUES)[number];
10
12
  export type EvidenceMethodology = (typeof EVIDENCE_METHODOLOGY_VALUES)[number];
11
13
  export type EvidenceInformationAsymmetry = (typeof EVIDENCE_INFORMATION_ASYMMETRY_VALUES)[number];
12
14
  export type EvidenceSourceQuality = (typeof EVIDENCE_SOURCE_QUALITY_VALUES)[number];
@@ -14,6 +16,7 @@ export type EvidenceSourceType = (typeof EVIDENCE_SOURCE_TYPE_VALUES)[number];
14
16
  export type EvidenceScoringDimension = (typeof EVIDENCE_SCORING_DIMENSIONS)[number];
15
17
  export type EvidenceTaxonomyRefusalId = (typeof EVIDENCE_TAXONOMY_REFUSAL_IDS)[number];
16
18
  export declare const EvidenceRelationSchema: z.ZodEnum<["supports", "contradicts"]>;
19
+ export declare const EvidenceKindSchema: z.ZodEnum<["fact", "observation", "claim", "quote", "statistic", "signal"]>;
17
20
  export declare const EvidenceMethodologySchema: z.ZodEnum<["primary_research", "expert_interview", "customer_interview", "field_observation", "proprietary_data", "desk_research", "regulatory_filing", "news_article", "academic_paper", "ai_synthesis", "ai_extraction"]>;
18
21
  export declare const EvidenceInformationAsymmetrySchema: z.ZodEnum<["proprietary", "early", "common"]>;
19
22
  export declare const EvidenceSourceQualitySchema: z.ZodEnum<["primary", "analyzed", "secondary", "tertiary", "unknown"]>;
@@ -2,6 +2,14 @@ import { z } from 'zod';
2
2
 
3
3
  // src/types/evidence-taxonomy-target-scope.ts
4
4
  var EVIDENCE_RELATION_VALUES = ["supports", "contradicts"];
5
+ var EVIDENCE_KIND_VALUES = [
6
+ "fact",
7
+ "observation",
8
+ "claim",
9
+ "quote",
10
+ "statistic",
11
+ "signal"
12
+ ];
5
13
  var EVIDENCE_METHODOLOGY_VALUES = [
6
14
  "primary_research",
7
15
  "expert_interview",
@@ -55,6 +63,7 @@ var EVIDENCE_TAXONOMY_REFUSAL_IDS = [
55
63
  "metadata_scoring_plan_refused"
56
64
  ];
57
65
  var EvidenceRelationSchema = z.enum(EVIDENCE_RELATION_VALUES);
66
+ var EvidenceKindSchema = z.enum(EVIDENCE_KIND_VALUES);
58
67
  var EvidenceMethodologySchema = z.enum(EVIDENCE_METHODOLOGY_VALUES);
59
68
  var EvidenceInformationAsymmetrySchema = z.enum(
60
69
  EVIDENCE_INFORMATION_ASYMMETRY_VALUES
@@ -67,4 +76,4 @@ var EvidenceScoringDimensionSchema = z.enum(
67
76
  EVIDENCE_SCORING_DIMENSIONS
68
77
  );
69
78
 
70
- export { EVIDENCE_INFORMATION_ASYMMETRY_VALUES, EVIDENCE_METHODOLOGY_VALUES, EVIDENCE_RELATION_VALUES, EVIDENCE_SCORING_DIMENSIONS, EVIDENCE_SOURCE_QUALITY_VALUES, EVIDENCE_SOURCE_TYPE_VALUES, EVIDENCE_TAXONOMY_REFUSAL_IDS, EvidenceInformationAsymmetrySchema, EvidenceMethodologySchema, EvidenceRelationSchema, EvidenceScoringDimensionSchema, EvidenceSourceQualitySchema, EvidenceSourceTypeSchema };
79
+ export { EVIDENCE_INFORMATION_ASYMMETRY_VALUES, EVIDENCE_KIND_VALUES, EVIDENCE_METHODOLOGY_VALUES, EVIDENCE_RELATION_VALUES, EVIDENCE_SCORING_DIMENSIONS, EVIDENCE_SOURCE_QUALITY_VALUES, EVIDENCE_SOURCE_TYPE_VALUES, EVIDENCE_TAXONOMY_REFUSAL_IDS, EvidenceInformationAsymmetrySchema, EvidenceKindSchema, EvidenceMethodologySchema, EvidenceRelationSchema, EvidenceScoringDimensionSchema, EvidenceSourceQualitySchema, EvidenceSourceTypeSchema };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lucern/contracts",
3
- "version": "1.0.55",
3
+ "version": "1.0.57",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",