Zoznam zmien
Tu sú uvedené všetky podstatné zmeny. Projekt sa riadi sémantickým verzovaním; do verzie 1.0 môžu minor verzie meniť konfiguráciu alebo formát záznamov, vždy s poznámkou k migrácii.
0.10.2 (2026-11-01)
Brief, ktorý sa dá prečítať. Keď sa riadiace záznamy nezmestili, zameraný brief vypísal stenu identifikátorov. Kým sa zmestia všetky, vypíše ich ako doteraz; potom vypíše toľko kompaktných riadkov, koľko sa zmestí, od najbližších, a nakoniec +N more governing: ctx_why <path>. Nič riadiace nezmizne potichu: počet hovorí, koľko ostáva a ako to zobraziť.
ctx_brief stojí toľko, koľko hovorí jeho rozpočet. Štruktúrovaný výsledok je {text, entries} a entries sú tie, ktoré text menuje. Zoznam governing opakoval riadky každej cesty vedľa textu, čo na veľkom úložisku posunulo jedno volanie cez 60 KB.
0.10.1 (2026-10-29)
Oprava: necommitnutá úprava záznamu človekom je konflikt, nie zastaraná revízia. drafts.extend, drafts.stage s amends, drafts.retire a drafts.revise najprv porovnali revíziu, takže súbor záznamu s necommitnutými úpravami v checkoute odpovedal stale_entry („prečítaj ho znova“) namiesto operation_conflict („stage-ni alebo vráť svoje úpravy“), ako hovorila 0.9.0. Teraz sa nestage-nutá alebo nesledovaná zmena súboru záznamu hlási prvá, ako operation_conflict so slovom „unstaged“ v správe; revízia, ktorá sa posunula commitom alebo tým, čo kontext sám stage-ol, je stále stale_entry. Nič iné sa nemení.
0.10.0 (2026-10-29)
Sľuby znova platia: verify príkazy s trust pinom, poctivé overenie, brief, ktorý zachová každý riadiaci záznam, čerstvý index, dodatky, ktoré len pridávajú, a MCP rozhranie roku 2026.
Bezpečnosť
verify:beží až po pine. Príkaz v poliverify:záznamu je kód z repozitára. Spustí sa, len keďtrust.tomldrží SHA-256 pin cesty záznamu a textu príkazu ([repos.<slug>.verify]). Bez neho nebeží nič:kontext verifyajdrafts.verifyzlyhajú suntrusted_verify, ktorého chyba nesieid,command,command_sha256ahint(kontext trust --verify <id>). Úprava príkazu pin zruší. Capabilitydrafts.verify.pinned.kontext trust --verify [<id>|--all]pinuje verify príkazy len z interaktívneho terminálu a vypíše, čo pinuje. Žiadny MCP nástroj ani operáciactx_apinepinuje.- Cez MCP sa nepinnutý príkaz vráti, nespustí, a rovnako pinnutý, kým má súbor záznamu alebo jeho riadené cesty necommitnuté zmeny (
ran: false,reason: untrusted_verify | dirty_tree). Agent ho spustí vo vlastnom sandboxe; výsledok sa zapíše akoagentpečiatka, nie akoverify. - Runner pustí len povolené premenné prostredia (
PATH,HOME,USER,LANG,LC_*,TMPDIR,TERMa[verify] pass_envlen z tvojej vlastnej konfigurácie), redigujeoutput_tail, necommitnuté riadené cesty uvedie v riadku denníka ([dirty: <cesty>], vo výsledkudirty,dirty_paths), 2 s po skončení shellu prestane čítať stdout a zabije skupinu procesov. MCP server zabije bežiacu kontrolu, keď sa zatvorí stdin alebo sa požiadavka zruší. ctx_verifymá anotáciedestructiveHint: true,openWorldHint: true.dirnástrojovctx_verify,ctx_inboxactx_prepare_commitje obmedzený na tento repozitár, jeho worktrees a submoduly.- Trust piny adaptérov sú SHA-256 nad kanonickým TOML zdieľaných
adapters,varsaproject.name. Starý 12-hex FNV pin sa odmietne s hláškou, nikdy sa ticho nepovýši. Zdieľané[vars]nikdy neprepíšu vars používateľského ani lokálneho adaptéra; zdieľanéproject.namemusí byť slug;{{repo.remote}}nenesie userinfo.kontext trustbeží len z terminálu. ctx_threadsprijme lenclaude:,codex:,superset:,lasta cesty pod známymi koreňmi prepisov a cez MCP odmietne-.ctx_read file:odmietne.git/,.git-credentialsa.ssh.ctx_prepare_commit dropnajprv overí každé id a odmietne kandidáta, ktorého zapísal iný worktree.
Čo sa agent dozvie
- Brief s focusom zachová každý riadiaci záznam. Rezervovaná sekcia Governs <focus> (N) ide prvá: jeden kompaktný riadok na záznam (plné id, názov, značky, commity odvtedy), zoradené podľa špecifickosti cesty (súbor, adresár, glob,
**) a potom od najstaršieho. Čo sa nezmestí, vymenuje jeden vždy vytlačený riadokalso governing:; pod veľkosťou sekcie sa tlačia len id. Ostatné druhy sa orezávajú po riadkoch a končia… N more (K govern your focus). Päta sa ráta do rozpočtu. - Cesty ostanú cestami. Položka focusu s
/, glob znakom alebo známou príponou je cesta, aj kým súbor neexistuje. Prekryv funguje oboma smermi vrátane úvodných wildcardov a úvodného lomítka.[slug]sa najprv porovná doslovne, potom ako glob. - Poctivé riadky aktuálnosti. Brief píše
read by <kto>,stamped by agent,bulk stamp,check passedaleboCHECK FAILING; „verified“ sa objaví len tam, kde overenie platí. Riadok briefu použijerule_text, keď zhrnutie pravidlo neobsahuje. - MCP server vidí iné procesy. Index sa znova načíta, keď ho obnovil iný proces (capture z CLI,
kontext status, druhá session); nová schéma sa stavia v dočasnom adresári a premenuje. Vetva sa číta pri každej požiadavke; chyba parsovania konfigurácie sa vráti ako varovanie. - Viditeľné od prvého kola.
ctx_briefnesie_meta["anthropic/alwaysLoad"]; prvých 512 znakov inštrukcií servera stojí samostatne a celok ostáva pod 4 096 znakmi.
Nahrádzanie a parsovanie
- Nahradenie sa odvodzuje od aktívnych nástupcov. Záznam uvedený v
supersedesaktívneho záznamu je nahradený asuperseded_bysa doplní. Sekcia## Statusv štýle adr-tools sa číta aj zapisuje vo vlastnom štýle. Odkazy sa zapisujú ako plné id; nejednoznačný cieľ sa odmietne.kontext checkhlási jednostranné nahradenie akontext repair [--dry-run]dopíše chýbajúcu stranu. - Záznamy sa parsujú tak, ako ich píšu ľudia a formátery: viacriadkové flow zoznamy, blokové zoznamy, koncové komentáre, BOM. Neparsovateľný záznam je chyba
check. Statusyretired,archivedalebo emoji sa čítajú akodeprecateds varovaním; nelatinkové názvy dostanú krátke hash id. - Dodatky len pridávajú.
drafts.stage amendsprijme telo, len keď je staré telo jeho bajtovým prefixom a zvyšok sú sekcie## Added <YYYY-MM-DD>; inakamend_not_additives odkazom na nahradenie. Názov a všetky polia mimo tela musia ostať rovnaké.drafts.extendsllmuž nič nezapracúva: poznatok pridá tak, ako bol napísaný (as_written: true).extendsprejde cezctx_capture, inbox aj povýšenie. - Námietky ostávajú v stave resolving, kým nový blob záznamu nepristane v
HEAD. sincepočíta podľa predkov.sincea čerstvosť počítajú ne-merge commity na riadených cestách dosiahnuteľné zHEADa nie z commitu pohľadu, takže sa zaráta aj vetva zlúčená po potvrdení. Zlyhaná kontrola sa ukáže, ale nie je pohľad.- Čo je overené: čítanie človekom alebo prejdená kontrola. Dátum
checked:bez riadku v denníku je druhcachea hlásiverified: false;kontext confirm --migrate-legacypre také záznamy zapíše bulk riadky. CLI zapíšereadlen na termináli (inakagent;--kind readho vynúti s varovaním); MCP nikdy nezapíšeread;kontext apizapíšeby: application:<meno>. - Drift potrebuje základ a pohľad v poslednej riadenej zmene rozsahu alebo po nej; bez základu povie prečo a
--failskončí kódom 3.
Redakcia a outbox
- Redakcia maskuje, čo sľubuje, a zlyháva zatvorene: celé PEM bloky, národné telefónne čísla, IPv6 a každý výskyt na riadku. Neplatný vzor
secrets.redacthlásistatusa distill, threads aj autopilot odmietnu poslať čokoľvek modelu. Tvoje vlastné zoznamyredactaallowsa spájajú s repozitárovými, nenahrádzajú ich. Chyby adaptérov neobsahujú query string ani userinfo. Výstupy bash režimu a zhrnutia kompaktácie z Claude vlákien vypadnú. - Outbox nič ticho nestratí. Pokus sa ráta len adaptéru, ktorý sa naozaj skúsil; po opakovaných zlyhaniach sa eventy presunú do
outbox.dead.jsonl, ktorý ukážestatus, akontext outbox retryich vráti do frontu. Eventy pre adaptér preskočený cezwhenostanú vo fronte.
Init
kontext init skip mod:<modul>platí. Klastredec:, ktorých commity už cituje záznam alebo trailerDecision:, sa znova neplánujú; stav úlohdec:sa odvodzuje z gitu a z<store>/init-covered.log(commitnutý, zlučovaný ako union), takže kolega aj čerstvý klon sa zhodnú. Id úlohdec:súdec:<modul>-<sha7>najstaršieho commitu klastra.- Opätovné vykreslenie modulového dokumentu zachová ručne upravené
paths,tagsasummary. Výber modulu a id klastrov sú deterministické. - Autori-boti sa do skórovania nerátajú; slovenské a české rozhodovacie slová sú dodávané,
[init] decision_words = { strong, rationale, contrast }pridá kmene v tvojom jazyku a[init] bot_authorspomenuje ďalších botov. Odmietnutie hookov zapíše len výslovné--no-hooks.init.jobssa rešpektuje.
Vyhľadávanie a eval
- Tieňové polia. Zložené a anglicky stemované
title_fabody_fsa prehľadávajú s nižším boostom, takženamietkanájdenámietkaaadapternájde „Adapters“. Verzia schémy indexu stúpla; index sa pri prvom použití prestavia. - Reviewované znalosti prvé. Lokálne zdroje sa pred spojením vážia (záznamy 1.0, kúsky dokumentácie 0.7, commity 0.6; vstavané, kľúče
[search]sú plánované); nahradené výsledky dostanú nižšiu váhu a znejú→ superseded by [id] Title, nikdy sa neskryjú; kópie sa hľadajú podľa digestu názvu a textu; deduplikácia nikdy nenechá nahradené dvojča nad aktívnym nástupcom; výsledky adaptérov sa radia podľa mapovaného skóre. - Graded eval.
tests/eval/qrels.tsvs nDCG@5, recall@10 a MRR po rezoch (identifikátory, množné číslo, slovenčina s diakritikou aj bez, parafráza, briefy s focusom od 200 do 1 400 tokenov). Očakávania píše iná session než tá, ktorá zmenu implementuje.
Politika API v1
- Politika kompatibility je zapísaná. V rámci verzie 1 môžu pribúdať operácie, voliteľné vstupy, polia, kódy chýb, enum hodnoty a capability reťazce a klienti ignorujú, čo nepoznajú. Zúženie vstupu je dovolené len tam, kde staré správanie odporovalo zaznamenanému rozhodnutiu alebo bezpečnostnému sľubu, a oznamuje sa capability reťazcom a poznámkou k migrácii. Pozri Kompatibilita.
api.describevráti JSON Schema vstupu každej operácie.- Jeden pojem revízie: blob id. Posunutá revízia je všade
stale_entryso starýmoperation_conflictverror.aliases;model_unavailableuvádzallm_unavailable. Guard prijme blob id, plný hash commitu alebo staršiu 12-hex revíziu;HEADalebo meno vetvy jeinvalid_input. - Polia overenia
last_verified,since_verified,failingaamended_sincestoja vedľa existujúcich.entries.changednesiestatusa číta commitnutú konfiguráciu každej revízie; commitnuté záznamy nesúdate,verify,review_by,supersedes,commitsaauthor. Replay vráti uložený receipt aj po neskoršej úprave;operations.getnájde routované receipty. - Nové kódy chýb:
untrusted_verify,amend_not_additive;stale_entryvšade. drift.ordered:entries.driftnesiebase_source(explicit,origin-head,origin-main,upstream,default-remote,fallback-none) a bez základuwarning;kontext drift --failakontext ci --strictvtedy skončia kódom 3.drafts.confirmprijmeoperation_id, takže opakovanie nepridá druhý riadok do denníka;drafts.capturezachováextends.- Nové capability reťazce:
api.describe,drafts.stage.amends.additive,drafts.capture.extends,drafts.confirm.operation_id,drafts.verify.pinned,verification.last_verified,drift.ordered.
MCP, hooky, štruktúrované výsledky, skills a pluginy
- MCP pre obe éry. Schopnosti už neobsahujú
logging. Server odpovedá na bezstavovú revíziu 2026-07-28 (server/discover,_metana požiadavkách bezinitialize,resultType,ttlMs/cacheScope) aj na starýinitialize, ktorý padá späť na 2025-11-25. Neznáma verzia je-32022, neznámy nástroj-32602;resources/liststránkuje cez cursor;tools.listChangedmôže byť true: je, keď adaptéry vystavujú nástroje. - Štruktúrované výsledky.
ctx_brief,ctx_search,ctx_read,ctx_why,ctx_inboxactx_driftvracajústructuredContentsoutputSchemavedľa textu a blokyresource_linknakontext://entry/{id}.kontext brief --format jsonvráti rovnakú štruktúru. - Hooky.
kontext hook --host claude|codex|cursorčíta hook JSON hostiteľa zo stdin a odpovedá v jeho tvare. SessionStart (startup, resume, clear, compact) a SubagentStart dostanú brief; PreToolUse naEdit|Write|MultiEdit(Codex:apply_patch|Edit|Write; Cursor:postToolUse) dostane riadiace záznamy pre upravené súbory, len tie v session ešte nepovedané. Jeden rozpočet na session, zdieľaný sctx_brief, keď pozná session (session_id,CLAUDE_SESSION_ID):[hooks] session_budget_tokens(6000),edit_budget_tokens(900). Fail-open; vypínačKONTEXT_HOOKS=offalebo[hooks] enabled = false. Inštaluje ich lenkontext connect <host> --hooks; každé--writenainštaluje aj strážcu shellu, ktorý agentovi zamietnekontext trust. Pozri Hooky. - Poctivé schvaľovanie. Vystavené nástroje adaptérov si ponechajú anotácie zo zdroja; chýbajúce sú
readOnlyHint: false,openWorldHint: true.kontext connect codex --writezapíšedefault_tools_approval_mode = "prompt"a tabuľku[mcp_servers.kontext.tools.<tool>]pre každý nástroj:approval_mode = "approve"pre čítacie nástroje a inbox,"prompt"prectx_verify,ctx_apiactx_init. - Skills a pluginy. Skills idú do
.claude/skillsaj.agents/skills; značkakontext-skill-hashchráni tímové úpravy aconnect skills --write --forceich nahradí. Plugin pre Claude Code (.claude-plugin/plugin.json) a plugin pre Codex sa stavajú z rovnakých zdrojov akoconnect. Parametre dostali aliasy (id/uri,focus/paths,kind/kinds(aj reťazec),limit/max,budget_tokens,reason/why/because); nič sa nepremenovalo.ctx_readstránkuje dlhý text (part,offset). - Odolnejší server. Panic v jednej požiadavke odpovie
-32603a server beží ďalej; HTTP MCP klient sa po 404 znova inicializuje; mimo git repozitára to server povie adirfunguje. - Nové príkazy a voľby:
kontext repair [--dry-run],kontext trust [--yes]a--verify [<id>|--all],kontext confirm --kind read|agenta--migrate-legacy,kontext distill --force,kontext outbox retry,kontext hook --host,kontext connect <target> [--write] [--hooks] [--force].
Migrácia.
- Minimum je Rust 1.90 (
rust-versionvCargo.toml). - Staré FNV piny adaptérov sa odmietajú: spusti
kontext trustznova v každom repozitári so zdieľanými adaptérmi. - Verify príkazy nebežia, kým nie sú pinnuté:
kontext trust --verify <id>alebo--all, v termináli. - Peer:
drift.tsmusí mapovaťuntrusted_verifyna „neoverené, ukáž príkaz“. - Záznam, ktorého jediným dôkazom je dátum
checked:, teraz hlásiverified: false(druhcache);kontext confirm --migrate-legacypre ne zapíše bulk riadky. - Počty
sincemôžu narásť: commity zlúčené po pohľade sa teraz rátajú. drafts.extendnikdy nezapracuje zistenie do tela: sllmaj bez neho sa pridá tak, ako je napísané, aas_writtenje vždy true.entries.exportbez commitnutej konfigurácie hlásiconfig_source.kind: "defaults"(úložisko.ai), nielocal_configuration.- Námietka ostáva v zozname ako resolving (
resolvingvinbox.list), kým nový blob záznamu nepristane vHEAD, nie keďprepare_commitzmenu stagne. - Polia API sú aditívne a verzia API ostáva 1. Klient, ktorý posielal
HEADako revíziu, dostaneinvalid_input, neaditívne teloamendsamend_not_additive. - Vyhľadávací index sa raz prestavia (zvýšená verzia schémy).
0.9.0 (2026-10-29)
Doplnenia upravia záznam na mieste, nové záznamy sa prepoja s tým, na čom stavajú, a zmeny medzi commitmi sa dajú vypísať.
drafts.extendpripraví návrh záznamu s poznatkom doplneným do tela: rovnaké id, súbor aj polia, staré telo vedľa, nič sa nezapíše. Sllmpoznatok zapracuje model; inak sa pridá doslovne pod## Added <dátum>(as_written: true). Len konvencie, poznatky a incidenty: rozhodnutie sa odmietne sdecision_not_amended, lebo sa mení len nahradením. Posunutá revízia jestale_entry. Pozri Doplnenie záznamu.drafts.stageprijímaamends: {id, revision}, ktoré zapíše toto telo do vlastného súboru záznamu a frontmatter ponechá bajt po bajte (vylučuje sa sosupersedes), aentry.extends: [ids], ktoré prepojí nový záznam so záznamami, na ktorých stavia (unknown_entrypre id, ktoré úložisko nemá). Pozri Doplnenie a prepojenie.entries.changed {base, head}vypíše commitnuté záznamy pridané, upravené, nahradené (sosuperseded_by) alebo vyradené medzi dvoma commitmi, bez modelu. Pozri Zmenené záznamy.- Kandidáti z
entries.relatednesúrevision, hodnotu, ktorú obe operácie vyššie prijímajú.status.capabilitiesuvádzadrafts.extend,entries.changed,drafts.stage.amendsadrafts.stage.extends. Verzia API ostáva 1.
Známe problémy (opravené v 0.10.0): príkaz verify: beží cez sh bez trust brány, preto nevolaj ctx_verify, drafts.verify ani kontext verify v repozitári, ktorému neveríš; drafts.extend s llm a amends s ľubovoľným telom prepíšu záznam na mieste, proti rozhodnutiu z 2026-10-27.
0.8.0 (2026-10-28)
Skills na údržbu znalostí a flows v briefe.
- Skills.
kontext connect skills --writenainštaluje štyri receptySKILL.mddo.claude/skills/(projektový rozsah, na commitnutie):kontext-audit(pohľad s rozpočtom na záznamy, ktoré sú najskôr zastarané: potvrdiť, spochybniť alebo nahradiť, nikdy nemazať),kontext-flows(preusporiadanie skladu do flows),kontext-verify(príkazverifypre záznamy) akontext-merge(duplicity a rozpory cezentries.related, jeden nahrádzajúci záznam na skupinu). Sú skompilované do binárky; opätovné spustenie po aktualizácii vráti súbory na dodávaný text. Pozri Claude Code. - Flows. Záznam druhu
architectures idflow-<name>(alebo štítkomflow) je kurátorská trasa cez znalosti pozdĺž jedného procesu:## Trails krokmi[[id]] — veta.ctx_briefs focusom vypíše flows, ktorýchpathssa s focusom prekrývajú, s počtom krokov, pod Flows cez focus; brief bez focusu povie v jednom riadku, koľko flows existuje. Pozri Flows.
0.7.0 (2026-10-27)
Zachytenie uvedie príkaz, ktorý ho dokázal, a overenie povie, kde pristálo.
- Zachytenie s dôkazom.
kontext capture --verify "<príkaz>",verifyvctx_capturea ventryoperáciedrafts.capturezapíšu príkaz, ktorý poučenie alebo rozhodnutie dokázal; overuje sa ako pole záznamu (jeden riadok, najviac 500 znakov) a zachová sa cez inbox aj povýšenie. Hovorí to aj návod na zachytávanie (popis nástroja, inštrukcie servera a blok vAGENTS.md). Pozri Zachytávanie. - Návrh ho dostane neskôr.
kontext inbox verify <id> "<príkaz>"(--clear),ctx_inboxsaction=verifya nová operáciainbox.verifynastavia alebo odstránia príkaz návrhu v inboxe. - Kde pristálo.
verification.landedje commit v históriiHEAD, ktorý ako prvý pridal najnovší riadok záznamu v denníku, alebo null, kým je riadok len stagnutý alebo v pracovnom strome; pri samotnom dátumechecked:posledný commit, ktorý zmenil súbor záznamu.sincesa nemení. Verzia API ostáva 1. Pozri aplikačné API.
0.6.0 (2026-10-27)
Overenie je commit v denníku a brief hovorí, čo sa odvtedy zmenilo. Dátum checked: bola pečiatka, ktorú mohol nastaviť ktokoľvek, často hromadne, a merge ju mohol potichu nahradiť staršou. Teraz:
- Denník.
kontext confirm,ctx_confirmadrafts.confirmpridajú aj riadok do.ai/confirmations.log: čas v UTC, záznam, spôsob pohľadu (readz CLI,agentz MCP nástroja,bulkpri viac ako piatich záznamoch jedným volaním), commit, na ktorý ukazovalHEAD, kto a voliteľný dôvod (--because).kontext initaj prvý zápis pridajú do.ai/.gitattributesriadokconfirmations.log merge=union, takže vetvy sa zlúčia bez konfliktu.checked:sa zapisuje ďalej ako vyrovnávacia kópia. Pozri Overenia. - Oprava.
kontext checkvaruje, keďcheckedzáznamu zaostáva za denníkom;kontext confirm --repair(drafts.confirmsrepair: true) ho podľa denníka prepíše. - Spustiteľné kontroly. Záznam môže mať
verify:, jeden shellový príkaz.kontext verify <id>,ctx_verifya novédrafts.verifyho spustia z koreňa repozitára s časovým limitom (KONTEXT_VERIFY_TIMEOUT_SECS, predvolene 120) a zapíšu do denníka, či prešiel. - Čo sa odvtedy zmenilo. Pri každom zázname, ktorý riadi cesty z
focus,ctx_briefpovie, ako bol naposledy overený (druh, krátky commit, deň) a koľko commitov sa odvtedy dotklo jeho ciest, s ich prvými predmetmi; raz za brief vyzve tieto záznamy prečítať pred zmenou ich ciest. - API. Záznamy z
entries.list,entries.get,entries.search,entries.governingaentries.driftnesúverification,since,verifyapremises;checkedje novší z hodnoty v súbore a v denníku.drafts.confirmprijímabecause,kind,idsarepair. Verzia API ostáva 1. Pozri aplikačné API. - Zmenené predpoklady. Aktívny záznam, ktorý odkazuje na nahradený, vyradený alebo zastaraný záznam (
[[id]],supersedes,extends), je označený v briefe, v API a informačným riadkom vkontext check; nič sa neprepíše. - Brána.
kontext hooks statusa dokumentácia odporúčajú tímomkontext drift --failv kontrolnom skripte alebo v CI, čo pokryje aj commity z jj; žiaden hook commit pre drift neblokuje.
Migrácia. Netreba. Prvé potvrdenie vytvorí .ai/confirmations.log a pridá riadok do .ai/.gitattributes; commitnite oboje. kontext check nepočíta informačné riadky ani medzi chyby, ani medzi varovania.
0.5.0 (2026-10-26)
Rozhodnutia môžu povedať, čo zamietli. Záznam rozhodnutia môže mať nepovinnú sekciu ## Alternatives medzi ## Decision a ## Consequences: zvážené možnosti a prečo každú zamietli, aby neskoršia námietka ani drift znova neotvárali tú, ktorá už neprešla. Je to voľný Markdown, nie front matter, a nič ju nevyžaduje. Pozri formát záznamu.
ctx_init_submitpri úloháchdec:prijíma nepovinný reťazecalternativesa zapíše z neho sekciu; prázdna hodnota nezapíše nič.- Nápoveda k telu v
ctx_capturea prompt pre distill sekciu spomínajú, takže ju agenti vyplnia, keď nejaké alternatívy naozaj boli. - Jednoriadkové zhrnutie a to, čo záznam káže, sa stále berú z
## Decision, takže brief aj vyhľadávanie čítajú záznamy ako doteraz.
Migrácia. Žiadna: záznamy bez sekcie ostávajú platné a staršie verzie kontextu čítajú sekciu ako bežný text tela.
0.4.1 (2026-10-20)
Oprava: opätovné potvrdenie záznamu v ten istý deň nič nevyčistilo. kontext confirm zapisoval len dátum, takže druhé potvrdenie v ten istý deň nechalo súbor bajt po bajte rovnaký a drift, ktorý záznam považuje za pozretý, len keď sa jeho súbor v rozsahu zmení, ho po ďalších commitoch vypisoval ďalej. Potvrdenie (kontext confirm, ctx_confirm, drafts.confirm) teraz zapíše čas v UTC na sekundu, checked: 2026-10-20T14:05:09Z, a vráti ten istý reťazec. checked prijme tento tvar alebo samotný YYYY-MM-DD (oba sa validujú, ani jeden nesmie byť v budúcnosti); aktuálnosť počíta po sekunde času a od nasledujúceho dňa v UTC po dátume. Netreba nič meniť: už zapísané dátumy ostávajú platné. Pozri Potvrdenia.
0.4.0 (2026-10-20)
Znalosti, ktoré idú za kódom, ktorý riadia. Review jedného repozitára našlo asi desať záznamov, ktoré už nezodpovedali kódu. kontext už vypisoval záznamy pokrývajúce stagnutú zmenu, ale len z git hookov, ktoré tím commitujúci cez jj nikdy nespustí; aktuálnosť sa nevynulovala, ani keď niekto záznam overil, a sledovala len rozhodnutia; a nič neodpovedalo, ktoré záznamy rozsah commitov nechal za sebou. Teraz, bez modelu a rovnako pod gitom aj jj:
- Potvrdenia. Záznam môže niesť
checked: YYYY-MM-DD, posledný deň, keď niekto potvrdil, že stále platí.kontext confirm <id>/ctx_confirm/drafts.confirmho nastavia na dnešok v súbore záznamu (jednoriadkový diff) a stagnú ho, takže potvrdenie prejde review so zmenou. Pozri Potvrdenia. - Drift.
kontext drift/ctx_drift/entries.driftvypíšu aktívne záznamy, ktorýchpathspokrývajú súbory zmenené vbase..head, kým ich vlastný súbor sa v rozsahu neupravil, nevyradil ani nepotvrdil. Base je predvolene miesto, kde vetva opustila predvolenú vetvu remote; bez head sa počíta aj pracovný strom, čo je presne pracovná kópia jj. Pozri Drift. - CI.
kontext ciskontroluje všetky záznamy a vypíše drift commitov pull requestu, ako text alebo Markdown pre súhrn jobu; drift je varovanie, kým nepoužiješ--strict. Workflow pre GitHub Actions na skopírovanie je vo Validácii znalostí v CI. - Aktuálnosť sleduje okrem rozhodnutí aj konvencie a poučenia a počíta commity od najneskoršieho z: dátumu záznamu, jeho potvrdenia a posledného commitu, ktorý zmenil jeho súbor. Pozri Aktuálnosť.
- prepare-commit bez stagnutej zmeny povie, že prečítal zmeny pracovného stromu voči
HEAD, a poradí, ako potvrdiť záznam, ktorý stále platí. S jj ho (alebokontext drift) spusti predjj commit/jj git push: pozri jj. - Aplikačné API. Nové operácie
entries.driftadrafts.confirm(uvedené vstatus.capabilities); načítané záznamy ajCommittedEntryvo vkladacej fasáde nesúchecked.
Migrácia. checked je nové voliteľné pole; v .ai/ netreba nič meniť. Čo si môžeš všimnúť:
kontext statusa brief môžu teraz označiť aj konvencie a poučenia a píšu „N entr(y|ies) may need a refresh … since they were made, edited or confirmed“ namiesto „N decision(s) …“. Počty sú často nižšie: commit, ktorý naposledy zmenil súbor záznamu (zvyčajne ten, ktorý ho pridal), a commity pred ním sa už nepočítajú.checkedje pole záznamu: existujúci kľúčchecked:sa presúva zextrado vlastného poľa v JSON záznamu aj vCommittedEntry,kontext checkodmietnechecked, ktorý nie je dátum alebo leží v budúcnosti, adrafts.*ho ako kľúč vextraodmietnu.- Riadok správy
prepare-commito pracovnom strome znie „Nothing staged yet — read the working tree's changes against HEAD (untracked files included): …“.
0.3.0 (2026-10-19)
Znalosti, ktoré ostanú správne aj po zápise. Brief a vyhľadávanie už nenechajú návrh vyzerať ako prijaté pravidlo, spájanie zdrojov už nezahodí iné tvrdenie len preto, že začína rovnako, a zaznamenané znalosti môžu niesť termín kontroly a svoje zdroje, dajú sa napadnúť a vyradiť, vždy cez review. Merané novou evaluačnou sadou s 33 scenármi: na 0.2.1 prešlo 8 (nájdených 23 zo 64 očakávaní, 2 výsledky nesprávne potlačené, 1 so šumom); teraz prejde všetkých 33 (69 zo 69, nič potlačené, žiadny šum).
- Značky autority. Riadok v briefe a výsledok hľadania povedia, keď záznam nie je prijatý (
(proposed),(deprecated)), keď je jeho súbor nový, zmenený alebo stagnutý a nikto ho neschválil (local, unapproved), keď uplynul termín kontroly (review due), keď je lokálne napadnutý a koľko má zdrojov. Prijaté a commitnuté záznamy značku nemajú. Pozri Značky. - Bezpečná deduplikácia. Vyhľadávanie zlúčilo výsledky, ktorých prvých 90 normalizovaných znakov sa zhodovalo, takže jedno z dvoch rôznych tvrdení zmizlo. Teraz vypadnú iba preukázané kópie (rovnaké URI, kópia lokálneho záznamu z adaptéra, zhoda celého textu); podobný výsledok sa ukáže pod prvým s tým, čím sa líši.
- Zmenené od posledného briefu. Brief vypíše najviac v piatich riadkoch znalosti pridané, zmenené alebo odobrané od posledného briefu v tomto worktree (bez neho posledných 14 dní) a povie, ktorý záznam nový nahrádza. Brief bez zmien nepridá nič. Pozri Zmenené od posledného briefu.
- Termíny kontroly.
review_by: YYYY-MM-DDpri ľubovoľnom zázname; po termíne je záznam označený v briefe, vo vyhľadávaní a vkontext status, nikdy nie skrytý. Voliteľná predvolená lehota podľa druhu[store.kinds.<kind>] review_after = "90d", predvolene vypnutá. Pozri Termín kontroly. - Evidencia. Zachytenia prijímajú
evidence: [{ref, quote?}]s odkazmipr:,issue:,task:,code:<repo>@<rev>:<cesta>#L<a>-<b>aurl:, uložené vextra.external_refs. Citát pri odkaze na kód tohto repozitára sa overí voči danej revízii; čokoľvek iné sa označí ako neoverené, nikdy sa neodmietne. Pozri Evidencia. - Námietky a vyradenie.
ctx_challenge/kontext challengezaznamenajú, že záznam už neplatí;ctx_prepare_commit retire=[id]ho vyradí (stavdeprecateda poznámka## Retired, stagnuté) alebo ho nahradí náhrada. Vyradenie aj nahradenie fungujú pre každý druh. Pozri Námietky. - Súvisiace znalosti.
ctx_capturepomenuje záznamy, ktoré nový môže duplikovať, rozširovať alebo im protirečiť, s dôvodom (podobné znenie, rovnaké cesty); stará poznámka „update it instead“ zmizla. Model sa pýta iba na vyžiadanie, cezentries.related, a jeho odpoveď sa ukladá. - Vyhľadávanie. Frázový bonus za celý dopyt dá presnému zneniu prvé miesto (v evaluačnej sade sa dopyt s presnou frázou posunul z 2. na 1. miesto; dopyty vlastnými slovami si poradie udržali).
[search] adapters = "fallback"sa pýta vyhľadávacích adaptérov, iba keď je lokálnych zásahov menej akomin_local_hits, alebo na vyžiadanie (adapters: true,--adapters); predvolene ostávaalways. - Aplikačné API. Nové operácie
entries.related,drafts.retireadrafts.revise(uvedené vstatus.capabilities);drafts.capture,drafts.stageadrafts.formalizevracajú ajevidencearelated_entries,drafts.stageajresolved_challenges; záznamy nesúreview_bya pracovné čítaniapublication.blob_hash, revíziu obsahu jednotlivého záznamu. Pozri Údržba znalostí.
Aplikácie môžu používať spoločný engine znalostí cez aplikačné API: verzované JSON CLI a štruktúrované MCP, dotazy na nakonfigurované úložisko, platnosť podľa ciest, extrakciu bez zápisu, idempotentný staging návrhov a commitnuté exporty overené voči review refu. Existujúce príkazy pre ľudí a nástroje pre agentov zostávajú kompatibilné.
Migrácia. V .ai/ netreba nič meniť. Čo si môže všimnúť skript alebo klient:
kontext search(text) už v metadátach výsledku nevypisujeaccepteda podobný výsledok vypíše ako nečíslovaný riadok↳ similar, differs: …; výsledky v--jsonmôžu maťsimilar_to.- Riadky rozhodnutí v briefe môžu mať za titulkom značky, môže pribudnúť sekcia Changed since … a brief zapisuje malú cache (
brief-head) do lokálneho stavu worktree pod.git/kontext/. - Poznámky z
ctx_captureakontext captureznejúrelated, check: … <kx:id> — <dôvod>namiestosimilar existing entry: … — update it instead. review_by(areview-by) sú teraz polia záznamu: ako kľúč vextrapridrafts.*sú odmietnuté ako rezervované; posielajteentry.review_by.inbox.listmôže vrátiť kandidátov druhuchallenge; ako záznamy sa stagnúť nedajú (invalid_input).
0.2.1 (2026-10-03)
Agenti konajú podľa rozhodnutí, ktoré riadia zmenu. Vo vlákne testu dostal agent brief vložený na začiatku session, ktorý ukazuje len najnovšie rozhodnutia, a urobil zmenu, ktorá odporovala staršiemu. O konflikte sa dozvedel až pri commite, z jednoriadkového zhrnutia, v ktorom pravidlo chýbalo, a nič nezaznamenal. Teraz:
- brief bez focusu povie, že
ctx_briefsfocusvypíše rozhodnutia, ktoré riadia menené cesty, ctx_prepare_commitcituje pravidlo každého dotknutého rozhodnutia (odsek## Decision) namiesto zhrnutia a povie, ako zaznamenať nahrádzajúce rozhodnutie a povýšiť ho do toho istého commitu.
Tá istá úloha potom skončila s nahrádzajúcim rozhodnutím v commite a trailerom Decision:.
0.2.0 (2026-10-03)
Migrácia: kontext hooks install --dir <dir> je teraz --hooks-dir <dir> (rovnako uninstall). --dir pomenúva repozitár, rovnako ako -C.
Znalosti v submoduloch a iných worktree. Session, ktorá začala v repozitári aplikácie, ale pracovala v submodule, v inom worktree alebo v susednom projekte, dostala od kontextu „not set up“ a jej zachytenia skončili v inboxe, z ktorého sa nedali povýšiť. Teraz rozhodujú cesty, ktorý repozitár odpovie, a každý nástroj prijíma dir. Pozri Viac repozitárov.
Súkromné poznámky sa dajú znova nájsť. Súkromné zachytenie v repozitári bez úložiska sa raz zapísalo a už nikdy neprečítalo, lebo vyhľadávanie inbox nepokrývalo. ctx_search teraz nájde poznámky v inboxe a brief uvedie tie, ktoré zodpovedajú jeho focusu.
Neaktuálne rozhodnutia sú označené. Rozhodnutie sa zapíše raz, ale jeho kód sa ďalej mení. Stav v briefe a kontext status vypíšu rozhodnutia, ktorých cesty od ich prijatia zasiahlo [freshness] threshold_commits (predvolene 20) commitov. Pozri Aktuálnosť.
Kratšie odpovede. Riadok rozhodnutia už neopakuje svoj titulok ako id: odkazy sú najkratšia jednoznačná predpona ([2026-09-28-adapters]), takže riadok je asi o 20 % kratší. ctx_threads zmení každú notifikáciu o úlohe na pozadí z Claude Code na jeden riadok. Vlákno, ktoré rozdeľovalo prácu, sa zmenšilo z 81 000 na 30 000 znakov a časť (predvolene 20 000 znakov) sa teraz zmestí do jedného výsledku nástroja.
Čerstvé klony. Klon od orchestrátora alebo z CI nemá git hooky. Brief to povie a ctx_prepare_commit už nesľubuje trailery, ktoré žiadny hook nepridá.
Codex sa riadi AGENTS.md, nie inštrukciami MCP servera. kontext connect agents-md --write patrí k jeho nastaveniu.
0.1.5 (2026-09-29)
Autopilot
llm-claudebeží na subscription prihláseného účtu (ANTHROPIC_API_KEY/ANTHROPIC_AUTH_TOKENsa pre jeho volania zahodia), bez nástrojov, MCP serverov a s krátkym systémovým promptom (zhruba desatina tokenov na úlohu) a volania sa neukladajú ako sessions Claude Code. Nová premennáeffort(predvolenehigh); časový limit 10 minút. Opus:kontext adapters add llm-claude --force --var model=claude-opus-5-5.
Init
kontext init --no-hookssa zapamätá pre klon: neskoršieinitčiinit --deepenz akéhokoľvek worktree už nenainštaluje hooky tam, kde ich niekto odmietol;kontext hooks installich pridá.
0.1.4 (2026-09-29)
Citlivé vlákna
- Prepisy vlákien (
kontext distill,ctx_threads) a to, čo sa z nich vydestiluje, maskujú okrem tajných údajov aj e-mailové adresy, telefónne čísla, IBAN, čísla kariet a IP adresy;secrets.redactpridá tvoje vlastné vzory (meno klienta, id integrácie). - Model má pokyn písať roly namiesto mien ľudí a vynechať kontakty, záznamy, prístupové údaje a hosty; jeho záznamy sa znova zamaskujú.
- Namerané na klientskom vlákne: 52 e-mailových adries, 2 telefónne čísla a 13 IP adries sa už nedostane k modelu a vydestilované záznamy nikoho nemenovali.
0.1.3 (2026-09-29)
Znalosti z vlákien agentov
kontext distillčíta vlákna Claude Code a Codexu (všetky účty Claude,$CODEX_HOME), workspaces v Supersete (podľa id, názvu worktree, cesty alebo vetvy; samotné--supersetznamená aktuálny) alebo akýkoľvek text a trvalé rozhodnutia, konvencie, úskalia a incidenty, ktoré v nich nájde LLM adaptér, zachytí do inboxu spolu s cestami, commitmi,origin: threada vláknom ako zdrojom. Prepisy sa skrátia a zamaskujú, dlhé vlákna sa rozdelia na časti a porovnajú sa s tým, čo už je zapísané. Pozri Znalosti z vlákien agentov.ctx_threads(len na čítanie) dá pripojeným agentom tie isté prepisy po častiach; promptkontext-distillprevedie agenta spracovaním vlákna cezctx_capture, ktorý teraz prijímasourceacommits.- Vlákna workspace v Supersete, ktoré bežali v inom repozitári, sa preskočia a workspace iného repozitára sa odmietne.
0.1.2 (2026-09-29)
Z nasadenia kontextu do toho monorepa s pripojeným Claude Code a Codexom.
Zavádzanie
- Volania LLM z autopilota sa už nedostanú k vlastnému MCP serveru kontextu a prompt žiada len JSON odpoveď: keď bol kontext pripojený ku Codexu, model každú úlohu zapísal sám cez
ctx_init_submita druhýkrát cez odpoveď, takže poznatky a rozhodnutia vznikali dvakrát (…-2). Presetllm-codexodovzdáva-c mcp_servers.kontext.enabled=false,llm-claude--strict-mcp-config. Presety žijú v tvojom configu: obnov ich cezkontext adapters add llm-codex --force(allm-claude). - Kým beží
kontext init --deepen,ctx_init_submitz iného procesu úlohy tohto behu odmietne. - Opakovane odovzdaná úloha nahradí vlastné skoršie poznatky a rozhodnutia namiesto pridávania kópií a záznamy, ktoré napísali ľudia, nechá na pokoji.
- Vetva bez tímových znalostí sa dozvie, keď ich má iná vetva (bootstrap čakajúci na review): brief odporučí zlúčenie a
ctx_initodmietne založiť druhé, konfliktné.ai/. - Záznamy vyťažené initom nedostanú trailery commitu: pochádzajú zo starších commitov uvedených v ich
commitsa bootstrap commit už nenesie desiatky riadkovDecision:/Learning:.
Agenti
- Keď je kontext zaregistrovaný pre všetky repozitáre (user scope), tam, kde ho nikto nezaviedol, len číta: v repozitári bez úložiska znalostí to povedia MCP inštrukcie,
ctx_captureodmietne tímové záznamy (súkromné poznámky fungujú ďalej), povýšenia sa odmietnu actx_initzavádza len sbootstrap=true(odovzdá ho promptkontext-init). - Rozhodnutie alebo poznatok zachytený bez
pathsa povýšený so zmenou sa vzťahuje na súbory tej zmeny (konvencie zostávajú pre celý repozitár), takže hoctx_whynájde pri kóde, ktorý vysvetľuje. kontext connect codexzapisuje do$CODEX_HOME/config.toml, keď jeCODEX_HOMEnastavené (ako to robia obaly prepínajúce účty), v prípade potreby vytvorí adresár a zálohu spomenie, len keď ju naozaj vytvoril.
0.1.1 (2026-09-28)
Opravy z testu v praxi na monorepe s 74 modulmi (moon/Cargo), na ktorom paralelne pracujú agenti Claude Code a Codex.
Agenti
- Codex už pri
approval_policy = "never"neodmieta nástroje kontextu: každý nástroj nesie MCP anotácie (readOnlyHint,destructiveHint,title) akontext connect codex --writepridádefault_tools_approval_mode = "approve"(aj do existujúceho záznamu). - Paralelné worktree:
ctx_prepare_commit, pripomienka v pre-commit hooku a brief ponúkajú len kandidátov z inboxu zachytených v aktuálnom worktree; kandidáti iného živého worktree sa vypíšu zvlášť („not for this commit“), kandidátov zmazaného worktree si môže prevziať ktokoľvek. - Brief vypíše každý
AGENTS.md/CLAUDE.mdmedzi koreňom a zameranou cestou a zameranému modulu bez dokumentu modulu dá fakty zo skenu. - Prázdne hodnoty v zoznamových argumentoch (
--paths a,, agentove[""]) sa zahodia, namiesto toho aby sa stali cestami, tagmi alebo nahradeniami záznamu.
Git
git commit --amend -m …zachová traileryDecision:/Convention:… (amend sa meria od rodičaHEAD); dostanú ich aj commity zgit merge --squash.- Hooky čítajú stagnuté znalosti jedným
git cat-file --batcha cesty záznamov porovnávajú bez opakovanej kompilácie globov: commit 44 súborov znalostí sa skrátil zo 4,2 s na 0,4 s. - Vyhľadávací index zabudne commity, ktoré z histórie vypadli (amend, rebase).
Zavádzanie
- Hľadanie rozhodnutí rozpozná voľby formulované ako pravidlá („X, not Y“, „never“, „no longer“, „is gone“), viac slov zdôvodnenia a dlhé vysvetľujúce telá aj zakladajúci commit; keď prah prejde málo commitov, doplnia sa ďalšie najlepšie až do štvrtiny histórie. Malé zhluky sa pridajú k nadradenému modulu, veľké sa rozdelia na chronologické časti po najviac 8 commitoch;
init.max_decision_tasksje predvolene 20. Z vyťažených správ sa odstránia trailery s autorstvom. - Popisy modulov sa v núdzi vezmú z dokumentačného komentára balíka (docstring v
__init__.py,//!dokumentácia crate,doc.go); úvody README, ktoré končia uvádzacou vetou (…:), si zachovajú prvé vety. - Prehľad vymenuje moduly bez dokumentu a spočíta súbory s pravidlami pre agentov, ktoré nevypisuje.
Vyhľadávanie
- Federované vyhľadávanie spája zdroje váženým recipročným poradím, takže stlačené skóre podobnosti adaptéra už nevytláča lokálne znalosti; kópie lokálnych záznamov z adaptéra (synchronizované
…/<id>.md) splynú s lokálnym výsledkom.
Bezpečnosť
- Tajné údaje zapísané vo vetách („the secret is …“, „rotate the token …“) sa zachytia, keď hodnota vyzerá náhodne; cesty a zástupné hodnoty zostanú nedotknuté.
0.1.0 (2026-09-28)
Prvé verejné vydanie.
Úložisko znalostí
- Markdown záznamy (decision, convention, learning, incident, architecture) s plochým front matter alebo klasické ADR s poliami
**Status:**; číslovanie podľa dátumu, sekvenčné alebo žiadne; nahrádzanie; validácia; generovaný.ai/README.mdzlučovaný cez union.
Agenti
- MCP server cez stdio:
ctx_brief,ctx_search,ctx_read,ctx_why,ctx_log,ctx_capture,ctx_inbox,ctx_prepare_commit,ctx_init,ctx_init_submit; promptykontext-init,kontext-commit,kontext-reflect; zdrojekontext://briefakontext://entry/{id}. kontext connectpre Claude Code (projektový.mcp.json, hook SessionStart), Codex, Cursor, OpenCode aAGENTS.md.
Zavedenie
kontext init: scan (jazyky, manifesty vrátane Nx a moon, stack, moduly a oblasti, závislosti, ADR, pravidlá pre agentov), history (signály rozhodnutí, výmeny závislostí, churn, konvencie), render, wire a protokol prehĺbenia pre agentov alebo LLM adaptér, ktorý sa dá prerušiť a obnoviť.
Vyhľadávanie
- Tantivy BM25 nad záznamami, dokumentmi rozdelenými na sekcie a históriou commitov s rozkladaním identifikátorov; federované vyhľadávanie naprieč adaptérmi;
ctx_whypre cesty, rozsahy riadkov, commity a symboly; časová os rozhodnutí.
Adaptéry
- Generické drivery
mcp(stdio a streamable HTTP),httpacommand; operácie, udalosti (capture,promote,sync), naväzovanie argumentov MCP zo schémy, mapovanie výsledkov (items,split,where,maps cestami,re:,tpl:, literálmi), federované a deklarované nástroje, podmienkywhen, dôvera pre adaptéry deklarované v repozitári. - Presety: OpenViking, CodeGraph, Serena, Agent LCM, sessions, LLM Claude/Codex/Ollama, Slack webhook.
Git
- Hooky (validácia a skenovanie tajných údajov v pre-commit, trailery v prepare-commit-msg, synchronizácia v post-commit/merge/rewrite) inštalované popri existujúcich hookoch,
core.hooksPatha husky; outbox s opakovaním; lokálny stav, ktorý pozná worktree.