{
    "version": "https://jsonfeed.org/version/1",
    "title": "TeaRAGs Blog",
    "home_page_url": "https://artk0de.github.io/TeaRAGs-MCP/blog",
    "description": "Engineering notes on trajectory-enriched code retrieval",
    "items": [
        {
            "id": "https://artk0de.github.io/TeaRAGs-MCP/blog/why-this-blog-exists",
            "content_html": "<p>The <a class=\"\" href=\"https://artk0de.github.io/TeaRAGs-MCP/changelog\">changelog</a> tells you what shipped. It does not tell you why a\nranking signal was added, which three hypotheses died before the fourth one\nheld, or what the numbers looked like before and after. That is what this blog\nis for.</p>\n<h2 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"what-goes-here\">What goes here<a href=\"https://artk0de.github.io/TeaRAGs-MCP/blog/why-this-blog-exists#what-goes-here\" class=\"hash-link\" aria-label=\"Direct link to What goes here\" title=\"Direct link to What goes here\" translate=\"no\">​</a></h2>\n<p>TeaRAGs is an MCP server for code search that enriches every retrieved chunk\nwith git history — authorship, churn, bug-fix rate, ownership — so an agent\nranks stable, owned code above whatever merely looks similar. Most of the\ninteresting work behind that sentence is invisible in a release note:</p>\n<ul>\n<li class=\"\"><strong>Retrieval</strong> — why a rerank preset weights the signals it does, and what\nhappens to result quality when the weights are wrong.</li>\n<li class=\"\"><strong>Codegraph</strong> — symbol resolution against real corpora, where the resolver\nchain gives up, and what the residual gap actually consists of.</li>\n<li class=\"\"><strong>Performance</strong> — indexing throughput, profiling runs, measured wins and the\noptimizations that turned out to be noise.</li>\n<li class=\"\"><strong>Agents</strong> — how a coding agent consumes this data, and where the tooling\nstill hands it the wrong thing.</li>\n</ul>\n<p>Posts here are measurement-first. A claim about ranking or throughput arrives\nwith the corpus it was measured on and the number it moved.</p>\n<h2 class=\"anchor anchorTargetStickyNavbar_Vzrq\" id=\"where-the-rest-lives\">Where the rest lives<a href=\"https://artk0de.github.io/TeaRAGs-MCP/blog/why-this-blog-exists#where-the-rest-lives\" class=\"hash-link\" aria-label=\"Direct link to Where the rest lives\" title=\"Direct link to Where the rest lives\" translate=\"no\">​</a></h2>\n<ul>\n<li class=\"\"><a class=\"\" href=\"https://artk0de.github.io/TeaRAGs-MCP/\">Documentation</a> — installation, tools, configuration, architecture.</li>\n<li class=\"\"><a class=\"\" href=\"https://artk0de.github.io/TeaRAGs-MCP/changelog\">Changelog</a> — every released version, generated from commits.</li>\n<li class=\"\"><a href=\"https://github.com/artk0de/TeaRAGs-MCP\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">GitHub</a> — source, issues, releases.</li>\n</ul>\n<p>The blog has an <a href=\"https://artk0de.github.io/TeaRAGs-MCP/blog/rss.xml\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">RSS feed</a>\nand an <a href=\"https://artk0de.github.io/TeaRAGs-MCP/blog/atom.xml\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"\">Atom feed</a> if you\nwould rather not check back.</p>",
            "url": "https://artk0de.github.io/TeaRAGs-MCP/blog/why-this-blog-exists",
            "title": "Why this blog exists",
            "summary": "The changelog tells you what shipped. It does not tell you why a",
            "date_modified": "2026-08-19T00:00:00.000Z",
            "author": {
                "name": "artk0de",
                "url": "https://github.com/artk0de"
            },
            "tags": [
                "Retrieval",
                "Agents"
            ]
        }
    ]
}