@remnic/core 9.7.15 → 9.9.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/dist/access-admin-ops-surface.d.ts +13 -6
- package/dist/access-admin-ops-surface.js +85 -71
- package/dist/access-audit.js +2 -2
- package/dist/access-boundary.d.ts +35 -17
- package/dist/access-boundary.js +86 -74
- package/dist/access-citation.d.ts +28 -0
- package/dist/access-citation.js +9 -0
- package/dist/access-cli.js +194 -178
- package/dist/access-cli.js.map +1 -1
- package/dist/access-errors.d.ts +16 -1
- package/dist/access-errors.js +7 -3
- package/dist/access-http.d.ts +25 -19
- package/dist/access-http.js +100 -87
- package/dist/access-identity-continuity-surface.d.ts +13 -8
- package/dist/access-identity-continuity-surface.js +85 -71
- package/dist/access-lcm-surface.d.ts +16 -9
- package/dist/access-lcm-surface.js +85 -71
- package/dist/access-mcp.d.ts +23 -16
- package/dist/access-mcp.js +96 -84
- package/dist/access-memory-search-fanout.d.ts +93 -0
- package/dist/access-memory-search-fanout.js +18 -0
- package/dist/access-observe-write-surface.d.ts +26 -8
- package/dist/access-observe-write-surface.js +85 -71
- package/dist/access-operations-batch.js +92 -80
- package/dist/access-operations.d.ts +29 -22
- package/dist/access-operations.js +94 -82
- package/dist/access-recall-concurrency.d.ts +250 -0
- package/dist/access-recall-concurrency.js +157 -0
- package/dist/access-recall-response.d.ts +130 -0
- package/dist/access-recall-response.js +147 -0
- package/dist/access-recall-surface.d.ts +15 -7
- package/dist/access-recall-surface.js +85 -71
- package/dist/access-schema.d.ts +98 -98
- package/dist/access-schema.js +8 -6
- package/dist/{access-service-DpcYZ9Nl.d.ts → access-service-DbZ1G3zV.d.ts} +29 -36
- package/dist/access-service.d.ts +13 -6
- package/dist/access-service.js +89 -72
- package/dist/access-surface-catalog.d.ts +23 -16
- package/dist/access-surface-catalog.js +1 -0
- package/dist/access-surface-catalog.js.map +1 -1
- package/dist/access-token-capabilities.d.ts +2 -1
- package/dist/access-token-capabilities.js +4 -2
- package/dist/action-confidence.d.ts +3 -1
- package/dist/active-memory-bridge.d.ts +3 -1
- package/dist/active-memory-bridge.js +4 -4
- package/dist/active-recall.d.ts +4 -1
- package/dist/active-recall.js +23 -13
- package/dist/active-recall.js.map +1 -1
- package/dist/adapters/index.js +4 -4
- package/dist/adapters/registry.js +2 -2
- package/dist/{auto-sync-AAMTVZMK.js → auto-sync-UZG3XQZ5.js} +14 -8
- package/dist/{auto-sync-AAMTVZMK.js.map → auto-sync-UZG3XQZ5.js.map} +1 -1
- package/dist/behavior-learner.d.ts +3 -1
- package/dist/behavior-signals.d.ts +3 -1
- package/dist/bootstrap.d.ts +12 -7
- package/dist/bootstrap.js +2 -2
- package/dist/bounded-jsonl-state.d.ts +54 -0
- package/dist/bounded-jsonl-state.js +10 -0
- package/dist/boxes.js +2 -2
- package/dist/briefing.d.ts +5 -2
- package/dist/briefing.js +34 -24
- package/dist/buffer-surprise-report.d.ts +3 -1
- package/dist/buffer.d.ts +60 -2
- package/dist/buffer.js +3 -3
- package/dist/bulk-import/index.d.ts +5 -3
- package/dist/calibration.d.ts +3 -1
- package/dist/calibration.js +6 -6
- package/dist/capabilities.d.ts +7 -7
- package/dist/capabilities.js +1 -1
- package/dist/{capsule-crypto-CZJSLEFG.js → capsule-crypto-YO5QJ6L3.js} +3 -3
- package/dist/capsule-crypto-YO5QJ6L3.js.map +1 -0
- package/dist/{catalog-C9444P10.d.ts → catalog-BWqHb5HT.d.ts} +1 -1
- package/dist/causal-behavior.d.ts +3 -1
- package/dist/causal-behavior.js +6 -6
- package/dist/causal-chain.js +4 -4
- package/dist/causal-consolidation.d.ts +3 -1
- package/dist/causal-consolidation.js +43 -34
- package/dist/causal-consolidation.js.map +1 -1
- package/dist/causal-retrieval.js +6 -6
- package/dist/causal-trajectory-graph.d.ts +3 -1
- package/dist/causal-trajectory-graph.js +1 -1
- package/dist/causal-trajectory.js +1 -1
- package/dist/{chunk-A3GOMRJG.js → chunk-23L3IXFD.js} +2 -2
- package/dist/chunk-2CGLBUW3.js +15 -0
- package/dist/chunk-2CGLBUW3.js.map +1 -0
- package/dist/{chunk-MRHFJV44.js → chunk-2DQ2XREU.js} +2 -2
- package/dist/{chunk-L2B3EE7B.js → chunk-2QMKMVHH.js} +2 -2
- package/dist/{chunk-VJVNLNDQ.js → chunk-2UFO7X4Q.js} +7 -7
- package/dist/{chunk-2MR3MFQB.js → chunk-2VEOKUPP.js} +3 -3
- package/dist/chunk-2Z24E5W2.js +22 -0
- package/dist/chunk-2Z24E5W2.js.map +1 -0
- package/dist/{chunk-RHOZ5LLO.js → chunk-347WD2LE.js} +2 -2
- package/dist/{chunk-HDTQVNWD.js → chunk-3QAH2S33.js} +3 -3
- package/dist/{chunk-37CTGERM.js → chunk-3WCASNQZ.js} +12 -1
- package/dist/chunk-3WCASNQZ.js.map +1 -0
- package/dist/{chunk-LRNMRXJO.js → chunk-3Y224NYC.js} +3 -3
- package/dist/{chunk-3IY64MV6.js → chunk-44XZ75OQ.js} +44 -10
- package/dist/chunk-44XZ75OQ.js.map +1 -0
- package/dist/{chunk-VFSP73LP.js → chunk-45GF7Y3V.js} +2 -2
- package/dist/{chunk-K7LOWSLU.js → chunk-4BJQODZF.js} +2479 -1520
- package/dist/chunk-4BJQODZF.js.map +1 -0
- package/dist/{chunk-JREB6UFH.js → chunk-57OWKFUQ.js} +17 -6
- package/dist/chunk-57OWKFUQ.js.map +1 -0
- package/dist/{chunk-OEHCMALU.js → chunk-5I4M26Q7.js} +5 -5
- package/dist/{chunk-2AZXIZEN.js → chunk-5Q7EVV4X.js} +6 -6
- package/dist/{chunk-LC7OODWZ.js → chunk-5SB7SC2G.js} +80 -49
- package/dist/chunk-5SB7SC2G.js.map +1 -0
- package/dist/{chunk-PUBTHW5O.js → chunk-6DRPPQEJ.js} +2 -2
- package/dist/{chunk-NWTGD4AN.js → chunk-6KIQT7RG.js} +10 -9
- package/dist/chunk-6KIQT7RG.js.map +1 -0
- package/dist/{chunk-FDCTQWLW.js → chunk-6O22TZSB.js} +3 -3
- package/dist/{chunk-ZQ7UBUZ6.js → chunk-6QYST5XN.js} +6 -6
- package/dist/{chunk-W4PGTAS2.js → chunk-6WAFYNVT.js} +3 -3
- package/dist/chunk-6ZMAMSHS.js +20 -0
- package/dist/chunk-6ZMAMSHS.js.map +1 -0
- package/dist/{chunk-R5VAVVHP.js → chunk-72A4L5JJ.js} +2 -2
- package/dist/{chunk-X64YLC24.js → chunk-72VAXGEI.js} +5 -13
- package/dist/chunk-72VAXGEI.js.map +1 -0
- package/dist/{chunk-IKQTFQMI.js → chunk-755Q3DGF.js} +22 -3
- package/dist/chunk-755Q3DGF.js.map +1 -0
- package/dist/{chunk-D7FOKIY5.js → chunk-7AMFUATK.js} +12 -9
- package/dist/{chunk-D7FOKIY5.js.map → chunk-7AMFUATK.js.map} +1 -1
- package/dist/{chunk-BFVEEB7W.js → chunk-7ON2JW73.js} +57 -22
- package/dist/chunk-7ON2JW73.js.map +1 -0
- package/dist/chunk-7RNBVZZO.js +270 -0
- package/dist/chunk-7RNBVZZO.js.map +1 -0
- package/dist/{chunk-3FAMU5TX.js → chunk-A6USBZTO.js} +2 -2
- package/dist/{chunk-ZHIVCODT.js → chunk-A72SWTWW.js} +7 -7
- package/dist/{chunk-FC77VUX5.js → chunk-A7Q43EUZ.js} +2 -2
- package/dist/{chunk-UJBESW6X.js → chunk-AE7WMV4V.js} +7 -7
- package/dist/{chunk-J2HSAU72.js → chunk-AIK5W3IW.js} +29 -1
- package/dist/chunk-AIK5W3IW.js.map +1 -0
- package/dist/{chunk-A5UXZRRM.js → chunk-AJ7QCSIS.js} +2 -2
- package/dist/{chunk-FNMFJWBY.js → chunk-ANEUPF6O.js} +5 -5
- package/dist/chunk-AREGMX2J.js +50 -0
- package/dist/chunk-AREGMX2J.js.map +1 -0
- package/dist/chunk-AVPXXV6J.js +448 -0
- package/dist/chunk-AVPXXV6J.js.map +1 -0
- package/dist/{chunk-2A3OXAP2.js → chunk-B7RWBZXW.js} +2 -2
- package/dist/{chunk-QKQYXZVS.js → chunk-BI2OJF6J.js} +1819 -1481
- package/dist/chunk-BI2OJF6J.js.map +1 -0
- package/dist/{chunk-GWTFLF2P.js → chunk-BJMBJZ2Y.js} +59 -59
- package/dist/chunk-BJMBJZ2Y.js.map +1 -0
- package/dist/{chunk-74F5STS4.js → chunk-BLAKS3CP.js} +4 -4
- package/dist/{chunk-M7VGG3ID.js → chunk-BV5WMSIJ.js} +9 -9
- package/dist/{chunk-2BFLDH5F.js → chunk-BXLOS5AJ.js} +2 -2
- package/dist/{chunk-UXKMMNJD.js → chunk-C23BYTJV.js} +6 -6
- package/dist/{chunk-JZHHREBL.js → chunk-C3AKM55W.js} +2 -2
- package/dist/{chunk-RP7YXA67.js → chunk-C5JF6EZ7.js} +2 -2
- package/dist/{chunk-T7Y5KPLN.js → chunk-C6XBRYVD.js} +16 -15
- package/dist/chunk-C6XBRYVD.js.map +1 -0
- package/dist/{chunk-FTYDWKO6.js → chunk-CEN6DW6X.js} +12 -2
- package/dist/chunk-CEN6DW6X.js.map +1 -0
- package/dist/chunk-CGASUJVP.js +421 -0
- package/dist/chunk-CGASUJVP.js.map +1 -0
- package/dist/{chunk-EHCONI6E.js → chunk-CQMEM5CC.js} +2 -2
- package/dist/{chunk-PBNZVPFS.js → chunk-CXZQOVIE.js} +12 -12
- package/dist/chunk-D3V3UMET.js +44 -0
- package/dist/chunk-D3V3UMET.js.map +1 -0
- package/dist/{chunk-7N2RUBAP.js → chunk-DDA47TES.js} +2 -2
- package/dist/{chunk-64SE4X5G.js → chunk-DEBHXHJR.js} +3 -3
- package/dist/{chunk-EHK6KZHK.js → chunk-DNHVPZOD.js} +2 -2
- package/dist/{chunk-437S3G37.js → chunk-DQEMWVMT.js} +2 -2
- package/dist/{chunk-LZZNTPLR.js → chunk-DX3XRGLH.js} +2 -2
- package/dist/chunk-EA2H5LML.js +72 -0
- package/dist/chunk-EA2H5LML.js.map +1 -0
- package/dist/{chunk-INELTPRG.js → chunk-EEC7UJPX.js} +103 -106
- package/dist/chunk-EEC7UJPX.js.map +1 -0
- package/dist/{chunk-KSNVDPDF.js → chunk-EKBNDKDY.js} +21 -20
- package/dist/chunk-EKBNDKDY.js.map +1 -0
- package/dist/{chunk-YF6FMLBT.js → chunk-EQWEIIKQ.js} +64 -34
- package/dist/chunk-EQWEIIKQ.js.map +1 -0
- package/dist/{chunk-DZKHSDOM.js → chunk-ES36HTSC.js} +4 -4
- package/dist/{chunk-TN7THW5U.js → chunk-ET356KSB.js} +2 -2
- package/dist/{chunk-YNDLCWXS.js → chunk-EZ25VE3G.js} +4 -4
- package/dist/{chunk-DMSDUGDM.js → chunk-F7GAIWFA.js} +20 -20
- package/dist/{chunk-G6XXLKC5.js → chunk-FFPJINJE.js} +6 -6
- package/dist/chunk-FMLKOL2Z.js +636 -0
- package/dist/chunk-FMLKOL2Z.js.map +1 -0
- package/dist/chunk-FQC3DHH2.js +20 -0
- package/dist/chunk-FQC3DHH2.js.map +1 -0
- package/dist/{chunk-G4CN3ZXL.js → chunk-FUTF72MJ.js} +15 -15
- package/dist/chunk-GCASGYIO.js +71 -0
- package/dist/chunk-GCASGYIO.js.map +1 -0
- package/dist/{chunk-HF77M34J.js → chunk-GFPZS3F5.js} +8 -8
- package/dist/{chunk-BCDKBDSY.js → chunk-GNVZQ5JN.js} +99 -41
- package/dist/chunk-GNVZQ5JN.js.map +1 -0
- package/dist/{chunk-G6NKALRN.js → chunk-H4WG3UQZ.js} +2 -2
- package/dist/{chunk-UDQUSU27.js → chunk-HNZKVLAN.js} +2 -2
- package/dist/{chunk-5EZXHU36.js → chunk-HYQJQGD3.js} +2 -2
- package/dist/{chunk-PLQE6MJA.js → chunk-IFH6LWTO.js} +50 -8
- package/dist/chunk-IFH6LWTO.js.map +1 -0
- package/dist/{chunk-RULE4VG5.js → chunk-ILGC6JH6.js} +21 -6
- package/dist/chunk-ILGC6JH6.js.map +1 -0
- package/dist/chunk-IUM3VSHI.js +113 -0
- package/dist/chunk-IUM3VSHI.js.map +1 -0
- package/dist/{chunk-TRWPCR6P.js → chunk-JECBQBEX.js} +3 -3
- package/dist/{chunk-E6CBU7XP.js → chunk-JYIFGGEM.js} +2 -2
- package/dist/{chunk-VA4WSW54.js → chunk-JYIJNNN3.js} +3 -3
- package/dist/{chunk-L5HJQC36.js → chunk-K2TDK7GG.js} +3 -3
- package/dist/{chunk-KDXVOFYY.js → chunk-KAVBJSBQ.js} +4 -4
- package/dist/{chunk-BS4SGLWV.js → chunk-KF5EUVKQ.js} +16 -6
- package/dist/chunk-KF5EUVKQ.js.map +1 -0
- package/dist/chunk-KFZY2OFH.js +42 -0
- package/dist/chunk-KFZY2OFH.js.map +1 -0
- package/dist/{chunk-4OKLXWDZ.js → chunk-KNB7IBBU.js} +2 -2
- package/dist/{chunk-QLULYKWZ.js → chunk-KSXJOC4F.js} +2 -2
- package/dist/{chunk-2S6QHZGJ.js → chunk-L2DPF4DF.js} +1 -1
- package/dist/{chunk-JI5AVXYO.js → chunk-LEPOP46W.js} +6 -6
- package/dist/{chunk-O7BBFJLP.js → chunk-LTAVSOZW.js} +2 -2
- package/dist/{chunk-E3VODCC3.js → chunk-LUDXM7MD.js} +14 -2
- package/dist/{chunk-E3VODCC3.js.map → chunk-LUDXM7MD.js.map} +1 -1
- package/dist/{chunk-2IZAGAJR.js → chunk-LULR4IUW.js} +3 -3
- package/dist/{chunk-QQGPUKMT.js → chunk-MC5Q3J7S.js} +398 -7
- package/dist/chunk-MC5Q3J7S.js.map +1 -0
- package/dist/{chunk-WMWVO45V.js → chunk-MC6XO7T4.js} +2 -2
- package/dist/chunk-MKQBXQKU.js +107 -0
- package/dist/chunk-MKQBXQKU.js.map +1 -0
- package/dist/{chunk-7PND4PUC.js → chunk-MMGGVZ4Q.js} +29 -9
- package/dist/{chunk-7PND4PUC.js.map → chunk-MMGGVZ4Q.js.map} +1 -1
- package/dist/{chunk-D6RIFG4O.js → chunk-MNB5RMAY.js} +2 -2
- package/dist/{chunk-Q5WG43OP.js → chunk-MYFQ3ED4.js} +7 -7
- package/dist/{chunk-V3UE5I5F.js → chunk-MYVPLJOO.js} +2 -2
- package/dist/chunk-NINSR6LX.js +83 -0
- package/dist/chunk-NINSR6LX.js.map +1 -0
- package/dist/{chunk-MTWKDOVO.js → chunk-NLE6TSLG.js} +2 -2
- package/dist/{chunk-OAZVR2BV.js → chunk-OGCAYLNA.js} +8 -6
- package/dist/{chunk-OAZVR2BV.js.map → chunk-OGCAYLNA.js.map} +1 -1
- package/dist/{chunk-DBRYEIGY.js → chunk-OJP3N7UK.js} +2 -2
- package/dist/{chunk-VDW4VU7B.js → chunk-OQJIB32H.js} +28 -23
- package/dist/chunk-OQJIB32H.js.map +1 -0
- package/dist/{chunk-SMX5267P.js → chunk-OZKOPQCM.js} +2 -2
- package/dist/{chunk-JCK7V6SN.js → chunk-P65YJEEL.js} +2 -2
- package/dist/{chunk-MTR7BZQN.js → chunk-PBGWYM3H.js} +3 -3
- package/dist/chunk-PIG4WJFQ.js +87 -0
- package/dist/chunk-PIG4WJFQ.js.map +1 -0
- package/dist/chunk-PJSK6OJM.js +201 -0
- package/dist/chunk-PJSK6OJM.js.map +1 -0
- package/dist/{chunk-OVJ2HIPE.js → chunk-PMUD7ERF.js} +158 -125
- package/dist/chunk-PMUD7ERF.js.map +1 -0
- package/dist/chunk-PQVCH2AE.js +76 -0
- package/dist/chunk-PQVCH2AE.js.map +1 -0
- package/dist/{chunk-AXTXN4T6.js → chunk-PWFCHOB3.js} +2 -2
- package/dist/{chunk-FDPZVY6D.js → chunk-QFN4U7AG.js} +2 -2
- package/dist/{chunk-K2ZLHESQ.js → chunk-QIEUU4UK.js} +2 -2
- package/dist/{chunk-DYP3YYJJ.js → chunk-QJAQNXWI.js} +39 -5
- package/dist/chunk-QJAQNXWI.js.map +1 -0
- package/dist/{chunk-3D6AFGQR.js → chunk-QVT3E4CE.js} +7 -7
- package/dist/{chunk-FIJUY7GG.js → chunk-R26ZMXR2.js} +23 -23
- package/dist/{chunk-FIJUY7GG.js.map → chunk-R26ZMXR2.js.map} +1 -1
- package/dist/chunk-R3DJVOSM.js +34 -0
- package/dist/chunk-R3DJVOSM.js.map +1 -0
- package/dist/{chunk-SFQ6QNL7.js → chunk-R6YJI3HE.js} +2 -1
- package/dist/{chunk-5CJVLG3H.js → chunk-RFDD3B7W.js} +5 -5
- package/dist/{chunk-JBPKEARU.js → chunk-RKNJBZ55.js} +4 -4
- package/dist/chunk-ROI7BK7H.js +88 -0
- package/dist/chunk-ROI7BK7H.js.map +1 -0
- package/dist/{chunk-FNZQGN76.js → chunk-S2BBISHU.js} +4 -4
- package/dist/{chunk-IALLX7EE.js → chunk-S2FSBU4H.js} +3 -3
- package/dist/{chunk-BFPETA3S.js → chunk-SCCO46KZ.js} +3 -2
- package/dist/chunk-SCCO46KZ.js.map +1 -0
- package/dist/chunk-SK7AMF2J.js +168 -0
- package/dist/chunk-SK7AMF2J.js.map +1 -0
- package/dist/{chunk-KSBEEMQF.js → chunk-TG6IHVE2.js} +151 -6
- package/dist/chunk-TG6IHVE2.js.map +1 -0
- package/dist/{chunk-7K5Q6COX.js → chunk-TVVEYCNW.js} +4 -4
- package/dist/{chunk-DPAENM7O.js → chunk-U3ZAVRP3.js} +2 -2
- package/dist/{chunk-ODPLEWB6.js → chunk-UFGFMWAD.js} +47 -17
- package/dist/chunk-UFGFMWAD.js.map +1 -0
- package/dist/{chunk-4KJLYTLS.js → chunk-V57NLO5P.js} +2 -2
- package/dist/{chunk-FLVL4L3L.js → chunk-VDX2J7OX.js} +2 -2
- package/dist/{chunk-AJLLIIML.js → chunk-W4FBGYGK.js} +1 -1
- package/dist/{chunk-TXLGHDHS.js → chunk-W4XJFLAL.js} +53 -32
- package/dist/chunk-W4XJFLAL.js.map +1 -0
- package/dist/{chunk-6SXVCD7W.js → chunk-W7IGLX4G.js} +2 -2
- package/dist/{chunk-KQDNAXOM.js → chunk-WG5HSQ4P.js} +19 -6
- package/dist/chunk-WG5HSQ4P.js.map +1 -0
- package/dist/{chunk-LTJAMRGI.js → chunk-WL5EBRDH.js} +17 -3
- package/dist/chunk-WL5EBRDH.js.map +1 -0
- package/dist/{chunk-KAWTOYAW.js → chunk-WLZYGLJ4.js} +2 -2
- package/dist/{chunk-RO4LQGT3.js → chunk-WON4APQY.js} +4 -4
- package/dist/{chunk-PQVK2S3J.js → chunk-WZFAPHIK.js} +6 -6
- package/dist/{chunk-KQPJLK3X.js → chunk-XL24QQ63.js} +2 -2
- package/dist/{chunk-LZOV7MX7.js → chunk-XQDRKZ7V.js} +6476 -5747
- package/dist/chunk-XQDRKZ7V.js.map +1 -0
- package/dist/{chunk-RVZRYUQH.js → chunk-YROFNEG5.js} +7 -7
- package/dist/{chunk-RAR2BSEM.js → chunk-YV32N67O.js} +1 -1
- package/dist/chunk-YV32N67O.js.map +1 -0
- package/dist/{chunk-PBSAPHHA.js → chunk-YVKF3HEW.js} +1 -1
- package/dist/chunk-YVKF3HEW.js.map +1 -0
- package/dist/{chunk-VRAD2FGO.js → chunk-Z54EM5YZ.js} +12 -12
- package/dist/{chunk-2VN4JAX7.js → chunk-ZOKZIR5K.js} +95 -33
- package/dist/chunk-ZOKZIR5K.js.map +1 -0
- package/dist/{chunk-DCFV7A7H.js → chunk-ZVAYK7GU.js} +101 -91
- package/dist/chunk-ZVAYK7GU.js.map +1 -0
- package/dist/{cli-Cd5fMmhq.d.ts → cli-5tNLVTvJ.d.ts} +28 -12
- package/dist/cli.d.ts +16 -9
- package/dist/cli.js +142 -127
- package/dist/compounding/engine.d.ts +5 -2
- package/dist/compounding/engine.js +36 -26
- package/dist/compounding/preference-consolidator.d.ts +3 -1
- package/dist/compounding/preference-consolidator.js +1 -1
- package/dist/compression-optimizer.d.ts +3 -1
- package/dist/config-qmd.d.ts +8 -0
- package/dist/config-qmd.js +20 -0
- package/dist/config-qmd.js.map +1 -0
- package/dist/config.d.ts +3 -1
- package/dist/config.js +15 -10
- package/dist/connectors/codex-materialize-runner.d.ts +3 -1
- package/dist/connectors/codex-materialize-runner.js +36 -26
- package/dist/connectors/codex-materialize.d.ts +3 -1
- package/dist/connectors/codex-materialize.js +2 -2
- package/dist/connectors/index.d.ts +3 -1
- package/dist/connectors/index.js +41 -32
- package/dist/consolidation-provenance-check.d.ts +5 -2
- package/dist/consolidation-undo.d.ts +5 -2
- package/dist/contradiction/index.d.ts +5 -2
- package/dist/contradiction/index.js +10 -4
- package/dist/{contradiction-scan-J57T5QV7.js → contradiction-scan-RJBABNRH.js} +4 -4
- package/dist/contradiction-scan-RJBABNRH.js.map +1 -0
- package/dist/conversation-index/backend.d.ts +3 -1
- package/dist/conversation-index/backend.js +5 -5
- package/dist/conversation-index/chunker.d.ts +3 -1
- package/dist/conversation-index/cleanup.js +2 -2
- package/dist/conversation-index/faiss-adapter.d.ts +3 -1
- package/dist/conversation-index/faiss-adapter.js +2 -2
- package/dist/conversation-index/indexer.d.ts +3 -1
- package/dist/conversation-index/indexer.js +2 -2
- package/dist/conversation-index/search.d.ts +3 -1
- package/dist/conversation-index/search.js +2 -2
- package/dist/cross-namespace-budget.d.ts +45 -1
- package/dist/cross-namespace-budget.js +5 -3
- package/dist/dashboard-runtime.js +2 -2
- package/dist/day-summary.d.ts +3 -1
- package/dist/day-summary.js +3 -3
- package/dist/delinearize.d.ts +3 -1
- package/dist/direct-answer-wiring.d.ts +3 -1
- package/dist/direct-answer.d.ts +3 -1
- package/dist/{dreams-ledger-6UODQOX6.js → dreams-ledger-567VKVOU.js} +4 -2
- package/dist/dreams-ledger-567VKVOU.js.map +1 -0
- package/dist/embedding-fallback.d.ts +3 -1
- package/dist/embedding-fallback.js +3 -3
- package/dist/enrichment/index.d.ts +3 -1
- package/dist/entity-retrieval.d.ts +5 -2
- package/dist/entity-retrieval.js +35 -26
- package/dist/entity-schema.d.ts +3 -1
- package/dist/explicit-capture.d.ts +13 -8
- package/dist/explicit-capture.js +7 -3
- package/dist/extraction-faithfulness.d.ts +3 -1
- package/dist/extraction-faithfulness.js +5 -5
- package/dist/extraction-judge-telemetry.d.ts +3 -1
- package/dist/extraction-judge-telemetry.js +2 -2
- package/dist/extraction-judge-training.d.ts +3 -1
- package/dist/extraction-judge-training.js +2 -2
- package/dist/extraction-judge.d.ts +3 -1
- package/dist/extraction-judge.js +5 -5
- package/dist/extraction.d.ts +3 -1
- package/dist/extraction.js +13 -12
- package/dist/faithfulness-config.js +3 -2
- package/dist/fallback-llm.d.ts +3 -1
- package/dist/fallback-llm.js +4 -4
- package/dist/{first-start-migration-TI67YMLG.js → first-start-migration-CSRHCJIQ.js} +2 -2
- package/dist/{forget-CQCLB5LB.js → forget-HRPLVB3W.js} +5 -5
- package/dist/graph-dashboard-diff.d.ts +3 -1
- package/dist/graph-dashboard-key.d.ts +3 -1
- package/dist/graph-dashboard-parser.d.ts +3 -1
- package/dist/{graph-edge-decay-IOGBBAGC.js → graph-edge-decay-Z6ENALU2.js} +3 -3
- package/dist/graph-edge-decay-Z6ENALU2.js.map +1 -0
- package/dist/graph-edge-reinforcement.d.ts +3 -1
- package/dist/graph-snapshot.d.ts +3 -1
- package/dist/graph-snapshot.js +2 -2
- package/dist/graph.d.ts +3 -1
- package/dist/graph.js +1 -1
- package/dist/identity-continuity.d.ts +1 -2
- package/dist/importance.d.ts +3 -1
- package/dist/importers/index.d.ts +3 -1
- package/dist/in-flight-reads.d.ts +3 -1
- package/dist/index.d.ts +473 -464
- package/dist/index.js +287 -239
- package/dist/intent.d.ts +3 -1
- package/dist/lcm/archive.js +2 -2
- package/dist/lcm/engine.d.ts +3 -1
- package/dist/lcm/engine.js +6 -6
- package/dist/lcm/index.d.ts +3 -1
- package/dist/lcm/index.js +13 -13
- package/dist/lcm/schema.js +2 -2
- package/dist/lcm/summarizer.js +3 -3
- package/dist/lcm/tools.d.ts +3 -1
- package/dist/lifecycle.d.ts +3 -1
- package/dist/live-connectors-runner.d.ts +3 -1
- package/dist/local-llm.d.ts +5 -2
- package/dist/local-llm.js +3 -3
- package/dist/local-model-endpoint.d.ts +3 -1
- package/dist/logger.d.ts +3 -1
- package/dist/logger.js +7 -3
- package/dist/maintenance/archive-observations.js +2 -2
- package/dist/maintenance/memory-governance.d.ts +3 -1
- package/dist/maintenance/memory-governance.js +35 -25
- package/dist/maintenance/migrate-observations.js +3 -3
- package/dist/maintenance/observation-ledger-utils.js +2 -2
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +102 -1
- package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +37 -25
- package/dist/maintenance/rebuild-memory-projection.js +38 -28
- package/dist/maintenance/rebuild-observations.js +3 -3
- package/dist/mcp-memory-inspector-app.d.ts +22 -15
- package/dist/memory-action-policy.d.ts +3 -1
- package/dist/memory-cache.d.ts +3 -1
- package/dist/memory-lifecycle-ledger-utils.d.ts +25 -2
- package/dist/memory-lifecycle-ledger-utils.js +11 -1
- package/dist/memory-projection-store.d.ts +3 -1
- package/dist/memory-projection-store.js +2 -2
- package/dist/memory-provenance.d.ts +3 -1
- package/dist/memory-worth-outcomes.d.ts +5 -2
- package/dist/model-registry.js +2 -2
- package/dist/models-json.d.ts +3 -1
- package/dist/models-json.js +2 -2
- package/dist/namespaces/migrate.d.ts +6 -3
- package/dist/namespaces/migrate.js +51 -42
- package/dist/namespaces/principal.d.ts +27 -2
- package/dist/namespaces/principal.js +6 -2
- package/dist/namespaces/search.d.ts +16 -2
- package/dist/namespaces/search.js +24 -20
- package/dist/namespaces/storage.d.ts +24 -3
- package/dist/namespaces/storage.js +35 -27
- package/dist/native-knowledge.d.ts +3 -1
- package/dist/native-knowledge.js +2 -2
- package/dist/negative.js +2 -2
- package/dist/offline-sync-exclude-globs.d.ts +13 -0
- package/dist/offline-sync-exclude-globs.js +10 -0
- package/dist/offline-sync-exclude-globs.js.map +1 -0
- package/dist/offline-sync-impression-drain.d.ts +78 -0
- package/dist/offline-sync-impression-drain.js +37 -0
- package/dist/offline-sync-impression-drain.js.map +1 -0
- package/dist/offline-sync.js +4 -2
- package/dist/operator-toolkit.d.ts +5 -2
- package/dist/operator-toolkit.js +69 -54
- package/dist/orchestration/compression-guideline-coordinator.d.ts +5 -2
- package/dist/orchestration/compression-guideline-coordinator.js +3 -3
- package/dist/orchestration/maintenance.d.ts +121 -2
- package/dist/orchestration/maintenance.js +44 -31
- package/dist/{orchestrator-Bp_jeBHK.d.ts → orchestrator-CQJ8U7En.d.ts} +85 -79
- package/dist/orchestrator.d.ts +13 -8
- package/dist/orchestrator.js +194 -177
- package/dist/patterns-cli.d.ts +3 -1
- package/dist/{pipeline-BAj5bx7g.d.ts → pipeline-Cn-kvYeV.d.ts} +1 -1
- package/dist/policy-runtime.d.ts +3 -1
- package/dist/prioritized-embed.d.ts +19 -0
- package/dist/prioritized-embed.js +8 -0
- package/dist/prioritized-embed.js.map +1 -0
- package/dist/proactive-contention.d.ts +28 -0
- package/dist/proactive-contention.js +8 -0
- package/dist/proactive-contention.js.map +1 -0
- package/dist/profiling.js +2 -2
- package/dist/provenance.d.ts +3 -1
- package/dist/provenance.js +3 -2
- package/dist/{purge-NDWV6WYD.js → purge-IRF47ZTX.js} +3 -3
- package/dist/{qmd-_MDSlj1m.d.ts → qmd-oh9VXz1d.d.ts} +11 -1
- package/dist/qmd-preflight.d.ts +5 -2
- package/dist/qmd-recall-cache.d.ts +3 -1
- package/dist/qmd-status.d.ts +57 -0
- package/dist/qmd-status.js +18 -0
- package/dist/qmd-status.js.map +1 -0
- package/dist/qmd.d.ts +5 -2
- package/dist/qmd.js +7 -3
- package/dist/recall-concurrency-config.d.ts +16 -0
- package/dist/recall-concurrency-config.js +10 -0
- package/dist/recall-concurrency-config.js.map +1 -0
- package/dist/recall-disclosure-escalation.d.ts +3 -1
- package/dist/recall-explain-renderer.d.ts +4 -1
- package/dist/recall-explain-renderer.js +3 -3
- package/dist/recall-memory-map.d.ts +26 -0
- package/dist/recall-memory-map.js +18 -0
- package/dist/recall-memory-map.js.map +1 -0
- package/dist/recall-planner-llm.d.ts +3 -1
- package/dist/recall-planner-llm.js +4 -4
- package/dist/recall-qos.js +2 -2
- package/dist/recall-state.d.ts +163 -2
- package/dist/recall-state.js +6 -3
- package/dist/recall-tag-filter.d.ts +3 -1
- package/dist/recall-timings.d.ts +11 -2
- package/dist/recall-timings.js +3 -1
- package/dist/recall-xray-cli.d.ts +3 -1
- package/dist/recall-xray-cli.js +4 -4
- package/dist/recall-xray-renderer.d.ts +3 -1
- package/dist/recall-xray-renderer.js +3 -3
- package/dist/recall-xray.d.ts +3 -1
- package/dist/recall-xray.js +2 -2
- package/dist/relevance.js +3 -3
- package/dist/replay/normalizers/chatgpt.d.ts +3 -1
- package/dist/replay/normalizers/claude.d.ts +3 -1
- package/dist/replay/normalizers/openclaw.d.ts +3 -1
- package/dist/replay/normalizers/shared.d.ts +3 -1
- package/dist/replay/runner.d.ts +3 -1
- package/dist/replay/types.d.ts +3 -1
- package/dist/rerank.d.ts +8 -1
- package/dist/rerank.js +3 -1
- package/dist/resolution-3K27T4VO.js +18 -0
- package/dist/resolution-3K27T4VO.js.map +1 -0
- package/dist/resolve-auth-token.d.ts +3 -1
- package/dist/resolve-provider-secret.js +2 -2
- package/dist/resume-bundles.js +19 -14
- package/dist/retrieval-agents.d.ts +19 -16
- package/dist/retrieval-agents.js +3 -3
- package/dist/retrieval-tiers.d.ts +3 -1
- package/dist/routing/engine.d.ts +3 -1
- package/dist/routing/store.d.ts +3 -1
- package/dist/routing/store.js +2 -2
- package/dist/salvage-envelope.d.ts +18 -0
- package/dist/salvage-envelope.js +15 -0
- package/dist/salvage-envelope.js.map +1 -0
- package/dist/schemas.d.ts +98 -98
- package/dist/scope-profiles-EpJG7yKP.d.ts +30 -0
- package/dist/search/document-scanner.js +3 -2
- package/dist/search/embed-helper.d.ts +3 -1
- package/dist/search/embed-helper.js +3 -3
- package/dist/search/factory.d.ts +3 -1
- package/dist/search/factory.js +18 -16
- package/dist/search/index.d.ts +3 -1
- package/dist/search/index.js +22 -20
- package/dist/search/lancedb-backend.d.ts +3 -1
- package/dist/search/lancedb-backend.js +6 -5
- package/dist/search/meilisearch-backend.d.ts +3 -1
- package/dist/search/meilisearch-backend.js +6 -5
- package/dist/search/noop-backend.d.ts +3 -1
- package/dist/search/orama-backend.d.ts +3 -1
- package/dist/search/orama-backend.js +6 -5
- package/dist/search/port.d.ts +16 -2
- package/dist/search/port.js +1 -1
- package/dist/search/remote-backend.d.ts +3 -1
- package/dist/search/remote-backend.js +3 -3
- package/dist/secure-store/index.d.ts +12 -1
- package/dist/secure-store/index.js +6 -3
- package/dist/{semantic-consolidation-C2m5eHHE.d.ts → semantic-consolidation-DILZEQq3.d.ts} +1 -1
- package/dist/semantic-consolidation.d.ts +4 -2
- package/dist/semantic-consolidation.js +38 -29
- package/dist/semantic-rule-promotion.js +34 -24
- package/dist/semantic-rule-verifier.d.ts +3 -1
- package/dist/semantic-rule-verifier.js +35 -25
- package/dist/session-observer-bands.d.ts +3 -1
- package/dist/session-observer-state.d.ts +3 -1
- package/dist/session-observer-state.js +2 -2
- package/dist/session-transcript-migration.js +2 -2
- package/dist/shared-context/manager.d.ts +11 -9
- package/dist/shared-context/manager.js +3 -3
- package/dist/signal.d.ts +3 -1
- package/dist/{storage-hr_Y2z5R.d.ts → storage-NIyKYD8g.d.ts} +489 -110
- package/dist/storage-guards.js +2 -2
- package/dist/storage.d.ts +6 -3
- package/dist/storage.js +38 -26
- package/dist/structured-attributes.d.ts +23 -1
- package/dist/structured-attributes.js +7 -1
- package/dist/summarizer.d.ts +3 -1
- package/dist/summarizer.js +11 -11
- package/dist/summary-snapshot.d.ts +3 -1
- package/dist/summary-snapshot.js +2 -2
- package/dist/temporal-index-batch.d.ts +1 -0
- package/dist/temporal-index-batch.js +10 -0
- package/dist/temporal-index-batch.js.map +1 -0
- package/dist/temporal-index-compat.d.ts +279 -1
- package/dist/temporal-index-compat.js +1 -1
- package/dist/temporal-index.d.ts +1 -225
- package/dist/temporal-index.js +35 -3
- package/dist/temporal-supersession.d.ts +5 -2
- package/dist/temporal-supersession.js +2 -2
- package/dist/temporal-timeline-recall.d.ts +3 -1
- package/dist/temporal-validity.d.ts +3 -1
- package/dist/threading.d.ts +3 -1
- package/dist/threading.js +2 -2
- package/dist/tier-migration.d.ts +5 -2
- package/dist/tier-routing.d.ts +3 -1
- package/dist/{tier-stats-KV7IWCJR.js → tier-stats-QEJSPFV2.js} +2 -2
- package/dist/tokens.js +3 -3
- package/dist/topics.d.ts +3 -1
- package/dist/transcript.d.ts +3 -1
- package/dist/transcript.js +2 -2
- package/dist/transfer/backup.js +3 -3
- package/dist/transfer/capsule-export.js +3 -3
- package/dist/transfer/capsule-import.js +3 -3
- package/dist/transfer/types.d.ts +90 -90
- package/dist/trust-score-stage.d.ts +75 -38
- package/dist/trust-score-stage.js +11 -3
- package/dist/trust-score.d.ts +3 -1
- package/dist/{types-Cg8q7W7_.d.ts → types-D_fG2ix8.d.ts} +39 -63
- package/dist/types-continuity.d.ts +52 -0
- package/dist/types-continuity.js +1 -0
- package/dist/types-continuity.js.map +1 -0
- package/dist/types.d.ts +3 -1
- package/dist/types.js +1 -1
- package/dist/utility-runtime.d.ts +3 -1
- package/dist/utils/serialize-mutations.d.ts +31 -2
- package/dist/utils/serialize-mutations.js +1 -1
- package/dist/verified-recall.js +36 -26
- package/dist/write-envelope.d.ts +282 -0
- package/dist/write-envelope.js +35 -0
- package/dist/write-envelope.js.map +1 -0
- package/dist/write-quarantine.d.ts +94 -0
- package/dist/write-quarantine.js +11 -0
- package/dist/write-quarantine.js.map +1 -0
- package/dist/write-rate-limiter.d.ts +45 -0
- package/dist/write-rate-limiter.js +9 -0
- package/dist/write-rate-limiter.js.map +1 -0
- package/package.json +37 -2
- package/src/access-admin-ops-surface.ts +17 -7
- package/src/access-boundary.test.ts +28 -0
- package/src/access-boundary.ts +31 -2
- package/src/access-citation.test.ts +72 -0
- package/src/access-citation.ts +139 -0
- package/src/access-errors.ts +21 -0
- package/src/access-fingerprint-parity.test.ts +211 -0
- package/src/access-http-cancellation.test.ts +59 -21
- package/src/access-http.test.ts +90 -0
- package/src/access-http.ts +79 -79
- package/src/access-mcp-cancellation.test.ts +16 -7
- package/src/access-memory-search-fanout.test.ts +220 -0
- package/src/access-memory-search-fanout.ts +168 -0
- package/src/access-observe-quarantine.test.ts +172 -0
- package/src/access-observe-write-surface.ts +137 -11
- package/src/access-operations-batch.ts +2 -0
- package/src/access-recall-concurrency.ts +773 -0
- package/src/access-recall-response.ts +307 -0
- package/src/access-recall-surface.ts +100 -252
- package/src/access-service-coding-write.test.ts +22 -4
- package/src/access-service-health.test.ts +49 -0
- package/src/access-service-namespace.test.ts +486 -8
- package/src/access-service-observe-scope.test.ts +4 -0
- package/src/access-service-recall-concurrency.test.ts +1990 -0
- package/src/access-service.ts +186 -179
- package/src/access-surface-catalog.ts +1 -0
- package/src/access-token-capabilities.ts +16 -9
- package/src/active-recall.test.ts +35 -0
- package/src/active-recall.ts +7 -0
- package/src/bounded-jsonl-state.ts +93 -0
- package/src/buffer-session.test.ts +422 -5
- package/src/buffer-surprise-trigger.test.ts +41 -0
- package/src/buffer.ts +218 -3
- package/src/capabilities-cluster-b.test.ts +1 -0
- package/src/capabilities.ts +5 -6
- package/src/cli.ts +21 -22
- package/src/coding/architecture-surfaces.test.ts +6 -3
- package/src/coding/architecture-surfaces.ts +36 -25
- package/src/coding/decision-surfaces.ts +42 -34
- package/src/compounding/engine.test.ts +5 -1
- package/src/compounding/engine.ts +7 -7
- package/src/config-qmd.ts +89 -0
- package/src/config.test.ts +136 -0
- package/src/config.ts +113 -118
- package/src/connector-provenance-lifecycle.test.ts +4 -4
- package/src/connectors/coerce.test.ts +131 -0
- package/src/connectors/coerce.ts +80 -7
- package/src/contradiction/contradiction.test.ts +10 -6
- package/src/contradiction/resolution.ts +17 -4
- package/src/correction/correction-access-wiring.ts +62 -18
- package/src/cross-namespace-budget.test.ts +35 -0
- package/src/cross-namespace-budget.ts +86 -19
- package/src/explicit-capture.ts +54 -17
- package/src/extraction.ts +2 -3
- package/src/faithfulness-graph-guard.test.ts +16 -69
- package/src/graph-recall.test.ts +31 -0
- package/src/index.ts +22 -2
- package/src/local-llm.ts +4 -6
- package/src/logger.ts +16 -0
- package/src/maintenance/dreams-ledger.ts +100 -49
- package/src/maintenance/rebuild-memory-lifecycle-ledger-cli.ts +77 -0
- package/src/maintenance/rebuild-memory-lifecycle-ledger.ts +373 -9
- package/src/memory-lifecycle-ledger-utils.ts +51 -5
- package/src/namespaces/principal.test.ts +37 -1
- package/src/namespaces/principal.ts +48 -0
- package/src/namespaces/search.test.ts +79 -5
- package/src/namespaces/search.ts +59 -6
- package/src/namespaces/storage.ts +43 -1
- package/src/offline-sync-exclude-globs.ts +58 -0
- package/src/offline-sync-impression-drain.test.ts +316 -0
- package/src/offline-sync-impression-drain.ts +260 -0
- package/src/offline-sync.test.ts +32 -5
- package/src/offline-sync.ts +1 -14
- package/src/operator-toolkit.ts +1 -1
- package/src/orchestration/batch-deindex-flush.test.ts +146 -0
- package/src/orchestration/consolidation-run.ts +96 -85
- package/src/orchestration/extraction-envelope.ts +94 -0
- package/src/orchestration/extraction-persist-promotion.ts +134 -0
- package/src/orchestration/extraction-persist.ts +325 -260
- package/src/orchestration/extraction-run.test.ts +1 -1
- package/src/orchestration/extraction-run.ts +2 -2
- package/src/orchestration/graph-recall-coordinator.ts +18 -7
- package/src/orchestration/lifecycle-policy-coordinator.ts +63 -48
- package/src/orchestration/maintenance.test.ts +2103 -3
- package/src/orchestration/maintenance.ts +574 -2
- package/src/orchestration/namespace-read-fanout.ts +14 -8
- package/src/orchestration/orchestrator-helpers.ts +8 -1
- package/src/orchestration/orchestrator-init.ts +22 -6
- package/src/orchestration/orchestrator-namespace-scope.ts +71 -0
- package/src/orchestration/persistence-index.ts +64 -9
- package/src/orchestration/qmd-result-resolver.ts +27 -0
- package/src/orchestration/recall-entry.ts +34 -19
- package/src/orchestration/recall-internal.ts +207 -79
- package/src/orchestration/recall-rerank-coordinator.ts +229 -82
- package/src/orchestration/recall-result-formatter.ts +76 -20
- package/src/orchestration/recall-search-pipeline.test.ts +70 -0
- package/src/orchestration/recall-search-pipeline.ts +102 -129
- package/src/orchestration/recall-section-coordinator.ts +315 -85
- package/src/orchestration/semantic-consolidation-coordinator.ts +69 -37
- package/src/orchestration/session-context.ts +21 -0
- package/src/orchestration/workspace-ops.test.ts +348 -0
- package/src/orchestration/workspace-ops.ts +168 -34
- package/src/orchestrator-chunked-hash-durability.test.ts +126 -0
- package/src/orchestrator-connector-dedup.test.ts +1061 -40
- package/src/orchestrator-flush.test.ts +155 -39
- package/src/orchestrator-nonchunked-hash-durability.test.ts +121 -0
- package/src/orchestrator-source-attribution.test.ts +9 -9
- package/src/orchestrator.ts +160 -149
- package/src/prioritized-embed.ts +123 -0
- package/src/proactive-contention.test.ts +80 -0
- package/src/proactive-contention.ts +39 -0
- package/src/procedural/procedure-miner.test.ts +19 -14
- package/src/procedural/procedure-miner.ts +44 -13
- package/src/qmd-client.test.ts +111 -1
- package/src/qmd-status.ts +186 -0
- package/src/qmd.ts +47 -47
- package/src/recall-budget-config.test.ts +30 -0
- package/src/recall-cold-deadline.test.ts +149 -0
- package/src/recall-concurrency-config.ts +28 -0
- package/src/recall-memory-map.ts +74 -0
- package/src/recall-rerank-coordinator.test.ts +508 -0
- package/src/recall-state.test.ts +825 -1
- package/src/recall-state.ts +406 -7
- package/src/recall-timings-access.test.ts +41 -0
- package/src/recall-timings.ts +16 -0
- package/src/relay/mission-access.test.ts +5 -5
- package/src/rerank.ts +22 -0
- package/src/retrieval-agents.test.ts +79 -0
- package/src/retrieval-agents.ts +71 -19
- package/src/salvage-envelope.ts +28 -0
- package/src/scopes/scope-plan.test.ts +42 -0
- package/src/scopes/scope-plan.ts +45 -0
- package/src/search/port.ts +13 -0
- package/src/secure-store/index.ts +1 -0
- package/src/secure-store/secure-fs.ts +48 -0
- package/src/secure-store/secure-store.test.ts +40 -0
- package/src/semantic-rule-promotion.ts +13 -4
- package/src/storage/content-hash-index.ts +655 -0
- package/src/storage/entity-timeline.ts +473 -0
- package/src/storage/memory-lifecycle-ledger-access.ts +603 -0
- package/src/storage/secure-line-reader.test.ts +197 -0
- package/src/storage/secure-line-reader.ts +181 -3
- package/src/storage-append-header-sniff.test.ts +195 -0
- package/src/storage-behavior-signals-cache.test.ts +237 -0
- package/src/storage-contract/cache-coherence.test.ts +96 -1
- package/src/storage-contract/content-hash.test.ts +47 -2
- package/src/storage-fact-hash-index-defer.test.ts +1200 -0
- package/src/storage-memory-lifecycle-ledger.test.ts +1146 -3
- package/src/storage.ts +882 -890
- package/src/structured-attributes.ts +52 -0
- package/src/temporal-index-batch.ts +112 -0
- package/src/temporal-index.test.ts +193 -0
- package/src/temporal-index.ts +49 -53
- package/src/testing/lifecycle-matrix.test.ts +212 -0
- package/src/testing/lifecycle-matrix.ts +271 -0
- package/src/testing/orchestrator-lite.ts +236 -0
- package/src/testing/subjects/dreams-ledger.test.ts +67 -0
- package/src/testing/subjects/extraction-lifecycle.test.ts +442 -0
- package/src/testing/subjects/lifecycle-ledger.test.ts +93 -0
- package/src/testing/subjects/recall-budget.test.ts +461 -0
- package/src/testing/subjects/serialized-write-chain.test.ts +224 -0
- package/src/trust-score-stage.test.ts +154 -0
- package/src/trust-score-stage.ts +216 -53
- package/src/types-continuity.ts +57 -0
- package/src/types.ts +51 -77
- package/src/utils/path-containment.test.ts +75 -0
- package/src/utils/path-containment.ts +76 -0
- package/src/utils/serialize-mutations.test.ts +122 -0
- package/src/utils/serialize-mutations.ts +68 -3
- package/src/wearables/memory-gen.test.ts +31 -9
- package/src/wearables/memory-gen.ts +95 -55
- package/src/wearables/pipeline.test.ts +10 -7
- package/src/wearables/service.test.ts +6 -8
- package/src/wearables/service.ts +2 -2
- package/src/write-envelope.extension.test.ts +111 -0
- package/src/write-envelope.test.ts +683 -0
- package/src/write-envelope.ts +902 -0
- package/src/write-quarantine.test.ts +245 -0
- package/src/write-quarantine.ts +290 -0
- package/src/write-rate-limiter.test.ts +105 -0
- package/src/write-rate-limiter.ts +135 -0
- package/src/write-sealed-parity.test.ts +204 -0
- package/dist/chunk-2VN4JAX7.js.map +0 -1
- package/dist/chunk-37CTGERM.js.map +0 -1
- package/dist/chunk-3IY64MV6.js.map +0 -1
- package/dist/chunk-BCDKBDSY.js.map +0 -1
- package/dist/chunk-BFPETA3S.js.map +0 -1
- package/dist/chunk-BFVEEB7W.js.map +0 -1
- package/dist/chunk-BS4SGLWV.js.map +0 -1
- package/dist/chunk-DCFV7A7H.js.map +0 -1
- package/dist/chunk-DYP3YYJJ.js.map +0 -1
- package/dist/chunk-E5BK6CGV.js +0 -335
- package/dist/chunk-E5BK6CGV.js.map +0 -1
- package/dist/chunk-FTYDWKO6.js.map +0 -1
- package/dist/chunk-GWTFLF2P.js.map +0 -1
- package/dist/chunk-IKQTFQMI.js.map +0 -1
- package/dist/chunk-INELTPRG.js.map +0 -1
- package/dist/chunk-J2HSAU72.js.map +0 -1
- package/dist/chunk-JREB6UFH.js.map +0 -1
- package/dist/chunk-K7LOWSLU.js.map +0 -1
- package/dist/chunk-KQDNAXOM.js.map +0 -1
- package/dist/chunk-KSBEEMQF.js.map +0 -1
- package/dist/chunk-KSNVDPDF.js.map +0 -1
- package/dist/chunk-LC7OODWZ.js.map +0 -1
- package/dist/chunk-LTJAMRGI.js.map +0 -1
- package/dist/chunk-LZOV7MX7.js.map +0 -1
- package/dist/chunk-NWTGD4AN.js.map +0 -1
- package/dist/chunk-ODPLEWB6.js.map +0 -1
- package/dist/chunk-OVJ2HIPE.js.map +0 -1
- package/dist/chunk-PBSAPHHA.js.map +0 -1
- package/dist/chunk-PHK3HARR.js +0 -32
- package/dist/chunk-PHK3HARR.js.map +0 -1
- package/dist/chunk-PLQE6MJA.js.map +0 -1
- package/dist/chunk-QKQYXZVS.js.map +0 -1
- package/dist/chunk-QQGPUKMT.js.map +0 -1
- package/dist/chunk-RANHFI3P.js +0 -8
- package/dist/chunk-RANHFI3P.js.map +0 -1
- package/dist/chunk-RAR2BSEM.js.map +0 -1
- package/dist/chunk-RULE4VG5.js.map +0 -1
- package/dist/chunk-SVOZFLIQ.js +0 -16
- package/dist/chunk-SVOZFLIQ.js.map +0 -1
- package/dist/chunk-T7Y5KPLN.js.map +0 -1
- package/dist/chunk-TXLGHDHS.js.map +0 -1
- package/dist/chunk-VDW4VU7B.js.map +0 -1
- package/dist/chunk-VSMRDBFT.js +0 -17
- package/dist/chunk-VSMRDBFT.js.map +0 -1
- package/dist/chunk-X64YLC24.js.map +0 -1
- package/dist/chunk-XDSXEKYK.js +0 -118
- package/dist/chunk-XDSXEKYK.js.map +0 -1
- package/dist/chunk-YF6FMLBT.js.map +0 -1
- package/dist/resolution-VH4NGENZ.js +0 -12
- /package/dist/{capsule-crypto-CZJSLEFG.js.map → access-citation.js.map} +0 -0
- /package/dist/{contradiction-scan-J57T5QV7.js.map → access-memory-search-fanout.js.map} +0 -0
- /package/dist/{dreams-ledger-6UODQOX6.js.map → access-recall-concurrency.js.map} +0 -0
- /package/dist/{graph-edge-decay-IOGBBAGC.js.map → access-recall-response.js.map} +0 -0
- /package/dist/{resolution-VH4NGENZ.js.map → bounded-jsonl-state.js.map} +0 -0
- /package/dist/{chunk-A3GOMRJG.js.map → chunk-23L3IXFD.js.map} +0 -0
- /package/dist/{chunk-MRHFJV44.js.map → chunk-2DQ2XREU.js.map} +0 -0
- /package/dist/{chunk-L2B3EE7B.js.map → chunk-2QMKMVHH.js.map} +0 -0
- /package/dist/{chunk-VJVNLNDQ.js.map → chunk-2UFO7X4Q.js.map} +0 -0
- /package/dist/{chunk-2MR3MFQB.js.map → chunk-2VEOKUPP.js.map} +0 -0
- /package/dist/{chunk-RHOZ5LLO.js.map → chunk-347WD2LE.js.map} +0 -0
- /package/dist/{chunk-HDTQVNWD.js.map → chunk-3QAH2S33.js.map} +0 -0
- /package/dist/{chunk-LRNMRXJO.js.map → chunk-3Y224NYC.js.map} +0 -0
- /package/dist/{chunk-VFSP73LP.js.map → chunk-45GF7Y3V.js.map} +0 -0
- /package/dist/{chunk-OEHCMALU.js.map → chunk-5I4M26Q7.js.map} +0 -0
- /package/dist/{chunk-2AZXIZEN.js.map → chunk-5Q7EVV4X.js.map} +0 -0
- /package/dist/{chunk-PUBTHW5O.js.map → chunk-6DRPPQEJ.js.map} +0 -0
- /package/dist/{chunk-FDCTQWLW.js.map → chunk-6O22TZSB.js.map} +0 -0
- /package/dist/{chunk-ZQ7UBUZ6.js.map → chunk-6QYST5XN.js.map} +0 -0
- /package/dist/{chunk-W4PGTAS2.js.map → chunk-6WAFYNVT.js.map} +0 -0
- /package/dist/{chunk-R5VAVVHP.js.map → chunk-72A4L5JJ.js.map} +0 -0
- /package/dist/{chunk-3FAMU5TX.js.map → chunk-A6USBZTO.js.map} +0 -0
- /package/dist/{chunk-ZHIVCODT.js.map → chunk-A72SWTWW.js.map} +0 -0
- /package/dist/{chunk-FC77VUX5.js.map → chunk-A7Q43EUZ.js.map} +0 -0
- /package/dist/{chunk-UJBESW6X.js.map → chunk-AE7WMV4V.js.map} +0 -0
- /package/dist/{chunk-A5UXZRRM.js.map → chunk-AJ7QCSIS.js.map} +0 -0
- /package/dist/{chunk-FNMFJWBY.js.map → chunk-ANEUPF6O.js.map} +0 -0
- /package/dist/{chunk-2A3OXAP2.js.map → chunk-B7RWBZXW.js.map} +0 -0
- /package/dist/{chunk-74F5STS4.js.map → chunk-BLAKS3CP.js.map} +0 -0
- /package/dist/{chunk-M7VGG3ID.js.map → chunk-BV5WMSIJ.js.map} +0 -0
- /package/dist/{chunk-2BFLDH5F.js.map → chunk-BXLOS5AJ.js.map} +0 -0
- /package/dist/{chunk-UXKMMNJD.js.map → chunk-C23BYTJV.js.map} +0 -0
- /package/dist/{chunk-JZHHREBL.js.map → chunk-C3AKM55W.js.map} +0 -0
- /package/dist/{chunk-RP7YXA67.js.map → chunk-C5JF6EZ7.js.map} +0 -0
- /package/dist/{chunk-EHCONI6E.js.map → chunk-CQMEM5CC.js.map} +0 -0
- /package/dist/{chunk-PBNZVPFS.js.map → chunk-CXZQOVIE.js.map} +0 -0
- /package/dist/{chunk-7N2RUBAP.js.map → chunk-DDA47TES.js.map} +0 -0
- /package/dist/{chunk-64SE4X5G.js.map → chunk-DEBHXHJR.js.map} +0 -0
- /package/dist/{chunk-EHK6KZHK.js.map → chunk-DNHVPZOD.js.map} +0 -0
- /package/dist/{chunk-437S3G37.js.map → chunk-DQEMWVMT.js.map} +0 -0
- /package/dist/{chunk-LZZNTPLR.js.map → chunk-DX3XRGLH.js.map} +0 -0
- /package/dist/{chunk-DZKHSDOM.js.map → chunk-ES36HTSC.js.map} +0 -0
- /package/dist/{chunk-TN7THW5U.js.map → chunk-ET356KSB.js.map} +0 -0
- /package/dist/{chunk-YNDLCWXS.js.map → chunk-EZ25VE3G.js.map} +0 -0
- /package/dist/{chunk-DMSDUGDM.js.map → chunk-F7GAIWFA.js.map} +0 -0
- /package/dist/{chunk-G6XXLKC5.js.map → chunk-FFPJINJE.js.map} +0 -0
- /package/dist/{chunk-G4CN3ZXL.js.map → chunk-FUTF72MJ.js.map} +0 -0
- /package/dist/{chunk-HF77M34J.js.map → chunk-GFPZS3F5.js.map} +0 -0
- /package/dist/{chunk-G6NKALRN.js.map → chunk-H4WG3UQZ.js.map} +0 -0
- /package/dist/{chunk-UDQUSU27.js.map → chunk-HNZKVLAN.js.map} +0 -0
- /package/dist/{chunk-5EZXHU36.js.map → chunk-HYQJQGD3.js.map} +0 -0
- /package/dist/{chunk-TRWPCR6P.js.map → chunk-JECBQBEX.js.map} +0 -0
- /package/dist/{chunk-E6CBU7XP.js.map → chunk-JYIFGGEM.js.map} +0 -0
- /package/dist/{chunk-VA4WSW54.js.map → chunk-JYIJNNN3.js.map} +0 -0
- /package/dist/{chunk-L5HJQC36.js.map → chunk-K2TDK7GG.js.map} +0 -0
- /package/dist/{chunk-KDXVOFYY.js.map → chunk-KAVBJSBQ.js.map} +0 -0
- /package/dist/{chunk-4OKLXWDZ.js.map → chunk-KNB7IBBU.js.map} +0 -0
- /package/dist/{chunk-QLULYKWZ.js.map → chunk-KSXJOC4F.js.map} +0 -0
- /package/dist/{chunk-2S6QHZGJ.js.map → chunk-L2DPF4DF.js.map} +0 -0
- /package/dist/{chunk-JI5AVXYO.js.map → chunk-LEPOP46W.js.map} +0 -0
- /package/dist/{chunk-O7BBFJLP.js.map → chunk-LTAVSOZW.js.map} +0 -0
- /package/dist/{chunk-2IZAGAJR.js.map → chunk-LULR4IUW.js.map} +0 -0
- /package/dist/{chunk-WMWVO45V.js.map → chunk-MC6XO7T4.js.map} +0 -0
- /package/dist/{chunk-D6RIFG4O.js.map → chunk-MNB5RMAY.js.map} +0 -0
- /package/dist/{chunk-Q5WG43OP.js.map → chunk-MYFQ3ED4.js.map} +0 -0
- /package/dist/{chunk-V3UE5I5F.js.map → chunk-MYVPLJOO.js.map} +0 -0
- /package/dist/{chunk-MTWKDOVO.js.map → chunk-NLE6TSLG.js.map} +0 -0
- /package/dist/{chunk-DBRYEIGY.js.map → chunk-OJP3N7UK.js.map} +0 -0
- /package/dist/{chunk-SMX5267P.js.map → chunk-OZKOPQCM.js.map} +0 -0
- /package/dist/{chunk-JCK7V6SN.js.map → chunk-P65YJEEL.js.map} +0 -0
- /package/dist/{chunk-MTR7BZQN.js.map → chunk-PBGWYM3H.js.map} +0 -0
- /package/dist/{chunk-AXTXN4T6.js.map → chunk-PWFCHOB3.js.map} +0 -0
- /package/dist/{chunk-FDPZVY6D.js.map → chunk-QFN4U7AG.js.map} +0 -0
- /package/dist/{chunk-K2ZLHESQ.js.map → chunk-QIEUU4UK.js.map} +0 -0
- /package/dist/{chunk-3D6AFGQR.js.map → chunk-QVT3E4CE.js.map} +0 -0
- /package/dist/{chunk-SFQ6QNL7.js.map → chunk-R6YJI3HE.js.map} +0 -0
- /package/dist/{chunk-5CJVLG3H.js.map → chunk-RFDD3B7W.js.map} +0 -0
- /package/dist/{chunk-JBPKEARU.js.map → chunk-RKNJBZ55.js.map} +0 -0
- /package/dist/{chunk-FNZQGN76.js.map → chunk-S2BBISHU.js.map} +0 -0
- /package/dist/{chunk-IALLX7EE.js.map → chunk-S2FSBU4H.js.map} +0 -0
- /package/dist/{chunk-7K5Q6COX.js.map → chunk-TVVEYCNW.js.map} +0 -0
- /package/dist/{chunk-DPAENM7O.js.map → chunk-U3ZAVRP3.js.map} +0 -0
- /package/dist/{chunk-4KJLYTLS.js.map → chunk-V57NLO5P.js.map} +0 -0
- /package/dist/{chunk-FLVL4L3L.js.map → chunk-VDX2J7OX.js.map} +0 -0
- /package/dist/{chunk-AJLLIIML.js.map → chunk-W4FBGYGK.js.map} +0 -0
- /package/dist/{chunk-6SXVCD7W.js.map → chunk-W7IGLX4G.js.map} +0 -0
- /package/dist/{chunk-KAWTOYAW.js.map → chunk-WLZYGLJ4.js.map} +0 -0
- /package/dist/{chunk-RO4LQGT3.js.map → chunk-WON4APQY.js.map} +0 -0
- /package/dist/{chunk-PQVK2S3J.js.map → chunk-WZFAPHIK.js.map} +0 -0
- /package/dist/{chunk-KQPJLK3X.js.map → chunk-XL24QQ63.js.map} +0 -0
- /package/dist/{chunk-RVZRYUQH.js.map → chunk-YROFNEG5.js.map} +0 -0
- /package/dist/{chunk-VRAD2FGO.js.map → chunk-Z54EM5YZ.js.map} +0 -0
- /package/dist/{first-start-migration-TI67YMLG.js.map → first-start-migration-CSRHCJIQ.js.map} +0 -0
- /package/dist/{forget-CQCLB5LB.js.map → forget-HRPLVB3W.js.map} +0 -0
- /package/dist/{purge-NDWV6WYD.js.map → purge-IRF47ZTX.js.map} +0 -0
- /package/dist/{tier-stats-KV7IWCJR.js.map → tier-stats-QEJSPFV2.js.map} +0 -0
package/src/trust-score-stage.ts
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
import type { QmdSearchResult } from "./types.js";
|
|
2
|
+
|
|
3
|
+
/** Stable key for a recall result whose path may repeat across namespaces. */
|
|
4
|
+
export function trustResultKey(result: Pick<QmdSearchResult, "path" | "namespace">): string {
|
|
5
|
+
return JSON.stringify([result.namespace ?? "", result.path]);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
/** Read trust metadata while accepting pre-namespace path-only maps. */
|
|
9
|
+
export function trustResultFor(
|
|
10
|
+
trustByPath: ReadonlyMap<string, TrustStageResultItem>,
|
|
11
|
+
result: Pick<QmdSearchResult, "path" | "namespace">,
|
|
12
|
+
): TrustStageResultItem | undefined {
|
|
13
|
+
return trustByPath.get(trustResultKey(result)) ?? trustByPath.get(result.path);
|
|
14
|
+
}
|
|
15
|
+
|
|
1
16
|
/**
|
|
2
17
|
* trust-score-stage.ts — signal adapters + recall pipeline stage (issue #1577 PR 2).
|
|
3
18
|
*
|
|
@@ -133,11 +148,15 @@ export function buildTrustSignalMap(
|
|
|
133
148
|
export interface TrustStageCandidate {
|
|
134
149
|
path: string;
|
|
135
150
|
score: number;
|
|
151
|
+
/** Namespace-aware result key used to preserve result identity through rerank. */
|
|
152
|
+
key?: string;
|
|
136
153
|
}
|
|
137
154
|
|
|
138
155
|
/** One candidate after the TrustScore stage. */
|
|
139
156
|
export interface TrustStageResultItem {
|
|
140
157
|
path: string;
|
|
158
|
+
/** Namespace-aware result key used to preserve result identity through rerank. */
|
|
159
|
+
key?: string;
|
|
141
160
|
/** Final score after the trust multiplier is applied. */
|
|
142
161
|
score: number;
|
|
143
162
|
/** The untouched input score — for telemetry / X-ray. */
|
|
@@ -210,7 +229,9 @@ export function applyTrustScoreStage(
|
|
|
210
229
|
|
|
211
230
|
for (let i = 0; i < candidates.length; i += 1) {
|
|
212
231
|
const c = candidates[i]!;
|
|
213
|
-
|
|
232
|
+
// Prefer the namespace-aware composite key; fall back to path for callers
|
|
233
|
+
// (and tests) that key signals by bare path (#2020).
|
|
234
|
+
const signals = options.signals.get(c.key ?? c.path) ?? options.signals.get(c.path);
|
|
214
235
|
const trust = computeTrustScore(signals, options.weights);
|
|
215
236
|
const isQuarantined = quarantine && trust.band === "quarantine";
|
|
216
237
|
// Quarantined items are excluded from injection. Keep their score unchanged
|
|
@@ -224,6 +245,7 @@ export function applyTrustScoreStage(
|
|
|
224
245
|
const scored = safeBase * multiplier;
|
|
225
246
|
const item: TrustStageResultItem = {
|
|
226
247
|
path: c.path,
|
|
248
|
+
...(c.key === undefined ? {} : { key: c.key }),
|
|
227
249
|
score: scored,
|
|
228
250
|
originalScore: c.score,
|
|
229
251
|
multiplier,
|
|
@@ -305,28 +327,68 @@ export interface TrustScoreRerankDeps {
|
|
|
305
327
|
readNamespaceMemories(
|
|
306
328
|
namespace: string,
|
|
307
329
|
): Promise<ReadonlyArray<{ path: string; frontmatter: TrustFrontmatterProjection }>>;
|
|
308
|
-
/** Read one memory's frontmatter by path (cold-tier direct fallback).
|
|
309
|
-
|
|
330
|
+
/** Read one memory's frontmatter by path (cold-tier direct fallback). The
|
|
331
|
+
* owning namespace is passed so a relative path resolves against the correct
|
|
332
|
+
* namespace store instead of the first fallback (#2020). */
|
|
333
|
+
readMemoryFrontmatter(
|
|
334
|
+
path: string,
|
|
335
|
+
preferredNamespace?: string,
|
|
336
|
+
): Promise<TrustFrontmatterProjection | null>;
|
|
337
|
+
/**
|
|
338
|
+
* Current cross-process corpus version for a namespace (issue #1905). Used
|
|
339
|
+
* to key the per-namespace corpus-fallback cache so it invalidates on the
|
|
340
|
+
* next memory mutation instead of on a wall-clock timer that is shorter than
|
|
341
|
+
* recall latency (which produced a permanent steady-state miss).
|
|
342
|
+
*/
|
|
343
|
+
getNamespaceVersion(namespace: string): Promise<number>;
|
|
310
344
|
}
|
|
311
345
|
|
|
312
|
-
/**
|
|
346
|
+
/**
|
|
347
|
+
* Per-namespace signal cache the host owns and the builder mutates. Keyed on
|
|
348
|
+
* the shared corpus version (issue #1905): an entry is valid iff its `version`
|
|
349
|
+
* still equals the namespace's current corpus version AND it is younger than
|
|
350
|
+
* TRUST_SIGNAL_CACHE_MAX_AGE_MS. The age bound is required because trust
|
|
351
|
+
* signals bake wall-clock time into their values (ageDays,
|
|
352
|
+
* computeMemoryWorth(..., now) with recency half-life) — pure version
|
|
353
|
+
* invalidation would serve stale decay on a read-only corpus (#1905, Codex).
|
|
354
|
+
*/
|
|
313
355
|
export interface TrustScoreSignalCache {
|
|
314
|
-
cache: Map<string, {
|
|
315
|
-
|
|
356
|
+
cache: Map<string, { version: number; cachedAt: number; signals: ReadonlyMap<string, TrustSignals> }>;
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
/** See TrustScoreSignalCache — bounds time-based staleness of cached signals. */
|
|
360
|
+
export const TRUST_SIGNAL_CACHE_MAX_AGE_MS = 300_000;
|
|
361
|
+
|
|
362
|
+
/** Bound on distinct namespaces retained; overflow evicts the oldest. */
|
|
363
|
+
export const TRUST_SIGNAL_CACHE_MAX_NAMESPACES = 64;
|
|
364
|
+
|
|
365
|
+
/** Insert-ordered bounded set: evict the oldest namespace on overflow. */
|
|
366
|
+
function capTrustSignalCache(cache: TrustScoreSignalCache["cache"], max: number): void {
|
|
367
|
+
while (cache.size > max) {
|
|
368
|
+
const oldest = cache.keys().next().value;
|
|
369
|
+
if (oldest === undefined) break;
|
|
370
|
+
cache.delete(oldest);
|
|
371
|
+
}
|
|
316
372
|
}
|
|
317
373
|
|
|
318
374
|
/**
|
|
319
|
-
* Build the `path → TrustSignals` map for recall candidates
|
|
320
|
-
*
|
|
321
|
-
*
|
|
322
|
-
*
|
|
323
|
-
*
|
|
375
|
+
* Build the `path → TrustSignals` map for recall candidates.
|
|
376
|
+
*
|
|
377
|
+
* O(candidates) inversion (issue #1905): when the host passes
|
|
378
|
+
* `preloadedFrontmatter` (frontmatter already loaded on the hot recall path),
|
|
379
|
+
* candidate signals are seeded directly from it — no corpus scan. Only
|
|
380
|
+
* candidates still missing fall back to the corpus-level per-namespace map
|
|
381
|
+
* (config-gated, version-keyed so it actually hits in steady state) and then
|
|
382
|
+
* to a bounded-parallel direct per-path read.
|
|
324
383
|
*
|
|
325
384
|
* Fail-open: a single unreadable namespace or memory is logged and skipped so
|
|
326
385
|
* a storage hiccup never breaks recall (mirrors `memory-worth-filter.ts`).
|
|
327
386
|
*/
|
|
328
387
|
export async function buildTrustSignalsForRerank(
|
|
329
|
-
|
|
388
|
+
candidates: readonly (
|
|
389
|
+
| string
|
|
390
|
+
| { path: string; signalKey?: string; lookupKey?: string; namespace?: string }
|
|
391
|
+
)[],
|
|
330
392
|
namespaces: readonly string[],
|
|
331
393
|
deps: TrustScoreRerankDeps,
|
|
332
394
|
signalCache: TrustScoreSignalCache,
|
|
@@ -334,63 +396,164 @@ export async function buildTrustSignalsForRerank(
|
|
|
334
396
|
options: {
|
|
335
397
|
recencyHalfLifeDays?: number;
|
|
336
398
|
logDebug?: (message: string, context: Record<string, unknown>) => void;
|
|
399
|
+
/**
|
|
400
|
+
* Candidate frontmatter already loaded on the hot recall path (issue
|
|
401
|
+
* #1905). When present, candidate signals are seeded from it before any
|
|
402
|
+
* corpus scan, so the common warm-candidate recall does zero
|
|
403
|
+
* `readNamespaceMemories` calls. Structural — a `MemoryFile` map satisfies
|
|
404
|
+
* `{ frontmatter: TrustFrontmatterProjection }` without importing it.
|
|
405
|
+
*/
|
|
406
|
+
preloadedFrontmatter?: ReadonlyMap<string, { frontmatter: TrustFrontmatterProjection }>;
|
|
407
|
+
/**
|
|
408
|
+
* When false, skip the corpus-level `readNamespaceMemories` fallback
|
|
409
|
+
* entirely (candidates-first + direct-read only). Defaults to true so the
|
|
410
|
+
* corpus path stays reachable. See `recallTrustStageCorpusFallbackEnabled`.
|
|
411
|
+
*/
|
|
412
|
+
corpusFallbackEnabled?: boolean;
|
|
413
|
+
/**
|
|
414
|
+
* Cooperative cancellation (issue #1905, Codex): when the recall's shared
|
|
415
|
+
* enrichment-assembly deadline wins the race, the host aborts this signal
|
|
416
|
+
* so an orphaned corpus scan / direct-read loop stops at the next loop
|
|
417
|
+
* boundary instead of continuing to burn I/O after recall already returned.
|
|
418
|
+
*/
|
|
419
|
+
abortSignal?: AbortSignal;
|
|
337
420
|
} = {},
|
|
338
421
|
): Promise<Map<string, TrustSignals>> {
|
|
339
|
-
const nowMs = now.getTime();
|
|
340
422
|
const logDebug = options.logDebug ?? (() => {});
|
|
341
423
|
const signals = new Map<string, TrustSignals>();
|
|
424
|
+
const corpusFallbackEnabled = options.corpusFallbackEnabled ?? true;
|
|
425
|
+
const halfLife = { recencyHalfLifeDays: options.recencyHalfLifeDays };
|
|
342
426
|
|
|
343
|
-
//
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
427
|
+
// Paths examined via preloaded frontmatter (issue #1905, Cursor/Codex).
|
|
428
|
+
// buildTrustSignalMap deliberately OMITS neutral memories (no trust fields),
|
|
429
|
+
// so a preloaded candidate can be examined yet absent from `signals` — it
|
|
430
|
+
// must NOT be treated as missing, or the corpus fallback + direct read fire
|
|
431
|
+
// for every uninstrumented hot candidate, defeating the O(candidates) path.
|
|
432
|
+
// Absent-from-signals still means multiplier 1.0 downstream, exactly what a
|
|
433
|
+
// corpus scan would have produced for the same neutral memory.
|
|
434
|
+
const preloadedKeys = new Set<string>();
|
|
347
435
|
|
|
348
|
-
//
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
436
|
+
// Normalize candidates to a composite identity: `signalKey` is what the
|
|
437
|
+
// trust stage looks up (namespace-aware), `lookupKey` matches the preloaded
|
|
438
|
+
// frontmatter map's key, `path` is the raw store path used for corpus/direct
|
|
439
|
+
// reads. A bare string keeps the legacy path-only behavior (#2020).
|
|
440
|
+
const normalized = candidates.map((c) =>
|
|
441
|
+
typeof c === "string"
|
|
442
|
+
? { path: c, signalKey: c, lookupKey: c, namespace: undefined as string | undefined }
|
|
443
|
+
: {
|
|
444
|
+
path: c.path,
|
|
445
|
+
signalKey: c.signalKey ?? c.path,
|
|
446
|
+
lookupKey: c.lookupKey ?? c.path,
|
|
447
|
+
namespace: c.namespace,
|
|
448
|
+
},
|
|
449
|
+
);
|
|
450
|
+
|
|
451
|
+
// O(candidates) fast path: seed signals from candidate frontmatter already
|
|
452
|
+
// loaded on the hot recall path. Reuses the exact `buildTrustSignalMap`
|
|
453
|
+
// computation so a candidate's signals equal what a corpus scan produced.
|
|
454
|
+
if (options.preloadedFrontmatter) {
|
|
455
|
+
const preloaded: Array<{ path: string; frontmatter: TrustFrontmatterProjection }> = [];
|
|
456
|
+
for (const c of normalized) {
|
|
457
|
+
// Composite lookupKey is authoritative; the bare-path fallback keeps
|
|
458
|
+
// path-keyed preloaded maps (e.g. the recent-scan branch) hitting the
|
|
459
|
+
// fast path and is inert in production composite-keyed maps (#2020).
|
|
460
|
+
const mem =
|
|
461
|
+
options.preloadedFrontmatter.get(c.lookupKey) ??
|
|
462
|
+
options.preloadedFrontmatter.get(c.path);
|
|
463
|
+
if (!mem) continue;
|
|
464
|
+
preloadedKeys.add(c.signalKey);
|
|
465
|
+
preloaded.push({ path: c.signalKey, frontmatter: mem.frontmatter });
|
|
466
|
+
}
|
|
467
|
+
if (preloaded.length > 0) {
|
|
468
|
+
const seeded = buildTrustSignalMap(preloaded, now, halfLife);
|
|
469
|
+
for (const [key, s] of seeded) signals.set(key, s);
|
|
371
470
|
}
|
|
372
471
|
}
|
|
373
472
|
|
|
374
|
-
//
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
473
|
+
// Corpus-level fallback (config-gated): candidates still missing probe a
|
|
474
|
+
// per-namespace signal map, cached and invalidated by the shared
|
|
475
|
+
// cross-process corpus version. Only candidate rows are copied out — never
|
|
476
|
+
// the whole map (issue #1905, no per-recall full-map union).
|
|
477
|
+
if (corpusFallbackEnabled) {
|
|
478
|
+
const seenNamespaces = new Set<string>();
|
|
479
|
+
for (const ns of namespaces) {
|
|
480
|
+
// Cooperative cancellation: the recall's assembly deadline may have won
|
|
481
|
+
// the race — stop before starting another namespace scan (#1905, Codex).
|
|
482
|
+
if (options.abortSignal?.aborted) break;
|
|
483
|
+
if (seenNamespaces.has(ns)) continue;
|
|
484
|
+
seenNamespaces.add(ns);
|
|
485
|
+
if (normalized.every((c) => signals.has(c.signalKey) || preloadedKeys.has(c.signalKey))) break;
|
|
379
486
|
try {
|
|
380
|
-
const
|
|
381
|
-
|
|
487
|
+
const version = await deps.getNamespaceVersion(ns);
|
|
488
|
+
const cached = signalCache.cache.get(ns);
|
|
489
|
+
const nowMs = now.getTime();
|
|
490
|
+
let nsMap: ReadonlyMap<string, TrustSignals>;
|
|
491
|
+
// Valid iff the corpus version still matches AND the entry is younger
|
|
492
|
+
// than the max age: trust signals bake `now` into their values, so an
|
|
493
|
+
// unchanged corpus still goes stale as wall-clock advances (#1905, Codex).
|
|
494
|
+
if (
|
|
495
|
+
cached &&
|
|
496
|
+
cached.version === version &&
|
|
497
|
+
nowMs - cached.cachedAt < TRUST_SIGNAL_CACHE_MAX_AGE_MS
|
|
498
|
+
) {
|
|
499
|
+
nsMap = cached.signals;
|
|
500
|
+
} else {
|
|
501
|
+
const memories = await deps.readNamespaceMemories(ns);
|
|
502
|
+
nsMap = buildTrustSignalMap(memories, now, halfLife);
|
|
503
|
+
signalCache.cache.set(ns, { version, cachedAt: nowMs, signals: nsMap });
|
|
504
|
+
capTrustSignalCache(signalCache.cache, TRUST_SIGNAL_CACHE_MAX_NAMESPACES);
|
|
505
|
+
}
|
|
506
|
+
for (const c of normalized) {
|
|
507
|
+
// Preloaded keys were already examined — absent-from-signals means
|
|
508
|
+
// neutral (multiplier 1.0), identical to what the corpus map holds.
|
|
509
|
+
if (signals.has(c.signalKey) || preloadedKeys.has(c.signalKey)) continue;
|
|
510
|
+
// A namespaced candidate belongs to exactly one namespace: never seed
|
|
511
|
+
// its signals from a different namespace's corpus map, or two
|
|
512
|
+
// same-path candidates in different namespaces collapse (#2020).
|
|
513
|
+
if (c.namespace !== undefined && c.namespace !== ns) continue;
|
|
514
|
+
const s = nsMap.get(c.path);
|
|
515
|
+
if (s) signals.set(c.signalKey, s);
|
|
516
|
+
}
|
|
382
517
|
} catch (err) {
|
|
383
|
-
logDebug("trust-score:
|
|
384
|
-
|
|
518
|
+
logDebug("trust-score: failed to read namespace, skipping", {
|
|
519
|
+
namespace: ns,
|
|
385
520
|
error: (err as Error).message,
|
|
386
521
|
});
|
|
387
522
|
}
|
|
388
523
|
}
|
|
524
|
+
}
|
|
525
|
+
|
|
526
|
+
// Direct per-path fallback for candidates still absent (cold-tier / archive).
|
|
527
|
+
// Preloaded paths are excluded — they were examined and are neutral priors.
|
|
528
|
+
// Bounded-parallel (≤16) to match loadSearchResultMemoryMap's batch size.
|
|
529
|
+
const missing = normalized.filter(
|
|
530
|
+
(c) => !signals.has(c.signalKey) && !preloadedKeys.has(c.signalKey),
|
|
531
|
+
);
|
|
532
|
+
if (missing.length > 0) {
|
|
533
|
+
const fallbackMemories: Array<{ path: string; frontmatter: TrustFrontmatterProjection }> = [];
|
|
534
|
+
const BATCH = 16;
|
|
535
|
+
for (let off = 0; off < missing.length; off += BATCH) {
|
|
536
|
+
// Cooperative cancellation between batches (#1905, Codex).
|
|
537
|
+
if (options.abortSignal?.aborted) break;
|
|
538
|
+
const batch = await Promise.all(
|
|
539
|
+
missing.slice(off, off + BATCH).map(async (c) => {
|
|
540
|
+
try {
|
|
541
|
+
const frontmatter = await deps.readMemoryFrontmatter(c.path, c.namespace);
|
|
542
|
+
return frontmatter ? { path: c.signalKey, frontmatter } : null;
|
|
543
|
+
} catch (err) {
|
|
544
|
+
logDebug("trust-score: direct path lookup failed", {
|
|
545
|
+
path: c.path,
|
|
546
|
+
error: (err as Error).message,
|
|
547
|
+
});
|
|
548
|
+
return null;
|
|
549
|
+
}
|
|
550
|
+
}),
|
|
551
|
+
);
|
|
552
|
+
for (const item of batch) if (item) fallbackMemories.push(item);
|
|
553
|
+
}
|
|
389
554
|
if (fallbackMemories.length > 0) {
|
|
390
|
-
const fallbackSignals = buildTrustSignalMap(fallbackMemories, now,
|
|
391
|
-
|
|
392
|
-
});
|
|
393
|
-
for (const [path, s] of fallbackSignals) signals.set(path, s);
|
|
555
|
+
const fallbackSignals = buildTrustSignalMap(fallbackMemories, now, halfLife);
|
|
556
|
+
for (const [key, s] of fallbackSignals) signals.set(key, s);
|
|
394
557
|
}
|
|
395
558
|
}
|
|
396
559
|
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export type ContinuityIncidentState = "open" | "closed";
|
|
2
|
+
|
|
3
|
+
export interface ContinuityIncidentRecord {
|
|
4
|
+
id: string;
|
|
5
|
+
state: ContinuityIncidentState;
|
|
6
|
+
openedAt: string;
|
|
7
|
+
updatedAt: string;
|
|
8
|
+
triggerWindow?: string;
|
|
9
|
+
symptom: string;
|
|
10
|
+
suspectedCause?: string;
|
|
11
|
+
fixApplied?: string;
|
|
12
|
+
verificationResult?: string;
|
|
13
|
+
preventiveRule?: string;
|
|
14
|
+
closedAt?: string;
|
|
15
|
+
filePath?: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface ContinuityIncidentOpenInput {
|
|
19
|
+
triggerWindow?: string;
|
|
20
|
+
symptom: string;
|
|
21
|
+
suspectedCause?: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface ContinuityIncidentCloseInput {
|
|
25
|
+
fixApplied: string;
|
|
26
|
+
verificationResult: string;
|
|
27
|
+
preventiveRule?: string;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export type ContinuityLoopCadence = "daily" | "weekly" | "monthly" | "quarterly";
|
|
31
|
+
export type ContinuityLoopStatus = "active" | "paused" | "retired";
|
|
32
|
+
|
|
33
|
+
export interface ContinuityImprovementLoop {
|
|
34
|
+
id: string;
|
|
35
|
+
cadence: ContinuityLoopCadence;
|
|
36
|
+
purpose: string;
|
|
37
|
+
status: ContinuityLoopStatus;
|
|
38
|
+
killCondition: string;
|
|
39
|
+
lastReviewed: string;
|
|
40
|
+
notes?: string;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export interface ContinuityLoopUpsertInput {
|
|
44
|
+
id: string;
|
|
45
|
+
cadence: ContinuityLoopCadence;
|
|
46
|
+
purpose: string;
|
|
47
|
+
status: ContinuityLoopStatus;
|
|
48
|
+
killCondition: string;
|
|
49
|
+
lastReviewed?: string;
|
|
50
|
+
notes?: string;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export interface ContinuityLoopReviewInput {
|
|
54
|
+
status?: ContinuityLoopStatus;
|
|
55
|
+
notes?: string;
|
|
56
|
+
reviewedAt?: string;
|
|
57
|
+
}
|
package/src/types.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { BoundedJsonlStateConfig } from "./bounded-jsonl-state.js";
|
|
2
|
+
|
|
1
3
|
export type ReasoningEffort = "none" | "low" | "medium" | "high";
|
|
2
4
|
export type TriggerMode = "smart" | "every_n" | "time_based";
|
|
3
5
|
export type SignalLevel = "none" | "low" | "medium" | "high";
|
|
@@ -38,14 +40,7 @@ export type ActiveRecallPromptStyle =
|
|
|
38
40
|
| "recall-heavy"
|
|
39
41
|
| "precision-heavy"
|
|
40
42
|
| "preference-only";
|
|
41
|
-
export type ActiveRecallThinking =
|
|
42
|
-
| "off"
|
|
43
|
-
| "minimal"
|
|
44
|
-
| "low"
|
|
45
|
-
| "medium"
|
|
46
|
-
| "high"
|
|
47
|
-
| "xhigh"
|
|
48
|
-
| "adaptive";
|
|
43
|
+
export type ActiveRecallThinking = "off" | "minimal" | "low" | "medium" | "high" | "xhigh" | "adaptive";
|
|
49
44
|
export type ActiveRecallChatType = "direct" | "group" | "channel";
|
|
50
45
|
export type ActiveRecallModelFallbackPolicy = "default-remote" | "resolved-only";
|
|
51
46
|
|
|
@@ -668,7 +663,7 @@ export interface SemanticChunkingConfigShape {
|
|
|
668
663
|
fallbackToRecursive: boolean;
|
|
669
664
|
}
|
|
670
665
|
|
|
671
|
-
export interface PluginConfig {
|
|
666
|
+
export interface PluginConfig extends BoundedJsonlStateConfig {
|
|
672
667
|
openaiApiKey: string | undefined;
|
|
673
668
|
openaiBaseUrl: string | undefined;
|
|
674
669
|
model: string;
|
|
@@ -676,6 +671,14 @@ export interface PluginConfig {
|
|
|
676
671
|
triggerMode: TriggerMode;
|
|
677
672
|
bufferMaxTurns: number;
|
|
678
673
|
bufferMaxMinutes: number;
|
|
674
|
+
/**
|
|
675
|
+
* Debounce window (ms) for persisting the smart buffer to `state/buffer.json`
|
|
676
|
+
* (issue #1909). Steady-state buffering coalesces the whole-state serialize
|
|
677
|
+
* onto a trailing-edge timer instead of rewriting on every turn; extraction
|
|
678
|
+
* trigger/clear and shutdown still force an immediate flush. Default 3000.
|
|
679
|
+
* `0` restores the legacy save-every-turn behavior exactly.
|
|
680
|
+
*/
|
|
681
|
+
bufferSaveDebounceMs: number;
|
|
679
682
|
/**
|
|
680
683
|
* Surprise-gated buffer flush (issue #563, D-MEM).
|
|
681
684
|
*
|
|
@@ -724,6 +727,7 @@ export interface PluginConfig {
|
|
|
724
727
|
qmdEnabled: boolean;
|
|
725
728
|
qmdCollection: string;
|
|
726
729
|
qmdMaxResults: number;
|
|
730
|
+
qmdEmbeddingBacklogThreshold: number;
|
|
727
731
|
qmdColdTierEnabled?: boolean;
|
|
728
732
|
qmdColdCollection?: string;
|
|
729
733
|
qmdColdMaxResults?: number;
|
|
@@ -1000,12 +1004,8 @@ export interface PluginConfig {
|
|
|
1000
1004
|
* whose resolved taxonomy category is not in this list never qualify.
|
|
1001
1005
|
*/
|
|
1002
1006
|
recallDirectAnswerEligibleTaxonomyBuckets: string[];
|
|
1003
|
-
/**
|
|
1004
|
-
*
|
|
1005
|
-
* a principal that issues a burst of recalls against namespaces other
|
|
1006
|
-
* than their own is throttled once its per-window count crosses
|
|
1007
|
-
* `recallCrossNamespaceBudgetHardLimit`. Default false — ships disabled.
|
|
1008
|
-
*/
|
|
1007
|
+
/** Cross-namespace query-budget limiter (issue #565 PR 4/5): throttle a
|
|
1008
|
+
* principal's cross-namespace recall burst past the hard limit. Default false. */
|
|
1009
1009
|
recallCrossNamespaceBudgetEnabled: boolean;
|
|
1010
1010
|
/** Rolling window in milliseconds over which cross-namespace reads are counted. */
|
|
1011
1011
|
recallCrossNamespaceBudgetWindowMs: number;
|
|
@@ -1017,6 +1017,10 @@ export interface PluginConfig {
|
|
|
1017
1017
|
recallCrossNamespaceBudgetSoftLimit: number;
|
|
1018
1018
|
/** Hard threshold — calls past this count are denied in the window. */
|
|
1019
1019
|
recallCrossNamespaceBudgetHardLimit: number;
|
|
1020
|
+
/** Max concurrent recalls per principal; `0` = unlimited. Default 4 (#1906). */
|
|
1021
|
+
recallMaxConcurrentPerPrincipal: number;
|
|
1022
|
+
/** Coalesce identical concurrent recalls per principal; each caller gets its own clone. Default true. */
|
|
1023
|
+
recallSingleFlightEnabled: boolean;
|
|
1020
1024
|
// Memory Worth recall filter (issue #560 PR 4)
|
|
1021
1025
|
/**
|
|
1022
1026
|
* When true, recall multiplies candidate scores by the Memory Worth
|
|
@@ -1027,6 +1031,14 @@ export interface PluginConfig {
|
|
|
1027
1031
|
* once the benchmark shows precision tie-or-win.
|
|
1028
1032
|
*/
|
|
1029
1033
|
recallMemoryWorthFilterEnabled: boolean;
|
|
1034
|
+
/**
|
|
1035
|
+
* When false, the Trust/Memory-Worth recall stage skips its corpus-level
|
|
1036
|
+
* fallback (a per-namespace `readAllMemories`-derived counter/signal map)
|
|
1037
|
+
* and relies only on frontmatter already loaded on the hot recall path plus
|
|
1038
|
+
* a bounded-parallel per-candidate direct read — fully O(candidates)
|
|
1039
|
+
* (issue #1905). Default true keeps the corpus fallback reachable.
|
|
1040
|
+
*/
|
|
1041
|
+
recallTrustStageCorpusFallbackEnabled: boolean;
|
|
1030
1042
|
/**
|
|
1031
1043
|
* Serve `StorageManager.readAllMemories()` from a version-keyed in-process
|
|
1032
1044
|
* cache of the full parsed corpus (issue #1902). Default true. When on, a
|
|
@@ -1163,6 +1175,8 @@ export interface PluginConfig {
|
|
|
1163
1175
|
activeRecallQueryMode: ActiveRecallQueryMode;
|
|
1164
1176
|
activeRecallPromptStyle: ActiveRecallPromptStyle;
|
|
1165
1177
|
activeRecallCustomInstruction: string | null;
|
|
1178
|
+
activeRecallPromptReplacement: string | null;
|
|
1179
|
+
activeRecallPromptOverride: string | null;
|
|
1166
1180
|
activeRecallPromptAppend: string | null;
|
|
1167
1181
|
activeRecallMaxSummaryChars: number;
|
|
1168
1182
|
activeRecallRecentUserTurns: number;
|
|
@@ -1850,6 +1864,8 @@ export interface PluginConfig {
|
|
|
1850
1864
|
entitySchemas?: Record<string, EntitySchemaDefinition>;
|
|
1851
1865
|
// Recall assembly controls
|
|
1852
1866
|
recallBudgetChars: number;
|
|
1867
|
+
/** Maximum fraction of the total recall budget that the behavioral profile may consume. */
|
|
1868
|
+
recallProfileMaxRatio: number;
|
|
1853
1869
|
recallOuterTimeoutMs: number;
|
|
1854
1870
|
recallCoreDeadlineMs: number;
|
|
1855
1871
|
recallEnrichmentDeadlineMs: number;
|
|
@@ -1932,6 +1948,7 @@ export interface PluginConfig {
|
|
|
1932
1948
|
compressionGuidelineSemanticTimeoutMs: number;
|
|
1933
1949
|
maxProactiveQuestionsPerExtraction: number;
|
|
1934
1950
|
proactiveExtractionTimeoutMs: number;
|
|
1951
|
+
proactiveExtractionSkipWhenLocalLlmBusy: boolean;
|
|
1935
1952
|
proactiveExtractionMaxTokens: number;
|
|
1936
1953
|
extractionMaxOutputTokens: number;
|
|
1937
1954
|
proactiveExtractionCategoryAllowlist?: MemoryCategory[];
|
|
@@ -2096,11 +2113,9 @@ export interface PluginConfig {
|
|
|
2096
2113
|
graphEdgeDecayVisibilityThreshold: number;
|
|
2097
2114
|
|
|
2098
2115
|
/**
|
|
2099
|
-
* Issue #681 PR 3/3 — minimum edge confidence
|
|
2100
|
-
*
|
|
2101
|
-
*
|
|
2102
|
-
* neighbors. Legacy edges without `confidence` are treated as 1.0 so they
|
|
2103
|
-
* always pass the floor. Range `[0, 1]`; default `0.2`.
|
|
2116
|
+
* Issue #681 PR 3/3 — minimum edge confidence to traverse during spreading
|
|
2117
|
+
* activation. Edges below are pruned (no activation, no downstream neighbors);
|
|
2118
|
+
* legacy edges without `confidence` are treated as 1.0. Range `[0, 1]`; default `0.2`.
|
|
2104
2119
|
*/
|
|
2105
2120
|
graphTraversalConfidenceFloor: number;
|
|
2106
2121
|
/**
|
|
@@ -3409,6 +3424,8 @@ export interface QmdSearchResult {
|
|
|
3409
3424
|
line?: number;
|
|
3410
3425
|
explain?: QmdSearchExplain;
|
|
3411
3426
|
transport?: "daemon" | "subprocess" | "hybrid" | "scoped_prefilter";
|
|
3427
|
+
/** Namespace that owned this result when returned by a namespace fanout search. */
|
|
3428
|
+
namespace?: string;
|
|
3412
3429
|
}
|
|
3413
3430
|
|
|
3414
3431
|
export interface QmdSearchExplain {
|
|
@@ -3614,67 +3631,24 @@ export interface CompressionGuidelineOptimizerState {
|
|
|
3614
3631
|
ruleUpdates?: CompressionGuidelineOptimizerRuleUpdate[];
|
|
3615
3632
|
}
|
|
3616
3633
|
|
|
3617
|
-
|
|
3618
|
-
|
|
3619
|
-
export
|
|
3620
|
-
|
|
3621
|
-
|
|
3622
|
-
|
|
3623
|
-
|
|
3624
|
-
|
|
3625
|
-
|
|
3626
|
-
|
|
3627
|
-
|
|
3628
|
-
|
|
3629
|
-
|
|
3630
|
-
closedAt?: string;
|
|
3631
|
-
filePath?: string;
|
|
3632
|
-
}
|
|
3633
|
-
|
|
3634
|
-
export interface ContinuityIncidentOpenInput {
|
|
3635
|
-
triggerWindow?: string;
|
|
3636
|
-
symptom: string;
|
|
3637
|
-
suspectedCause?: string;
|
|
3638
|
-
}
|
|
3639
|
-
|
|
3640
|
-
export interface ContinuityIncidentCloseInput {
|
|
3641
|
-
fixApplied: string;
|
|
3642
|
-
verificationResult: string;
|
|
3643
|
-
preventiveRule?: string;
|
|
3644
|
-
}
|
|
3645
|
-
|
|
3646
|
-
export type ContinuityLoopCadence = "daily" | "weekly" | "monthly" | "quarterly";
|
|
3647
|
-
export type ContinuityLoopStatus = "active" | "paused" | "retired";
|
|
3648
|
-
|
|
3649
|
-
export interface ContinuityImprovementLoop {
|
|
3650
|
-
id: string;
|
|
3651
|
-
cadence: ContinuityLoopCadence;
|
|
3652
|
-
purpose: string;
|
|
3653
|
-
status: ContinuityLoopStatus;
|
|
3654
|
-
killCondition: string;
|
|
3655
|
-
lastReviewed: string;
|
|
3656
|
-
notes?: string;
|
|
3657
|
-
}
|
|
3658
|
-
|
|
3659
|
-
export interface ContinuityLoopUpsertInput {
|
|
3660
|
-
id: string;
|
|
3661
|
-
cadence: ContinuityLoopCadence;
|
|
3662
|
-
purpose: string;
|
|
3663
|
-
status: ContinuityLoopStatus;
|
|
3664
|
-
killCondition: string;
|
|
3665
|
-
lastReviewed?: string;
|
|
3666
|
-
notes?: string;
|
|
3667
|
-
}
|
|
3668
|
-
|
|
3669
|
-
export interface ContinuityLoopReviewInput {
|
|
3670
|
-
status?: ContinuityLoopStatus;
|
|
3671
|
-
notes?: string;
|
|
3672
|
-
reviewedAt?: string;
|
|
3673
|
-
}
|
|
3634
|
+
// Continuity incident + improvement-loop types live in a sibling module to keep
|
|
3635
|
+
// types.ts under its size ceiling; re-exported so `./types.js` imports resolve.
|
|
3636
|
+
export type {
|
|
3637
|
+
ContinuityIncidentState,
|
|
3638
|
+
ContinuityIncidentRecord,
|
|
3639
|
+
ContinuityIncidentOpenInput,
|
|
3640
|
+
ContinuityIncidentCloseInput,
|
|
3641
|
+
ContinuityLoopCadence,
|
|
3642
|
+
ContinuityLoopStatus,
|
|
3643
|
+
ContinuityImprovementLoop,
|
|
3644
|
+
ContinuityLoopUpsertInput,
|
|
3645
|
+
ContinuityLoopReviewInput,
|
|
3646
|
+
} from "./types-continuity.js";
|
|
3674
3647
|
|
|
3675
3648
|
/** Entry in the access tracking buffer (batched updates) */
|
|
3676
3649
|
export interface AccessTrackingEntry {
|
|
3677
3650
|
memoryId: string;
|
|
3651
|
+
memoryPath?: string;
|
|
3678
3652
|
newCount: number;
|
|
3679
3653
|
lastAccessed: string;
|
|
3680
3654
|
}
|