[{"data":1,"prerenderedAt":1241},["ShallowReactive",2],{"i-mdi:magnify":3,"i-simple-icons:visualstudiocode":8,"i-mdi:github":11,"i-mdi:discord":13,"i-mdi:youtube":15,"i-mdi:flask-outline":17,"i-vscode-icons:default-folder-opened":19,"i-vscode-icons:default-folder":22,"i-vscode-icons:folder-type-plugin":24,"i-vscode-icons:folder-type-src":26,"i-vscode-icons:file-type-typescript":28,"i-vscode-icons:file-type-json":30,"docs-\u002Fdocs\u002Fv2\u002Fcognets\u002Fapi\u002Fstore":32},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cpath fill=\"currentColor\" d=\"M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5l-1.5 1.5l-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16A6.5 6.5 0 0 1 3 9.5A6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14S14 12 14 9.5S12 5 9.5 5\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":9,"hidden":10},"\u003Cpath fill=\"currentColor\" d=\"M23.15 2.587L18.21.21a1.49 1.49 0 0 0-1.705.29l-9.46 8.63l-4.12-3.128a1 1 0 0 0-1.276.057L.327 7.261A1 1 0 0 0 .326 8.74L3.899 12L.326 15.26a1 1 0 0 0 .001 1.479L1.65 17.94a1 1 0 0 0 1.276.057l4.12-3.128l9.46 8.63a1.49 1.49 0 0 0 1.704.29l4.942-2.377A1.5 1.5 0 0 0 24 20.06V3.939a1.5 1.5 0 0 0-.85-1.352m-5.146 14.861L10.826 12l7.178-5.448z\"\u002F>",true,{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":12},"\u003Cpath fill=\"currentColor\" d=\"M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5c.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34c-.46-1.16-1.11-1.47-1.11-1.47c-.91-.62.07-.6.07-.6c1 .07 1.53 1.03 1.53 1.03c.87 1.52 2.34 1.07 2.91.83c.09-.65.35-1.09.63-1.34c-2.22-.25-4.55-1.11-4.55-4.92c0-1.11.38-2 1.03-2.71c-.1-.25-.45-1.29.1-2.64c0 0 .84-.27 2.75 1.02c.79-.22 1.65-.33 2.5-.33s1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02c.55 1.35.2 2.39.1 2.64c.65.71 1.03 1.6 1.03 2.71c0 3.82-2.34 4.66-4.57 4.91c.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":14,"hidden":10},"\u003Cpath fill=\"currentColor\" d=\"m22 24l-5.25-5l.63 2H4.5A2.5 2.5 0 0 1 2 18.5v-15A2.5 2.5 0 0 1 4.5 1h15A2.5 2.5 0 0 1 22 3.5V24M12 6.8c-2.68 0-4.56 1.15-4.56 1.15c1.03-.92 2.83-1.45 2.83-1.45l-.17-.17c-1.69.03-3.22 1.2-3.22 1.2c-1.72 3.59-1.61 6.69-1.61 6.69c1.4 1.81 3.48 1.68 3.48 1.68l.71-.9c-1.25-.27-2.04-1.38-2.04-1.38S9.3 14.9 12 14.9s4.58-1.28 4.58-1.28s-.79 1.11-2.04 1.38l.71.9s2.08.13 3.48-1.68c0 0 .11-3.1-1.61-6.69c0 0-1.53-1.17-3.22-1.2l-.17.17s1.8.53 2.83 1.45c0 0-1.88-1.15-4.56-1.15m-2.07 3.79c.65 0 1.18.57 1.17 1.27c0 .69-.52 1.27-1.17 1.27c-.64 0-1.16-.58-1.16-1.27c0-.7.51-1.27 1.16-1.27m4.17 0c.65 0 1.17.57 1.17 1.27c0 .69-.52 1.27-1.17 1.27c-.64 0-1.16-.58-1.16-1.27c0-.7.51-1.27 1.16-1.27Z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":16},"\u003Cpath fill=\"currentColor\" d=\"m10 15l5.19-3L10 9zm11.56-7.83c.13.47.22 1.1.28 1.9c.07.8.1 1.49.1 2.09L22 12c0 2.19-.16 3.8-.44 4.83c-.25.9-.83 1.48-1.73 1.73c-.47.13-1.33.22-2.65.28c-1.3.07-2.49.1-3.59.1L12 19c-4.19 0-6.8-.16-7.83-.44c-.9-.25-1.48-.83-1.73-1.73c-.13-.47-.22-1.1-.28-1.9c-.07-.8-.1-1.49-.1-2.09L2 12c0-2.19.16-3.8.44-4.83c.25-.9.83-1.48 1.73-1.73c.47-.13 1.33-.22 2.65-.28c1.3-.07 2.49-.1 3.59-.1L12 5c4.19 0 6.8.16 7.83.44c.9.25 1.48.83 1.73 1.73\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":18},"\u003Cpath fill=\"currentColor\" d=\"M5 19a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1c0-.21-.07-.41-.18-.57L13 8.35V4h-2v4.35L5.18 18.43c-.11.16-.18.36-.18.57m1 3a3 3 0 0 1-3-3c0-.6.18-1.16.5-1.63L9 7.81V6a1 1 0 0 1-1-1V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v1a1 1 0 0 1-1 1v1.81l5.5 9.56c.32.47.5 1.03.5 1.63a3 3 0 0 1-3 3zm7-6l1.34-1.34L16.27 18H7.73l2.66-4.61zm-.5-4a.5.5 0 0 1 .5.5a.5.5 0 0 1-.5.5a.5.5 0 0 1-.5-.5a.5.5 0 0 1 .5-.5\"\u002F>",{"left":4,"top":4,"width":20,"height":20,"rotate":4,"vFlip":6,"hFlip":6,"body":21},32,"\u003Cpath fill=\"#dcb67a\" d=\"M27.4 5.5h-9.2l-2.1 4.2H4.3v16.8h25.2v-21Zm0 18.7H6.6V11.8h20.8Zm0-14.5h-8.2l1-2.1h7.1v2.1Z\"\u002F>\u003Cpath fill=\"#dcb67a\" d=\"M25.7 13.7H.5l3.8 12.8h25.2z\"\u002F>",{"left":4,"top":4,"width":20,"height":20,"rotate":4,"vFlip":6,"hFlip":6,"body":23},"\u003Cpath fill=\"#c09553\" d=\"M27.5 5.5h-9.3l-2.1 4.2H4.4v16.8h25.2v-21Zm0 4.2h-8.2l1.1-2.1h7.1Z\"\u002F>",{"left":4,"top":4,"width":20,"height":20,"rotate":4,"vFlip":6,"hFlip":6,"body":25},"\u003Cpath fill=\"#ffba58\" d=\"M27.5 5.5h-9.3l-2.1 4.2H4.4v16.8h25.2v-21Zm0 4.2h-8.2l1.1-2.1h7.1Z\"\u002F>\u003Cpath fill=\"#e76a00\" d=\"M20 12.5V14h-4a2.006 2.006 0 0 0-2 2v4h-1.5a2.5 2.5 0 0 0 0 5H14v4a2.006 2.006 0 0 0 2 2h3.8v-1.5a2.7 2.7 0 0 1 5.4 0V31H29a2.006 2.006 0 0 0 2-2v-3.8h-1.5a2.7 2.7 0 0 1 0-5.4H31V16a2.006 2.006 0 0 0-2-2h-4v-1.5a2.5 2.5 0 0 0-5 0\"\u002F>",{"left":4,"top":4,"width":20,"height":20,"rotate":4,"vFlip":6,"hFlip":6,"body":27},"\u003Cpath fill=\"#14622a\" d=\"M27.5 5.5h-9.3l-2.1 4.2H4.4v16.8h25.2v-21Zm0 4.2h-8.2l1.1-2.1h7.1Z\"\u002F>\u003Cpath fill=\"#06cc14\" d=\"M19.146 30.989a1 1 0 0 1-.207-.025a1.04 1.04 0 0 1-.726-1.213l2.709-14.431a1.04 1.04 0 0 1 .444-.683a.9.9 0 0 1 .7-.122a1.043 1.043 0 0 1 .727 1.213L20.077 30.16a1.03 1.03 0 0 1-.442.681a.9.9 0 0 1-.489.148m5.432-2.045h-.068a.93.93 0 0 1-.668-.377a1.1 1.1 0 0 1 .1-1.419l4.658-4.553l-4.638-4.239a1.1 1.1 0 0 1-.141-1.416a.94.94 0 0 1 .661-.4a.9.9 0 0 1 .709.237l5.47 5a1.1 1.1 0 0 1 .144 1.416a1 1 0 0 1-.142.163l-5.447 5.324a.92.92 0 0 1-.638.264m-8.155.003a.9.9 0 0 1-.639-.267l-5.452-5.327a1 1 0 0 1-.132-.153a1.094 1.094 0 0 1 .141-1.414l5.471-5a.88.88 0 0 1 .7-.238a.94.94 0 0 1 .665.4a1.1 1.1 0 0 1-.14 1.417L12.4 22.6l4.659 4.551a1.09 1.09 0 0 1 .1 1.419a.93.93 0 0 1-.669.377Z\"\u002F>",{"left":4,"top":4,"width":20,"height":20,"rotate":4,"vFlip":6,"hFlip":6,"body":29},"\u003Cpath fill=\"#007acc\" d=\"M23.827 8.243a4.4 4.4 0 0 1 2.223 1.281a6 6 0 0 1 .852 1.143c.011.045-1.534 1.083-2.471 1.662c-.034.023-.169-.124-.322-.35a2.01 2.01 0 0 0-1.67-1c-1.077-.074-1.771.49-1.766 1.433a1.3 1.3 0 0 0 .153.666c.237.49.677.784 2.059 1.383c2.544 1.095 3.636 1.817 4.31 2.843a5.16 5.16 0 0 1 .416 4.333a4.76 4.76 0 0 1-3.932 2.815a11 11 0 0 1-2.708-.028a6.53 6.53 0 0 1-3.616-1.884a6.3 6.3 0 0 1-.926-1.371a3 3 0 0 1 .327-.208c.158-.09.756-.434 1.32-.761l1.024-.6l.214.312a4.8 4.8 0 0 0 1.35 1.292a3.3 3.3 0 0 0 3.458-.175a1.545 1.545 0 0 0 .2-1.974c-.276-.395-.84-.727-2.443-1.422a8.8 8.8 0 0 1-3.349-2.055a4.7 4.7 0 0 1-.976-1.777a7.1 7.1 0 0 1-.062-2.268a4.33 4.33 0 0 1 3.644-3.374a9 9 0 0 1 2.691.084m-8.343 1.483l.011 1.454h-4.63v13.148H7.6V11.183H2.97V9.755a14 14 0 0 1 .04-1.466c.017-.023 2.832-.034 6.245-.028l6.211.017Z\"\u002F>",{"left":4,"top":4,"width":20,"height":20,"rotate":4,"vFlip":6,"hFlip":6,"body":31},"\u003Cpath fill=\"#f5de19\" d=\"M4.014 14.976a2.5 2.5 0 0 0 1.567-.518a2.38 2.38 0 0 0 .805-1.358a15.3 15.3 0 0 0 .214-2.944q.012-2.085.075-2.747a5.2 5.2 0 0 1 .418-1.686a3 3 0 0 1 .755-1.018A3.05 3.05 0 0 1 9 4.125A6.8 6.8 0 0 1 10.544 4h.7v1.96h-.387a2.34 2.34 0 0 0-1.723.468a3.4 3.4 0 0 0-.425 2.092a36 36 0 0 1-.137 4.133a4.7 4.7 0 0 1-.768 2.06A4.6 4.6 0 0 1 6.1 16a3.8 3.8 0 0 1 1.992 1.754a8.9 8.9 0 0 1 .618 3.865q0 2.435.05 2.9a1.76 1.76 0 0 0 .504 1.181a2.64 2.64 0 0 0 1.592.337h.387V28h-.7a5.7 5.7 0 0 1-1.773-.2a2.97 2.97 0 0 1-1.324-.93a3.35 3.35 0 0 1-.681-1.63a24 24 0 0 1-.165-3.234a16.5 16.5 0 0 0-.214-3.106a2.4 2.4 0 0 0-.805-1.361a2.5 2.5 0 0 0-1.567-.524Zm23.972 2.035a2.5 2.5 0 0 0-1.567.524a2.4 2.4 0 0 0-.805 1.361a16.5 16.5 0 0 0-.212 3.109a24 24 0 0 1-.169 3.234a3.35 3.35 0 0 1-.681 1.63a2.97 2.97 0 0 1-1.324.93a5.7 5.7 0 0 1-1.773.2h-.7V26.04h.387a2.64 2.64 0 0 0 1.592-.337a1.76 1.76 0 0 0 .506-1.186q.05-.462.05-2.9a8.9 8.9 0 0 1 .618-3.865A3.8 3.8 0 0 1 25.9 16a4.6 4.6 0 0 1-1.7-1.286a4.7 4.7 0 0 1-.768-2.06a36 36 0 0 1-.137-4.133a3.4 3.4 0 0 0-.425-2.092a2.34 2.34 0 0 0-1.723-.468h-.387V4h.7a6.8 6.8 0 0 1 1.54.125a3.05 3.05 0 0 1 1.149.581a3 3 0 0 1 .755 1.018a5.2 5.2 0 0 1 .418 1.686q.062.662.075 2.747a15.3 15.3 0 0 0 .212 2.947a2.38 2.38 0 0 0 .805 1.355a2.5 2.5 0 0 0 1.567.518Z\"\u002F>",{"id":33,"title":34,"body":35,"description":1234,"extension":1235,"meta":1236,"navigation":10,"path":1237,"seo":1238,"stem":1239,"__hash__":1240},"docs\u002Fdocs\u002Fv2\u002Fcognets\u002Fapi\u002Fstore.md","kernel.store",{"type":36,"value":37,"toc":1220},"minimark",[38,42,55,495,498,506,663,669,677,688,695,699,702,769,847,876,883,888,894,897,922,928,1056,1059,1069,1079,1085,1089,1098,1104,1111,1126,1130,1143,1154,1167,1171,1174,1192,1196,1209,1216],[39,40,34],"h1",{"id":41},"kernelstore",[43,44,45,46,50,51,54],"p",{},"Two persistence doors, deliberately asymmetric. ",[47,48,49],"code",{},"store"," is a private cache over the log;\n",[47,52,53],{},"knowledge"," is shared input that outlives every session and is published with the agent.",[56,57,62],"pre",{"className":58,"code":59,"language":60,"meta":61,"style":61},"language-ts shiki shiki-themes dark-plus","type KernelStore = {\n    session: {\n        \u002F** The session's entries so far, in seq order. Synchronous — a live projection. *\u002F\n        get(opts?: { after?: number }): readonly AxonEntry[]\n    }\n    \u002F** Null when absent OR unreadable — cache doctrine: rebuild, don't crash. *\u002F\n    get\u003CK extends keyof CognetStoreSchema>(key: K): Promise\u003CCognetStoreSchema[K] | null>\n    \u002F** Atomic (temp+rename); resolves when durable. *\u002F\n    set\u003CK extends keyof CognetStoreSchema>(key: K, value: CognetStoreSchema[K]): Promise\u003Cvoid>\n}\n\ntype KernelKnowledge = {\n    list(opts?: { match?: string; limit?: number }): Promise\u003Creadonly KnowledgeEntry[]>\n    \u002F** THROWS KNOWLEDGE_NOT_FOUND when absent. Not a cache. *\u002F\n    read(name: string): Promise\u003Cstring>\n    write(name: string, content: string): Promise\u003Cvoid>\n    \u002F** Idempotent — a no-op when already absent. *\u002F\n    remove(name: string): Promise\u003Cvoid>\n}\n\ntype KnowledgeEntry = {\n    name: string          \u002F\u002F a NAME, never a path the cognet derived\n    description: string   \u002F\u002F \"\" when the entry declares none, never undefined\n    size: number          \u002F\u002F bytes on disk\n    path: string          \u002F\u002F absolute, resolved BY the kernel\n}\n","ts","",[47,63,64,81,91,98,135,141,147,204,210,260,266,272,282,326,332,357,390,396,420,425,430,439,452,465,477,490],{"__ignoreMap":61},[65,66,69,73,77],"span",{"class":67,"line":68},"line",1,[65,70,72],{"class":71},"scz_3","type",[65,74,76],{"class":75},"sNl3T"," KernelStore",[65,78,80],{"class":79},"sTNBD"," = {\n",[65,82,84,88],{"class":67,"line":83},2,[65,85,87],{"class":86},"s3F5K","    session",[65,89,90],{"class":79},": {\n",[65,92,94],{"class":67,"line":93},3,[65,95,97],{"class":96},"sOLPB","        \u002F** The session's entries so far, in seq order. Synchronous — a live projection. *\u002F\n",[65,99,101,105,108,111,114,117,120,123,126,129,132],{"class":67,"line":100},4,[65,102,104],{"class":103},"sCudf","        get",[65,106,107],{"class":79},"(",[65,109,110],{"class":86},"opts",[65,112,113],{"class":79},"?: { ",[65,115,116],{"class":86},"after",[65,118,119],{"class":79},"?: ",[65,121,122],{"class":75},"number",[65,124,125],{"class":79}," }): ",[65,127,128],{"class":71},"readonly",[65,130,131],{"class":75}," AxonEntry",[65,133,134],{"class":79},"[]\n",[65,136,138],{"class":67,"line":137},5,[65,139,140],{"class":79},"    }\n",[65,142,144],{"class":67,"line":143},6,[65,145,146],{"class":96},"    \u002F** Null when absent OR unreadable — cache doctrine: rebuild, don't crash. *\u002F\n",[65,148,150,153,156,159,162,165,168,171,174,177,179,182,185,187,190,193,195,198,201],{"class":67,"line":149},7,[65,151,152],{"class":103},"    get",[65,154,155],{"class":79},"\u003C",[65,157,158],{"class":75},"K",[65,160,161],{"class":71}," extends",[65,163,164],{"class":71}," keyof",[65,166,167],{"class":75}," CognetStoreSchema",[65,169,170],{"class":79},">(",[65,172,173],{"class":86},"key",[65,175,176],{"class":79},": ",[65,178,158],{"class":75},[65,180,181],{"class":79},"): ",[65,183,184],{"class":75},"Promise",[65,186,155],{"class":79},[65,188,189],{"class":75},"CognetStoreSchema",[65,191,192],{"class":79},"[",[65,194,158],{"class":75},[65,196,197],{"class":79},"] | ",[65,199,200],{"class":75},"null",[65,202,203],{"class":79},">\n",[65,205,207],{"class":67,"line":206},8,[65,208,209],{"class":96},"    \u002F** Atomic (temp+rename); resolves when durable. *\u002F\n",[65,211,213,216,218,220,222,224,226,228,230,232,234,237,240,242,244,246,248,251,253,255,258],{"class":67,"line":212},9,[65,214,215],{"class":103},"    set",[65,217,155],{"class":79},[65,219,158],{"class":75},[65,221,161],{"class":71},[65,223,164],{"class":71},[65,225,167],{"class":75},[65,227,170],{"class":79},[65,229,173],{"class":86},[65,231,176],{"class":79},[65,233,158],{"class":75},[65,235,236],{"class":79},", ",[65,238,239],{"class":86},"value",[65,241,176],{"class":79},[65,243,189],{"class":75},[65,245,192],{"class":79},[65,247,158],{"class":75},[65,249,250],{"class":79},"]): ",[65,252,184],{"class":75},[65,254,155],{"class":79},[65,256,257],{"class":75},"void",[65,259,203],{"class":79},[65,261,263],{"class":67,"line":262},10,[65,264,265],{"class":79},"}\n",[65,267,269],{"class":67,"line":268},11,[65,270,271],{"emptyLinePlaceholder":10},"\n",[65,273,275,277,280],{"class":67,"line":274},12,[65,276,72],{"class":71},[65,278,279],{"class":75}," KernelKnowledge",[65,281,80],{"class":79},[65,283,285,288,290,292,294,297,299,302,305,308,310,312,314,316,318,320,323],{"class":67,"line":284},13,[65,286,287],{"class":103},"    list",[65,289,107],{"class":79},[65,291,110],{"class":86},[65,293,113],{"class":79},[65,295,296],{"class":86},"match",[65,298,119],{"class":79},[65,300,301],{"class":75},"string",[65,303,304],{"class":79},"; ",[65,306,307],{"class":86},"limit",[65,309,119],{"class":79},[65,311,122],{"class":75},[65,313,125],{"class":79},[65,315,184],{"class":75},[65,317,155],{"class":79},[65,319,128],{"class":71},[65,321,322],{"class":75}," KnowledgeEntry",[65,324,325],{"class":79},"[]>\n",[65,327,329],{"class":67,"line":328},14,[65,330,331],{"class":96},"    \u002F** THROWS KNOWLEDGE_NOT_FOUND when absent. Not a cache. *\u002F\n",[65,333,335,338,340,343,345,347,349,351,353,355],{"class":67,"line":334},15,[65,336,337],{"class":103},"    read",[65,339,107],{"class":79},[65,341,342],{"class":86},"name",[65,344,176],{"class":79},[65,346,301],{"class":75},[65,348,181],{"class":79},[65,350,184],{"class":75},[65,352,155],{"class":79},[65,354,301],{"class":75},[65,356,203],{"class":79},[65,358,360,363,365,367,369,371,373,376,378,380,382,384,386,388],{"class":67,"line":359},16,[65,361,362],{"class":103},"    write",[65,364,107],{"class":79},[65,366,342],{"class":86},[65,368,176],{"class":79},[65,370,301],{"class":75},[65,372,236],{"class":79},[65,374,375],{"class":86},"content",[65,377,176],{"class":79},[65,379,301],{"class":75},[65,381,181],{"class":79},[65,383,184],{"class":75},[65,385,155],{"class":79},[65,387,257],{"class":75},[65,389,203],{"class":79},[65,391,393],{"class":67,"line":392},17,[65,394,395],{"class":96},"    \u002F** Idempotent — a no-op when already absent. *\u002F\n",[65,397,399,402,404,406,408,410,412,414,416,418],{"class":67,"line":398},18,[65,400,401],{"class":103},"    remove",[65,403,107],{"class":79},[65,405,342],{"class":86},[65,407,176],{"class":79},[65,409,301],{"class":75},[65,411,181],{"class":79},[65,413,184],{"class":75},[65,415,155],{"class":79},[65,417,257],{"class":75},[65,419,203],{"class":79},[65,421,423],{"class":67,"line":422},19,[65,424,265],{"class":79},[65,426,428],{"class":67,"line":427},20,[65,429,271],{"emptyLinePlaceholder":10},[65,431,433,435,437],{"class":67,"line":432},21,[65,434,72],{"class":71},[65,436,322],{"class":75},[65,438,80],{"class":79},[65,440,442,445,447,449],{"class":67,"line":441},22,[65,443,444],{"class":86},"    name",[65,446,176],{"class":79},[65,448,301],{"class":75},[65,450,451],{"class":96},"          \u002F\u002F a NAME, never a path the cognet derived\n",[65,453,455,458,460,462],{"class":67,"line":454},23,[65,456,457],{"class":86},"    description",[65,459,176],{"class":79},[65,461,301],{"class":75},[65,463,464],{"class":96},"   \u002F\u002F \"\" when the entry declares none, never undefined\n",[65,466,467,470,472,474],{"class":67,"line":5},[65,468,469],{"class":86},"    size",[65,471,176],{"class":79},[65,473,122],{"class":75},[65,475,476],{"class":96},"          \u002F\u002F bytes on disk\n",[65,478,480,483,485,487],{"class":67,"line":479},25,[65,481,482],{"class":86},"    path",[65,484,176],{"class":79},[65,486,301],{"class":75},[65,488,489],{"class":96},"          \u002F\u002F absolute, resolved BY the kernel\n",[65,491,493],{"class":67,"line":492},26,[65,494,265],{"class":79},[43,496,497],{},"Both are mediated for the same reason inference and execution are: the cognet declares\nintent, the kernel owns mechanism — paths, atomicity, substrate. Filesystem today, anything\ntomorrow, invisible either way.",[499,500,502,505],"h2",{"id":501},"storesession-read-only-history",[47,503,504],{},"store.session"," — read-only history",[56,507,509],{"className":58,"code":508,"language":60,"meta":61,"style":61},"\u002F\u002F boot: read everything, remember the high-water mark\nlet seq = 0\nfor (const entry of kernel.store.session.get()) {\n    fold(entry)\n    seq = entry.time.seq\n}\n\n\u002F\u002F steady state: never re-read what you already folded\nfor (const entry of kernel.store.session.get({ after: seq })) { fold(entry) }\n",[47,510,511,516,531,571,584,603,607,611,616],{"__ignoreMap":61},[65,512,513],{"class":67,"line":68},[65,514,515],{"class":96},"\u002F\u002F boot: read everything, remember the high-water mark\n",[65,517,518,521,524,527],{"class":67,"line":83},[65,519,520],{"class":71},"let",[65,522,523],{"class":86}," seq",[65,525,526],{"class":79}," = ",[65,528,530],{"class":529},"sDGX8","0\n",[65,532,533,537,540,543,547,550,553,556,558,560,563,565,568],{"class":67,"line":93},[65,534,536],{"class":535},"sYbnZ","for",[65,538,539],{"class":79}," (",[65,541,542],{"class":71},"const",[65,544,546],{"class":545},"s9McN"," entry",[65,548,549],{"class":71}," of",[65,551,552],{"class":86}," kernel",[65,554,555],{"class":79},".",[65,557,49],{"class":86},[65,559,555],{"class":79},[65,561,562],{"class":86},"session",[65,564,555],{"class":79},[65,566,567],{"class":103},"get",[65,569,570],{"class":79},"()) {\n",[65,572,573,576,578,581],{"class":67,"line":100},[65,574,575],{"class":103},"    fold",[65,577,107],{"class":79},[65,579,580],{"class":86},"entry",[65,582,583],{"class":79},")\n",[65,585,586,589,591,593,595,598,600],{"class":67,"line":137},[65,587,588],{"class":86},"    seq",[65,590,526],{"class":79},[65,592,580],{"class":86},[65,594,555],{"class":79},[65,596,597],{"class":86},"time",[65,599,555],{"class":79},[65,601,602],{"class":86},"seq\n",[65,604,605],{"class":67,"line":143},[65,606,265],{"class":79},[65,608,609],{"class":67,"line":149},[65,610,271],{"emptyLinePlaceholder":10},[65,612,613],{"class":67,"line":206},[65,614,615],{"class":96},"\u002F\u002F steady state: never re-read what you already folded\n",[65,617,618,620,622,624,626,628,630,632,634,636,638,640,642,645,648,650,653,656,658,660],{"class":67,"line":212},[65,619,536],{"class":535},[65,621,539],{"class":79},[65,623,542],{"class":71},[65,625,546],{"class":545},[65,627,549],{"class":71},[65,629,552],{"class":86},[65,631,555],{"class":79},[65,633,49],{"class":86},[65,635,555],{"class":79},[65,637,562],{"class":86},[65,639,555],{"class":79},[65,641,567],{"class":103},[65,643,644],{"class":79},"({ ",[65,646,647],{"class":86},"after:",[65,649,523],{"class":86},[65,651,652],{"class":79}," })) { ",[65,654,655],{"class":103},"fold",[65,657,107],{"class":79},[65,659,580],{"class":86},[65,661,662],{"class":79},") }\n",[43,664,665,666,668],{},"Synchronous, because this is the kernel's live in-memory projection, not a disk read.\n",[47,667,116],{}," is a seq cursor.",[43,670,671,672,676],{},"This is how a cognet reaches its own history — cold-boot rehydration, context rebuilds —\n",[673,674,675],"strong",{},"without the runtime passing anything in at boot",". A brain that had to be handed its past\nwould be a brain the host had an opinion about.",[43,678,679,680,683,684,687],{},"There is no write verb here and never will be. The cognet's only writes to the world are\n",[47,681,682],{},"output()"," and ",[47,685,686],{},"run()",", both committed by the kernel on its behalf. A patchable record is a\nfootgun by construction: a cognet cannot forge history, backdate a decision, or record\nsomething it did not do.",[43,689,690,691,694],{},"Entries only. Kernel spans and error machinery are not filtered out — they are\n",[673,692,693],{},"unreachable",": this reads a projection already classified by type namespace before the\ncognet asks.",[499,696,698],{"id":697},"the-kv-private-consolidated-state","The kv — private consolidated state",[43,700,701],{},"A cognet declares its own schema once, by declaration merging:",[56,703,705],{"className":58,"code":704,"language":60,"meta":61,"style":61},"\u002F\u002F anywhere in the cognet's own sources\ndeclare global {\n    interface CognetStoreSchema {\n        checkpoint: { entries: unknown[]; seq: number }\n    }\n}\n",[47,706,707,712,723,732,761,765],{"__ignoreMap":61},[65,708,709],{"class":67,"line":68},[65,710,711],{"class":96},"\u002F\u002F anywhere in the cognet's own sources\n",[65,713,714,717,720],{"class":67,"line":83},[65,715,716],{"class":71},"declare",[65,718,719],{"class":86}," global",[65,721,722],{"class":79}," {\n",[65,724,725,728,730],{"class":67,"line":93},[65,726,727],{"class":71},"    interface",[65,729,167],{"class":75},[65,731,722],{"class":79},[65,733,734,737,740,743,745,748,751,754,756,758],{"class":67,"line":100},[65,735,736],{"class":86},"        checkpoint",[65,738,739],{"class":79},": { ",[65,741,742],{"class":86},"entries",[65,744,176],{"class":79},[65,746,747],{"class":75},"unknown",[65,749,750],{"class":79},"[]; ",[65,752,753],{"class":86},"seq",[65,755,176],{"class":79},[65,757,122],{"class":75},[65,759,760],{"class":79}," }\n",[65,762,763],{"class":67,"line":137},[65,764,140],{"class":79},[65,766,767],{"class":67,"line":143},[65,768,265],{"class":79},[56,770,772],{"className":58,"code":771,"language":60,"meta":61,"style":61},"await kernel.store.set(\"checkpoint\", { entries: state.entries, seq })\nconst saved = await kernel.store.get(\"checkpoint\")   \u002F\u002F null when absent\n",[47,773,774,816],{"__ignoreMap":61},[65,775,776,779,781,783,785,787,790,792,796,799,802,805,807,809,811,813],{"class":67,"line":68},[65,777,778],{"class":535},"await",[65,780,552],{"class":86},[65,782,555],{"class":79},[65,784,49],{"class":86},[65,786,555],{"class":79},[65,788,789],{"class":103},"set",[65,791,107],{"class":79},[65,793,795],{"class":794},"sKc5r","\"checkpoint\"",[65,797,798],{"class":79},", { ",[65,800,801],{"class":86},"entries:",[65,803,804],{"class":86}," state",[65,806,555],{"class":79},[65,808,742],{"class":86},[65,810,236],{"class":79},[65,812,753],{"class":86},[65,814,815],{"class":79}," })\n",[65,817,818,820,823,825,827,829,831,833,835,837,839,841,844],{"class":67,"line":83},[65,819,542],{"class":71},[65,821,822],{"class":545}," saved",[65,824,526],{"class":79},[65,826,778],{"class":535},[65,828,552],{"class":86},[65,830,555],{"class":79},[65,832,49],{"class":86},[65,834,555],{"class":79},[65,836,567],{"class":103},[65,838,107],{"class":79},[65,840,795],{"class":794},[65,842,843],{"class":79},")   ",[65,845,846],{"class":96},"\u002F\u002F null when absent\n",[43,848,849,851,852,854,855,858,859,862,863,866,867,870,871,875],{},[47,850,567],{},"\u002F",[47,853,789],{}," are typed against ",[47,856,857],{},"keyof CognetStoreSchema",", so a cognet with no declaration\nhas ",[673,860,861],{},"no callable kv at all"," — ",[47,864,865],{},"keyof {}"," is ",[47,868,869],{},"never",". Declaring the schema ",[872,873,874],"em",{},"is"," opting in.\nEach bundle compiles against its own augmentation and nothing leaks between cognets.",[43,877,878,879,882],{},"Declared global rather than module-scoped on purpose: a cognet augments it with a plain\n",[47,880,881],{},"declare global"," block, where module augmentation would force every author to name this\npackage's specifier — exactly the plumbing the ambient-globals surface exists to hide.",[884,885,887],"h3",{"id":886},"the-cache-doctrine","The cache doctrine",[43,889,890,893],{},[673,891,892],{},"This is a cache over the log."," One flat namespace per cognet; the kernel imposes no\nlifetime taxonomy — a cognet that wants session-scoped keys prefixes with the sessionId it\nalready has from every entry's envelope.",[43,895,896],{},"Atomic per key, last-write-wins. It is the one writable surface concurrent instances of the\nsame agent share.",[43,898,899,900,902,903,906,907,910,911,914,915],{},"Unreadable or stale state is discarded and rebuilt from ",[47,901,562],{},". That is why ",[47,904,905],{},"get()","\nreturns null for ",[872,908,909],{},"unreadable"," as well as ",[872,912,913],{},"absent",": there is a correct recovery, and it is\nthe same one. ",[673,916,917,918,921],{},"Deleting ",[47,919,920],{},"data\u002Fstate\u002F"," is always safe.",[499,923,925,927],{"id":924},"knowledge-long-term-material",[47,926,53],{}," — long-term material",[56,929,931],{"className":58,"code":930,"language":60,"meta":61,"style":61},"const catalogue = await kernel.knowledge.list({ match: \"deploy\", limit: 40 })\nconst content   = await kernel.knowledge.read(\"axon\u002Fdeploy.md\")\n\nawait kernel.knowledge.write(\"notes\u002Fincident-2026-08.md\", summary)\nawait kernel.knowledge.remove(\"notes\u002Fstale.md\")\n",[47,932,933,973,1003,1007,1034],{"__ignoreMap":61},[65,934,935,937,940,942,944,946,948,950,952,955,957,960,963,965,968,971],{"class":67,"line":68},[65,936,542],{"class":71},[65,938,939],{"class":545}," catalogue",[65,941,526],{"class":79},[65,943,778],{"class":535},[65,945,552],{"class":86},[65,947,555],{"class":79},[65,949,53],{"class":86},[65,951,555],{"class":79},[65,953,954],{"class":103},"list",[65,956,644],{"class":79},[65,958,959],{"class":86},"match:",[65,961,962],{"class":794}," \"deploy\"",[65,964,236],{"class":79},[65,966,967],{"class":86},"limit:",[65,969,970],{"class":529}," 40",[65,972,815],{"class":79},[65,974,975,977,980,983,985,987,989,991,993,996,998,1001],{"class":67,"line":83},[65,976,542],{"class":71},[65,978,979],{"class":545}," content",[65,981,982],{"class":79},"   = ",[65,984,778],{"class":535},[65,986,552],{"class":86},[65,988,555],{"class":79},[65,990,53],{"class":86},[65,992,555],{"class":79},[65,994,995],{"class":103},"read",[65,997,107],{"class":79},[65,999,1000],{"class":794},"\"axon\u002Fdeploy.md\"",[65,1002,583],{"class":79},[65,1004,1005],{"class":67,"line":93},[65,1006,271],{"emptyLinePlaceholder":10},[65,1008,1009,1011,1013,1015,1017,1019,1022,1024,1027,1029,1032],{"class":67,"line":100},[65,1010,778],{"class":535},[65,1012,552],{"class":86},[65,1014,555],{"class":79},[65,1016,53],{"class":86},[65,1018,555],{"class":79},[65,1020,1021],{"class":103},"write",[65,1023,107],{"class":79},[65,1025,1026],{"class":794},"\"notes\u002Fincident-2026-08.md\"",[65,1028,236],{"class":79},[65,1030,1031],{"class":86},"summary",[65,1033,583],{"class":79},[65,1035,1036,1038,1040,1042,1044,1046,1049,1051,1054],{"class":67,"line":137},[65,1037,778],{"class":535},[65,1039,552],{"class":86},[65,1041,555],{"class":79},[65,1043,53],{"class":86},[65,1045,555],{"class":79},[65,1047,1048],{"class":103},"remove",[65,1050,107],{"class":79},[65,1052,1053],{"class":794},"\"notes\u002Fstale.md\"",[65,1055,583],{"class":79},[43,1057,1058],{},"Durable, human-readable, human-editable material the brain consults and maintains. The\nlong-term counterpart to the private kv. Three things separate it from every other durable\nsurface:",[43,1060,1061,1064,1065,1068],{},[673,1062,1063],{},"It is input, not output."," A session log records what the agent did; a knowledge entry is\nwhat someone — a human, a module, or the brain itself — decided is worth keeping. That is\nwhy it lives outside ",[47,1066,1067],{},".agent\u002F"," and is published with the agent.",[43,1070,1071,1074,1075,1078],{},[673,1072,1073],{},"It is not a cache."," Losing it is real data loss, so writes are atomic (temp + rename — a\nkill mid-write leaves the previous content, never a torn file) and a missing entry\n",[673,1076,1077],{},"throws"," rather than returning null. If a brain was told an entry exists and it does not,\nsomething is wrong and silence would hide it.",[43,1080,1081,1084],{},[673,1082,1083],{},"It is format-agnostic by refusal."," The kernel hands over bytes and a name; what those\nbytes mean is the cognet's business. Markdown, JSON, CSV, a serialized graph — the store\nhas no opinion and will never grow one.",[884,1086,1088],{"id":1087},"names-not-paths","Names, not paths",[43,1090,1091,1093,1094,1097],{},[47,1092,342],{}," is a stable identifier the author chose. ",[47,1095,1096],{},"\"axon\u002Fterminal.md\""," is a name whose\nseparators happen to nest, not a path.",[43,1099,1100,1103],{},[47,1101,1102],{},"path"," is present on a catalogue entry because knowledge is no longer one directory: a\nmodule's corpus lives inside its own package, so a name cannot be joined to a root. A\ncognet that wants the model to open a file with ordinary fs tools has to render something\nopenable, and teaching the model two path rules and which entries follow which is worse\nthan handing it the answer.",[43,1105,1106,1107,1110],{},"Reading a path you were given is ordinary. ",[673,1108,1109],{},"Deriving one from an assumed layout is not"," —\nthat is what stops a brain being portable to a body that stores things differently.",[43,1112,1113,1114,1117,1118,1121,1122,1125],{},"Writes are confined to the agent's own store and ",[673,1115,1116],{},"enforced, not trusted",": a name that\nresolves outside it throws ",[47,1119,1120],{},"KNOWLEDGE_ESCAPE",". Traversal is refused rather than sanitised,\nbecause a caller that wrote ",[47,1123,1124],{},"\"..\u002F..\u002F.env\""," meant something and quietly rewriting it to a\ndifferent file is worse than failing. The cognet gains one more mediated door, never a\nfilesystem.",[884,1127,1129],{"id":1128},"ordering","Ordering",[43,1131,1132,1135,1136,1138,1139,1142],{},[47,1133,1134],{},"list()"," is ordered by ",[47,1137,342],{},", bytewise ascending — ",[673,1140,1141],{},"stated"," rather than left to the\nfilesystem, because an unspecified order is a ranking nobody declared and every cognet\nsilently inherits. A caller wanting a different one sorts the result it was given.",[43,1144,1145,1147,1148,1150,1151,1153],{},[47,1146,296],{}," is a case-insensitive substring test against name and description. ",[47,1149,307],{},"\ntruncates ",[872,1152,116],{}," ordering, so a capped render is a stable prefix rather than an arbitrary\nsample.",[43,1155,1156,866,1159,1162,1163,1166],{},[47,1157,1158],{},"description",[47,1160,1161],{},"\"\""," when an entry declares none, never undefined, so a renderer never\nbranches. The catalogue's whole job is being cheap enough to hold ambiently: a brain\nrenders name + description for everything it has and reads only what the task needs. A\nbrain that already knows its names ignores all of it and calls ",[47,1164,1165],{},"read()"," directly.",[884,1168,1170],{"id":1169},"retrieval-is-cognition-and-lives-in-the-cognet","Retrieval is cognition and lives in the cognet",[43,1172,1173],{},"There is no semantic search, no ranking, no embedding here, and there must never be.\nChoosing how a mind recalls is a memory policy, which the kernel is forbidden from holding.",[43,1175,1176,1178,1179,1181,1182,1185,1186,1188,1189,1191],{},[47,1177,954],{},"'s ",[47,1180,296],{}," is a predicate the ",[673,1183,1184],{},"caller supplies"," — the kernel executes one it is\ngiven, it never supplies one. A brain that wants full-text search greps through ",[47,1187,686],{},". A\nbrain that wants embeddings builds them and keeps the index in ",[47,1190,49],{},", where derived state\nbelongs.",[884,1193,1195],{"id":1194},"mutations-are-traced","Mutations are traced",[43,1197,1198,1199,683,1202,1205,1206,1208],{},"The kernel emits ",[47,1200,1201],{},"cognet:knowledge:write",[47,1203,1204],{},"cognet:knowledge:remove"," when a cognet\nmutates the store. The cognet never records its own mutations — the same rule that governs\n",[47,1207,686],{},"'s action\u002Fresult pair.",[43,1210,1211,1212,1215],{},"Not a span: a write is a settled act, not a bracket, and there is no meaningful \"in\nprogress\" for an atomic temp+rename. Traced because \"the agent modified its own long-term\nmemory\" is exactly the fact you want when behaviour drifts weeks later. ",[673,1213,1214],{},"Name only, never\ncontent"," — the log records that memory changed, not a second copy of it.",[1217,1218,1219],"style",{},"html pre.shiki code .scz_3, html code.shiki .scz_3{--shiki-default:#569CD6}html pre.shiki code .sNl3T, html code.shiki .sNl3T{--shiki-default:#4EC9B0}html pre.shiki code .sTNBD, html code.shiki .sTNBD{--shiki-default:#D4D4D4}html pre.shiki code .s3F5K, html code.shiki .s3F5K{--shiki-default:#9CDCFE}html pre.shiki code .sOLPB, html code.shiki .sOLPB{--shiki-default:#6A9955}html pre.shiki code .sCudf, html code.shiki .sCudf{--shiki-default:#DCDCAA}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sDGX8, html code.shiki .sDGX8{--shiki-default:#B5CEA8}html pre.shiki code .sYbnZ, html code.shiki .sYbnZ{--shiki-default:#C586C0}html pre.shiki code .s9McN, html code.shiki .s9McN{--shiki-default:#4FC1FF}html pre.shiki code .sKc5r, html code.shiki .sKc5r{--shiki-default:#CE9178}",{"title":61,"searchDepth":83,"depth":83,"links":1221},[1222,1224,1227],{"id":501,"depth":83,"text":1223},"store.session — read-only history",{"id":697,"depth":83,"text":698,"children":1225},[1226],{"id":886,"depth":93,"text":887},{"id":924,"depth":83,"text":1228,"children":1229},"knowledge — long-term material",[1230,1231,1232,1233],{"id":1087,"depth":93,"text":1088},{"id":1128,"depth":93,"text":1129},{"id":1169,"depth":93,"text":1170},{"id":1194,"depth":93,"text":1195},"kernel.store offers two asymmetric persistence doors: a private cache over the log, and knowledge that is shared, durable and published.","md",{},"\u002Fdocs\u002Fv2\u002Fcognets\u002Fapi\u002Fstore",{"title":34,"description":1234},"docs\u002Fv2\u002Fcognets\u002Fapi\u002Fstore","v1j4G2Fv6AaegYwV05gkMSnYlVi6D8MV-NSgxsZB8_A",1788121883885]