[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"readme:ripwire":3},"\u003Cp align=\"center\">\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fredhat-et\u002Fripwire\u002FHEAD\u002Fdocs\u002Fassets\u002Fbanner.svg\" alt=\"ripwire — the ripgrep of AI context\" width=\"880\" \u002F>\u003C\u002Fp>\u003Cp>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fredhat-et\u002Fripwire\u002Factions\u002Fworkflows\u002Fci.yml\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fredhat-et\u002Fripwire\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg\" alt=\"CI\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fredhat-et\u002Fripwire\u002Freleases\u002Flatest\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fredhat-et\u002Fripwire\" alt=\"Release\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fredhat-et\u002Fripwire\u002Fblob\u002FHEAD\u002FLICENSE\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicence-Apache%202.0-blue.svg\" alt=\"Licence\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fredhat-et\u002Fripwire\u002Fblob\u002FHEAD\u002FCONTRIBUTING.md\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FC%2B%2B-23-blue.svg\" alt=\"Standard\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fredhat-et\u002Fripwire\u002Fblob\u002FHEAD\u002FTHIRD_PARTY.md\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fruntime%20dependencies-none-blue.svg\" alt=\"Runtime dependencies\" \u002F>\u003C\u002Fa>\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fredhat-et\u002Fripwire\u002Fblob\u002FHEAD\u002Fpresent\u002Fripwire-showcase.pdf\" rel=\"nofollow ugc noopener\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fslides-the%20showcase%20deck-56d6e8.svg\" alt=\"Slides\" \u002F>\u003C\u002Fa>\u003C\u002Fp>\n\u003Ch1>Rip'n Fast. Fewer Tokens. Better Code.\u003C\u002Fh1>\n\u003Ch2>The ripgrep of AI context. Give your coding agent a map before it reads the repo.\u003C\u002Fh2>\n\u003Cp>Point it at any repository and your agent gets a ranked, deterministic call graph — what to touch,\nwhat it breaks, which tests to run — instead of grepping around and reading whole files.\u003C\u002Fp>\n\u003Cp align=\"center\">\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fredhat-et\u002Fripwire\u002FHEAD\u002Fdocs\u002Fassets\u002Fpaddle-out.svg\" alt=\"Paddle out with a map.\" width=\"470\" \u002F>\u003C\u002Fp>\u003Cdetails>\n\u003Csummary>\u003Cb>Fifty years of software-engineering results, and research from last month.\u003C\u002Fb> 46 repositories and 69 papers folded — McCabe (1976) through to \u003Cb>seven published in the last two months\u003C\u002Fb> — each row in \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fredhat-et\u002Fripwire\u002Fblob\u002FHEAD\u002Fdocs\u002FLINEAGE.md\" rel=\"nofollow ugc noopener\">\u003Cb>docs\u002FLINEAGE.md\u003C\u002Fb>\u003C\u002Fa> naming the lesson taken and the file it lives in\u003C\u002Fsummary>\u003Cp>Beside those sits a labelled survey of \u003Cstrong>237 tools\u003C\u002Fstrong> that contributed nothing and says so. The two\nsets are disjoint by construction, so they add rather than nest — a tool that gave a lesson is never\ncounted twice.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>Both halves are load-bearing, and they are doing different jobs.\u003C\u002Fstrong> The settled results are what\nmake the quality lens trustworthy: McCabe on complexity (1976), Halstead on volume (1977), Spärck\nJones on term specificity (1972), Nagappan &amp; Ball on churn. Fifty years of replication means those\nare not opinions, and a tool that measures your code should be built on the ones that survived.\u003C\u002Fp>\n\u003Cp>The recent work is what makes it \u003Cem>current\u003C\u002Fem>: \u003Cstrong>seventeen of the folded papers are from 2026, seven\npublished in the last two months and three in the last thirty days\u003C\u002Fstrong> (dates as of 2026-09-08; every\nrow carries its arXiv id, so the claim is checkable rather than atmospheric). Retrieval for coding\nagents, context-compression cost, placebo-controlled localization — that literature is months old,\nnot decades, and several rows were folded within weeks of the paper appearing.\u003C\u002Fp>\n\u003Cp>Neither half alone would be enough. A tool built only on the classics would not know what an agent\nneeds; one built only on last month's preprints would have nothing underneath it. And the newest row\nis a result that \u003Cstrong>failed\u003C\u002Fstrong> when it was tested here — which is the point of writing them down. All three counts are re-derived from that document's own tables by\n\u003Ccode>test\u002Freadmedriftcheck.sh\u003C\u002Fcode> on every run, which fails if this page and those tables disagree, so the\nclaim cannot quietly drift. The row-by-row ledger is\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fredhat-et\u002Fripwire\u002Fblob\u002FHEAD\u002Fdocs\u002FLINEAGE.md\" rel=\"nofollow ugc noopener\">\u003Ccode>docs\u002FLINEAGE.md\u003C\u002Fcode>\u003C\u002Fa>.\u003C\u002Fp>\n\u003C\u002Fdetails>\u003Cp>\u003Cstrong>Languages:\u003C\u002Fstrong> Rust · C++ · Objective-C\u002FC++ · C · Metal · CUDA · Python · Go · Swift · TypeScript ·\nJavaScript · Java · Ruby · PHP · Lua · Elixir · Dart · Bash · C# · JSON · TOML · YAML · Markdown — see\n\u003Ca href=\"#languages\" rel=\"nofollow ugc noopener\">language support and limits\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp align=\"center\">\u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fredhat-et\u002Fripwire\u002FHEAD\u002Fdocs\u002Fassets\u002Fno-deps.svg\" alt=\"No API key. No embeddings. No index server. No daemon.\" width=\"470\" \u002F>\u003C\u002Fp>\u003Cdetails>\n\u003Csummary>\u003Cb>One process, no server\u003C\u002Fb> — indexes this repository in \u003Cb>0.25 s\u003C\u002Fb> using \u003Cb>6.6 MB\u003C\u002Fb>, against \u003Cb>46.8 s\u003C\u002Fb> and \u003Cb>391 MB\u003C\u002Fb> for the graph-database MCP server it was measured against; warm queries answer in \u003Cb>197 ms\u003C\u002Fb> to its \u003Cb>1,082 ms\u003C\u002Fb>\u003C\u002Fsummary>\u003Cp>Measured on 48 matched questions across django, webpack and this repository. Across all three,\nripwire indexes in \u003Cstrong>0.25–0.45 s\u003C\u002Fstrong> and \u003Cstrong>6.6–16.5 MB\u003C\u002Fstrong> against that\u003C\u002Fp>\n\u003C\u002Fdetails>",1789121865009]