@remnic/core 9.3.694 → 9.3.695
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/access-boundary.d.ts +12 -11
- package/dist/access-boundary.js +34 -28
- package/dist/access-cli.js +60 -59
- package/dist/access-cli.js.map +1 -1
- package/dist/access-http.d.ts +12 -11
- package/dist/access-http.js +38 -32
- package/dist/access-mcp.d.ts +12 -11
- package/dist/access-mcp.js +37 -31
- package/dist/access-operations.d.ts +12 -11
- package/dist/access-operations.js +36 -30
- package/dist/access-schema.js +3 -3
- package/dist/{access-service-Ceq4TdPO.d.ts → access-service-BqBQeUJd.d.ts} +15 -2
- package/dist/access-service.d.ts +8 -7
- package/dist/access-service.js +33 -27
- package/dist/access-surface-catalog.d.ts +12 -11
- package/dist/action-confidence.d.ts +1 -1
- package/dist/active-memory-bridge.d.ts +1 -1
- package/dist/active-recall.d.ts +1 -1
- package/dist/active-recall.js +1 -1
- package/dist/{auto-sync-RWXT6P5M.js → auto-sync-PFW2NJZY.js} +8 -8
- package/dist/behavior-learner.d.ts +1 -1
- package/dist/behavior-signals.d.ts +1 -1
- package/dist/bootstrap.d.ts +9 -8
- package/dist/briefing.d.ts +1 -1
- package/dist/briefing.js +12 -5
- package/dist/buffer-surprise-report.d.ts +1 -1
- package/dist/buffer.d.ts +1 -1
- package/dist/calibration.d.ts +1 -1
- package/dist/calibration.js +2 -2
- package/dist/capabilities.d.ts +1 -1
- package/dist/{capsule-crypto-7FJQINUR.js → capsule-crypto-YO5QJ6L3.js} +2 -2
- package/dist/{catalog-Tkb991rg.d.ts → catalog-D7YDNNF7.d.ts} +1 -1
- package/dist/causal-behavior.d.ts +1 -1
- package/dist/causal-behavior.js +2 -2
- package/dist/causal-chain.js +2 -2
- package/dist/causal-consolidation.d.ts +1 -1
- package/dist/causal-consolidation.js +17 -16
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/causal-retrieval.js +2 -2
- package/dist/causal-trajectory-graph.js +2 -2
- package/dist/causal-trajectory.js +1 -1
- package/dist/{chunk-UPTZYUYJ.js → chunk-24D66MMN.js} +2 -1
- package/dist/chunk-24D66MMN.js.map +1 -0
- package/dist/{chunk-FCH766FX.js → chunk-32XTY2DQ.js} +51 -51
- package/dist/{chunk-YN4ZT4CW.js → chunk-3LYJIA76.js} +1 -1
- package/dist/{chunk-24FCDBJV.js → chunk-3P2XEQSV.js} +2 -2
- package/dist/{chunk-JIKBEDSB.js → chunk-4NNDJOAO.js} +8 -8
- package/dist/{chunk-EPVIBPVE.js → chunk-52QIAN76.js} +2 -2
- package/dist/chunk-5AT62NQH.js +553 -0
- package/dist/chunk-5AT62NQH.js.map +1 -0
- package/dist/{chunk-TAPSNIMA.js → chunk-5CEJH5ZN.js} +4 -4
- package/dist/{chunk-4RGWCRIJ.js → chunk-5TYA4OCF.js} +4 -4
- package/dist/{chunk-PILLH262.js → chunk-6GAUF4OU.js} +3 -3
- package/dist/{chunk-QXWQ5V24.js → chunk-AF6DSAWD.js} +2 -2
- package/dist/{chunk-2NLLXCJG.js → chunk-BXLOS5AJ.js} +2 -2
- package/dist/{chunk-32KD5IHZ.js → chunk-CLXTDOKV.js} +2 -2
- package/dist/{chunk-ARV3AUOM.js → chunk-DL6H3D7S.js} +2 -2
- package/dist/{chunk-X7Y7WX73.js → chunk-DQEMWVMT.js} +1 -1
- package/dist/{chunk-KCRV3HVN.js → chunk-EC3A6M43.js} +2 -2
- package/dist/{chunk-PNW4KKJX.js → chunk-EK6FYL2E.js} +27 -1
- package/dist/chunk-EK6FYL2E.js.map +1 -0
- package/dist/{chunk-YI3KC2B5.js → chunk-FZMH66NT.js} +2 -2
- package/dist/{chunk-DT2ZGQT7.js → chunk-G663XUEG.js} +2 -2
- package/dist/{chunk-TYEOAFH3.js → chunk-G6SVZWPB.js} +10 -1
- package/dist/chunk-G6SVZWPB.js.map +1 -0
- package/dist/{chunk-CDOIDOTQ.js → chunk-HKET3ZOI.js} +4 -4
- package/dist/{chunk-YOI3ELXF.js → chunk-IF362TF6.js} +2 -2
- package/dist/{chunk-UX5QTAFE.js → chunk-J45OCIVH.js} +2 -2
- package/dist/{chunk-UDJLF3BO.js → chunk-JI6HWBYL.js} +2 -2
- package/dist/{chunk-ECZPWSB5.js → chunk-JJT3AGL4.js} +4 -4
- package/dist/{chunk-6C4WHMKV.js → chunk-JMAKCWJ3.js} +6 -6
- package/dist/{chunk-4NFVPDIL.js → chunk-LM6JB2EG.js} +2 -2
- package/dist/{chunk-MOGFK2DU.js → chunk-LPIWEKZ3.js} +2 -2
- package/dist/{chunk-LD53WPMU.js → chunk-LQ6JI4VH.js} +4 -4
- package/dist/{chunk-IZLNJYLX.js → chunk-MNFAGE5D.js} +2 -2
- package/dist/{chunk-NXNUG7IA.js → chunk-MOBRVKWE.js} +23 -12
- package/dist/chunk-MOBRVKWE.js.map +1 -0
- package/dist/{chunk-5A35EGHM.js → chunk-N4PD5IY3.js} +35 -35
- package/dist/{chunk-PQP6MFPL.js → chunk-NFMDHE45.js} +2 -2
- package/dist/{chunk-WVTNZUER.js → chunk-NLZO5NO6.js} +2 -2
- package/dist/{chunk-5S53ZBPH.js → chunk-Q6ZHGGNJ.js} +2 -2
- package/dist/{chunk-SN5DFE34.js → chunk-Q7SFJURX.js} +2 -2
- package/dist/{chunk-MXZWKOOR.js → chunk-QJM2XAJD.js} +11 -11
- package/dist/{chunk-6ZNIUGXB.js → chunk-QQW2LIEA.js} +4 -4
- package/dist/{chunk-ZKD3UVEO.js → chunk-QVTSLRKT.js} +3 -3
- package/dist/{chunk-C5AOVGVC.js → chunk-RWST6NOL.js} +166 -102
- package/dist/chunk-RWST6NOL.js.map +1 -0
- package/dist/{chunk-YXZPKBFW.js → chunk-SPVIG2R3.js} +10 -10
- package/dist/{chunk-B55EAZNF.js → chunk-TIVZ4MCG.js} +2 -2
- package/dist/{chunk-5KBNNUXS.js → chunk-TT7BJWGI.js} +2 -2
- package/dist/{chunk-KQAFEZQX.js → chunk-VDX2J7OX.js} +2 -2
- package/dist/{chunk-E6BOD3UJ.js → chunk-VPAFWWCL.js} +2 -2
- package/dist/{chunk-D7PQ7HZL.js → chunk-W54EAJT4.js} +2 -2
- package/dist/{chunk-QVG4LAQO.js → chunk-WR6KFJKA.js} +7 -7
- package/dist/{chunk-YQGHW5ML.js → chunk-WRFKZEO6.js} +4 -4
- package/dist/{chunk-SJGTY2TW.js → chunk-XUNQLJT2.js} +6 -6
- package/dist/{chunk-P7IDNF7H.js → chunk-XWT4JXXA.js} +2 -2
- package/dist/{chunk-MSUA4KAK.js → chunk-XXA6T3O4.js} +2 -2
- package/dist/{chunk-KF74X62T.js → chunk-YGKUAX2B.js} +4 -4
- package/dist/{chunk-YWYZPKK3.js → chunk-YOZNTNNA.js} +2 -2
- package/dist/{chunk-U62ZGWU7.js → chunk-ZXUOAFUG.js} +1 -1
- package/dist/chunk-ZXUOAFUG.js.map +1 -0
- package/dist/{cli-CxtZyBLl.d.ts → cli-DBDgdvh9.d.ts} +3 -3
- package/dist/cli.d.ts +11 -10
- package/dist/cli.js +56 -50
- package/dist/compounding/engine.d.ts +1 -1
- package/dist/compounding/engine.js +12 -5
- package/dist/compounding/preference-consolidator.d.ts +1 -1
- package/dist/compression-optimizer.d.ts +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.js +1 -1
- package/dist/connectors/codex-materialize-runner.d.ts +1 -1
- package/dist/connectors/codex-materialize-runner.js +12 -5
- package/dist/connectors/codex-materialize.d.ts +1 -1
- package/dist/connectors/index.d.ts +1 -1
- package/dist/connectors/index.js +12 -5
- package/dist/consolidation-provenance-check.d.ts +3 -3
- package/dist/consolidation-undo.d.ts +2 -2
- package/dist/contradiction/index.d.ts +1 -1
- package/dist/conversation-index/backend.d.ts +1 -1
- package/dist/conversation-index/chunker.d.ts +1 -1
- package/dist/conversation-index/faiss-adapter.d.ts +1 -1
- package/dist/conversation-index/indexer.d.ts +1 -1
- package/dist/conversation-index/search.d.ts +1 -1
- package/dist/day-summary.d.ts +1 -1
- package/dist/delinearize.d.ts +1 -1
- package/dist/direct-answer-wiring.d.ts +1 -1
- package/dist/direct-answer.d.ts +1 -1
- package/dist/embedding-fallback.d.ts +1 -1
- package/dist/enrichment/index.d.ts +1 -1
- package/dist/entity-retrieval.d.ts +1 -1
- package/dist/entity-retrieval.js +13 -5
- package/dist/entity-schema.d.ts +1 -1
- package/dist/explicit-capture.d.ts +9 -8
- package/dist/extraction-faithfulness.d.ts +211 -0
- package/dist/extraction-faithfulness.js +35 -0
- package/dist/extraction-judge-telemetry.d.ts +1 -1
- package/dist/extraction-judge-training.d.ts +1 -1
- package/dist/extraction-judge.d.ts +1 -1
- package/dist/extraction-judge.js +4 -4
- package/dist/extraction.d.ts +1 -1
- package/dist/extraction.js +7 -7
- package/dist/fallback-llm.d.ts +1 -1
- package/dist/fallback-llm.js +2 -2
- package/dist/{graph-edge-decay-D7OESCBR.js → graph-edge-decay-JLOF3YW4.js} +3 -3
- package/dist/graph-snapshot.js +3 -3
- package/dist/graph.js +2 -2
- package/dist/identity-continuity.d.ts +1 -1
- package/dist/importance.d.ts +1 -1
- package/dist/index.d.ts +12 -11
- package/dist/index.js +96 -95
- package/dist/index.js.map +1 -1
- package/dist/intent.d.ts +1 -1
- package/dist/lcm/engine.d.ts +1 -1
- package/dist/lcm/index.d.ts +1 -1
- package/dist/lcm/index.js +3 -3
- package/dist/lcm/tools.d.ts +1 -1
- package/dist/lifecycle.d.ts +1 -1
- package/dist/live-connectors-runner.d.ts +1 -1
- package/dist/local-llm.d.ts +1 -1
- package/dist/local-llm.js +1 -1
- package/dist/maintenance/memory-governance.d.ts +1 -1
- package/dist/maintenance/memory-governance.js +13 -5
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +13 -5
- package/dist/maintenance/rebuild-memory-projection.js +14 -6
- package/dist/mcp-memory-inspector-app.d.ts +12 -11
- package/dist/memory-action-policy.d.ts +1 -1
- package/dist/memory-cache.d.ts +1 -1
- package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
- package/dist/memory-projection-store.d.ts +1 -1
- package/dist/memory-provenance.d.ts +1 -1
- package/dist/memory-worth-outcomes.d.ts +1 -1
- package/dist/models-json.d.ts +1 -1
- package/dist/namespaces/migrate.d.ts +2 -2
- package/dist/namespaces/migrate.js +20 -12
- package/dist/namespaces/principal.d.ts +1 -1
- package/dist/namespaces/search.d.ts +1 -1
- package/dist/namespaces/search.js +6 -6
- package/dist/namespaces/storage.d.ts +2 -2
- package/dist/namespaces/storage.js +13 -5
- package/dist/native-knowledge.d.ts +1 -1
- package/dist/operator-toolkit.d.ts +1 -1
- package/dist/operator-toolkit.js +26 -19
- package/dist/orchestration/maintenance.d.ts +2 -2
- package/dist/orchestration/maintenance.js +15 -7
- package/dist/{orchestrator-CnbxRQs8.d.ts → orchestrator-Dv8JQu3-.d.ts} +20 -3
- package/dist/orchestrator.d.ts +6 -5
- package/dist/orchestrator.js +47 -46
- package/dist/patterns-cli.d.ts +1 -1
- package/dist/policy-runtime.d.ts +1 -1
- package/dist/provenance.d.ts +1 -1
- package/dist/qmd-recall-cache.d.ts +1 -1
- package/dist/qmd.d.ts +1 -1
- package/dist/recall-disclosure-escalation.d.ts +1 -1
- package/dist/recall-explain-renderer.d.ts +1 -1
- package/dist/recall-explain-renderer.js +3 -3
- package/dist/recall-planner-llm.d.ts +1 -1
- package/dist/recall-planner-llm.js +2 -2
- package/dist/recall-state.d.ts +1 -1
- package/dist/recall-tag-filter.d.ts +1 -1
- package/dist/recall-xray-cli.d.ts +1 -1
- package/dist/recall-xray-cli.js +4 -4
- package/dist/recall-xray-renderer.d.ts +1 -1
- package/dist/recall-xray-renderer.js +3 -3
- package/dist/recall-xray.d.ts +1 -1
- package/dist/recall-xray.js +2 -2
- package/dist/resolve-auth-token.d.ts +1 -1
- package/dist/resume-bundles.js +2 -2
- package/dist/retrieval-agents.d.ts +1 -1
- package/dist/retrieval-tiers.d.ts +1 -1
- package/dist/routing/engine.d.ts +1 -1
- package/dist/routing/store.d.ts +1 -1
- package/dist/search/embed-helper.d.ts +1 -1
- package/dist/search/factory.d.ts +1 -1
- package/dist/search/factory.js +5 -5
- package/dist/search/index.d.ts +1 -1
- package/dist/search/index.js +5 -5
- package/dist/search/lancedb-backend.d.ts +1 -1
- package/dist/search/lancedb-backend.js +2 -2
- package/dist/search/meilisearch-backend.d.ts +1 -1
- package/dist/search/meilisearch-backend.js +2 -2
- package/dist/search/noop-backend.d.ts +1 -1
- package/dist/search/orama-backend.d.ts +1 -1
- package/dist/search/orama-backend.js +2 -2
- package/dist/search/port.d.ts +1 -1
- package/dist/search/remote-backend.d.ts +1 -1
- package/dist/{semantic-consolidation-DXmtQ_4B.d.ts → semantic-consolidation-CgREi9E0.d.ts} +1 -1
- package/dist/semantic-consolidation.d.ts +2 -2
- package/dist/semantic-consolidation.js +13 -6
- package/dist/semantic-rule-promotion.js +13 -5
- package/dist/semantic-rule-verifier.d.ts +1 -1
- package/dist/semantic-rule-verifier.js +13 -5
- package/dist/session-observer-bands.d.ts +1 -1
- package/dist/session-observer-state.d.ts +1 -1
- package/dist/shared-context/manager.d.ts +1 -1
- package/dist/signal.d.ts +1 -1
- package/dist/{state-NCHQ4TRG.js → state-ITXJKXRE.js} +2 -2
- package/dist/storage.d.ts +11 -1
- package/dist/storage.js +12 -4
- package/dist/summarizer.d.ts +1 -1
- package/dist/summarizer.js +6 -6
- package/dist/summary-snapshot.d.ts +1 -1
- package/dist/temporal-supersession.d.ts +1 -1
- package/dist/temporal-validity.d.ts +1 -1
- package/dist/threading.d.ts +1 -1
- package/dist/tier-migration.d.ts +1 -1
- package/dist/tier-routing.d.ts +1 -1
- package/dist/topics.d.ts +1 -1
- package/dist/{trace-WM7V4CKI.js → trace-ZFVRH4GO.js} +3 -3
- package/dist/transcript.d.ts +1 -1
- package/dist/transfer/backup.js +2 -2
- package/dist/transfer/capsule-export.js +2 -2
- package/dist/transfer/capsule-import.js +2 -2
- package/dist/{tui-RI7P6PBS.js → tui-55UJMJX7.js} +3 -3
- package/dist/tui-55UJMJX7.js.map +1 -0
- package/dist/{types-CEWBmjCH.d.ts → types-CeZYSC-E.d.ts} +37 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.js +1 -1
- package/dist/utility-runtime.d.ts +1 -1
- package/dist/verified-recall.js +13 -5
- package/package.json +2 -2
- package/src/config.test.ts +16 -0
- package/src/config.ts +30 -0
- package/src/console/state.ts +32 -0
- package/src/extraction-faithfulness.test.ts +1112 -0
- package/src/extraction-faithfulness.ts +993 -0
- package/src/faithfulness-graph-guard.test.ts +252 -0
- package/src/local-llm.ts +1 -0
- package/src/orchestrator.ts +169 -45
- package/src/storage.ts +19 -0
- package/src/types.ts +47 -0
- package/dist/chunk-C5AOVGVC.js.map +0 -1
- package/dist/chunk-NXNUG7IA.js.map +0 -1
- package/dist/chunk-PNW4KKJX.js.map +0 -1
- package/dist/chunk-TYEOAFH3.js.map +0 -1
- package/dist/chunk-U62ZGWU7.js.map +0 -1
- package/dist/chunk-UPTZYUYJ.js.map +0 -1
- /package/dist/{auto-sync-RWXT6P5M.js.map → auto-sync-PFW2NJZY.js.map} +0 -0
- /package/dist/{capsule-crypto-7FJQINUR.js.map → capsule-crypto-YO5QJ6L3.js.map} +0 -0
- /package/dist/{chunk-FCH766FX.js.map → chunk-32XTY2DQ.js.map} +0 -0
- /package/dist/{chunk-YN4ZT4CW.js.map → chunk-3LYJIA76.js.map} +0 -0
- /package/dist/{chunk-24FCDBJV.js.map → chunk-3P2XEQSV.js.map} +0 -0
- /package/dist/{chunk-JIKBEDSB.js.map → chunk-4NNDJOAO.js.map} +0 -0
- /package/dist/{chunk-EPVIBPVE.js.map → chunk-52QIAN76.js.map} +0 -0
- /package/dist/{chunk-TAPSNIMA.js.map → chunk-5CEJH5ZN.js.map} +0 -0
- /package/dist/{chunk-4RGWCRIJ.js.map → chunk-5TYA4OCF.js.map} +0 -0
- /package/dist/{chunk-PILLH262.js.map → chunk-6GAUF4OU.js.map} +0 -0
- /package/dist/{chunk-QXWQ5V24.js.map → chunk-AF6DSAWD.js.map} +0 -0
- /package/dist/{chunk-2NLLXCJG.js.map → chunk-BXLOS5AJ.js.map} +0 -0
- /package/dist/{chunk-32KD5IHZ.js.map → chunk-CLXTDOKV.js.map} +0 -0
- /package/dist/{chunk-ARV3AUOM.js.map → chunk-DL6H3D7S.js.map} +0 -0
- /package/dist/{chunk-X7Y7WX73.js.map → chunk-DQEMWVMT.js.map} +0 -0
- /package/dist/{chunk-KCRV3HVN.js.map → chunk-EC3A6M43.js.map} +0 -0
- /package/dist/{chunk-YI3KC2B5.js.map → chunk-FZMH66NT.js.map} +0 -0
- /package/dist/{chunk-DT2ZGQT7.js.map → chunk-G663XUEG.js.map} +0 -0
- /package/dist/{chunk-CDOIDOTQ.js.map → chunk-HKET3ZOI.js.map} +0 -0
- /package/dist/{chunk-YOI3ELXF.js.map → chunk-IF362TF6.js.map} +0 -0
- /package/dist/{chunk-UX5QTAFE.js.map → chunk-J45OCIVH.js.map} +0 -0
- /package/dist/{chunk-UDJLF3BO.js.map → chunk-JI6HWBYL.js.map} +0 -0
- /package/dist/{chunk-ECZPWSB5.js.map → chunk-JJT3AGL4.js.map} +0 -0
- /package/dist/{chunk-6C4WHMKV.js.map → chunk-JMAKCWJ3.js.map} +0 -0
- /package/dist/{chunk-4NFVPDIL.js.map → chunk-LM6JB2EG.js.map} +0 -0
- /package/dist/{chunk-MOGFK2DU.js.map → chunk-LPIWEKZ3.js.map} +0 -0
- /package/dist/{chunk-LD53WPMU.js.map → chunk-LQ6JI4VH.js.map} +0 -0
- /package/dist/{chunk-IZLNJYLX.js.map → chunk-MNFAGE5D.js.map} +0 -0
- /package/dist/{chunk-5A35EGHM.js.map → chunk-N4PD5IY3.js.map} +0 -0
- /package/dist/{chunk-PQP6MFPL.js.map → chunk-NFMDHE45.js.map} +0 -0
- /package/dist/{chunk-WVTNZUER.js.map → chunk-NLZO5NO6.js.map} +0 -0
- /package/dist/{chunk-5S53ZBPH.js.map → chunk-Q6ZHGGNJ.js.map} +0 -0
- /package/dist/{chunk-SN5DFE34.js.map → chunk-Q7SFJURX.js.map} +0 -0
- /package/dist/{chunk-MXZWKOOR.js.map → chunk-QJM2XAJD.js.map} +0 -0
- /package/dist/{chunk-6ZNIUGXB.js.map → chunk-QQW2LIEA.js.map} +0 -0
- /package/dist/{chunk-ZKD3UVEO.js.map → chunk-QVTSLRKT.js.map} +0 -0
- /package/dist/{chunk-YXZPKBFW.js.map → chunk-SPVIG2R3.js.map} +0 -0
- /package/dist/{chunk-B55EAZNF.js.map → chunk-TIVZ4MCG.js.map} +0 -0
- /package/dist/{chunk-5KBNNUXS.js.map → chunk-TT7BJWGI.js.map} +0 -0
- /package/dist/{chunk-KQAFEZQX.js.map → chunk-VDX2J7OX.js.map} +0 -0
- /package/dist/{chunk-E6BOD3UJ.js.map → chunk-VPAFWWCL.js.map} +0 -0
- /package/dist/{chunk-D7PQ7HZL.js.map → chunk-W54EAJT4.js.map} +0 -0
- /package/dist/{chunk-QVG4LAQO.js.map → chunk-WR6KFJKA.js.map} +0 -0
- /package/dist/{chunk-YQGHW5ML.js.map → chunk-WRFKZEO6.js.map} +0 -0
- /package/dist/{chunk-SJGTY2TW.js.map → chunk-XUNQLJT2.js.map} +0 -0
- /package/dist/{chunk-P7IDNF7H.js.map → chunk-XWT4JXXA.js.map} +0 -0
- /package/dist/{chunk-MSUA4KAK.js.map → chunk-XXA6T3O4.js.map} +0 -0
- /package/dist/{chunk-KF74X62T.js.map → chunk-YGKUAX2B.js.map} +0 -0
- /package/dist/{chunk-YWYZPKK3.js.map → chunk-YOZNTNNA.js.map} +0 -0
- /package/dist/{state-NCHQ4TRG.js.map → extraction-faithfulness.js.map} +0 -0
- /package/dist/{graph-edge-decay-D7OESCBR.js.map → graph-edge-decay-JLOF3YW4.js.map} +0 -0
- /package/dist/{tui-RI7P6PBS.js.map → state-ITXJKXRE.js.map} +0 -0
- /package/dist/{trace-WM7V4CKI.js.map → trace-ZFVRH4GO.js.map} +0 -0
|
@@ -1345,6 +1345,14 @@ interface PluginConfig {
|
|
|
1345
1345
|
* location.
|
|
1346
1346
|
*/
|
|
1347
1347
|
judgeTrainingDir: string;
|
|
1348
|
+
/** Gate mode: "off" (default, byte-identical pre-feature), "shadow" (record only), "enforce" (route to pending_review). */
|
|
1349
|
+
extractionFaithfulnessGate: "off" | "shadow" | "enforce";
|
|
1350
|
+
/** Override model/endpoint; empty string = default routing chain. */
|
|
1351
|
+
extractionFaithfulnessModel: string;
|
|
1352
|
+
/** Context window (chars) around the quote sent to the verifier. Default 400. */
|
|
1353
|
+
extractionFaithfulnessContextChars: number;
|
|
1354
|
+
/** Per-batch timeout in ms; timeout → tagged error, never blocks writes. Default 8000. */
|
|
1355
|
+
extractionFaithfulnessTimeoutMs: number;
|
|
1348
1356
|
hourlySummariesEnabled: boolean;
|
|
1349
1357
|
daySummaryEnabled: boolean;
|
|
1350
1358
|
/** Timezone override for the day summary cron (issue #1475). */
|
|
@@ -2734,6 +2742,26 @@ interface MemoryFrontmatter {
|
|
|
2734
2742
|
* recorded). Readers treat absent as `"none"` for legacy memories.
|
|
2735
2743
|
*/
|
|
2736
2744
|
provenance?: "verified" | "unverified" | "none";
|
|
2745
|
+
/** Entailment verdict from the faithfulness gate (issue #1576). */
|
|
2746
|
+
faithfulness?: FaithfulnessFrontmatter;
|
|
2747
|
+
}
|
|
2748
|
+
/**
|
|
2749
|
+
* Faithfulness gate frontmatter (issue #1576).
|
|
2750
|
+
*
|
|
2751
|
+
* Serialized as a single JSON line so it round-trips through the existing
|
|
2752
|
+
* YAML parser. `verdict: "unchecked"` marks a fact that entered the gate but
|
|
2753
|
+
* could not be evaluated (backend failure, timeout). `verdict:
|
|
2754
|
+
* "skipped_no_span"` marks a legacy fact without a verified source span.
|
|
2755
|
+
* Both are distinct from the field being absent (gate was off entirely).
|
|
2756
|
+
*/
|
|
2757
|
+
interface FaithfulnessFrontmatter {
|
|
2758
|
+
verdict: "entailed" | "contradicted" | "unsupported" | "unchecked" | "skipped_no_span";
|
|
2759
|
+
/** Model/endpoint that produced the verdict, when known. */
|
|
2760
|
+
model?: string;
|
|
2761
|
+
/** One-sentence rationale from the verifier. */
|
|
2762
|
+
rationale?: string;
|
|
2763
|
+
/** ISO-8601 timestamp the check ran. */
|
|
2764
|
+
at?: string;
|
|
2737
2765
|
}
|
|
2738
2766
|
/** Memory link relationship types */
|
|
2739
2767
|
type MemoryLinkType = "follows" | "references" | "contradicts" | "supports" | "related";
|
|
@@ -2877,6 +2905,14 @@ interface ExtractedFact {
|
|
|
2877
2905
|
tags: string[];
|
|
2878
2906
|
entityRef?: string;
|
|
2879
2907
|
source?: ExtractionPassSource;
|
|
2908
|
+
/**
|
|
2909
|
+
* Claim-level provenance spans backing this fact (issue #1575).
|
|
2910
|
+
* Populated by the PR 2 extraction validator when `provenance.enabled`
|
|
2911
|
+
* is true. Absent for legacy extractions — downstream consumers (the
|
|
2912
|
+
* faithfulness gate #1576, TrustScore #1577) MUST treat absent as
|
|
2913
|
+
* "no verified span" and skip gracefully.
|
|
2914
|
+
*/
|
|
2915
|
+
sources?: ProvenanceSource[];
|
|
2880
2916
|
promptedByQuestion?: string;
|
|
2881
2917
|
/**
|
|
2882
2918
|
* Whether this fact is project-scoped or globally applicable.
|
|
@@ -3386,4 +3422,4 @@ interface HourlySummary {
|
|
|
3386
3422
|
generatedAt: string;
|
|
3387
3423
|
}
|
|
3388
3424
|
|
|
3389
|
-
export { type
|
|
3425
|
+
export { type TranscriptEntry as $, type ActiveRecallChatType as A, type BehaviorSignalEvent as B, type CompressionGuidelineOptimizerState as C, type MemoryProjectionCurrentState as D, type EntityStructuredSection as E, type FaithfulnessFrontmatter as F, type GatewayConfig as G, type MemorySummary as H, type ImportanceScore as I, type RecallPlanMode as J, type IdentityInjectionMode as K, type LiveConnectorsConfig as L, type MemoryCategory as M, type RecallDisclosure as N, type BriefingSections as O, type PluginConfig as P, type QmdSearchResult as Q, type RecallTierExplain as R, type BriefingFollowup as S, type TopicScore as T, type BriefingFocus as U, type CalendarSource as V, type CalendarEvent as W, type BriefingActiveThread as X, type BriefingResult as Y, type BriefingRecentEntity as Z, type BufferTurn as _, type ActiveRecallQueryMode as a, type MemoryScope as a$, type Checkpoint as a0, type HourlySummary as a1, type SessionObserverBandConfig as a2, type LifecycleState as a3, type VerificationState as a4, type PolicyClass as a5, type ImportanceLevel as a6, type SecretRef as a7, type AgentAccessAuthToken as a8, type CompressionGuidelineOptimizerEventCounts as a9, type DreamsRunResult as aA, type WearableConversation as aB, type WearableSourceSettings as aC, type WearableNativeMemory as aD, type WearableMemoryMode as aE, type WearableSourceConnector as aF, type WearablesConfig as aG, type WearableSyncSummary as aH, type WearableSourceStatus as aI, type WearableDayTranscript as aJ, type WearableCorrectionRule as aK, type CodingContext as aL, type BootstrapOptions as aM, type BootstrapResult as aN, type ConsolidationObservation as aO, type EntityTimelineEntry as aP, type CodingModeConfig as aQ, type WearableCleanupSettings as aR, type WearableDayTranscriptMeta as aS, type BriefingConfig as aT, type BriefingOpenCommitment as aU, type BriefingWindow as aV, type CodexCompatConfig as aW, DEFAULT_RECALL_DISCLOSURE as aX, type ExtractedFact as aY, type MemoryActionEligibilitySource as aZ, type MemoryObservation as a_, type CompressionGuidelineOptimizerActionSummary as aa, type CompressionGuidelineOptimizerRuleUpdate as ab, type MemoryActionType as ac, type EntityMention as ad, type EntitySchemaDefinition as ae, type EntitySchemaSectionDefinition as af, type ExtractionResult as ag, type ConsolidationResult as ah, type DaySummaryResult as ai, type MemoryIntent as aj, type QmdSearchExplain as ak, type MemoryActionEligibilityContext as al, type MemoryActionPolicyResult as am, type MemoryLifecycleEventType as an, type MemoryLifecycleStateSummary as ao, type ModelProviderConfig as ap, type NativeKnowledgeConfig as aq, type ProvenanceConfig as ar, type ProvenanceSource as as, type RetrievalTier as at, type SignalScanResult as au, type ConversationThread as av, type ScopeProfileLayerId as aw, type ScopeProfilePromotionTarget as ax, type DreamsStatusResult as ay, type DreamsPhase as az, type ActiveRecallPromptStyle as b, type NativeKnowledgeOpenClawWorkspaceConfig as b$, RECALL_DISCLOSURE_LEVELS as b0, type WearableAuthCheck as b1, type WearableFetchOptions as b2, type WearableFetchPage as b3, type WearableNativeMemoryPage as b4, type WearableTranscriptSegment as b5, isRecallDisclosure as b6, type AgentAccessHttpConfig as b7, type AgentDefaultsConfig as b8, type AgentPersona as b9, type DreamsPhasesConfig as bA, type DreamsRemConfig as bB, type EngramTraceEvent as bC, type ExtractedProcedureStep as bD, type ExtractedQuestion as bE, type ExtractedReasoningTrace as bF, type ExtractedReasoningTraceStep as bG, type ExtractedRelationship as bH, type ExtractionPassSource as bI, type GitHubLiveConnectorConfig as bJ, type GmailLiveConnectorConfig as bK, type GoogleDriveLiveConnectorConfig as bL, type HeartbeatConfig as bM, type HeartbeatDetectionMode as bN, type LlmTraceCallback as bO, type LlmTraceEvent as bP, type MemoryActionOutcome as bQ, type MemoryActionPolicyDecision as bR, type MemoryActionStatus as bS, type MemoryLinkType as bT, type MemoryOsPresetName as bU, type ModelApi as bV, type ModelDefinitionConfig as bW, type ModelProviderAuthMode as bX, type NamespacePolicy as bY, type NativeKnowledgeFolderRuleConfig as bZ, type NativeKnowledgeObsidianVaultConfig as b_, type BehaviorLoopAdjustment as ba, type BehaviorSignalDirection as bb, type BehaviorSignalType as bc, type BriefingCalendarSourceError as bd, type BufferEntryState as be, type CaptureMode as bf, type CodexCliReasoningEffort as bg, type CodexCompactionFlushMode as bh, type CodexConnectorConfig as bi, type CodingKnowledgeConfig as bj, type CompressionGuidelineActivationState as bk, type CompressionGuidelineOptimizerSourceWindow as bl, type ConfidenceTier as bm, type ConsolidationAction as bn, type ConsolidationItem as bo, type ContinuityIncidentState as bp, type ContinuityLoopCadence as bq, type ContinuityLoopStatus as br, type ContradictionScanConfig as bs, type CronConversationRecallMode as bt, type CronRecallMode as bu, type DreamingConfig as bv, type DreamingNarrativePromptStyle as bw, type DreamsDeepSleepConfig as bx, type DreamsLightSleepConfig as by, type DreamsPhaseStatus as bz, type ActiveRecallThinking as c, type NotionLiveConnectorConfig as c0, type PrincipalFromSessionKeyMode as c1, type PrincipalRule as c2, type ProceduralConfig as c3, type QuestionEntry as c4, type ReasoningEffort as c5, type RecallPipelineConfig as c6, type RecallSectionConfig as c7, type RecallTraceEvent as c8, type RelevanceFeedback as c9, SPECULATIVE_TTL_DAYS as ca, type ScopeProfileAutoPromoteConfig as cb, type ScopeProfileConfig as cc, type ScopeProfileTeamProjectConfig as cd, type ScopeTeamConfig as ce, type ScoredEntity as cf, type SemanticChunkingConfigShape as cg, type SignalLevel as ch, type SlotBehaviorConfig as ci, type SlotMismatchMode as cj, type TriggerMode as ck, confidenceTier as cl, type ActiveRecallModelFallbackPolicy as d, type BehaviorLoopPolicyState as e, type AgentPersonaModelConfig as f, type MemoryFile as g, type MemoryStatus as h, type MemoryLink as i, type MemoryFrontmatter as j, type BufferState as k, type MetaState as l, type MemoryActionEvent as m, type MemoryLifecycleEvent as n, type BufferSurpriseEvent as o, type ContinuityIncidentOpenInput as p, type ContinuityIncidentRecord as q, type ContinuityIncidentCloseInput as r, type ContinuityImprovementLoop as s, type ContinuityLoopUpsertInput as t, type ContinuityLoopReviewInput as u, type FileHygieneConfig as v, type EntityRelationship as w, type EntityActivityEntry as x, type EntityFile as y, type AccessTrackingEntry as z };
|
package/dist/types.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import './types-ByK7T3L6.js';
|
|
2
2
|
import './index-DJ9QWMw-.js';
|
|
3
|
-
export {
|
|
3
|
+
export { z as AccessTrackingEntry, A as ActiveRecallChatType, d as ActiveRecallModelFallbackPolicy, b as ActiveRecallPromptStyle, a as ActiveRecallQueryMode, c as ActiveRecallThinking, a8 as AgentAccessAuthToken, b7 as AgentAccessHttpConfig, b8 as AgentDefaultsConfig, b9 as AgentPersona, f as AgentPersonaModelConfig, ba as BehaviorLoopAdjustment, e as BehaviorLoopPolicyState, bb as BehaviorSignalDirection, B as BehaviorSignalEvent, bc as BehaviorSignalType, aM as BootstrapOptions, aN as BootstrapResult, X as BriefingActiveThread, bd as BriefingCalendarSourceError, aT as BriefingConfig, U as BriefingFocus, S as BriefingFollowup, aU as BriefingOpenCommitment, Z as BriefingRecentEntity, Y as BriefingResult, O as BriefingSections, aV as BriefingWindow, be as BufferEntryState, k as BufferState, o as BufferSurpriseEvent, _ as BufferTurn, W as CalendarEvent, V as CalendarSource, bf as CaptureMode, a0 as Checkpoint, bg as CodexCliReasoningEffort, bh as CodexCompactionFlushMode, aW as CodexCompatConfig, bi as CodexConnectorConfig, aL as CodingContext, bj as CodingKnowledgeConfig, aQ as CodingModeConfig, bk as CompressionGuidelineActivationState, aa as CompressionGuidelineOptimizerActionSummary, a9 as CompressionGuidelineOptimizerEventCounts, ab as CompressionGuidelineOptimizerRuleUpdate, bl as CompressionGuidelineOptimizerSourceWindow, C as CompressionGuidelineOptimizerState, bm as ConfidenceTier, bn as ConsolidationAction, bo as ConsolidationItem, aO as ConsolidationObservation, ah as ConsolidationResult, s as ContinuityImprovementLoop, r as ContinuityIncidentCloseInput, p as ContinuityIncidentOpenInput, q as ContinuityIncidentRecord, bp as ContinuityIncidentState, bq as ContinuityLoopCadence, u as ContinuityLoopReviewInput, br as ContinuityLoopStatus, t as ContinuityLoopUpsertInput, bs as ContradictionScanConfig, av as ConversationThread, bt as CronConversationRecallMode, bu as CronRecallMode, aX as DEFAULT_RECALL_DISCLOSURE, ai as DaySummaryResult, bv as DreamingConfig, bw as DreamingNarrativePromptStyle, bx as DreamsDeepSleepConfig, by as DreamsLightSleepConfig, az as DreamsPhase, bz as DreamsPhaseStatus, bA as DreamsPhasesConfig, bB as DreamsRemConfig, aA as DreamsRunResult, ay as DreamsStatusResult, bC as EngramTraceEvent, x as EntityActivityEntry, y as EntityFile, ad as EntityMention, w as EntityRelationship, ae as EntitySchemaDefinition, af as EntitySchemaSectionDefinition, E as EntityStructuredSection, aP as EntityTimelineEntry, aY as ExtractedFact, bD as ExtractedProcedureStep, bE as ExtractedQuestion, bF as ExtractedReasoningTrace, bG as ExtractedReasoningTraceStep, bH as ExtractedRelationship, bI as ExtractionPassSource, ag as ExtractionResult, F as FaithfulnessFrontmatter, v as FileHygieneConfig, G as GatewayConfig, bJ as GitHubLiveConnectorConfig, bK as GmailLiveConnectorConfig, bL as GoogleDriveLiveConnectorConfig, bM as HeartbeatConfig, bN as HeartbeatDetectionMode, a1 as HourlySummary, K as IdentityInjectionMode, a6 as ImportanceLevel, I as ImportanceScore, a3 as LifecycleState, L as LiveConnectorsConfig, bO as LlmTraceCallback, bP as LlmTraceEvent, al as MemoryActionEligibilityContext, aZ as MemoryActionEligibilitySource, m as MemoryActionEvent, bQ as MemoryActionOutcome, bR as MemoryActionPolicyDecision, am as MemoryActionPolicyResult, bS as MemoryActionStatus, ac as MemoryActionType, M as MemoryCategory, g as MemoryFile, j as MemoryFrontmatter, aj as MemoryIntent, n as MemoryLifecycleEvent, an as MemoryLifecycleEventType, ao as MemoryLifecycleStateSummary, i as MemoryLink, bT as MemoryLinkType, a_ as MemoryObservation, bU as MemoryOsPresetName, D as MemoryProjectionCurrentState, a$ as MemoryScope, h as MemoryStatus, H as MemorySummary, l as MetaState, bV as ModelApi, bW as ModelDefinitionConfig, bX as ModelProviderAuthMode, ap as ModelProviderConfig, bY as NamespacePolicy, aq as NativeKnowledgeConfig, bZ as NativeKnowledgeFolderRuleConfig, b_ as NativeKnowledgeObsidianVaultConfig, b$ as NativeKnowledgeOpenClawWorkspaceConfig, c0 as NotionLiveConnectorConfig, P as PluginConfig, a5 as PolicyClass, c1 as PrincipalFromSessionKeyMode, c2 as PrincipalRule, c3 as ProceduralConfig, ar as ProvenanceConfig, as as ProvenanceSource, ak as QmdSearchExplain, Q as QmdSearchResult, c4 as QuestionEntry, b0 as RECALL_DISCLOSURE_LEVELS, c5 as ReasoningEffort, N as RecallDisclosure, c6 as RecallPipelineConfig, J as RecallPlanMode, c7 as RecallSectionConfig, R as RecallTierExplain, c8 as RecallTraceEvent, c9 as RelevanceFeedback, at as RetrievalTier, ca as SPECULATIVE_TTL_DAYS, cb as ScopeProfileAutoPromoteConfig, cc as ScopeProfileConfig, aw as ScopeProfileLayerId, ax as ScopeProfilePromotionTarget, cd as ScopeProfileTeamProjectConfig, ce as ScopeTeamConfig, cf as ScoredEntity, a7 as SecretRef, cg as SemanticChunkingConfigShape, a2 as SessionObserverBandConfig, ch as SignalLevel, au as SignalScanResult, ci as SlotBehaviorConfig, cj as SlotMismatchMode, T as TopicScore, $ as TranscriptEntry, ck as TriggerMode, a4 as VerificationState, cl as confidenceTier, b6 as isRecallDisclosure } from './types-CeZYSC-E.js';
|
package/dist/types.js
CHANGED
package/dist/verified-recall.js
CHANGED
|
@@ -1,32 +1,40 @@
|
|
|
1
1
|
import {
|
|
2
2
|
compareVerifiedEpisodeResults,
|
|
3
3
|
searchVerifiedEpisodes
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-Q6ZHGGNJ.js";
|
|
5
5
|
import "./chunk-7FL4CNPV.js";
|
|
6
|
-
import "./chunk-
|
|
6
|
+
import "./chunk-MOBRVKWE.js";
|
|
7
7
|
import "./chunk-M7XQSUBB.js";
|
|
8
8
|
import "./chunk-5UZXUTVO.js";
|
|
9
9
|
import "./chunk-5GPPACXK.js";
|
|
10
10
|
import "./chunk-SVOZFLIQ.js";
|
|
11
11
|
import "./chunk-J6A3CX5N.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-ZXUOAFUG.js";
|
|
13
|
+
import "./chunk-RULE4VG5.js";
|
|
13
14
|
import "./chunk-SCU65EZI.js";
|
|
14
15
|
import "./chunk-MB5RSUW6.js";
|
|
15
16
|
import "./chunk-6KYMPV2O.js";
|
|
16
17
|
import "./chunk-AWJ2FHCF.js";
|
|
17
18
|
import "./chunk-42JKGUFJ.js";
|
|
18
|
-
import "./chunk-RULE4VG5.js";
|
|
19
|
-
import "./chunk-LDXUBPMO.js";
|
|
20
19
|
import "./chunk-DM2T26WE.js";
|
|
20
|
+
import "./chunk-LDXUBPMO.js";
|
|
21
21
|
import "./chunk-FVQJYWH7.js";
|
|
22
|
+
import "./chunk-5AT62NQH.js";
|
|
22
23
|
import "./chunk-G7D6GZ5J.js";
|
|
23
24
|
import "./chunk-VF4XKTX3.js";
|
|
25
|
+
import "./chunk-5TYA4OCF.js";
|
|
26
|
+
import "./chunk-IQVQJJL7.js";
|
|
27
|
+
import "./chunk-VL7DP3OW.js";
|
|
28
|
+
import "./chunk-L2EXJQJP.js";
|
|
29
|
+
import "./chunk-RGMVMVMF.js";
|
|
30
|
+
import "./chunk-RK6F44Y6.js";
|
|
24
31
|
import "./chunk-J2HSAU72.js";
|
|
25
32
|
import "./chunk-A6XUJE5D.js";
|
|
26
33
|
import "./chunk-P7FMDTKL.js";
|
|
27
34
|
import "./chunk-VS2IYZRU.js";
|
|
28
35
|
import "./chunk-ZPQVJEVQ.js";
|
|
29
36
|
import "./chunk-4DJQYKMN.js";
|
|
37
|
+
import "./chunk-EYIEWJNI.js";
|
|
30
38
|
import "./chunk-JUC24CTX.js";
|
|
31
39
|
import "./chunk-NU3CSQ4H.js";
|
|
32
40
|
import "./chunk-ZBJMUXZH.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remnic/core",
|
|
3
|
-
"version": "9.3.
|
|
3
|
+
"version": "9.3.695",
|
|
4
4
|
"description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -2941,7 +2941,7 @@
|
|
|
2941
2941
|
"core"
|
|
2942
2942
|
],
|
|
2943
2943
|
"peerDependencies": {
|
|
2944
|
-
"@remnic/coding-graph": "^9.3.
|
|
2944
|
+
"@remnic/coding-graph": "^9.3.695"
|
|
2945
2945
|
},
|
|
2946
2946
|
"peerDependenciesMeta": {
|
|
2947
2947
|
"@remnic/coding-graph": {
|
package/src/config.test.ts
CHANGED
|
@@ -2034,3 +2034,19 @@ test("parseConfig provenance.enabled honors REMNIC_/ENGRAM_ env fallback (issue
|
|
|
2034
2034
|
else delete process.env.ENGRAM_PROVENANCE_ENABLED;
|
|
2035
2035
|
}
|
|
2036
2036
|
});
|
|
2037
|
+
|
|
2038
|
+
test("parseConfig rejects a present-but-non-string extractionFaithfulnessGate (safety gate must not silently disable, #1576 Ob4RQ)", () => {
|
|
2039
|
+
assert.equal(parseConfig({}).extractionFaithfulnessGate, "off");
|
|
2040
|
+
assert.equal(parseConfig({ extractionFaithfulnessGate: null }).extractionFaithfulnessGate, "off");
|
|
2041
|
+
assert.equal(parseConfig({ extractionFaithfulnessGate: "enforce" }).extractionFaithfulnessGate, "enforce");
|
|
2042
|
+
assert.equal(parseConfig({ extractionFaithfulnessGate: "ENFORCE" }).extractionFaithfulnessGate, "enforce");
|
|
2043
|
+
for (const bad of [true, 1, {}, ["enforce"]] as unknown[]) {
|
|
2044
|
+
assert.throws(
|
|
2045
|
+
() => parseConfig({ extractionFaithfulnessGate: bad } as Record<string, unknown>),
|
|
2046
|
+
/extractionFaithfulnessGate must be one of/,
|
|
2047
|
+
`present non-string ${JSON.stringify(bad)} must reject, not default to off`,
|
|
2048
|
+
);
|
|
2049
|
+
}
|
|
2050
|
+
// A present-but-unknown string still rejects (pre-existing behavior preserved).
|
|
2051
|
+
assert.throws(() => parseConfig({ extractionFaithfulnessGate: "on" }), /extractionFaithfulnessGate must be one of/);
|
|
2052
|
+
});
|
package/src/config.ts
CHANGED
|
@@ -2909,6 +2909,36 @@ export function parseConfig(
|
|
|
2909
2909
|
collectJudgeTrainingPairs: coerceBool(cfg.collectJudgeTrainingPairs) === true,
|
|
2910
2910
|
judgeTrainingDir:
|
|
2911
2911
|
typeof cfg.judgeTrainingDir === "string" ? cfg.judgeTrainingDir : "",
|
|
2912
|
+
// Extraction faithfulness gate (issue #1576). Entailment-verification of
|
|
2913
|
+
// extracted facts against verified source spans (#1575). Default "off"
|
|
2914
|
+
// (rule 39: byte-identical pre-feature pipeline). Invalid values are
|
|
2915
|
+
// rejected listing valid options (rule 51).
|
|
2916
|
+
extractionFaithfulnessGate: (() => {
|
|
2917
|
+
const v = cfg.extractionFaithfulnessGate;
|
|
2918
|
+
if (v === undefined || v === null) return "off";
|
|
2919
|
+
// Present-but-invalid (true/1/{}) must reject, not silently disable the gate (Ob4RQ).
|
|
2920
|
+
const raw = typeof v === "string" ? v.trim().toLowerCase() : v;
|
|
2921
|
+
if (raw === "off" || raw === "shadow" || raw === "enforce") return raw;
|
|
2922
|
+
throw new Error(
|
|
2923
|
+
`extractionFaithfulnessGate must be one of "off" | "shadow" | "enforce" (got ${JSON.stringify(v)})`,
|
|
2924
|
+
);
|
|
2925
|
+
})(),
|
|
2926
|
+
extractionFaithfulnessModel:
|
|
2927
|
+
typeof cfg.extractionFaithfulnessModel === "string"
|
|
2928
|
+
? cfg.extractionFaithfulnessModel
|
|
2929
|
+
: "",
|
|
2930
|
+
// Numeric knobs go through coerceNumber so CLI operators can pass
|
|
2931
|
+
// --config extractionFaithfulnessTimeoutMs=4000 without the string
|
|
2932
|
+
// silently dropping to the default. Matches the coercion contract applied
|
|
2933
|
+
// to other numeric config keys (CLAUDE.md rule #28 / gotcha #36).
|
|
2934
|
+
extractionFaithfulnessContextChars: (() => {
|
|
2935
|
+
const n = coerceNumber(cfg.extractionFaithfulnessContextChars);
|
|
2936
|
+
return n !== undefined && n > 0 ? Math.min(Math.round(n), 4000) : 400;
|
|
2937
|
+
})(),
|
|
2938
|
+
extractionFaithfulnessTimeoutMs: (() => {
|
|
2939
|
+
const n = coerceNumber(cfg.extractionFaithfulnessTimeoutMs);
|
|
2940
|
+
return n !== undefined && n > 0 ? Math.min(Math.round(n), 60_000) : 8000;
|
|
2941
|
+
})(),
|
|
2912
2942
|
// Inline source attribution (issue #369). Opt-in to preserve
|
|
2913
2943
|
// backwards compatibility with existing downstream consumers.
|
|
2914
2944
|
inlineSourceAttributionEnabled: cfg.inlineSourceAttributionEnabled === true,
|
package/src/console/state.ts
CHANGED
|
@@ -59,6 +59,12 @@ export interface ConsoleStateOrchestratorLike {
|
|
|
59
59
|
* version read from disk.
|
|
60
60
|
*/
|
|
61
61
|
getConsoleDaemonInfo?: () => ConsoleDaemonInfo;
|
|
62
|
+
/**
|
|
63
|
+
* Optional faithfulness gate distribution (issue #1576). Returns the
|
|
64
|
+
* per-orchestrator running counters when the gate is active, or undefined
|
|
65
|
+
* when the gate is off (so the snapshot omits the block).
|
|
66
|
+
*/
|
|
67
|
+
getConsoleFaithfulnessDistribution?: () => ConsoleFaithfulnessDistribution | undefined;
|
|
62
68
|
}
|
|
63
69
|
|
|
64
70
|
export interface ConsoleBufferState {
|
|
@@ -120,6 +126,18 @@ export interface ConsoleDaemonInfo {
|
|
|
120
126
|
version: string;
|
|
121
127
|
}
|
|
122
128
|
|
|
129
|
+
/**
|
|
130
|
+
* Faithfulness gate verdict distribution (issue #1576). Surfaced via
|
|
131
|
+
* console_state so `remnic doctor` can render how the gate is performing.
|
|
132
|
+
*/
|
|
133
|
+
export interface ConsoleFaithfulnessDistribution {
|
|
134
|
+
entailed: number;
|
|
135
|
+
contradicted: number;
|
|
136
|
+
unsupported: number;
|
|
137
|
+
unchecked: number;
|
|
138
|
+
skippedNoSpan: number;
|
|
139
|
+
}
|
|
140
|
+
|
|
123
141
|
export interface ConsoleStateSnapshot {
|
|
124
142
|
/** ISO-8601 capture timestamp. */
|
|
125
143
|
capturedAt: string;
|
|
@@ -129,6 +147,8 @@ export interface ConsoleStateSnapshot {
|
|
|
129
147
|
maintenanceLedgerTail: ConsoleMaintenanceLedgerEvent[];
|
|
130
148
|
qmdProbe: ConsoleQmdProbeState;
|
|
131
149
|
daemon: ConsoleDaemonInfo;
|
|
150
|
+
/** Faithfulness gate distribution (issue #1576). Absent when the gate is off. */
|
|
151
|
+
faithfulness?: ConsoleFaithfulnessDistribution;
|
|
132
152
|
/**
|
|
133
153
|
* Subsystem read errors. One entry per failed reader keyed by
|
|
134
154
|
* subsystem name (e.g. `"bufferState: ..."`). An empty array means
|
|
@@ -163,6 +183,17 @@ export async function gatherConsoleState(
|
|
|
163
183
|
const qmdProbe = readQmdProbe(orchestrator, errors);
|
|
164
184
|
const daemon = readDaemonInfo(orchestrator, errors);
|
|
165
185
|
|
|
186
|
+
// Faithfulness gate distribution (issue #1576). Optional — absent when
|
|
187
|
+
// the gate is off or the orchestrator does not expose the accessor.
|
|
188
|
+
let faithfulness: ConsoleFaithfulnessDistribution | undefined;
|
|
189
|
+
try {
|
|
190
|
+
if (typeof orchestrator.getConsoleFaithfulnessDistribution === "function") {
|
|
191
|
+
faithfulness = orchestrator.getConsoleFaithfulnessDistribution();
|
|
192
|
+
}
|
|
193
|
+
} catch (err) {
|
|
194
|
+
errors.push(`faithfulness: ${describeError(err)}`);
|
|
195
|
+
}
|
|
196
|
+
|
|
166
197
|
return {
|
|
167
198
|
capturedAt,
|
|
168
199
|
bufferState,
|
|
@@ -171,6 +202,7 @@ export async function gatherConsoleState(
|
|
|
171
202
|
maintenanceLedgerTail,
|
|
172
203
|
qmdProbe,
|
|
173
204
|
daemon,
|
|
205
|
+
...(faithfulness ? { faithfulness } : {}),
|
|
174
206
|
errors,
|
|
175
207
|
};
|
|
176
208
|
}
|