2:I[2567,["8905","static/chunks/8905-f6f9469353911fb0.js","3143","static/chunks/3143-242beb2943338ff8.js","7864","static/chunks/7864-df8ea73c5cbe0896.js","7648","static/chunks/7648-34771bb3fdb1b05c.js","4873","static/chunks/4873-d3832094381cdad1.js","2567","static/chunks/2567-5a770fb5c2fddd8c.js","405","static/chunks/app/(marketing)/page-c024e79717cccb54.js"],"MarketingShell"]
3:I[7382,["8905","static/chunks/8905-f6f9469353911fb0.js","3143","static/chunks/3143-242beb2943338ff8.js","7864","static/chunks/7864-df8ea73c5cbe0896.js","7648","static/chunks/7648-34771bb3fdb1b05c.js","4873","static/chunks/4873-d3832094381cdad1.js","2567","static/chunks/2567-5a770fb5c2fddd8c.js","405","static/chunks/app/(marketing)/page-c024e79717cccb54.js"],"Section"]
4:I[7382,["8905","static/chunks/8905-f6f9469353911fb0.js","3143","static/chunks/3143-242beb2943338ff8.js","7864","static/chunks/7864-df8ea73c5cbe0896.js","7648","static/chunks/7648-34771bb3fdb1b05c.js","4873","static/chunks/4873-d3832094381cdad1.js","2567","static/chunks/2567-5a770fb5c2fddd8c.js","405","static/chunks/app/(marketing)/page-c024e79717cccb54.js"],"HeroHeading"]
5:I[7382,["8905","static/chunks/8905-f6f9469353911fb0.js","3143","static/chunks/3143-242beb2943338ff8.js","7864","static/chunks/7864-df8ea73c5cbe0896.js","7648","static/chunks/7648-34771bb3fdb1b05c.js","4873","static/chunks/4873-d3832094381cdad1.js","2567","static/chunks/2567-5a770fb5c2fddd8c.js","405","static/chunks/app/(marketing)/page-c024e79717cccb54.js"],"ButtonLink"]
6:I[7269,["8905","static/chunks/8905-f6f9469353911fb0.js","3143","static/chunks/3143-242beb2943338ff8.js","7864","static/chunks/7864-df8ea73c5cbe0896.js","7648","static/chunks/7648-34771bb3fdb1b05c.js","4873","static/chunks/4873-d3832094381cdad1.js","2567","static/chunks/2567-5a770fb5c2fddd8c.js","405","static/chunks/app/(marketing)/page-c024e79717cccb54.js"],"BeliefInspector"]
7:I[7382,["8905","static/chunks/8905-f6f9469353911fb0.js","3143","static/chunks/3143-242beb2943338ff8.js","7864","static/chunks/7864-df8ea73c5cbe0896.js","7648","static/chunks/7648-34771bb3fdb1b05c.js","4873","static/chunks/4873-d3832094381cdad1.js","2567","static/chunks/2567-5a770fb5c2fddd8c.js","405","static/chunks/app/(marketing)/page-c024e79717cccb54.js"],"SpecList"]
8:I[7382,["8905","static/chunks/8905-f6f9469353911fb0.js","3143","static/chunks/3143-242beb2943338ff8.js","7864","static/chunks/7864-df8ea73c5cbe0896.js","7648","static/chunks/7648-34771bb3fdb1b05c.js","4873","static/chunks/4873-d3832094381cdad1.js","2567","static/chunks/2567-5a770fb5c2fddd8c.js","405","static/chunks/app/(marketing)/page-c024e79717cccb54.js"],"CodeBlock"]
9:I[4707,[],""]
a:I[6423,[],""]
b:I[4873,["8905","static/chunks/8905-f6f9469353911fb0.js","3143","static/chunks/3143-242beb2943338ff8.js","7864","static/chunks/7864-df8ea73c5cbe0896.js","1713","static/chunks/1713-a64ba0d5e6aae143.js","7648","static/chunks/7648-34771bb3fdb1b05c.js","3975","static/chunks/3975-52ed6f58eef56249.js","4873","static/chunks/4873-d3832094381cdad1.js","3185","static/chunks/app/layout-d075ade29984b3e7.js"],"Providers"]
c:I[6151,["8905","static/chunks/8905-f6f9469353911fb0.js","3143","static/chunks/3143-242beb2943338ff8.js","7864","static/chunks/7864-df8ea73c5cbe0896.js","1713","static/chunks/1713-a64ba0d5e6aae143.js","7648","static/chunks/7648-34771bb3fdb1b05c.js","3975","static/chunks/3975-52ed6f58eef56249.js","4873","static/chunks/4873-d3832094381cdad1.js","3185","static/chunks/app/layout-d075ade29984b3e7.js"],"Shell"]
d:{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"}
e:{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"}
f:{"display":"inline-block"}
10:{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0}
0:["U2MNGSRS-j5gXjQ-BG0HF",[[["",{"children":["(marketing)",{"children":["__PAGE__",{}]}]},"$undefined","$undefined",true],["",{"children":["(marketing)",{"children":["__PAGE__",{},[["$L1",["$","$L2",null,{"children":[["$","$L3",null,{"className":"hero-y","children":["$","div",null,{"className":"max-w-[68rem]","children":[["$","$L4",null,{"children":["Your agent should be able to say ",["$","em",null,{"children":"why"}]," it believes something."]}],["$","div",null,{"className":"mt-10 grid gap-x-16 gap-y-8 lg:grid-cols-[minmax(0,7fr)_minmax(0,5fr)]","children":[["$","p",null,{"className":"lede !max-w-none","children":"Most agent memory is a list of facts. When two of them conflict, one silently overwrites the other and the history is gone. OMEM keeps both, tracks which one is believed right now, and can reconstruct what was believed at any point in the past."}],["$","div",null,{"className":"lg:pt-1","children":[["$","div",null,{"className":"flex flex-wrap items-center gap-3","children":[["$","$L5",null,{"href":"/docs/quickstart","children":"Start the quickstart"}],["$","$L5",null,{"href":"https://github.com/troybrandonc-bit/Omem","variant":"secondary","external":true,"children":"Read the source"}]]}],["$","p",null,{"className":"mt-5 text-caption text-faint","children":["Runs on your own machine, with no external services.",["$","span",null,{"className":"mono mt-1 block","children":"MIT · Python 3.9+ · no dependencies"}]]}]]}]]}]]}]}],["$","$L3",null,{"className":"pb-24 sm:pb-32","children":["$","figure",null,{"className":"m-0 max-w-[62rem]","children":[["$","div",null,{"className":"lift-lg rounded-lg","children":["$","$L6",null,{}]}],["$","figcaption",null,{"className":"mt-5 flex flex-wrap items-baseline gap-x-3 text-caption text-faint","children":[["$","span",null,{"aria-hidden":"true","className":"h-px w-8 shrink-0 bg-[color:var(--line-strong)]"}],"A real assertion from the demo project. Change “as of” and watch the belief state move."]}]]}]}],["$","$L3",null,{"className":"section-y","children":[["$","div",null,{"className":"max-w-3xl","children":[["$","span",null,{"aria-hidden":"true","className":"block h-px w-full bg-[color:var(--border)]"}],["$","h2",null,{"id":"s-01","className":"display mt-9 text-2xl","children":"The useful part of a memory layer is the part that says no."}],["$","p",null,{"className":"lede mt-6","children":"Anything can store a fact. What decides whether your agent is trustworthy is what it declines to do with one."}]]}],["$","div",null,{"className":"mt-10","children":["$","$L7",null,{"items":[{"k":"It will not decide what is true","d":"Two claims conflict only when a caller has declared the pair opposed.\n        OMEM never reads two sentences and concludes they disagree, because that\n        judgement is what would stop the same question having the same answer a\n        year from now."},{"k":"It will not run what nobody authorised","d":"A model may propose a repair. Only action types registered in code can\n        execute, the risk class comes from OMEM's registry rather than from the\n        plan that claims it, and a high-risk action needs a named approver on top\n        of the permission."},{"k":"It will not quietly overwrite","d":"A contradiction keeps both claims, records which is currently believed,\n        and can reconstruct either side at any past point in time. Nothing is\n        lost when something changes."}]}]}]]}],["$","$L3",null,{"className":"section-y","children":["$","div",null,{"className":"grid gap-10 lg:grid-cols-2 lg:gap-14","children":[["$","div",null,{"children":[["$","div",null,{"className":"max-w-3xl","children":[["$","span",null,{"aria-hidden":"true","className":"block h-px w-full bg-[color:var(--border)]"}],["$","h2",null,{"id":"s-02","className":"display mt-9 text-2xl","children":["A model proposed ",["$","span",null,{"className":"mono","children":"exec_shell"}],". OMEM did not run it."]}],["$","p",null,{"className":"lede mt-6","children":["OMEM records what breaks and repairs it under policy. The model is a reasoning component that may"," ",["$","em",null,{"className":"not-italic font-medium text-fg","children":"propose"}]," a plan; OMEM decides what is permitted, what executes, and whether it actually worked."]}]]}],["$","p",null,{"className":"mt-5 max-w-read text-body text-muted","children":"Error text and model output are data here. Neither can name an action into existence, and the refusal is written down with the reason for every action rather than disappearing."}],["$","$L5",null,{"href":"/docs","variant":"quiet","className":"mt-5","children":"How the healing loop works"}]]}],["$","$L8",null,{"filename":"a denied plan","label":"A repair plan that OMEM refused","single":"result = mem.healing.handle(\n    error={\"component\": \"billing-sync\", \"error_type\": \"AuthError\"},\n    plan={\"diagnosis\": \"credentials rotated upstream\",\n          \"actions\": [{\"type\": \"reload_config\"},\n                      {\"type\": \"exec_shell\"}]},\n)\n\nresult[\"status\"]\n# \"denied\"  - nothing executed\n\nresult[\"decisions\"]\n# reload_config  permitted      (low risk)\n# exec_shell     unknown action type (not registered)"}]]}]}],["$","$L3",null,{"className":"section-y","children":[["$","div",null,{"className":"max-w-3xl","children":[["$","span",null,{"aria-hidden":"true","className":"block h-px w-full bg-[color:var(--border)]"}],["$","h2",null,{"id":"s-03","className":"display mt-9 text-2xl","children":"Two agents disagree. Both are kept, one is believed, and you can ask why."}],"$undefined"]}],["$","div",null,{"className":"mt-10 grid gap-10 lg:grid-cols-[minmax(0,1fr)_minmax(0,320px)] lg:gap-14","children":[["$","$L8",null,{"label":"Recording a contradiction","tabs":[{"label":"Python","code":"from omem import Memory\n\nmem = Memory(api_key=\"omem_sk_...\", project=\"proj_...\")\n\nmem.remember(agent=\"support\", about=\"customer:alice\",\n             claim=\"prefers_annual_billing\")\n\n# Nothing infers that these two disagree. You say so, once.\nmem.contradict(\"prefers_annual_billing\", \"prefers_monthly_billing\")\n\nmem.remember(agent=\"sales\", about=\"customer:alice\",\n             claim=\"prefers_monthly_billing\")\n\nmem.believes(about=\"customer:alice\", claim=\"prefers_annual_billing\")\n# \"CONTRADICTED\"  - not deleted, not overwritten\n\nmem.why(assertion_id)   # the chain that led there"},{"label":"TypeScript","code":"// Not on npm yet: used from sdk/typescript/ in the repo.\nimport { Memory } from \"./sdk/typescript/src/index\";\n\nconst mem = new Memory({ apiKey: \"omem_sk_...\", project: \"proj_...\" });\n\nawait mem.remember({ agent: \"support\", about: \"customer:alice\",\n                     claim: \"prefers_annual_billing\" });\n\nawait mem.contradict(\"prefers_annual_billing\", \"prefers_monthly_billing\");\n\nawait mem.believes({ about: \"customer:alice\",\n                     claim: \"prefers_annual_billing\" });\n// \"CONTRADICTED\""},{"label":"MCP","code":"// claude_desktop_config.json\n{\n  \"mcpServers\": {\n    \"omem\": {\n      \"command\": \"omem-mcp\",\n      \"env\": {\n        \"OMEM_API_KEY\": \"omem_sk_...\",\n        \"OMEM_BASE_URL\": \"http://127.0.0.1:8787\",\n        \"OMEM_PROJECT\": \"proj_...\",\n        \"OMEM_AGENT\": \"claude\"\n      }\n    }\n  }\n}"}]}],["$","ul",null,{"className":"flex flex-col gap-6","children":[["$","li","Belief state over time",{"children":[["$","h3",null,{"className":"text-note font-semibold","children":"Belief state over time"}],["$","p",null,{"className":"mt-1.5 text-note text-muted","children":"Every claim carries an interval. Ask what was believed last Tuesday and get last Tuesday's answer, not today's."}]]}],["$","li","Provenance you can follow",{"children":[["$","h3",null,{"className":"text-note font-semibold","children":"Provenance you can follow"}],["$","p",null,{"className":"mt-1.5 text-note text-muted","children":"Ask why something is believed and get the chain of assertions and evidence that led there."}]]}],["$","li","Private by default",{"children":[["$","h3",null,{"className":"text-note font-semibold","children":"Private by default"}],["$","p",null,{"className":"mt-1.5 text-note text-muted","children":"Memory belongs to an agent unless you share it with a team or the project."}]]}],["$","li","The dashboard is included",{"children":[["$","h3",null,{"className":"text-note font-semibold","children":"The dashboard is included"}],["$","p",null,{"className":"mt-1.5 text-note text-muted","children":"One pip install serves the API and the UI on the same port. No Node at runtime, no second process."}]]}]]}]]}]]}],["$","$L3",null,{"className":"section-y","children":["$","div",null,{"className":"grid gap-10 lg:grid-cols-2 lg:gap-14","children":[["$","div",null,{"children":[["$","div",null,{"className":"max-w-3xl","children":[["$","span",null,{"aria-hidden":"true","className":"block h-px w-full bg-[color:var(--border)]"}],["$","h2",null,{"id":"s-04","className":"display mt-9 text-2xl","children":"This is early software, and the second list matters as much as the first."}],["$","p",null,{"className":"lede mt-6","children":"OMEM is free while it is in beta, and it is missing things you would need before putting it somewhere serious. They are written down rather than discovered during a security review."}]]}],["$","$L5",null,{"href":"/security","variant":"quiet","className":"mt-5","children":"Read the full security page"}]]}],["$","ul",null,{"className":"border-t","children":[["$","li","No SSO or SCIM",{"className":"flex items-start gap-3 border-b py-4","children":[["$","span",null,{"className":"led closed mt-[7px] shrink-0","aria-hidden":"true"}],["$","span",null,{"className":"text-note text-muted","children":"No SSO or SCIM"}]]}],["$","li","No SOC 2, ISO 27001 or HIPAA BAA",{"className":"flex items-start gap-3 border-b py-4","children":[["$","span",null,{"className":"led closed mt-[7px] shrink-0","aria-hidden":"true"}],["$","span",null,{"className":"text-note text-muted","children":"No SOC 2, ISO 27001 or HIPAA BAA"}]]}],["$","li","No key rotation tooling",{"className":"flex items-start gap-3 border-b py-4","children":[["$","span",null,{"className":"led closed mt-[7px] shrink-0","aria-hidden":"true"}],["$","span",null,{"className":"text-note text-muted","children":"No key rotation tooling"}]]}],["$","li","No region pinning",{"className":"flex items-start gap-3 border-b py-4","children":[["$","span",null,{"className":"led closed mt-[7px] shrink-0","aria-hidden":"true"}],["$","span",null,{"className":"text-note text-muted","children":"No region pinning"}]]}],["$","li","An audit chain that detects tampering, not one that prevents it",{"className":"flex items-start gap-3 border-b py-4","children":[["$","span",null,{"className":"led closed mt-[7px] shrink-0","aria-hidden":"true"}],["$","span",null,{"className":"text-note text-muted","children":"An audit chain that detects tampering, not one that prevents it"}]]}],["$","li","One writer per database, so no high availability",{"className":"flex items-start gap-3 border-b py-4","children":[["$","span",null,{"className":"led closed mt-[7px] shrink-0","aria-hidden":"true"}],["$","span",null,{"className":"text-note text-muted","children":"One writer per database, so no high availability"}]]}]]}]]}]}],["$","$L3",null,{"className":"rule section-y","children":[["$","h2",null,{"className":"display max-w-[22ch] text-2xl","children":"The whole thing runs on your laptop in about a minute."}],["$","p",null,{"className":"lede mt-5","children":"No signup, no card, no quota, and no service to depend on. If it breaks or feels wrong, that is exactly the feedback worth having right now."}],["$","div",null,{"className":"mt-8 max-w-md","children":["$","$L8",null,{"filename":"start here","label":"Install and run OMEM","single":"pip install omem-infrastructure\nomem-server"}]}],["$","div",null,{"className":"mt-6 flex flex-wrap items-center gap-3","children":[["$","$L5",null,{"href":"/docs/quickstart","children":"Start the quickstart"}],["$","$L5",null,{"href":"/docs","variant":"secondary","children":"Documentation"}],["$","$L5",null,{"href":"https://github.com/troybrandonc-bit/Omem/issues","variant":"quiet","external":true,"children":"Report something broken"}]]}]]}]]}],null],null],null]},[null,["$","$L9",null,{"parallelRouterKey":"children","segmentPath":["children","(marketing)","children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":{"fontFamily":"system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"","height":"100vh","textAlign":"center","display":"flex","flexDirection":"column","alignItems":"center","justifyContent":"center"},"children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":{"display":"inline-block","margin":"0 20px 0 0","padding":"0 23px 0 0","fontSize":24,"fontWeight":500,"verticalAlign":"top","lineHeight":"49px"},"children":"404"}],["$","div",null,{"style":{"display":"inline-block"},"children":["$","h2",null,{"style":{"fontSize":14,"fontWeight":400,"lineHeight":"49px","margin":0},"children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]],null]},[[[["$","link","0",{"rel":"stylesheet","href":"/_next/static/css/76ac85dcdfd12e8b.css","precedence":"next","crossOrigin":"$undefined"}]],["$","html",null,{"lang":"en","className":"__variable_f367f3 __variable_a3c0d3 __variable_3c557b","suppressHydrationWarning":true,"children":[["$","head",null,{"children":["$","script",null,{"dangerouslySetInnerHTML":{"__html":"(function(){try{\nvar s=localStorage.getItem(\"omem-theme\");\nvar d=s?s===\"dark\":window.matchMedia(\"(prefers-color-scheme: dark)\").matches;\nif(d)document.documentElement.classList.add(\"dark\");\ndocument.documentElement.style.colorScheme=d?\"dark\":\"light\";\n}catch(e){}})();"}}]}],["$","body",null,{"children":[["$","a",null,{"href":"#main","className":"skip-link","children":"Skip to content"}],["$","$Lb",null,{"children":["$","$Lc",null,{"children":["$","$L9",null,{"parallelRouterKey":"children","segmentPath":["children"],"error":"$undefined","errorStyles":"$undefined","errorScripts":"$undefined","template":["$","$La",null,{}],"templateStyles":"$undefined","templateScripts":"$undefined","notFound":[["$","title",null,{"children":"404: This page could not be found."}],["$","div",null,{"style":"$d","children":["$","div",null,{"children":[["$","style",null,{"dangerouslySetInnerHTML":{"__html":"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}],["$","h1",null,{"className":"next-error-h1","style":"$e","children":"404"}],["$","div",null,{"style":"$f","children":["$","h2",null,{"style":"$10","children":"This page could not be found."}]}]]}]}]],"notFoundStyles":[]}]}]}]]}]]}]],null],null],["$L11",null]]]]
11:[["$","meta","0",{"name":"viewport","content":"width=device-width, initial-scale=1, viewport-fit=cover"}],["$","meta","1",{"name":"theme-color","media":"(prefers-color-scheme: light)","content":"#faf9f6"}],["$","meta","2",{"name":"theme-color","media":"(prefers-color-scheme: dark)","content":"#171614"}],["$","meta","3",{"charSet":"utf-8"}],["$","title","4",{"children":"Memory for AI agents that refuses to decide what is true / OMEM"}],["$","meta","5",{"name":"description","content":"OMEM tracks what each agent believes, when it learned it, and why. Contradictions are surfaced rather than overwritten, and no repair runs that nobody authorised. Self-hosted, MIT, no dependencies."}],["$","meta","6",{"name":"application-name","content":"OMEM"}],["$","meta","7",{"name":"format-detection","content":"telephone=no"}],["$","meta","8",{"name":"next-size-adjust"}]]
1:null
