@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
@@ -5928,6 +5928,14 @@ DATA_MODEL_MANIFEST_SKELETON.surfaces.map(
5928
5928
  (surface) => surface.compositionEmitted
5929
5929
  );
5930
5930
  var EVIDENCE_RELATION_VALUES = ["supports", "contradicts"];
5931
+ var EVIDENCE_KIND_VALUES = [
5932
+ "fact",
5933
+ "observation",
5934
+ "claim",
5935
+ "quote",
5936
+ "statistic",
5937
+ "signal"
5938
+ ];
5931
5939
  var EVIDENCE_METHODOLOGY_VALUES = [
5932
5940
  "primary_research",
5933
5941
  "expert_interview",
@@ -5981,6 +5989,7 @@ var EVIDENCE_TAXONOMY_REFUSAL_IDS = [
5981
5989
  "metadata_scoring_plan_refused"
5982
5990
  ];
5983
5991
  z.enum(EVIDENCE_RELATION_VALUES);
5992
+ z.enum(EVIDENCE_KIND_VALUES);
5984
5993
  z.enum(EVIDENCE_METHODOLOGY_VALUES);
5985
5994
  z.enum(
5986
5995
  EVIDENCE_INFORMATION_ASYMMETRY_VALUES
@@ -12407,6 +12416,34 @@ var WORKTREE_TYPE_VALUES = [
12407
12416
  topic_type: new Set(TOPIC_TYPE_VALUES),
12408
12417
  worktree_type: new Set(WORKTREE_TYPE_VALUES)});
12409
12418
 
12419
+ // src/schema-helpers/evidenceAdmission.ts
12420
+ new Set(EVIDENCE_KIND_VALUES);
12421
+ new Set(EVIDENCE_SOURCE_TYPE_VALUES);
12422
+ function assertEvidenceSignedWeight(value, context) {
12423
+ if (typeof value !== "number" || !Number.isFinite(value) || value === 0 || value < -1 || value > 1) {
12424
+ throw new Error(`${context} requires explicit nonzero weight in [-1, 1]`);
12425
+ }
12426
+ return value;
12427
+ }
12428
+ function evidenceRelationFromSignedWeight(weight) {
12429
+ return weight < 0 ? "contradicts" : "supports";
12430
+ }
12431
+ function assertEvidenceRelationMatchesSignedWeight(relation, weight, context) {
12432
+ if (relation === "supports" && weight < 0) {
12433
+ throw new Error(`${context} relation supports requires positive weight`);
12434
+ }
12435
+ if (relation === "contradicts" && weight > 0) {
12436
+ throw new Error(`${context} relation contradicts requires negative weight`);
12437
+ }
12438
+ }
12439
+ function normalizeEvidenceRelationForSignedWeight(relation, weight, context = "Evidence relation") {
12440
+ if (relation === "supports" || relation === "contradicts") {
12441
+ assertEvidenceRelationMatchesSignedWeight(relation, weight, context);
12442
+ return relation;
12443
+ }
12444
+ return evidenceRelationFromSignedWeight(weight);
12445
+ }
12446
+
12410
12447
  // src/function-registry/helpers.ts
12411
12448
  var jsonObjectSchema = z.record(z.unknown());
12412
12449
  var uuidV7StringSchema2 = z.string().refine(isUuidV7, "must be UUIDv7");
@@ -12793,6 +12830,15 @@ var listEvidenceBaseArgs = z.object({
12793
12830
  limit: z.number().optional().describe("Maximum results."),
12794
12831
  cursor: z.string().optional().describe("Pagination cursor.")
12795
12832
  });
12833
+ function canonicalizeLegacyRelation(relation) {
12834
+ if (relation === "supporting") {
12835
+ return "supports";
12836
+ }
12837
+ if (relation === "contradicting") {
12838
+ return "contradicts";
12839
+ }
12840
+ return relation;
12841
+ }
12796
12842
  function requireListEvidenceScope(input, ctx) {
12797
12843
  if (input.topicId || input.targetId) {
12798
12844
  return;
@@ -12911,21 +12957,20 @@ var createEvidenceInput = (input, context) => {
12911
12957
  );
12912
12958
  };
12913
12959
  function relationWeight(input) {
12914
- if (typeof input.weight === "number" && Number.isFinite(input.weight) && input.weight !== 0 && input.weight >= -1 && input.weight <= 1) {
12915
- const relation = String(
12916
- input.evidenceRelation ?? input.relation ?? input.type ?? ""
12917
- );
12918
- if ((relation === "supports" || relation === "supporting") && input.weight < 0) {
12919
- throw new Error("Supporting evidence links require positive weight.");
12920
- }
12921
- if ((relation === "contradicts" || relation === "contradicting") && input.weight > 0) {
12922
- throw new Error("Contradicting evidence links require negative weight.");
12923
- }
12924
- return input.weight;
12925
- }
12926
- throw new Error(
12927
- "Belief evidence links require explicit nonzero weight in [-1, 1]."
12960
+ const weight = assertEvidenceSignedWeight(
12961
+ input.weight,
12962
+ "Belief evidence links"
12963
+ );
12964
+ const relation = String(
12965
+ input.evidenceRelation ?? input.relation ?? input.type
12966
+ );
12967
+ const canonicalRelation = canonicalizeLegacyRelation(relation);
12968
+ normalizeEvidenceRelationForSignedWeight(
12969
+ canonicalRelation,
12970
+ weight,
12971
+ "Belief evidence links"
12928
12972
  );
12973
+ return weight;
12929
12974
  }
12930
12975
  var linkEvidenceToBeliefInput = (input, context) => {
12931
12976
  const weight = relationWeight(input);
@@ -5983,6 +5983,76 @@ var WORKTREE_TYPE_VALUES = [
5983
5983
  ({
5984
5984
  topic_type: new Set(TOPIC_TYPE_VALUES),
5985
5985
  worktree_type: new Set(WORKTREE_TYPE_VALUES)});
5986
+ var EVIDENCE_RELATION_VALUES = ["supports", "contradicts"];
5987
+ var EVIDENCE_KIND_VALUES = [
5988
+ "fact",
5989
+ "observation",
5990
+ "claim",
5991
+ "quote",
5992
+ "statistic",
5993
+ "signal"
5994
+ ];
5995
+ var EVIDENCE_METHODOLOGY_VALUES = [
5996
+ "primary_research",
5997
+ "expert_interview",
5998
+ "customer_interview",
5999
+ "field_observation",
6000
+ "proprietary_data",
6001
+ "desk_research",
6002
+ "regulatory_filing",
6003
+ "news_article",
6004
+ "academic_paper",
6005
+ "ai_synthesis",
6006
+ "ai_extraction"
6007
+ ];
6008
+ var EVIDENCE_INFORMATION_ASYMMETRY_VALUES = [
6009
+ "proprietary",
6010
+ "early",
6011
+ "common"
6012
+ ];
6013
+ var EVIDENCE_SOURCE_QUALITY_VALUES = [
6014
+ "primary",
6015
+ "analyzed",
6016
+ "secondary",
6017
+ "tertiary",
6018
+ "unknown"
6019
+ ];
6020
+ var EVIDENCE_SOURCE_TYPE_VALUES = [
6021
+ "human",
6022
+ "ai_extracted",
6023
+ "ai_generated",
6024
+ "imported",
6025
+ "system",
6026
+ "verified",
6027
+ "proprietary"
6028
+ ];
6029
+ var EVIDENCE_SCORING_DIMENSIONS = [
6030
+ "signedImpact",
6031
+ "evidenceRelation",
6032
+ "sourceQuality",
6033
+ "methodology",
6034
+ "informationAsymmetry",
6035
+ "sourceRef",
6036
+ "targetBeliefId",
6037
+ "verificationStatus"
6038
+ ];
6039
+ z.enum(EVIDENCE_RELATION_VALUES);
6040
+ z.enum(EVIDENCE_KIND_VALUES);
6041
+ z.enum(EVIDENCE_METHODOLOGY_VALUES);
6042
+ z.enum(
6043
+ EVIDENCE_INFORMATION_ASYMMETRY_VALUES
6044
+ );
6045
+ z.enum(
6046
+ EVIDENCE_SOURCE_QUALITY_VALUES
6047
+ );
6048
+ z.enum(EVIDENCE_SOURCE_TYPE_VALUES);
6049
+ z.enum(
6050
+ EVIDENCE_SCORING_DIMENSIONS
6051
+ );
6052
+
6053
+ // src/schema-helpers/evidenceAdmission.ts
6054
+ new Set(EVIDENCE_KIND_VALUES);
6055
+ new Set(EVIDENCE_SOURCE_TYPE_VALUES);
5986
6056
 
5987
6057
  // src/function-registry/helpers.ts
5988
6058
  var jsonObjectSchema = z.record(z.unknown());
@@ -4,6 +4,7 @@ import type { McpToolContract } from "../tool-contracts.js";
4
4
  import type { ContractProjectionContext, FunctionContract, SurfaceClass } from "./types.js";
5
5
  export { generateUuidV7, isUuidV7 } from "../ids/index.js";
6
6
  export { TOPIC_TYPE_VALUES, WORKTREE_TYPE_VALUES, } from "../schema-helpers/enumValidation.js";
7
+ export { assertEvidenceSignedWeight, normalizeEvidenceRelationForSignedWeight, } from "../schema-helpers/evidenceAdmission.js";
7
8
  export { NODE_TYPE } from "../schemas/enums.js";
8
9
  export declare const jsonObjectSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
9
10
  export declare const uuidV7StringSchema: z.ZodEffects<z.ZodString, string, string>;
@@ -5932,6 +5932,100 @@ var WORKTREE_TYPE_VALUES = [
5932
5932
  ({
5933
5933
  topic_type: new Set(TOPIC_TYPE_VALUES),
5934
5934
  worktree_type: new Set(WORKTREE_TYPE_VALUES)});
5935
+ var EVIDENCE_RELATION_VALUES = ["supports", "contradicts"];
5936
+ var EVIDENCE_KIND_VALUES = [
5937
+ "fact",
5938
+ "observation",
5939
+ "claim",
5940
+ "quote",
5941
+ "statistic",
5942
+ "signal"
5943
+ ];
5944
+ var EVIDENCE_METHODOLOGY_VALUES = [
5945
+ "primary_research",
5946
+ "expert_interview",
5947
+ "customer_interview",
5948
+ "field_observation",
5949
+ "proprietary_data",
5950
+ "desk_research",
5951
+ "regulatory_filing",
5952
+ "news_article",
5953
+ "academic_paper",
5954
+ "ai_synthesis",
5955
+ "ai_extraction"
5956
+ ];
5957
+ var EVIDENCE_INFORMATION_ASYMMETRY_VALUES = [
5958
+ "proprietary",
5959
+ "early",
5960
+ "common"
5961
+ ];
5962
+ var EVIDENCE_SOURCE_QUALITY_VALUES = [
5963
+ "primary",
5964
+ "analyzed",
5965
+ "secondary",
5966
+ "tertiary",
5967
+ "unknown"
5968
+ ];
5969
+ var EVIDENCE_SOURCE_TYPE_VALUES = [
5970
+ "human",
5971
+ "ai_extracted",
5972
+ "ai_generated",
5973
+ "imported",
5974
+ "system",
5975
+ "verified",
5976
+ "proprietary"
5977
+ ];
5978
+ var EVIDENCE_SCORING_DIMENSIONS = [
5979
+ "signedImpact",
5980
+ "evidenceRelation",
5981
+ "sourceQuality",
5982
+ "methodology",
5983
+ "informationAsymmetry",
5984
+ "sourceRef",
5985
+ "targetBeliefId",
5986
+ "verificationStatus"
5987
+ ];
5988
+ z.enum(EVIDENCE_RELATION_VALUES);
5989
+ z.enum(EVIDENCE_KIND_VALUES);
5990
+ z.enum(EVIDENCE_METHODOLOGY_VALUES);
5991
+ z.enum(
5992
+ EVIDENCE_INFORMATION_ASYMMETRY_VALUES
5993
+ );
5994
+ z.enum(
5995
+ EVIDENCE_SOURCE_QUALITY_VALUES
5996
+ );
5997
+ z.enum(EVIDENCE_SOURCE_TYPE_VALUES);
5998
+ z.enum(
5999
+ EVIDENCE_SCORING_DIMENSIONS
6000
+ );
6001
+
6002
+ // src/schema-helpers/evidenceAdmission.ts
6003
+ new Set(EVIDENCE_KIND_VALUES);
6004
+ new Set(EVIDENCE_SOURCE_TYPE_VALUES);
6005
+ function assertEvidenceSignedWeight(value, context) {
6006
+ if (typeof value !== "number" || !Number.isFinite(value) || value === 0 || value < -1 || value > 1) {
6007
+ throw new Error(`${context} requires explicit nonzero weight in [-1, 1]`);
6008
+ }
6009
+ return value;
6010
+ }
6011
+ function evidenceRelationFromSignedWeight(weight) {
6012
+ return weight < 0 ? "contradicts" : "supports";
6013
+ }
6014
+ function assertEvidenceRelationMatchesSignedWeight(relation, weight, context) {
6015
+ if (relation === "supports" && weight < 0) {
6016
+ throw new Error(`${context} relation supports requires positive weight`);
6017
+ }
6018
+ if (relation === "contradicts" && weight > 0) {
6019
+ throw new Error(`${context} relation contradicts requires negative weight`);
6020
+ }
6021
+ }
6022
+ function normalizeEvidenceRelationForSignedWeight(relation, weight, context = "Evidence relation") {
6023
+ if (relation === "supports" || relation === "contradicts") {
6024
+ assertEvidenceRelationMatchesSignedWeight(relation, weight, context);
6025
+ return relation;
6026
+ }
6027
+ return evidenceRelationFromSignedWeight(weight);
6028
+ }
5935
6029
 
5936
6030
  // src/function-registry/helpers.ts
5937
6031
  var jsonObjectSchema = z.record(z.unknown());
@@ -6261,4 +6355,4 @@ function assertSurfaceCoverage(contracts) {
6261
6355
  }
6262
6356
  }
6263
6357
 
6264
- export { NODE_TYPE, TOPIC_TYPE_VALUES, WORKTREE_TYPE_VALUES, actingPrincipalId, argsSchemaFromMcpContract, assertSurfaceCoverage, authUserId, classifyContract, compactRecord, defineFunctionContract, generateUuidV7, inputSchemaFromMcpContract, isUuidV7, jsonObjectSchema, recordValue, surfaceContract, surfaceMcpContract, uuidV7StringSchema, withCreatedBy, withCreatedByAndOwnerPrincipal, withUserId };
6358
+ export { NODE_TYPE, TOPIC_TYPE_VALUES, WORKTREE_TYPE_VALUES, actingPrincipalId, argsSchemaFromMcpContract, assertEvidenceSignedWeight, assertSurfaceCoverage, authUserId, classifyContract, compactRecord, defineFunctionContract, generateUuidV7, inputSchemaFromMcpContract, isUuidV7, jsonObjectSchema, normalizeEvidenceRelationForSignedWeight, recordValue, surfaceContract, surfaceMcpContract, uuidV7StringSchema, withCreatedBy, withCreatedByAndOwnerPrincipal, withUserId };
@@ -5904,6 +5904,76 @@ var WORKTREE_TYPE_VALUES = [
5904
5904
  ({
5905
5905
  topic_type: new Set(TOPIC_TYPE_VALUES),
5906
5906
  worktree_type: new Set(WORKTREE_TYPE_VALUES)});
5907
+ var EVIDENCE_RELATION_VALUES = ["supports", "contradicts"];
5908
+ var EVIDENCE_KIND_VALUES = [
5909
+ "fact",
5910
+ "observation",
5911
+ "claim",
5912
+ "quote",
5913
+ "statistic",
5914
+ "signal"
5915
+ ];
5916
+ var EVIDENCE_METHODOLOGY_VALUES = [
5917
+ "primary_research",
5918
+ "expert_interview",
5919
+ "customer_interview",
5920
+ "field_observation",
5921
+ "proprietary_data",
5922
+ "desk_research",
5923
+ "regulatory_filing",
5924
+ "news_article",
5925
+ "academic_paper",
5926
+ "ai_synthesis",
5927
+ "ai_extraction"
5928
+ ];
5929
+ var EVIDENCE_INFORMATION_ASYMMETRY_VALUES = [
5930
+ "proprietary",
5931
+ "early",
5932
+ "common"
5933
+ ];
5934
+ var EVIDENCE_SOURCE_QUALITY_VALUES = [
5935
+ "primary",
5936
+ "analyzed",
5937
+ "secondary",
5938
+ "tertiary",
5939
+ "unknown"
5940
+ ];
5941
+ var EVIDENCE_SOURCE_TYPE_VALUES = [
5942
+ "human",
5943
+ "ai_extracted",
5944
+ "ai_generated",
5945
+ "imported",
5946
+ "system",
5947
+ "verified",
5948
+ "proprietary"
5949
+ ];
5950
+ var EVIDENCE_SCORING_DIMENSIONS = [
5951
+ "signedImpact",
5952
+ "evidenceRelation",
5953
+ "sourceQuality",
5954
+ "methodology",
5955
+ "informationAsymmetry",
5956
+ "sourceRef",
5957
+ "targetBeliefId",
5958
+ "verificationStatus"
5959
+ ];
5960
+ z.enum(EVIDENCE_RELATION_VALUES);
5961
+ z.enum(EVIDENCE_KIND_VALUES);
5962
+ z.enum(EVIDENCE_METHODOLOGY_VALUES);
5963
+ z.enum(
5964
+ EVIDENCE_INFORMATION_ASYMMETRY_VALUES
5965
+ );
5966
+ z.enum(
5967
+ EVIDENCE_SOURCE_QUALITY_VALUES
5968
+ );
5969
+ z.enum(EVIDENCE_SOURCE_TYPE_VALUES);
5970
+ z.enum(
5971
+ EVIDENCE_SCORING_DIMENSIONS
5972
+ );
5973
+
5974
+ // src/schema-helpers/evidenceAdmission.ts
5975
+ new Set(EVIDENCE_KIND_VALUES);
5976
+ new Set(EVIDENCE_SOURCE_TYPE_VALUES);
5907
5977
 
5908
5978
  // src/function-registry/helpers.ts
5909
5979
  var jsonObjectSchema = z.record(z.unknown());
@@ -5904,6 +5904,76 @@ var WORKTREE_TYPE_VALUES = [
5904
5904
  ({
5905
5905
  topic_type: new Set(TOPIC_TYPE_VALUES),
5906
5906
  worktree_type: new Set(WORKTREE_TYPE_VALUES)});
5907
+ var EVIDENCE_RELATION_VALUES = ["supports", "contradicts"];
5908
+ var EVIDENCE_KIND_VALUES = [
5909
+ "fact",
5910
+ "observation",
5911
+ "claim",
5912
+ "quote",
5913
+ "statistic",
5914
+ "signal"
5915
+ ];
5916
+ var EVIDENCE_METHODOLOGY_VALUES = [
5917
+ "primary_research",
5918
+ "expert_interview",
5919
+ "customer_interview",
5920
+ "field_observation",
5921
+ "proprietary_data",
5922
+ "desk_research",
5923
+ "regulatory_filing",
5924
+ "news_article",
5925
+ "academic_paper",
5926
+ "ai_synthesis",
5927
+ "ai_extraction"
5928
+ ];
5929
+ var EVIDENCE_INFORMATION_ASYMMETRY_VALUES = [
5930
+ "proprietary",
5931
+ "early",
5932
+ "common"
5933
+ ];
5934
+ var EVIDENCE_SOURCE_QUALITY_VALUES = [
5935
+ "primary",
5936
+ "analyzed",
5937
+ "secondary",
5938
+ "tertiary",
5939
+ "unknown"
5940
+ ];
5941
+ var EVIDENCE_SOURCE_TYPE_VALUES = [
5942
+ "human",
5943
+ "ai_extracted",
5944
+ "ai_generated",
5945
+ "imported",
5946
+ "system",
5947
+ "verified",
5948
+ "proprietary"
5949
+ ];
5950
+ var EVIDENCE_SCORING_DIMENSIONS = [
5951
+ "signedImpact",
5952
+ "evidenceRelation",
5953
+ "sourceQuality",
5954
+ "methodology",
5955
+ "informationAsymmetry",
5956
+ "sourceRef",
5957
+ "targetBeliefId",
5958
+ "verificationStatus"
5959
+ ];
5960
+ z.enum(EVIDENCE_RELATION_VALUES);
5961
+ z.enum(EVIDENCE_KIND_VALUES);
5962
+ z.enum(EVIDENCE_METHODOLOGY_VALUES);
5963
+ z.enum(
5964
+ EVIDENCE_INFORMATION_ASYMMETRY_VALUES
5965
+ );
5966
+ z.enum(
5967
+ EVIDENCE_SOURCE_QUALITY_VALUES
5968
+ );
5969
+ z.enum(EVIDENCE_SOURCE_TYPE_VALUES);
5970
+ z.enum(
5971
+ EVIDENCE_SCORING_DIMENSIONS
5972
+ );
5973
+
5974
+ // src/schema-helpers/evidenceAdmission.ts
5975
+ new Set(EVIDENCE_KIND_VALUES);
5976
+ new Set(EVIDENCE_SOURCE_TYPE_VALUES);
5907
5977
 
5908
5978
  // src/function-registry/helpers.ts
5909
5979
  var jsonObjectSchema = z.record(z.unknown());
@@ -6018,6 +6018,100 @@ var WORKTREE_TYPE_VALUES = [
6018
6018
  ({
6019
6019
  topic_type: new Set(TOPIC_TYPE_VALUES),
6020
6020
  worktree_type: new Set(WORKTREE_TYPE_VALUES)});
6021
+ var EVIDENCE_RELATION_VALUES = ["supports", "contradicts"];
6022
+ var EVIDENCE_KIND_VALUES = [
6023
+ "fact",
6024
+ "observation",
6025
+ "claim",
6026
+ "quote",
6027
+ "statistic",
6028
+ "signal"
6029
+ ];
6030
+ var EVIDENCE_METHODOLOGY_VALUES = [
6031
+ "primary_research",
6032
+ "expert_interview",
6033
+ "customer_interview",
6034
+ "field_observation",
6035
+ "proprietary_data",
6036
+ "desk_research",
6037
+ "regulatory_filing",
6038
+ "news_article",
6039
+ "academic_paper",
6040
+ "ai_synthesis",
6041
+ "ai_extraction"
6042
+ ];
6043
+ var EVIDENCE_INFORMATION_ASYMMETRY_VALUES = [
6044
+ "proprietary",
6045
+ "early",
6046
+ "common"
6047
+ ];
6048
+ var EVIDENCE_SOURCE_QUALITY_VALUES = [
6049
+ "primary",
6050
+ "analyzed",
6051
+ "secondary",
6052
+ "tertiary",
6053
+ "unknown"
6054
+ ];
6055
+ var EVIDENCE_SOURCE_TYPE_VALUES = [
6056
+ "human",
6057
+ "ai_extracted",
6058
+ "ai_generated",
6059
+ "imported",
6060
+ "system",
6061
+ "verified",
6062
+ "proprietary"
6063
+ ];
6064
+ var EVIDENCE_SCORING_DIMENSIONS = [
6065
+ "signedImpact",
6066
+ "evidenceRelation",
6067
+ "sourceQuality",
6068
+ "methodology",
6069
+ "informationAsymmetry",
6070
+ "sourceRef",
6071
+ "targetBeliefId",
6072
+ "verificationStatus"
6073
+ ];
6074
+ z.enum(EVIDENCE_RELATION_VALUES);
6075
+ z.enum(EVIDENCE_KIND_VALUES);
6076
+ z.enum(EVIDENCE_METHODOLOGY_VALUES);
6077
+ z.enum(
6078
+ EVIDENCE_INFORMATION_ASYMMETRY_VALUES
6079
+ );
6080
+ z.enum(
6081
+ EVIDENCE_SOURCE_QUALITY_VALUES
6082
+ );
6083
+ z.enum(EVIDENCE_SOURCE_TYPE_VALUES);
6084
+ z.enum(
6085
+ EVIDENCE_SCORING_DIMENSIONS
6086
+ );
6087
+
6088
+ // src/schema-helpers/evidenceAdmission.ts
6089
+ new Set(EVIDENCE_KIND_VALUES);
6090
+ new Set(EVIDENCE_SOURCE_TYPE_VALUES);
6091
+ function assertEvidenceSignedWeight(value, context) {
6092
+ if (typeof value !== "number" || !Number.isFinite(value) || value === 0 || value < -1 || value > 1) {
6093
+ throw new Error(`${context} requires explicit nonzero weight in [-1, 1]`);
6094
+ }
6095
+ return value;
6096
+ }
6097
+ function evidenceRelationFromSignedWeight(weight) {
6098
+ return weight < 0 ? "contradicts" : "supports";
6099
+ }
6100
+ function assertEvidenceRelationMatchesSignedWeight(relation, weight, context) {
6101
+ if (relation === "supports" && weight < 0) {
6102
+ throw new Error(`${context} relation supports requires positive weight`);
6103
+ }
6104
+ if (relation === "contradicts" && weight > 0) {
6105
+ throw new Error(`${context} relation contradicts requires negative weight`);
6106
+ }
6107
+ }
6108
+ function normalizeEvidenceRelationForSignedWeight(relation, weight, context = "Evidence relation") {
6109
+ if (relation === "supports" || relation === "contradicts") {
6110
+ assertEvidenceRelationMatchesSignedWeight(relation, weight, context);
6111
+ return relation;
6112
+ }
6113
+ return evidenceRelationFromSignedWeight(weight);
6114
+ }
6021
6115
 
6022
6116
  // src/function-registry/helpers.ts
6023
6117
  var jsonObjectSchema = z.record(z.unknown());
@@ -6381,4 +6475,4 @@ var getFunctionContract = FUNCTION_CONTRACTS_BY_NAME.get.bind(
6381
6475
  FUNCTION_CONTRACTS_BY_NAME
6382
6476
  );
6383
6477
 
6384
- export { ALL_FUNCTION_CONTRACTS, DUPLICATE_OPERATION_NAMES, FORBIDDEN_APPLICATION_OPERATION_NAMES, FUNCTION_CONTRACTS_BY_NAME, FUNCTION_SURFACE_CONTRACTS, LEGACY_COMPAT_OPERATION_NAMES, LUCERN_OPERATION_MANIFEST, MCP_ANALYSIS_PLATFORM_OPERATION_NAMES, MCP_ANALYSIS_TENANT_OPERATION_NAMES, MCP_AUTOMATION_OPERATION_NAMES, MCP_CORE_OPERATION_NAMES, MCP_GOVERNANCE_PLATFORM_OPERATION_NAMES, MCP_GOVERNANCE_TENANT_OPERATION_NAMES, MCP_ONLY_INTERNAL_OPERATION_NAMES, MCP_WORKFLOW_PLATFORM_OPERATION_NAMES, MCP_WORKFLOW_TENANT_OPERATION_NAMES, NODE_TYPE, PLATFORM_INTERNAL_OPERATION_NAMES, PLATFORM_PUBLIC_OPERATION_NAMES, SDK_ONLY_OPERATION_NAMES, TENANT_PUBLIC_OPERATION_NAMES, TOPIC_TYPE_VALUES, WORKTREE_TYPE_VALUES, actingPrincipalId, argsSchemaFromMcpContract, assertSurfaceCoverage, authUserId, classifyContract, compactRecord, defineFunctionContract, generateUuidV7, getFunctionContract, inputSchemaFromMcpContract, isUuidV7, jsonObjectSchema, recordValue, surfaceContract, surfaceEnabled, surfaceIntentGateViolations, surfaceMcpContract, uuidV7StringSchema, withCreatedBy, withCreatedByAndOwnerPrincipal, withUserId };
6478
+ export { ALL_FUNCTION_CONTRACTS, DUPLICATE_OPERATION_NAMES, FORBIDDEN_APPLICATION_OPERATION_NAMES, FUNCTION_CONTRACTS_BY_NAME, FUNCTION_SURFACE_CONTRACTS, LEGACY_COMPAT_OPERATION_NAMES, LUCERN_OPERATION_MANIFEST, MCP_ANALYSIS_PLATFORM_OPERATION_NAMES, MCP_ANALYSIS_TENANT_OPERATION_NAMES, MCP_AUTOMATION_OPERATION_NAMES, MCP_CORE_OPERATION_NAMES, MCP_GOVERNANCE_PLATFORM_OPERATION_NAMES, MCP_GOVERNANCE_TENANT_OPERATION_NAMES, MCP_ONLY_INTERNAL_OPERATION_NAMES, MCP_WORKFLOW_PLATFORM_OPERATION_NAMES, MCP_WORKFLOW_TENANT_OPERATION_NAMES, NODE_TYPE, PLATFORM_INTERNAL_OPERATION_NAMES, PLATFORM_PUBLIC_OPERATION_NAMES, SDK_ONLY_OPERATION_NAMES, TENANT_PUBLIC_OPERATION_NAMES, TOPIC_TYPE_VALUES, WORKTREE_TYPE_VALUES, actingPrincipalId, argsSchemaFromMcpContract, assertEvidenceSignedWeight, assertSurfaceCoverage, authUserId, classifyContract, compactRecord, defineFunctionContract, generateUuidV7, getFunctionContract, inputSchemaFromMcpContract, isUuidV7, jsonObjectSchema, normalizeEvidenceRelationForSignedWeight, recordValue, surfaceContract, surfaceEnabled, surfaceIntentGateViolations, surfaceMcpContract, uuidV7StringSchema, withCreatedBy, withCreatedByAndOwnerPrincipal, withUserId };
@@ -5904,6 +5904,76 @@ var WORKTREE_TYPE_VALUES = [
5904
5904
  ({
5905
5905
  topic_type: new Set(TOPIC_TYPE_VALUES),
5906
5906
  worktree_type: new Set(WORKTREE_TYPE_VALUES)});
5907
+ var EVIDENCE_RELATION_VALUES = ["supports", "contradicts"];
5908
+ var EVIDENCE_KIND_VALUES = [
5909
+ "fact",
5910
+ "observation",
5911
+ "claim",
5912
+ "quote",
5913
+ "statistic",
5914
+ "signal"
5915
+ ];
5916
+ var EVIDENCE_METHODOLOGY_VALUES = [
5917
+ "primary_research",
5918
+ "expert_interview",
5919
+ "customer_interview",
5920
+ "field_observation",
5921
+ "proprietary_data",
5922
+ "desk_research",
5923
+ "regulatory_filing",
5924
+ "news_article",
5925
+ "academic_paper",
5926
+ "ai_synthesis",
5927
+ "ai_extraction"
5928
+ ];
5929
+ var EVIDENCE_INFORMATION_ASYMMETRY_VALUES = [
5930
+ "proprietary",
5931
+ "early",
5932
+ "common"
5933
+ ];
5934
+ var EVIDENCE_SOURCE_QUALITY_VALUES = [
5935
+ "primary",
5936
+ "analyzed",
5937
+ "secondary",
5938
+ "tertiary",
5939
+ "unknown"
5940
+ ];
5941
+ var EVIDENCE_SOURCE_TYPE_VALUES = [
5942
+ "human",
5943
+ "ai_extracted",
5944
+ "ai_generated",
5945
+ "imported",
5946
+ "system",
5947
+ "verified",
5948
+ "proprietary"
5949
+ ];
5950
+ var EVIDENCE_SCORING_DIMENSIONS = [
5951
+ "signedImpact",
5952
+ "evidenceRelation",
5953
+ "sourceQuality",
5954
+ "methodology",
5955
+ "informationAsymmetry",
5956
+ "sourceRef",
5957
+ "targetBeliefId",
5958
+ "verificationStatus"
5959
+ ];
5960
+ z.enum(EVIDENCE_RELATION_VALUES);
5961
+ z.enum(EVIDENCE_KIND_VALUES);
5962
+ z.enum(EVIDENCE_METHODOLOGY_VALUES);
5963
+ z.enum(
5964
+ EVIDENCE_INFORMATION_ASYMMETRY_VALUES
5965
+ );
5966
+ z.enum(
5967
+ EVIDENCE_SOURCE_QUALITY_VALUES
5968
+ );
5969
+ z.enum(EVIDENCE_SOURCE_TYPE_VALUES);
5970
+ z.enum(
5971
+ EVIDENCE_SCORING_DIMENSIONS
5972
+ );
5973
+
5974
+ // src/schema-helpers/evidenceAdmission.ts
5975
+ new Set(EVIDENCE_KIND_VALUES);
5976
+ new Set(EVIDENCE_SOURCE_TYPE_VALUES);
5907
5977
 
5908
5978
  // src/function-registry/helpers.ts
5909
5979
  var jsonObjectSchema = z.record(z.unknown());