@lucern/graph-primitives 1.0.16 → 1.0.17
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/dist/beliefEvidenceLinks.js +144 -99
- package/dist/beliefEvidenceLinks.js.map +1 -1
- package/dist/beliefEvidenceLinks.operational.d.ts +29 -0
- package/dist/beliefEvidenceLinks.operational.js +157 -0
- package/dist/beliefEvidenceLinks.operational.js.map +1 -0
- package/dist/{beliefLifecycle-y8WLXqQj.d.ts → beliefLifecycle-CXwdDw5e.d.ts} +7 -4
- package/dist/beliefLifecycle.d.ts +1 -1
- package/dist/beliefLifecycle.js +75 -18
- package/dist/beliefLifecycle.js.map +1 -1
- package/dist/epistemicBeliefs.admin.js.map +1 -1
- package/dist/epistemicBeliefs.backfills.d.ts +1 -1
- package/dist/epistemicBeliefs.backfills.js +63 -35
- package/dist/epistemicBeliefs.backfills.js.map +1 -1
- package/dist/epistemicBeliefs.confidence.d.ts +1 -1
- package/dist/epistemicBeliefs.confidence.js +70 -41
- package/dist/epistemicBeliefs.confidence.js.map +1 -1
- package/dist/epistemicBeliefs.core.js +957 -566
- package/dist/epistemicBeliefs.core.js.map +1 -1
- package/dist/epistemicBeliefs.d.ts +2 -2
- package/dist/epistemicBeliefs.forkEvidence.d.ts +18 -0
- package/dist/epistemicBeliefs.forkEvidence.js +121 -0
- package/dist/epistemicBeliefs.forkEvidence.js.map +1 -0
- package/dist/epistemicBeliefs.helpers.d.ts +2 -2
- package/dist/epistemicBeliefs.helpers.js +60 -32
- package/dist/epistemicBeliefs.helpers.js.map +1 -1
- package/dist/epistemicBeliefs.internal.js +174 -39
- package/dist/epistemicBeliefs.internal.js.map +1 -1
- package/dist/epistemicBeliefs.js +436 -72
- package/dist/epistemicBeliefs.js.map +1 -1
- package/dist/epistemicBeliefs.lifecycle.d.ts +2 -2
- package/dist/epistemicBeliefs.lifecycle.js +75 -47
- package/dist/epistemicBeliefs.lifecycle.js.map +1 -1
- package/dist/epistemicBeliefs.links.js +46 -1
- package/dist/epistemicBeliefs.links.js.map +1 -1
- package/dist/epistemicBeliefs.topicAnchor.d.ts +29 -0
- package/dist/epistemicBeliefs.topicAnchor.js +105 -0
- package/dist/epistemicBeliefs.topicAnchor.js.map +1 -0
- package/dist/epistemicContracts.evaluators.js +71 -42
- package/dist/epistemicContracts.evaluators.js.map +1 -1
- package/dist/epistemicContracts.handlers.js +71 -42
- package/dist/epistemicContracts.handlers.js.map +1 -1
- package/dist/epistemicContracts.js +71 -42
- package/dist/epistemicContracts.js.map +1 -1
- package/dist/epistemicContracts.metrics.js +1 -1
- package/dist/epistemicContracts.metrics.js.map +1 -1
- package/dist/epistemicContracts.types.d.ts +1 -1
- package/dist/epistemicEdges.helpers.d.ts +1 -1
- package/dist/epistemicEvidence.js +172 -81
- package/dist/epistemicEvidence.js.map +1 -1
- package/dist/epistemicEvidenceMutations.js +172 -81
- package/dist/epistemicEvidenceMutations.js.map +1 -1
- package/dist/epistemicNodes.internal.js.map +1 -1
- package/dist/epistemicNodes.js +2 -2
- package/dist/epistemicNodes.js.map +1 -1
- package/dist/epistemicNodes.mutations.js +2 -2
- package/dist/epistemicNodes.mutations.js.map +1 -1
- package/dist/evaluators/index.js +1 -1
- package/dist/evaluators/index.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +767 -236
- package/dist/index.js.map +1 -1
- package/dist/invariantEnforcement.js +2 -2
- package/dist/invariantEnforcement.js.map +1 -1
- package/dist/proof-attestation.json +3 -3
- package/package.json +4 -4
|
@@ -207,7 +207,7 @@ async function evaluateBuiltInEvidentialContract(args) {
|
|
|
207
207
|
observedValue: snapshot.value,
|
|
208
208
|
operator: config.operator,
|
|
209
209
|
threshold: config.threshold,
|
|
210
|
-
action: config.action ?? "
|
|
210
|
+
action: config.action ?? "append_sl_scoring",
|
|
211
211
|
actionParams: config.actionParams
|
|
212
212
|
}
|
|
213
213
|
};
|
|
@@ -432,18 +432,32 @@ var METRIC_COMPARATOR_EVALUATOR_NAMES = {
|
|
|
432
432
|
var BELIEF_STATUS_VALUES = [
|
|
433
433
|
"assumption",
|
|
434
434
|
"hypothesis",
|
|
435
|
-
"
|
|
436
|
-
"
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
"confirmed",
|
|
440
|
-
"disconfirmed",
|
|
441
|
-
"partial",
|
|
442
|
-
"expired"
|
|
435
|
+
"active",
|
|
436
|
+
"superseded",
|
|
437
|
+
"resolved_true",
|
|
438
|
+
"resolved_false"
|
|
443
439
|
];
|
|
444
440
|
function isBeliefLifecycleStatus(value) {
|
|
445
441
|
return typeof value === "string" && BELIEF_STATUS_VALUES.includes(value);
|
|
446
442
|
}
|
|
443
|
+
function normalizeLegacyBeliefStatus(value) {
|
|
444
|
+
if (isBeliefLifecycleStatus(value)) {
|
|
445
|
+
return value;
|
|
446
|
+
}
|
|
447
|
+
if (value === "belief" || value === "established" || value === "emerging") {
|
|
448
|
+
return "active";
|
|
449
|
+
}
|
|
450
|
+
if (value === "fact" || value === "confirmed") {
|
|
451
|
+
return "resolved_true";
|
|
452
|
+
}
|
|
453
|
+
if (value === "disconfirmed" || value === "expired") {
|
|
454
|
+
return "resolved_false";
|
|
455
|
+
}
|
|
456
|
+
if (value === "deprecated") {
|
|
457
|
+
return "superseded";
|
|
458
|
+
}
|
|
459
|
+
return null;
|
|
460
|
+
}
|
|
447
461
|
function normalizeBeliefConfidence(confidence) {
|
|
448
462
|
if (typeof confidence !== "number" || !Number.isFinite(confidence)) {
|
|
449
463
|
return null;
|
|
@@ -463,47 +477,61 @@ function isResolvedByConfidence(confidence) {
|
|
|
463
477
|
}
|
|
464
478
|
return normalized <= 0 || normalized >= 1;
|
|
465
479
|
}
|
|
466
|
-
function
|
|
480
|
+
function getPredictionMetaFromMetadata(metadata) {
|
|
481
|
+
return metadata?.predictionMeta;
|
|
482
|
+
}
|
|
483
|
+
function resolvedPredictionStatus(predictionMeta) {
|
|
467
484
|
if (!predictionMeta || typeof predictionMeta !== "object") {
|
|
468
|
-
return
|
|
485
|
+
return null;
|
|
469
486
|
}
|
|
470
487
|
const outcome = predictionMeta.outcome;
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
488
|
+
if (outcome === "confirmed") {
|
|
489
|
+
return "resolved_true";
|
|
490
|
+
}
|
|
491
|
+
if (outcome === "disconfirmed" || outcome === "expired") {
|
|
492
|
+
return "resolved_false";
|
|
493
|
+
}
|
|
494
|
+
return null;
|
|
475
495
|
}
|
|
476
|
-
function
|
|
496
|
+
function shouldTreatBeliefAsResolved(opts) {
|
|
477
497
|
if (isResolvedByConfidence(opts.confidence)) {
|
|
478
|
-
|
|
498
|
+
const normalized = normalizeBeliefConfidence(opts.confidence);
|
|
499
|
+
return normalized === 0 ? "resolved_false" : "resolved_true";
|
|
479
500
|
}
|
|
480
|
-
|
|
481
|
-
|
|
501
|
+
const directPredictionStatus = resolvedPredictionStatus(opts.predictionMeta);
|
|
502
|
+
if (directPredictionStatus) {
|
|
503
|
+
return directPredictionStatus;
|
|
482
504
|
}
|
|
483
|
-
|
|
484
|
-
|
|
505
|
+
const metadataPredictionStatus = resolvedPredictionStatus(
|
|
506
|
+
getPredictionMetaFromMetadata(opts.metadata)
|
|
507
|
+
);
|
|
508
|
+
if (metadataPredictionStatus) {
|
|
509
|
+
return metadataPredictionStatus;
|
|
485
510
|
}
|
|
486
|
-
return
|
|
511
|
+
return null;
|
|
487
512
|
}
|
|
488
513
|
function resolveBeliefLifecycleStatus(opts) {
|
|
489
|
-
|
|
490
|
-
|
|
514
|
+
const resolvedStatus = shouldTreatBeliefAsResolved(opts);
|
|
515
|
+
if (resolvedStatus) {
|
|
516
|
+
return resolvedStatus;
|
|
491
517
|
}
|
|
492
518
|
const direct = opts.beliefStatus;
|
|
493
|
-
|
|
519
|
+
const normalizedDirect = normalizeLegacyBeliefStatus(direct);
|
|
520
|
+
if (normalizedDirect) {
|
|
494
521
|
const normalized = normalizeBeliefConfidence(opts.confidence);
|
|
495
|
-
if (normalized !== null && isPreValidationBeliefStatus(
|
|
496
|
-
return "
|
|
522
|
+
if (normalized !== null && isPreValidationBeliefStatus(normalizedDirect)) {
|
|
523
|
+
return "active";
|
|
497
524
|
}
|
|
498
|
-
return
|
|
525
|
+
return normalizedDirect;
|
|
499
526
|
}
|
|
500
527
|
const metaStatus = opts.metadata?.beliefStatus;
|
|
501
|
-
|
|
528
|
+
const normalizedMetaStatus = normalizeLegacyBeliefStatus(metaStatus);
|
|
529
|
+
if (normalizedMetaStatus) {
|
|
502
530
|
const normalized = normalizeBeliefConfidence(opts.confidence);
|
|
503
|
-
if (normalized !== null && isPreValidationBeliefStatus(
|
|
504
|
-
return "
|
|
531
|
+
if (normalized !== null && isPreValidationBeliefStatus(normalizedMetaStatus)) {
|
|
532
|
+
return "active";
|
|
505
533
|
}
|
|
506
|
-
return
|
|
534
|
+
return normalizedMetaStatus;
|
|
507
535
|
}
|
|
508
536
|
return "assumption";
|
|
509
537
|
}
|
|
@@ -511,13 +539,14 @@ function isPreValidationBeliefStatus(status) {
|
|
|
511
539
|
return status === "assumption" || status === "hypothesis";
|
|
512
540
|
}
|
|
513
541
|
function promoteBeliefStatusAfterScoring(status, opts) {
|
|
514
|
-
|
|
515
|
-
|
|
542
|
+
const resolvedStatus = shouldTreatBeliefAsResolved({ ...opts });
|
|
543
|
+
if (resolvedStatus) {
|
|
544
|
+
return resolvedStatus;
|
|
516
545
|
}
|
|
517
546
|
if (isPreValidationBeliefStatus(status)) {
|
|
518
|
-
return "
|
|
547
|
+
return "active";
|
|
519
548
|
}
|
|
520
|
-
return status
|
|
549
|
+
return status;
|
|
521
550
|
}
|
|
522
551
|
var api = anyApi;
|
|
523
552
|
componentsGeneric();
|
|
@@ -874,7 +903,7 @@ function buildBeliefConfidenceRow(args) {
|
|
|
874
903
|
disbelief: args.disbelief,
|
|
875
904
|
uncertainty: args.uncertainty,
|
|
876
905
|
baseRate: args.baseRate,
|
|
877
|
-
slOperator: args.slOperator ?? "
|
|
906
|
+
slOperator: args.slOperator ?? "prior_seed",
|
|
878
907
|
trigger: args.trigger,
|
|
879
908
|
...args.rationale ? { rationale: args.rationale } : {},
|
|
880
909
|
assessedBy: args.assessedBy,
|
|
@@ -1401,17 +1430,17 @@ async function applyBeliefConfidenceChange(ctx, args) {
|
|
|
1401
1430
|
status: 404,
|
|
1402
1431
|
code: "NOT_FOUND",
|
|
1403
1432
|
invariantCode: "belief.exists",
|
|
1404
|
-
suggestion: "Verify nodeId points to an existing node before
|
|
1433
|
+
suggestion: "Verify nodeId points to an existing node before appending SL scoring.",
|
|
1405
1434
|
details: { nodeId: args.nodeId }
|
|
1406
1435
|
});
|
|
1407
1436
|
}
|
|
1408
1437
|
if (node.nodeType !== "belief") {
|
|
1409
1438
|
throwStructuredMutationError({
|
|
1410
|
-
message: `
|
|
1439
|
+
message: `appendSlScoring only applies to belief nodes. Received nodeType "${node.nodeType}". Entity nodes (company, person, investor, etc.) do not have confidence \u2014 use entityLifecycle.updateEntityAttributes for mutable entity data.`,
|
|
1411
1440
|
status: 400,
|
|
1412
1441
|
code: "INVALID_ARGUMENT",
|
|
1413
1442
|
invariantCode: "entity.no_confidence",
|
|
1414
|
-
suggestion: "Use entityLifecycle.updateEntityAttributes for entity mutations.
|
|
1443
|
+
suggestion: "Use entityLifecycle.updateEntityAttributes for entity mutations. appendSlScoring is for belief nodes only.",
|
|
1415
1444
|
details: { nodeId: args.nodeId, nodeType: node.nodeType }
|
|
1416
1445
|
});
|
|
1417
1446
|
}
|
|
@@ -1421,7 +1450,7 @@ async function applyBeliefConfidenceChange(ctx, args) {
|
|
|
1421
1450
|
status: 400,
|
|
1422
1451
|
code: "MISSING_SCOPE",
|
|
1423
1452
|
invariantCode: "belief.project_required",
|
|
1424
|
-
suggestion: "Belief must have a projectId
|
|
1453
|
+
suggestion: "Belief must have a projectId before SL scoring can be appended.",
|
|
1425
1454
|
details: { nodeId: args.nodeId }
|
|
1426
1455
|
});
|
|
1427
1456
|
}
|
|
@@ -1444,7 +1473,7 @@ async function applyBeliefConfidenceChange(ctx, args) {
|
|
|
1444
1473
|
status: 409,
|
|
1445
1474
|
code: "CONFLICT",
|
|
1446
1475
|
invariantCode: "belief.confidence_append_only",
|
|
1447
|
-
suggestion: "Complete a worktree linked to this belief before recording
|
|
1476
|
+
suggestion: "Complete a worktree linked to this belief before recording SL scoring.",
|
|
1448
1477
|
details: { nodeId: args.nodeId }
|
|
1449
1478
|
});
|
|
1450
1479
|
}
|