create-principles-disciple 1.93.0 → 1.95.0
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/console/dist/server/config/WorkspaceConfigStore.js +2 -1
- package/console/dist/server/config/pd-config-store.d.ts +40 -1
- package/console/dist/server/config/pd-config-store.js +170 -1
- package/console/dist/server/index.js +28 -10
- package/console/dist/server/models/ApprovalsConsoleModel.js +4 -12
- package/console/dist/server/models/EvidenceChainConsoleModel.d.ts +0 -2
- package/console/dist/server/models/EvidenceChainConsoleModel.js +36 -2
- package/console/dist/server/models/HealthCheckModel.js +5 -3
- package/console/dist/server/models/IntentDecisionModel.d.ts +66 -0
- package/console/dist/server/models/IntentDecisionModel.js +207 -0
- package/console/dist/server/models/IntentPageModel.d.ts +18 -0
- package/console/dist/server/models/IntentPageModel.js +90 -0
- package/console/dist/server/models/PrinciplesConsoleModel.d.ts +2 -0
- package/console/dist/server/models/PrinciplesConsoleModel.js +37 -1
- package/console/dist/server/models/WorkspaceService.d.ts +0 -28
- package/console/dist/server/models/WorkspaceService.js +0 -115
- package/console/dist/server/routes/config.js +55 -1
- package/console/dist/server/routes/feedback-reports.js +1 -1
- package/console/dist/server/routes/intent-decisions.d.ts +33 -0
- package/console/dist/server/routes/intent-decisions.js +499 -0
- package/console/dist/server/routes/intent.d.ts +3 -0
- package/console/dist/server/routes/intent.js +35 -0
- package/console/dist/server/routes/principles.js +67 -1
- package/console/dist/server/routes/update.d.ts +0 -1
- package/console/dist/server/routes/update.js +14 -11
- package/console/dist/ui/App.js +2 -7
- package/console/dist/ui/api.d.ts +44 -18
- package/console/dist/ui/api.js +44 -5
- package/console/dist/ui/components/layout/app-sidebar.js +2 -1
- package/console/dist/ui/components/ui/badge.d.ts +1 -1
- package/console/dist/ui/components/ui/button.d.ts +1 -1
- package/console/dist/ui/components/ui/shiny-text.d.ts +28 -0
- package/console/dist/ui/components/ui/shiny-text.js +46 -0
- package/console/dist/ui/i18n/en.json +167 -3
- package/console/dist/ui/i18n/zh-CN.json +167 -3
- package/console/dist/ui/pages/activation/ActivationPage.js +2 -1
- package/console/dist/ui/pages/control-center/ControlCenterPage.js +28 -2
- package/console/dist/ui/pages/control-center/EmpathyObserverCostHint.d.ts +28 -0
- package/console/dist/ui/pages/control-center/EmpathyObserverCostHint.js +38 -0
- package/console/dist/ui/pages/debt/DebtPage.js +219 -2
- package/console/dist/ui/pages/focus/FocusPage.js +2 -1
- package/console/dist/ui/pages/intent/IntentPage.d.ts +1 -0
- package/console/dist/ui/pages/intent/IntentPage.js +147 -0
- package/console/dist/ui/pages/pain/PainPage.js +234 -4
- package/console/dist/ui/pages/pain/pain-card-helpers.d.ts +75 -0
- package/console/dist/ui/pages/pain/pain-card-helpers.js +78 -0
- package/console/dist/ui/pages/principles/PrinciplesPage.js +2 -1
- package/console/dist/ui/utils/validators.d.ts +163 -0
- package/console/dist/ui/utils/validators.js +433 -0
- package/console/dist/web/assets/app.css +138 -0
- package/console/dist/web/assets/app.js +3124 -1288
- package/console/package.json +3 -0
- package/core/dist/index.d.ts +2 -2
- package/core/dist/index.d.ts.map +1 -1
- package/core/dist/index.js +1 -1
- package/core/dist/index.js.map +1 -1
- package/core/dist/principle-tree-ledger.d.ts +55 -4
- package/core/dist/principle-tree-ledger.d.ts.map +1 -1
- package/core/dist/principle-tree-ledger.js +472 -13
- package/core/dist/principle-tree-ledger.js.map +1 -1
- package/core/dist/prompt-builder/__tests__/model-config.test.d.ts +2 -0
- package/core/dist/prompt-builder/__tests__/model-config.test.d.ts.map +1 -0
- package/core/dist/prompt-builder/__tests__/model-config.test.js +158 -0
- package/core/dist/prompt-builder/__tests__/model-config.test.js.map +1 -0
- package/core/dist/prompt-builder/__tests__/prompt-builder-core.test.js +58 -0
- package/core/dist/prompt-builder/__tests__/prompt-builder-core.test.js.map +1 -1
- package/core/dist/prompt-builder/__tests__/xml-escape.test.d.ts +2 -0
- package/core/dist/prompt-builder/__tests__/xml-escape.test.d.ts.map +1 -0
- package/core/dist/prompt-builder/__tests__/xml-escape.test.js +42 -0
- package/core/dist/prompt-builder/__tests__/xml-escape.test.js.map +1 -0
- package/core/dist/prompt-builder/empathy-keyword-matching.d.ts.map +1 -1
- package/core/dist/prompt-builder/empathy-keyword-matching.js +9 -6
- package/core/dist/prompt-builder/empathy-keyword-matching.js.map +1 -1
- package/core/dist/prompt-builder/index.d.ts +3 -0
- package/core/dist/prompt-builder/index.d.ts.map +1 -1
- package/core/dist/prompt-builder/index.js +2 -0
- package/core/dist/prompt-builder/index.js.map +1 -1
- package/core/dist/prompt-builder/model-config.d.ts +42 -0
- package/core/dist/prompt-builder/model-config.d.ts.map +1 -0
- package/core/dist/prompt-builder/model-config.js +84 -0
- package/core/dist/prompt-builder/model-config.js.map +1 -0
- package/core/dist/prompt-builder/size-guard.d.ts +1 -0
- package/core/dist/prompt-builder/size-guard.d.ts.map +1 -1
- package/core/dist/prompt-builder/size-guard.js +21 -0
- package/core/dist/prompt-builder/size-guard.js.map +1 -1
- package/core/dist/prompt-builder/types.d.ts +2 -0
- package/core/dist/prompt-builder/types.d.ts.map +1 -1
- package/core/dist/prompt-builder/xml-escape.d.ts +12 -0
- package/core/dist/prompt-builder/xml-escape.d.ts.map +1 -0
- package/core/dist/prompt-builder/xml-escape.js +19 -0
- package/core/dist/prompt-builder/xml-escape.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/architecture-regression.test.js +205 -48
- package/core/dist/runtime-v2/__tests__/architecture-regression.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/evidence-chain-intent-tension.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/evidence-chain-intent-tension.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/evidence-chain-intent-tension.test.js +284 -0
- package/core/dist/runtime-v2/__tests__/evidence-chain-intent-tension.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/pain-signal-bridge-result-shaping.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/pain-signal-bridge-result-shaping.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/pain-signal-bridge-result-shaping.test.js +500 -0
- package/core/dist/runtime-v2/__tests__/pain-signal-bridge-result-shaping.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/pain-signal-observability.test.js +7 -5
- package/core/dist/runtime-v2/__tests__/pain-signal-observability.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/pi-artifact-store.test.js +11 -0
- package/core/dist/runtime-v2/__tests__/pi-artifact-store.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/proven-channel-baseline.test.js +15 -2
- package/core/dist/runtime-v2/__tests__/proven-channel-baseline.test.js.map +1 -1
- package/core/dist/runtime-v2/__tests__/schema-float-precision.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/schema-float-precision.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/schema-float-precision.test.js +290 -0
- package/core/dist/runtime-v2/__tests__/schema-float-precision.test.js.map +1 -0
- package/core/dist/runtime-v2/__tests__/schema-orphan-detection.test.d.ts +2 -0
- package/core/dist/runtime-v2/__tests__/schema-orphan-detection.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/__tests__/schema-orphan-detection.test.js +158 -0
- package/core/dist/runtime-v2/__tests__/schema-orphan-detection.test.js.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/approval-store-extended.test.js +15 -1
- package/core/dist/runtime-v2/activation/__tests__/approval-store-extended.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.d.ts +2 -0
- package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.js +62 -0
- package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store-fk.test.js.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js +12 -2
- package/core/dist/runtime-v2/activation/__tests__/sqlite-activation-state-store.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.d.ts +2 -0
- package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.js +56 -0
- package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store-fk.test.js.map +1 -0
- package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store.test.js +8 -0
- package/core/dist/runtime-v2/activation/__tests__/sqlite-approval-store.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js +20 -0
- package/core/dist/runtime-v2/activation/__tests__/story-a-acceptance.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/sqlite-activation-state-store.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/sqlite-activation-state-store.js +6 -0
- package/core/dist/runtime-v2/activation/sqlite-activation-state-store.js.map +1 -1
- package/core/dist/runtime-v2/activation/sqlite-approval-store.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/sqlite-approval-store.js +86 -32
- package/core/dist/runtime-v2/activation/sqlite-approval-store.js.map +1 -1
- package/core/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.js +65 -1
- package/core/dist/runtime-v2/activation/writers/__tests__/rule-host-writer.test.js.map +1 -1
- package/core/dist/runtime-v2/activation/writers/rule-host-writer.d.ts.map +1 -1
- package/core/dist/runtime-v2/activation/writers/rule-host-writer.js +33 -11
- package/core/dist/runtime-v2/activation/writers/rule-host-writer.js.map +1 -1
- package/core/dist/runtime-v2/bridge-result-shaper.d.ts +53 -0
- package/core/dist/runtime-v2/bridge-result-shaper.d.ts.map +1 -0
- package/core/dist/runtime-v2/bridge-result-shaper.js +117 -0
- package/core/dist/runtime-v2/bridge-result-shaper.js.map +1 -0
- package/core/dist/runtime-v2/detection/__tests__/detection-funnel-policy.test.d.ts +13 -0
- package/core/dist/runtime-v2/detection/__tests__/detection-funnel-policy.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/detection/__tests__/detection-funnel-policy.test.js +111 -0
- package/core/dist/runtime-v2/detection/__tests__/detection-funnel-policy.test.js.map +1 -0
- package/core/dist/runtime-v2/detection/detection-funnel-policy.d.ts +103 -0
- package/core/dist/runtime-v2/detection/detection-funnel-policy.d.ts.map +1 -0
- package/core/dist/runtime-v2/detection/detection-funnel-policy.js +135 -0
- package/core/dist/runtime-v2/detection/detection-funnel-policy.js.map +1 -0
- package/core/dist/runtime-v2/detection/index.d.ts +10 -0
- package/core/dist/runtime-v2/detection/index.d.ts.map +1 -0
- package/core/dist/runtime-v2/detection/index.js +9 -0
- package/core/dist/runtime-v2/detection/index.js.map +1 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/diag-rootcause-output.test.js +134 -15
- package/core/dist/runtime-v2/diagnostician/__tests__/diag-rootcause-output.test.js.map +1 -1
- package/core/dist/runtime-v2/diagnostician/__tests__/intent-tension-schema.test.d.ts +18 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/intent-tension-schema.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/intent-tension-schema.test.js +251 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/intent-tension-schema.test.js.map +1 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.js +73 -0
- package/core/dist/runtime-v2/diagnostician/__tests__/rootcause-prompt-builder.test.js.map +1 -1
- package/core/dist/runtime-v2/diagnostician/diag-rootcause-output.d.ts +98 -0
- package/core/dist/runtime-v2/diagnostician/diag-rootcause-output.d.ts.map +1 -1
- package/core/dist/runtime-v2/diagnostician/diag-rootcause-output.js +131 -0
- package/core/dist/runtime-v2/diagnostician/diag-rootcause-output.js.map +1 -1
- package/core/dist/runtime-v2/diagnostician/rootcause-prompt-builder.d.ts +8 -0
- package/core/dist/runtime-v2/diagnostician/rootcause-prompt-builder.d.ts.map +1 -1
- package/core/dist/runtime-v2/diagnostician/rootcause-prompt-builder.js +66 -3
- package/core/dist/runtime-v2/diagnostician/rootcause-prompt-builder.js.map +1 -1
- package/core/dist/runtime-v2/diagnostician-output.d.ts +23 -0
- package/core/dist/runtime-v2/diagnostician-output.d.ts.map +1 -1
- package/core/dist/runtime-v2/diagnostician-output.js +16 -0
- package/core/dist/runtime-v2/diagnostician-output.js.map +1 -1
- package/core/dist/runtime-v2/diagnostician-prompt-builder.d.ts +32 -0
- package/core/dist/runtime-v2/diagnostician-prompt-builder.d.ts.map +1 -1
- package/core/dist/runtime-v2/diagnostician-prompt-builder.js.map +1 -1
- package/core/dist/runtime-v2/evidence-triage/__tests__/observation-resolver.test.d.ts +12 -0
- package/core/dist/runtime-v2/evidence-triage/__tests__/observation-resolver.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/__tests__/observation-resolver.test.js +181 -0
- package/core/dist/runtime-v2/evidence-triage/__tests__/observation-resolver.test.js.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/__tests__/triage-policy.test.js +104 -1
- package/core/dist/runtime-v2/evidence-triage/__tests__/triage-policy.test.js.map +1 -1
- package/core/dist/runtime-v2/evidence-triage/index.d.ts +3 -0
- package/core/dist/runtime-v2/evidence-triage/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/evidence-triage/index.js +3 -0
- package/core/dist/runtime-v2/evidence-triage/index.js.map +1 -1
- package/core/dist/runtime-v2/evidence-triage/observation-resolver.d.ts +128 -0
- package/core/dist/runtime-v2/evidence-triage/observation-resolver.d.ts.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/observation-resolver.js +203 -0
- package/core/dist/runtime-v2/evidence-triage/observation-resolver.js.map +1 -0
- package/core/dist/runtime-v2/evidence-triage/source-descriptors.d.ts +1 -1
- package/core/dist/runtime-v2/evidence-triage/source-descriptors.js +1 -1
- package/core/dist/runtime-v2/evidence-triage/triage-policy.d.ts +4 -0
- package/core/dist/runtime-v2/evidence-triage/triage-policy.d.ts.map +1 -1
- package/core/dist/runtime-v2/evidence-triage/triage-policy.js +66 -9
- package/core/dist/runtime-v2/evidence-triage/triage-policy.js.map +1 -1
- package/core/dist/runtime-v2/evidence-triage/types.d.ts +14 -0
- package/core/dist/runtime-v2/evidence-triage/types.d.ts.map +1 -1
- package/core/dist/runtime-v2/evidence-triage/types.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js +56 -4
- package/core/dist/runtime-v2/feature-flags/__tests__/feature-flag-contract.test.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/__tests__/intent-engineering-flag.test.d.ts +2 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/intent-engineering-flag.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/intent-engineering-flag.test.js +30 -0
- package/core/dist/runtime-v2/feature-flags/__tests__/intent-engineering-flag.test.js.map +1 -0
- package/core/dist/runtime-v2/feature-flags/feature-flag-contract.d.ts.map +1 -1
- package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js +11 -2
- package/core/dist/runtime-v2/feature-flags/feature-flag-contract.js.map +1 -1
- package/core/dist/runtime-v2/feature-flags/plugin-surface-registry.d.ts.map +1 -1
- package/core/dist/runtime-v2/feature-flags/plugin-surface-registry.js +0 -9
- package/core/dist/runtime-v2/feature-flags/plugin-surface-registry.js.map +1 -1
- package/core/dist/runtime-v2/feedback/__tests__/redact-sensitive.test.d.ts +15 -0
- package/core/dist/runtime-v2/feedback/__tests__/redact-sensitive.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/feedback/__tests__/redact-sensitive.test.js +450 -0
- package/core/dist/runtime-v2/feedback/__tests__/redact-sensitive.test.js.map +1 -0
- package/core/dist/runtime-v2/feedback/__tests__/render-github-url.test.d.ts +13 -0
- package/core/dist/runtime-v2/feedback/__tests__/render-github-url.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/feedback/__tests__/render-github-url.test.js +243 -0
- package/core/dist/runtime-v2/feedback/__tests__/render-github-url.test.js.map +1 -0
- package/core/dist/runtime-v2/feedback/__tests__/safe-stringify.test.d.ts +12 -0
- package/core/dist/runtime-v2/feedback/__tests__/safe-stringify.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/feedback/__tests__/safe-stringify.test.js +172 -0
- package/core/dist/runtime-v2/feedback/__tests__/safe-stringify.test.js.map +1 -0
- package/core/dist/runtime-v2/index.d.ts +15 -6
- package/core/dist/runtime-v2/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/index.js +15 -4
- package/core/dist/runtime-v2/index.js.map +1 -1
- package/core/dist/runtime-v2/intent/__tests__/intent-decision-record.test.d.ts +2 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-decision-record.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-decision-record.test.js +185 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-decision-record.test.js.map +1 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-doc.test.d.ts +2 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-doc.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-doc.test.js +91 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-doc.test.js.map +1 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-friction-block.test.d.ts +2 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-friction-block.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-friction-block.test.js +168 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-friction-block.test.js.map +1 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-patch-proposal.test.d.ts +2 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-patch-proposal.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-patch-proposal.test.js +121 -0
- package/core/dist/runtime-v2/intent/__tests__/intent-patch-proposal.test.js.map +1 -0
- package/core/dist/runtime-v2/intent/index.d.ts +6 -0
- package/core/dist/runtime-v2/intent/index.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/index.js +6 -0
- package/core/dist/runtime-v2/intent/index.js.map +1 -0
- package/core/dist/runtime-v2/intent/intent-decision-record.d.ts +125 -0
- package/core/dist/runtime-v2/intent/intent-decision-record.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/intent-decision-record.js +21 -0
- package/core/dist/runtime-v2/intent/intent-decision-record.js.map +1 -0
- package/core/dist/runtime-v2/intent/intent-doc-reader-port.d.ts +95 -0
- package/core/dist/runtime-v2/intent/intent-doc-reader-port.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/intent-doc-reader-port.js +43 -0
- package/core/dist/runtime-v2/intent/intent-doc-reader-port.js.map +1 -0
- package/core/dist/runtime-v2/intent/intent-doc.d.ts +19 -0
- package/core/dist/runtime-v2/intent/intent-doc.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/intent-doc.js +70 -0
- package/core/dist/runtime-v2/intent/intent-doc.js.map +1 -0
- package/core/dist/runtime-v2/intent/intent-friction-block.d.ts +63 -0
- package/core/dist/runtime-v2/intent/intent-friction-block.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/intent-friction-block.js +129 -0
- package/core/dist/runtime-v2/intent/intent-friction-block.js.map +1 -0
- package/core/dist/runtime-v2/intent/intent-patch-proposal.d.ts +42 -0
- package/core/dist/runtime-v2/intent/intent-patch-proposal.d.ts.map +1 -0
- package/core/dist/runtime-v2/intent/intent-patch-proposal.js +81 -0
- package/core/dist/runtime-v2/intent/intent-patch-proposal.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/__fixtures__/intent-tension-cases.d.ts +54 -0
- package/core/dist/runtime-v2/internalization/__tests__/__fixtures__/intent-tension-cases.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/__fixtures__/intent-tension-cases.js +219 -0
- package/core/dist/runtime-v2/internalization/__tests__/__fixtures__/intent-tension-cases.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/c2-live-runner-chain.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/c2-live-runner-chain.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/c2-live-runner-chain.test.js +306 -0
- package/core/dist/runtime-v2/internalization/__tests__/c2-live-runner-chain.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js +360 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-rootcause-intent-tension.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-router-intent-tension.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-router-intent-tension.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-router-intent-tension.test.js +333 -0
- package/core/dist/runtime-v2/internalization/__tests__/diag-router-intent-tension.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/intent-tension-cases.test.d.ts +2 -0
- package/core/dist/runtime-v2/internalization/__tests__/intent-tension-cases.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/internalization/__tests__/intent-tension-cases.test.js +113 -0
- package/core/dist/runtime-v2/internalization/__tests__/intent-tension-cases.test.js.map +1 -0
- package/core/dist/runtime-v2/internalization/diag-rootcause-runner.d.ts +13 -0
- package/core/dist/runtime-v2/internalization/diag-rootcause-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/diag-rootcause-runner.js +42 -0
- package/core/dist/runtime-v2/internalization/diag-rootcause-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/diag-router-runner.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/diag-router-runner.js +27 -0
- package/core/dist/runtime-v2/internalization/diag-router-runner.js.map +1 -1
- package/core/dist/runtime-v2/internalization/index.d.ts +0 -16
- package/core/dist/runtime-v2/internalization/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/internalization/index.js +0 -8
- package/core/dist/runtime-v2/internalization/index.js.map +1 -1
- package/core/dist/runtime-v2/pain-gate/__tests__/pain-diagnostic-gate-policy.test.d.ts +15 -0
- package/core/dist/runtime-v2/pain-gate/__tests__/pain-diagnostic-gate-policy.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/pain-gate/__tests__/pain-diagnostic-gate-policy.test.js +179 -0
- package/core/dist/runtime-v2/pain-gate/__tests__/pain-diagnostic-gate-policy.test.js.map +1 -0
- package/core/dist/runtime-v2/pain-gate/index.d.ts +10 -0
- package/core/dist/runtime-v2/pain-gate/index.d.ts.map +1 -0
- package/core/dist/runtime-v2/pain-gate/index.js +9 -0
- package/core/dist/runtime-v2/pain-gate/index.js.map +1 -0
- package/core/dist/runtime-v2/pain-gate/pain-diagnostic-gate-policy.d.ts +121 -0
- package/core/dist/runtime-v2/pain-gate/pain-diagnostic-gate-policy.d.ts.map +1 -0
- package/core/dist/runtime-v2/pain-gate/pain-diagnostic-gate-policy.js +157 -0
- package/core/dist/runtime-v2/pain-gate/pain-diagnostic-gate-policy.js.map +1 -0
- package/core/dist/runtime-v2/pain-signal-bridge.d.ts.map +1 -1
- package/core/dist/runtime-v2/pain-signal-bridge.js +14 -88
- package/core/dist/runtime-v2/pain-signal-bridge.js.map +1 -1
- package/core/dist/runtime-v2/pain-signal-observability.d.ts.map +1 -1
- package/core/dist/runtime-v2/pain-signal-observability.js +272 -61
- package/core/dist/runtime-v2/pain-signal-observability.js.map +1 -1
- package/core/dist/runtime-v2/pain-signal-runtime-factory.d.ts +12 -0
- package/core/dist/runtime-v2/pain-signal-runtime-factory.d.ts.map +1 -1
- package/core/dist/runtime-v2/pain-signal-runtime-factory.js +1 -1
- package/core/dist/runtime-v2/pain-signal-runtime-factory.js.map +1 -1
- package/core/dist/runtime-v2/pain-to-principle-service.d.ts +6 -0
- package/core/dist/runtime-v2/pain-to-principle-service.d.ts.map +1 -1
- package/core/dist/runtime-v2/pain-to-principle-service.js +2 -0
- package/core/dist/runtime-v2/pain-to-principle-service.js.map +1 -1
- package/core/dist/runtime-v2/principle-tree/ledger-codec.js.map +1 -1
- package/core/dist/runtime-v2/proven-channel-baseline.js +1 -1
- package/core/dist/runtime-v2/proven-channel-baseline.js.map +1 -1
- package/core/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.d.ts +2 -0
- package/core/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.js +55 -0
- package/core/dist/runtime-v2/store/artifact/__tests__/sqlite-pi-artifact-store-fk.test.js.map +1 -0
- package/core/dist/runtime-v2/store/artifact/sqlite-pi-artifact-store.d.ts.map +1 -1
- package/core/dist/runtime-v2/store/artifact/sqlite-pi-artifact-store.js +6 -0
- package/core/dist/runtime-v2/store/artifact/sqlite-pi-artifact-store.js.map +1 -1
- package/core/dist/runtime-v2/store/intent/__tests__/sqlite-intent-decision-store.test.d.ts +2 -0
- package/core/dist/runtime-v2/store/intent/__tests__/sqlite-intent-decision-store.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/store/intent/__tests__/sqlite-intent-decision-store.test.js +272 -0
- package/core/dist/runtime-v2/store/intent/__tests__/sqlite-intent-decision-store.test.js.map +1 -0
- package/core/dist/runtime-v2/store/intent/index.d.ts +6 -0
- package/core/dist/runtime-v2/store/intent/index.d.ts.map +1 -0
- package/core/dist/runtime-v2/store/intent/index.js +5 -0
- package/core/dist/runtime-v2/store/intent/index.js.map +1 -0
- package/core/dist/runtime-v2/store/intent/sqlite-intent-decision-store.d.ts +51 -0
- package/core/dist/runtime-v2/store/intent/sqlite-intent-decision-store.d.ts.map +1 -0
- package/core/dist/runtime-v2/store/intent/sqlite-intent-decision-store.js +306 -0
- package/core/dist/runtime-v2/store/intent/sqlite-intent-decision-store.js.map +1 -0
- package/core/dist/runtime-v2/store/sqlite-connection-pragma.test.js +14 -3
- package/core/dist/runtime-v2/store/sqlite-connection-pragma.test.js.map +1 -1
- package/core/dist/runtime-v2/store/sqlite-connection-schema-version.test.d.ts +2 -0
- package/core/dist/runtime-v2/store/sqlite-connection-schema-version.test.d.ts.map +1 -0
- package/core/dist/runtime-v2/store/sqlite-connection-schema-version.test.js +72 -0
- package/core/dist/runtime-v2/store/sqlite-connection-schema-version.test.js.map +1 -0
- package/core/dist/runtime-v2/store/sqlite-connection.d.ts +27 -0
- package/core/dist/runtime-v2/store/sqlite-connection.d.ts.map +1 -1
- package/core/dist/runtime-v2/store/sqlite-connection.js +124 -12
- package/core/dist/runtime-v2/store/sqlite-connection.js.map +1 -1
- package/core/dist/runtime-v2/types/event-payload.d.ts +1 -20
- package/core/dist/runtime-v2/types/event-payload.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/event-payload.js +0 -12
- package/core/dist/runtime-v2/types/event-payload.js.map +1 -1
- package/core/dist/runtime-v2/types/event-types.d.ts +5 -61
- package/core/dist/runtime-v2/types/event-types.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/event-types.js +2 -36
- package/core/dist/runtime-v2/types/event-types.js.map +1 -1
- package/core/dist/runtime-v2/types/evidence-chain-contract.d.ts +63 -0
- package/core/dist/runtime-v2/types/evidence-chain-contract.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/evidence-chain-contract.js +234 -9
- package/core/dist/runtime-v2/types/evidence-chain-contract.js.map +1 -1
- package/core/dist/runtime-v2/types/index.d.ts +5 -5
- package/core/dist/runtime-v2/types/index.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/index.js +7 -3
- package/core/dist/runtime-v2/types/index.js.map +1 -1
- package/core/dist/runtime-v2/types/ledger-store.d.ts +30 -30
- package/core/dist/runtime-v2/types/ledger-store.d.ts.map +1 -1
- package/core/dist/runtime-v2/types/ledger-store.js +10 -5
- package/core/dist/runtime-v2/types/ledger-store.js.map +1 -1
- package/core/dist/runtime-v2/types/pain-signal.d.ts +2 -2
- package/core/dist/runtime-v2/types/pain-signal.js +2 -2
- package/core/dist/workflow-funnel-loader.d.ts +2 -2
- package/core/dist/workflow-funnel-loader.d.ts.map +1 -1
- package/dist/installer.d.ts.map +1 -1
- package/dist/installer.js +16 -0
- package/dist/installer.js.map +1 -1
- package/dist/mvp-config.d.ts +0 -10
- package/dist/mvp-config.d.ts.map +1 -1
- package/dist/mvp-config.js +0 -65
- package/dist/mvp-config.js.map +1 -1
- package/package.json +1 -1
- package/pd-cli/dist/commands/__tests__/intent-flag-wiring.test.d.ts +9 -0
- package/pd-cli/dist/commands/__tests__/intent-flag-wiring.test.d.ts.map +1 -0
- package/pd-cli/dist/commands/__tests__/intent-flag-wiring.test.js +166 -0
- package/pd-cli/dist/commands/__tests__/intent-flag-wiring.test.js.map +1 -0
- package/pd-cli/dist/commands/intent.d.ts +59 -0
- package/pd-cli/dist/commands/intent.d.ts.map +1 -0
- package/pd-cli/dist/commands/intent.js +350 -0
- package/pd-cli/dist/commands/intent.js.map +1 -0
- package/pd-cli/dist/commands/mvp-smoke.js +1 -1
- package/pd-cli/dist/commands/mvp-smoke.js.map +1 -1
- package/pd-cli/dist/commands/rulecode.js +1 -1
- package/pd-cli/dist/commands/rulecode.js.map +1 -1
- package/pd-cli/dist/commands/runtime-canary.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-canary.js +10 -11
- package/pd-cli/dist/commands/runtime-canary.js.map +1 -1
- package/pd-cli/dist/commands/runtime-init.d.ts +43 -0
- package/pd-cli/dist/commands/runtime-init.d.ts.map +1 -0
- package/pd-cli/dist/commands/runtime-init.js +264 -0
- package/pd-cli/dist/commands/runtime-init.js.map +1 -0
- package/pd-cli/dist/commands/runtime-internalization-queue.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-queue.js +13 -16
- package/pd-cli/dist/commands/runtime-internalization-queue.js.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-run-once.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-run-once.js +3 -0
- package/pd-cli/dist/commands/runtime-internalization-run-once.js.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-run-rulehost.d.ts.map +1 -1
- package/pd-cli/dist/commands/runtime-internalization-run-rulehost.js +61 -7
- package/pd-cli/dist/commands/runtime-internalization-run-rulehost.js.map +1 -1
- package/pd-cli/dist/commands/runtime.js +1 -1
- package/pd-cli/dist/commands/runtime.js.map +1 -1
- package/pd-cli/dist/index.js +92 -34
- package/pd-cli/dist/index.js.map +1 -1
- package/pd-cli/dist/services/__tests__/rulehost-readiness.test.d.ts +2 -0
- package/pd-cli/dist/services/__tests__/rulehost-readiness.test.d.ts.map +1 -0
- package/pd-cli/dist/services/__tests__/rulehost-readiness.test.js +314 -0
- package/pd-cli/dist/services/__tests__/rulehost-readiness.test.js.map +1 -0
- package/pd-cli/dist/services/__tests__/runtime-adapter-resolver.test.js +20 -12
- package/pd-cli/dist/services/__tests__/runtime-adapter-resolver.test.js.map +1 -1
- package/pd-cli/dist/services/demo-story-a-runner.d.ts.map +1 -1
- package/pd-cli/dist/services/demo-story-a-runner.js +6 -0
- package/pd-cli/dist/services/demo-story-a-runner.js.map +1 -1
- package/pd-cli/dist/services/rulehost-readiness.d.ts +62 -0
- package/pd-cli/dist/services/rulehost-readiness.d.ts.map +1 -0
- package/pd-cli/dist/services/rulehost-readiness.js +214 -0
- package/pd-cli/dist/services/rulehost-readiness.js.map +1 -0
- package/pd-cli/dist/services/runtime-adapter-resolver.d.ts +1 -1
- package/pd-cli/dist/services/runtime-adapter-resolver.js +3 -3
- package/pd-cli/dist/services/runtime-adapter-resolver.js.map +1 -1
- package/pd-cli/package.json +1 -0
- package/plugin/dist/commands/evolution-status.js +0 -2
- package/plugin/dist/commands/pain.js +2 -0
- package/plugin/dist/core/control-ui-db.d.ts +11 -0
- package/plugin/dist/core/control-ui-db.js +40 -16
- package/plugin/dist/core/detection-funnel.d.ts +25 -11
- package/plugin/dist/core/detection-funnel.js +32 -80
- package/plugin/dist/core/event-log.d.ts +1 -3
- package/plugin/dist/core/event-log.js +5 -21
- package/plugin/dist/core/evolution-reducer.d.ts +0 -8
- package/plugin/dist/core/evolution-reducer.js +9 -19
- package/plugin/dist/core/intent-doc-reader-adapter.d.ts +28 -0
- package/plugin/dist/core/intent-doc-reader-adapter.js +56 -0
- package/plugin/dist/core/intent-doc-reader.d.ts +80 -0
- package/plugin/dist/core/intent-doc-reader.js +189 -0
- package/plugin/dist/core/pain-diagnostic-gate.d.ts +37 -28
- package/plugin/dist/core/pain-diagnostic-gate.js +53 -89
- package/plugin/dist/core/pain.d.ts +0 -63
- package/plugin/dist/core/pain.js +0 -167
- package/plugin/dist/core/paths.d.ts +0 -1
- package/plugin/dist/core/paths.js +2 -1
- package/plugin/dist/core/principle-tree-ledger.d.ts +27 -79
- package/plugin/dist/core/principle-tree-ledger.js +39 -524
- package/plugin/dist/core/reflection/reflection-context.d.ts +2 -2
- package/plugin/dist/core/schema/migrations/001-init-trajectory.js +3 -6
- package/plugin/dist/core/schema/schema-definitions.js +4 -9
- package/plugin/dist/core/trajectory.d.ts +16 -16
- package/plugin/dist/core/trajectory.js +338 -311
- package/plugin/dist/core/workspace-context.d.ts +2 -3
- package/plugin/dist/hooks/after-tool-call-helpers.d.ts +4 -1
- package/plugin/dist/hooks/after-tool-call-helpers.js +13 -17
- package/plugin/dist/hooks/gate-block-helper.js +57 -17
- package/plugin/dist/hooks/lifecycle.js +3 -6
- package/plugin/dist/hooks/llm.js +66 -26
- package/plugin/dist/hooks/pain.d.ts +3 -1
- package/plugin/dist/hooks/pain.js +124 -49
- package/plugin/dist/hooks/prompt-helpers.d.ts +105 -0
- package/plugin/dist/hooks/prompt-helpers.js +288 -0
- package/plugin/dist/hooks/prompt-types.d.ts +74 -0
- package/plugin/dist/hooks/prompt-types.js +12 -0
- package/plugin/dist/hooks/prompt.d.ts +7 -38
- package/plugin/dist/hooks/prompt.js +433 -338
- package/plugin/dist/hooks/raw-observation-adapter.d.ts +9 -50
- package/plugin/dist/hooks/raw-observation-adapter.js +9 -164
- package/plugin/dist/hooks/raw-observation-types.d.ts +6 -57
- package/plugin/dist/hooks/raw-observation-types.js +5 -9
- package/plugin/dist/hooks/triage-adapter.js +6 -26
- package/plugin/dist/hooks/trigger-cooldown-tracker.d.ts +12 -0
- package/plugin/dist/hooks/trigger-cooldown-tracker.js +25 -0
- package/plugin/dist/index.d.ts +3 -1
- package/plugin/dist/index.js +9 -5
- package/plugin/dist/service/evolution-worker.js +6 -64
- package/plugin/dist/service/runtime-summary-service.d.ts +0 -2
- package/plugin/dist/service/runtime-summary-service.js +1 -5
- package/plugin/dist/service/subagent-workflow/workflow-store.d.ts +14 -0
- package/plugin/dist/service/subagent-workflow/workflow-store.js +91 -2
- package/plugin/dist/types/event-types.d.ts +1 -1
- package/plugin/package.json +6 -3
- package/plugin/scripts/acceptance-test.mjs +3 -3
- package/plugin/scripts/sync-plugin.mjs +33 -22
- package/plugin/templates/langs/en/skills/pd-cli-operator/SKILL.md +20 -11
- package/plugin/templates/langs/en/skills/pd-runtime-v2/SKILL.md +10 -0
- package/plugin/templates/langs/zh/skills/pd-cli-operator/SKILL.md +20 -11
- package/plugin/templates/langs/zh/skills/pd-runtime-v2/SKILL.md +10 -0
- package/console/dist/server/config/feature-flags.d.ts +0 -25
- package/console/dist/server/config/feature-flags.js +0 -101
- package/pd-cli/dist/commands/central-sync.d.ts +0 -10
- package/pd-cli/dist/commands/central-sync.d.ts.map +0 -1
- package/pd-cli/dist/commands/central-sync.js +0 -32
- package/pd-cli/dist/commands/central-sync.js.map +0 -1
- package/pd-cli/dist/services/feature-flag-loader.d.ts +0 -6
- package/pd-cli/dist/services/feature-flag-loader.d.ts.map +0 -1
- package/pd-cli/dist/services/feature-flag-loader.js +0 -53
- package/pd-cli/dist/services/feature-flag-loader.js.map +0 -1
- package/plugin/dist/core/observability.d.ts +0 -40
- package/plugin/dist/core/observability.js +0 -164
- package/plugin/dist/core/principle-tree-ledger-adapter.d.ts +0 -32
- package/plugin/dist/core/principle-tree-ledger-adapter.js +0 -125
- package/plugin/dist/hooks/subagent.d.ts +0 -9
- package/plugin/dist/hooks/subagent.js +0 -122
- package/plugin/dist/service/central-database.d.ts +0 -138
- package/plugin/dist/service/central-database.js +0 -731
- package/plugin/dist/service/central-sync-service.d.ts +0 -8
- package/plugin/dist/service/central-sync-service.js +0 -71
- package/plugin/scripts/validate-live-path.ts +0 -480
|
@@ -1,57 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Raw Observation Adapter — PRI-362
|
|
2
|
+
* Raw Observation Adapter — PRI-362 / PRI-446
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* The source-kind resolution logic and RawObservation builders have been
|
|
5
|
+
* migrated to principles-core (runtime-v2/evidence-triage/observation-resolver.ts).
|
|
5
6
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* 1. isManualEntry → owner_reported
|
|
11
|
-
* 2. isGateBlock → rulehost_block
|
|
12
|
-
* 3. isSubagentError → subagent_error
|
|
13
|
-
* 4. isRateLimit → rate_limit (if true)
|
|
14
|
-
* 5. toolName === 'pain' / 'skill:pain' → agent_on_owner_request (with openclaw_context_bound) / owner_reported
|
|
15
|
-
* 6. failureSource → tool_failure / dispatch_error
|
|
16
|
-
* 7. isGfiTriggered → gfi_threshold
|
|
17
|
-
* 8. detectionSource → llm_paralysis / semantic / empathy_inferred / unknown
|
|
18
|
-
* 9. Fallback → unknown
|
|
7
|
+
* This file is now a thin re-export adapter. It preserves the original export
|
|
8
|
+
* names (resolveSourceKind, buildToolFailureObservation, buildLlmDetectionObservation,
|
|
9
|
+
* RawObservation) so all existing import sites and the source-string
|
|
10
|
+
* characterization tests keep working without changes.
|
|
19
11
|
*
|
|
20
12
|
* ERR checklist:
|
|
21
|
-
* - ERR-
|
|
22
|
-
* - ERR-002: Every path returns a valid SourceKind (fallback to 'unknown').
|
|
23
|
-
* - EP-01: Runtime values validated before use.
|
|
13
|
+
* - ERR-011: re-export adapter, not a local re-definition of migrated logic.
|
|
24
14
|
*/
|
|
25
|
-
|
|
26
|
-
import type { RawObservation } from './raw-observation-types.js';
|
|
15
|
+
export { resolveSourceKind, buildToolFailureObservation, buildLlmDetectionObservation, buildEmpathyObservation, buildManualPainObservation, } from '@principles/core/runtime-v2';
|
|
27
16
|
export type { RawObservation } from './raw-observation-types.js';
|
|
28
|
-
/**
|
|
29
|
-
* Resolve SourceKind from a unified RawObservation.
|
|
30
|
-
*
|
|
31
|
-
* This function replaces the scattered resolveSourceKindFrom* functions
|
|
32
|
-
* and provides a single entry point for source-kind classification.
|
|
33
|
-
*
|
|
34
|
-
* Field precedence is explicitly defined in the function body to ensure
|
|
35
|
-
* deterministic behavior and make the logic easy to understand and test.
|
|
36
|
-
*/
|
|
37
|
-
export declare function resolveSourceKind(observation: RawObservation): SourceKind;
|
|
38
|
-
/**
|
|
39
|
-
* Build a RawObservation for a tool failure context.
|
|
40
|
-
*
|
|
41
|
-
* This replaces classifyToolFailureSource and the inline classification
|
|
42
|
-
* in after-tool-call-helpers. All tool error → dispatch/tool_failure
|
|
43
|
-
* classification is centralized here.
|
|
44
|
-
*/
|
|
45
|
-
export declare function buildToolFailureObservation(options: {
|
|
46
|
-
toolName: string | undefined;
|
|
47
|
-
error: unknown;
|
|
48
|
-
exitCode?: number;
|
|
49
|
-
provenance?: RawObservation['provenance'];
|
|
50
|
-
}): RawObservation;
|
|
51
|
-
/**
|
|
52
|
-
* Build a RawObservation for an LLM detection context.
|
|
53
|
-
*/
|
|
54
|
-
export declare function buildLlmDetectionObservation(options: {
|
|
55
|
-
detectionSource: string;
|
|
56
|
-
isGfiTriggered: boolean;
|
|
57
|
-
}): RawObservation;
|
|
@@ -1,170 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Raw Observation Adapter — PRI-362
|
|
2
|
+
* Raw Observation Adapter — PRI-362 / PRI-446
|
|
3
3
|
*
|
|
4
|
-
*
|
|
4
|
+
* The source-kind resolution logic and RawObservation builders have been
|
|
5
|
+
* migrated to principles-core (runtime-v2/evidence-triage/observation-resolver.ts).
|
|
5
6
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* 1. isManualEntry → owner_reported
|
|
11
|
-
* 2. isGateBlock → rulehost_block
|
|
12
|
-
* 3. isSubagentError → subagent_error
|
|
13
|
-
* 4. isRateLimit → rate_limit (if true)
|
|
14
|
-
* 5. toolName === 'pain' / 'skill:pain' → agent_on_owner_request (with openclaw_context_bound) / owner_reported
|
|
15
|
-
* 6. failureSource → tool_failure / dispatch_error
|
|
16
|
-
* 7. isGfiTriggered → gfi_threshold
|
|
17
|
-
* 8. detectionSource → llm_paralysis / semantic / empathy_inferred / unknown
|
|
18
|
-
* 9. Fallback → unknown
|
|
7
|
+
* This file is now a thin re-export adapter. It preserves the original export
|
|
8
|
+
* names (resolveSourceKind, buildToolFailureObservation, buildLlmDetectionObservation,
|
|
9
|
+
* RawObservation) so all existing import sites and the source-string
|
|
10
|
+
* characterization tests keep working without changes.
|
|
19
11
|
*
|
|
20
12
|
* ERR checklist:
|
|
21
|
-
* - ERR-
|
|
22
|
-
* - ERR-002: Every path returns a valid SourceKind (fallback to 'unknown').
|
|
23
|
-
* - EP-01: Runtime values validated before use.
|
|
24
|
-
*/
|
|
25
|
-
/**
|
|
26
|
-
* Resolve SourceKind from a unified RawObservation.
|
|
27
|
-
*
|
|
28
|
-
* This function replaces the scattered resolveSourceKindFrom* functions
|
|
29
|
-
* and provides a single entry point for source-kind classification.
|
|
30
|
-
*
|
|
31
|
-
* Field precedence is explicitly defined in the function body to ensure
|
|
32
|
-
* deterministic behavior and make the logic easy to understand and test.
|
|
33
|
-
*/
|
|
34
|
-
export function resolveSourceKind(observation) {
|
|
35
|
-
const { isManualEntry, isGateBlock, isSubagentError, isRateLimit, toolName, failureSource, isGfiTriggered, detectionSource, nonZeroExit, timedOut, toolNotFound, } = observation;
|
|
36
|
-
// Priority 1: Manual entry (CLI, owner-reported)
|
|
37
|
-
if (isManualEntry) {
|
|
38
|
-
return 'owner_reported';
|
|
39
|
-
}
|
|
40
|
-
// Priority 2: Gate block
|
|
41
|
-
if (isGateBlock) {
|
|
42
|
-
return 'rulehost_block';
|
|
43
|
-
}
|
|
44
|
-
// Priority 3: Subagent error
|
|
45
|
-
if (isSubagentError) {
|
|
46
|
-
return 'subagent_error';
|
|
47
|
-
}
|
|
48
|
-
// Priority 4: Provider rate limit (explicit true/false)
|
|
49
|
-
if (isRateLimit === true) {
|
|
50
|
-
return 'rate_limit';
|
|
51
|
-
}
|
|
52
|
-
if (isRateLimit === false) {
|
|
53
|
-
return 'provider_failure';
|
|
54
|
-
}
|
|
55
|
-
// Priority 5: Manual pain tool
|
|
56
|
-
if (toolName === 'pain' || toolName === 'skill:pain') {
|
|
57
|
-
// Match resolveSourceKindFromToolFailure behavior:
|
|
58
|
-
// openclaw_context_bound → agent_on_owner_request
|
|
59
|
-
// other provenance or undefined → owner_reported
|
|
60
|
-
if (observation.provenance === 'openclaw_context_bound') {
|
|
61
|
-
return 'agent_on_owner_request';
|
|
62
|
-
}
|
|
63
|
-
return 'owner_reported';
|
|
64
|
-
}
|
|
65
|
-
// Priority 6: GFI threshold (must check before failure source for LLM detection path)
|
|
66
|
-
if (isGfiTriggered) {
|
|
67
|
-
return 'gfi_threshold';
|
|
68
|
-
}
|
|
69
|
-
// Priority 7: Tool failure / dispatch error
|
|
70
|
-
if (failureSource) {
|
|
71
|
-
// Match resolveSourceKindFromToolFailure behavior:
|
|
72
|
-
// dispatch_error → dispatch_error, anything else → tool_failure
|
|
73
|
-
if (failureSource === 'dispatch_error') {
|
|
74
|
-
return 'dispatch_error';
|
|
75
|
-
}
|
|
76
|
-
return 'tool_failure';
|
|
77
|
-
}
|
|
78
|
-
// Infer failureSource from tool failure indicators if not explicitly set
|
|
79
|
-
if (toolNotFound) {
|
|
80
|
-
return 'dispatch_error';
|
|
81
|
-
}
|
|
82
|
-
// Match classifyToolFailureSource behavior: unknown tool name → dispatch_error
|
|
83
|
-
// BUT only if this looks like a tool failure context (has other tool fields)
|
|
84
|
-
// Otherwise, this is likely a non-tool observation (e.g., LLM detection)
|
|
85
|
-
const hasToolContext = toolName !== undefined || nonZeroExit || timedOut || toolNotFound;
|
|
86
|
-
if (hasToolContext && (!toolName || toolName.trim() === '')) {
|
|
87
|
-
return 'dispatch_error';
|
|
88
|
-
}
|
|
89
|
-
// Exit code-based detection: non-zero exit or timeout → tool_failure
|
|
90
|
-
if (nonZeroExit || timedOut) {
|
|
91
|
-
return 'tool_failure';
|
|
92
|
-
}
|
|
93
|
-
// Priority 8: LLM detection source
|
|
94
|
-
if (detectionSource) {
|
|
95
|
-
// Match resolveSourceKindFromLlmDetection behavior:
|
|
96
|
-
if (detectionSource === 'llm_paralysis') {
|
|
97
|
-
return 'llm_paralysis';
|
|
98
|
-
}
|
|
99
|
-
if (detectionSource.startsWith('llm_')) {
|
|
100
|
-
return 'semantic';
|
|
101
|
-
}
|
|
102
|
-
if (detectionSource === 'user_empathy') {
|
|
103
|
-
return 'empathy_inferred';
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
// Fallback: unknown
|
|
107
|
-
return 'unknown';
|
|
108
|
-
}
|
|
109
|
-
// ── Builder Functions ──────────────────────────────────────────────────────
|
|
110
|
-
//
|
|
111
|
-
// PRI-360 S1: These builders construct RawObservation from specific contexts,
|
|
112
|
-
// centralizing source classification rules in the adapter layer.
|
|
113
|
-
// Hooks should NOT hold source classification logic — use these builders.
|
|
114
|
-
/**
|
|
115
|
-
* Classify error message as dispatch_error vs tool_failure.
|
|
116
|
-
*
|
|
117
|
-
* This centralizes the regex-based classification that was previously
|
|
118
|
-
* scattered in classifyToolFailureSource and after-tool-call-helpers.
|
|
119
|
-
* Now hooks call this builder + resolveSourceKind instead of holding rules.
|
|
120
|
-
*/
|
|
121
|
-
function classifyErrorForDispatch(error) {
|
|
122
|
-
if (!error)
|
|
123
|
-
return 'tool_failure';
|
|
124
|
-
const msg = String(error);
|
|
125
|
-
if (/\btool\s+(?:\S+\s+)?not\s+found\b/i.test(msg) || /\bunknown\s+tool\b/i.test(msg)) {
|
|
126
|
-
return 'dispatch_error';
|
|
127
|
-
}
|
|
128
|
-
return 'tool_failure';
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Build a RawObservation for a tool failure context.
|
|
132
|
-
*
|
|
133
|
-
* This replaces classifyToolFailureSource and the inline classification
|
|
134
|
-
* in after-tool-call-helpers. All tool error → dispatch/tool_failure
|
|
135
|
-
* classification is centralized here.
|
|
136
|
-
*/
|
|
137
|
-
export function buildToolFailureObservation(options) {
|
|
138
|
-
const { toolName, error, provenance } = options;
|
|
139
|
-
const nonZeroExit = typeof options.exitCode === 'number' && options.exitCode !== 0;
|
|
140
|
-
// Classify dispatch vs tool_failure centrally
|
|
141
|
-
let failureSource;
|
|
142
|
-
if (!toolName || toolName.trim() === '') {
|
|
143
|
-
// Empty/whitespace tool name → dispatch error
|
|
144
|
-
failureSource = 'dispatch_error';
|
|
145
|
-
}
|
|
146
|
-
else {
|
|
147
|
-
failureSource = classifyErrorForDispatch(error);
|
|
148
|
-
}
|
|
149
|
-
// If neither error nor non-zero exit, this is not a failure context
|
|
150
|
-
if (!error && !nonZeroExit) {
|
|
151
|
-
failureSource = undefined;
|
|
152
|
-
}
|
|
153
|
-
return {
|
|
154
|
-
observedAt: new Date().toISOString(),
|
|
155
|
-
toolName,
|
|
156
|
-
failureSource,
|
|
157
|
-
nonZeroExit,
|
|
158
|
-
provenance,
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Build a RawObservation for an LLM detection context.
|
|
13
|
+
* - ERR-011: re-export adapter, not a local re-definition of migrated logic.
|
|
163
14
|
*/
|
|
164
|
-
export
|
|
165
|
-
return {
|
|
166
|
-
observedAt: new Date().toISOString(),
|
|
167
|
-
detectionSource: options.detectionSource,
|
|
168
|
-
isGfiTriggered: options.isGfiTriggered,
|
|
169
|
-
};
|
|
170
|
-
}
|
|
15
|
+
export { resolveSourceKind, buildToolFailureObservation, buildLlmDetectionObservation, buildEmpathyObservation, buildManualPainObservation, } from '@principles/core/runtime-v2';
|
|
@@ -1,62 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Raw Observation Types — PRI-362
|
|
2
|
+
* Raw Observation Types — PRI-362 / PRI-446
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* observation
|
|
6
|
-
*
|
|
7
|
-
* This replaces scattered resolveSourceKindFrom* functions with a single
|
|
8
|
-
* field-driven adapter.
|
|
4
|
+
* The RawObservation type has been migrated to principles-core
|
|
5
|
+
* (runtime-v2/evidence-triage/observation-resolver.ts). This file re-exports it
|
|
6
|
+
* so existing plugin import sites keep working unchanged.
|
|
9
7
|
*
|
|
10
8
|
* ERR checklist:
|
|
11
|
-
* - ERR-
|
|
12
|
-
* - ERR-002: Every decision carries reason + nextAction.
|
|
13
|
-
* - EP-01: Source adapter validates before use.
|
|
14
|
-
*/
|
|
15
|
-
/**
|
|
16
|
-
* Raw observation from a source adapter.
|
|
17
|
-
*
|
|
18
|
-
* This is the input to resolveSourceKind. It contains all possible
|
|
19
|
-
* context fields that different sources may provide. The adapter
|
|
20
|
-
* reads only the fields it needs based on the observation source.
|
|
9
|
+
* - ERR-011: this is a re-export adapter, not a local re-definition.
|
|
21
10
|
*/
|
|
22
|
-
export
|
|
23
|
-
/** When the observation was made (ISO timestamp) */
|
|
24
|
-
readonly observedAt: string;
|
|
25
|
-
/** Workspace identifier */
|
|
26
|
-
readonly workspaceId?: string;
|
|
27
|
-
/** Session identifier */
|
|
28
|
-
readonly sessionId?: string;
|
|
29
|
-
/** Trace identifier for correlation */
|
|
30
|
-
readonly traceId?: string;
|
|
31
|
-
/** Tool name (for after_tool_call hook) */
|
|
32
|
-
readonly toolName?: string;
|
|
33
|
-
/** Failure source classification */
|
|
34
|
-
readonly failureSource?: 'tool_failure' | 'dispatch_error';
|
|
35
|
-
/** Whether the tool call exited with non-zero code */
|
|
36
|
-
readonly nonZeroExit?: boolean;
|
|
37
|
-
/** Whether the tool call timed out */
|
|
38
|
-
readonly timedOut?: boolean;
|
|
39
|
-
/** Whether the tool does not exist */
|
|
40
|
-
readonly toolNotFound?: boolean;
|
|
41
|
-
/** Detection source identifier */
|
|
42
|
-
readonly detectionSource?: string;
|
|
43
|
-
/** Whether GFI threshold was crossed */
|
|
44
|
-
readonly isGfiTriggered?: boolean;
|
|
45
|
-
/** Whether the failure was a rate limit (429) */
|
|
46
|
-
readonly isRateLimit?: boolean;
|
|
47
|
-
/** Whether this observation came from a gate block */
|
|
48
|
-
readonly isGateBlock?: boolean;
|
|
49
|
-
/** Whether this was a manual CLI entry */
|
|
50
|
-
readonly isManualEntry?: boolean;
|
|
51
|
-
/** Provenance: how trustworthy and context-bound is the observation */
|
|
52
|
-
readonly provenance?: 'openclaw_context_bound' | 'owner_reported_no_host_trace' | 'automatic_hook';
|
|
53
|
-
/** Whether this observation came from a subagent error */
|
|
54
|
-
readonly isSubagentError?: boolean;
|
|
55
|
-
/**
|
|
56
|
-
* Raw payload from the source.
|
|
57
|
-
*
|
|
58
|
-
* This is always `unknown` (ERR-005). Source adapters validate only
|
|
59
|
-
* enough to identify the source and capture bounded context.
|
|
60
|
-
*/
|
|
61
|
-
readonly payload?: unknown;
|
|
62
|
-
}
|
|
11
|
+
export type { RawObservation } from '@principles/core/runtime-v2';
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Raw Observation Types — PRI-362
|
|
2
|
+
* Raw Observation Types — PRI-362 / PRI-446
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* observation
|
|
6
|
-
*
|
|
7
|
-
* This replaces scattered resolveSourceKindFrom* functions with a single
|
|
8
|
-
* field-driven adapter.
|
|
4
|
+
* The RawObservation type has been migrated to principles-core
|
|
5
|
+
* (runtime-v2/evidence-triage/observation-resolver.ts). This file re-exports it
|
|
6
|
+
* so existing plugin import sites keep working unchanged.
|
|
9
7
|
*
|
|
10
8
|
* ERR checklist:
|
|
11
|
-
* - ERR-
|
|
12
|
-
* - ERR-002: Every decision carries reason + nextAction.
|
|
13
|
-
* - EP-01: Source adapter validates before use.
|
|
9
|
+
* - ERR-011: this is a re-export adapter, not a local re-definition.
|
|
14
10
|
*/
|
|
15
11
|
export {};
|
|
@@ -42,38 +42,18 @@ export { resolveSourceKind, buildToolFailureObservation, buildLlmDetectionObserv
|
|
|
42
42
|
* - Falling back to existing behavior when the flag is off
|
|
43
43
|
*/
|
|
44
44
|
export function evaluateEvidenceTriage(sourceKind, score, options) {
|
|
45
|
+
// PRI-446: the risky high-score and repeated-failure upgrade rules now live
|
|
46
|
+
// in core triage-policy.ts (single source of truth). The adapter passes the
|
|
47
|
+
// context flags straight through; core decides whether to upgrade.
|
|
45
48
|
const input = {
|
|
46
49
|
sourceKind,
|
|
47
50
|
score,
|
|
48
51
|
isUnsafeHighConfidence: options?.isUnsafeHighConfidence,
|
|
49
52
|
provenance: options?.provenance,
|
|
53
|
+
isRisky: options?.isRisky,
|
|
54
|
+
consecutiveErrors: options?.consecutiveErrors,
|
|
50
55
|
};
|
|
51
|
-
|
|
52
|
-
// PEAT-B1 upgrade logic: risky high-score overrides evidence_only
|
|
53
|
-
// Matches PainDiagnosticGate.risky_high_score: isRisky && score >= 70 → admit
|
|
54
|
-
if (result.decision === 'evidence_only' &&
|
|
55
|
-
options?.isRisky === true &&
|
|
56
|
-
score >= 70) {
|
|
57
|
-
result = {
|
|
58
|
-
...result,
|
|
59
|
-
decision: 'admit',
|
|
60
|
-
reason: 'Risky high-score operation overrides evidence-only decision. Immediate diagnosis required.',
|
|
61
|
-
nextAction: 'create_diagnostic_task',
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
// PEAT-B1 upgrade logic: repeated failures override evidence_only
|
|
65
|
-
// Threshold: 4 consecutive failures (matches PainDiagnosticGate.repeatedFailure)
|
|
66
|
-
if (result.decision === 'evidence_only' &&
|
|
67
|
-
options?.consecutiveErrors !== undefined &&
|
|
68
|
-
options.consecutiveErrors >= 4) {
|
|
69
|
-
result = {
|
|
70
|
-
...result,
|
|
71
|
-
decision: 'admit',
|
|
72
|
-
reason: 'Repeated failures override evidence-only decision. Pattern suggests systemic issue requiring diagnosis.',
|
|
73
|
-
nextAction: 'create_diagnostic_task',
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
return result;
|
|
56
|
+
return evaluateTriage(input);
|
|
77
57
|
}
|
|
78
58
|
// ── High-Confidence Unsafe Action Detection ──────────────────────────────────
|
|
79
59
|
/**
|
|
@@ -28,3 +28,15 @@ export declare function clearCooldownState(cooldownMap: Map<string, number>): vo
|
|
|
28
28
|
* Get the cooldown timestamp for a given episode (for tests).
|
|
29
29
|
*/
|
|
30
30
|
export declare function getCooldownTimestamp(source: string, sessionId: string | undefined, errorHash: string | undefined, cooldownMap: ReadonlyMap<string, number>): number | undefined;
|
|
31
|
+
/**
|
|
32
|
+
* Check whether cooldown is currently active using the shared Map.
|
|
33
|
+
*/
|
|
34
|
+
export declare function isSharedCooldownActive(source: string, sessionId: string | undefined, errorHash: string | undefined): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Mark an episode as diagnosed using the shared Map.
|
|
37
|
+
*/
|
|
38
|
+
export declare function markSharedEpisodeAsDiagnosed(source: string, sessionId: string | undefined, errorHash: string | undefined): void;
|
|
39
|
+
/**
|
|
40
|
+
* Clear all shared cooldown state (for tests).
|
|
41
|
+
*/
|
|
42
|
+
export declare function resetSharedCooldownForTest(): void;
|
|
@@ -53,3 +53,28 @@ export function getCooldownTimestamp(source, sessionId, errorHash, cooldownMap)
|
|
|
53
53
|
const episodeKey = buildEpisodeKey(source, sessionId, errorHash);
|
|
54
54
|
return cooldownMap.get(episodeKey);
|
|
55
55
|
}
|
|
56
|
+
// ── Shared Cooldown Map (PRI-454) ───────────────────────────────────────────
|
|
57
|
+
//
|
|
58
|
+
// Module-level singleton Map shared across all Gate B paths.
|
|
59
|
+
// Replaces the per-file TRIGGER_COOLDOWN_MAP in after-tool-call-helpers.ts.
|
|
60
|
+
// All paths (gate-block, llm, empathy, manual pain) use this single Map
|
|
61
|
+
// to ensure unified cooldown state.
|
|
62
|
+
const SHARED_COOLDOWN_MAP = new Map();
|
|
63
|
+
/**
|
|
64
|
+
* Check whether cooldown is currently active using the shared Map.
|
|
65
|
+
*/
|
|
66
|
+
export function isSharedCooldownActive(source, sessionId, errorHash) {
|
|
67
|
+
return isCooldownActive(source, sessionId, errorHash, SHARED_COOLDOWN_MAP);
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Mark an episode as diagnosed using the shared Map.
|
|
71
|
+
*/
|
|
72
|
+
export function markSharedEpisodeAsDiagnosed(source, sessionId, errorHash) {
|
|
73
|
+
markEpisodeAsDiagnosed(source, sessionId, errorHash, SHARED_COOLDOWN_MAP);
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Clear all shared cooldown state (for tests).
|
|
77
|
+
*/
|
|
78
|
+
export function resetSharedCooldownForTest() {
|
|
79
|
+
SHARED_COOLDOWN_MAP.clear();
|
|
80
|
+
}
|
package/plugin/dist/index.d.ts
CHANGED
|
@@ -45,6 +45,8 @@ declare const plugin: {
|
|
|
45
45
|
description: string;
|
|
46
46
|
register(api: OpenClawPluginApi): void;
|
|
47
47
|
};
|
|
48
|
-
export { PrincipleTreeLedgerAdapter } from '
|
|
48
|
+
export { PrincipleTreeLedgerAdapter } from '@principles/core/runtime-v2';
|
|
49
49
|
export { loadFeatureFlagFromWorkspace, isRecord };
|
|
50
|
+
export { initTrajectorySchema } from './core/trajectory.js';
|
|
51
|
+
export { initWorkflowSchema } from './service/subagent-workflow/workflow-store.js';
|
|
50
52
|
export default plugin;
|
package/plugin/dist/index.js
CHANGED
|
@@ -31,7 +31,6 @@ import { CorrectionObserverService } from './service/correction-observer-service
|
|
|
31
31
|
import { InternalizationAutoConsumerService } from './service/internalization-auto-consumer-service.js';
|
|
32
32
|
import { TrajectoryService } from './service/trajectory-service.js';
|
|
33
33
|
import { PDTaskService } from './core/pd-task-service.js';
|
|
34
|
-
import { CentralSyncService } from './service/central-sync-service.js';
|
|
35
34
|
import { ensureWorkspaceTemplates } from './core/init.js';
|
|
36
35
|
import { migrateDirectoryStructure } from './core/migration.js';
|
|
37
36
|
import { migrateStaleWorkspaceGuidance } from './core/workspace-guidance-migrator.js';
|
|
@@ -408,9 +407,6 @@ const plugin = {
|
|
|
408
407
|
const guardedPdTask = guardService('service:pd-task', PDTaskService, api.logger);
|
|
409
408
|
if (guardedPdTask)
|
|
410
409
|
api.registerService(guardedPdTask);
|
|
411
|
-
const guardedCentralSync = guardService('service:central-sync', CentralSyncService, api.logger);
|
|
412
|
-
if (guardedCentralSync)
|
|
413
|
-
api.registerService(guardedCentralSync);
|
|
414
410
|
const guardedAutoConsumer = guardService('service:internalization-auto-consumer', InternalizationAutoConsumerService, api.logger);
|
|
415
411
|
if (guardedAutoConsumer)
|
|
416
412
|
api.registerService(guardedAutoConsumer);
|
|
@@ -745,7 +741,15 @@ const plugin = {
|
|
|
745
741
|
});
|
|
746
742
|
}
|
|
747
743
|
};
|
|
748
|
-
|
|
744
|
+
// PrincipleTreeLedgerAdapter is exported from @principles/core/runtime-v2 (canonical,
|
|
745
|
+
// consolidated in PRI-459). The plugin-local duplicate was removed; re-export the core
|
|
746
|
+
// symbol so any external consumer importing from the plugin still resolves it.
|
|
747
|
+
export { PrincipleTreeLedgerAdapter } from '@principles/core/runtime-v2';
|
|
749
748
|
/* istanbul ignore next — test exports for evolution worker gate */
|
|
750
749
|
export { loadFeatureFlagFromWorkspace, isRecord };
|
|
750
|
+
// Schema initialization exports for `pd runtime init` (unified DB init).
|
|
751
|
+
// These functions open the DB in write mode, apply the full schema, and close the DB.
|
|
752
|
+
// They do NOT run runtime side-effects (importLegacyArtifacts, pruneUnreferencedBlobs).
|
|
753
|
+
export { initTrajectorySchema } from './core/trajectory.js';
|
|
754
|
+
export { initWorkflowSchema } from './service/subagent-workflow/workflow-store.js';
|
|
751
755
|
export default plugin;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/* global NodeJS */
|
|
2
2
|
import * as fs from 'fs';
|
|
3
3
|
import * as path from 'path';
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
// DetectionService + DictionaryService imports removed — their only consumer
|
|
5
|
+
// (processDetectionQueue) was dead code retired in PRI-451 Wave 1.
|
|
6
6
|
import { ensureStateTemplates, ensureCorePrinciples } from '../core/init.js';
|
|
7
7
|
import { SystemLogger } from '../core/system-logger.js';
|
|
8
8
|
import { WorkspaceContext } from '../core/workspace-context.js';
|
|
@@ -351,62 +351,8 @@ async function processEvolutionQueue(wctx, logger, _eventLog, _api) {
|
|
|
351
351
|
}
|
|
352
352
|
}
|
|
353
353
|
}
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
try {
|
|
357
|
-
const funnel = DetectionService.get(wctx.stateDir);
|
|
358
|
-
const queue = funnel.flushQueue();
|
|
359
|
-
if (queue.length === 0)
|
|
360
|
-
return;
|
|
361
|
-
if (logger)
|
|
362
|
-
logger.info(`[PD:EvolutionWorker] Processing ${queue.length} items from detection funnel.`);
|
|
363
|
-
const dictionary = DictionaryService.get(wctx.stateDir);
|
|
364
|
-
for (const text of queue) {
|
|
365
|
-
const match = dictionary.match(text);
|
|
366
|
-
if (match) {
|
|
367
|
-
if (eventLog) {
|
|
368
|
-
eventLog.recordRuleMatch(undefined, {
|
|
369
|
-
ruleId: match.ruleId,
|
|
370
|
-
layer: 'L2',
|
|
371
|
-
severity: match.severity,
|
|
372
|
-
textPreview: text.substring(0, 100)
|
|
373
|
-
});
|
|
374
|
-
}
|
|
375
|
-
}
|
|
376
|
-
else {
|
|
377
|
-
// L3 semantic search via trajectory database FTS5 (MEM-04)
|
|
378
|
-
if (wctx.trajectory) {
|
|
379
|
-
const searchResults = wctx.trajectory.searchPainEvents(text, 5);
|
|
380
|
-
if (searchResults.length > 0) {
|
|
381
|
-
const topResult = searchResults[0];
|
|
382
|
-
if (!topResult)
|
|
383
|
-
continue;
|
|
384
|
-
// Found similar pain events - record as L3 semantic hit
|
|
385
|
-
if (eventLog) {
|
|
386
|
-
eventLog.recordRuleMatch(undefined, {
|
|
387
|
-
ruleId: 'l3_semantic',
|
|
388
|
-
layer: 'L3',
|
|
389
|
-
severity: topResult.score,
|
|
390
|
-
textPreview: text.substring(0, 100)
|
|
391
|
-
});
|
|
392
|
-
}
|
|
393
|
-
// Update detection funnel cache with L3 hit result
|
|
394
|
-
funnel.updateCache(text, { detected: true, severity: topResult.score });
|
|
395
|
-
// Don't track as candidate - this is a confirmed L3 hit
|
|
396
|
-
if (logger)
|
|
397
|
-
logger.info(`[PD:EvolutionWorker] L3 semantic hit: found ${searchResults.length} similar pain events for "${text.substring(0, 50)}..."`);
|
|
398
|
-
continue;
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
// No L3 hit — pain candidate tracking removed (D-05)
|
|
402
|
-
}
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
catch (err) {
|
|
406
|
-
if (logger)
|
|
407
|
-
logger.warn(`[PD:EvolutionWorker] Detection queue failed: ${String(err)}`);
|
|
408
|
-
}
|
|
409
|
-
}
|
|
354
|
+
// processDetectionQueue removed (PRI-451 Wave 1): dead code. Its only effects
|
|
355
|
+
// were recordRuleMatch (dead) and searchPainEvents (dead) — see PRI-451.
|
|
410
356
|
// PAIN_CANDIDATES system removed (D-05, D-06): trackPainCandidate and processPromotion deleted
|
|
411
357
|
// Evolution queue is now the single active pain→principle path
|
|
412
358
|
export async function registerEvolutionTaskSession(workspaceResolve, taskId, sessionKey, logger) {
|
|
@@ -544,9 +490,7 @@ export const EvolutionWorkerService = {
|
|
|
544
490
|
cycleResult.queue = queueResult.queue;
|
|
545
491
|
if (queueResult.errors)
|
|
546
492
|
cycleResult.errors.push(...queueResult.errors);
|
|
547
|
-
|
|
548
|
-
await processDetectionQueue(wctx, api, eventLog);
|
|
549
|
-
}
|
|
493
|
+
// processDetectionQueue removed (PRI-451 Wave 1) — was dead code.
|
|
550
494
|
// processPromotion removed (D-06) — promotion via PAIN_CANDIDATES no longer needed
|
|
551
495
|
// Correction Observer extracted to independent service (PRI-293) — no longer runs on EvolutionWorker heartbeat
|
|
552
496
|
try {
|
|
@@ -630,9 +574,7 @@ export const EvolutionWorkerService = {
|
|
|
630
574
|
if (queueResult.errors.length > 0) {
|
|
631
575
|
queueResult.errors.forEach((e) => logger?.error?.(`[PD:EvolutionWorker] Startup cycle error: ${e}`));
|
|
632
576
|
}
|
|
633
|
-
|
|
634
|
-
await processDetectionQueue(wctx, api, eventLog);
|
|
635
|
-
}
|
|
577
|
+
// processDetectionQueue removed (PRI-451 Wave 1) — was dead code.
|
|
636
578
|
// processPromotion removed (D-06)
|
|
637
579
|
timeoutId = setTimeout(runCycle, interval);
|
|
638
580
|
timeoutId.unref();
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as fs from 'fs';
|
|
2
2
|
import Database from 'better-sqlite3';
|
|
3
3
|
import * as path from 'path';
|
|
4
|
-
import { readPainFlagData } from '../core/pain.js';
|
|
5
4
|
import { listSessions } from '../core/session-tracker.js';
|
|
6
5
|
import { WorkspaceContext } from '../core/workspace-context.js';
|
|
7
6
|
import { evaluatePhase3Inputs } from './phase3-input-filter.js';
|
|
@@ -17,7 +16,7 @@ function pushWarning(warnings, message) {
|
|
|
17
16
|
}
|
|
18
17
|
}
|
|
19
18
|
/**
|
|
20
|
-
* YAML-SSOT-03: resolve a dot-path (e.g. 'evolution.
|
|
19
|
+
* YAML-SSOT-03: resolve a dot-path (e.g. 'evolution.rulehostEvaluated') from dailyStats.
|
|
21
20
|
* Returns { count, resolvable } to distinguish "field not found / non-numeric" from "legitimate zero".
|
|
22
21
|
*/
|
|
23
22
|
function resolveStatsField(stats, dotPath) {
|
|
@@ -130,7 +129,6 @@ export class RuntimeSummaryService {
|
|
|
130
129
|
const directive = this.readJsonFile(wctx.resolve('EVOLUTION_DIRECTIVE'), warnings, false);
|
|
131
130
|
const queueStats = this.buildQueueStats(queue);
|
|
132
131
|
const directiveSummary = this.buildDirectiveSummary(queue, directive, generatedAt, warnings);
|
|
133
|
-
const painFlag = readPainFlagData(workspaceDir);
|
|
134
132
|
const painCandidates = this.readJsonFile(wctx.resolve('PAIN_CANDIDATES'), warnings, false);
|
|
135
133
|
const phase3Inputs = evaluatePhase3Inputs(queue ?? []);
|
|
136
134
|
const lastPainSignal = this.findLastPainSignal(events, selectedSessionId);
|
|
@@ -239,8 +237,6 @@ export class RuntimeSummaryService {
|
|
|
239
237
|
eligibilitySource: 'runtime_truth',
|
|
240
238
|
},
|
|
241
239
|
pain: {
|
|
242
|
-
activeFlag: Object.keys(painFlag).length > 0,
|
|
243
|
-
activeFlagSource: painFlag.source || null,
|
|
244
240
|
candidates: painCandidates?.candidates && typeof painCandidates.candidates === 'object'
|
|
245
241
|
? Object.keys(painCandidates.candidates).length
|
|
246
242
|
: null,
|
|
@@ -28,3 +28,17 @@ export declare class WorkflowStore {
|
|
|
28
28
|
recordDuration(workflowId: string, durationMs: number): void;
|
|
29
29
|
getCompletionDurations(workflowType: string, limit?: number): number[];
|
|
30
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Initialize subagent_workflows.db schema at the given workspace directory.
|
|
33
|
+
*
|
|
34
|
+
* Opens the DB in write mode, applies the full schema (tables + indexes + migrations),
|
|
35
|
+
* then closes the DB. Used by `pd runtime init` for unified DB initialization.
|
|
36
|
+
*
|
|
37
|
+
* Idempotent: safe to call on an existing DB; all CREATE statements use IF NOT EXISTS.
|
|
38
|
+
*
|
|
39
|
+
* @returns list of created/verified table names and any warnings
|
|
40
|
+
*/
|
|
41
|
+
export declare function initWorkflowSchema(workspaceDir: string): {
|
|
42
|
+
tables: string[];
|
|
43
|
+
warnings: string[];
|
|
44
|
+
};
|