<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog ng Maguyva</title><description>Mga technical deep-dive sa MCP code intelligence, AI agent architecture, at mga aral mula sa pagbuo ng multi-language code search platform.</description><link>https://maguyva.ai/fil/blog</link><language>fil</language><atom:link href="https://maguyva.ai/fil/rss.xml" rel="self" type="application/rss+xml"/><item><title>Konteksto na sumasama sa iyo</title><link>https://maguyva.ai/fil/blog/context-that-travels</link><guid isPermaLink="true">https://maguyva.ai/fil/blog/context-that-travels</guid><description>Napakahusay ng indexer ng Cursor sa loob ng Cursor. Ang Maguyva ay isang hosted MCP map na maaaring itanong ng parehong agent mula sa ibang editor, CLI, o CI.</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Napakahusay ng indexer ng Cursor sa loob ng Cursor. Ang tab completion, inline editing, chat, at ang agent sa loob ng window na iyon ay umaasa na sa project index na pinapatakbo ng Cursor para sa nakabukas na workspace. Kung ang Cursor lang ang tanging surface kung saan ka nagsusulat, at natatagpuan na ng index na iyon ang tamang mga file, manatili doon. Iyon ay isang tapat na kaso ng ‘manatili kung saan ka na’, at karapat-dapat itong maging unang pangungusap ng pahinang ito.&lt;/p&gt;
&lt;p&gt;Ang artikulong ito ay tungkol sa kabilang kalahati ng karaniwang linggo. Ang parehong repository ay bukas din sa Claude Code, tinatanong mula sa Codex CLI, sinusuri sa ikalawang makina, o tinatanong ng isang agent na tumatakbo sa CI. Ang tanong ay hindi ‘aling indexer ang mas mahusay’. Ang tanong ay kung ang map na pinagkakatiwalaan ng agent sa isang window ay iyon ding map na pinagkakatiwalaan nito sa susunod na window.&lt;/p&gt;
&lt;p&gt;Ang Maguyva ang mapang sumasama sa iyo. Ito ay isang remote MCP codebase context layer. Tinatanong ito ng agent sa parehong paraan na tinatanong nito ang alinmang MCP tool. Ang mga resulta ay bumabalik bilang mga cited path na may line number. Ang Cursor ay nananatiling editor. Ang konteksto ang gumagalaw.&lt;/p&gt;
&lt;h2 id=&quot;para-saan-ang-indexer-ng-cursor&quot;&gt;Para saan ang indexer ng Cursor&lt;/h2&gt;
&lt;p&gt;Umiiral ang built-in na indexing ng Cursor para maipuwedeng kunin ng chat, agent, at search sa loob ng editor ang kaugnay na code sa halip na umasa lamang sa kung ano ang kasya sa raw context window ng modelo. Iyon ang tamang disenyo para sa isang IDE. Ang index na ito ay native sa Cursor. Hindi ito MCP server at hindi ito ma-access ng ibang client.&lt;/p&gt;
&lt;p&gt;Ganito ito gumagana, ayon sa inilarawan sa pampublikong dokumentasyon ng Cursor at sa mga paliwanag ng Cursor mismo sa oras ng pagsulat nito: ang pangunahing search path ay hindi na cloud embedding index. Sinabi ng Cursor team sa kanilang community forum na ang dedikadong semantic/embedding-based search ay pinapababa ang gamit pabor sa grep-based retrieval, dahil sapat na ang kasalukuyang mga modelo para maeksplora ang buhay na tree sa kanilang sarili. Sa halip mayroong Instant Grep, isang local search index na binuo mula sa n-grams, inverted lists, at Bloom filters, na naka-imbak sa memory-mapped lookup tables, para maresolba ang mga query sa mismong makina ng developer sa halip na sa server.&lt;/p&gt;
&lt;p&gt;Ang index mismo ay naninirahan sa sariling &lt;code&gt;.git/cursor/&lt;/code&gt; directory ng repository, naka-anchor sa isang partikular na git commit; ang mga pagbabago mula noong commit na iyon ay naka-layer sa ibabaw nito sa halip na magdulot ng bagong scan, at ang index ay muling bubuuin lamang kapag lubos na lumihis ang local na estado mula sa kung ano ang binuo nito. Dahil naninirahan ito sa loob ng &lt;code&gt;.git&lt;/code&gt;, hindi ito kailanman naitrack at hindi kailanman naipush — burahin ang folder na iyon, at mawawala ang index. Ginagalang ang &lt;code&gt;.gitignore&lt;/code&gt; sa pagbuo nito, dahil ang natrack na content lamang ang kwalipikado, at ang &lt;code&gt;.cursorignore&lt;/code&gt; ay ipinapatupad sa read path. Wala nang server-side embedding step o remote vector database sa path na iyon. Inilarawan ng mas lumang dokumentasyon ang cloud-assisted na disenyo — chunk encryption, syncing sa pamamagitan ng Merkle trees, pag-reuse ng index sa pagitan ng mga miyembro ng team — at sinabi na mismo ng Cursor team simula noon na ang disenyong iyon ay pinapababa ang gamit, kaya’t hindi na ito inilalarawan ng artikulong ito bilang kasalukuyan.&lt;/p&gt;
&lt;p&gt;Ang namumukod-tangi sa loob ng editor ay ang Explore subagent ng Cursor. Maaari itong maglunsad ng maramihang parallel search sa sarili nitong context window sa isang mas mabilis na modelo, at ibalik lamang ang mga nauugnay na natuklasan, para hindi bumigat ang pangunahing usapan ng mga resulta ng search. Iyon ay isang tunay na lakas sa loob ng editor. Panatilihin ito.&lt;/p&gt;
&lt;p&gt;Suportado ang multi-root workspaces: ang konteksto ng bawat nakabukas na folder ay available sa Agent. Ang ilang git-dependent na feature, tulad ng worktrees, ay hindi pinagagana sa multi-root setups, at hindi sumusuporta ang Cloud Agents sa multi-root workspaces nang buo.&lt;/p&gt;
&lt;p&gt;Walang alinman dito ang dahilan para iwanan ang Cursor. Ito ay tumpak na paglalarawan ng isang napakagandang mapa sa lugar na tinitirhan nito.&lt;/p&gt;
&lt;h2 id=&quot;ano-talaga-ang-ibig-sabihin-ng-sumasama-sa-iyo&quot;&gt;Ano talaga ang ibig sabihin ng ‘sumasama sa iyo’&lt;/h2&gt;
&lt;p&gt;Sumasama ang mapa sa iyo kapag ang parehong tanong ay nagbabalik ng parehong uri ng sagot, na may mga cited na maaari mong buksan, mula sa higit sa isang client.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sa Cursor: ‘Saan tinukoy ang &lt;code&gt;parseConfig&lt;/code&gt;, at sino ang tumatawag dito?’&lt;/li&gt;
&lt;li&gt;Sa Claude Code, sa parehong repo: parehong tanong.&lt;/li&gt;
&lt;li&gt;Sa Codex CLI, sa isang review machine na hindi kailanman nagbukas ng Cursor window: parehong tanong.&lt;/li&gt;
&lt;li&gt;Sa isang CI agent na nakikipag-usap sa MCP: parehong tanong, laban sa parehong hosted snapshot.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Kung ang bawat surface ay bumubuo ng sarili nitong pribadong index, hindi ka nagkakaroon ng isang mapa. Mayroon kang maraming cache na lumilihis sa isa’t isa. Ang index ng editor ay maaaring pinaka-updated para sa tree na nasa disk. Ang CLI session ay maaaring isang araw na huli. Ang CI job ay maaaring makakita ng ibang checkout. At ang agent ay mananatiling magiging kumpiyansa pa rin ang tunog.&lt;/p&gt;
&lt;p&gt;Hindi dinisenyo ang indexer ng Cursor para lutasin iyan. Dahil naninirahan ito sa loob ng editor, ang konteksto na binuo nito ay para sa editor na iyon. Ang mga reader na nangangailangan din ng CLI, CI pipeline, o ibang editor ay nangangailangan ng hiwalay na tool para sa mga surface na iyon. Iyan ay katotohanan tungkol sa saklaw, hindi kapintasan. Ang Maguyva ang hiwalay na tool na iyon.&lt;/p&gt;
&lt;p&gt;Ang bilang ng mga wikang na-publish para sa indexer ng Cursor ay hindi nakasaad sa napagagamit na content ng artikulong ito. Ang Maguyva ay nag-publish ng suporta para sa mahigit 279 wika at teknolohiyang text-based. Hindi rin inuulit dito ang presyo ng Cursor; tingnan ang kanilang pricing page. Ang Maguyva ay singil bawat workspace, hindi bawat seat, na may mga na-publish na plano sa $0, $19, $49, at $149 depende sa naka-index na coverage at laki ng workspace.&lt;/p&gt;
&lt;h2 id=&quot;isang-hosted-map-bawat-mcp-client&quot;&gt;Isang hosted map, bawat MCP client&lt;/h2&gt;
&lt;p&gt;Ang Maguyva ay isang remote MCP server. Ikonekta mo ang GitHub, pumili ng repository, at bubuo ang cloud pipeline ng mga symbol, graph edge, at cited map. Magdadagdag ka ng API key sa MCP config ng client na ginagamit mo na. May mga setup guide ang Maguyva para sa 24 dokumentadong MCP client — kasama ang Cursor — at maaari itong makipag-usap sa alinmang ibang MCP-compatible client na sumusuporta sa standard na configuration.&lt;/p&gt;
&lt;p&gt;Ang &lt;a href=&quot;https://maguyva.ai/fil/for-cursor&quot;&gt;pahina ng setup ng Cursor&lt;/a&gt; ang editor-specific na daan kung doon ka nagtatrabaho. Ang parehong server ay sumasagot sa Claude Code, VS Code, Windsurf, Codex CLI, at iba pa. Hindi ka nagpapalit ng editor. Binibigyan mo ang bawat agent ng parehong tool surface: 11 customer-facing MCP tool sa search, symbol, dependency analysis, file retrieval, repository context, at deterministic utility-tool workflow. Ang semantic, structural, graph, at text search ay nagsasama sa isang ranked na resulta.&lt;/p&gt;
&lt;p&gt;Iyan ang benepisyo ng portability. Ang cited na sinusuri mo sa Cursor ngayong umaga ay may parehong hugis ng ibabalik ng Codex CLI mamayang gabi. File path at line number. Buksan ito. Kung mali, makikita mo. Kung tama, mayroong lugar na madadapuan ang susunod na pagbabago. Ang inaangkin ay mas kaunting hallucinated na pagbabago, hindi pangako na tama ang bawat pagbabago.&lt;/p&gt;
&lt;p&gt;Na-publish ang freshness. May timestamp ang mga snapshot, para malaman ng agent kung aling bersyon ng tree ang binabasa nito. Ang rebuild rate ay araw-araw sa libreng plano at bawat oras sa mga bayad na plano. Ang tapat na limitasyon ay ang unsynced na local work: ang mga pagbabagong umiiral lamang sa working tree ay wala pa sa hosted map. Ang limitasyong ito ay independiyente sa client na ginagamit mo para magtanong, at iyan ang tunay na punto. Ang drift sa pagitan ng mga client ay hindi na pangalawang nakatagong limitasyon.&lt;/p&gt;
&lt;p&gt;Ibinibigay ng &lt;a href=&quot;https://maguyva.ai/fil/docs&quot;&gt;dokumentasyon&lt;/a&gt; ang parehong activation loop para sa bawat client: i-index ang isang repo na kilala mo na, ikonekta ang client, magtanong ng isang tanong na kaya mong ma-verify. Gawin iyon nang isang beses sa Cursor. Gawin itong muli mula sa CLI na tunay mong ginagamit sa araw ng review. Kung parehong sagot ay sumipi sa parehong handler, tunay na sumama sa iyo ang mapa.&lt;/p&gt;
&lt;h2 id=&quot;paano-magkasama-ang-dalawang-mapa&quot;&gt;Paano magkasama ang dalawang mapa&lt;/h2&gt;
&lt;p&gt;Gamitin ang pareho. Hindi ito alternatibo sa kahulugan ng comparison page.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Panatilihing naka-on ang indexer ng Cursor para sa proyektong nasa disk. Hayaang gamitin ito ng Explore, Instant Grep, at ang agent sa loob ng editor. Ang loop na iyon ay native at mabilis.&lt;/li&gt;
&lt;li&gt;Idagdag ang Maguyva bilang MCP server sa Cursor para ang parehong session ay maaari ring magtanong sa hosted workspace map. Ang Cursor ay isang dokumentadong Maguyva client. Hindi ka pumipili ng isang index at binuburahin ang iba.&lt;/li&gt;
&lt;li&gt;Idagdag ang parehong Maguyva server sa Claude Code, Codex CLI, o alinmang ibang MCP client na humihipo sa repo. Isang porma ng API key. Isang workspace.&lt;/li&gt;
&lt;li&gt;Kung MCP-compatible ang CI agent, ituro ito sa parehong server. Babasahin nito ang parehong may-timestamp na snapshot na binabasa ng laptop.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Nananatiling pinakamahusay na tool ang index ng editor para sa ‘ano ang nasa disk sa window na ito, ngayon’. Ang hosted map ang pinakamahusay na tool para sa ‘ano ang hitsura ng workspace na ito para sa bawat agent na hihipo dito ngayon’. Hindi nagkakaagawan ang mga pangungusap na iyon.&lt;/p&gt;
&lt;p&gt;Na-publish ang workspace quota sa &lt;a href=&quot;https://maguyva.ai/fil/pricing&quot;&gt;pricing page&lt;/a&gt;: repo, naka-index na linya, at user, sinisingil bawat workspace. Nagbabahagi ang mga agent at tao ng parehong bilang ng user. Magsimula nang libre gamit ang repo na kaya mo nang husgahan. I-upgrade ang workspace lamang matapos manatili ang mga cited sa paglapat sa tree na iyon.&lt;/p&gt;
&lt;h2 id=&quot;ano-ang-hindi-inaangkin-ng-pahinang-ito&quot;&gt;Ano ang hindi inaangkin ng pahinang ito&lt;/h2&gt;
&lt;p&gt;Hindi nito inaangkin na mahina, hindi kumpleto, o dahilan para magpalit ng editor ang indexer ng Cursor. Sinasabi ng unang pangungusap ng artikulong ito ang kabaligtaran.&lt;/p&gt;
&lt;p&gt;Hindi nito inaangkin na pinapalitan ng Maguyva ang Instant Grep o ang Explore subagent. Mga feature iyon ng Cursor. Nananatili ito sa Cursor.&lt;/p&gt;
&lt;p&gt;Hindi ito gumagawa-gawa ng bilang ng wika, numero ng latency, o pagtitipid sa token para sa alinmang produkto. Ang mga hindi alam na numero ay nananatiling hindi na-publish.&lt;/p&gt;
&lt;p&gt;Hindi ito nagpapanggap na ang unpushed na local work ay nasa hosted map. Ginagawang nakikita ng may-timestamp na snapshot ang limitasyong iyon. Hindi nito ito inaalis.&lt;/p&gt;
&lt;p&gt;Simple ang pagsubok. I-index ang isang repo na kilala mo na. Magtanong ng isang tanong na kaya mong ma-verify, una sa Cursor at pagkatapos sa ikalawang MCP client. Ang konteksto na sumasama sa iyo ay ang parehong cited sa parehong lugar.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;// same map, wherever you opened it.&lt;/code&gt;&lt;/p&gt;
</content:encoded><category>Ecosystem</category><category>MCP</category><category>Portability</category></item><item><title>Mapa muna, review pagkatapos</title><link>https://maguyva.ai/fil/blog/map-first-review-second</link><guid isPermaLink="true">https://maguyva.ai/fil/blog/map-first-review-second</guid><description>I-ground ang coding agent mo sa repo map bago ito magsulat. Pagkatapos ay hayaang suriin ni Greptile ang pull request. Magkatuwang na pares, hindi kapalit.</description><pubDate>Mon, 07 Sep 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;May dalawang magkaibang gawain sa magkabilang panig ng pull request. Bago magsulat ang agent, kailangan nito ng mapa ng tree na papalitan nito. Matapos magbukas ng PR ang agent, kailangang may bumasa ng pagbabagong iyon laban sa natitirang sistema at mag-iwan ng komentong maaaring pagbatayan ng tao.&lt;/p&gt;
&lt;p&gt;Mukhang magkatulad ang mga gawaing ito mula sa malayo dahil pareho itong may kinalaman sa ‘pag-unawa sa codebase’. Hindi ito parehong produkto. Sinasagot ng isa ang ‘saan dapat dumapo ang pagbabagong ito?’. Sinasagot ng isa ang ‘ano ang sinisira ng diff na ito na makakaligtaan ng isang line-by-line na linter?’. Ang paghahalo sa dalawa ay nagbubunga ng mas masamang unang draft at mas maingay na review.&lt;/p&gt;
&lt;p&gt;Gabay ito sa paired workflow. Ang Maguyva ang mapang itinatanong ng agent muna. Si Greptile ang review agent na nagkokomento sa PR pagkatapos. Magkatuwang ang pares na ito ayon sa disenyo: hindi sinusuri ng Maguyva ang pull request, at hindi pinapalitan ni Greptile ang context layer na ginagamit ng agent para sulatin ito.&lt;/p&gt;
&lt;h2 id=&quot;bakit-kapaki-pakinabang-ang-paghahati-na-ito&quot;&gt;Bakit kapaki-pakinabang ang paghahati na ito&lt;/h2&gt;
&lt;p&gt;Ang coding agent na nagsisimula sa training bias kasama ang ilang na-paste na file ay gagawa-gawa ng isang plausible na path at ie-edit ito. Iyan ay isang pagkabigo sa ‘maling file’, at problema ito sa retrieval. Ang Maguyva ay isang remote MCP codebase context layer: ang semantic, structural (AST), graph/dependency, at text retrieval ay nagsasama sa isang ranked na resulta, kasama ang symbol search at file retrieval. Ang mga naka-ground na sagot ay bumabalik bilang &lt;code&gt;path/file.ext:line&lt;/code&gt;, para matanggihan mo ang pagkakamali bago magkaroon ng patch. Ang inaangkin ay sadyang katamtaman: mas kaunting hallucinated na pagbabago. Maaari pa ring maghula ang modelo. Hindi na lang tsismis ang unang hakbang.&lt;/p&gt;
&lt;p&gt;Si Greptile ay isang AI-powered code review agent. Sa kanilang sariling salita, awtomatiko nitong sinusuri ang bawat pull request nang may buong pag-unawa sa codebase, at pinopwesto ang sarili laban sa tradisyonal na mga linter na sumusuri ng mga file nang paisa-isa sa halip na buong sistema. Binubuo ang setup ng pag-install ng isang GitHub o GitLab app at pagpili ng repository. Walang local index na kailangan mong patakbuhin. Ang hosting ay sa Greptile Cloud (sinasabi nilang sumusunod sa SOC 2 Type II, na may report na available kapag hiniling), na may opsyong self-host na inaalok para sa mga enterprise.&lt;/p&gt;
&lt;p&gt;Ang kanilang sariling na-numerong daloy ay: kumonekta at bumuo ng dependency graph ng bawat function, class, at dependency; sa bawat pull request, suriin ang pagbabago gamit ang buong repo graph na iyon at i-publish ang mga natuklasan bilang komento sa PR na may mga mungkahing ayos, sa loob ng humigit-kumulang tatlong minuto; maaaring i-hand off ng bawat komento ang isyu sa coding agent na ginagamit na ng team. Sinasabi rin nilang binabasa nila ang nakaraang mga komento ng tao sa PR sa paglipas ng panahon para matutunan ang mga pamantayang code ng isang team at mabawasan ang mga maingay na mungkahi. Ang kanilang learning system, ayon sa kanila mismo, ay tumatagal ng 2-3 linggo para umangkop.&lt;/p&gt;
&lt;p&gt;Iyan ay review, hindi drafting. Ang lakas ni Greptile ay ang buong repo graph context laban sa pagbabagong dumapo na sa isang PR, sinusundan ng closed loop na nagpapadala ng mga natuklasan sa Claude Code, Codex, Conductor, Cursor, o Devin. Ang lakas ng Maguyva ay ang ranked na mapa na itinatanong ng agent bago sulatin ang pagbabago. Gamitin ang pareho. Huwag hilingin sa isa na gawin ang gawain ng iba.&lt;/p&gt;
&lt;p&gt;Walang nakasaad na first-party product integration sa pagitan ng Maguyva at Greptile. Hindi mo rin ito kailangan. Nakikipag-usap ang Maguyva sa mga agent sa pamamagitan ng MCP. Nakikipag-usap si Greptile sa GitHub o GitLab sa pamamagitan ng kanilang sariling app. Nagtatagpo sila sa pull request. Walang glue script, walang cron na nagpapakain ng isang tool sa isa pa. Hindi kailangan ng pares na ito ng bash dahil ang bawat produkto ay nasa surface na na sa kanila mismo.&lt;/p&gt;
&lt;h2 id=&quot;ano-ang-hindi-ito&quot;&gt;Ano ang hindi ito&lt;/h2&gt;
&lt;p&gt;Hindi ito paninira kay Greptile. Hindi ito ‘palitan ang reviewer mo’ na pahina. Naglunsad si Greptile sa Hacker News noong Marso 5, 2024 bilang isang Y Combinator W24 na kumpanya, at ang thread na iyon ang paraan ng maraming tao para unang makilala ang produktong ito. Kung ganoon mo sila natuklasan, magpatuloy sa paggamit sa kanila. Ang pahinang ito ang nawawalang ikalawang kalahati ng loop na iyon: ang pag-ground muna sa agent para ang PR na nakikita ni Greptile ay naka-target na sa tamang mga file.&lt;/p&gt;
&lt;p&gt;Ang marketing material ni Greptile ay nangungunahan ng mga claim sa bilis ng review at pagtuklas ng bug. Ituring iyan bilang sariling claim ni Greptile, hindi isang independiyenteng na-verify na numero. Hindi ito inuulit ng artikulong ito bilang katotohanan.&lt;/p&gt;
&lt;p&gt;Ang coverage sa wika ay parehong uri ng katapatan. Binabalangkas ni Greptile ang suporta bilang sumasaklaw sa lahat ng programming language sa halip na isang nakalistang listahan; hindi nakasaad ang eksaktong numero. Nag-publish ang Maguyva ng suporta para sa mahigit 279 wika at teknolohiyang text-based, na may teknikal na paghahati (AST na suportado ng parser laban sa text-only) sa website kapag teknikal ang tanong. Magkaibang produkto ito na gumagawa ng magkaibang claim. Huwag pagsamahin ang mga ito.&lt;/p&gt;
&lt;p&gt;Hindi nakasaad ang pricing ni Greptile sa napagagamit na content ng artikulong ito. May mga bayad na plano; tingnan ang kanilang pricing page. Ang Maguyva ay singil bawat workspace, hindi bawat seat. Ang mga plano ay nagsisimula nang libre. Inilista ng &lt;a href=&quot;https://maguyva.ai/fil/pricing&quot;&gt;pricing page&lt;/a&gt; ang mga na-publish na tier kung kailangan mo ng mga numero ng workspace.&lt;/p&gt;
&lt;h2 id=&quot;ang-workflow&quot;&gt;Ang workflow&lt;/h2&gt;
&lt;p&gt;Tatlong pinangalanang stage. Isagawa ang mga ito sa pagkakasunod-sunod na ito. Huwag laktawan ang alinman sa mga ito sa unang beses na susubukan mo ang pares na ito.&lt;/p&gt;
&lt;h3 id=&quot;1-konteksto-ng-maguyva&quot;&gt;1. Konteksto ng Maguyva&lt;/h3&gt;
&lt;p&gt;I-index ang isang repository na kilala mo na. Ikonekta ang MCP client kung saan ka na nagsusulat — Claude Code, Cursor, Codex CLI, VS Code, Windsurf, o ibang MCP-compatible na client. May mga setup guide ang Maguyva para sa 24 dokumentadong MCP client at maaari itong makipag-usap sa ibang mga client na sumusuporta sa standard na MCP configuration.&lt;/p&gt;
&lt;p&gt;Magtanong ng isang tanong na kaya mong husgahan bago magsulat ang sinuman ng isang linya. ‘Saan hinahawakan ang session expiry, at sino ang tumatawag dito?’ ay isang mas mahusay na unang hakbang kaysa ‘ayusin ang auth’. Humingi ng mga cited. Buksan ang &lt;code&gt;file.ext:line&lt;/code&gt; na resulta. Sundan ang symbol. I-verify ang mga dependency na gagalawin mo.&lt;/p&gt;
&lt;p&gt;Inilalantad ng Maguyva ang 11 customer-facing MCP tool sa search, symbol, dependency analysis, file retrieval, repository context, at deterministic utility-tool workflow. Ang apat na retrieval mode ay nagsasama sa isang ranked na resulta; ang &lt;code&gt;find_symbol&lt;/code&gt; ay hiwalay na tool kapag alam mo na ang pangalan. Inilalarawan ng &lt;a href=&quot;https://maguyva.ai/fil/docs&quot;&gt;dokumentasyon&lt;/a&gt; ang pinakamaikling daan: magsimula nang libre, i-index ang repo na kilala mo na, ikonekta ang client, pagkatapos ay magtanong ng isang tanong na kaya mong ma-verify.&lt;/p&gt;
&lt;p&gt;May timestamp ang mga snapshot, para masabi ng agent kung aling bersyon ng tree ang binabasa nito. Ang tapat na limitasyon ay ang unsynced na local work. Kung umiiral lamang ang pagbabago sa working tree at hindi pa naipush, wala pa ito sa hosted map. Ang mga instruction file (&lt;code&gt;CLAUDE.md&lt;/code&gt;, &lt;code&gt;AGENTS.md&lt;/code&gt;) ay mayroon pa ring lugar dito, para sa mga convention at kung ano ang hindi dapat galawin. Hindi ito buhay na mapa. Gamitin ito para sa asal. Gamitin ang Maguyva para sa mga katotohanan.&lt;/p&gt;
&lt;p&gt;Huwag hayaang magbukas ng PR ang agent bago manatili ang cited sa paglapat sa repo. Ang gate na iyon ang buong layunin ng stage na ito.&lt;/p&gt;
&lt;h3 id=&quot;2-pr-ng-agent&quot;&gt;2. PR ng agent&lt;/h3&gt;
&lt;p&gt;Sinusulat na ngayon ng parehong agent ang pagbabago sa client na binabayaran mo na. Ang Maguyva ay hindi editor ni reviewer man. Gumagawa pa rin ang agent ng diff. Nagbubukas ka pa rin ng pull request sa GitHub o GitLab gaya ng ginagawa mo na.&lt;/p&gt;
&lt;p&gt;Ang dapat na magkaiba ay ang unang file. Dapat pangalanan ng PR ang tunay na handler na nagpapatupad sa asal na iyon, ang mga tumatawag na masisira, at ang mga test na mabibigo kung mali ang pagbabago. Kung nalaktawan ang stage 1, sasayangin ng stage 3 ang komento nito sa isang pagbabagong dumapo sa maling package. Maaari pa ring matuklasan ni Greptile ang mga sistemikong isyu. Hindi dapat kailangan nitong mag-recover din mula sa hallucinated na path.&lt;/p&gt;
&lt;p&gt;Panatilihing maliit ang PR. Ang unang file na naka-ground ay hindi lisensya para muling isulat ang isang module. Gumagana ang magkatuwang na paring ito kapag isang gawain lang ang ginagawa ng agent gamit ang mapa, saka hinihiling sa reviewer na gawin ang ibang gawain sa isang limitadong diff.&lt;/p&gt;
&lt;h3 id=&quot;3-review-ni-greptile&quot;&gt;3. Review ni Greptile&lt;/h3&gt;
&lt;p&gt;Nakakonekta na si Greptile sa repository sa pamamagitan ng GitHub o GitLab app. Sa bagong pull request, sinusuri nito ang pagbabago gamit ang buong repo graph na binuo nito, at ipinapublish ang mga natuklasan bilang komento na may mga mungkahing ayos. Inilalagay ng kanilang sariling material ang hakbang na ito sa humigit-kumulang tatlong minuto.&lt;/p&gt;
&lt;p&gt;Basahin ang komento kung paano mo babasahin ang isang maingat na katrabaho: buksan ang cited na lokasyon, magpasya kung tama ang natuklasan, pagkatapos ay kumilos. Kung saan nag-aalok si Greptile ng ‘Fix with your Agent’, ipinapadala nito ang isyu — file path, line number, mungkahing code — sa Claude Code, Codex, Conductor, Cursor, o Devin. Ang ‘Fix All’ ay nagpapadala ng lahat ng isyu sa review na iyon nang sabay. Nagbibigay rin sila ng Greptile MCP at Claude Code plugin para sa hand-off na iyon. Wala sa nakalistang listahan ng target ang Maguyva; ang kawalang iyon ay hindi problema. Nagawa na ni Maguyva ang gawain nito sa stage 1. Ang coding agent na sumulat sa PR ang panig na dapat makatanggap ng fix payload.&lt;/p&gt;
&lt;p&gt;Asahan ang ingay sa unang 2-3 linggo habang umaangkop ang learning system ni Greptile sa mga komento na aktwal na iniiwan ng team mo. Iyan ang timeline na sinasabi nila, hindi kapintasan ng pares. Nananatili ang human review sa loop na iyon. Si Greptile ay isang awtomatikong unang hakbang, hindi merge button.&lt;/p&gt;
&lt;p&gt;Kung ang komento ni Greptile ay tumuturo sa isang file na hindi kailanman tinanong ng agent sa stage 1, iyan ay kapaki-pakinabang na signal. Alinman ay nakaligtaan ng mapa ang isang tumatawag, o nilaktawan ng agent ang isang cited. Ayusin ang draft ayon sa komento. Huwag i-disable ang reviewer.&lt;/p&gt;
&lt;h2 id=&quot;paano-panatilihing-tapat-ang-pagtutulungang-ito&quot;&gt;Paano panatilihing tapat ang pagtutulungang ito&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Maguyva palagi muna. Ang pagsusuri ng PR na may maling file ay pagsusuri pa rin ng maling file.&lt;/li&gt;
&lt;li&gt;Si Greptile palagi pagkatapos. Ang draft na mahusay na na-cite ay nangangailangan pa rin ng pagbasa ng diff sa antas ng buong sistema.&lt;/li&gt;
&lt;li&gt;Huwag hilingin sa Maguyva na mag-publish ng mga komento sa PR. Hindi nito ginagawa iyon.&lt;/li&gt;
&lt;li&gt;Huwag hilingin kay Greptile na maging unang retrieval layer ng agent habang pumipili pa ito ng path. Hindi iyon gawaing dinisenyo para sa GitHub o GitLab app nila.&lt;/li&gt;
&lt;li&gt;Huwag gumawa-gawa ng bash pipeline na ‘nagsi-sync’ sa dalawa. Ang PR ang interface na iyon.&lt;/li&gt;
&lt;li&gt;I-verify ang parehong panig nang hiwalay. I-index ang repo na kilala mo na. Magtanong ng isang tanong na kaya mong ma-verify. Pagkatapos ay magbukas ng maliit na PR at basahin kung ano talaga ang kinokomento ni Greptile.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Nagiging karaniwan ang loop na ito kapag napangalanan na. Mapa muna. PR ng agent. Review pagkatapos. Nananatili ang bawat produkto sa panig ng pull request kung saan sila dalubhasa.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;// map first. review second. in that order.&lt;/code&gt;&lt;/p&gt;
</content:encoded><category>Ecosystem</category><category>Workflow</category><category>Code Review</category></item><item><title>Pagbibigay sa AI coding agent ng konteksto ng malaking repo nang walang local indexer</title><link>https://maguyva.ai/fil/blog/large-repo-context-without-a-local-indexer</link><guid isPermaLink="true">https://maguyva.ai/fil/blog/large-repo-context-without-a-local-indexer</guid><description>Paano bigyan ang coding agent ng mapa ng malaking repository na maaaring itanong mula sa cloud, nang hindi nagpapatakbo ng local indexer sa iyong laptop.</description><pubDate>Fri, 14 Aug 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Hindi kasya sa context window ang malalaking repository, at kung ituro mo na ang isang laptop-based na indexer sa isang tunay na monorepo, alam mong hindi rin ito kasya nang komportable doon — tumataas ang RAM, umaabot ng isang oras ang unang pag-index, at nagsisimula pa rin ang agent mo ng susunod na session sa pamamagitan ng pag-hula kung aling mga file ang mahalaga.&lt;/p&gt;
&lt;p&gt;Ang karaniwang sagot ay magpatakbo ng indexer sa tabi ng editor, at para sa isang repo na komportableng kasya sa isang makina, magandang sagot iyan. Kung mabilis nang nag-i-index ang monorepo mo sa Cursor at doon lamang kailangan mo ng mapa, wala nang idadagdag ang artikulong ito — laktawan na lang.&lt;/p&gt;
&lt;p&gt;Tungkol ang artikulong ito sa ibang kaso — kapag kailangan ng agent ng mapang maaaring i-cite ng isang malaking repo, at ayaw mong magpatakbo ng local indexer para makuha iyon.&lt;/p&gt;
&lt;h2 id=&quot;kailan-nagiging-maling-tool-ang-local-indexer&quot;&gt;Kailan nagiging maling tool ang local indexer&lt;/h2&gt;
&lt;p&gt;Ang local index ay ipinapalagay na naninirahan ang code sa parehong makina na nagtatanong dito, at sa sukat ng tunay na monorepo, humihigpit ang palagay na iyan kahit sa loob mismo ng isang editor. Ang repo ay simpleng mas malaki lang kaysa sa gusto mong panatilihing ‘mainit’ sa laptop: nagtatrabaho ka sa isang package habang ang saklaw ng epekto ay tatlong directory ang layo, at ang unang cold indexing ng isang two-million-line na tree ay hindi bagay na gustong daanan mo nang dalawang beses — makina mo man o sa isang CI runner na hindi pa kailanman nag-clone sa tree na iyon. O dapat kayang magtanong ng katrabaho sa parehong mapa gaya ng itinatanong mo, nang hindi hinihintay na hirapan ng sariling makina nila ang parehong index.&lt;/p&gt;
&lt;p&gt;Walang alinman dito ang dahilan para itapon ang isang mahusay na editor indexer. Ito ay dahilan para magkaroon din ng hosted map na maaaring itanong ng alinmang agent mo sa pamamagitan ng MCP.&lt;/p&gt;
&lt;p&gt;At ang problemang iyon sa sukat ay mas malalim kaysa sa ‘sobrang daming file para i-paste’. Sa isang malaking tree, ang kawili-wiling tanong ay halos hindi kailanman ‘ipakita mo sa akin ang file na ito’ — ito ay aling file, aling symbol, sino ang tumatawag, aling test. Ang agent na nagsisimula sa pag-list ng &lt;code&gt;src/&lt;/code&gt; at pagbasa ng unang tatlong resulta ay masayang makakaligtaan ang handler sa &lt;code&gt;apps/api&lt;/code&gt; at ang na-generate na client sa &lt;code&gt;packages/sdk&lt;/code&gt;. Ang kailangan mo ay retrieval na binuo mula sa buong tree, pagkatapos ay ranked, pagkatapos ay cited.&lt;/p&gt;
&lt;h2 id=&quot;ano-talaga-ang-ibig-sabihin-ng-konteksto-ng-malaking-repo&quot;&gt;Ano talaga ang ibig sabihin ng ‘konteksto ng malaking repo’&lt;/h2&gt;
&lt;p&gt;Hindi konteksto ang pagbuhos ng mga file sa prompt — ito ay isang mas maliit at mas masamang kopya ng tree. Ang tunay na kailangan ng agent mo ay ang magtanong at makakuha ng cited na sagot pabalik: saan tinukoy ang symbol na ito at sino ang tumatawag dito, ano ang umaasa sa module na papalitan ko, aling test file ang sumasaklaw sa asal na ito, at ano ang hitsura ng tree na iyon &lt;em&gt;ngayon&lt;/em&gt;, hindi noong nakaraang quarter.&lt;/p&gt;
&lt;p&gt;Dapat manggaling ang mga sagot na iyon sa isang index na binuo mula sa repo mo, hindi sa alaala ng modelo tungkol sa repo ng iba, at dapat naninirahan ang index na iyon sa isang lugar sa labas ng context window ng agent. Para sa problemang ito, dapat din itong naninirahan sa isang lugar sa labas ng iyong laptop.&lt;/p&gt;
&lt;p&gt;Isa pang bagay na hindi kayang gawin sa iyo ng mga instruction file: ang tamang lugar para sa mga convention at asal ay ang &lt;code&gt;CLAUDE.md&lt;/code&gt; at &lt;code&gt;AGENTS.md&lt;/code&gt;, ngunit hindi ito buhay, ranked, at itatanong na mapa ng two-million-line na tree. Gamitin ang mga panuntunan para sa asal; gamitin ang repo intelligence para sa mga katotohanan.&lt;/p&gt;
&lt;h2 id=&quot;binubuo-namin-ang-mapa-sa-cloud-itinatanong-mo-ito-mula-sa-alinmang-client&quot;&gt;Binubuo namin ang mapa sa cloud, itinatanong mo ito mula sa alinmang client&lt;/h2&gt;
&lt;p&gt;Ang Maguyva ay isang remote MCP codebase context layer. Ikonekta mo ang GitHub, piliin ang repo mo, at maaari kang lumakad palayo habang pinapa-parse ng cloud pipeline ang tree, binubuo ang mga symbol at graph edge, at pinapanatili ang ranked na mapa — hindi kailanman kailangan ng local indexer.&lt;/p&gt;
&lt;p&gt;Kapag nag-push ka ng code, ang mga nagbagong file ay incrementally pa-parse, at ang graph at ranking layer ay muling binubuo ayon sa iskedyul: araw-araw sa libreng plano, bawat oras sa mga bayad na plano. May timestamp ang bawat snapshot, para malaman ng agent mo kung aling bersyon ng tree ang binabasa nito. Ang tapat na limitasyon dito ay ang unsynced na local work — ang mga pagbabagong umiiral lamang sa working tree mo, hindi kailanman naipush, ay wala pa sa hosted map.&lt;/p&gt;
&lt;p&gt;Pagkatapos, ikonekta mo ang alinmang client na ginagamit mo na sa pamamagitan ng pagdadagdag ng API key sa MCP config nito. May mga setup guide para sa 24 dokumentadong MCP client, at maaari ring kumonekta ang alinmang ibang MCP-compatible client na sumusuporta sa standard na configuration. Kung Cursor ang tinitirhan mo, ang &lt;a href=&quot;https://maguyva.ai/fil/for-cursor&quot;&gt;Cursor page&lt;/a&gt; ang nagmamapa ng daanang iyon; ang parehong server ay sumasagot sa Claude Code, VS Code, Windsurf, Codex CLI, at iba pa.&lt;/p&gt;
&lt;p&gt;Hindi ka nagpapalit ng editor. Binibigyan mo ang agent mo ng tool surface — 11 MCP tool sa search, symbol, dependency analysis, file retrieval, at repository context — na may coverage na mahigit 279 wika at teknolohiyang text-based, na ibig sabihin ay higit pa sa akala mo para sa isang monorepo na matagal nang hindi na isang wika lamang.&lt;/p&gt;
&lt;p&gt;Bumabalik ang mga sagot na naka-ground, bilang mga file path na may line number. Ang semantic, structural, graph, at text search ay nagsasama sa isang ranked na resulta, para ang tanong tulad ng ‘ano ang umaasa sa parseConfig’ ay hindi lang nagbibigay sa iyo ng tambak ng grep o iisang semantic cited, kundi ang ilang lugar na tunay na mahalaga.&lt;/p&gt;
&lt;h2 id=&quot;isang-konkretong-gabay&quot;&gt;Isang konkretong gabay&lt;/h2&gt;
&lt;p&gt;Huwag simulan ang buong kumpanya. Ito ang daan na gumagana:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Pumili ng isang repository na kilala mo nang mabuti — ang isang package na kaya mong husgahan nang manu-mano ay mas mahalaga kaysa sa pinakamalaking tree na mayroon ka.&lt;/li&gt;
&lt;li&gt;Magsimula nang libre: 3 repo, 50 libong naka-index na linya, lahat ng 11 tool, walang buwanang query quota. Kung mas malaki ang kinatawang repo mo, inilista ng &lt;a href=&quot;https://maguyva.ai/fil/pricing&quot;&gt;pricing page&lt;/a&gt; ang mga workspace tier ($0, $19, $49, $149) ayon sa naka-index na coverage — hindi ayon sa bilang ng seat.&lt;/li&gt;
&lt;li&gt;Ikonekta ang GitHub at hintayin matapos ang unang pag-index. Hindi ka nag-co-compile ng anuman nang local.&lt;/li&gt;
&lt;li&gt;Ikonekta ang MCP client mo — ilang linya ng config. Ang Maguyva ay isang remote MCP server, kaya walang plugin, walang extension, at walang ikalawang editor na aampunin.&lt;/li&gt;
&lt;li&gt;Magtanong ng isang tanong na kaya mong ma-verify. ‘Ano ang umaasa sa parseConfig?’ o ‘Saan hinahawakan ang login session expiry?’ Pagkatapos buksan ang cited na resulta ng &lt;code&gt;file.ext:line&lt;/code&gt; at i-check laban sa tree na nasa harap mo.&lt;/li&gt;
&lt;li&gt;Pagkatapos lang na manatili ang cited sa paglapat sa tree na iyon, pahihintulutan mo ang agent na mag-edit.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Kung mahusay na kumasya ang unang repo at malaki ang tree mo, i-upgrade ang workspace para tumugma sa naka-index mong linya at rebuild rate. Nagbabahagi ang tao at agent ng parehong bilang ng user — ang Maguyva ay singil bawat workspace, hindi bawat seat — kaya ang pagdaragdag ng ikatlong agent sa loop ay hindi ka nagkakahalaga ng dagdag na anuman.&lt;/p&gt;
&lt;p&gt;Ang activation test ay pareho sa inirerekomenda ng &lt;a href=&quot;https://maguyva.ai/fil/docs&quot;&gt;dokumentasyon&lt;/a&gt; para sa alinmang unang pagpapatakbo: i-index ang repo na kilala mo na, magtanong ng isang tanong na kaya mong ma-verify. Hindi binabago ng malaking repo ang pagsubok na iyon; pinapamahal lang nito ang unang maling file.&lt;/p&gt;
&lt;h2 id=&quot;ano-ang-dapat-panoorin-matapos-kumonekta&quot;&gt;Ano ang dapat panoorin matapos kumonekta&lt;/h2&gt;
&lt;p&gt;Panoorin ang tatlong bagay. Freshness: nire-rebuild bawat oras ang mga bayad na plano, araw-araw ang libreng plano, at ang unpushed na local work ay hindi mapapasama sa mapa — iyan ang trade-off na tinatanggap mo. Saklaw: i-index ang isang kinatawang set ng mga repo, hindi bawat archived na fork; ang libreng tier ay sadyang ginawang maliit para malaman kung sulit itago ang mga sagot. At pag-verify: ang mapa ng malaking repo na hindi kayang mag-cite ng path at line number ay isang mas mabagal na guessing engine lamang, kaya patunayan ng agent mo ang mga lokasyon bago magpadala ng patch.&lt;/p&gt;
&lt;p&gt;Pagkatapos patakbuhin ang parehong pagsubok na papatakbuhin mo sa isang maliit na repo. I-index ang repo na kilala mo na. Magtanong ng isang tanong na kaya mong ma-verify. Kung tama ang mapa, hihinto ang agent mo sa pagsisimula mula sa isang malamig na tree.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;// no laptop got hot building this map.&lt;/code&gt;&lt;/p&gt;
</content:encoded><category>AI Agents</category><category>MCP</category><category>Indexing</category><category>Monorepos</category></item><item><title>Bakit nagha-hallucinate ng mga file path ang AI coding agent mo</title><link>https://maguyva.ai/fil/blog/why-ai-coding-agents-hallucinate-file-paths</link><guid isPermaLink="true">https://maguyva.ai/fil/blog/why-ai-coding-agents-hallucinate-file-paths</guid><description>Gumagawa-gawa ng mga file path ang AI coding agent kapag wala silang tunay na mapa ng repo. Ito ang dahilan kung bakit nangyayari ito, at kung paano nagreresulta ang naka-ground na mapa sa mas kaunting hallucinated na pagbabago.</description><pubDate>Fri, 14 Aug 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Hindi ang maling function body ang senyales. Ito ay isang kumpiyanteng pagbabago sa isang file na hindi umiiral, o sa isang file na umiiral ngunit hindi ang file na nagpapatupad sa asal na iyon.&lt;/p&gt;
&lt;p&gt;Hiningi mo ang pag-aayos ng session expiry. Binubuksan ng agent ang &lt;code&gt;src/auth/session.ts&lt;/code&gt;. Plausible ang path. Mali rin ito. Ang tunay na handler ay naninirahan sa &lt;code&gt;apps/api/src/middleware/expiry.ts&lt;/code&gt;, na binago ang pangalan dalawang refactor na ang nakalipas. Hindi nagsisinungaling sa iyo ang agent. Kinukumpleto nito ang isang path-shaped na string batay sa training bias kasama ang anumang nasa context window na.&lt;/p&gt;
&lt;p&gt;Ito ay karaniwang failure pattern sa mga tunay na repository. Kayang magsulat ng code ang modelo. Ang pagkakamali nito ay ang pagpili ng maling lugar para isulat ito.&lt;/p&gt;
&lt;h2 id=&quot;bakit-gumagawa-gawa-ng-path-ang-mga-agent&quot;&gt;Bakit gumagawa-gawa ng path ang mga agent&lt;/h2&gt;
&lt;p&gt;Ang mga coding agent ay mga next-token prediction model na may sangkap na mga tool. Kapag sinabi mong ‘ayusin ang session expiry’, kailangan nitong pangalanan ang isang file bago ito makabasa o makapag-patch ng anuman. Kung wala pa itong naka-ground na mapa, bumubuo ito ng path mula sa:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Naming convention na nakita nito sa ibang repository. Ang &lt;code&gt;src/auth/session.ts&lt;/code&gt; ay isang karaniwang anyo.&lt;/li&gt;
&lt;li&gt;Mga file na nasa usapan na, na maaaring iyong file na na-paste mo noong nakaraang linggo, hindi ang mahalaga ngayon.&lt;/li&gt;
&lt;li&gt;Directory listing na natakbo nito nang aksidente, hindi kumpleto sa isang malaking tree.&lt;/li&gt;
&lt;li&gt;Instruction file. Sinasabi ng &lt;code&gt;CLAUDE.md&lt;/code&gt; at &lt;code&gt;AGENTS.md&lt;/code&gt; sa agent kung paano kumilos. Hindi ito buhay na index ng mga symbol, tumatawag, o kasalukuyang path.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Wala sa mga pinagmulang ito ang mapa ng repo na ito, ngayon. Pinupunan ng modelo ang puwang sa parehong paraan na pinupunan nito ang alinmang puwang: gamit ang high-probability na continuation. Madalas mukhang tunay na path ang continuation na iyon. Minsan umiiral ang file at nasa tamang neighborhood ito. Minsan umiiral ito sa isang branch na na-merge noong nakaraang buwan. Minsan hindi ito kailanman umiral.&lt;/p&gt;
&lt;p&gt;Hindi ka mase-save ng grep dito kung hindi man naghanap ang agent ng tamang string mula sa simula. Nagha-hula ang agent ng path, saka binabasa kung ano ang ibinabalik ng path na iyon, saka ie-edit ito. Ang unang maling hakbang ay ang path, hindi ang patch.&lt;/p&gt;
&lt;p&gt;Hindi rin pareho ang pagbasa ng mga file sa paghahanap ng tama. Maaaring buksan ng Claude Code, Cursor, Codex, at kahalintulad na tool ang anumang itinuro mo dito. Ang tanong ay kung maaasahan nila mahanap ang tamang file, ang mahalagang symbol, mga dependency, test, at saklaw ng epekto bago mag-edit. Ang file access nang walang mapa ay nagsisimula pa rin sa panghuhula.&lt;/p&gt;
&lt;h2 id=&quot;ang-pag-edit-ng-maling-file-ay-problema-sa-retrieval&quot;&gt;Ang pag-edit ng maling file ay problema sa retrieval&lt;/h2&gt;
&lt;p&gt;Isipin ang na-gawa-gawang path bilang isang pagkakamali sa retrieval, hindi kapintasan sa karakter.&lt;/p&gt;
&lt;p&gt;Kung kailangang ibalik ng agent ang &lt;code&gt;path/file.ext:line&lt;/code&gt; bago ito pahintulutang mag-edit, may mangyayaring dalawang bagay. Una, maaari mong buksan ang cited at tanggihan ang gawain sa loob ng sampung segundo. Ikalawa, kailangang magtanong ang agent ng isang bagay na tunay na kilala ang tree na iyon.&lt;/p&gt;
&lt;p&gt;Iyan ang gawain ng codebase context layer. Hindi sapat ang semantic search lang. Isang cited na ‘parang session expiry’ ay maaari pa ring dumapo sa isang deprecated na package. Kailangan mo rin ng eksaktong text kapag alam mo ang string, symbol search kapag alam mo ang pangalan, structural search kapag alam mo ang hugis, at dependency graph kapag kailangan mo ng mga tumatawag at saklaw ng epekto.&lt;/p&gt;
&lt;p&gt;Ang Maguyva ang layer na iyon para sa mga MCP-compatible na coding agent. Hindi ito editor. Nananatili sa kanilang mga lugar ang Claude Code, Cursor, Codex CLI, VS Code, Windsurf, at ibang MCP client. Itinatanong ng agent ang ranked na mapa bago galawin ang isang linya.&lt;/p&gt;
&lt;p&gt;Ang inaangkin ay sadyang katamtaman: mas kaunting hallucinated na pagbabago. Hindi inaalis ng Maguyva ang kakayahang manghula ng modelo. Binabago nito ang default na unang hakbang mula sa ‘gumawa-gawa ng plausible na path’ patungo sa ‘humingi ng ranked, cited na lokasyon’.&lt;/p&gt;
&lt;h2 id=&quot;ano-ang-hitsura-ng-naka-ground-na-sagot&quot;&gt;Ano ang hitsura ng naka-ground na sagot&lt;/h2&gt;
&lt;p&gt;Hindi isang talata ang kapaki-pakinabang na sagot sa ‘saan hinahawakan ang session expiry’. Ito ay isang maikling listahan ng mga lokasyon:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;apps/api/src/middleware/expiry.ts:48&lt;/code&gt; - handler&lt;/li&gt;
&lt;li&gt;&lt;code&gt;apps/web/src/lib/auth-client.ts:112&lt;/code&gt; - tumatawag&lt;/li&gt;
&lt;li&gt;&lt;code&gt;apps/api/tests/expiry.test.ts:20&lt;/code&gt; - test na mabibigo kung mali ang pagbabago&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Maaari mong buksan ang mga linyang ito. Kung mali, huminto ka. Kung tama, maaaring mag-edit ang agent. Ang pag-verify ang punto, hindi ang slogan.&lt;/p&gt;
&lt;p&gt;Inilalantad ng Maguyva ang 11 customer-facing MCP tool sa search, symbol, dependency analysis, file retrieval, repository context, at deterministic utility-tool workflow. Ang apat na retrieval mode (semantic, structural, graph/dependency, at text) ay nagsasama sa isang ranked na resulta; ang symbol search ay hiwalay na MCP tool (&lt;code&gt;find_symbol&lt;/code&gt;). Bumabalik ang mga naka-ground na sagot na may file path at line number, para mapa-evaluate mo ang mga ito laban sa tree na nasa harap mo.&lt;/p&gt;
&lt;p&gt;Inilalarawan ng &lt;a href=&quot;https://maguyva.ai/fil/docs&quot;&gt;dokumentasyon&lt;/a&gt; ang pinakamaikling daan: magsimula nang libre, i-index ang repo na kilala mo na, ikonekta ang client, pagkatapos ay magtanong ng isang tanong na kaya mong ma-verify.&lt;/p&gt;
&lt;h2 id=&quot;ang-loop-na-nagbabago-sa-unang-pagbabago&quot;&gt;Ang loop na nagbabago sa unang pagbabago&lt;/h2&gt;
&lt;p&gt;Hindi mo kailangan ng bagong relihiyon sa workflow. Kailangan mo ng isang dagdag na hakbang bago ang unang pagsulat.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Magtanong ng isang tanong na kaya mo nang husgahan. Mas mahusay ang ‘aling code ang humahawak sa login at session expiry?’ kaysa ‘ayusin ang auth’.&lt;/li&gt;
&lt;li&gt;Humingi ng mga cited. File path at line number, hindi buod ng ‘auth module’.&lt;/li&gt;
&lt;li&gt;Buksan ang cited na file. Sundan ang symbol. I-verify ang mga dependency na gagalawin mo.&lt;/li&gt;
&lt;li&gt;Pahintulutan lang mag-patch ang agent pagkatapos.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Kung walang ibinalik na kapaki-pakinabang ang hakbang 2, walang karapatan ang agent na mag-improvise ng path. Naghahanap ito ulit, o ipinapakita mo dito. Ang solong gate na iyon ang gumagawa ng mas kaunting hallucinated na pagbabago. Parehong modelo ang modelo. Ang mapa ang nagbabago.&lt;/p&gt;
&lt;p&gt;Mahalaga pa rin ang mga instruction file. Panatilihin ang mga ito. Gamitin para sa mga convention, panuntunan sa review, at kung ano ang hindi dapat galawin. Huwag hilingin sa mga ito na maging index. Ang &lt;code&gt;CLAUDE.md&lt;/code&gt; na naglilista ng tatlong mahahalagang directory ay lipas na sa loob ng isang linggo matapos ang paghahati ng package. Ang naitatanong na mapa ay nag-a-update kapag nag-update ang repo.&lt;/p&gt;
&lt;p&gt;Ang may kaugnayang pagkabigo ay ang halos-tamang file: binubuksan ng agent ang &lt;code&gt;auth.ts&lt;/code&gt; habang naninirahan ang asal sa &lt;code&gt;auth-client.ts&lt;/code&gt;, o pina-patch ang isang na-generate na file sa halip na ang source, o ine-edit ang isang kopya sa &lt;code&gt;packages/legacy&lt;/code&gt; dahil tumugma ang pangalan. Hindi ginagawang imposible ng cited ang mga pagkakamaling ito. Ginagawa nitong nakikita ang mga ito bago dumapo ang diff.&lt;/p&gt;
&lt;h2 id=&quot;ano-ang-hindi-aayusin-ng-mapa-para-sa-iyo&quot;&gt;Ano ang hindi aayusin ng mapa para sa iyo&lt;/h2&gt;
&lt;p&gt;Maging tapat tungkol sa nakukuha mo. Hindi gagawing tama ng naka-ground na mapa ang bawat pagbabago — maaari pa ring sumulat ang agent mo ng masamang patch sa mismong tamang file. Kung umaasa ang codebase mo sa dynamic dispatch, reflection, o monkey-patching, magbabalik ng mas manipis na resulta ang ilang symbol search kaysa sa gusto mo, dahil iyan ang ginagawa ng runtime indirection sa anumang static index. At kung umaasa ka ng porsyento — ‘bumaba ang mga hallucinated path nang X%’ — hindi mo ito matatagpuan dito, dahil walang sinuman ang makasusukat ng numerong iyon nang tapat para sa repo mo maliban sa iyo mismo.&lt;/p&gt;
&lt;p&gt;Ang maaasahan mo ay mas makitid at mas kapaki-pakinabang: hihinto ang agent sa pagsisimula ng pagbabago nito gamit ang isang hinulaang path. Ang unang hakbang na iyon ay nagiging naka-ground sa tunay na mapa, at mula doon nanggagaling ang mas kaunting hallucinated na pagbabago. Lahat ng bagay matapos ang cited — pagbasa ng diff, pag-evaluate ng patch — gawain mo pa rin, gaya ng dati.&lt;/p&gt;
&lt;p&gt;Halos walang kabuluhan ang pagsubok na ito: i-index ang repo na kilala mo na at magtanong ng isang tanong na kaya mong ma-verify. Magsimula sa path na nakapaso na sa iyo dati. Kung mali ang cited, makikita mo agad. Kung tama, may mas mahusay na lugar dadapuan ang susunod na pagbabago ng agent mo.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;// it doesn&apos;t know the file. it knows how to find it.&lt;/code&gt;&lt;/p&gt;
</content:encoded><category>AI Agents</category><category>Hallucination</category><category>Retrieval</category><category>MCP</category></item><item><title>Bakit Namin Ni-upgrade ang Code Search Papunta sa voyage-4-large</title><link>https://maguyva.ai/fil/blog/upgrading-code-search-to-voyage-4-large</link><guid isPermaLink="true">https://maguyva.ai/fil/blog/upgrading-code-search-to-voyage-4-large</guid><description>Inilipat namin ang code embeddings namin papunta sa voyage-4-large — kasalukuyang nangunguna sa public RTEB code retrieval leaderboard. Ang tapat na bersyon: ang trade na ginagawa namin, ang talagang ini-index namin, at bakit kami nagbabayad para sa premium embeddings.</description><pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Ang mga numero sa benchmark sa post na ito ay sumasalamin sa RTEB leaderboards noong publication (Hunyo 2026). Gumagalaw ang mga leaderboard; ituring ang mga ranking bilang isang snapshot, hindi isang permanenteng katotohanan.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Ang kalidad ng semantic search ay nakasalalay sa embeddings na ginagamit nito.&lt;/p&gt;
&lt;p&gt;Kapag nagtanong ang isang agent sa Maguyva ng “saan nakalagay ang retry logic,” hindi ito nagg-grep para sa salitang “retry.” Nagtatanong ito para sa &lt;em&gt;kahulugan&lt;/em&gt; — ang backoff loop, ang circuit breaker, ang bagay na bumabalot sa isang flaky call. Sinasagot ang tanong na iyon ng isang vector model na nagpapalit ng code papunta sa isang punto sa espasyo at hinahanap ang mga kapitbahay nito. Pumili ng mas magandang model at tahimik na nagiging mas tumpak ang bawat semantic query sa produkto.&lt;/p&gt;
&lt;p&gt;Kaya binago namin ang sa amin. Simula Hunyo 2026, tumatakbo ang code embeddings ng Maguyva sa &lt;strong&gt;&lt;code&gt;voyage-4-large&lt;/code&gt;&lt;/strong&gt;, na pumapalit sa &lt;code&gt;voyage-code-3&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&quot;ang-benchmark&quot;&gt;Ang Benchmark&lt;/h2&gt;
&lt;p&gt;Hindi namin ibinatay ang desisyong ito sa vibes lang. Ini-ranggo ng public &lt;a href=&quot;https://embedding-benchmark-rteb.hf.space/code&quot;&gt;Retrieval Embedding Benchmark (RTEB)&lt;/a&gt; ang mga embedding model batay sa totoong mga retrieval task, at sa &lt;strong&gt;Code&lt;/strong&gt; leaderboard nito, ang &lt;code&gt;voyage-4-large&lt;/code&gt; ay nasa &lt;strong&gt;#1 overall (90.86)&lt;/strong&gt; — nangunguna kaysa sa &lt;code&gt;gemini-embedding-2-preview&lt;/code&gt; (90.26) at, kapansin-pansin, nangunguna kaysa sa model na ginagamit na namin, ang &lt;code&gt;voyage-code-3&lt;/code&gt; (89.73, #3).&lt;/p&gt;
&lt;p&gt;Maliit na absolute gap iyon. Pero isang gap ito sa tamang direksyon, sa isang public benchmark, sa eksaktong task na mahalaga sa amin: pagkuha ng code batay sa kahulugan.&lt;/p&gt;
&lt;h2 id=&quot;ang-trade-na-tinatanggap-namin-binary-quantization&quot;&gt;Ang Trade na Tinatanggap Namin: Binary Quantization&lt;/h2&gt;
&lt;p&gt;Narito ang parteng inaalis ng karamihan sa mga post na “ni-upgrade namin ang model namin.”&lt;/p&gt;
&lt;p&gt;Hindi nag-iimbak ng full-precision na mga vector ang Maguyva. Iniimbak namin ang &lt;strong&gt;binary-quantized&lt;/strong&gt; na embeddings: nagko-collapse ang bawat 2048-dimensional na vector papunta sa isang 2048-bit na signature — &lt;strong&gt;256 bytes bawat vector&lt;/strong&gt;. Sinisiyasat ang mga signature na iyon gamit ang Hamming distance, indexed at partitioned kada tenant.&lt;/p&gt;
&lt;p&gt;Isang sinadyang trade iyon. Isinasakripisyo ng binary quantization ang kaunting retrieval precision kapalit ng dramatikong mas maliit na storage at mabilis, murang distance math na walang hiwalay na vector database na pagpapatakbuhin. Para sa isang produktong nag-i-index ng buong repositories kada workspace, mas mahalaga ang economics na iyon kaysa sa pagpiga ng huling piraso ng benchmark point.&lt;/p&gt;
&lt;p&gt;Umaangkop ang &lt;code&gt;voyage-4-large&lt;/code&gt; sa design na ito nang hindi pinipilit ang migration ng storage layer: gumagawa ito ng 2048-dimensional na output, kapareho ng &lt;code&gt;voyage-code-3&lt;/code&gt;, kaya hindi nagbago ang mga column naming &lt;code&gt;bit(2048)&lt;/code&gt; at ang Hamming search path. Umangat ang model; nanatili ang schema.&lt;/p&gt;
&lt;h2 id=&quot;ang-code-simula-lang&quot;&gt;Ang Code, Simula Lang&lt;/h2&gt;
&lt;p&gt;Isang code-intelligence tool ang Maguyva. Pero customer zero rin kami, at itinuturo namin ito sa ibang bagay: ang markdown na nakatira sa mga repo namin kasabay ng code. Architecture decision records, runbooks, contracts, finance at policy docs — lahat version-controlled sa Git, lahat nasa likod ng parehong MCP server, isang semantic index sa ibabaw ng mga &lt;em&gt;dokumento&lt;/em&gt;, hindi lang ng source.&lt;/p&gt;
&lt;p&gt;Iyan mismo ang dahilan kung bakit mahalaga ang lawak ng voyage-4-large. Sa parehong RTEB family ng leaderboards, ito ang &lt;strong&gt;#1 sa finance, #1 sa healthcare, at #1 sa overall text retrieval&lt;/strong&gt; — nangunguna kaysa sa Gemini Embedding ng Google, Embed v4 ng Cohere, at text-embedding-3-large ng OpenAI. (Co-creator ng RTEB ang Voyage, kaya binabasa namin ito bilang isang malakas na public signal sa halip na isang perpektong neutral na referee — pero na-benchmark ito nang head-to-head laban sa bawat major na commercial model, sa private hold-out sets.) Ang parehong index na nakakahanap ng tamang function para sa isang agent, nakakahanap din ng tamang clause sa isang contract o ng tamang linya sa isang policy — at sa mga domain na iyon, hindi compromise ang voyage-4-large, ito ang leader.&lt;/p&gt;
&lt;h2 id=&quot;bakit-kami-nagbabayad-para-sa-premium-embeddings&quot;&gt;Bakit Kami Nagbabayad para sa Premium Embeddings&lt;/h2&gt;
&lt;p&gt;May mas murang paraan para mag-search, at karamihan dito, libre. Tumutugma sa keywords ang lexical search — BM25 at katulad nito — tumatakbo nang local, at walang binabayaran. Nagbibigay ng tunay na &lt;em&gt;decent&lt;/em&gt; na semantic retrieval ang mga open-source na embedding model tulad ng BGE, Nomic, at embeddinggemma, at puwede mong i-self-host ang mga ito sa halaga lang ng isang GPU. Ginagamit din ng Maguyva ang libreng bahagi: pinagsasama ng bawat query ang text, AST, graph, at semantic search. Ang hindi namin kinukuripot, ang semantic layer.&lt;/p&gt;
&lt;p&gt;Nagbabayad kami kada token para sa premium embeddings — &lt;code&gt;voyage-4-large&lt;/code&gt; — sa halip na mag-self-host ng libreng model, dahil sa dalawang dahilan. Una, hindi masasagot ng keyword search lang ang “saan nakalagay ang retry logic” kapag ang code ay sinasabing &lt;code&gt;backoff&lt;/code&gt; at &lt;code&gt;circuit breaker&lt;/code&gt; at hindi kailanman sinasabi ang salitang “retry” — kahulugan ang buong punto ng embedding, at sa mga domain na aming pinaglilingkuran, nahuhuli ang mga open model sa mga premium: ilang puntos ang layo sa general text, at mas malayo pa sa mga niche tulad ng code, contracts, at finance. Ikalawa, sa karanasan namin, mas humuhubog ang retrieval quality sa huling sagot kaysa sa model sa kabilang dulo — sumasagot pa ring mali ang isang malakas na agent na binigyan ng maling context, at hindi nito nakikita ang dokumentong hindi naman binigay sa kanya.&lt;/p&gt;
&lt;p&gt;Kaya isang per-token na bill na lumalaki kasabay ng bawat repo at dokumentong ini-index namin ang premium embeddings — at binabayaran namin ito nang sinasadya. Para sa resulta na nakukuha ng mga user namin, ang tamang function o ang tamang clause, sa tingin namin, sulit ang trade na iyon.&lt;/p&gt;
&lt;h2 id=&quot;ang-tapat-na-bahagi&quot;&gt;Ang Tapat na Bahagi&lt;/h2&gt;
&lt;p&gt;Itinuturing pa rin ng sariling documentation ng Voyage ang &lt;code&gt;voyage-code-3&lt;/code&gt; bilang code-optimized na model. Kaya bakit lumipat?&lt;/p&gt;
&lt;p&gt;Dahil binasa namin ang public benchmark, hindi lang ang model table ng vendor, at inilagay ng benchmark ang &lt;code&gt;voyage-4-large&lt;/code&gt; sa tuktok para sa code retrieval. Isang forward-looking na desisyon ito: kunin ang mas bago, karaniwang mas malakas na model at i-validate ito laban sa isang public leaderboard sa mga task na mahalaga. Komportable kami sa pagtaya na ito dahil malawak ang ebidensya — hindi lang nananalo ang voyage-4-large sa code, nangunguna rin ito sa finance, healthcare, at overall retrieval.&lt;/p&gt;
&lt;h2 id=&quot;ang-tahimik-na-pundasyon&quot;&gt;Ang Tahimik na Pundasyon&lt;/h2&gt;
&lt;p&gt;Sa retrieval nakasalalay ang bawat tool na ini-expose namin — semantic search, task-context gathering, grounded Q&amp;amp;A. Kapag umangat ang retriever, mas magandang ebidensya ang nakukuha ng agent sa kabilang dulo, mas kaunting maling liko ang ginagawa, at ini-anchor ang mga sagot nito sa tamang code — o sa tamang clause, o sa tamang policy. Hindi isang flashy na feature ang isang mas matalas na embedding model. Ito ang pundasyon ng lahat ng iba pa, at pinataas lang namin ang kalidad nito. Hindi mo ito mapapansin. Iyon nga ang punto.&lt;/p&gt;
</content:encoded><category>Embeddings</category><category>Search</category><category>Architecture</category></item><item><title>Recursive na Pagpapahusay sa Wika: Pag-grind ng Code Intelligence sa Humigit-Kumulang 280 Wika</title><link>https://maguyva.ai/fil/blog/autonomous-quality-loops-language-grind</link><guid isPermaLink="true">https://maguyva.ai/fil/blog/autonomous-quality-loops-language-grind</guid><description>Sinusuportahan namin ang code intelligence para sa humigit-kumulang 280 wika. Walang taong kayang mag-hand-audit niyan. Kaya gumawa kami ng recursive na loop ng pagpapahusay sa wika — spot-check, LLM-as-judge, ayusin ang isang bagay, i-validate ulit — at pinapatakbo ito gamit ang isang fleet ng nakahiwalay na agent hanggang talagang tama na ang extraction, hindi lang green.</description><pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Ang mga numero sa post na ito ay sumasalamin sa system noong publication (Mayo 2026). Tingnan ang aming &lt;a href=&quot;https://maguyva.ai/fil/team&quot;&gt;team page&lt;/a&gt; para sa kasalukuyang mga figure.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Kinukuha ng Maguyva ang mga symbol, reference, at dependency graph mula sa source code sa halos 280 wika. Bawat wika ay may sariling custom na tree-sitter handler — mga query, heuristic, edge case — at bawat handler ay puwedeng mali sa sarili nitong subtle na paraan. Isang method call na naitala bilang read. Isang function na na-attribute sa maling enclosing scope. Isang relationship na wala talaga.&lt;/p&gt;
&lt;p&gt;Hindi mo iyan kayang hand-audit. Walang team na kayang basahin ang extraction output sa 280 grammar at makita ang mga maling edge. Kaya ang interesting na tanong, hindi “tama ba ang extraction namin” — kundi “paano mo &lt;em&gt;malalaman&lt;/em&gt; na mali ito, sa ganitong lawak, nang walang tao sa bawat loop.” Ang sagot namin: recursive na pagpapahusay sa wika — isang quality loop na pinapatakbo ng mga language agent, isang LLM na kumikilos bilang judge, at isang tuntunin na paulit-ulit naming natututunan ulit: hindi pareho ang green at tama.&lt;/p&gt;
&lt;h2 id=&quot;hindi-pareho-ang-green-at-tama&quot;&gt;Hindi Pareho ang Green at Tama&lt;/h2&gt;
&lt;p&gt;Bawat wika ay may fixture suite, at may release gate na nagsu-score nito sa limang dimensyon — accuracy, structural integrity, completeness, quality, at performance. Nagiging &lt;strong&gt;GREEN&lt;/strong&gt; lang ang isang wika kapag, sa mga fixture nito, ang precision ≥ 0.95, recall ≥ 0.99, at F1 ≥ 0.97, na may kahit 20 expected edges para sa statistical confidence. Kung mas mababa diyan, YELLOW o RED ito, at hindi ito nagshi-ship.&lt;/p&gt;
&lt;p&gt;Kailangan ang gate na iyon pero hindi ito sapat. Ang mga fixture, sinusubukan laban sa mga fixture na &lt;em&gt;sinulat namin&lt;/em&gt;. In-encode nila ang mga kaso na naisip na namin dati. Puwedeng flawless ang isang handler sa mga fixture nito pero puwede pa ring sirain nito ang isang pattern na lumalabas lang sa totoong code — isang macro idiom, isang generic-bound method, isang language feature na walang gumawang fixture. Ang ibig sabihin ng GREEN, pumasa ang mga fixture. Hindi ito nangangahulugang malinis na naeextract ang isang totoong repository. Kaya kailangan ng loop na iwan ang mga fixture at suriin ang aktwal na code sa mga totoong repository.&lt;/p&gt;
&lt;h2 id=&quot;ang-panloob-na-loop-suriin-husgahan-ayusin-patunayan&quot;&gt;Ang panloob na loop: suriin, husgahan, ayusin, patunayan&lt;/h2&gt;
&lt;p&gt;Isang wika lang ang tinatrabaho ng core loop sa isang pagkakataon:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ┌──────────────────────────────────────────────────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  1. corpus run ── clone real-world repos, extract relationships   │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  2. spot-check 100 edges (seed 42, then seed 123 to cross-check)  │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  3. LLM judge classifies every sampled edge:                      │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        CORRECT · FALSE_POSITIVE · TYPE_ERROR ·                    │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        SCOPE_ERROR · METADATA_ERROR                               │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  4. fix ONE thing — handler .py, .scm query, or config           │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  5. re-validate — F1 + re-classify + manifest diff (no regressions)│&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │                                                          │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   better? ──no──► revert, try a different fix ────────────────────┤&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │ yes                                                       │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼                                                           │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  6. promote the fix into fixtures (a permanent regression guard) ──┘&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;May ilang bagay na nagpapagana nito sa halip na magkagulo lang.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ang judge ay ang agent, hindi isang API call.&lt;/strong&gt; Kapag sinabi naming “LLM-as-judge,” ang ibig naming sabihin, binabasa mismo ng language agent ang bawat sampled edge kasama ng totoong source at inuuri ito gamit ang fixed na limang-kategoryang rubric: tama ba ang edge na ito, isang false positive, ang tamang relationship pero may maling type, naka-attach sa maling scope, o may maling metadata? Ang rubric na iyon ang buong laro — walang kahulugan ang “23% error rate” hangga’t hindi mo alam kung totoong depekto ba ang mga iyon o mali lang ang bilang ng judge.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ayusin ang isang bagay, tapos patunayan ito.&lt;/strong&gt; Bawat iteration, isang editable asset lang ang binabago, tapos tinatakbo ulit laban sa isang fixed harness at pinapanatili lang ang pagbabago kung umangat ang F1 at mas maganda ang re-classification. Kung hindi, ire-revert ito. Walang batch ng speculative edits, walang “dapat mas maganda.” Kailangang patunayan ng isang pagbabago na karapat-dapat itong manatili; kung hindi, aalisin ito. At kapag kumapit ang isang fix, ipo-promote ito papunta sa fixture suite — para hindi na tahimik na makabalik ang bug na na-fix nito. Ang promotion step na iyon ang gumagawa sa loop na &lt;em&gt;recursive&lt;/em&gt; sa halip na pag-uulit lang: pinapatibay ng bawat pass ang oracle na pagbabatayan ng validation sa susunod na pass.&lt;/p&gt;
&lt;h2 id=&quot;ang-aral-na-paulit-ulit-naming-natututunan-nag-o-over-report-ang-metrics&quot;&gt;Ang Aral na Paulit-ulit Naming Natututunan: Nag-o-over-report ang Metrics&lt;/h2&gt;
&lt;p&gt;Narito ang bitag, at diretso kaming pumasok dito. Ang mga secondary corpus metric — kung gaano kadalas walang resolvable symbol ang isang extracted target, ilang symbol ang mukhang “orphaned,” at iba pa — nag-o-over-report nang malaki sa mga problema. Karamihan sa mga ito, &lt;em&gt;paradigm artifact&lt;/em&gt; lang, hindi bugs.&lt;/p&gt;
&lt;p&gt;Ang pinakamalinaw na halimbawa: dati, nagpakita ang &lt;code&gt;llvm&lt;/code&gt; ng 73% na “source-without-symbol” rate at na-brand na catastrophic. Sinuri namin ito. Ang tunay na accuracy, &lt;strong&gt;98.5%&lt;/strong&gt;. Ang “nawawalang symbols” ay halos lahat legitimate external reference — mga tawag papunta sa standard library, papunta sa frameworks, papunta sa code na nasa labas ng repo. Sinusukat ng metric ang isang katangian ng wika, hindi isang depekto sa handler. May mga wika tulad ng Zig, COBOL, at Odin na nagpapakita ng 65–70% na “orphan” rate at ganap namang tama; walang tunay na error ang COBOL.&lt;/p&gt;
&lt;p&gt;Kung hinayaan naming pamunuan ng mga numerong iyon ang trabaho, gumugol sana kami ng linggo sa “pag-aayos” ng mga handler na tama na pala at hindi na binigyan ng pansin ang mga wikang may tahimik, tunay na bugs. Diretso ang konklusyon: ang aggregate metrics, pansamantalang gabay lang sa triage sa pinakamainam na kaso. &lt;strong&gt;Ang tunay na quality signal ay ang spot-check na may edge classification&lt;/strong&gt; — pagtingin sa aktwal na mga edge sa aktwal na mga repository at pagsuri sa mga ito isa-isa. Data bago intuition — pero dapat alam mo muna kung aling data ang mapagkakatiwalaan.&lt;/p&gt;
&lt;h2 id=&quot;ang-outer-loop-isang-fleet-hindi-isang-marathon&quot;&gt;Ang Outer Loop: Isang Fleet, Hindi Isang Marathon&lt;/h2&gt;
&lt;p&gt;Isang wika lang sa isang pagkakataon, aabutin ito ng napakatagal kung 280 lahat, kaya ang panloob na loop ay nakabalot sa panlabas na loop na nagpapatakbo ng marami nang sabay.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   pick a wave of near-GREEN / high-error languages&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   fan out 10–15 agents, each ISOLATED in its own git worktree,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   each grinding ONE language, committing to its own branch&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   orchestrator integrates serially: file-scoped apply, then&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   `manifest diff` — any cross-language regression blocks the batch&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;        ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;   gated push (reviewed and confirmed) ──► rotate to the next wave&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ang bawat agent ay nagtatrabaho sa isang throwaway worktree para hindi sila magkakatapakan. Ini-integrate ng orchestrator ang mga fix nila isa-isa, bawat isa naka-gate sa likod ng isang full-manifest regression check: hindi papasok ang isang pagbabago na tumutulong sa sariling wika nito pero tahimik namang sumisira sa tatlo pa. Naka-gate at kumpirmado muna ang integration bago may itulak — ang regression gate ang nagdedesisyon kung ano ang &lt;em&gt;safe&lt;/em&gt;, isang tao pa rin ang nagdedesisyon kung ano ang &lt;em&gt;nagshi-ship&lt;/em&gt;. Tapos umiikot ang pool papunta sa susunod na set ng mga wika at umuulit ang buong bagay.&lt;/p&gt;
&lt;h2 id=&quot;ano-ang-hindi-pa-perpekto&quot;&gt;Ano ang Hindi Pa Perpekto&lt;/h2&gt;
&lt;p&gt;Puwedeng magkamali ang judge, at may direksyon ang pagkakamali: ang isang agent na tumatakbo nang may kaunting context lang, &lt;em&gt;nag-o-over-report&lt;/em&gt;. Sa isang batch, walong wika ang na-flag sa 5–20% na error; sa inspeksyon, isa lang ang totoong per-language bug — ang natitira, mga pagkakamali ng judge dahil hindi naunawaan ang sariling semantics ng wika (isang source line na legitimately nagla-labas ng maraming edge, parameter bindings na na-model bilang assignments, mga wikang reference-per-identifier). Kaya naman kami nag-sample gamit ang dalawang seed at nagcross-check, at kaya naman ang hindi pagkakasundo sa pagitan ng judge at ng mga fixture, tinuturing na &lt;em&gt;pinaka&lt;/em&gt;-interesting na signal, hindi tapos nang desisyon — minsan, ang fixture ang mismong mali.&lt;/p&gt;
&lt;p&gt;Tapat din kami tungkol sa target. Ang layunin, zero real errors, tapos. Pero layunin ang “zero” na patuloy naming pinagsisikapang maabot, wika kada wika, hindi isang kahong nachecheck lang. Palaging may isa pang repo na may isa pang idiom.&lt;/p&gt;
&lt;h2 id=&quot;pinatunayan-hindi-basta-sinabi&quot;&gt;Pinatunayan, Hindi Basta Sinabi&lt;/h2&gt;
&lt;p&gt;Lahat ng ginagawa ng Maguyva para sa isang agent — paghahanap ng symbol, pagsubaybay ng dependency, pagsagot ng tanong na may cited code — nakasalalay sa katumpakan ng extraction sa ilalim nito. Sa 280 wika, hindi puwedeng basta sabihin na “tama” ito; kailangan itong patuloy na &lt;em&gt;patunayan&lt;/em&gt; gamit ang totoong code. Ang loop ang paraan namin para patunayan ito: isang autonomous na siklo ng mabilisang pagsusuri at pag-aayos na pinaghihinalaan ang sarili nitong metrics, pinapatunayan ang bawat pagbabago, at ginagawang guard ang bawat fix laban sa susunod na regression. Hindi ito kaakit-akit. Ito ang trabaho na nagbibigay-daan sa aming sabihing “sinusuportahan namin ang wika mo” at mapanindigan iyon. Madali ang green. Pinaghihirapan ang pagiging tama.&lt;/p&gt;
</content:encoded><category>Architecture</category><category>Languages</category><category>Agents</category></item><item><title>Multi-Modal Fusion Search: Pagpili ng Tamang Retriever Para sa Bawat Query</title><link>https://maguyva.ai/fil/blog/multi-modal-fusion-search</link><guid isPermaLink="true">https://maguyva.ai/fil/blog/multi-modal-fusion-search</guid><description>Ibang klaseng search ang gusto ng query tulad ng &apos;saan na-define ang parseConfig&apos; kumpara sa &apos;paano gumagana ang auth&apos;. Ini-classify ng Maguyva ang intent, tinitimbang ang apat na retrieval modality ayon dito, at pinagsasama ang mga resulta gamit ang weighted Reciprocal Rank Fusion.</description><pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;Tala tungkol sa dating disenyo: inilalarawan ng artikulong ito noong Abril 2026 ang disenyo ng routing noon, hindi ang kasalukuyang default na pag-uugali. Ang pagwawasto noong Setyembre sa ibaba ay tumutukoy lang sa isang pahayag tungkol sa pagsukat. Para sa kasalukuyang routing, mga preset, at tahasang pagpili ng modality, tingnan ang &lt;a href=&quot;https://maguyva.ai/fil/docs/how-it-works&quot;&gt;Paano ito gumagana&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Hindi iisang bagay ang isang search query.&lt;/p&gt;
&lt;p&gt;Ang “saan na-define ang &lt;code&gt;parseConfig&lt;/code&gt;” ay gustong makakuha ng eksaktong symbol — isang precise na lokasyon, mabilis. Ang “paano gumagana ang authentication” ay gustong makakuha ng kahulugan — ang kabuuan ng magkakaugnay na code na nagpapaliwanag ng isang konsepto. Ang “ano ang masisira kung babaguhin ko ang function na ito” ay gustong makakuha ng dependency graph. Ang “hanapin ang string na &lt;code&gt;ECONNREFUSED&lt;/code&gt;” ay gustong makakuha ng literal na match, walang kalokohan.&lt;/p&gt;
&lt;p&gt;Mahusay ang grep para sa mga literal na match at kapaki-pakinabang para sa ilang reference hunt, pero hindi ito isang dependency graph at hindi nito naiintindihan ang kahulugan. Sinasakop ng embeddings ang semantic side, pero mali itong tool para sa mga eksaktong string at impact analysis. Karamihan sa mga code search tool, pumipili ng isang engine at ipinipilit ang engine na iyon sa bawat query. Hindi pumipili ang Maguyva. Sinusuri nito kung anong klaseng tanong ang itinanong mo, tapos hinahalo ang apat na retriever sa proporsyong nararapat sa tanong na iyon.&lt;/p&gt;
&lt;h2 id=&quot;apat-na-modalidad&quot;&gt;Apat na Modalidad&lt;/h2&gt;
&lt;p&gt;Sa loob ng system, may apat na independent na paraan para makahanap ng code:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;semantic&lt;/strong&gt; — vector search sa Voyage binary embeddings; naghahanap ng code batay sa kahulugan.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;text&lt;/strong&gt; — trigram matching; naghahanap ng mga literal, error string, eksaktong identifier.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;structural&lt;/strong&gt; — AST queries; naghahanap ng mga definition, signature, at language construct.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;graph&lt;/strong&gt; — ang dependency graph; naghahanap ng mga caller, callee, at saklaw ng epekto.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Malakas ang bawat isa sa ibang klase ng tanong. Ang trick, magdesisyon kung gaano dapat pagkatiwalaan ang bawat isa para sa query na nasa harap mo.&lt;/p&gt;
&lt;h2 id=&quot;pag-uuri-ng-intent&quot;&gt;Pag-uuri ng intent&lt;/h2&gt;
&lt;p&gt;Bago tumakbo ang anumang retrieval, inuuri ng isang lightweight classifier ang query papunta sa isa sa anim na intent, kasama ng confidence score. Sadyang mura ito — ordered heuristics, ang unang match ang mananalo — dahil tumatakbo ito sa hot path at nagdaragdag lang ng isa o dalawang millisecond:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;nagsisimula sa &lt;code&gt;def &lt;/code&gt;, &lt;code&gt;class &lt;/code&gt;, &lt;code&gt;func &lt;/code&gt;, &lt;code&gt;import &lt;/code&gt;… → &lt;strong&gt;find_definition&lt;/strong&gt; (confidence 0.95)&lt;/li&gt;
&lt;li&gt;“who calls”, “usages of”, “references to” → &lt;strong&gt;find_references&lt;/strong&gt; (0.90)&lt;/li&gt;
&lt;li&gt;“impact”, “blast radius”, “what depends on” → &lt;strong&gt;impact_analysis&lt;/strong&gt; (0.90)&lt;/li&gt;
&lt;li&gt;isang quoted &lt;code&gt;&quot;string&quot;&lt;/code&gt; o isang error token tulad ng &lt;code&gt;traceback&lt;/code&gt; → &lt;strong&gt;exact_match&lt;/strong&gt; (0.85–0.90)&lt;/li&gt;
&lt;li&gt;isang &lt;code&gt;CamelCase&lt;/code&gt; o &lt;code&gt;snake_case&lt;/code&gt; identifier → &lt;strong&gt;find_definition&lt;/strong&gt; (0.60–0.80)&lt;/li&gt;
&lt;li&gt;“how”, “why”, “explain”, “architecture” → &lt;strong&gt;understand_code&lt;/strong&gt; (0.75)&lt;/li&gt;
&lt;li&gt;walang tumugma → &lt;strong&gt;understand_code&lt;/strong&gt;, mababang confidence (0.40)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;May weight profile ang bawat intent sa apat na modalidad. Ito ang mga totoong numero:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Intent&lt;/th&gt;
&lt;th&gt;semantic&lt;/th&gt;
&lt;th&gt;text&lt;/th&gt;
&lt;th&gt;structural (AST)&lt;/th&gt;
&lt;th&gt;graph&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;find_definition&lt;/td&gt;
&lt;td&gt;0.2&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.6&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;find_references&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;td&gt;0.2&lt;/td&gt;
&lt;td&gt;0.2&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.5&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;understand_code&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.5&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0.2&lt;/td&gt;
&lt;td&gt;0.2&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;find_similar&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.4&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0.3&lt;/td&gt;
&lt;td&gt;0.2&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;impact_analysis&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.7&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;exact_match&lt;/td&gt;
&lt;td&gt;0.0&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0.9&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;0.1&lt;/td&gt;
&lt;td&gt;0.0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Kaya ang “saan na-define ang &lt;code&gt;parseConfig&lt;/code&gt;” ay lubos na umaasa sa AST (0.6). Ang “paano gumagana ang auth” ay umaasa sa semantic vectors (0.5). Ang “ano ang umaasa dito” ay halos puro graph (0.7). Ang “hanapin ang &lt;code&gt;ECONNREFUSED&lt;/code&gt;” ay halos puro trigram (0.9), na naka-off nang tuluyan ang embedding model — dahil eksaktong maling tool ang semantic similarity para sa isang eksaktong string.&lt;/p&gt;
&lt;h2 id=&quot;ang-mabilis-na-path-at-ang-fused-na-path&quot;&gt;Ang Mabilis na Path, at ang Fused na Path&lt;/h2&gt;
&lt;p&gt;Kapag confident ang classifier — score ≥ 0.85 — at karaniwan lang ang query, nilalaktawan ng Maguyva ang fusion nang tuluyan at diretsong ini-route papunta sa iisang dominanteng modalidad. Ang “saan na-define ang X” ay hindi kailangan ng apat na retriever; kailangan nito ang AST index, ngayon na. Iniuulat pabalik ang direktang path na iyon bilang &lt;code&gt;fusion_strategy: &quot;direct&quot;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Dumadaan sa fusion ang lahat ng ambiguous. Tumatakbo nang parallel ang apat (o tatlo, sa default preset) na modalidad, bawat isa ay nagbabalik ng sariling ranked list, at pinagsasama namin ang mga ito.&lt;/p&gt;
&lt;h2 id=&quot;weighted-reciprocal-rank-fusion&quot;&gt;Weighted Reciprocal Rank Fusion&lt;/h2&gt;
&lt;p&gt;Mas mahirap kaysa sa tunog nito ang pagsasama ng heterogeneous na mga retriever: hindi magkapareho ang scale ng isang cosine similarity na 0.82 at isang trigram score na 137 at isang graph centrality na 0.004, kaya hindi mo lang puwedeng idagdag ang mga ito. Iniiwasan ng Reciprocal Rank Fusion ang problema sa pamamagitan ng pagtapon sa raw scores at pagpapanatili lang ng &lt;strong&gt;rank&lt;/strong&gt; na ibinigay ng bawat engine. Ganito ang kontribusyon ng isang resulta mula sa isang modalidad:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;contribution = weight × 1 / (k + rank + 1)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;kung saan ang &lt;code&gt;rank&lt;/code&gt; ay ang posisyon nito sa listahan ng modalidad na iyon at ang &lt;code&gt;k&lt;/code&gt; ay isang smoothing constant. Sinusuma ang mga kontribusyon sa lahat ng modalidad para sa anumang resulta na nahanap ng mahigit isang engine — kusang umaangat sa ranking ang mga resultang pare-parehong nahanap ng mga retriever. Gumagamit kami ng &lt;strong&gt;k = 40&lt;/strong&gt; sa default preset at 60 sa &lt;code&gt;thorough&lt;/code&gt; (tumatakbong semantic-only lang ang &lt;code&gt;quick&lt;/code&gt;, kaya hindi na kumikilos ang fusion diyan). Napunta ang original na RRF work sa k = 60 para sa general-purpose retrieval; medyo mas matalim ang default namin, na nagbibigay ng kaunting dagdag na weight sa top-ranked na pagkakasundo sa pagitan ng mga modalidad — at hindi namin inirerekomenda ang hand-tuning nito.&lt;/p&gt;
&lt;p&gt;Dagdag pa rito, may dalang &lt;strong&gt;boost mula sa kahalagahan ng graph&lt;/strong&gt; ang mga resulta. Ang isang hub — isang function na inaasahan ng buong codebase — ay dapat mangibabaw sa isang obscure na leaf kahit magkapareho ang textual relevance, kaya minu-multiply namin ang bawat kontribusyon ng:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;boost = min(1 + 0.3 × ln(1 + centrality), 1.5)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nagmumula ang centrality sa precomputed PageRank/degree metrics ng pipeline, at naka-clamp ang boost sa 1.5× para hindi kayang lubusang ilibing ng isang popular na function ang isang mas relevant na obscure na function. Sa wakas, dine-demote namin ang mga resulta mula sa vendor, build, at archive paths, at dine-dedupe papunta sa pinakamagandang chunk kada file.&lt;/p&gt;
&lt;h2 id=&quot;ano-ang-hindi-pa-perpekto&quot;&gt;Ano ang Hindi Pa Perpekto&lt;/h2&gt;
&lt;p&gt;Ang intent classifier ay isang pangkat ng mga regex, hindi isang sinanay na modelo. Gumagamit ito ng mga heuristic para sa karaniwang anyo ng query, at ang malabong query ay bumabalik sa &lt;code&gt;understand_code&lt;/code&gt; at sa timplang mas nakatuon sa semantic search. Inilarawan ng naunang bersyon ng post na ito na nakamit ang pagbaba ng proporsyon ng mga query na walang resulta mula sa humigit-kumulang 15% tungo sa mas mababa sa 5%. Ang panukala noong Disyembre 2025 ay talagang nagtala ng tinantiyang baseline at isang target; walang ibinigay na sumusuportang query set o tala ng pagsukat. Binabawi namin ang pahayag na nakamit ang pagbuting iyon; tingnan ang &lt;a href=&quot;https://maguyva.ai/evidence/search-quality.md&quot;&gt;ebidensya mula sa source at pagwawasto&lt;/a&gt;. Hindi pa namin pinapalitan ang classifier ng sinanay na modelo dahil mabilis ang murang bersyon at sapat para sa nilalayong tungkulin nito sa routing, at dahil mas masama ang classifier na mali pero kumpiyansa kaysa sa tapat na fallback. Ang mga weight mismo ay mga paunang palagay na pinili nang mano-mano, hindi natutuhan mula sa click data na hindi naman namin kinokolekta.&lt;/p&gt;
&lt;h2 id=&quot;itanong-ang-tanong-hindi-ang-tool&quot;&gt;Itanong ang Tanong, Hindi ang Tool&lt;/h2&gt;
&lt;p&gt;Hindi dapat kailanganin ng isang agent na malaman kung sasabak sa grep o embeddings o sa call graph — dapat itanong nito ang tanong sa simpleng termino at makakuha ng tamang sagot. Ang multi-modal fusion ang nagbibigay-daan sa &lt;code&gt;find_symbol&lt;/code&gt;, semantic search, at dependency analysis na magamit sa iisang query surface: binabasa ng system ang hugis ng tanong at tahimik na binubuo ang tamang retriever para dito. Mahalaga ang model na nagsu-score sa embeddings, pero mahalaga rin ang pagkaalam kung kailan &lt;em&gt;hindi&lt;/em&gt; ito gagamitin. Ang pagpili ng tamang tool para sa bawat query, sarili nitong klase ng kalidad, at mas gusto naming angkinin ito kaysa itulak papunta sa caller.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;// you bring the question. it brings the tools.&lt;/code&gt;&lt;/p&gt;
</content:encoded><category>Search</category><category>Architecture</category></item><item><title>Agent Observability: Mga Hook, Alloy, at Grafana</title><link>https://maguyva.ai/fil/blog/agent-observability-hooks-alloy-grafana</link><guid isPermaLink="true">https://maguyva.ai/fil/blog/agent-observability-hooks-alloy-grafana</guid><description>Kinabit namin ang Claude Code at Codex sa iisang Grafana stack gamit ang OpenTelemetry at Alloy, tapos ginamit ang traces at logs para mahanap at ayusin ang mga isyu sa agent behavior sa pinagmulan mismo.</description><pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Kakaiba ang paraan ng pagkasira ng agent systems.&lt;/p&gt;
&lt;p&gt;Minsan ang model ang problema. Minsan ang tool ang problema. Minsan okay naman ang MCP server mo, pero mali ang specialist na pinili ng agent, o kalahati ng session ay ginugol sa shell work na hindi mo inaasahan, o tahimik na nag-burn ng cost sa isang loop na parang productive kung titingnan mula sa labas.&lt;/p&gt;
&lt;p&gt;Kung hindi mo makita ang pagkakaiba, hindi mo talaga ino-operate ang agent system mo. Nanghuhula ka lang.&lt;/p&gt;
&lt;p&gt;Kaya gumawa kami ng observability stack para sa sarili naming workflow: Claude Code, Codex, Claude hook events, Codex notify events, native OpenTelemetry, Grafana Alloy, at Grafana Cloud sa kabilang dulo.&lt;/p&gt;
&lt;p&gt;Ang interesting na parte, hindi ang “gumawa kami ng dashboard.” Ang interesting na parte, kinailangan naming hatiin ang telemetry sa dalawang magkaibang stream dahil walang iisang feed na nagbigay sa amin ng buong larawan.&lt;/p&gt;
&lt;h2 id=&quot;ang-problema-fragmented-ang-agent-telemetry&quot;&gt;Ang Problema: Fragmented ang Agent Telemetry&lt;/h2&gt;
&lt;p&gt;Nag-e-emit na ng telemetry ang mga modernong coding agent. Nakakatulong iyon, pero hindi sapat.&lt;/p&gt;
&lt;p&gt;Magaling ang native OTEL sa pagsagot ng mga tanong tulad ng:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ilang request ba ang nagawa namin?&lt;/li&gt;
&lt;li&gt;Magkano ang naging cost ng isang session?&lt;/li&gt;
&lt;li&gt;Nasaan ang mga span at trace?&lt;/li&gt;
&lt;li&gt;May latency spike ba?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Mas mahina ito sa pagsagot ng mga tanong tulad ng:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aling MCP server ba ang ginamit ng agent?&lt;/li&gt;
&lt;li&gt;Nasa &lt;code&gt;Bash&lt;/code&gt; ba ang failure na ito, sa isang built-in file tool, o sa isang MCP call?&lt;/li&gt;
&lt;li&gt;Aling skill ba ang talagang na-activate?&lt;/li&gt;
&lt;li&gt;Aling subagent type ba ang na-dispatch?&lt;/li&gt;
&lt;li&gt;Productive ba talaga ang ginawa ng session, o nagta-thrash lang?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ang ikalawang klase ng tanong, mas malapit ang sagot sa hooks kaysa sa traces.&lt;/p&gt;
&lt;p&gt;Pero totoo rin ang kabaligtaran: ang ilan sa pinakamahalagang performance na tanong, mas malapit ang sagot sa traces kaysa sa hooks.&lt;/p&gt;
&lt;p&gt;Kung gusto mong malaman kung saan talaga na-accumulate ang latency, aling mga span ang mabagal, o kung nag-burn ba ng oras ang session sa model calls o sa tool execution, kailangan mo ng trace data bukod sa semantic events.&lt;/p&gt;
&lt;h2 id=&quot;ang-architecture-na-naging-resulta&quot;&gt;Ang Architecture na Naging Resulta&lt;/h2&gt;
&lt;p&gt;Dalawang telemetry path ang pinapatakbo namin nang sabay.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Claude Code&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  native OTEL -&amp;gt; Alloy -&amp;gt; Grafana Cloud&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  hooks        -&amp;gt; send_event.py -&amp;gt; Grafana Cloud Loki&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Codex&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  native OTEL -&amp;gt; Alloy -&amp;gt; Grafana Cloud&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  notify hook -&amp;gt; codex_notify.py -&amp;gt; shared Loki schema&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sinadya ang paghahati na iyon.&lt;/p&gt;
&lt;p&gt;Asymmetric din ito. Mas mayaman ang lifecycle hook surface na ibinibigay ng Claude Code sa amin. Nagbibigay naman ang Codex ng native OTEL kasama ng isang notify surface, kaya nino-normalize namin ang mas payat na turn-completion events papunta sa parehong log schema sa halip na magkunwaring pareho ang exposed controls ng dalawang runtime.&lt;/p&gt;
&lt;p&gt;Ang &lt;strong&gt;Native OTEL&lt;/strong&gt; ang nagbibigay sa amin ng baseline stream: logs at traces mula mismo sa runtime, dagdag pa ang metrics kung saan talagang nag-e-emit ang runtime nito.&lt;/p&gt;
&lt;p&gt;Ang &lt;strong&gt;Hook at notify events&lt;/strong&gt; naman ang nagbibigay ng semantic layer: mga bagay tulad ng &lt;code&gt;PreToolUse&lt;/code&gt;, &lt;code&gt;PostToolUse&lt;/code&gt;, &lt;code&gt;PostToolUseFailure&lt;/code&gt;, &lt;code&gt;UserPromptSubmit&lt;/code&gt;, &lt;code&gt;SubagentStop&lt;/code&gt;, &lt;code&gt;SkillActivated&lt;/code&gt;, at ang classified metadata na talagang mahalaga sa amin kapag nagde-debug ng agent behavior. Dito nag-a-ambag ang Claude Code ng mas mayamang event stream. Nag-a-ambag naman ang Codex ng mas payat pero kapaki-pakinabang pa ring normalized stream.&lt;/p&gt;
&lt;h2 id=&quot;bakit-kailangan-talaga-ng-hooks&quot;&gt;Bakit Kailangan Talaga ng Hooks&lt;/h2&gt;
&lt;p&gt;Pinayayaman ng hook pipeline namin ang mga event bago ito tumama sa Loki.&lt;/p&gt;
&lt;p&gt;Sa halip na sabihin lang “may tumakbong tool,” inuuri namin ang event sa mga field tulad ng:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;tool_type&lt;/code&gt;: builtin, mcp, skill, agent, bash&lt;/li&gt;
&lt;li&gt;&lt;code&gt;mcp_server&lt;/code&gt;: aling MCP backend ang humawak sa call&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bash_cli&lt;/code&gt;: ang shell command family&lt;/li&gt;
&lt;li&gt;&lt;code&gt;subagent_type&lt;/code&gt;: anong klaseng specialist ang na-dispatch&lt;/li&gt;
&lt;li&gt;&lt;code&gt;agent_tool&lt;/code&gt;: kung ang pinagmulan ay Claude Code o Codex&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ibig sabihin, makapagtatanong kami ng mga bagay na importante sa operations:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;text&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;{service_name=&quot;claude-code-hooks&quot;} | agent_tool=&quot;codex-cli&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;{service_name=&quot;claude-code-hooks&quot;} | tool_type=&quot;mcp&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;{service_name=&quot;claude-code-hooks&quot;} | json | bash_cli=&quot;git&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Hindi vanity fields lang iyon. Iyon ang pagkakaiba sa pagitan ng “parang mabagal ang agent” at “ginugol ng agent ang huling sampung minuto sa shell-heavy git operations na may mataas na tool failure rate.”&lt;/p&gt;
&lt;p&gt;May isang implementation detail na mas kakaiba ang itsura kaysa sa aktwal: ginagamit pa rin ng shared Loki stream ang &lt;code&gt;service_name=&quot;claude-code-hooks&quot;&lt;/code&gt; bilang label kahit galing pa ito sa Codex. Ang tunay na paghahati sa pagitan ng mga runtime nangyayari sa &lt;code&gt;agent_tool&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&quot;bakit-nasa-gitna-ang-alloy&quot;&gt;Bakit Nasa Gitna ang Alloy&lt;/h2&gt;
&lt;p&gt;Hindi lang forwarder ang Grafana Alloy sa setup na ito. Ito ang policy boundary.&lt;/p&gt;
&lt;p&gt;Itinuturo namin ang native OTEL stream mula sa Claude Code at Codex sa isang local Alloy proxy sa &lt;code&gt;localhost:4318&lt;/code&gt;, tapos hinahayaan ang Alloy na linisin ang payload bago ito i-forward papunta sa Grafana Cloud.&lt;/p&gt;
&lt;p&gt;Mahalaga iyon dahil puno ang raw agent telemetry ng high-cardinality na mga field na kapaki-pakinabang para sa analysis pero nakakatakot naman kung gagawing indexed labels:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;session_id&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;prompt_id&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;token counts&lt;/li&gt;
&lt;li&gt;durations&lt;/li&gt;
&lt;li&gt;mga blob ng parameter ng tool&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Kung ii-index mo lahat, magkakaroon ka ng label explosion at masamang araw.&lt;/p&gt;
&lt;p&gt;Kaya tatlong bagay ang ginagawa ng Alloy para sa amin:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Pinapanatili ang napakaliit na set ng low-cardinality labels na naka-index.&lt;/li&gt;
&lt;li&gt;Inililipat ang maiingay pero kapaki-pakinabang na mga field papunta sa structured metadata.&lt;/li&gt;
&lt;li&gt;Tinatanggal ang purong ingay nang tuluyan.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Simple ang mahalagang ideya dito: &lt;strong&gt;mag-obserba nang mas marami, mag-index nang mas kaunti&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&quot;bakit-nilalampasan-ng-hook-stream-ang-alloy&quot;&gt;Bakit Nilalampasan ng Hook Stream ang Alloy&lt;/h2&gt;
&lt;p&gt;Naka-shape na ang hook stream para sa Loki.&lt;/p&gt;
&lt;p&gt;Sa oras na mag-push ng event ang &lt;code&gt;send_event.py&lt;/code&gt;, nadesisyunan na namin kung aling mga field ang dapat gawing label at alin ang dapat mapunta sa structured JSON body. Deretso na ang stream na iyon papunta sa OTLP gateway ng Grafana Cloud sa halip na dumaan pa ulit sa Alloy.&lt;/p&gt;
&lt;p&gt;Kaya malinaw ang division of labor ng system:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Pinapaamo ng Alloy&lt;/strong&gt; ang raw native OTEL stream.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ginagawang queryable ng hook enrichment&lt;/strong&gt; ang mga semantic event.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Mas pinapanatiling simple nito ang architecture kaysa sa sapilitang pagpasa ng lahat sa isang path.&lt;/p&gt;
&lt;h2 id=&quot;ang-talagang-ipinapakita-ng-dashboard&quot;&gt;Ang Talagang Ipinapakita ng Dashboard&lt;/h2&gt;
&lt;p&gt;Ang screenshot sa ibaba ay mula sa isa sa mga observability dashboard sa likod ng agent workflow namin. Hindi ito benchmark, at ang mga numero ay isang point-in-time slice lang. Ang punto ay ang hugis ng data: feed ng aktibidad, mga tawag sa tool, failure, prompt, at breakdown ayon sa agent, built-in na tool, MCP usage, shell command, at skills.&lt;/p&gt;
&lt;p&gt;Ang kapaki-pakinabang na parte, nasa parehong Grafana stack ang dashboard na ito kasama ang natitirang agent telemetry. Puwede naming i-filter ayon sa source agent at tool family at tingnan ang lahat sa iba’t ibang runtime nang hindi na kailangang mag-imbento ng ibang observability story para sa bawat system.&lt;/p&gt;
&lt;figure class=&quot;feature-figure feature-figure--wide&quot;&gt;
  &lt;a
    href=&quot;https://maguyva.ai/blog/agent-observability-dashboard.png&quot;
    target=&quot;_blank&quot;
    rel=&quot;noreferrer&quot;
    aria-label=&quot;Buksan ang screenshot ng observability dashboard sa full resolution&quot;
  &gt;
    &lt;img
      src=&quot;https://maguyva.ai/blog/agent-observability-dashboard.png&quot;
      alt=&quot;Grafana dashboard na nagpapakita ng feed ng aktibidad, bilang ng mga tawag sa tool, failure, prompt, at breakdown ayon sa agents, built-in na tool, MCP usage, CLI command, at skills para sa isang agent workflow.&quot;
    /&gt;
  &lt;/a&gt;
  &lt;figcaption&gt;
    Isa sa mga live dashboard sa likod ng agent workflow namin. Isang slice lang ito ng shared Grafana stack na tumatanggap din ng telemetry mula sa iba naming agent runtime at system. I-click ang larawan para sa full-resolution na bersyon.
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h2 id=&quot;bakit-mas-mahalaga-ang-traces-kaysa-sa-unang-tingin&quot;&gt;Bakit Mas Mahalaga ang Traces Kaysa sa Unang Tingin&lt;/h2&gt;
&lt;p&gt;Sinasabi sa amin ng logs kung anong kategorya ng trabaho ang nangyari. Sinasabi naman sa amin ng traces kung paano umusad ang trabaho sa paglipas ng oras.&lt;/p&gt;
&lt;p&gt;Mahalaga ang pagkakaibang iyon sa agent systems dahil masyadong malabo ang salitang “mabagal” para maging kapaki-pakinabang.&lt;/p&gt;
&lt;p&gt;Puwedeng sabihin sa amin ng trace kung saan galing ang sakit ng ulo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;latency ng modelo&lt;/li&gt;
&lt;li&gt;oras ng pagpapatakbo ng tool&lt;/li&gt;
&lt;li&gt;paulit-ulit na retries&lt;/li&gt;
&lt;li&gt;isang lalong mahal na MCP interaction&lt;/li&gt;
&lt;li&gt;mahabang buntot ng maliliit na operations na parang wala namang epekto kung tingnan nang paisa-isa&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sa praktika, magkasabay naming ginagamit ang hook stream at ang Tempo traces.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sinasagot ng &lt;strong&gt;Hook logs&lt;/strong&gt;: anong klaseng bagay ang nangyari?&lt;/li&gt;
&lt;li&gt;Sinasagot ng &lt;strong&gt;Traces&lt;/strong&gt;: saan napunta ang oras?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ang kombinasyon ng dalawa ang nagpapalit sa observability mula sa isang dashboard papunta sa isang paliwanag.&lt;/p&gt;
&lt;h2 id=&quot;kung-saan-pumapasok-ang-codex&quot;&gt;Kung Saan Pumapasok ang Codex&lt;/h2&gt;
&lt;p&gt;Bahagi ng parehong stack ang Codex, pero hindi ito kapareho ng Claude Code.&lt;/p&gt;
&lt;p&gt;Para sa Codex, dalawang piraso ang ikinakabit namin:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Native OTEL mula sa Codex papunta sa Alloy&lt;/li&gt;
&lt;li&gt;Isang notify webhook papunta sa &lt;code&gt;codex_notify.py&lt;/code&gt;, na nagma-map ng turn completions papunta sa parehong Loki schema na ginagamit namin para sa hook events&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ibig sabihin, may unified filter kaming tulad ng &lt;code&gt;agent_tool=&quot;codex-cli&quot;&lt;/code&gt; sa loob ng parehong log stream.&lt;/p&gt;
&lt;p&gt;Ang tapat na caveat: mas payat pa ngayon ang notify payload ng Codex kumpara sa hook payload ng Claude Code dahil hindi ito parehong klase ng integration surface. Sa setup namin ngayon, puwedeng i-normalize ang mga turn completion ng Codex papunta sa shared schema, pero mas maganda pa rin ang rich tool-by-tool extraction sa native OTEL stream kaysa sa notify bridge.&lt;/p&gt;
&lt;p&gt;Hindi iyon dahilan para iwasan ang post na ito. Iyon mismo ang punto ng post na ito. Ang tunay na observability system, ginagawa mula sa mga imperfect na signal.&lt;/p&gt;
&lt;h2 id=&quot;binabago-ng-grafana-over-mcp-ang-laro&quot;&gt;Binabago ng Grafana Over MCP ang Laro&lt;/h2&gt;
&lt;p&gt;Ang mas malaking shift, hindi na lang lugar ang Grafana na binibisita ng mga tao sa browser.&lt;/p&gt;
&lt;p&gt;Sa repo na ito, ini-expose din namin ang Grafana sa MCP. Ibig sabihin, puwedeng direktang mag-query ng Loki, Prometheus, at Tempo ang isang agent sa halip na maghintay sa isang tao na manual na tingnan muna ang mga dashboard.&lt;/p&gt;
&lt;p&gt;Ginagawa nito ang observability na isang active input sa workflow.&lt;/p&gt;
&lt;p&gt;Puwedeng magtanong ang isang agent:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aling tool families ang pinakamaraming nag-fail sa nakaraang oras?&lt;/li&gt;
&lt;li&gt;Aling MCP server ang naging dominante sa isang session?&lt;/li&gt;
&lt;li&gt;Binawasan ba ng mga kamakailang pagbabago ang tool failures, o inilipat lang nila ang trabaho papunta sa mas shell-heavy na mga path na may parehong mga pagkakamali?&lt;/li&gt;
&lt;li&gt;Aling mga trace ang nagpapakita ng pinakamataas na latency o paulit-ulit na retries?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Kapag meron ka na niyan, malapit ka na sa isang self-improvement loop.&lt;/p&gt;
&lt;h2 id=&quot;mula-sa-dashboard-papunta-sa-feedback-loop&quot;&gt;Mula sa Dashboard Papunta sa Feedback Loop&lt;/h2&gt;
&lt;p&gt;Ito ang parte na sa amin ang pinaka-interesting.&lt;/p&gt;
&lt;p&gt;Sa oras na queryable na ang observability stack mula sa agent layer, hindi na lang passive reporting surface ang telemetry — nagiging control signal na ito.&lt;/p&gt;
&lt;p&gt;Ganito ang hugis ng loop:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Naglalabas ang agent activity ng traces, metrics, at pinayamang hook logs.&lt;/li&gt;
&lt;li&gt;Iniimbak ng Grafana ang ebidensya sa Loki, Tempo, at Prometheus kung saan mayroong metrics.&lt;/li&gt;
&lt;li&gt;Nagqu-query ang mga agent ng ebidensyang iyon sa pamamagitan ng Grafana MCP.&lt;/li&gt;
&lt;li&gt;Kinikilala ng system ang masamang tool mix, marupok na skills, mahinang routing, o shell-heavy na workflows na patuloy na gumagawa ng maiiwasang pagkakamali.&lt;/li&gt;
&lt;li&gt;Nag-aadjust ang mga agent o operator ng prompts, agent configs, skill descriptions, routing rules, o tool access.&lt;/li&gt;
&lt;li&gt;Nagbubunga ng bagong telemetry shape ang susunod na session, at umuulit ang cycle.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ganoon ka aakyat mula sa “interesting dashboard” papunta sa “measurable improvement system.”&lt;/p&gt;
&lt;p&gt;Hindi ang punto na i-maximize ang isang tool category. Ang punto, mahanap ang tamang timpla ng CLI, built-in tools, MCP calls, at skills para sa trabahong talagang ginagawa.&lt;/p&gt;
&lt;h2 id=&quot;ano-ang-kaya-naming-sagutin-ngayon&quot;&gt;Ano ang Kaya Naming Sagutin Ngayon&lt;/h2&gt;
&lt;p&gt;Sa oras na parehong napunta sa iisang Grafana stack ang dalawang runtime, mas mabilis naming masasagot ang mga operational na tanong:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Nakakonsentra ba ang mga failure sa isang tool family?&lt;/li&gt;
&lt;li&gt;Gumagawa ba ng maiiwasang pagkakamali ang mga shell-heavy na workflow kung saan dapat may mas mataas na antas na tool?&lt;/li&gt;
&lt;li&gt;Aling mga MCP server ang may pinakamabigat na workload?&lt;/li&gt;
&lt;li&gt;Nagbabayad ba kami para sa agent activity na hindi naman nagbubunga ng makabuluhang progreso?&lt;/li&gt;
&lt;li&gt;Hindi ba malusog ang isang session dahil sa model, sa mga tool, o sa orchestration layer?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Lalo itong kapaki-pakinabang sa multi-agent workflows, kung saan wala talagang sinasabi ang “busy ang agent.”&lt;/p&gt;
&lt;p&gt;Kung paulit-ulit na na-dispatch ang isang specialist at gumagawa ng mataas na failure rate, isyu iyon sa routing o sa prompt-shaping.&lt;/p&gt;
&lt;p&gt;Kung isang MCP server ang dominante sa lahat ng calls, puwedeng magandang architecture iyon, o palatandaan na pabigat lang ang lahat ng iba pa.&lt;/p&gt;
&lt;p&gt;Kung biglang tumataas ang tool failures habang mataas pa rin ang cost, isyu iyon sa operations, hindi sa quality.&lt;/p&gt;
&lt;p&gt;Kung paulit-ulit na nabibigo ang shell work sa predictable at maiiwasang paraan kung saan dapat may mas mataas na antas na tool, isyu iyon sa produkto.&lt;/p&gt;
&lt;p&gt;Kung palaging na-a-activate ang isang skill pero hindi naman umaangat ang outcomes, isyu iyon sa prompt o sa routing.&lt;/p&gt;
&lt;h2 id=&quot;ang-tunay-na-aral&quot;&gt;Ang Tunay na Aral&lt;/h2&gt;
&lt;p&gt;Ang mas malalim na aral dito, kailangan ng agent observability ng parehong &lt;strong&gt;telemetry ng runtime&lt;/strong&gt; at &lt;strong&gt;telemetry ng workflow&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Sinasabi sa iyo ng telemetry ng runtime kung ano ang ginawa ng system.&lt;/p&gt;
&lt;p&gt;Sinasabi sa iyo ng workflow telemetry kung ano sa tingin ng agent ang ginagawa nito.&lt;/p&gt;
&lt;p&gt;Kailangan namin ng pareho.&lt;/p&gt;
&lt;p&gt;Kung traces at counters lang ang panatilihin mo, mawawala sa iyo ang semantic layer. Kung hook events lang ang panatilihin mo, mawawala sa iyo ang latency, spans, at ang mas malawak na larawan ng runtime.&lt;/p&gt;
&lt;p&gt;At kung panatilihin mo man ang pareho pero hindi mo ito ipinapakain pabalik sa agent layer, monitoring lang ang meron ka, hindi adaptation.&lt;/p&gt;
&lt;p&gt;Ang kombinasyon ang gumagawa sa system na sapat na maipaliwanag para ma-operate at sapat na ma-tune para umangat.&lt;/p&gt;
&lt;h2 id=&quot;ano-ang-hindi-pa-perpekto&quot;&gt;Ano ang Hindi Pa Perpekto&lt;/h2&gt;
&lt;p&gt;May mga rough edge pa rin.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hindi lahat ng hook event ay may kasamang duration at token data na gusto namin.&lt;/li&gt;
&lt;li&gt;Ang ilan sa pinakamagandang timing view, galing pa rin sa Tempo traces, hindi sa hook logs.&lt;/li&gt;
&lt;li&gt;Mas mababa pa ngayon ang semantic richness ng Codex kumpara sa Claude Code sa enriched event stream.&lt;/li&gt;
&lt;li&gt;Ang dashboard screenshot ay isang live operations surface, hindi isang pinakintab na marketing artifact.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sinadya ang huling punto na iyon. Mas gusto naming ipakita ang tunay na instrument panel kaysa magkunwaring self-explanatory na lang basta-basta ang agent systems.&lt;/p&gt;
&lt;h2 id=&quot;bakit-mahalaga-ito-para-sa-maguyva&quot;&gt;Bakit Mahalaga Ito Para sa Maguyva&lt;/h2&gt;
&lt;p&gt;Ang layunin ng Maguyva, bigyan ang mga agent ng mas magandang code intelligence. Pero sa oras na talagang may kapaki-pakinabang na trabaho na ang mga agent, may bagong requirement na agad na lumilitaw: kailangan mong makita kung paano sila kumikilos.&lt;/p&gt;
&lt;p&gt;Nagiging observable problems ang search quality, routing quality, tool selection, at context efficiency.&lt;/p&gt;
&lt;p&gt;Kaya naman sa tingin namin, sulit itong isulat. Hindi lang prompts at tools ang future agent stack. Prompts, tools, at ang instrumentation layer na nagsasabi sa iyo kung gumagana ba talaga ang buong bagay.&lt;/p&gt;
&lt;p&gt;Kung nagtatayo ka ng seryosong agent workflows, hindi optional infrastructure ang observability. Bahagi ito ng produkto.&lt;/p&gt;
</content:encoded><category>Observability</category><category>Grafana</category><category>OpenTelemetry</category><category>Architecture</category></item><item><title>Mining the Loop: Paano Nagiging Institutional Memory ang mga Pagbabago</title><link>https://maguyva.ai/fil/blog/mining-workflow-closing-the-loop</link><guid isPermaLink="true">https://maguyva.ai/fil/blog/mining-workflow-closing-the-loop</guid><description>Nagiging structured changelog entries at architectural decision records ang mga git commit, tapos pinapakain pabalik ang mga ito sa AI agent bilang queryable na institutional memory.</description><pubDate>Tue, 03 Feb 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Ang mga numero sa post na ito ay sumasalamin sa system noong publication (Pebrero 2026). Tingnan ang aming &lt;a href=&quot;https://maguyva.ai/fil/team&quot;&gt;team page&lt;/a&gt; para sa kasalukuyang mga figure.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Parehong hamon ang hinaharap ng bawat engineering team: patuloy na nangyayari ang mga pagbabago, pero nawawala ang &lt;em&gt;bakit&lt;/em&gt; sa likod ng mga pagbabagong iyon. Anim na buwan pagkatapos, may magtatanong ng “bakit namin pinili ang DuckDB para sa mga pipeline stage?” at ang sagot, nasa ulo lang ng taong gumawa ng desisyong iyon—kung nandiyan pa siya.&lt;/p&gt;
&lt;p&gt;Gumawa kami ng mining workflow na nagsasara ng loop na ito. Dumadaloy ang mga pagbabago sa pamamagitan ng git commits, pino-proseso ng mining pipeline namin, nagiging structured changelog entries at architectural decision records, tapos pinapakain pabalik sa mga AI agent namin sa pamamagitan ng CLI queries. Ang resulta: institutional memory na puwedeng i-access ng parehong tao at AI.&lt;/p&gt;
&lt;h2 id=&quot;ang-problema-nawawala-ang-mga-desisyon&quot;&gt;Ang Problema: Nawawala ang mga Desisyon&lt;/h2&gt;
&lt;p&gt;Isipin ang isang karaniwang senaryo. May kina-commit ang isang developer:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;feat(canonical): add DuckDB runtime for pipeline stages&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Kumakatawan ang commit na ito sa isang makabuluhang architectural choice. Sinuri ng team ang mga opsyon, isinaalang-alang ang mga trade-off, at napunta sa DuckDB dahil sa mga specific na dahilan. Pero lahat ng context na iyon, nakatira sa:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Isang Slack thread (malamang burado na)&lt;/li&gt;
&lt;li&gt;Alaala ng isang tao (siguradong nawawala na)&lt;/li&gt;
&lt;li&gt;Isang comment sa code (baka, kung maswerte ka)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Tatlong buwan pagkatapos, may magtatanong na bagong miyembro ng team: “Dapat ba akong gumamit ng DuckDB o SQLite para sa bagong stage na ito?” Kung walang institutional memory, uulitin nila ang gawaing may solusyon na o gagawa ng hindi magkatugmang mga pagpili.&lt;/p&gt;
&lt;h2 id=&quot;ang-loop-mula-sa-commits-papunta-sa-context&quot;&gt;Ang Loop: Mula sa Commits Papunta sa Context&lt;/h2&gt;
&lt;p&gt;Ginagawang queryable knowledge ng mining workflow namin ang git history:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Git Commits&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;┌─────────────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│  mine sync          │  ← Build index from git history&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─────────────────────┘&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;┌─────────────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│  mine candidates    │  ← Surface commits for review&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─────────────────────┘&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;┌─────────────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│  Classification     │  ← Human or LLM assessment&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│  (changelog or ADR) │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─────────────────────┘&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ├──────────────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ▼                      ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;┌─────────────┐    ┌───────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│ Changelog   │    │ Decisions     │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│ Ledger      │    │ Registry      │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│ (JSONL)     │    │ (YAML files)  │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─────────────┘    └───────────────┘&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    │                      │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ▼                      ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;┌─────────────┐    ┌───────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│ CHANGELOG.md│    │ orkestra CLI  │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;│ per package │    │ queries       │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└─────────────┘    └───────────────┘&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    │                      │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    └──────────────────────┘&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;              │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;              ▼&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;      ┌───────────────┐&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;      │ AI Agents     │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;      │ (via CLI)     │&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;      └───────────────┘&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ang key insight: parehong nagmumula ang changelogs at architectural decisions sa parehong git history, na pinoproseso sa pamamagitan ng iisang unified pipeline. Sinisiguro nito na walang malalampasan.&lt;/p&gt;
&lt;h2 id=&quot;paano-gumagana-ang-mining&quot;&gt;Paano Gumagana ang Mining&lt;/h2&gt;
&lt;h3 id=&quot;hakbang-1-i-sync-ang-index&quot;&gt;Hakbang 1: I-sync ang Index&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; mine&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; sync&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sini-scan ng command na ito ang git history at gumagawa ng index ng lahat ng commit. Kinukuha nito ang structured signals mula sa bawat commit:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Conventional commit type (&lt;code&gt;feat&lt;/code&gt;, &lt;code&gt;fix&lt;/code&gt;, &lt;code&gt;chore&lt;/code&gt;, &lt;code&gt;docs&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Scope (aling package o area)&lt;/li&gt;
&lt;li&gt;Mga marker ng breaking change&lt;/li&gt;
&lt;li&gt;Mga file na nagalaw at complexity metrics&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;hakbang-2-i-check-ang-coverage-status&quot;&gt;Hakbang 2: I-check ang Coverage Status&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; mine&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; status&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ganito ang itsura ng kasalukuyang status namin:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Mining Status&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;=============&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Decisions&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;---------&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  Coverage:        100.0%&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    Processed:     15637  (of 15637)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    Extracted:       476&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    Skipped:       15161&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;Changelog&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;---------&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  Coverage:        100.0%&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    Processed:     15637  (of 15637)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    Released:       6799&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    Skipped:        8838&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;15,637 commits ang naproseso. 476 ang naging architectural decisions. 6,799 ang naging changelog entries. Nauri ang bawat commit.&lt;/p&gt;
&lt;h3 id=&quot;hakbang-3-kumuha-ng-mga-candidate-para-sa-review&quot;&gt;Hakbang 3: Kumuha ng mga Candidate para sa Review&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; mine&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; candidates&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --limit&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; 50&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --full&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ito ang naglalabas ng mga commit na hindi pa naproseso, kasama ng buong context para sa classification:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;json&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;sha&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;90571786d99166c0039ca2e80e4d9cd96184bd85&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;date&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;2026-01-26&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;subject&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;feat(canonical): add DuckDB runtime for pipeline stages&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;signals&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;commit_type&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;feat&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;scope&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;canonical&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;breaking&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;false&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;is_releasable_type&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;domains_affected&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;pipeline&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;data-architecture&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;body&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Establishes DuckDB as canonical in-process analytical database...&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;files_changed&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;packages/canonical/pipelines/stages/duckdb_runtime.py&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;...&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;stats&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: {&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;files&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;8&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;insertions&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;450&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;deletions&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;120&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Tumutulong ang mga signal sa pag-guide ng classification: iminumungkahi ng &lt;code&gt;is_releasable_type: true&lt;/code&gt; na dapat lumitaw ito sa changelog. Iminumungkahi naman ng malaking insertion count at mga infrastructure file na puwede rin itong maging architectural decision.&lt;/p&gt;
&lt;h3 id=&quot;hakbang-4-i-classify-ang-mga-commit&quot;&gt;Hakbang 4: I-classify ang mga Commit&lt;/h3&gt;
&lt;p&gt;Dalawang landas ang nagkakahiwalay dito: changelog entries at architectural decisions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Para sa changelog entries:&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; mine&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; classify&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; abc123&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --changelog&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; added&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Naitatala nito na dapat lumitaw ang commit na &lt;code&gt;abc123&lt;/code&gt; sa changelog sa ilalim ng kategoryang “Added.”&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Para sa architectural decisions:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Una, kumuha ng tunay na decision ID:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; new&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --domain&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; pipeline&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --dry-run&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Returns: DEC-PL-143&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Tapos i-classify gamit ang decision ID:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; mine&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; classify&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; abc123&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --decision&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; DEC-PL-143&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nag-uugnay ito sa commit sa isang decision record na gagawin o iu-update.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Para sa batch processing (ang talagang ginagawa namin):&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Generate classifications file with LLM assistance&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; mine&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; commit&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --input&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; classifications.jsonl&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sinusuportahan ng JSONL format ang parehong domain sa isang pass:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;jsonl&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;sha&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;abc123&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;domain&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;changelog&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;action&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;release&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;category&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;added&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;summary&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Add DuckDB runtime for pipeline stages&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;sha&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;abc123&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;domain&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;decisions&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;action&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;extract&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;decision_id&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;DEC-PL-142&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;sha&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;def456&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;domain&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;changelog&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;action&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;skip&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;&quot;reason&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Chore: dependency update&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;hakbang-5-i-render-ang-mga-output&quot;&gt;Hakbang 5: I-render ang mga Output&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; changelog&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; render&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --package&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; &amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;pk&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;g&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nagbubunga ito ng mga per-package na file na &lt;code&gt;CHANGELOG.md&lt;/code&gt; mula sa ledger. Ang mga changelog, derived artifacts—burahin mo sila at magre-regenerate sila nang perpekto mula sa source ledger.&lt;/p&gt;
&lt;h2 id=&quot;ang-structure-ng-decision-record&quot;&gt;Ang Structure ng Decision Record&lt;/h2&gt;
&lt;p&gt;Nagiging mga YAML file na may mayamang metadata ang mga na-extract na decision:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;DEC-PL-142&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Adopt DuckDB as Canonical Processing Runtime for Pipeline Stages&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;domain&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;pipeline&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;status&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;active&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;created&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&apos;2026-01-26&apos;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;summary&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;  Establishes DuckDB as the canonical in-process analytical database for pipeline&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;  stage transformations. Provides a shared runtime module that resolves settings&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;  from pipeline defaults with stage-level overrides.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;context&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;  Pipeline stages performing data transformations each independently configured&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;  DuckDB connections. This led to inconsistent settings, duplicated configuration&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;  code, and no way to tune DuckDB globally for a pipeline run.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;rationale&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;DuckDB provides efficient in-process OLAP with zero configuration deployment&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Centralized runtime module eliminates duplicated DuckDB setup across stages&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Hierarchical settings enable global tuning with stage-level overrides&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Memory limits and thread counts can be adjusted per-pipeline&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;impact&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  positive&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Consistent DuckDB configuration across all pipeline stages&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Single point of control for memory/thread tuning&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Reduced code duplication in conversion and export stages&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  negative&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Adds dependency on shared runtime module&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Stages must adopt new configuration pattern&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;source_commits&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;sha&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;90571786d99166c0039ca2e80e4d9cd96184bd85&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    message&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&apos;feat(canonical): add DuckDB runtime for pipeline stages&apos;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    date&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&apos;2026-01-26&apos;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    role&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;primary&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;files&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;packages/canonical/pipelines/stages/duckdb_runtime.py&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;packages/canonical/pipelines/runner.py&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;packages/canonical/pipelines/stages/convert_hdx_admin_boundaries_to_geoparquet.py&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;related&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;DEC-DA-014&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;  # Data architecture decisions that influenced this&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bawat decision, may link pabalik sa source commits nito. Bawat decision, tinutukoy kung aling mga file ang naaapektuhan nito. Explicit ang mga relationship sa pagitan ng mga decision.&lt;/p&gt;
&lt;h2 id=&quot;cli-integration-pagqu-query-ng-institutional-memory&quot;&gt;CLI Integration: Pagqu-query ng Institutional Memory&lt;/h2&gt;
&lt;p&gt;Dito nagsasara ang loop. Puwedeng mag-query ng mga decision ang mga agent sa pamamagitan ng CLI:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Search by topic&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --query&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;retry&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nagbabalik ng mga decision tungkol sa retry logic, error handling, recovery patterns.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Get full details on a specific decision&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; info&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; DEC-PL-142&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nagbabalik ng kumpletong decision record na may context, rationale, at impact.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# List recent decisions for context&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; list&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --limit&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; 15&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ipinapakita kung anong mga architectural choice ang ginawa kamakailan.&lt;/p&gt;
&lt;h3 id=&quot;paano-ginagamit-ito-ng-mga-agent&quot;&gt;Paano Ginagamit Ito ng mga Agent&lt;/h3&gt;
&lt;p&gt;Kasama sa baseline instructions ng orchestrator namin:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;markdown&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8;font-weight:bold&quot;&gt;**Essential CLI commands:**&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; `orkestra registry decisions search &quot;X&quot;`&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; — Find architectural decisions&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Kapag hiniling sa isang agent na mag-implement ng may kinalaman sa DuckDB, puwede muna itong mag-check:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --query&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;DuckDB&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;At matuklasan ang DEC-PL-142, matutunan ang:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bakit pinili ang DuckDB (context)&lt;/li&gt;
&lt;li&gt;Paano ito gamitin nang tama (agent_guidance)&lt;/li&gt;
&lt;li&gt;Aling mga file ang titingnan (files)&lt;/li&gt;
&lt;li&gt;Anong mga related na decision ang umiiral (related)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Hindi na kailangang magsimula ulit sa wala ang agent. Bubuo ito sa itinatag nang mga pattern.&lt;/p&gt;
&lt;h2 id=&quot;ang-three-questions-test&quot;&gt;Ang Three Questions Test&lt;/h2&gt;
&lt;p&gt;Hindi karapat-dapat ang bawat commit sa isang decision record. Ginagamit namin ang Three Questions Test para i-filter:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Mahirap ba itong gawin?&lt;/strong&gt; Nangailangan ba ito ng masusing analysis, trade-off evaluation, o debate?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mahal bang baguhin?&lt;/strong&gt; Kailangan ba ng makabuluhang rework para baligtarin ang desisyong ito?&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;May system-wide na epekto ba ito?&lt;/strong&gt; Naaapektuhan ba nito ang maraming package o nagtatatag ba ito ng mga pattern na susundin ng iba?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Kung “oo” ang sagot ng isang commit sa kahit isa sa mga tanong na ito, isa itong candidate para sa decision extraction. Ang karaniwang rate namin: 1-4 na decision kada 100 commit (mga 1-4%).&lt;/p&gt;
&lt;p&gt;Para sa changelog entries, mas mababa ang bar: naitatala ang anumang user-facing na pagbabago (features, fixes, improvements). Karaniwang nili-skip ang internal chores, documentation updates, at refactors. Ang karaniwang rate namin: 30-50 na changelog entry kada 100 commit.&lt;/p&gt;
&lt;h2 id=&quot;pag-imbak-ng-data-append-only-na-ledger&quot;&gt;Pag-imbak ng data: append-only na ledger&lt;/h2&gt;
&lt;p&gt;Gumagamit ang mining system ng append-only JSONL ledgers para sa conflict-free na multi-agent operation:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;packages/orchestration/ai_assets/reference/changelog/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── commits_processed.jsonl  # Classification ledger (both domains)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── release_notes.jsonl      # Changelog entries&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── commits_index.yaml       # Derived index (gitignored)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;packages/orchestration/ai_assets/reference/decisions/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── registry.yaml            # Decision index&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── records/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ├── DEC-AD-001.yaml&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    ├── DEC-AD-002.yaml&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;    └── ...&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ang JSONL format na may &lt;code&gt;merge=union&lt;/code&gt; sa &lt;code&gt;.gitattributes&lt;/code&gt;, ibig sabihin, puwedeng mag-classify ng mga commit ang maraming agent nang sabay-sabay nang walang merge conflicts. Independent ang bawat linya.&lt;/p&gt;
&lt;h2 id=&quot;mga-gate-ng-validation&quot;&gt;Mga gate ng validation&lt;/h2&gt;
&lt;p&gt;Bago ang anumang mining session, nagpapatakbo kami ng validation:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; mine&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; validate&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --quick&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sini-check nito:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bisa ng SHA format&lt;/li&gt;
&lt;li&gt;Pagsunod sa decision ID format&lt;/li&gt;
&lt;li&gt;Walang duplicate entries para sa parehong SHA&lt;/li&gt;
&lt;li&gt;Talagang umiiral ang mga na-reference na decision&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pagkatapos ng classification, nagva-validate kami ulit bago mag-commit ng mga pagbabago.&lt;/p&gt;
&lt;h2 id=&quot;bakit-mahalaga-ito&quot;&gt;Bakit Mahalaga Ito&lt;/h2&gt;
&lt;p&gt;Sinolusyunan ng feedback loop na ginawa namin ang ilang problema:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Para sa mga bagong miyembro ng team:&lt;/strong&gt; Sa halip na magtanong ng “bakit namin ginawa ang X?”, puwede nilang i-search ang decisions registry. Napapanatili ang context.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Para sa mga AI agent:&lt;/strong&gt; Hindi sila nagtatrabaho sa isang vacuum. Puwede nilang i-query ang institutional knowledge bago gumawa ng mga rekomendasyon. Kapag hiniling na magdagdag ng bagong pipeline stage, puwede nilang matuklasan ang DuckDB pattern at sundan ito.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Para sa architectural consistency:&lt;/strong&gt; Explicit at searchable ang mga desisyon. Kapag may nagmumungkahi ng approach na sumasalungat sa umiiral nang desisyon, puwedeng ilabas ng system ang conflict.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Para sa changelog generation:&lt;/strong&gt; Hindi last-minute na pagmamadali ang release notes. Byproduct sila ng patuloy na classification habang nagde-develop.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Para sa onboarding:&lt;/strong&gt; Namamana ng mga bagong agent ang buong context ng codebase. Hindi lang nila nakikita ang code—nakikita rin nila ang mga desisyon na humubog dito.&lt;/p&gt;
&lt;h2 id=&quot;kasalukuyang-estado&quot;&gt;Kasalukuyang Estado&lt;/h2&gt;
&lt;p&gt;Sa ngayon:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;15,637 commits&lt;/strong&gt; ang naproseso sa pipeline&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;476 na architectural decision&lt;/strong&gt; ang na-extract at na-dokumento&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;6,799 changelog entries&lt;/strong&gt; ang naitala&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;100% coverage&lt;/strong&gt; sa parehong domain&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Nauri ang bawat commit mula nang magsimula kami. Kumpleto at queryable ang institutional memory.&lt;/p&gt;
&lt;h2 id=&quot;pagsisimula&quot;&gt;Pagsisimula&lt;/h2&gt;
&lt;p&gt;Kung gusto mong mag-implement ng katulad nito:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Magsimula sa conventional commits.&lt;/strong&gt; Pinakamahusay gumana ang mining pipeline kapag may structured prefix ang mga commit (&lt;code&gt;feat:&lt;/code&gt;, &lt;code&gt;fix:&lt;/code&gt;, &lt;code&gt;chore:&lt;/code&gt;).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;I-define ang mga domain mo.&lt;/strong&gt; Gumagamit kami ng mga domain tulad ng &lt;code&gt;pipeline&lt;/code&gt;, &lt;code&gt;agent-design&lt;/code&gt;, &lt;code&gt;observability&lt;/code&gt;, &lt;code&gt;data-modeling&lt;/code&gt;. Ino-organisa nito ang mga desisyon ayon sa area.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Bumuo ng classification habit.&lt;/strong&gt; Gumagana ang mining kapag regular na nagki-classify ng mga commit ang mga team. Nakakatulong sa pag-scale ang batch processing na may LLM assistance.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Gawing queryable ang mga desisyon.&lt;/strong&gt; Tumataas ang value kapag puwedeng i-search ng mga agent ang mga desisyon sa pamamagitan ng CLI. I-structure ang output mo para sa machine consumption.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Isara ang loop.&lt;/strong&gt; Dapat maimpluwensyahan ng mga desisyon ang hinaharap na trabaho. Isama ang mga decision reference sa agent instructions at code review checklists.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Hindi perpektong documentation ang layunin. Ang gawing accessible sa parehong tao at AI ang &lt;em&gt;bakit&lt;/em&gt; sa likod ng mga pagbabago, ngayon at anim na buwan mula ngayon. Kapag naging institutional memory na ang mga pagbabago, bumubuo ang mga team sa itinatag nang mga pattern sa halip na ulitin ang mga ito.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Bahagi ng orchestration engine namin ang mining workflow, mismong ang context engine module sa orchestration package namin.&lt;/em&gt;&lt;/p&gt;
</content:encoded><category>Architecture</category><category>Workflows</category></item><item><title>Skill Mining: Mula sa 3,500 Kandidato Papunta sa 466 Kakayahan</title><link>https://maguyva.ai/fil/blog/skill-mining-3500-and-counting</link><guid isPermaLink="true">https://maguyva.ai/fil/blog/skill-mining-3500-and-counting</guid><description>Sinala namin ang 3,500 skill candidate at nag-adopt ng 466. Isang sistematikong mining at ingestion loop para sa pagbuo ng coherent na AI agent skill library sa malaking sukat.</description><pubDate>Tue, 27 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Ang mga numero sa post na ito ay sumasalamin sa system noong publication (Enero 2026). Tingnan ang aming &lt;a href=&quot;https://maguyva.ai/fil/team&quot;&gt;team page&lt;/a&gt; para sa kasalukuyang mga figure.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;ang-problema-ng-3500-skill&quot;&gt;Ang Problema ng 3,500 Skill&lt;/h2&gt;
&lt;p&gt;Nang magsimula kaming bumuo ng agent orchestration system, hinarap namin ang isang interesting na hamon: may libo-libong potensyal na skill na nakakalat sa buong AI ecosystem. GitHub repositories, vendor documentation, community projects, internal patterns - kahit saan ay may mga skill. Pero alin ang mahalaga? Alin ang gumagana? At paano ka magpapanatili ng coherent na skill library na talagang magagamit ng mga agent?&lt;/p&gt;
&lt;p&gt;Ang sagot namin: isang sistematikong mining at ingestion loop.&lt;/p&gt;
&lt;h2 id=&quot;ang-mga-numero-ngayon&quot;&gt;Ang mga Numero Ngayon&lt;/h2&gt;
&lt;p&gt;Tatlong buwan lamang matapos ilunsad ng Anthropic ang Agent Skills noong Oktubre 16, 2025, ganito ang aming kalagayan nang ma-publish ang post na ito noong Enero 27, 2026:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Bilang&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Nakilalang candidates&lt;/td&gt;
&lt;td&gt;3,500+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mga na-adopt na skill&lt;/td&gt;
&lt;td&gt;466&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mga skill mula sa vendor&lt;/td&gt;
&lt;td&gt;373&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Panloob na mga skill&lt;/td&gt;
&lt;td&gt;93&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Aktibong vendors&lt;/td&gt;
&lt;td&gt;25+&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Average na tokens bawat skill&lt;/td&gt;
&lt;td&gt;2,834&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Na-reference na tools&lt;/td&gt;
&lt;td&gt;89&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Natatanging tags&lt;/td&gt;
&lt;td&gt;635&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Sinuri namin ang mahigit 3,500 skill candidate. Nag-adopt kami ng 466. Iyon ay 13% na adoption rate - at sinadya ang selectivity na iyon.&lt;/p&gt;
&lt;h2 id=&quot;ang-knowledge-tier-system&quot;&gt;Ang Knowledge Tier System&lt;/h2&gt;
&lt;p&gt;Hindi magkapareho ang lahat ng skill. Ino-organisa namin sila sa limang knowledge layer (K0-K4), bawat isa kumakatawan sa ibang scope ng applicability:&lt;/p&gt;
&lt;h3 id=&quot;k0-mga-pundasyon-universal&quot;&gt;K0: Mga pundasyon (universal)&lt;/h3&gt;
&lt;p&gt;Mga skill na dapat meron ang bawat agent. Kumakatawan ang mga ito sa “good thinker” na capabilities na gumagana kahit saan.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;foundations/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── test-first-discipline       # TDD: Red-Green-Refactor&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── evidence-based-completion   # Verify before claiming done&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── systematic-debugging        # Root cause methodology&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── structured-planning         # Break work into tasks&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── context-budget-awareness    # Manage token consumption&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Portable ang mga K0 skill sa anumang project, anumang domain, anumang stack. In-encode nila ang universal cognitive patterns.&lt;/p&gt;
&lt;h3 id=&quot;k1-mga-identity-disiplina&quot;&gt;K1: Mga identity (disiplina)&lt;/h3&gt;
&lt;p&gt;Mga “good engineer” o “good researcher” na skill na umaapply sa mga project sa loob ng isang discipline.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;identities/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── research-workflows          # Multi-source research&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── web-extraction-playbook     # Content extraction&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── code-review                 # PR review patterns&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── cli-interface-standards     # CLI design patterns&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;k2-mga-domain-dalubhasang-kaalaman-sa-paksa&quot;&gt;K2: Mga domain (dalubhasang kaalaman sa paksa)&lt;/h3&gt;
&lt;p&gt;Mga “good database expert” o “good security engineer” na skill na portable sa loob ng isang field.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;domains/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── schema-migration-workflow   # Safe migration patterns&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── rpc-validation-checklist    # RPC health checks&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── auth-validation-checklist   # JWT/OAuth patterns&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── secrets-audit-checklist     # Credential scanning&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;k3-mga-stack-teknolohiya&quot;&gt;K3: Mga stack (teknolohiya)&lt;/h3&gt;
&lt;p&gt;Mga “good Supabase user” o “good Cloudflare developer” na skill para sa specific na technology stacks.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;stacks/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── maguyva-quickstart          # Our semantic search patterns&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── cloudflare-deployment       # Workers/Pages deployment&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── mcp-tool-best-practices     # MCP tool selection&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;k4-proyekto-organisasyon&quot;&gt;K4: Proyekto (organisasyon)&lt;/h3&gt;
&lt;p&gt;Mga skill na specific sa organisasyon at workflows namin.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;project/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── agent-creation-workflow     # How we build agents&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── skill-authoring-workflow    # How we write skills&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── mining-session-workflow     # This very process&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── vendor-skill-evaluation     # Evaluation rubrics&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;ang-mining-loop&quot;&gt;Ang Mining Loop&lt;/h2&gt;
&lt;h3 id=&quot;yugto-1-pagtuklas&quot;&gt;Yugto 1: Pagtuklas&lt;/h3&gt;
&lt;p&gt;Galing kahit saan ang mga skill:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Vendor Repositories&lt;/strong&gt;: Naglalathala ng skill collections ang AWS, Anthropic, Cloudflare, Supabase, at mga community contributor. Sinusubaybayan namin ang 25+ vendor root.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mga community project&lt;/strong&gt;: Puno ang GitHub ng mga Claude Code template, agent pattern, at workflow definition.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Internal Patterns&lt;/strong&gt;: Habang nireresolba ng team namin ang mga problema, lumalabas ang mga pattern. Nagiging formalized ang mga ito papunta sa mga skill.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Documentation Mining&lt;/strong&gt;: Madalas may implicit na skills ang technical documentation - mga procedure, checklist, decision tree.&lt;/p&gt;
&lt;p&gt;Tuloy-tuloy ang pagtuklas. Gumagamit kami ng skill backlog para subaybayan ang mga candidate bago ang formal evaluation.&lt;/p&gt;
&lt;h3 id=&quot;yugto-2-pagsusuri&quot;&gt;Yugto 2: Pagsusuri&lt;/h3&gt;
&lt;p&gt;Dumadaan ang bawat candidate sa parehong rubric:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;adoption_criteria&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;fills_real_gap&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;      # We lack this capability&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;well_structured&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;     # Progressive disclosure&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;actively_maintained&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt; # Commits in last 6 months&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;portable&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;            # Not hyper-specific&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;tested&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;              # Evidence of usage&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Dapat pumasa ang lahat ng limang product criteria. Kaya naman 87% ng mga candidate ang tinatanggihan.&lt;/p&gt;
&lt;p&gt;Tapos dumadaan ang bawat candidate sa hiwalay na trust review. Hindi namin itinuturing na katumbas na source of truth ang isang official vendor repository, isang kilalang community maintainer, at isang random na GitHub repo.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;trust_review&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  vendor_credibility&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;ownership_verified&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;       # Official vendor, known maintainer, or internal source&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;maintenance_signal&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;       # Recent commits, issue response, release history&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;adoption_signal&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;          # Evidence of real use, stars alone are not enough&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;provenance_clear&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;         # We can trace where the skill came from&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  prompt_injection_scan&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;hidden_instruction_check&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt; # Buried &quot;ignore previous instructions&quot; patterns&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;exfiltration_check&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;       # Prompts that try to leak files, secrets, or context&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;authority_check&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;          # Claims of priority over system or developer rules&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  script_audit&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;inspect_scripts&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;          # Read shell/python/js helpers before adoption&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;network_and_exec_review&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;  # curl|bash, remote downloads, subprocess execution&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;file_and_secret_review&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;   # Env vars, credential access, broad file writes&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;destructive_action_check&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt; # rm, reset, overwrite, or unsafe automation&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nakakakuha ng mas magaan na provenance review ang mga trusted vendor, pero hindi ito free pass. Nakakakuha ng mas malalim na manual audit ang mga untrusted o unknown na source, at hindi namin pinapatakbo ang mga bundled script hangga’t hindi ito nababasa, na-scope, at na-classify na safe.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Pagsusuri ng gap&lt;/strong&gt;: Bago mag-adopt, sini-search namin ang registry:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; skills&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;&amp;lt;capability&amp;gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Kung meron na kami niyan, hindi na namin kailangan. Kung may malapit kaming meron, baka mag-merge kami sa halip na mag-adopt.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Depth at Standards Scoring&lt;/strong&gt;: Sini-score rin namin kung gaano kalubos ginagamit ng isang candidate ang agent-skill model. Puwede pa ring maging kapaki-pakinabang ang nag-iisang &lt;code&gt;SKILL.md&lt;/code&gt;, pero mas mahalaga ang mas malalim na mga skill kapag hinihiwalay nila ang instructions mula sa references, scripts, at assets sa paraang hinihikayat ng &lt;code&gt;agentskills.io&lt;/code&gt;.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;skill_depth&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;level_1&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;SKILL.md only&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;                     # Single instruction file&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;level_2&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;SKILL.md + strong description&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;     # Clear triggers and scope&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;level_3&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;adds references/&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;                  # Load docs only when needed&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;level_4&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;adds atomic scripts/&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;              # Small, reviewable helpers&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;level_5&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;adds assets/examples/templates&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;    # Full progressive disclosure&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;depth_signals&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;standards_adherence&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;        # Structure aligns with agentskills.io conventions&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;reference_quality&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;          # Curated references, not giant context dumps&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;script_atomicity&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;           # Focused helpers, not opaque monoliths&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;tool_boundary_clarity&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;      # Clear limits on what the skill can execute&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;community_signal&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;           # Stars/forks/users help, but only as a weak boost&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Puwedeng bahagyang umangat ang credibility score dahil sa GitHub stars, pero hindi nila kailanman naililigtas ang isang mababaw o hindi ligtas na skill. Ang isang repo na maraming star na may isang malabo na &lt;code&gt;SKILL.md&lt;/code&gt; at opaque na scripts, mas mababa ang score kaysa sa isang mas maliit na repo na may precise na deskripsyon, curated na &lt;code&gt;references/&lt;/code&gt;, at atomic na mga helper na talagang gumagamit ng buong kakayahan ng skill.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Structural Analysis&lt;/strong&gt;: Chine-check namin ang kalidad ng skill:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;wc&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; -l&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; vendor/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;rep&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;o&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;skil&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;l&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/SKILL.md&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;  # Size check&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;ls&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; vendor/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;rep&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;o&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;skil&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;l&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/scripts/&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;     # Supporting files&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;ls&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; vendor/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;rep&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;o&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;skil&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;l&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;/references/&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;  # Bundled docs&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Kung may kasamang scripts ang isang candidate, mas mahigpit ang review na iyon. Ang isang magandang skill, hindi lang kapaki-pakinabang; kailangan din itong legible, bounded, at ligtas na maiabot sa isang agent. Ang safety filter na iyon lang, nagdi-disqualify na ng makabuluhang bahagi ng kung hindi man ay interesting na candidates.&lt;/p&gt;
&lt;h3 id=&quot;yugto-3-pag-ingest&quot;&gt;Yugto 3: Pag-ingest&lt;/h3&gt;
&lt;p&gt;Kapag pumasa sa evaluation ang isang skill, papasok ito sa registry. Pero hindi kailanman ina-adopt ang mga skill nang hindi binabago. Binabago sila para umangkop sa system namin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mga Pagbabago sa Adoption&lt;/strong&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Metadata Normalization&lt;/strong&gt;: Nakukuha ng bawat skill ang frontmatter schema namin&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pagtatalaga ng K-tier&lt;/strong&gt;: Inilalagay ang mga skill sa naaangkop na knowledge layer&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pagpapayaman ng tag&lt;/strong&gt;: Nagdaragdag ng tags para sa discovery&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deklarasyon ng tool&lt;/strong&gt;: Explicit na na-declare ang mga allowed tool&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Pag-align ng seksyon&lt;/strong&gt;: Muling in-a-istruktura ang content para tumugma sa template namin&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Isang karaniwang skill YAML pagkatapos ng ingestion:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;metadata&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  identifier&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor-skill-evaluation&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  name&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor-skill-evaluation&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  description&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Systematic evaluation of vendor skills for adoption.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  type&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;workflow&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  layer&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;K4&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  semantic_folder&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;project&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  source&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;core&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  last_updated&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&apos;2026-01-17&apos;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;frontmatter&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  tags&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;agents&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;meta&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;skill-adoption&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  allowed_tools&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Bash&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Read&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Write&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Edit&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Grep&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Glob&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;Task&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;yugto-4-pagtatalaga-ng-saklaw&quot;&gt;Yugto 4: Pagtatalaga ng saklaw&lt;/h3&gt;
&lt;p&gt;Ini-assign ang mga skill sa mga scope - mga kategorya na tumutukoy kung aling agent ang naglo-load ng aling skill:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;scopes&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  database&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    primary_skills&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;domains/schema-migration-workflow&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;domains/rpc-validation-checklist&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor/supabase/supabase-database&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor/supabase/supabase-auth&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  research&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    primary_skills&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;identities/research-workflows&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;identities/web-extraction-playbook&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;identities/dataset-discovery-quickstart&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Idine-declare ng mga agent ang scope nila, at automatic na ina-assign ang mga skill:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Agent definition&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;scopes&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;database&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;research&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Gets: all database skills + all research skills + universal skills&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;yugto-5-pag-materialize&quot;&gt;Yugto 5: Pag-materialize&lt;/h3&gt;
&lt;p&gt;Hindi nakatira bilang YAML ang mga skill sa production. Ini-render sila papunta sa mga SKILL.md file na puwedeng i-load ng Claude Code:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; sync&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ang command na ito:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Binabasa ang lahat ng skill YAML definition&lt;/li&gt;
&lt;li&gt;Ini-render ang mga ito sa pamamagitan ng Jinja templates&lt;/li&gt;
&lt;li&gt;Isinusulat ang mga SKILL.md file papunta sa &lt;code&gt;.claude/skills/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Ino-organisa ayon sa K-tier (foundations/, identities/, domains/, stacks/, project/)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ang huling output structure:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;.claude/skills/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── foundations/     # K0: Universal&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── identities/      # K1: Discipline&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── domains/         # K2: Subject&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── stacks/          # K3: Technology&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;├── project/         # K4: Organization&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;└── vendor/          # External skills&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;ang-dormant-scope-pattern&quot;&gt;Ang Dormant Scope Pattern&lt;/h2&gt;
&lt;p&gt;Isa sa pinakamalakas naming pattern, ang “adopted-but-not-loaded” na mga skill. Tinatawag namin itong dormant scopes.&lt;/p&gt;
&lt;p&gt;Isipin ang mga scientific computing skill mula sa k-dense-scientific repository. Nag-adopt kami ng 120+ na skill na sumasaklaw sa bioinformatics, chemistry, quantum computing, at clinical informatics. Pero karamihan sa mga agent namin, hindi kailangan ng molecular docking o gene expression analysis.&lt;/p&gt;
&lt;p&gt;Sa halip na i-load ang lahat ng 120 skill sa bawat agent (na nagpapalaki sa context windows), kami ay:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Nag-a-adopt&lt;/strong&gt; ng mga skill na may specific na scope (halimbawa, &lt;code&gt;bioinformatics&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Pinapanatili silang &lt;strong&gt;dormant&lt;/strong&gt; - registered pero hindi naka-load&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ina-enable&lt;/strong&gt; lang sila kapag nag-declare ang isang agent ng scope na iyon&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# In scopes.yaml - dormant scope&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;bioinformatics&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  description&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Bioinformatics and genomics&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  primary_skills&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: []  &lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Empty - skills exist but aren&apos;t loaded&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# When an agent needs bioinformatics:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Agent YAML&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;scopes&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;research&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;bioinformatics&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]  &lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Now loads bioinformatics skills&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Dahil sa pattern na ito, kaya naming magkaroon ng 466 skill sa registry habang karaniwang 40-60 relevant na skill lang ang nilo-load ng mga typical na agent.&lt;/p&gt;
&lt;h2 id=&quot;mga-uri-ng-skill&quot;&gt;Mga Uri ng Skill&lt;/h2&gt;
&lt;p&gt;Dumarating ang mga skill sa tatlong cognitive pattern:&lt;/p&gt;
&lt;h3 id=&quot;workflow-daloy-ng-trabaho&quot;&gt;Workflow (daloy ng trabaho)&lt;/h3&gt;
&lt;p&gt;Ordered na procedural na mga hakbang: “1. Gawin ang X, 2. Tapos ang Y, 3. Sa wakas ang Z”&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;workflow&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Examples: schema-migration-workflow, mining-session-workflow&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;discipline-disiplina&quot;&gt;Discipline (disiplina)&lt;/h3&gt;
&lt;p&gt;Behavioral na mga guardrail: “Palaging X”, “Huwag kailanman Y”, “Mas piliin ang Z”&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;discipline&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Examples: test-first-discipline, evidence-based-completion&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;checklist-listahan-ng-pagsusuri&quot;&gt;Checklist (listahan ng pagsusuri)&lt;/h3&gt;
&lt;p&gt;Mga verification criteria: “Kumpirmahin ang X”, “I-verify ang Y”, “I-check ang Z”&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;type&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;checklist&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Examples: auth-validation-checklist, secrets-audit-checklist&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;mga-gate-ng-kalidad&quot;&gt;Mga gate ng kalidad&lt;/h2&gt;
&lt;p&gt;Kailangang pumasa ang bawat skill sa validation bago ito magship:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;validation&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  file_exists&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;           # Skill file at declared path&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  frontmatter_valid&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;     # Frontmatter parses correctly&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  sections_complete&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;     # Expected sections present&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  tools_registered&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;      # Declared tools exist in registry&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Kailangang 50-400 characters ang mga deskripsyon na may trigger phrases (“Gamitin kapag…”, “Kapag kailangan mo ng…”) para malaman ng Claude Code kung kailan sila imumungkahi.&lt;/p&gt;
&lt;p&gt;Tuloy-tuloy naming vina-validate ito:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; validate&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --show-warnings&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;ang-vendor-ecosystem&quot;&gt;Ang Vendor Ecosystem&lt;/h2&gt;
&lt;p&gt;Ang 373 vendor skills namin, galing sa:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Provider&lt;/th&gt;
&lt;th&gt;Skills&lt;/th&gt;
&lt;th&gt;Domain&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;AWS Agent&lt;/td&gt;
&lt;td&gt;19&lt;/td&gt;
&lt;td&gt;Mga serbisyo sa cloud&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Anthropic&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;Pagbuo ng dokumento&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cloudflare&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;Edge computing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Supabase&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Database&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;k-dense&lt;/td&gt;
&lt;td&gt;100+&lt;/td&gt;
&lt;td&gt;Siyentipikong computing&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;silvainfm&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;Agham ng datos&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Java Developer Kit&lt;/td&gt;
&lt;td&gt;45+&lt;/td&gt;
&lt;td&gt;Spring/Java&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vercel&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Automation ng browser&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Idine-declare ang bawat vendor root sa metadata.yaml:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;vendor_roots&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor/aws-agent-skills&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    provider&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;aws&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor/k-dense-scientific/scientific-skills&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    provider&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;k-dense&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;path&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;vendor/supabase-skills&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    provider&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;supabase&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Kapag pumapatakbo ang &lt;code&gt;orkestra sync&lt;/code&gt;, sini-symlink ang mga vendor skill papunta sa &lt;code&gt;.claude/skills/vendor/&lt;/code&gt; kasama ang provider namespace nila.&lt;/p&gt;
&lt;h2 id=&quot;ano-ang-natutunan-namin&quot;&gt;Ano ang Natutunan Namin&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;May bunga ang selectivity.&lt;/strong&gt; Nakakatukso na i-adopt ang lahat ng mukhang kapaki-pakinabang. Pero may halaga sa tokens ang bawat skill. Sa 2,834 average na token kada skill, mabilis na nagiging problema ang bloat. Pinapanatili ng 13% na adoption rate namin ang mga agent na lean.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nagbibigay-daan ang structure sa discovery.&lt;/strong&gt; Hindi lang organisasyon ang K-tier system - tungkol ito sa portability. Puwedeng magamit muli ang mga K0 skill kahit saan. Sinadyang project-specific ang mga K4 skill. Tinutulungan ng kalinawang ito ang parehong tao at agent na mahanap ang kailangan nila.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nag-sscale ang dormant scopes.&lt;/strong&gt; Puwede kang mag-adopt ng daan-daang skill nang hindi ini-load ang lahat ng ito. Hinahayaan ka ng scopes na bumuo ng comprehensive na registry habang pinapanatiling manageable ang context windows ng indibidwal na agent.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mahalaga ang modification on adoption.&lt;/strong&gt; Bihirang umangkop ang raw na vendor skills sa system mo. Ang ingestion process - pagdagdag ng metadata, pag-assign ng tiers, pagpapayaman ng tags - ang gumagawa sa external na skills na gumana internally.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tuloy-tuloy ang mining.&lt;/strong&gt; Patuloy na lumalaki ang numerong 3,500. May lumalabas na bagong vendor repos. Umuusbong ang community patterns. Lumalakas ang internal workflows. Hindi kailanman humihinto ang loop.&lt;/p&gt;
&lt;h2 id=&quot;ano-ang-susunod&quot;&gt;Ano ang Susunod&lt;/h2&gt;
&lt;p&gt;Nagtatrabaho kami sa ilang improvement:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Awtomatikong pagtuklas ng gap&lt;/strong&gt;: Mag-alerto kapag puwedeng masolusyunan ng isang hindi pa na-adopt na skill ang mga karaniwang agent failure&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Workflow para sa pag-deprecate ng skill&lt;/strong&gt;: Formal na proseso para sa pagretiro ng mga skill na na-supersede o hindi na ginagamit&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dependency sa pagitan ng skill&lt;/strong&gt;: Explicit na declaration ng mga skill prerequisite&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Analytics ng paggamit&lt;/strong&gt;: Subaybayan kung aling mga skill ang talagang tinatawag ng mga agent kumpara sa i-load lang&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Infrastructure ang skill mining loop. Hindi ito kaakit-akit. Pero ito ang gumagawa sa 41 agent na gumana nang coherent kasama ang 466 capabilities habang nananatili sa loob ng context limits.&lt;/p&gt;
&lt;p&gt;Iyon ang kwento kung paano naging 466 ang 3,500. Hindi sa pamamagitan ng pagbalewala sa 3,000 - sa pamamagitan ng sistematikong pagsuri sa kanila at pag-a-adopt lang ng gumagana.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Gustong makita ang skill system sa aksyon? Tingnan ang &lt;code&gt;uv run orkestra skills list&lt;/code&gt; para i-explore ang kasalukuyang registry namin.&lt;/em&gt;&lt;/p&gt;
</content:encoded><category>Architecture</category><category>Skills</category></item><item><title>Progressive Disclosure: Mga Bintanang CLI Papasok sa Agent Systems</title><link>https://maguyva.ai/fil/blog/progressive-disclosure-cli-into-agents</link><guid isPermaLink="true">https://maguyva.ai/fil/blog/progressive-disclosure-cli-into-agents</guid><description>Opaque by default ang agent systems. Nagbibigay ang progressive disclosure sa mga taong nagpapatakbo nito ng layered na CLI view, mula sa mabilisang status check hanggang sa buong agent internals at decision traces.</description><pubDate>Tue, 20 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Ang mga numero sa post na ito ay sumasalamin sa system noong publication (Enero 2026). Tingnan ang aming &lt;a href=&quot;https://maguyva.ai/fil/team&quot;&gt;team page&lt;/a&gt; para sa kasalukuyang mga figure.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Opaque by design ang agent systems. Gumagawa sila ng mga desisyon, tumatawag ng mga tool, at nagko-coordinate ng trabaho sa dose-dosenang specialist. Pero kapag may nasira—o kapag gusto mo lang maintindihan kung ano ang nangyayari—saan ka titingin?&lt;/p&gt;
&lt;p&gt;Ang sagot, progressive disclosure: isang layered na interface na nagbubunyag lang ng eksaktong dami ng complexity na kailangan mo, sa eksaktong sandaling kailangan mo ito.&lt;/p&gt;
&lt;h2 id=&quot;ang-problema-sa-opacity&quot;&gt;Ang Problema sa Opacity&lt;/h2&gt;
&lt;p&gt;Puwedeng magkaroon ang isang modernong agent orchestration system ng:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;40+ specialist agent, bawat isa may natatanging capabilities&lt;/li&gt;
&lt;li&gt;700+ skill na sumasaklaw sa internal automation at vendor integrations&lt;/li&gt;
&lt;li&gt;470+ architectural decision na humuhubog sa behavior&lt;/li&gt;
&lt;li&gt;Dose-dosenang MCP tool server na nagbibigay ng external capabilities&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sinadya ang complexity na ito. Kailangan ng mga agent ng access sa mayamang context—domain knowledge, code intelligence, database schemas—para gumawa ng magagandang desisyon. Pero ang parehong kayamanang iyon, gumagawa ng problema sa visibility.&lt;/p&gt;
&lt;p&gt;Paano mo malalaman kung aling agent ang humahawak ng database migrations? Anong mga desisyon ang humubog sa ranking behavior ng search system? Aling mga tool ang puwedeng gamitin ng architecture advisor?&lt;/p&gt;
&lt;p&gt;Kung walang structured na access, mababasa mo na lang ang source code o umaasang updated ang documentation.&lt;/p&gt;
&lt;h2 id=&quot;progressive-disclosure-bilang-architecture&quot;&gt;Progressive Disclosure Bilang Architecture&lt;/h2&gt;
&lt;p&gt;Hindi lang isang UI pattern ang progressive disclosure. Isa itong architectural principle: i-organisa ang impormasyon sa mga layer, bawat isa ay mas detalyado kaysa sa nauna, para makapag-stop ang mga user sa level na sumasagot sa tanong nila.&lt;/p&gt;
&lt;p&gt;Para sa agent systems, isinasalin ito sa mga CLI command sa tumataas na lalim:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Level&lt;/th&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Tanong na Nasasagot&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;code&gt;orkestra system status&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Malusog ba ang lahat?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;code&gt;orkestra agents list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Anong mga agent ang umiiral?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;td&gt;&lt;code&gt;orkestra agents info &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Ano ang ginagawa ng agent na ito?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;code&gt;orkestra decisions search&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Bakit ganito ito gumagana?&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Mga MCP tool ng Maguyva&lt;/td&gt;
&lt;td&gt;Ipakita mo sa akin ang code.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Sinasagot ng bawat level ang natural na follow-up na tanong. Bihira mong kailanganing tumalon deretso sa level 5.&lt;/p&gt;
&lt;h2 id=&quot;level-1-kalusugan-ng-system&quot;&gt;Level 1: Kalusugan ng System&lt;/h2&gt;
&lt;p&gt;Ang unang tanong, palaging: gumagana ba ang lahat?&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; system&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; status&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;json&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;agents&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;40&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;skills_internal&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;466&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;skills_vendor&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;240&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;skills_total&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;706&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;commands&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;17&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Isang command. Apat na numero. Sapat na para malaman na naka-configure ang system at populated ang mga registry.&lt;/p&gt;
&lt;p&gt;Kung biglang bumaba ang bilang ng agent o nabigo ang paglo-load ng skills, makikita mo ito rito muna. Walang kailangang log diving.&lt;/p&gt;
&lt;h2 id=&quot;level-2-inventory-ng-agent&quot;&gt;Level 2: Inventory ng Agent&lt;/h2&gt;
&lt;p&gt;Kapag alam mo nang malusog ang system, ang susunod na tanong: ano ang available?&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; agents&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; list&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nagbabalik ito ng structured data—mga pangalan ng agent, descriptions, model preferences, domain coverage. JSON by default ang output, madaling i-pipe papunta sa &lt;code&gt;jq&lt;/code&gt; para sa filtering:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; agents&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; list&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; |&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; jq&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &apos;.agents[] | select(.model == &quot;opus&quot;) | .name&apos;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Gusto mo ng mga agent na humahawak ng database work? Pinapaliit ito ng search command:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; agents&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;database&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sini-scan nito ang mga pangalan, deskripsyon, at capabilities. Mahahanap mo ang tamang specialist nang hindi na kailangang basahin ang 40 agent definition.&lt;/p&gt;
&lt;h2 id=&quot;level-3-deep-dive-sa-agent&quot;&gt;Level 3: Deep Dive sa Agent&lt;/h2&gt;
&lt;p&gt;Nakahanap ng agent na mukhang relevant? Ibinubunyag ng command na &lt;code&gt;info&lt;/code&gt; ang lahat:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; agents&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; info&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; architecture-advisor&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Kasama sa output:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Metadata&lt;/strong&gt;: Pangalan, kategorya, model preference, deskripsyon&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Domains&lt;/strong&gt;: Aling mga knowledge area ang sinasaklaw ng agent na ito&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Identity&lt;/strong&gt;: Mga katangian ng karakter (architect, strategist, knowledge-architect)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mga gabay sa tool&lt;/strong&gt;: Aling tool documentation ang ini-inject sa context&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tools&lt;/strong&gt;: Ang buong listahan ng MCP tool na available sa agent na ito&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Narito ang sample ng makikita mo:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;jsonc&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;metadata&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;name&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;architecture-advisor&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;model&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;opus&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;description&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Strategic decision-making and architectural guidance...&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  },&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;domains&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;product&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;development/architecture&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;meta/strategy&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  ],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;tools&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;mcp_tools&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;      &quot;mcp__maguyva__intelligent_search&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;      &quot;mcp__maguyva__analyze_dependencies&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;      &quot;mcp__supabase__execute_sql&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FDAEB7;font-style:italic&quot;&gt;      ...&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    ]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sinasabi nito sa iyo nang eksakto kung ano ang kaya ng agent. Hindi na kailangan ng source code.&lt;/p&gt;
&lt;h2 id=&quot;antas-4-arkeolohiya-ng-desisyon&quot;&gt;Antas 4: Arkeolohiya ng desisyon&lt;/h2&gt;
&lt;p&gt;Kumikilos ang mga agent ayon sa mga naitalang desisyon. Kapag kailangan mong maintindihan ang &lt;em&gt;bakit&lt;/em&gt; gumagana ang isang bagay sa isang particular na paraan, ang decisions registry ang source of truth.&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;agent&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nagbabalik ito ng mga tumutugmang architectural decision:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;json&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;results&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      &quot;id&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;DEC-SR-049&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      &quot;title&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;AI-Agent-First Defaults with Graph Intelligence&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      &quot;domain&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;search&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      &quot;status&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;active&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  ]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Bawat desisyon, may buong provenance—kailan ito ginawa, bakit, anong mga trade-off ang isinaalang-alang, aling mga commit ang nag-implement nito:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; info&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; DEC-SR-049&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;json&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;id&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;DEC-SR-049&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;title&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;AI-Agent-First Defaults with Graph Intelligence&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;summary&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Changes default values for search tools to AI-agent-optimal behavior...&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;rationale&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;AI agents work better with pre-ranked, importance-weighted results&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;Graph metrics already computed by pipeline - leverage them&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    &quot;Community context helps agents understand feature scope in single query&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  ],&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;source_commits&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      &quot;sha&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;156a880d05eae295669ef7c194b039023f245511&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;      &quot;message&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;feat(maguyva): enable boost_by_importance...&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  ]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ito ang architectural documentation na nananatiling current dahil kinukuha ito mula sa mga commit, hindi manually maintained.&lt;/p&gt;
&lt;h2 id=&quot;level-5-direktang-code-intelligence&quot;&gt;Level 5: Direktang Code Intelligence&lt;/h2&gt;
&lt;p&gt;Kapag kailangan mong makita ang aktwal na implementation—hindi metadata tungkol dito—nagbibigay ng direktang access ang mga MCP tool ng Maguyva.&lt;/p&gt;
&lt;p&gt;Mula sa loob ng isang agent session:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;mcp__maguyva__intelligent_search&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  query: &quot;agent context loading&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Auto-routes ito sa semantic, text, at AST search para mahanap ang relevant na code. Para sa mga specific na symbol:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;mcp__maguyva__find_symbol&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  symbol_name: &quot;load_agent_context&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Para sa dependency analysis:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;mcp__maguyva__analyze_dependencies&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  target: &quot;packages/orchestration/core/agents.py&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Hindi lang ito mga grep replacement. Graph-aware sila, semantically indexed, at integrated sa parehong code intelligence na nagpapatakbo sa mga agent mismo.&lt;/p&gt;
&lt;h2 id=&quot;unified-search-sa-lahat-ng-registry&quot;&gt;Unified Search Sa Lahat ng Registry&lt;/h2&gt;
&lt;p&gt;Minsan, hindi mo alam kung aling registry ang may hawak ng sagot. Sinasaklaw ng unified search ang lahat:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;$&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;database&quot;&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --summary&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;json&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;{&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;query&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;database&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;total&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;254&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;  &quot;counts&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: {&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;agents&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;40&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;skills&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;59&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;decisions&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;476&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;truths&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    &quot;packages&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;1&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  }&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;254 na tugma sa limang registry. Sinasabi sa iyo ng summary kung saan mag-drill down. Alisin ang &lt;code&gt;--summary&lt;/code&gt; para sa detalyadong resulta, o idagdag ang &lt;code&gt;--limit 5&lt;/code&gt; para panatilihing manageable ang output.&lt;/p&gt;
&lt;h2 id=&quot;bakit-mahalaga-ito&quot;&gt;Bakit Mahalaga Ito&lt;/h2&gt;
&lt;p&gt;Hindi lang tungkol sa convenience ang progressive disclosure. Binabago nito kung paano ka nakikipag-interact sa mga komplikadong system.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nagiging tractable ang debugging.&lt;/strong&gt; Kapag gumawa ang isang agent ng hindi inaasahang desisyon, hindi ka nagge-grep sa mga log. Chine-check mo kung aling mga tool ang maaari nitong i-access (&lt;code&gt;agents info&lt;/code&gt;), anong mga desisyon ang humuhubog sa behavior nito (&lt;code&gt;decisions search&lt;/code&gt;), at sinusubaybayan ang implementation kung kailangan (&lt;code&gt;intelligent_search&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mas mabilis ang onboarding.&lt;/strong&gt; Hindi kailangang basahin ng mga bagong miyembro ng team ang buong codebase. Nagsisimula sila sa &lt;code&gt;system status&lt;/code&gt;, nag-e-explore gamit ang &lt;code&gt;agents list&lt;/code&gt;, at lumalalim lang kapag may nadatnan silang hindi nila maintindihan.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nananatiling current ang documentation.&lt;/strong&gt; Dahil binabasa ng CLI ang parehong mga registry na nag-configure sa mga agent, laging tumpak ang output. Walang drift sa pagitan ng sinasabi ng docs at ginagawa ng system.&lt;/p&gt;
&lt;h2 id=&quot;ang-cli-bilang-interface&quot;&gt;Ang CLI Bilang Interface&lt;/h2&gt;
&lt;p&gt;Puwede kaming gumawa ng web dashboard. Puwede kaming sumulat ng masusing documentation. Sa halip, gumawa kami ng CLI na nagbabasa mula sa source of truth.&lt;/p&gt;
&lt;p&gt;May mga bentahe ang CLI:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Composable&lt;/strong&gt;: I-pipe ang output sa pamamagitan ng &lt;code&gt;jq&lt;/code&gt;, i-integrate sa mga script&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scriptable&lt;/strong&gt;: I-automate ang mga check, gumawa ng mga report&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mabilis&lt;/strong&gt;: Walang page loads, walang authentication flows&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tumpak&lt;/strong&gt;: Binabasa ang aktwal na configuration, hindi isang cached na representasyon&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para sa mga system kung saan mas mahalaga ang correctness kaysa aesthetics, panalo ang CLI.&lt;/p&gt;
&lt;h2 id=&quot;paggawa-ng-sarili-mong-progressive-disclosure&quot;&gt;Paggawa ng Sarili Mong Progressive Disclosure&lt;/h2&gt;
&lt;p&gt;Kung gumagawa ka ng agent systems, isaalang-alang kung paano sisiyasatin ito ng mga user:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Magsimula sa health checks.&lt;/strong&gt; Isang command na nagsasabi sa iyo kung gumagana ang mga bagay.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Magbigay ng inventory views.&lt;/strong&gt; Ilista kung ano ang umiiral bago ipaliwanag kung ano ang ginagawa nito.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Paganahin ang targeted na queries.&lt;/strong&gt; Mas mahusay ang search kaysa sa pag-browse kapag malaking sukat.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ibunyag ang provenance.&lt;/strong&gt; Hayaan ang mga user na subaybayan ang mga desisyon pabalik sa pinagmulan nila.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ikonekta sa code intelligence.&lt;/strong&gt; Sa huli, kailangang makita ng mga user ang implementation.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Sinasagot ng bawat layer ang isang follow-up na tanong. Buuin ang mga ito ayon sa frequency—karamihan sa mga user, humihinto sa layer 2 o 3. Mga power user lang ang umaabot sa layer 5.&lt;/p&gt;
&lt;p&gt;Hindi ang pagbubunyag ng lahat ang punto. Ang punto, ibunyag ang eksaktong kailangan, sa eksaktong sandaling kailangan ito. Iyon ang progressive disclosure na inilapat sa agent architecture.&lt;/p&gt;
</content:encoded><category>Architecture</category><category>CLI</category><category>Tooling</category></item><item><title>Mga Batayang Katotohanan: Pag-anchor ng mga AI Agent sa Realidad</title><link>https://maguyva.ai/fil/blog/ground-truths-anchoring-ai-to-reality</link><guid isPermaLink="true">https://maguyva.ai/fil/blog/ground-truths-anchoring-ai-to-reality</guid><description>Confidenteng nagha-hallucinate ang mga AI agent. Ang mga Ground Truth ay versioned, scoped na katotohanan na nag-aanchor sa agent behavior papunta sa realidad. Ganito namin ito ginawa at pinapatupad.</description><pubDate>Tue, 13 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Ang mga numero sa post na ito ay sumasalamin sa system noong publication (Enero 2026). Tingnan ang aming &lt;a href=&quot;https://maguyva.ai/fil/team&quot;&gt;team page&lt;/a&gt; para sa kasalukuyang mga figure.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Talagang mahusay ang mga AI agent. Kaya nilang mangatwiran, mag-synthesize, at gumawa. Pero may fundamental na kahinaan sila: gumagawa-gawa sila ng mga bagay. Hindi dahil may masamang intensyon, kundi confidenteng ginagawa nila ito. Puwedeng mag-imbento ang isang agent ng mga API parameter na wala talaga, mag-reference ng mga configuration na hindi naman na-define, o mag-apply ng mga pattern mula sa training data nito na sumasalungat sa totoong architecture mo.&lt;/p&gt;
&lt;p&gt;Ang standard na solusyon, “bigyan ang agent ng mas maraming context.” Pero puwedeng magkasalungat ang context. Lumalayo ang documentation mula sa implementation. Nagsisinungaling ang mga comment. Kahit ang code, puwedeng makapagligaw kung babasahin nang walang pag-unawa sa intent.&lt;/p&gt;
&lt;p&gt;Kailangan namin ng mas explicit na bagay. Isang bagay na hindi maaaring balewalain o maling maintindihan. Isang bagay na mag-a-anchor sa mga agent papunta sa napatunayang realidad.&lt;/p&gt;
&lt;p&gt;Tinatawag namin itong mga batayang katotohanan.&lt;/p&gt;
&lt;h2 id=&quot;ano-ang-isang-ground-truth&quot;&gt;Ano ang isang Ground Truth?&lt;/h2&gt;
&lt;p&gt;Ang isang ground truth ay isang explicit, versioned na pahayag ng katotohanan na dapat igalang ng mga agent. Hindi ito documentation. Hindi ito isang comment. Ito ay isang first-class entity sa system na may:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Isang unique identifier&lt;/strong&gt; (tulad ng &lt;code&gt;GT-MAG-015&lt;/code&gt; o &lt;code&gt;GT-MAG-036&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Isang lifecycle status&lt;/strong&gt; (current, tentative, o deprecated)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Isang scope&lt;/strong&gt; (platform-wide, package-specific, o domain-bound)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Evidence&lt;/strong&gt; (mga file path, URL, o reference na nagpapatunay sa pahayag)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agent guidance&lt;/strong&gt; (explicit na do/avoid na mga instruction)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Narito ang isang halimbawa mula sa aming Maguyva code intelligence platform:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-015&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  status&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;current&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  scope&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;package&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  statement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Fuzzy symbol matching is opt-in via `find_similar=true`.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Default behavior returns empty results for non-existent symbols;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    `exact_match=true` enforces strict matching and disables all fuzzy fallbacks.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  rationale&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Deterministic defaults prevent agents from receiving misleading results.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Typos should fail explicitly rather than silently returning unrelated symbols.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  evidence&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;packages/maguyva/server/src/maguyva/services/code_analysis_service.py&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;packages/maguyva/server/docs/quick_reference/parameters.md&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  last_verified&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;2026-01-25&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  tags&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;product&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;ai_first&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;principle&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Hindi ito prose. Isa itong kontrata. Kapag nakita ng isang agent ang ground truth na ito, alam nito:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Deterministic ang default (walang laman na resulta, hindi fuzzy na hula)&lt;/li&gt;
&lt;li&gt;May mga specific na parameter (&lt;code&gt;find_similar&lt;/code&gt;, &lt;code&gt;exact_match&lt;/code&gt;) na may defined na behavior&lt;/li&gt;
&lt;li&gt;May ebidensyang nasa mga specific na file na puwedeng ma-verify&lt;/li&gt;
&lt;li&gt;Na-verify ang pahayag sa isang specific na petsa&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&quot;ang-anatomiya-ng-isang-ground-truth-registry&quot;&gt;Ang Anatomiya ng isang Ground Truth Registry&lt;/h2&gt;
&lt;p&gt;Nakatira ang mga ground truth sa mga YAML registry sa ilalim ng &lt;code&gt;ai_assets/reference/ground_truths.yaml&lt;/code&gt;. Bawat package o domain, puwedeng may sariling registry. Ganito ang structure:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;metadata&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  title&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Maguyva Ground Truths&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  summary&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Foundational constraints and principles that guide Maguyva.&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  last_updated&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;2026-01-26&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  owner&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;maguyva&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  render&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    include_statuses&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;current&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;tentative&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    show_deprecated&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;true&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    groups&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Product Principles&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;        tags&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;product&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;principle&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;brand&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;title&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Architecture &amp;amp; Boundaries&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;        tags&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: [&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;architecture&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;boundaries&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;cqrs&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;statements&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-001&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    status&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;current&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    scope&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;package&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    statement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Maguyva is read-only with respect to user repositories...&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    ...&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Kasama sa registry ang metadata tungkol sa koleksyon mismo, render configuration para sa pagbuo ng documentation, at ang mga pahayag mismo. Bawat pahayag ay sumusunod sa isang mahigpit na schema na na-validate ng mga Pydantic model:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;python&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;class&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; GroundTruthStatement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;BaseModel&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;):&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;    id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;str&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    status: GTStatus  &lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# current, tentative, deprecated&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    source: GTSource &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; None&lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;  # claude-code, orkestra, discipline&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    scope: GTScope  &lt;/span&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# platform, package, domain&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    statement: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;str&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    rationale: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; |&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; None&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    evidence: list[&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    last_verified: &lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt; |&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; None&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    tags: list[&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;str&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;]&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    agent_guidance: AgentGuidance &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; None&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;paano-nag-a-access-ang-mga-agent-sa-mga-batayang-katotohanan&quot;&gt;Paano nag-a-access ang mga agent sa mga batayang katotohanan&lt;/h2&gt;
&lt;p&gt;Ini-expose ang mga ground truth sa iba’t ibang channel:&lt;/p&gt;
&lt;h3 id=&quot;1-naka-render-na-dokumentasyon&quot;&gt;1. Naka-render na Dokumentasyon&lt;/h3&gt;
&lt;p&gt;Ginagawa ng command na &lt;code&gt;orkestra sync&lt;/code&gt; ang mga YAML registry papunta sa mababasang markdown:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; sync&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nagbubunga ito ng mga file na &lt;code&gt;GROUND_TRUTHS.md&lt;/code&gt; na kasama sa agent context. Ini-group ng rendered output ang mga pahayag ayon sa status at kategorya:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;markdown&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF;font-weight:bold&quot;&gt;## Current&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF;font-weight:bold&quot;&gt;### Product Principles&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; Maguyva is read-only with respect to user repositories... (GT-MAG-001)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; Design tool responses for AI agents first... (GT-MAG-009)&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#79B8FF;font-weight:bold&quot;&gt;### Architecture &amp;amp; Boundaries&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; Pipeline and Maguyva boundaries are intentional... (GT-MAG-006)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;2-paghahanap-sa-cli&quot;&gt;2. Paghahanap sa CLI&lt;/h3&gt;
&lt;p&gt;Puwedeng mag-search ang mga agent na may shell access ng ground truths nang programmatic:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; truths&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;embedding&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; truths&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --tag&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; security&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;uv&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; run&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; registry&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; truths&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; list&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --status&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; current&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nagbibigay ng score ang search function sa mga match sa iba’t ibang field gamit ang weighted relevance:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;python&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;def&lt;/span&gt;&lt;span style=&quot;color:#B392F0&quot;&gt; truth_fields&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;(gt: GroundTruthStatement) -&amp;gt; list[FieldSpec]:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#F97583&quot;&gt;    return&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; [&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        FieldSpec(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;id&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;weight&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;6&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;values&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;[gt.id]),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        FieldSpec(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;statement&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;weight&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;values&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;[gt.statement]),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        FieldSpec(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;rationale&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;weight&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;4&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;values&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;[gt.rationale] &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;if&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; gt.rationale &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; []),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        FieldSpec(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;tags&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;weight&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;3&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;values&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;gt.tags &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; []),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;        FieldSpec(&lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;name&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;evidence&quot;&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;weight&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;, &lt;/span&gt;&lt;span style=&quot;color:#FFAB70&quot;&gt;values&lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;gt.evidence &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;or&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt; []),&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    ]&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;3-komposisyon-ng-konteksto&quot;&gt;3. Komposisyon ng Konteksto&lt;/h3&gt;
&lt;p&gt;Kapag rendered ang mga agent mula sa mga YAML definition, puwedeng mag-reference ang context nila sa mga ground truth registry:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;context_composition&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  domain_knowledge&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;packages/maguyva/ai_assets/reference/ground_truths.yaml&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Sinisiguro nito na nakaload na ang mga relevant na ground truth bago magsimula ng trabaho ang agent.&lt;/p&gt;
&lt;h2 id=&quot;mga-kategorya-ng-mga-batayang-katotohanan&quot;&gt;Mga Kategorya ng mga batayang katotohanan&lt;/h2&gt;
&lt;p&gt;Kapag tiningnan ang aming mga registry, nag-cluster ang mga ground truth sa ilang pattern:&lt;/p&gt;
&lt;h3 id=&quot;mga-prinsipyo-ng-produkto&quot;&gt;Mga prinsipyo ng produkto&lt;/h3&gt;
&lt;p&gt;Mga hangganan sa kung ano ang produkto at kung ano ito hindi:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Read-only ang Maguyva pagdating sa mga repository ng user; ang tanging non-rebuildable na asset ay ang paid embeddings cache.” (GT-MAG-001)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;mga-hangganan-ng-arkitektura&quot;&gt;Mga Hangganan ng Arkitektura&lt;/h3&gt;
&lt;p&gt;Saan nakatira ang mga responsibilidad at bakit:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Sinadya ang mga hangganan ng pipeline at Maguyva: reusable ang pipeline, hawak ng Maguyva ang code-specific na logic, at ihinihiwalay ng CQRS ang stage writes mula sa server reads.” (GT-MAG-006)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;mga-tuntunin-laban-sa-hallucination&quot;&gt;Mga tuntunin laban sa hallucination&lt;/h3&gt;
&lt;p&gt;Explicit na mandato na nagpapanatiling deterministic sa halip na inferred ang mga tool contract:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Opt-in ang fuzzy symbol matching sa pamamagitan ng &lt;code&gt;find_similar=true&lt;/code&gt;. Nagbabalik ang default na behavior ng walang laman na resulta para sa mga hindi umiiral na symbol; pinapatupad ng &lt;code&gt;exact_match=true&lt;/code&gt; ang strict matching at dini-disable ang lahat ng fuzzy fallback.” (GT-MAG-015)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;mga-gate-ng-kalidad&quot;&gt;Mga gate ng kalidad&lt;/h3&gt;
&lt;p&gt;Mga standard na kailangang mapanatili:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Ang mga pagbabago sa shared infrastructure (post_filters.py, relationship extractors, shared handlers) AY DAPAT ma-validate laban sa LAHAT ng suportadong wika sa pamamagitan ng full manifest generation bago mag-commit. Hindi sapat ang single-language validation para sa shared code.” (GT-MAG-036)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&quot;mga-pattern-ng-code&quot;&gt;Mga Pattern ng Code&lt;/h3&gt;
&lt;p&gt;Mga implementation requirement:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Gamitin ang &lt;code&gt;asyncio.to_thread()&lt;/code&gt; para sa CPU-bound na trabaho sa async contexts; hindi dapat gamitin ang deprecated na pattern na &lt;code&gt;loop.run_in_executor()&lt;/code&gt; sa bagong code.” (GT-MAG-018)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&quot;ang-lifecycle-ng-isang-ground-truth&quot;&gt;Ang Lifecycle ng isang Ground Truth&lt;/h2&gt;
&lt;p&gt;Hindi static ang mga ground truth. Umuunlad sila sa pamamagitan ng isang defined na lifecycle:&lt;/p&gt;
&lt;h3 id=&quot;tentatibo&quot;&gt;Tentatibo&lt;/h3&gt;
&lt;p&gt;Isang iminumungkahing katotohanan na sinusuri pa. Naitala ang pahayag pero puwede pa itong magbago:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-044&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  status&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;tentative&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  statement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    get_file with include_metadata=false may still return metadata in the&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    response because middleware may re-inject it for AI agent disambiguation.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;kasalukuyan&quot;&gt;Kasalukuyan&lt;/h3&gt;
&lt;p&gt;Isang na-verify na katotohanan na dapat igalang ng mga agent. Na-validate na ang ebidensya:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-017&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  status&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;current&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  last_verified&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;2026-01-26&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  evidence&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;    - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;packages/maguyva/server/src/maguyva/services/supabase.py&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h3 id=&quot;deprecated-hindi-na-ginagamit&quot;&gt;Deprecated (Hindi na Ginagamit)&lt;/h3&gt;
&lt;p&gt;Isang katotohanan na hindi na umaapply. Iniingatan para sa historical reference kasama ang pointer sa pumalit dito:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-099&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  status&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;deprecated&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  superseded_by&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-015&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  notes&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Replaced when we moved to explicit matching behavior&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;h2 id=&quot;bakit-hindi-documentation-na-lang&quot;&gt;Bakit Hindi Documentation na Lang?&lt;/h2&gt;
&lt;p&gt;Ibang layunin ang pinaglilingkuran ng documentation. Nagpapaliwanag ito. Nagtuturo ito. Puwede itong maging vague, puwedeng gumamit ng mga qualifier tulad ng “generally” o “typically.”&lt;/p&gt;
&lt;p&gt;Hindi puwedeng maging vague ang mga ground truth. Mga assertion sila. Umaapply sila o hindi.&lt;/p&gt;
&lt;p&gt;Tingnan ang pagkakaiba:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Documentation:&lt;/strong&gt; “Karaniwang nagbabalik ang API ng walang laman na resulta kapag hindi nahanap ang isang symbol, bagaman puwedeng naka-enable ang fuzzy matching sa ilang configuration.”&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ground Truth:&lt;/strong&gt; “Nagbabalik ang default na behavior ng walang laman na resulta para sa mga hindi umiiral na symbol; pinapatupad ng &lt;code&gt;exact_match=true&lt;/code&gt; ang strict matching at dini-disable ang lahat ng fuzzy fallback.”&lt;/p&gt;
&lt;p&gt;Ang una, kapaki-pakinabang para sa mga taong natututo sa system. Ang ikalawa, actionable para sa mga agent na gumagawa ng desisyon.&lt;/p&gt;
&lt;h2 id=&quot;agent-guidance-gawin-at-iwasan&quot;&gt;Agent Guidance: Gawin at Iwasan&lt;/h2&gt;
&lt;p&gt;May kasamang explicit na agent guidance ang ilang ground truth:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-022&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  statement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Accuracy fixes must happen at extraction time via production code,&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    never via validator filters.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  agent_guidance&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    do&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Fix extraction bugs in YAML config, handlers, or tree-sitter queries&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Add test cases at the layer where the fix lives&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;    avoid&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Adding validator filters to mask production bugs&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;      - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;&quot;Creating test-only workarounds for extraction issues&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Tinatanggal nito ang ambiguity. Kapag binasa ito ng isang agent, alam nito hindi lang kung ano ang totoo, kundi pati kung anong aksyon ang ipinapahiwatig ng katotohanang iyon.&lt;/p&gt;
&lt;h2 id=&quot;verification-at-maintenance&quot;&gt;Verification at Maintenance&lt;/h2&gt;
&lt;p&gt;Kailangan ng maintenance ang mga ground truth. Sinusubaybayan namin:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;last_verified&lt;/strong&gt;: Kailan may nagkumpirma na may bisa pa rin ang pahayag&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;evidence&lt;/strong&gt;: Mga file na nagpapatunay sa pahayag (puwedeng ma-check kung umiiral)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;source&lt;/strong&gt;: Saan nagmula ang katotohanan (CLI inspection, architecture review, post-incident learning)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ang isang ground truth na may lumang verification date o sirang evidence link, isang senyales na dapat imbestigahan. Alinman, may bisa pa rin ang katotohanan at kailangan lang ng re-verification, o nagbago na ang realidad at kailangang i-update ang katotohanan.&lt;/p&gt;
&lt;h2 id=&quot;mga-tunay-na-halimbawa-mula-sa-production&quot;&gt;Mga Tunay na Halimbawa Mula sa Production&lt;/h2&gt;
&lt;h3 id=&quot;hangganan-ng-seguridad&quot;&gt;Hangganan ng seguridad&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-014&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  statement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Maguyva queries are search patterns, not executable code.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    SQL injection prevention is handled by PostgREST parameterization;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    application-layer SQL keyword blocking must never be added.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  rationale&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Blocking SQL keywords breaks legitimate code search. Users search FOR&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    code containing patterns like &apos;DROP TABLE&apos;, they don&apos;t execute them.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Pinipigilan ng ground truth na ito ang isang klase ng maling-akalang “security improvements” na sisira sa produkto.&lt;/p&gt;
&lt;h3 id=&quot;katumpakan-sa-oras-ng-extraction&quot;&gt;Katumpakan sa oras ng extraction&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-022&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  statement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Accuracy fixes must happen at extraction time via production code&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    (YAML config, handlers, queries), never via validator filters.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  rationale&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Validator filters only run during tests. They can hide extractor bugs&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    while production responses remain wrong.&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Nagmula ito sa masakit na karanasan. Nagta-tapal ang mga agent ng mga nabibigong language pack sa pamamagitan ng pagdagdag ng validator-only na filter na nagpapaganda lang sa itsura ng test harness, habang ang live Maguyva extractor ay tuloy pa ring naglalabas ng maling edges. Pinipilit ng tuntunin na ibalik ang mga fix sa totoong path: YAML config, queries, o handlers.&lt;/p&gt;
&lt;h3 id=&quot;multi-tier-na-pagsala&quot;&gt;Multi-tier na pagsala&lt;/h3&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;- &lt;/span&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;id&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;GT-MAG-023&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  statement&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Language engine uses three-tier filtering: external_method_patterns&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    (builtins/stdlib), allowlists (legitimate idioms), and expected_call_targets&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    (validation-time deduplication). Each tier serves a distinct purpose.&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;  rationale&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#F97583&quot;&gt;|&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    Conflating filter purposes leads to either over-filtering (missing real&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;    relationships) or under-filtering (noise).&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Pinipigilan nito ang mga agent na magdagdag ng filter sa maling lugar, isang karaniwang pagkakamali na nagdulot ng accuracy regressions.&lt;/p&gt;
&lt;h2 id=&quot;integration-sa-orchestration-system&quot;&gt;Integration sa Orchestration System&lt;/h2&gt;
&lt;p&gt;Isang layer lang ang ground truths sa mas malawak na context system:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Mga desisyon sa arkitektura (ADRs)&lt;/strong&gt; - Naitatala kung bakit pinili ang approach A kaysa sa B&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mga batayang katotohanan&lt;/strong&gt; - Sinasabi kung ano ang tiyak na totoo ngayon&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Domain Patterns&lt;/strong&gt; - Inilalarawan kung paano gawin nang tama ang mga bagay&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Anti-Patterns&lt;/strong&gt; - Inilalarawan kung ano ang iwasan at bakit&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;May access ang isang agent na nagtatrabaho sa system sa lahat ng apat. Ang ground truths ang nagbibigay ng factual anchor, habang ipinapaliwanag ng mga desisyon ang kasaysayan, ginagabayan ng mga pattern ang implementation, at binababalaan ng mga anti-pattern ang mga posibleng patibong.&lt;/p&gt;
&lt;h2 id=&quot;pagsukat-ng-impact&quot;&gt;Pagsukat ng Impact&lt;/h2&gt;
&lt;p&gt;Mula nang ipinakilala ang ground truths, naobserbahan namin:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mas kaunting “ayusin ang hinallucinate na fix” na cycle&lt;/li&gt;
&lt;li&gt;Mas confident na desisyon ng agent kapag malinaw ang mga katotohanan&lt;/li&gt;
&lt;li&gt;Mas magandang PR review dahil explicit ang mga inaasahan&lt;/li&gt;
&lt;li&gt;Mas maikling onboarding time para sa mga bagong agent (at mga tao)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;May pakinabang ang investment sa pagpapanatili ng ground truths sa pamamagitan ng mas kaunting debugging at mas malinaw na system boundaries.&lt;/p&gt;
&lt;h2 id=&quot;pagsisimula&quot;&gt;Pagsisimula&lt;/h2&gt;
&lt;p&gt;Para magdagdag ng ground truth sa system mo:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Gumawa ng &lt;code&gt;ground_truths.yaml&lt;/code&gt; sa loob ng directory ng package mo na &lt;code&gt;ai_assets/reference/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;I-define ang metadata at render configuration&lt;/li&gt;
&lt;li&gt;Magdagdag ng mga pahayag na sumusunod sa schema&lt;/li&gt;
&lt;li&gt;Patakbuhin ang &lt;code&gt;uv run orkestra sync&lt;/code&gt; para bumuo ng documentation&lt;/li&gt;
&lt;li&gt;Isama ang registry sa agent context composition&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Simulan sa mga katotohanan na nagdudulot ng pinakamaraming kalituhan o sa mga hangganan na pinakamadalas nilalabag. Iyon ang mga pinakamahalagang ground truth mo.&lt;/p&gt;
&lt;h2 id=&quot;konklusyon&quot;&gt;Konklusyon&lt;/h2&gt;
&lt;p&gt;Mag-hahallucinate ang mga AI agent. Iyon ang kalikasan nila. Pero puwede kaming gumawa ng mga environment kung saan pinaghihigpitan ang hallucination, kung saan hindi puwedeng balewalain ang ilang katotohanan, kung saan puwedeng i-check ng mga agent ang mga assumption nila laban sa napatunayang realidad.&lt;/p&gt;
&lt;p&gt;Hindi kumpletong solusyon ang ground truths. Kailangan nila ng maintenance. Puwede silang maging luma. Nagdaragdag sila ng overhead sa development process.&lt;/p&gt;
&lt;p&gt;Pero nagbibigay sila ng mahalagang bagay: isang shared vocabulary ng mga katotohanan na puwedeng pagkatiwalaan ng parehong tao at agent. Sa isang mundo kung saan lalo nang sumasali ang mga agent sa software development, nagiging mahalaga ang shared foundation na iyon.&lt;/p&gt;
&lt;p&gt;Ang alternatibo, walang katapusang cycle ng mga agent na confidenteng nagkakamali at mga taong nagtatama nito. Sinisira ng ground truths ang cycle na iyon sa pamamagitan ng paggawang explicit at matatag sa mga pagwawasto.&lt;/p&gt;
&lt;p&gt;Karapat-dapat malaman ng mga agent mo kung ano ang totoo. Sabihin mo sa kanila.&lt;/p&gt;
</content:encoded><category>Architecture</category><category>Grounding</category></item><item><title>Orkestra: Pag-orchestrate ng mga AI Agent sa Malaking Sukat</title><link>https://maguyva.ai/fil/blog/orkestra-agent-orchestration</link><guid isPermaLink="true">https://maguyva.ai/fil/blog/orkestra-agent-orchestration</guid><description>Isang orchestrator ang nag-ruruta ng trabaho papunta sa mga specialist AI agent, bawat isa ay may natatanging skills at memory. Ganito kino-coordinate ng Orkestra ang 46 agent at 466 skill sa production.</description><pubDate>Tue, 06 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Ang mga numero sa post na ito ay sumasalamin sa system noong publication (Enero 2026). Tingnan ang aming &lt;a href=&quot;https://maguyva.ai/fil/team&quot;&gt;team page&lt;/a&gt; para sa kasalukuyang mga figure.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Nang magsimula kaming bumuo gamit ang Claude Code, nadatnan namin ang isang problema na kalaunan ay haharapin ng bawat team na gumagamit ng AI coding assistant: hindi kayang gawin nang mahusay ng isang solong agent ang lahat.&lt;/p&gt;
&lt;p&gt;Puwede mong i-prompt ang isang agent na maging database specialist. O security auditor. O frontend engineer. Pero sa sandaling hilingin mong maging lahat ng tatlo nang sabay, humihina ang kalidad. Nadi-dilute ang context. Nagkakabanggaan ang mga instruction. Ang agent, nagiging isang generalist na katamtaman lang sa lahat.&lt;/p&gt;
&lt;p&gt;Kaya gumawa kami ng Orkestra.&lt;/p&gt;
&lt;h2 id=&quot;ano-ang-orkestra&quot;&gt;Ano ang Orkestra?&lt;/h2&gt;
&lt;p&gt;Ang Orkestra ay isang agent orchestration system para sa Claude Code at katulad na AI coding tools. Kino-coordinate nito ang maraming specialized na agent, bawat isa may natatanging expertise, sa ilalim ng iisang orchestrator na nag-ruruta ng trabaho papunta sa tamang specialist.&lt;/p&gt;
&lt;p&gt;Isipin mo itong parang staffing agency para sa mga AI agent. Tumatanggap ang orchestrator ng isang task, kinikilala kung aling specialist ang dapat humawak nito, at ini-delegate ito nang may tamang context. Kapag tapos na ang trabaho, dumadaloy pabalik ang mga resulta sa orchestrator para sa synthesis.&lt;/p&gt;
&lt;p&gt;Sinasabi ng mga numero ang kwento:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Bahagi&lt;/th&gt;
&lt;th&gt;Bilang&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Mga specialist agent&lt;/td&gt;
&lt;td&gt;46&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reusable na mga skill&lt;/td&gt;
&lt;td&gt;466&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mga identity archetype&lt;/td&gt;
&lt;td&gt;27&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mga mindset&lt;/td&gt;
&lt;td&gt;11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mga estilo ng komunikasyon&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mga knowledge domain&lt;/td&gt;
&lt;td&gt;21&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&quot;ang-character-system-dd-para-sa-mga-agent&quot;&gt;Ang Character System: D&amp;amp;D para sa mga Agent&lt;/h2&gt;
&lt;p&gt;Ang core insight sa likod ng Orkestra, umuusbong ang agent behavior mula sa tatlong composable na primitive:&lt;/p&gt;
&lt;p&gt;Tinutukoy ng &lt;strong&gt;Identity&lt;/strong&gt; kung &lt;em&gt;ano&lt;/em&gt; ang agent. Nagdi-disenyo ng system structures ang isang architect. Sinusubaybayan ng isang debugger ang mga kabiguan hanggang sa root cause nito. Ipinapatupad ng isang guardian ang compliance at security boundaries. May 27 kaming identity archetype na puwedeng pagsamahin.&lt;/p&gt;
&lt;p&gt;Tinutukoy ng &lt;strong&gt;Mindset&lt;/strong&gt; kung &lt;em&gt;paano&lt;/em&gt; nag-iisip ang agent. Ini-anchor ng isang analytical na mindset ang mga assertion sa ebidensya at kinukwantipika nito ang uncertainty. Kinukwestyon ng isang skeptical na mindset ang mga assumption at naghahanap ng disconfirming na ebidensya. Yakap ng isang exploratory na mindset ang ambiguity at sinusubukan ang maraming approach.&lt;/p&gt;
&lt;p&gt;Tinutukoy ng &lt;strong&gt;Style&lt;/strong&gt; kung &lt;em&gt;paano&lt;/em&gt; nakikipag-usap ang agent. May kasamang eksaktong values at nag-re-reference ng specific na mga file ang isang technical na style. Inaalis ng concise na style ang paligoy-ligoy at inuuna ang sagot. Tinitimbang ng isang diplomatic na style ang katapatan kasama ng tact.&lt;/p&gt;
&lt;p&gt;Pinagsasama ng isang agent ang mga primitive na ito:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;yaml&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# architecture-advisor.yaml&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;identity&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;knowledge-architect&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;architect&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;  - &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;strategist&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;mindset&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;analytical&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#85E89D&quot;&gt;style&lt;/span&gt;&lt;span style=&quot;color:#E1E4E8&quot;&gt;: &lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt;concise&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Gumagawa ang composition na ito ng isang agent na nagdi-disenyo ng systems (architect), nag-uugnay ng kaalaman sa iba’t ibang domain (knowledge-architect), nagtatakda ng strategic direction (strategist), nag-iisip sa ebidensya at data (analytical), at nakikipag-usap nang walang fluff (concise).&lt;/p&gt;
&lt;p&gt;Nasa combinatorial explosion ang lakas. Ang 27 identity beses 11 mindset beses 10 style, nagbubunga ng halos 3,000 posibleng agent personality. Pero ang mga combination lang na mahalaga sa trabaho mo ang ide-define mo.&lt;/p&gt;
&lt;h2 id=&quot;skills-reusable-na-mga-capability-module&quot;&gt;Skills: Reusable na mga Capability Module&lt;/h2&gt;
&lt;p&gt;Ang skills ang kaalaman at workflow na puwedeng gamitin ng mga agent. Sumusunod sila sa isang tiered system batay sa scope:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tier&lt;/th&gt;
&lt;th&gt;Pangalan&lt;/th&gt;
&lt;th&gt;Scope&lt;/th&gt;
&lt;th&gt;Halimbawa&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;K0&lt;/td&gt;
&lt;td&gt;Mga pundasyon&lt;/td&gt;
&lt;td&gt;Universal na methodology&lt;/td&gt;
&lt;td&gt;Disiplinang test-first, pagkumpleto batay sa ebidensya&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;K1&lt;/td&gt;
&lt;td&gt;Mga identity&lt;/td&gt;
&lt;td&gt;Role-based na workflow&lt;/td&gt;
&lt;td&gt;CLI interface standard, performance playbook&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;K2&lt;/td&gt;
&lt;td&gt;Mga domain&lt;/td&gt;
&lt;td&gt;Domain-specific na kaalaman&lt;/td&gt;
&lt;td&gt;Pattern ng database migration, validation ng authentication&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;K3&lt;/td&gt;
&lt;td&gt;Mga stack&lt;/td&gt;
&lt;td&gt;Specific sa teknolohiya&lt;/td&gt;
&lt;td&gt;Cloudflare deployment, operasyon sa Supabase&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;K4&lt;/td&gt;
&lt;td&gt;Proyekto&lt;/td&gt;
&lt;td&gt;Ang codebase na ito lang&lt;/td&gt;
&lt;td&gt;Workflow at convention na specific sa proyekto&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Lazy-loaded ang mga skill. Nakikita ng isang agent ang mga pangalan at deskripsyon ng skill sa startup, pero nagloload lang ang buong laman ng skill kapag na-trigger. Pinapanatili nitong lean ang context habang ginagawang discoverable ang daan-daang skill.&lt;/p&gt;
&lt;p&gt;Kasama sa bawat skill:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Malinaw na trigger conditions (“Gamitin kapag nag-mimigrate ng database schema”)&lt;/li&gt;
&lt;li&gt;Step-by-step na gabay&lt;/li&gt;
&lt;li&gt;Mga allowed tool para sa workflow&lt;/li&gt;
&lt;li&gt;Success criteria at failure recovery paths&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sinasaklaw ng 466 skill sa registry namin ang lahat mula sa git worktree isolation hanggang sa web research workflows hanggang sa deployment health validation.&lt;/p&gt;
&lt;h2 id=&quot;bakit-mahalaga-ang-orchestration&quot;&gt;Bakit Mahalaga ang Orchestration&lt;/h2&gt;
&lt;p&gt;Mabilis na tumatama sa pader ang single-agent architectures:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Context dilution.&lt;/strong&gt; Mukhang malaki ang isang 200k token context window hangga’t hindi mo na-load ang mga database schema, API docs, test fixtures, at domain knowledge. Puwedeng magtrabaho ang mga specialist gamit ang targeted na context.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Salungatan sa instruction.&lt;/strong&gt; Ang pagsabi sa isang agent na “maging thorough pero mabilis” at “i-verify ang lahat pero huwag mag-over-engineer” ay gumagawa ng tension. Sinosolusyunan ito ng mga specialist sa pamamagitan ng pagkakaroon ng malinaw na scope.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lalim ng expertise.&lt;/strong&gt; Kaunti lang ang alam ng isang generalist agent tungkol sa lahat. Malalim naman ang alam ng isang specialist agent, na naka-compose gamit ang tamang identity at skills, tungkol sa domain nito.&lt;/p&gt;
&lt;p&gt;Nagpapatupad ang Orkestra ng flat orchestration: isang orchestrator ang nagko-coordinate ng maraming specialist. Hindi puwedeng gumawa ng sub-specialist ang mga specialist. Pinipigilan nito ang complexity explosion habang binibigyang-daan ang parallel na trabaho.&lt;/p&gt;
&lt;p&gt;May access ang orchestrator sa 2.2 milyong token ng effective capacity: ang sarili nitong 200k window dagdag pa ang 10 concurrent na subagent na may 200k bawat isa. Komportableng tumatakbo sa buong fleet ang trabahong magpapaubos sa isang solong agent.&lt;/p&gt;
&lt;h2 id=&quot;ang-rendering-pipeline&quot;&gt;Ang Rendering Pipeline&lt;/h2&gt;
&lt;p&gt;Nakatira sa YAML ang mga agent definition. Binabasa ng Claude Code ang Markdown. Ini-bridge ng Orkestra ang puwang na ito gamit ang isang deterministic na rendering pipeline:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;YAML Registries → Jinja Templates → .claude/agents/*.md&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ini-edit ng mga operator ang YAML source. Patakbuhin ang &lt;code&gt;orkestra sync&lt;/code&gt;. Lumalabas ang rendered Markdown sa &lt;code&gt;.claude/agents/&lt;/code&gt;. Kinukuha ng Claude Code ang mga pagbabago.&lt;/p&gt;
&lt;p&gt;Ang paghihiwalay na ito, naglilingkod sa iba’t ibang audience:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Kasama sa &lt;strong&gt;YAML source&lt;/strong&gt; ang lifecycle metadata, tags, validation rules, at deprecation notes para sa tooling&lt;/li&gt;
&lt;li&gt;Kasama lang sa &lt;strong&gt;Rendered Markdown&lt;/strong&gt; ang kailangan ng model: description, tools, skills, at behavioral guidance&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Kino-compose ng pipeline ang mga identity, mindset, style, at skills papunta sa iisang coherent na prompt. Napakaiba ang system prompt ng isang architect-analytical-concise na agent kumpara sa isang debugger-skeptical-technical na agent, kahit magkapareho sila ng ilang underlying na skills.&lt;/p&gt;
&lt;h2 id=&quot;domain-knowledge-ang-four-file-pattern&quot;&gt;Domain Knowledge: Ang Four-File Pattern&lt;/h2&gt;
&lt;p&gt;Sumusunod ang bawat knowledge domain sa isang consistent na structure:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;plaintext&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span&gt;domain-name/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  decisions.md      # Key choices, rationale, consequences&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  patterns.md       # Step-by-step guidance and examples&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  anti-patterns.md  # Failure modes and remediation&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span&gt;  evolution.md      # Dated log of changes&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Naglilingkod ang structure na ito sa agent context loading. Nagloload ang isang agent na nagtatrabaho sa authentication ng &lt;code&gt;authentication/patterns.md&lt;/code&gt; para sa gabay at &lt;code&gt;authentication/anti-patterns.md&lt;/code&gt; para maiwasan ang mga kilalang patibong. Ang mga file, sinukat para sa efficient na context loading: focused nang sapat para maging kapaki-pakinabang, comprehensive nang sapat para maging authoritative.&lt;/p&gt;
&lt;p&gt;Pinapanatili namin ang 21 top-level na domain kasama ang analytics, authentication, agham ng datos, infrastructure, machine learning, performance, security, at marami pang iba. Puwedeng magkaroon ng sub-domain ang bawat domain para sa mas mainam na granularity.&lt;/p&gt;
&lt;h2 id=&quot;values-ang-operating-system&quot;&gt;Values: Ang Operating System&lt;/h2&gt;
&lt;p&gt;Nagbabahagi ang lahat ng agent ng isang base layer ng values na tumutukoy kung paano sila gumagana:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Unahin ang pagiging simple.&lt;/strong&gt; Gamitin ang pinakasimpleng solusyon na gumagana. Magdagdag ng complexity lang kapag may dahilan.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Ayusin ang ugat ng problema.&lt;/strong&gt; Huwag basta takpan ng pansamantalang solusyon ang mga problema. Kung nabigo ang isang pipeline, i-debug ang pipeline. Kung nabigo ang isang test, ayusin ang code o ang test.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Evidence-based.&lt;/strong&gt; I-label ang mga claim bilang “verified” (may benchmarks) o “estimated” (may assumptions). Hindi katumbas ng nakumpirmang problema ang isang na-detect na pattern.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Context economics.&lt;/strong&gt; 0.1% ng context ang halaga ng mga MCP tool. 2% bawat isa ang halaga ng file reads. Ilapat ang domain expertise bago mag-explore ng code.&lt;/p&gt;
&lt;p&gt;Kumakalat ang mga values na ito sa bawat specialist sa pamamagitan ng rendering pipeline. Hindi ito puwedeng balewalain ng isang agent sa pamamagitan ng composition.&lt;/p&gt;
&lt;h2 id=&quot;cli-ang-control-plane&quot;&gt;CLI: Ang Control Plane&lt;/h2&gt;
&lt;p&gt;Dumarating ang Orkestra kasama ng isang CLI para sa pamamahala ng agent ecosystem:&lt;/p&gt;
&lt;pre class=&quot;astro-code github-dark&quot; style=&quot;background-color:#24292e;color:#e1e4e8; overflow-x: auto;&quot; tabindex=&quot;0&quot; data-language=&quot;bash&quot;&gt;&lt;code&gt;&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Discovery&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; agents&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;database&quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; agents&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; info&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; database-architect&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Validation&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; validate&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --show-warnings&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Rendering&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; sync&lt;/span&gt;&lt;span style=&quot;color:#79B8FF&quot;&gt; --dry-run&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; sync&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Skills&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; skills&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; list&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; skills&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; info&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; schema-migration-workflow&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#959da5&quot;&gt;# Decisions&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;line&quot;&gt;&lt;span style=&quot;color:#B392F0&quot;&gt;orkestra&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; decisions&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; search&lt;/span&gt;&lt;span style=&quot;color:#9ECBFF&quot;&gt; &quot;authentication&quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ang CLI ang source of truth kung anong mga agent ang umiiral, anong mga skill ang meron sila, at kung malusog ba ang system. Nagpapatakbo ito ng validation bago mag-sync para mahuli nang maaga ang mga problema.&lt;/p&gt;
&lt;h2 id=&quot;mga-konsiderasyon-sa-open-source&quot;&gt;Mga Konsiderasyon sa Open Source&lt;/h2&gt;
&lt;p&gt;Ginawa namin ang Orkestra para solusyunan ang sarili naming problema: pag-coordinate ng mga AI agent sa malaking sukat para sa isang komplikadong codebase. Ang mga pattern na natuklasan namin, hindi eksklusibo sa domain namin.&lt;/p&gt;
&lt;p&gt;Ang character composition system (identity + mindset + style) ay umaapply sa anumang team na nagde-define ng agent personalities.&lt;/p&gt;
&lt;p&gt;Nagbibigay ang skill tier system (K0-K4) ng mental model para sa pag-organisa ng reusable na capabilities ayon sa scope.&lt;/p&gt;
&lt;p&gt;Ang rendering pipeline pattern (YAML source + templates + generated artifacts) ay naghihiwalay ng mga concern sa pagitan ng tooling at model consumption.&lt;/p&gt;
&lt;p&gt;Iniiwasan ng flat orchestration model (isang coordinator, maraming specialist) ang complexity habang binibigyang-daan ang parallelism.&lt;/p&gt;
&lt;p&gt;Ang kung magiging open source man ang Orkestra, nakadepende sa kung may value ba ang mga pattern na ito para sa iba na bumubuo gamit ang Claude Code. Kung tumatama ka sa mga pader na inilarawan namin, puwedeng makatulong ang architecture.&lt;/p&gt;
&lt;h2 id=&quot;ano-ang-natutunan-namin&quot;&gt;Ano ang Natutunan Namin&lt;/h2&gt;
&lt;p&gt;Itinuro sa amin ng pagbuo ng Orkestra na hindi tungkol sa paggawang mas matalino ng mga agent ang orchestration. Ito ay tungkol sa paggawa sa kanila na mas focused.&lt;/p&gt;
&lt;p&gt;Isang solong agent na may perpektong instruction, uubusin pa rin ang context nito. Isang solong agent na may lahat ng skills, malilito pa rin kung alin ang ilalapat. Isang solong agent na sinusubukang maging lahat, gumagawa ng katamtamang resulta kahit saan.&lt;/p&gt;
&lt;p&gt;Apatnapung specialist, bawat isa mahusay sa sariling domain, kino-coordinate ng isang orchestrator na alam kung kailan mag-delegate: ganoon kami nagship.&lt;/p&gt;
&lt;p&gt;Hindi kasing halaga ng architecture ang mga numero. Baka limang agent lang ang kailangan mo o limampu. Nananatili ang prinsipyo: composition higit sa capability, specialization higit sa generalization, coordination higit sa individual heroics.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Pinapatakbo ng Orkestra ang agent ecosystem sa likod ng Maguyva, ang code intelligence platform namin. Gustong matuto pa? Makipag-ugnayan sa team.&lt;/em&gt;&lt;/p&gt;
</content:encoded><category>Architecture</category><category>Open Source</category></item></channel></rss>