@principles/core 1.284.16 → 1.284.18
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/runtime-v2/__tests__/adversarial-loop.test.js +8 -1
- package/dist/runtime-v2/__tests__/adversarial-loop.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js +101 -14
- package/dist/runtime-v2/__tests__/artificer-runner-vslice.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/evidence-sanitizer.test.js +113 -1
- package/dist/runtime-v2/__tests__/evidence-sanitizer.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/pain-to-principle-service.test.js +0 -1
- package/dist/runtime-v2/__tests__/pain-to-principle-service.test.js.map +1 -1
- package/dist/runtime-v2/__tests__/scribe-runner-vslice.test.js +211 -0
- package/dist/runtime-v2/__tests__/scribe-runner-vslice.test.js.map +1 -1
- package/dist/runtime-v2/activation/writers/rule-host-writer.d.ts.map +1 -1
- package/dist/runtime-v2/activation/writers/rule-host-writer.js +15 -1
- package/dist/runtime-v2/activation/writers/rule-host-writer.js.map +1 -1
- package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter-message-file.test.js +23 -1
- package/dist/runtime-v2/adapter/__tests__/openclaw-cli-runtime-adapter-message-file.test.js.map +1 -1
- package/dist/runtime-v2/adapter/__tests__/principle-tree-ledger-adapter.test.js +25 -0
- package/dist/runtime-v2/adapter/__tests__/principle-tree-ledger-adapter.test.js.map +1 -1
- package/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter-semantic.test.js +18 -4
- package/dist/runtime-v2/adapter/__tests__/schema-prompt-adapter-semantic.test.js.map +1 -1
- package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.d.ts.map +1 -1
- package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.js +38 -7
- package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.js.map +1 -1
- package/dist/runtime-v2/adapter/output-schema-registry.d.ts.map +1 -1
- package/dist/runtime-v2/adapter/output-schema-registry.js +0 -2
- package/dist/runtime-v2/adapter/output-schema-registry.js.map +1 -1
- package/dist/runtime-v2/adapter/principle-tree-ledger-adapter.d.ts +16 -0
- package/dist/runtime-v2/adapter/principle-tree-ledger-adapter.d.ts.map +1 -1
- package/dist/runtime-v2/adapter/principle-tree-ledger-adapter.js +22 -0
- package/dist/runtime-v2/adapter/principle-tree-ledger-adapter.js.map +1 -1
- package/dist/runtime-v2/adversarial-loop.d.ts.map +1 -1
- package/dist/runtime-v2/adversarial-loop.js +14 -1
- package/dist/runtime-v2/adversarial-loop.js.map +1 -1
- package/dist/runtime-v2/agent-spec.d.ts +0 -1
- package/dist/runtime-v2/agent-spec.d.ts.map +1 -1
- package/dist/runtime-v2/agent-spec.js +3 -1
- package/dist/runtime-v2/agent-spec.js.map +1 -1
- package/dist/runtime-v2/config/__tests__/internal-agent-names.test.js +3 -1
- package/dist/runtime-v2/config/__tests__/internal-agent-names.test.js.map +1 -1
- package/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js +0 -7
- package/dist/runtime-v2/config/__tests__/pd-config-agent-binding.test.js.map +1 -1
- package/dist/runtime-v2/config/__tests__/pd-config-context-injection.test.js +0 -1
- package/dist/runtime-v2/config/__tests__/pd-config-context-injection.test.js.map +1 -1
- package/dist/runtime-v2/config/__tests__/pd-config-contract.test.js +0 -1
- package/dist/runtime-v2/config/__tests__/pd-config-contract.test.js.map +1 -1
- package/dist/runtime-v2/config/__tests__/pd-config-principles.test.js +0 -1
- package/dist/runtime-v2/config/__tests__/pd-config-principles.test.js.map +1 -1
- package/dist/runtime-v2/config/__tests__/pd-config-reasoning.test.js +0 -1
- package/dist/runtime-v2/config/__tests__/pd-config-reasoning.test.js.map +1 -1
- package/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js +0 -1
- package/dist/runtime-v2/config/__tests__/pd-config-redaction-deep.test.js.map +1 -1
- package/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js +61 -1
- package/dist/runtime-v2/config/__tests__/pd-config-validation-edge-cases.test.js.map +1 -1
- package/dist/runtime-v2/config/pd-config-defaults.d.ts.map +1 -1
- package/dist/runtime-v2/config/pd-config-defaults.js +0 -1
- package/dist/runtime-v2/config/pd-config-defaults.js.map +1 -1
- package/dist/runtime-v2/config/pd-config-types.d.ts +1 -1
- package/dist/runtime-v2/config/pd-config-types.d.ts.map +1 -1
- package/dist/runtime-v2/config/pd-config-types.js +0 -1
- package/dist/runtime-v2/config/pd-config-types.js.map +1 -1
- package/dist/runtime-v2/config/pd-config-validate.d.ts.map +1 -1
- package/dist/runtime-v2/config/pd-config-validate.js +20 -1
- package/dist/runtime-v2/config/pd-config-validate.js.map +1 -1
- package/dist/runtime-v2/evidence-sanitizer.d.ts +17 -2
- package/dist/runtime-v2/evidence-sanitizer.d.ts.map +1 -1
- package/dist/runtime-v2/evidence-sanitizer.js +80 -11
- package/dist/runtime-v2/evidence-sanitizer.js.map +1 -1
- package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +3 -3
- package/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-contract.js +11 -40
- package/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.d.ts.map +1 -1
- package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js +6 -40
- package/dist/runtime-v2/feature-flags/feature-flag-lifecycle.js.map +1 -1
- package/dist/runtime-v2/index.d.ts +9 -6
- package/dist/runtime-v2/index.d.ts.map +1 -1
- package/dist/runtime-v2/index.js +12 -5
- package/dist/runtime-v2/index.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js +49 -0
- package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder-v2.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js +64 -29
- package/dist/runtime-v2/internalization/__tests__/artificer-prompt-builder.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js +0 -1
- package/dist/runtime-v2/internalization/__tests__/diag-chain-e2e.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.js +2 -2
- package/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.js +2 -13
- package/dist/runtime-v2/internalization/__tests__/evaluator-artificer-repair-replay.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.js +1 -5
- package/dist/runtime-v2/internalization/__tests__/evaluator-chinese-feedback-contract.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/evaluator-gate-authority.test.js +5 -13
- package/dist/runtime-v2/internalization/__tests__/evaluator-gate-authority.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/evaluator-out-of-scope-governance.test.js +1 -5
- package/dist/runtime-v2/internalization/__tests__/evaluator-out-of-scope-governance.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.js +1 -1
- package/dist/runtime-v2/internalization/__tests__/external-review-p0-regressions.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/formation-context.test.d.ts +2 -0
- package/dist/runtime-v2/internalization/__tests__/formation-context.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/formation-context.test.js +428 -0
- package/dist/runtime-v2/internalization/__tests__/formation-context.test.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/scribe-prompt-builder.test.js +97 -0
- package/dist/runtime-v2/internalization/__tests__/scribe-prompt-builder.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/split-diagnostician-runner-retry.test.js +61 -0
- package/dist/runtime-v2/internalization/__tests__/split-diagnostician-runner-retry.test.js.map +1 -1
- package/dist/runtime-v2/internalization/artifact-summary.d.ts +11 -0
- package/dist/runtime-v2/internalization/artifact-summary.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/artifact-summary.js.map +1 -1
- package/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts +67 -15
- package/dist/runtime-v2/internalization/artificer-prompt-builder.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/artificer-prompt-builder.js +119 -4
- package/dist/runtime-v2/internalization/artificer-prompt-builder.js.map +1 -1
- package/dist/runtime-v2/internalization/artificer-runner.d.ts +12 -0
- package/dist/runtime-v2/internalization/artificer-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/artificer-runner.js +102 -158
- package/dist/runtime-v2/internalization/artificer-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/diag-distiller-runner.d.ts +1 -1
- package/dist/runtime-v2/internalization/diag-distiller-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/diag-distiller-runner.js +2 -19
- package/dist/runtime-v2/internalization/diag-distiller-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/diag-rootcause-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/diag-rootcause-runner.js +1 -5
- package/dist/runtime-v2/internalization/diag-rootcause-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/diag-router-runner.d.ts +1 -1
- package/dist/runtime-v2/internalization/diag-router-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/diag-router-runner.js +9 -32
- package/dist/runtime-v2/internalization/diag-router-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/dreamer-runner.d.ts +1 -9
- package/dist/runtime-v2/internalization/dreamer-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/dreamer-runner.js +4 -35
- package/dist/runtime-v2/internalization/dreamer-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-runner.d.ts +3 -54
- package/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-runner.js +37 -230
- package/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/formation-context.d.ts +208 -0
- package/dist/runtime-v2/internalization/formation-context.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/formation-context.js +621 -0
- package/dist/runtime-v2/internalization/formation-context.js.map +1 -0
- package/dist/runtime-v2/internalization/index.d.ts +0 -2
- package/dist/runtime-v2/internalization/index.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/index.js +0 -2
- package/dist/runtime-v2/internalization/index.js.map +1 -1
- package/dist/runtime-v2/internalization/philosopher-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/philosopher-runner.js +1 -25
- package/dist/runtime-v2/internalization/philosopher-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/refiner-sandbox-wrapper.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js +25 -1
- package/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js.map +1 -1
- package/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts +53 -1
- package/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/scribe-prompt-builder.js +65 -3
- package/dist/runtime-v2/internalization/scribe-prompt-builder.js.map +1 -1
- package/dist/runtime-v2/internalization/scribe-runner.d.ts +17 -0
- package/dist/runtime-v2/internalization/scribe-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/scribe-runner.js +58 -40
- package/dist/runtime-v2/internalization/scribe-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/split-diagnostician-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/split-diagnostician-runner.js +13 -2
- package/dist/runtime-v2/internalization/split-diagnostician-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/v2-adversarial-cases.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/v2-adversarial-cases.js +25 -2
- package/dist/runtime-v2/internalization/v2-adversarial-cases.js.map +1 -1
- package/dist/runtime-v2/observer/__tests__/agent-scheduler.test.js +31 -21
- package/dist/runtime-v2/observer/__tests__/agent-scheduler.test.js.map +1 -1
- package/dist/runtime-v2/observer/agent-scheduler.d.ts +0 -5
- package/dist/runtime-v2/observer/agent-scheduler.d.ts.map +1 -1
- package/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.d.ts +2 -0
- package/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.d.ts.map +1 -0
- package/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.js +559 -0
- package/dist/runtime-v2/owner-decision/__tests__/owner-decision-view.test.js.map +1 -0
- package/dist/runtime-v2/owner-decision/owner-decision-view-contract.d.ts +7868 -0
- package/dist/runtime-v2/owner-decision/owner-decision-view-contract.d.ts.map +1 -0
- package/dist/runtime-v2/owner-decision/owner-decision-view-contract.js +367 -0
- package/dist/runtime-v2/owner-decision/owner-decision-view-contract.js.map +1 -0
- package/dist/runtime-v2/owner-decision/owner-decision-view.d.ts +415 -0
- package/dist/runtime-v2/owner-decision/owner-decision-view.d.ts.map +1 -0
- package/dist/runtime-v2/owner-decision/owner-decision-view.js +856 -0
- package/dist/runtime-v2/owner-decision/owner-decision-view.js.map +1 -0
- package/dist/runtime-v2/owner-decision/semantic-selector.d.ts +72 -0
- package/dist/runtime-v2/owner-decision/semantic-selector.d.ts.map +1 -0
- package/dist/runtime-v2/owner-decision/semantic-selector.js +176 -0
- package/dist/runtime-v2/owner-decision/semantic-selector.js.map +1 -0
- package/dist/runtime-v2/runner/base-peer-runner.d.ts +0 -125
- package/dist/runtime-v2/runner/base-peer-runner.d.ts.map +1 -1
- package/dist/runtime-v2/runner/base-peer-runner.js +0 -323
- package/dist/runtime-v2/runner/base-peer-runner.js.map +1 -1
- package/dist/runtime-v2/runner/peer-runner-types.d.ts +0 -12
- package/dist/runtime-v2/runner/peer-runner-types.d.ts.map +1 -1
- package/dist/runtime-v2/signal-collector/types.d.ts +0 -12
- package/dist/runtime-v2/signal-collector/types.d.ts.map +1 -1
- package/dist/runtime-v2/signal-collector/types.js.map +1 -1
- package/dist/runtime-v2/tools/artificer-l2-tool-contract.d.ts.map +1 -1
- package/dist/runtime-v2/tools/artificer-l2-tool-contract.js +10 -0
- package/dist/runtime-v2/tools/artificer-l2-tool-contract.js.map +1 -1
- package/dist/runtime-v2/types/event-types.d.ts +9 -0
- package/dist/runtime-v2/types/event-types.d.ts.map +1 -1
- package/dist/runtime-v2/types/event-types.js +12 -0
- package/dist/runtime-v2/types/event-types.js.map +1 -1
- package/dist/telemetry-event.d.ts +2 -2
- package/dist/telemetry-event.d.ts.map +1 -1
- package/dist/telemetry-event.js +7 -84
- package/dist/telemetry-event.js.map +1 -1
- package/package.json +1 -1
- package/dist/runtime-v2/feature-flags/__tests__/artifact-summary-redundancy-flag.test.d.ts +0 -15
- package/dist/runtime-v2/feature-flags/__tests__/artifact-summary-redundancy-flag.test.d.ts.map +0 -1
- package/dist/runtime-v2/feature-flags/__tests__/artifact-summary-redundancy-flag.test.js +0 -90
- package/dist/runtime-v2/feature-flags/__tests__/artifact-summary-redundancy-flag.test.js.map +0 -1
- package/dist/runtime-v2/feature-flags/__tests__/context-manifest-budget-flag.test.d.ts +0 -12
- package/dist/runtime-v2/feature-flags/__tests__/context-manifest-budget-flag.test.d.ts.map +0 -1
- package/dist/runtime-v2/feature-flags/__tests__/context-manifest-budget-flag.test.js +0 -117
- package/dist/runtime-v2/feature-flags/__tests__/context-manifest-budget-flag.test.js.map +0 -1
- package/dist/runtime-v2/feature-flags/__tests__/progressive-evaluator-flag.test.d.ts +0 -8
- package/dist/runtime-v2/feature-flags/__tests__/progressive-evaluator-flag.test.d.ts.map +0 -1
- package/dist/runtime-v2/feature-flags/__tests__/progressive-evaluator-flag.test.js +0 -56
- package/dist/runtime-v2/feature-flags/__tests__/progressive-evaluator-flag.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/candidate-lineage.pri717.test.d.ts +0 -26
- package/dist/runtime-v2/internalization/__tests__/candidate-lineage.pri717.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/candidate-lineage.pri717.test.js +0 -420
- package/dist/runtime-v2/internalization/__tests__/candidate-lineage.pri717.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/candidate-lineage.property.test.d.ts +0 -15
- package/dist/runtime-v2/internalization/__tests__/candidate-lineage.property.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/candidate-lineage.property.test.js +0 -306
- package/dist/runtime-v2/internalization/__tests__/candidate-lineage.property.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/context-manifest.property.test.d.ts +0 -12
- package/dist/runtime-v2/internalization/__tests__/context-manifest.property.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/context-manifest.property.test.js +0 -176
- package/dist/runtime-v2/internalization/__tests__/context-manifest.property.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/context-resolution.test.d.ts +0 -2
- package/dist/runtime-v2/internalization/__tests__/context-resolution.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/context-resolution.test.js +0 -377
- package/dist/runtime-v2/internalization/__tests__/context-resolution.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-scope-regression.test.d.ts +0 -22
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-scope-regression.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-scope-regression.test.js +0 -92
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-scope-regression.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike.test.d.ts +0 -2
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike.test.js +0 -1039
- package/dist/runtime-v2/internalization/__tests__/progressive-disclosure-spike.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/progressive-evaluator-stage-isolation.property.test.d.ts +0 -13
- package/dist/runtime-v2/internalization/__tests__/progressive-evaluator-stage-isolation.property.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/progressive-evaluator-stage-isolation.property.test.js +0 -257
- package/dist/runtime-v2/internalization/__tests__/progressive-evaluator-stage-isolation.property.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/progressive-evaluator.property.test.d.ts +0 -11
- package/dist/runtime-v2/internalization/__tests__/progressive-evaluator.property.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/progressive-evaluator.property.test.js +0 -154
- package/dist/runtime-v2/internalization/__tests__/progressive-evaluator.property.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/prompt-budget-manager.property.test.d.ts +0 -12
- package/dist/runtime-v2/internalization/__tests__/prompt-budget-manager.property.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/prompt-budget-manager.property.test.js +0 -254
- package/dist/runtime-v2/internalization/__tests__/prompt-budget-manager.property.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/resolve-injection.property.test.d.ts +0 -15
- package/dist/runtime-v2/internalization/__tests__/resolve-injection.property.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/resolve-injection.property.test.js +0 -150
- package/dist/runtime-v2/internalization/__tests__/resolve-injection.property.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.d.ts +0 -2
- package/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js +0 -773
- package/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/summary-chain-flow.property.test.d.ts +0 -22
- package/dist/runtime-v2/internalization/__tests__/summary-chain-flow.property.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/summary-chain-flow.property.test.js +0 -280
- package/dist/runtime-v2/internalization/__tests__/summary-chain-flow.property.test.js.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/summary-envelope-writer.property.test.d.ts +0 -25
- package/dist/runtime-v2/internalization/__tests__/summary-envelope-writer.property.test.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/__tests__/summary-envelope-writer.property.test.js +0 -413
- package/dist/runtime-v2/internalization/__tests__/summary-envelope-writer.property.test.js.map +0 -1
- package/dist/runtime-v2/internalization/attach-summary-envelope.d.ts +0 -60
- package/dist/runtime-v2/internalization/attach-summary-envelope.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/attach-summary-envelope.js +0 -126
- package/dist/runtime-v2/internalization/attach-summary-envelope.js.map +0 -1
- package/dist/runtime-v2/internalization/candidate-lineage.d.ts +0 -185
- package/dist/runtime-v2/internalization/candidate-lineage.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/candidate-lineage.js +0 -357
- package/dist/runtime-v2/internalization/candidate-lineage.js.map +0 -1
- package/dist/runtime-v2/internalization/context-manifest.d.ts +0 -117
- package/dist/runtime-v2/internalization/context-manifest.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/context-manifest.js +0 -156
- package/dist/runtime-v2/internalization/context-manifest.js.map +0 -1
- package/dist/runtime-v2/internalization/context-manifests.d.ts +0 -148
- package/dist/runtime-v2/internalization/context-manifests.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/context-manifests.js +0 -323
- package/dist/runtime-v2/internalization/context-manifests.js.map +0 -1
- package/dist/runtime-v2/internalization/context-resolution.d.ts +0 -189
- package/dist/runtime-v2/internalization/context-resolution.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/context-resolution.js +0 -317
- package/dist/runtime-v2/internalization/context-resolution.js.map +0 -1
- package/dist/runtime-v2/internalization/progressive-evaluator.d.ts +0 -115
- package/dist/runtime-v2/internalization/progressive-evaluator.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/progressive-evaluator.js +0 -248
- package/dist/runtime-v2/internalization/progressive-evaluator.js.map +0 -1
- package/dist/runtime-v2/internalization/prompt-budget-manager.d.ts +0 -90
- package/dist/runtime-v2/internalization/prompt-budget-manager.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/prompt-budget-manager.js +0 -149
- package/dist/runtime-v2/internalization/prompt-budget-manager.js.map +0 -1
- package/dist/runtime-v2/internalization/resolve-injection.d.ts +0 -62
- package/dist/runtime-v2/internalization/resolve-injection.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/resolve-injection.js +0 -78
- package/dist/runtime-v2/internalization/resolve-injection.js.map +0 -1
- package/dist/runtime-v2/internalization/summary-field-reader.d.ts +0 -38
- package/dist/runtime-v2/internalization/summary-field-reader.d.ts.map +0 -1
- package/dist/runtime-v2/internalization/summary-field-reader.js +0 -108
- package/dist/runtime-v2/internalization/summary-field-reader.js.map +0 -1
- package/dist/runtime-v2/observer/__tests__/empathy-observer.real-e2e.test.d.ts +0 -2
- package/dist/runtime-v2/observer/__tests__/empathy-observer.real-e2e.test.d.ts.map +0 -1
- package/dist/runtime-v2/observer/__tests__/empathy-observer.real-e2e.test.js +0 -74
- package/dist/runtime-v2/observer/__tests__/empathy-observer.real-e2e.test.js.map +0 -1
- package/dist/runtime-v2/observer/__tests__/empathy-observer.test.d.ts +0 -2
- package/dist/runtime-v2/observer/__tests__/empathy-observer.test.d.ts.map +0 -1
- package/dist/runtime-v2/observer/__tests__/empathy-observer.test.js +0 -85
- package/dist/runtime-v2/observer/__tests__/empathy-observer.test.js.map +0 -1
- package/dist/runtime-v2/observer/empathy-observer.d.ts +0 -41
- package/dist/runtime-v2/observer/empathy-observer.d.ts.map +0 -1
- package/dist/runtime-v2/observer/empathy-observer.js +0 -104
- package/dist/runtime-v2/observer/empathy-observer.js.map +0 -1
|
@@ -0,0 +1,621 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Formation Context — bounded projection of ALREADY-PERSISTED formation
|
|
3
|
+
* evidence into a peer runner's prompt payload (PRI-838 / PRI-839).
|
|
4
|
+
*
|
|
5
|
+
* PRI-835 (Formation Context Connectivity Audit) established the gap this
|
|
6
|
+
* module closes: the identifiers that link a formation back to its evidence —
|
|
7
|
+
* `scribe.sourceTrace.dreamerArtifactId`, the dreamer artifact's
|
|
8
|
+
* `lineageArtifactIds` — are ALREADY persisted and ALREADY reach the runner.
|
|
9
|
+
* They were simply never resolved into prompt *content*.
|
|
10
|
+
*
|
|
11
|
+
* ⇒ This is a CONNECTION fix, not a capability addition:
|
|
12
|
+
* no new artifact kind, no new storage, no new authority, no feature flag,
|
|
13
|
+
* no change to any output schema or validator.
|
|
14
|
+
*
|
|
15
|
+
* `ArtifactSummary / deriveArtifactSummary` (artifact-summary.ts) is the only
|
|
16
|
+
* bounded-projection implementation that survived PRI-819 R-06 in this layer,
|
|
17
|
+
* and this module deliberately mirrors its contracts rather than inventing a
|
|
18
|
+
* second idiom:
|
|
19
|
+
* - pure projection over structured output that is already persisted;
|
|
20
|
+
* - untrusted JSON is read with `Object.hasOwn` + `typeof` / `Array.isArray`
|
|
21
|
+
* guards — never an `as` cast (rc-1 / rc-2 / rc-5 / ERR-013);
|
|
22
|
+
* - every emitted value is clamped, and every value dropped by the bound is
|
|
23
|
+
* accounted for in `truncationNotes` or `omittedFields` (rc-9 — degradation
|
|
24
|
+
* must be observable, never silent);
|
|
25
|
+
* - deterministic: identical input yields byte-identical output.
|
|
26
|
+
*
|
|
27
|
+
* Deliberately NOT restored: the retired PRI-634 Layer 0/1/2 plane
|
|
28
|
+
* (`ContextManifest` / `PromptBudgetManager` / `CandidateLineage`). PRI-819 R-06
|
|
29
|
+
* removed it for never graduating, and PRI-835 explicitly rules out reviving
|
|
30
|
+
* it. The budget below is a small, local, explicit cap — not a budget manager.
|
|
31
|
+
*
|
|
32
|
+
* Consumers (2, materially different → not a speculative seam):
|
|
33
|
+
* - Scribe (PRI-838): dreamer proposals + source diagnosis + provenance;
|
|
34
|
+
* - Artificer(PRI-839): bounded, priority-ranked candidate set + differences.
|
|
35
|
+
*
|
|
36
|
+
* @see docs/audit/PRI-835-formation-context-connectivity-audit.md (§DC-1, §DC-3, §6.1 C1/C2)
|
|
37
|
+
*/
|
|
38
|
+
// ── Budget contract ──────────────────────────────────────────────────────────
|
|
39
|
+
export const FORMATION_CONTEXT_VERSION = 'formation-context.v1';
|
|
40
|
+
/** `DreamerOutputV1Schema` allows 1..5 candidates — the bound matches the schema. */
|
|
41
|
+
export const FORMATION_CANDIDATE_LIMIT = 5;
|
|
42
|
+
/** Per-field clamp. Mirrors `SUMMARY_FIELD_MAX_CHARS` (artifact-summary.ts). */
|
|
43
|
+
export const FORMATION_FIELD_MAX_CHARS = 400;
|
|
44
|
+
export const FORMATION_DIAGNOSIS_EVIDENCE_LIMIT = 8;
|
|
45
|
+
export const FORMATION_DIAGNOSIS_VIOLATED_LIMIT = 8;
|
|
46
|
+
export const FORMATION_DIAGNOSIS_RECOMMENDATION_LIMIT = 5;
|
|
47
|
+
export const FORMATION_DREAMER_CONTEXT_REF_LIMIT = 8;
|
|
48
|
+
/**
|
|
49
|
+
* Hard cap on the SERIALIZED formation block. The projection is trimmed to fit
|
|
50
|
+
* it — never truncated mid-JSON — and every dropped item is recorded in
|
|
51
|
+
* `truncationNotes`.
|
|
52
|
+
*
|
|
53
|
+
* PRI-815 Phase A measured the cost of this information channel at +24.9%
|
|
54
|
+
* tokens for the frozen three-block payload; 8000 chars ≈ 2000 tokens keeps
|
|
55
|
+
* that proportion for a smaller real-world field mix.
|
|
56
|
+
*/
|
|
57
|
+
export const FORMATION_TOTAL_MAX_CHARS = 8000;
|
|
58
|
+
/**
|
|
59
|
+
* Per-section caps. They exist so the degradation ORDER is sensible: without
|
|
60
|
+
* them a single oversized diagnosis could only be satisfied by dropping every
|
|
61
|
+
* candidate, which is the wrong trade (the proposals are the unique content).
|
|
62
|
+
*/
|
|
63
|
+
export const FORMATION_PROPOSALS_MAX_CHARS = 4000;
|
|
64
|
+
export const FORMATION_DIAGNOSIS_MAX_CHARS = 3500;
|
|
65
|
+
/** Lineage ids are identity, not content — capped last, and only as a last resort. */
|
|
66
|
+
export const FORMATION_LINEAGE_ID_LIMIT = 16;
|
|
67
|
+
/**
|
|
68
|
+
* Diagnostic stage task kinds that can carry the source diagnosis, in
|
|
69
|
+
* descending authority. `diag_router` emits the canonical
|
|
70
|
+
* `DiagnosticianOutputV1`; the earlier stages emit narrower schemas handled by
|
|
71
|
+
* the tolerant readers below.
|
|
72
|
+
*/
|
|
73
|
+
export const FORMATION_DIAGNOSIS_TASK_KINDS = ['diag_router', 'diag_distiller', 'diag_rootcause'];
|
|
74
|
+
// ── Runtime guards (rc-1 / rc-2 / rc-5, mirroring artifact-summary.ts) ──────
|
|
75
|
+
function isRecord(value) {
|
|
76
|
+
return value !== null && typeof value === 'object' && !Array.isArray(value);
|
|
77
|
+
}
|
|
78
|
+
/** Reads a non-empty string by OWN property key. Empty/whitespace-only counts as absent. */
|
|
79
|
+
function readString(source, key) {
|
|
80
|
+
if (!isRecord(source) || !Object.hasOwn(source, key))
|
|
81
|
+
return null;
|
|
82
|
+
const value = source[key];
|
|
83
|
+
if (typeof value !== 'string')
|
|
84
|
+
return null;
|
|
85
|
+
return value.trim() === '' ? null : value;
|
|
86
|
+
}
|
|
87
|
+
function readArray(source, key) {
|
|
88
|
+
if (!isRecord(source) || !Object.hasOwn(source, key))
|
|
89
|
+
return null;
|
|
90
|
+
const value = source[key];
|
|
91
|
+
return Array.isArray(value) ? value : null;
|
|
92
|
+
}
|
|
93
|
+
/** rc-1: no blind `as number` — a finite number or nothing. */
|
|
94
|
+
function readNumber(source, key) {
|
|
95
|
+
if (!isRecord(source) || !Object.hasOwn(source, key))
|
|
96
|
+
return null;
|
|
97
|
+
const value = source[key];
|
|
98
|
+
return typeof value === 'number' && Number.isFinite(value) ? value : null;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Clamp one field to the per-field budget.
|
|
102
|
+
*
|
|
103
|
+
* Intentionally module-private: `artifact-summary.ts` (`clamp`) and
|
|
104
|
+
* `quality-scorecard/validation.ts` (`truncate`) already carry two private
|
|
105
|
+
* copies of this three-line helper. Consolidating all three is a tidy-up outside
|
|
106
|
+
* this ticket's change surface (AGENTS.md §1) — recorded as a follow-up rather
|
|
107
|
+
* than widened into this PR.
|
|
108
|
+
*/
|
|
109
|
+
function clamp(text, max = FORMATION_FIELD_MAX_CHARS) {
|
|
110
|
+
return text.length <= max ? text : `${text.slice(0, max - 1)}…`;
|
|
111
|
+
}
|
|
112
|
+
/** Parses untrusted contentJson. Returns null when it is not a JSON object. */
|
|
113
|
+
function parseContentJson(contentJson) {
|
|
114
|
+
let parsed;
|
|
115
|
+
try {
|
|
116
|
+
parsed = JSON.parse(contentJson);
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
return null;
|
|
120
|
+
}
|
|
121
|
+
return isRecord(parsed) ? parsed : null;
|
|
122
|
+
}
|
|
123
|
+
// ── Candidate priority (PRI-839) ─────────────────────────────────────────────
|
|
124
|
+
const RISK_ORDER = { low: 0, medium: 1, high: 2 };
|
|
125
|
+
/**
|
|
126
|
+
* `DreamerOutput` carries NO explicit priority field, so priority is DERIVED
|
|
127
|
+
* deterministically from the signals the Dreamer did author:
|
|
128
|
+
*
|
|
129
|
+
* 1. `confidence` DESC — the Dreamer's own confidence in the proposal;
|
|
130
|
+
* 2. `riskLevel` ASC (low < medium < high) — least risky first on a tie;
|
|
131
|
+
* 3. `candidateIndex` ASC — authored order as the final tiebreak.
|
|
132
|
+
*
|
|
133
|
+
* This is a READING AID over Dreamer-authored evidence, **not a new
|
|
134
|
+
* authority**. The Philosopher critique remains the sole authority on which
|
|
135
|
+
* proposals were rejected — which is exactly why the prompt contract that
|
|
136
|
+
* consumes this projection states "do NOT revive a proposal the critique
|
|
137
|
+
* explicitly rejected".
|
|
138
|
+
*/
|
|
139
|
+
function rankCandidates(candidates) {
|
|
140
|
+
const ordered = [...candidates].sort((a, b) => {
|
|
141
|
+
const confidenceDelta = (b.confidence ?? -1) - (a.confidence ?? -1);
|
|
142
|
+
if (confidenceDelta !== 0)
|
|
143
|
+
return confidenceDelta;
|
|
144
|
+
const riskDelta = (RISK_ORDER[a.riskLevel ?? ''] ?? 3) - (RISK_ORDER[b.riskLevel ?? ''] ?? 3);
|
|
145
|
+
if (riskDelta !== 0)
|
|
146
|
+
return riskDelta;
|
|
147
|
+
return a.candidateIndex - b.candidateIndex;
|
|
148
|
+
});
|
|
149
|
+
return ordered.map((candidate, index) => ({ ...candidate, priorityRank: index + 1 }));
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Deterministic, factual summary of how the proposals differ — a bounded
|
|
153
|
+
* alternative to dumping every candidate verbatim. States only what the
|
|
154
|
+
* evidence actually shows (count, risk spread, distinct better-decisions);
|
|
155
|
+
* it never editorialises about which proposal is "best".
|
|
156
|
+
*/
|
|
157
|
+
export function summarizeCandidateDifferences(candidates) {
|
|
158
|
+
if (candidates.length === 0)
|
|
159
|
+
return 'No dreamer proposals were available.';
|
|
160
|
+
if (candidates.length === 1) {
|
|
161
|
+
return `1 proposal available (candidateIndex ${candidates[0]?.candidateIndex ?? 0}); no alternatives were proposed.`;
|
|
162
|
+
}
|
|
163
|
+
const riskCounts = new Map();
|
|
164
|
+
for (const candidate of candidates) {
|
|
165
|
+
const risk = candidate.riskLevel ?? 'unspecified';
|
|
166
|
+
riskCounts.set(risk, (riskCounts.get(risk) ?? 0) + 1);
|
|
167
|
+
}
|
|
168
|
+
const riskSpread = [...riskCounts.entries()]
|
|
169
|
+
.map(([risk, count]) => `${risk}=${count}`)
|
|
170
|
+
.join(', ');
|
|
171
|
+
const distinctBetterDecisions = new Set(candidates.map((candidate) => candidate.betterDecision)).size;
|
|
172
|
+
const confidences = candidates
|
|
173
|
+
.map((candidate) => candidate.confidence)
|
|
174
|
+
.filter((confidence) => confidence !== null);
|
|
175
|
+
const confidenceRange = confidences.length === 0
|
|
176
|
+
? 'unspecified'
|
|
177
|
+
: `${Math.min(...confidences)}..${Math.max(...confidences)}`;
|
|
178
|
+
return [
|
|
179
|
+
`${candidates.length} mutually distinct proposals (this is a bounded top-${candidates.length} view, not necessarily the full set).`,
|
|
180
|
+
`risk spread: ${riskSpread}`,
|
|
181
|
+
`distinct better-decisions: ${distinctBetterDecisions}`,
|
|
182
|
+
`dreamer confidence range: ${confidenceRange}`,
|
|
183
|
+
].join(' ');
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Project a Dreamer artifact's contentJson into a bounded candidate set.
|
|
187
|
+
*
|
|
188
|
+
* Never throws. A malformed candidate is SKIPPED and recorded, so one bad
|
|
189
|
+
* element cannot discard the whole formation's alternatives.
|
|
190
|
+
*/
|
|
191
|
+
export function projectDreamerProposals(dreamerContent) {
|
|
192
|
+
const truncationNotes = [];
|
|
193
|
+
const rawContextRefs = readArray(dreamerContent, 'contextRefs') ?? [];
|
|
194
|
+
const contextRefStrings = rawContextRefs.filter((entry) => typeof entry === 'string' && entry.trim() !== '');
|
|
195
|
+
if (contextRefStrings.length > FORMATION_DREAMER_CONTEXT_REF_LIMIT) {
|
|
196
|
+
truncationNotes.push(`dreamer contextRefs truncated: ${contextRefStrings.length} -> ${FORMATION_DREAMER_CONTEXT_REF_LIMIT}`);
|
|
197
|
+
}
|
|
198
|
+
const contextRefs = contextRefStrings
|
|
199
|
+
.slice(0, FORMATION_DREAMER_CONTEXT_REF_LIMIT)
|
|
200
|
+
.map((ref) => clamp(ref));
|
|
201
|
+
const rawCandidates = readArray(dreamerContent, 'candidates') ?? [];
|
|
202
|
+
const projected = [];
|
|
203
|
+
let malformed = 0;
|
|
204
|
+
for (let index = 0; index < rawCandidates.length; index += 1) {
|
|
205
|
+
const entry = rawCandidates[index];
|
|
206
|
+
const badDecision = readString(entry, 'badDecision');
|
|
207
|
+
const betterDecision = readString(entry, 'betterDecision');
|
|
208
|
+
const rationale = readString(entry, 'rationale');
|
|
209
|
+
if (badDecision === null || betterDecision === null || rationale === null) {
|
|
210
|
+
// rc-9: a malformed candidate is an observable loss, never a silent one.
|
|
211
|
+
malformed += 1;
|
|
212
|
+
continue;
|
|
213
|
+
}
|
|
214
|
+
const authoredIndex = readNumber(entry, 'candidateIndex');
|
|
215
|
+
const strategicPerspective = readString(entry, 'strategicPerspective');
|
|
216
|
+
projected.push({
|
|
217
|
+
candidateIndex: authoredIndex ?? index,
|
|
218
|
+
priorityRank: 0, // assigned by rankCandidates below
|
|
219
|
+
badDecision: clamp(badDecision),
|
|
220
|
+
betterDecision: clamp(betterDecision),
|
|
221
|
+
rationale: clamp(rationale),
|
|
222
|
+
confidence: readNumber(entry, 'confidence'),
|
|
223
|
+
riskLevel: readString(entry, 'riskLevel'),
|
|
224
|
+
strategicPerspective: strategicPerspective === null ? null : clamp(strategicPerspective),
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
if (malformed > 0) {
|
|
228
|
+
truncationNotes.push(`dreamer candidates skipped as malformed: ${malformed}`);
|
|
229
|
+
}
|
|
230
|
+
const withinBound = projected.slice(0, FORMATION_CANDIDATE_LIMIT);
|
|
231
|
+
if (projected.length > withinBound.length) {
|
|
232
|
+
truncationNotes.push(`dreamer candidates truncated: ${projected.length} -> ${withinBound.length} (bounded projection)`);
|
|
233
|
+
}
|
|
234
|
+
return {
|
|
235
|
+
candidates: rankCandidates(withinBound),
|
|
236
|
+
contextRefs,
|
|
237
|
+
sourcePainId: readString(dreamerContent, 'sourcePainId'),
|
|
238
|
+
omittedCandidateCount: projected.length - withinBound.length,
|
|
239
|
+
truncationNotes,
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
// ── Diagnosis projection ─────────────────────────────────────────────────────
|
|
243
|
+
/**
|
|
244
|
+
* Tolerant projection over a diagnostic stage artifact. `diag_router` emits the
|
|
245
|
+
* canonical `DiagnosticianOutputV1`; earlier stages expose a narrower schema,
|
|
246
|
+
* so unresolvable fields are recorded in `omittedFields` instead of failing.
|
|
247
|
+
*/
|
|
248
|
+
export function projectDiagnosisOutput(diagnosisContent, identity) {
|
|
249
|
+
const omittedFields = [];
|
|
250
|
+
const rootCause = readString(diagnosisContent, 'rootCause');
|
|
251
|
+
if (rootCause === null)
|
|
252
|
+
omittedFields.push('rootCause');
|
|
253
|
+
const summary = readString(diagnosisContent, 'summary');
|
|
254
|
+
if (summary === null)
|
|
255
|
+
omittedFields.push('summary');
|
|
256
|
+
const rawViolated = readArray(diagnosisContent, 'violatedPrinciples') ?? [];
|
|
257
|
+
if (rawViolated.length === 0)
|
|
258
|
+
omittedFields.push('violatedPrinciples');
|
|
259
|
+
const violatedPrinciples = rawViolated
|
|
260
|
+
.slice(0, FORMATION_DIAGNOSIS_VIOLATED_LIMIT)
|
|
261
|
+
.map((entry) => {
|
|
262
|
+
const rationale = readString(entry, 'rationale');
|
|
263
|
+
if (rationale === null)
|
|
264
|
+
return null;
|
|
265
|
+
const principleId = readString(entry, 'principleId');
|
|
266
|
+
const title = readString(entry, 'title');
|
|
267
|
+
return {
|
|
268
|
+
principleId,
|
|
269
|
+
title: title === null ? null : clamp(title),
|
|
270
|
+
rationale: clamp(rationale),
|
|
271
|
+
};
|
|
272
|
+
})
|
|
273
|
+
.filter((entry) => entry !== null);
|
|
274
|
+
if (rawViolated.length > FORMATION_DIAGNOSIS_VIOLATED_LIMIT) {
|
|
275
|
+
omittedFields.push(`violatedPrinciples[${FORMATION_DIAGNOSIS_VIOLATED_LIMIT}..${rawViolated.length - 1}]`);
|
|
276
|
+
}
|
|
277
|
+
const rawEvidence = readArray(diagnosisContent, 'evidence') ?? [];
|
|
278
|
+
if (rawEvidence.length === 0)
|
|
279
|
+
omittedFields.push('evidence');
|
|
280
|
+
const evidence = rawEvidence
|
|
281
|
+
.slice(0, FORMATION_DIAGNOSIS_EVIDENCE_LIMIT)
|
|
282
|
+
.map((entry) => {
|
|
283
|
+
const sourceRef = readString(entry, 'sourceRef');
|
|
284
|
+
const note = readString(entry, 'note');
|
|
285
|
+
if (sourceRef === null || note === null)
|
|
286
|
+
return null;
|
|
287
|
+
return { sourceRef: clamp(sourceRef), note: clamp(note) };
|
|
288
|
+
})
|
|
289
|
+
.filter((entry) => entry !== null);
|
|
290
|
+
if (rawEvidence.length > FORMATION_DIAGNOSIS_EVIDENCE_LIMIT) {
|
|
291
|
+
omittedFields.push(`evidence[${FORMATION_DIAGNOSIS_EVIDENCE_LIMIT}..${rawEvidence.length - 1}]`);
|
|
292
|
+
}
|
|
293
|
+
const rawRecommendations = readArray(diagnosisContent, 'recommendations') ?? [];
|
|
294
|
+
if (rawRecommendations.length === 0)
|
|
295
|
+
omittedFields.push('recommendations');
|
|
296
|
+
const recommendations = rawRecommendations
|
|
297
|
+
.slice(0, FORMATION_DIAGNOSIS_RECOMMENDATION_LIMIT)
|
|
298
|
+
.map((entry) => {
|
|
299
|
+
const description = readString(entry, 'description');
|
|
300
|
+
if (description === null)
|
|
301
|
+
return null;
|
|
302
|
+
const kind = readString(entry, 'kind');
|
|
303
|
+
return clamp(kind === null ? description : `[${kind}] ${description}`);
|
|
304
|
+
})
|
|
305
|
+
.filter((entry) => entry !== null);
|
|
306
|
+
if (rawRecommendations.length > FORMATION_DIAGNOSIS_RECOMMENDATION_LIMIT) {
|
|
307
|
+
omittedFields.push(`recommendations[${FORMATION_DIAGNOSIS_RECOMMENDATION_LIMIT}..${rawRecommendations.length - 1}]`);
|
|
308
|
+
}
|
|
309
|
+
const confidence = readNumber(diagnosisContent, 'confidence');
|
|
310
|
+
if (confidence === null)
|
|
311
|
+
omittedFields.push('confidence');
|
|
312
|
+
return {
|
|
313
|
+
artifactId: identity.artifactId,
|
|
314
|
+
taskId: identity.taskId,
|
|
315
|
+
stage: identity.stage,
|
|
316
|
+
rootCause: rootCause === null ? null : clamp(rootCause),
|
|
317
|
+
summary: summary === null ? null : clamp(summary),
|
|
318
|
+
violatedPrinciples,
|
|
319
|
+
evidence,
|
|
320
|
+
recommendations,
|
|
321
|
+
confidence,
|
|
322
|
+
omittedFields,
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Drops items from the TAIL until `render(kept)` serializes within `maxChars`,
|
|
327
|
+
* recording every drop in `notes`. Never slices a string mid-value and never
|
|
328
|
+
* emits partial JSON — the unit of degradation is a whole item (rc-9).
|
|
329
|
+
*/
|
|
330
|
+
function trimSection(params) {
|
|
331
|
+
const { items, maxChars, render, describe, notes } = params;
|
|
332
|
+
let kept = items;
|
|
333
|
+
while (kept.length > 0 && JSON.stringify(render(kept)).length > maxChars) {
|
|
334
|
+
const dropped = kept[kept.length - 1];
|
|
335
|
+
kept = kept.slice(0, -1);
|
|
336
|
+
if (dropped !== undefined)
|
|
337
|
+
notes.push(describe(dropped));
|
|
338
|
+
}
|
|
339
|
+
return kept;
|
|
340
|
+
}
|
|
341
|
+
/**
|
|
342
|
+
* Reduces the remaining unbounded terms until the WHOLE serialized context fits
|
|
343
|
+
* `FORMATION_TOTAL_MAX_CHARS`, recording each step. Order — identity and
|
|
344
|
+
* bookkeeping before content, content last:
|
|
345
|
+
*
|
|
346
|
+
* 1. `lineageArtifactIds` below the per-id limit,
|
|
347
|
+
* 2. `dreamerContextRefs` (references, not content) dropped entirely,
|
|
348
|
+
* 3. `truncationNotes` collapsed to a bounded summary — the notes describe the
|
|
349
|
+
* degradation, so they are the correct sacrifice once degradation is the
|
|
350
|
+
* only thing keeping the block over budget,
|
|
351
|
+
* 4. whole `dreamerProposals` items dropped from the tail as the last resort.
|
|
352
|
+
*
|
|
353
|
+
* Never truncates mid-value and never emits partial JSON (rc-9): every step drops
|
|
354
|
+
* a whole item and records it. Terminates because each branch strictly shrinks a
|
|
355
|
+
* finite array.
|
|
356
|
+
*/
|
|
357
|
+
function enforceTotalBudget(params) {
|
|
358
|
+
const { context: initialContext, notes: initialNotes } = params;
|
|
359
|
+
let context = initialContext;
|
|
360
|
+
const notes = [...initialNotes];
|
|
361
|
+
const size = (candidate) => JSON.stringify(candidate).length;
|
|
362
|
+
if (size(context) <= FORMATION_TOTAL_MAX_CHARS)
|
|
363
|
+
return context;
|
|
364
|
+
// 1. Lineage ids: identity, not content — cap to the last-resort limit.
|
|
365
|
+
if (context.provenance.lineageArtifactIds.length > FORMATION_LINEAGE_ID_LIMIT) {
|
|
366
|
+
notes.push(`lineageArtifactIds truncated to ${FORMATION_LINEAGE_ID_LIMIT} to satisfy FORMATION_TOTAL_MAX_CHARS=${FORMATION_TOTAL_MAX_CHARS}`);
|
|
367
|
+
context = {
|
|
368
|
+
...context,
|
|
369
|
+
provenance: {
|
|
370
|
+
...context.provenance,
|
|
371
|
+
lineageArtifactIds: context.provenance.lineageArtifactIds.slice(0, FORMATION_LINEAGE_ID_LIMIT),
|
|
372
|
+
},
|
|
373
|
+
truncationNotes: notes,
|
|
374
|
+
};
|
|
375
|
+
}
|
|
376
|
+
// 2. Dreamer contextRefs are references to evidence the prompt cannot read
|
|
377
|
+
// anyway — cheaper to lose than any projected proposal.
|
|
378
|
+
if (context.dreamerContextRefs.length > 0 && size(context) > FORMATION_TOTAL_MAX_CHARS) {
|
|
379
|
+
notes.push(`dreamerContextRefs dropped (${context.dreamerContextRefs.length} refs) to satisfy FORMATION_TOTAL_MAX_CHARS=${FORMATION_TOTAL_MAX_CHARS}`);
|
|
380
|
+
context = { ...context, dreamerContextRefs: [], truncationNotes: notes };
|
|
381
|
+
}
|
|
382
|
+
// 3. Collapse the notes themselves. Keeping raw notes here would be circular:
|
|
383
|
+
// they exist to explain the drops, and they are the term keeping us over.
|
|
384
|
+
if (size(context) > FORMATION_TOTAL_MAX_CHARS && context.truncationNotes.length > 1) {
|
|
385
|
+
const collapsed = [
|
|
386
|
+
...context.truncationNotes.slice(0, 1),
|
|
387
|
+
`… ${context.truncationNotes.length - 1} further truncation note(s) collapsed to satisfy FORMATION_TOTAL_MAX_CHARS=${FORMATION_TOTAL_MAX_CHARS}`,
|
|
388
|
+
];
|
|
389
|
+
context = { ...context, truncationNotes: collapsed };
|
|
390
|
+
}
|
|
391
|
+
// 4. Last resort: drop whole trailing proposals. Sections were already sized
|
|
392
|
+
// against their own caps, so reaching here means the aggregate bound is the
|
|
393
|
+
// binding constraint.
|
|
394
|
+
while (context.dreamerProposals.length > 0 && size(context) > FORMATION_TOTAL_MAX_CHARS) {
|
|
395
|
+
const dropped = context.dreamerProposals[context.dreamerProposals.length - 1];
|
|
396
|
+
context = {
|
|
397
|
+
...context,
|
|
398
|
+
dreamerProposals: context.dreamerProposals.slice(0, -1),
|
|
399
|
+
truncationNotes: [
|
|
400
|
+
...context.truncationNotes,
|
|
401
|
+
`dreamer candidate dropped to satisfy FORMATION_TOTAL_MAX_CHARS=${FORMATION_TOTAL_MAX_CHARS}: candidateIndex ${dropped?.candidateIndex ?? 'unknown'}`,
|
|
402
|
+
],
|
|
403
|
+
};
|
|
404
|
+
}
|
|
405
|
+
// 5. Diagnosis block as the final content sacrifice.
|
|
406
|
+
if (context.sourceDiagnosis !== undefined && size(context) > FORMATION_TOTAL_MAX_CHARS) {
|
|
407
|
+
context = {
|
|
408
|
+
...context,
|
|
409
|
+
truncationNotes: [
|
|
410
|
+
...context.truncationNotes,
|
|
411
|
+
`diagnosis block dropped entirely to satisfy FORMATION_TOTAL_MAX_CHARS=${FORMATION_TOTAL_MAX_CHARS}`,
|
|
412
|
+
],
|
|
413
|
+
};
|
|
414
|
+
const { sourceDiagnosis: _dropped, ...rest } = context;
|
|
415
|
+
context = rest;
|
|
416
|
+
}
|
|
417
|
+
// 6. If a pathological note set still exceeds the cap, keep collapsing to the
|
|
418
|
+
// last note. The bound is a hard prompt-boundary contract.
|
|
419
|
+
while (context.truncationNotes.length > 1 && size(context) > FORMATION_TOTAL_MAX_CHARS) {
|
|
420
|
+
context = {
|
|
421
|
+
...context,
|
|
422
|
+
truncationNotes: context.truncationNotes.slice(0, context.truncationNotes.length - 1),
|
|
423
|
+
};
|
|
424
|
+
}
|
|
425
|
+
return context;
|
|
426
|
+
}
|
|
427
|
+
/**
|
|
428
|
+
* Apply the budget contract. Degradation order — cheapest information loss first:
|
|
429
|
+
* 1. trailing dreamer candidates, then
|
|
430
|
+
* 2. trailing diagnosis evidence, then violatedPrinciples, then recommendations,
|
|
431
|
+
* 3. the diagnosis block as a whole,
|
|
432
|
+
* 4. lineage ids (identity, not content) as the last resort.
|
|
433
|
+
*
|
|
434
|
+
* Every step records a `truncationNote`, so a quality regression can always be
|
|
435
|
+
* traced back to whether the bound — not the evidence — cut the input.
|
|
436
|
+
*/
|
|
437
|
+
function applyBudget(context) {
|
|
438
|
+
const notes = [...context.truncationNotes];
|
|
439
|
+
const dreamerProposals = trimSection({
|
|
440
|
+
items: context.dreamerProposals,
|
|
441
|
+
maxChars: FORMATION_PROPOSALS_MAX_CHARS,
|
|
442
|
+
render: (kept) => kept,
|
|
443
|
+
describe: (dropped) => `dreamer candidate dropped to satisfy FORMATION_PROPOSALS_MAX_CHARS=${FORMATION_PROPOSALS_MAX_CHARS}: candidateIndex ${dropped.candidateIndex}`,
|
|
444
|
+
notes,
|
|
445
|
+
});
|
|
446
|
+
let { sourceDiagnosis } = context;
|
|
447
|
+
if (sourceDiagnosis !== undefined) {
|
|
448
|
+
const evidence = trimSection({
|
|
449
|
+
items: sourceDiagnosis.evidence,
|
|
450
|
+
maxChars: FORMATION_DIAGNOSIS_MAX_CHARS,
|
|
451
|
+
render: (kept) => ({ ...sourceDiagnosis, evidence: kept }),
|
|
452
|
+
describe: (dropped) => `diagnosis evidence dropped to satisfy FORMATION_DIAGNOSIS_MAX_CHARS=${FORMATION_DIAGNOSIS_MAX_CHARS}: ${dropped.sourceRef}`,
|
|
453
|
+
notes,
|
|
454
|
+
});
|
|
455
|
+
const violatedPrinciples = trimSection({
|
|
456
|
+
items: sourceDiagnosis.violatedPrinciples,
|
|
457
|
+
maxChars: FORMATION_DIAGNOSIS_MAX_CHARS,
|
|
458
|
+
render: (kept) => ({ ...sourceDiagnosis, evidence, violatedPrinciples: kept }),
|
|
459
|
+
describe: () => `diagnosis violatedPrinciples entry dropped to satisfy FORMATION_DIAGNOSIS_MAX_CHARS=${FORMATION_DIAGNOSIS_MAX_CHARS}`,
|
|
460
|
+
notes,
|
|
461
|
+
});
|
|
462
|
+
const recommendations = trimSection({
|
|
463
|
+
items: sourceDiagnosis.recommendations,
|
|
464
|
+
maxChars: FORMATION_DIAGNOSIS_MAX_CHARS,
|
|
465
|
+
render: (kept) => ({ ...sourceDiagnosis, evidence, violatedPrinciples, recommendations: kept }),
|
|
466
|
+
describe: () => `diagnosis recommendation dropped to satisfy FORMATION_DIAGNOSIS_MAX_CHARS=${FORMATION_DIAGNOSIS_MAX_CHARS}`,
|
|
467
|
+
notes,
|
|
468
|
+
});
|
|
469
|
+
const trimmed = {
|
|
470
|
+
...sourceDiagnosis,
|
|
471
|
+
evidence,
|
|
472
|
+
violatedPrinciples,
|
|
473
|
+
recommendations,
|
|
474
|
+
};
|
|
475
|
+
if (JSON.stringify(trimmed).length > FORMATION_DIAGNOSIS_MAX_CHARS) {
|
|
476
|
+
notes.push(`diagnosis block dropped entirely: it exceeds FORMATION_DIAGNOSIS_MAX_CHARS=${FORMATION_DIAGNOSIS_MAX_CHARS} even after trimming`);
|
|
477
|
+
sourceDiagnosis = undefined;
|
|
478
|
+
}
|
|
479
|
+
else {
|
|
480
|
+
sourceDiagnosis = trimmed;
|
|
481
|
+
}
|
|
482
|
+
}
|
|
483
|
+
// Built field-by-field (not spread from `context`) so a section that was
|
|
484
|
+
// dropped above is genuinely ABSENT rather than present-and-undefined.
|
|
485
|
+
const bounded = {
|
|
486
|
+
version: context.version,
|
|
487
|
+
dreamerProposals,
|
|
488
|
+
dreamerContextRefs: context.dreamerContextRefs,
|
|
489
|
+
provenance: context.provenance,
|
|
490
|
+
...(sourceDiagnosis !== undefined ? { sourceDiagnosis } : {}),
|
|
491
|
+
truncationNotes: notes,
|
|
492
|
+
};
|
|
493
|
+
// Final guard: the per-section caps bound the two CONTENT blocks, but three
|
|
494
|
+
// terms remain unbounded above the section level — `provenance.lineageArtifactIds`,
|
|
495
|
+
// `dreamerContextRefs`, and `truncationNotes` itself — and every drop recorded
|
|
496
|
+
// by `trimSection` GROWS the last of those. A single lineage truncation is
|
|
497
|
+
// therefore not sufficient: it must be re-checked and the ladder continued.
|
|
498
|
+
return enforceTotalBudget({ context: bounded, notes });
|
|
499
|
+
}
|
|
500
|
+
/**
|
|
501
|
+
* Picks the diagnostic predecessor of the dreamer task, honouring
|
|
502
|
+
* `FORMATION_DIAGNOSIS_TASK_KINDS` order (most authoritative first) and
|
|
503
|
+
* requiring a succeeded task (an unfinished stage has no artifact to read).
|
|
504
|
+
*/
|
|
505
|
+
async function resolveDiagnosisDependency(dreamerTask, lookupTask) {
|
|
506
|
+
const deps = await Promise.all(dreamerTask.dependencyTaskIds.map(async (depId) => ({ depId, task: await lookupTask(depId) })));
|
|
507
|
+
for (const stage of FORMATION_DIAGNOSIS_TASK_KINDS) {
|
|
508
|
+
const match = deps.find((entry) => entry.task !== null && entry.task.taskKind === stage && entry.task.status === 'succeeded');
|
|
509
|
+
if (match)
|
|
510
|
+
return { taskId: match.depId, taskKind: stage };
|
|
511
|
+
}
|
|
512
|
+
return null;
|
|
513
|
+
}
|
|
514
|
+
async function resolveFormationContextUnsafe(params) {
|
|
515
|
+
const { sourceDreamerArtifactId, taskId, emitEvent } = params;
|
|
516
|
+
if (sourceDreamerArtifactId === undefined || sourceDreamerArtifactId.trim() === '') {
|
|
517
|
+
emitEvent('formation_context_skipped', taskId, { reason: 'dreamer_artifact_id_missing' });
|
|
518
|
+
return undefined;
|
|
519
|
+
}
|
|
520
|
+
const dreamerArtifact = await params.artifactStore.getArtifactById(sourceDreamerArtifactId);
|
|
521
|
+
if (!dreamerArtifact) {
|
|
522
|
+
// rc-9: observable — the id was present, so its absence is a real gap.
|
|
523
|
+
emitEvent('formation_dreamer_artifact_missing', taskId, { sourceDreamerArtifactId });
|
|
524
|
+
return undefined;
|
|
525
|
+
}
|
|
526
|
+
const dreamerParsed = parseContentJson(dreamerArtifact.contentJson);
|
|
527
|
+
if (!dreamerParsed) {
|
|
528
|
+
emitEvent('formation_context_invalid', taskId, {
|
|
529
|
+
sourceDreamerArtifactId,
|
|
530
|
+
reason: 'dreamer_content_not_object',
|
|
531
|
+
});
|
|
532
|
+
return undefined;
|
|
533
|
+
}
|
|
534
|
+
const dreamerProjection = projectDreamerProposals(dreamerParsed);
|
|
535
|
+
const truncationNotes = [...dreamerProjection.truncationNotes];
|
|
536
|
+
if (dreamerProjection.candidates.length === 0) {
|
|
537
|
+
// Degrade, do not fail: the diagnosis may still carry the source intent.
|
|
538
|
+
truncationNotes.push('dreamer candidates empty or all malformed — proposals block is empty');
|
|
539
|
+
}
|
|
540
|
+
// ── Diagnosis: walk the dreamer task's predecessors, most-authoritative first.
|
|
541
|
+
let sourceDiagnosis;
|
|
542
|
+
const dreamerTaskId = dreamerArtifact.sourceTaskId;
|
|
543
|
+
const dreamerTask = await params.lookupTask(dreamerTaskId);
|
|
544
|
+
if (!dreamerTask) {
|
|
545
|
+
truncationNotes.push(`dreamer task ${dreamerTaskId} not resolvable — diagnosis not attempted`);
|
|
546
|
+
}
|
|
547
|
+
else {
|
|
548
|
+
const diagnosisDep = await resolveDiagnosisDependency(dreamerTask, params.lookupTask);
|
|
549
|
+
if (!diagnosisDep) {
|
|
550
|
+
truncationNotes.push('no diagnostic stage found among dreamer dependencies — diagnosis omitted');
|
|
551
|
+
}
|
|
552
|
+
else {
|
|
553
|
+
const artifacts = await params.artifactStore.listBySourceTaskId(diagnosisDep.taskId);
|
|
554
|
+
const [diagnosisArtifact] = artifacts;
|
|
555
|
+
const parsed = diagnosisArtifact ? parseContentJson(diagnosisArtifact.contentJson) : null;
|
|
556
|
+
if (!diagnosisArtifact || !parsed) {
|
|
557
|
+
truncationNotes.push(`diagnosis artifact for task ${diagnosisDep.taskId} (${diagnosisDep.taskKind}) unreadable — diagnosis omitted`);
|
|
558
|
+
}
|
|
559
|
+
else {
|
|
560
|
+
sourceDiagnosis = projectDiagnosisOutput(parsed, {
|
|
561
|
+
artifactId: diagnosisArtifact.artifactId,
|
|
562
|
+
taskId: diagnosisDep.taskId,
|
|
563
|
+
stage: diagnosisDep.taskKind,
|
|
564
|
+
});
|
|
565
|
+
}
|
|
566
|
+
}
|
|
567
|
+
}
|
|
568
|
+
const context = {
|
|
569
|
+
version: FORMATION_CONTEXT_VERSION,
|
|
570
|
+
dreamerProposals: dreamerProjection.candidates,
|
|
571
|
+
dreamerContextRefs: dreamerProjection.contextRefs,
|
|
572
|
+
...(sourceDiagnosis !== undefined ? { sourceDiagnosis } : {}),
|
|
573
|
+
provenance: {
|
|
574
|
+
sourceDreamerArtifactId: dreamerArtifact.artifactId,
|
|
575
|
+
sourceDreamerTaskId: dreamerTaskId,
|
|
576
|
+
sourceDiagnosisArtifactId: sourceDiagnosis?.artifactId ?? null,
|
|
577
|
+
sourceDiagnosisTaskId: sourceDiagnosis?.taskId ?? null,
|
|
578
|
+
sourcePainId: dreamerProjection.sourcePainId,
|
|
579
|
+
lineageArtifactIds: [...dreamerArtifact.lineageArtifactIds],
|
|
580
|
+
},
|
|
581
|
+
truncationNotes,
|
|
582
|
+
};
|
|
583
|
+
const bounded = applyBudget(context);
|
|
584
|
+
emitEvent('formation_context_resolved', taskId, {
|
|
585
|
+
version: bounded.version,
|
|
586
|
+
candidateCount: bounded.dreamerProposals.length,
|
|
587
|
+
hasDiagnosis: bounded.sourceDiagnosis !== undefined,
|
|
588
|
+
diagnosisStage: bounded.sourceDiagnosis?.stage ?? null,
|
|
589
|
+
truncationNoteCount: bounded.truncationNotes.length,
|
|
590
|
+
serializedChars: JSON.stringify(bounded).length,
|
|
591
|
+
});
|
|
592
|
+
return bounded;
|
|
593
|
+
}
|
|
594
|
+
/**
|
|
595
|
+
* Resolve the bounded formation context reachable from a dreamer artifact id.
|
|
596
|
+
*
|
|
597
|
+
* Degradation policy (PRI-838 Phase 4 Case 2 — degrade, never fail):
|
|
598
|
+
* - no dreamer id, or the dreamer artifact cannot be read/parsed
|
|
599
|
+
* ⇒ returns `undefined` (the caller keeps its previous prompt shape) and
|
|
600
|
+
* emits an observable event;
|
|
601
|
+
* - dreamer resolvable but the diagnosis is absent/unreadable
|
|
602
|
+
* ⇒ returns a context WITHOUT `sourceDiagnosis`, plus a truncation note.
|
|
603
|
+
*
|
|
604
|
+
* NEVER throws — including when the artifact store or the task lookup itself
|
|
605
|
+
* fails. Formation evidence is an enrichment: a store error must not fail a
|
|
606
|
+
* formation run, so every escaping failure is converted into an observable
|
|
607
|
+
* event plus `undefined` (rc-9: degradation is never silent).
|
|
608
|
+
*/
|
|
609
|
+
export async function resolveFormationContext(params) {
|
|
610
|
+
try {
|
|
611
|
+
return await resolveFormationContextUnsafe(params);
|
|
612
|
+
}
|
|
613
|
+
catch (error) {
|
|
614
|
+
params.emitEvent('formation_context_failed', params.taskId, {
|
|
615
|
+
reason: 'unexpected_error',
|
|
616
|
+
errorMessage: error instanceof Error ? error.message : String(error),
|
|
617
|
+
});
|
|
618
|
+
return undefined;
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
//# sourceMappingURL=formation-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formation-context.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/formation-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -79,6 +79,4 @@ export { ArtificerRuleOutputTypebox, ArtificerSourceTraceTypebox, GoldenTraceCas
|
|
|
79
79
|
export { buildArtificerL2Tools, ARTIFICER_L2_TOOL_WHITELIST, RULECODE_SPEC_TEXT, } from '../tools/artificer-l2-tool-contract.js';
|
|
80
80
|
export type { ArtificerL2ToolContext, ArtificerL2OutputCapture, } from '../tools/artificer-l2-tool-contract.js';
|
|
81
81
|
export { ROUTE_CHANNEL_MAP, MVP_ENABLED_CHANNELS, CANDIDATE_KIND_TO_ROUTE, computeBridgeDecision, buildDreamerTaskSeed, buildDreamerSeedFromCandidate, dreamerTaskIdsForCandidate, findExistingDreamerTask, seedIntakeTask, } from './intake-to-internalization-bridge.js';
|
|
82
|
-
export { CandidateLineage } from './candidate-lineage.js';
|
|
83
|
-
export type { LineageTaskReader, LineageNode, LineageNote, LineageResult, LineageChain, LineageError } from './candidate-lineage.js';
|
|
84
82
|
//# sourceMappingURL=index.d.ts.map
|