{"id":6840,"date":"2026-07-10T03:32:34","date_gmt":"2026-07-09T20:32:34","guid":{"rendered":"https:\/\/daiilynews.cu.ma\/?p=6840"},"modified":"2026-07-10T03:32:34","modified_gmt":"2026-07-09T20:32:34","slug":"every-repo-is-a-world-model","status":"publish","type":"post","link":"https:\/\/daiilynews.cu.ma\/?p=6840","title":{"rendered":"Every Repo Is a World Model"},"content":{"rendered":"<p> <br \/>\n<br \/>\n                Part 1 \u2014 Mining lifecycle patterns from git history<\/p>\n<p>\u26a1 TLDRWhat: A CLI tool (hermes-harness) that mines git history for recurring failure\/fix patterns and makes them searchable across repos. &#8220;Has this failure happened before?&#8221; \u2192 answer in milliseconds.<\/p>\n<p>How: Reads full git history \u2192 extracts reverts, file coupling, topic clusters \u2192 compresses each pattern into a 128-dim vector \u2192 cosine similarity search. No AI at query time.<\/p>\n<p>Who it&#8217;s for: Tech leads and platform engineers managing 3+ repos who&#8217;ve said &#8220;we fixed this last quarter&#8221; and couldn&#8217;t find the ticket.<\/p>\n<p>Try it: npm install -g hermes-harness &#038;&#038; hermes-harness seed-query &#8220;your error&#8221;<\/p>\n<p>Contribute: github.com\/vystartasv\/hermes-harness<\/p>\n<p>  The narrow band this fits into<\/p>\n<p>This tool is useful in exactly one scenario: you have multiple repos that share failure patterns, and you can&#8217;t keep track of them in your head.<\/p>\n<p>That&#8217;s it. If you&#8217;re a solo dev with one repo, your memory is enough. If you never revisit old tickets, the hints are noise. If every bug is novel with no precedent, you won&#8217;t find matches.<\/p>\n<p>The shape of a team that needs this:<\/p>\n<p>3+ repos in active development (different stacks, same org)<\/p>\n<p>Recurring failure classes \u2014 auth timeouts, dependency conflicts, CI flakiness, config drift<\/p>\n<p>Tribal knowledge problem \u2014 the person who fixed it last time has moved on or forgotten<\/p>\n<p>Ticket boards with resolved items nobody reads<\/p>\n<p>The tool doesn&#8217;t predict novel failures. It connects the dots between the ones you&#8217;ve already seen and fixed.<\/p>\n<p>A few years ago, Yann LeCun published A Path Towards Autonomous Machine Intelligence. The core idea: an intelligent system doesn&#8217;t need to model every pixel of the world. It needs a world model \u2014 a compressed representation that predicts what happens next and flags what&#8217;s surprising.<\/p>\n<p>Most people read that paper and thought about self-driving cars.<\/p>\n<p>I read it and thought about git log.<\/p>\n<p>  The problem<\/p>\n<p>Every project I&#8217;ve worked on has the same memory problem. You fix a bug, close the ticket, move on. Three months later, the same class of failure hits a different repo \u2014 different stack, different team, same root cause. Nobody connects them because nobody searches across repos for lifecycle patterns.<\/p>\n<p>We have code search (Sourcegraph, GitHub Code Search). We have error tracking (Sentry, Datadog). We have observability (Grafana, Honeycomb).<\/p>\n<p>We don&#8217;t have history search \u2014 the ability to ask &#8220;has this failure pattern happened before?&#8221; and get answers from every repo, every ticket, every commit across your entire organization.<\/p>\n<p>  The JEPA insight<\/p>\n<p>LeCun&#8217;s Joint Embedding Predictive Architecture compresses high-dimensional observations into a latent space where prediction happens. Pattern \u2192 vector. Predict in vector space. Flag when prediction doesn&#8217;t match reality.<\/p>\n<p>A git repository isn&#8217;t code. It&#8217;s a history of state changes \u2014 commits, reverts, file co-changes, ticket reopens. Every revert is &#8220;we tried X and it didn&#8217;t work.&#8221; Every reopened ticket is &#8220;the first fix was incomplete.&#8221; Every pair of files that always change together is &#8220;these are coupled.&#8221;<\/p>\n<p>That&#8217;s a world model. It&#8217;s already there. It just needs to be compressed and made searchable.<\/p>\n<p>  What I built<\/p>\n<p>hermes-harness mines git history for lifecycle patterns and compresses them into a searchable world model.<\/p>\n<p>npm install -g hermes-harness<\/p>\n<p># Query across 11 pre-indexed public OSS repos<br \/>\nhermes-harness seed-query &#8220;dependency version conflict&#8221;<br \/>\n# \u2192 48% match: &#8220;Playwright version roll&#8221; (playwright-go)<br \/>\n# \u2192 28% match: &#8220;dependency bumps and fixes&#8221; (chatbot-ui)<\/p>\n<p># Mine your own repos<br \/>\nhermes-harness mine-git<\/p>\n<p>    Enter fullscreen mode<\/p>\n<p>    Exit fullscreen mode<\/p>\n<p>The extraction pipeline:<\/p>\n<p>Read full git history \u2014 subjects, bodies, files, parents, dates<\/p>\n<p>Extract \u2014 revert chains (pure signal: &#8220;we tried this and it didn&#8217;t work&#8221;), file coupling (latent architecture), topic clusters<\/p>\n<p>Compress \u2014 each pattern becomes a 128-dim word-count vector (no GPU, no API, pure arithmetic)<\/p>\n<p>Query \u2014 cosine similarity across all vectors, results in milliseconds<\/p>\n<p>No AI at query time. Once trained, the entire model fits in 200KB and runs on a $5 VPS.<\/p>\n<p>  The seed<\/p>\n<p>I ran it against 11 public repos: LangChain, Next.js, Svelte, Vite, Supabase, n8n, Biome, and others. 21 patterns surfaced from ~2,200 commits.<\/p>\n<p>The seed is sparse. That&#8217;s the point. It&#8217;s a demonstration that the mechanism works \u2014 not a finished product. The model needs data.<\/p>\n<p>  Credit where it&#8217;s due<\/p>\n<p>The conceptual foundation comes from Yann LeCun&#8217;s work on world models and the JEPA architecture:<\/p>\n<p>The implementation is trivial by comparison. I just replaced neural embeddings with word-count vectors and pixels with git commits. The insight isn&#8217;t the code \u2014 it&#8217;s that every repo already contains a world model. The code just extracts it.<\/p>\n<p>  How you can help<\/p>\n<p>The world model gets better every time someone runs the harvester against a repo they care about. If this concept fits your narrow band:<\/p>\n<p>Clone your favorite OSS repo and run hermes-harness seed-harvest<\/p>\n<p>Export the patterns with hermes-harness seed-export and open a PR<\/p>\n<p>Mine your own repos \u2014 private, local, no data leaves your machine<\/p>\n<p>Write a new miner \u2014 Slack channels, calendar events, browser history \u2014 the same pattern applies to any system with state changes and repetition<\/p>\n<p>The architecture is designed for contribution: one JSON file per world, a shared vocabulary, cross-repo search that doesn&#8217;t care where the patterns came from.<\/p>\n<p>  What&#8217;s next (the series)<\/p>\n<p>This is Part 1 of a series on world models built from everyday data:<\/p>\n<p>Part 2: Mining ticket boards for lifecycle patterns (reopens, incomplete fixes, root causes)<\/p>\n<p>Part 3: Cross-repo querying \u2014 when a pattern in LangChain helps debug a Supabase issue<\/p>\n<p>Part 4: Beyond code \u2014 calendars, Slack channels, browser history as world models<\/p>\n<p>Package: npm i -g hermes-harnessCode: github.com\/vystartasv\/hermes-harnessContributing: CONTRIBUTING.md<\/p>\n<p><br \/>\n<br \/><a href=\"https:\/\/dev.to\/vystartasv\/every-repo-is-a-world-model-97c\">Source link <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Part 1 \u2014 Mining lifecycle patterns from git history \u26a1 TLDRWhat: A CLI tool (hermes-harness) that mines git history for recurring failure\/fix patterns and makes them searchable across repos. &#8220;Has this failure happened before?&#8221; \u2192 answer in milliseconds. How: Reads full git history \u2192 extracts reverts, file coupling, topic clusters \u2192 compresses each pattern into [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":6841,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[676],"tags":[835,761,765,762,1584,763,2400,764,937,760],"class_list":["post-6840","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech-ai","tag-ai","tag-coding","tag-community","tag-development","tag-devtools","tag-engineering","tag-git","tag-inclusive","tag-opensource","tag-software"],"_links":{"self":[{"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/posts\/6840","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6840"}],"version-history":[{"count":0,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/posts\/6840\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=\/wp\/v2\/media\/6841"}],"wp:attachment":[{"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6840"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6840"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/daiilynews.cu.ma\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6840"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}