[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"readme:leviathan":3},"\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Felstongun\u002Fleviathan\u002FHEAD\u002Fdocs\u002Fassets\u002Fbanner.png\" alt=\"Leviathan\" width=\"100%\" \u002F>\n\u003C\u002Fp>\u003Cp align=\"center\">\n  \u003Cb>Deep memory for agents over large datasets.\u003C\u002Fb>\u003Cbr \u002F>\n  Index any table, export or log once; your agent gets the few records that answer the question.\n\u003C\u002Fp>\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Felstongun\u002Fleviathan\u002Factions\u002Fworkflows\u002Fci.yml\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Felstongun\u002Fleviathan\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg\" alt=\"CI\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Felstongun\u002Fleviathan\u002Fblob\u002FHEAD\u002FLICENSE\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache--2.0-blue.svg\" alt=\"License: Apache-2.0\" \u002F>\u003C\u002Fa>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Frust-1.88%2B-orange.svg\" alt=\"Rust 1.88+\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMCP-optional-0B7A75.svg\" alt=\"MCP optional\" \u002F>\n\u003C\u002Fp>\u003Cp>Leviathan is a single binary that turns records (JSONL, JSON, CSV\u002FTSV,\nSQLite, or any database CLI's output) into a ranked full-text index. Agents\nask in plain words and get short, cited result cards: ~450 tokens per answer\nat any dataset size, instead of grepping and reading raw history.\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Felstongun\u002Fleviathan\u002FHEAD\u002Fdocs\u002Fassets\u002Fhero-dark.png\" alt=\"Median tokens per question at 1M records: Leviathan 436, grep entity + question words 107K, grep entity history 209K, read all 203M\" width=\"100%\" \u002F>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Felstongun\u002Fleviathan\u002FHEAD\u002Fdocs\u002Fassets\u002Fscaling_tokens-dark.png\" alt=\"Median tokens per question vs dataset size\" width=\"49%\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Felstongun\u002Fleviathan\u002FHEAD\u002Fdocs\u002Fassets\u002Faccuracy-dark.png\" alt=\"Answer rate vs dataset size\" width=\"49%\" \u002F>\n\u003C\u002Fp>\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Felstongun\u002Fleviathan\u002FHEAD\u002Fdocs\u002Fassets\u002Fhistory_scatter-dark.png\" alt=\"Tokens per question vs entity history size\" width=\"49%\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Felstongun\u002Fleviathan\u002FHEAD\u002Fdocs\u002Fassets\u002Flatency-dark.png\" alt=\"Latency vs dataset size\" width=\"49%\" \u002F>\n\u003C\u002Fp>\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>At 1M records (678 MB)\u003C\u002Fth>\n\u003Cth align=\"right\">Leviathan\u003C\u002Fth>\n\u003Cth align=\"right\">best grep strategy\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>Median tokens per question\u003C\u002Ftd>\n\u003Ctd align=\"right\">\u003Cstrong>436\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd align=\"right\">107,122 (245×)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Relevant record returned\u003C\u002Ftd>\n\u003Ctd align=\"right\">\u003Cstrong>99.0%\u003C\u002Fstrong> top 5 · 98.5% rank 1\u003C\u002Ftd>\n\u003Ctd align=\"right\">96.0% within a 30K-char output\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Worst case (1,200 questions)\u003C\u002Ftd>\n\u003Ctd align=\"right\">\u003Cstrong>602 tokens\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd align=\"right\">9.7M tokens\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>Median latency\u003C\u002Ftd>\n\u003Ctd align=\"right\">\u003Cstrong>33 ms\u003C\u002Fstrong>\u003C\u002Ftd>\n\u003Ctd align=\"right\">92 ms\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Cp>Measured on a synthetic maintenance log (one example dataset; nothing in\nLeviathan is specific to it). Methodology, all six scales and caveats:\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Felstongun\u002Fleviathan\u002Fblob\u002FHEAD\u002Fdocs\u002FBENCHMARKS.md\" rel=\"nofollow ugc noopener\">docs\u002FBENCHMARKS.md\u003C\u002Fa>.\u003C\u002Fp>\n\u003Ch2>Quickstart\u003C\u002Fh2>\n\u003Cpre>\u003Ccode class=\"language-bash\">cargo install leviathan-index       # or: cargo install --git https:\u002F\u002Fgithub.com\u002Felstongun\u002Fleviathan\ncd examples\u002Ftickets &amp;&amp; leviathan index\nleviathan search -g acme \"sso login loop after password reset\"\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cpre>\u003Ccode class=\"language-text\">leviathan search · customer C-ACME \"Acme Corp\" (7 tickets) · query \"sso login loop after password reset\" · shown 3 of 3 · 24 tickets indexed\n[1] T-1001 · 2024-01-08 09:12 · rel 16.9\n  Login loops back to sign-in page after password reset\n  status: closed · priority: high\n  resolution: Cleared stale session cookies on password reset; shipped in 4.2.1. Workaround: clear site data.\n  match: Users who reset their password get redirected to the sign-in page again in an endless loop.\n...\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cul>\n\u003Cli>\u003Ccode>-g\u003C\u002Fcode> accepts a key, name or partial name. Ambiguous or unknown groups list candidates and exit 3, never guess.\u003C\u002Fli>\n\u003Cli>No match in the group falls back to other groups, labeled \u003Ccode>OTHER CUSTOMER\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Combine \u003Ccode>--where field=value\u003C\u002Fcode>, \u003Ccode>--since\u003C\u002Fcode>\u002F\u003Ccode>--until\u003C\u002Fcode>, \u003Ccode>\"phrases\"\u003C\u002Fcode> and \u003Ccode>-exclusions\u003C\u002Fcode>.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Prebuilt binaries are on \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Felstongun\u002Fleviathan\u002Freleases\" rel=\"nofollow ugc noopener\">Releases\u003C\u002Fa>. No runtime dependencies; the index is one SQLite file.\u003C\u002Fp>\n\u003Ch2>Map your data\u003C\u002Fh2>\n\u003Cp>Fields are paths (\u003Ccode>a.b\u003C\u002Fcode>, \u003Ccode>items[].name\u003C\u002Fcode>); only \u003Ccode>id\u003C\u002Fcode> is required.\u003C\u002Fp>\n\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Field\u003C\u002Fth>\n\u003Cth>Enables\u003C\u002Fth>\n\u003C\u002Ftr>\n\u003C\u002Fthead>\n\u003Ctbody>\u003Ctr>\n\u003Ctd>\u003Ccode>id\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>get\u003C\u002Fcode>, \u003Ccode>upsert\u003C\u002Fcode>, \u003Ccode>delete\u003C\u002Fcode>, citations\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>title\u003C\u002Fcode> \u002F \u003Ccode>text\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Card headline (weighted 2×) \u002F searched text (default: all strings)\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>group\u003C\u002Fcode> \u002F \u003Ccode>group_name\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>-g\u003C\u002Fcode> scoped search, name resolution, labeled fallback\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>date\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>--since\u003C\u002Fcode>, \u003Ccode>--until\u003C\u002Fcode>, \u003Ccode>recent\u003C\u002Fcode>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>filters\u003C\u002Fcode> \u002F \u003Ccode>display\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>\u003Ccode>--where\u003C\u002Fcode> facets \u002F fields shown on cards\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Ccode>empty_values\u003C\u002Fcode> \u002F \u003Ccode>rank.boost\u003C\u002Fcode>\u003C\u002Ftd>\n\u003Ctd>Placeholders treated as missing \u002F favor complete records\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftbody>\u003C\u002Ftable>\n\u003Cpre>\u003Ccode class=\"language-bash\">leviathan index .\u002Fexport                      # everything in a fol\n\u003C\u002Fcode>\u003C\u002Fpre>\n",1793926094144]