Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

M003 — Relace je trvalá obálka a znalosti se kompilují z toho, co je už kanonické

Worker bez historie konverzace dokáže odpovědět, co se stalo, proč, co bylo rozhodnuto, které důkazy to podporují, kde leží kanonický zdroj a co dělat dál — ze záznamů a odvozeného indexu, přičemž git zůstává autoritou nad oběma.

AKTIVNÍ 12 of 16 issues done

připraveno
2
blokováno
2
aktivní
0
verify
0
hotovo
12
zrušeno
1

Problém

Kontinuita je dnes tvarovaná úlohou. Záznam úlohy říká, co je jeden kus práce, a checkpointy, předávky, rozhodnutí a otázky na něm visí. Nic nepředstavuje samotnou epizodu provádění — worker si sedl, dotkl se tří úloh, zaznamenal dvě rozhodnutí, uzavřel jeden úkol a skončil — takže kauzální otázku, kterou se pozdější worker skutečně ptá, nelze ze záznamů zodpovědět: která práce proběhla společně, v jakém pořadí, proti kterým commitům a co rozhodla. Druhou mezerou je vyhledávání. `search` je doslovný sken přes šest provozních druhů záznamů, což je správně pro ty soubory a slepé ke všemu ostatnímu: matice tvrzení, kontrakty milníků a úkolů, politika, profily, prompty a dokumenty už nesou explicitní, strojově čitelné vztahy — tvrzení k implementaci k testu, úkol k milníku k závislosti, důkaz k úkolu — a žádný příkaz neumí projít ani jeden z nich. Worker tedy obě rekonstruuje z konverzace, což je přesně to, co nepřežije.

Výsledek

Worker bez historie konverzace dokáže odpovědět, co se stalo, proč, co bylo rozhodnuto, které důkazy to podporují, kde leží kanonický zdroj a co dělat dál — ze záznamů a odvozeného indexu, přičemž git zůstává autoritou nad oběma.

Aktuální stav

Neexistuje pojem relace: `.majordomus/state/` drží úlohu, kontrolní bod, předávku, rozhodnutí, otázku a záznam, a záznam je jediná věc, která ví, že dva záznamy zapsala stejná epizoda, což ví jen podle časové sousednosti. Neexistuje žádný index; docs/CONTINUITY.md to uvádí jako záměrnou volbu pro korpus záznamů a o zbytku repozitáře mlčí. Clean Extraction Boundary v docs/DESIGN.md absolutně vylučuje sémantiku grafu, což zakazuje i graf provenance odvozený z vlastních souborů tohoto repozitáře.

Cílový stav

Existuje životní cyklus relace s jednou aktivní relací na worktree a neměnnými uzavřenými záznamy, které odkazují na autoritativní záznamy, místo aby je kopírovaly, a jejichž celá obálka odkazů je odvozena z účetní knihy, ne ručně nashromážděna. Překladač znalostí zjišťuje kurátorované zdroje přes git, extrahuje uzly s identitami, které přežijí přestavbu, zaznamenává hrany jen tam, kde byl pozorován výslovný vztah, drží manifest hashů obsahu, který činí prázdnou synchronizaci levnou, a odpovídá na dotazy jen pro čtení, aniž by cokoli mutoval. `context` z něj může vybrat omezený řez. Obojí jsou deklarované doktríny s validátory, které doctor a watch dispatchují, a hranice mezi sdílenou a provozní znalostí je testovanou vlastností, ne konvencí.

Rozsah

  • lib
  • bin/majordomus
  • share/standard/majordomus/
  • share/allow
  • share/skeleton
  • dokumentace
  • test/cases
  • .majordomus/policy.yaml
  • .majordomus/project

Mimo rozsah

  • Jakákoli databáze, embedding, vektorové úložiště nebo řazení podle podobnosti
  • Jakékoli vyvolání modelu, síťové volání nebo generované shrnutí
  • Druhé měnitelné narativní úložiště, které kopíruje rozhodnutí, otázky nebo těla checkpointů
  • Publikace provozních záznamů na web
  • Výstup znalostí specifický pro renderer pro jakoukoli konkrétní aplikaci na poznámky
  • Odvozování vztahu z prózy, která ho výslovně neuvádí

Kritéria přijetí

  • Relace se otevře, uzavře a její uzavřený záznam je neměnný, časově seřazený a interpretovatelný proti aktuálnímu gitu přes existující slovník divergence
  • Uzavřená relace odkazem jmenuje úlohy, úkoly, checkpointy, předávky, rozhodnutí a otázky své epizody a nekopíruje žádné jejich tělo
  • Zjišťování znalostí řídí git, ne průchod souborovým systémem, a nesledovaný soubor není zdrojem
  • Identita uzlu přežije přestavbu a úprava jednoho zdroje změní jen uzly z něj odvozené
  • Každá hrana nese soubor, v němž byla pozorována; hrana bez provenience je selhání validace
  • Druhá synchronizace bez změny zdroje hlásí žádnou práci a je měřitelně levnější než studená
  • Každý příkaz znalostí a relací jen pro čtení ponechá `git status` bajt po bajtu totožný
  • Sdílené a provozní znalosti jsou oddělitelné a test dokazuje, že sdílená projekce neobsahuje žádný provozní záznam
  • `context` může nést omezenou sekci znalostí, která se zahodí dřív než jakýkoli neměnný fakt a když se zahodí, je jmenována pod EXCLUDED
  • Každá nová záruka je deklarovaná doktrína s validátorem, který dispatchují doctor a watch, tvrzením a behaviorálním případem
  • docs/CONTINUITY.md a docs/DESIGN.md popisují novou architekturu přesně, místo aby jí odporovaly

Validace

  • bash test/run.sh
  • bin/majordomus doctor
  • bin/majordomus watch
  • bin/majordomus plan validate
  • shellcheck -x -s bash bin/majordomus lib/*.sh

Požadované důkazy

  • session_lifecycle
  • session_immutability
  • knowledge_determinism
  • knowledge_idempotence
  • provenance_required
  • readonly_proven
  • privacy_boundary
  • context_bounded
  • doctrines_wired
  • dogfood_loop

Rizika

  • Index znalostí je druhá věc, které lze věřit. Každé zmírnění je totéž: index je ukazatel, nese cestu ke zdroji a hash toho, na co ukazuje, a hlásí se jako zastaralý, místo aby se tiše přestavěl dotazem.
  • Kurátorovaný seznam zdrojů je místo, kde se na něco dá zapomenout. Alternativa — indexovat vše, co git sleduje — dováží generované soubory, vendorované stromy a výstup webu a byla zamítnuta; cenou je, že přidání druhu kanonického souboru je výslovná úprava a validátor jmenuje deklarovanou třídu zdroje, jejíž objevování nic nevrací.
  • Odvozování odkazů relace z knihy činí knihu nosnou pro druhou věc. Už je jen přidávaná, strojově zapisovaná a validovaná pravidlem majordomus.ledger-integrity a alternativa — střádání odkazů do měnitelného souboru relace při každém příkazu — dává zápis na horkou cestu každého jiného příkazu a vytváří druhé úložiště, kterému se tento milník chce vyhnout.
  • Clean Extraction Boundary dnes zakazuje sémantiku grafu bez výhrad. Zúžení je záměrná změna publikované hranice a musí být zúžena přesně — obecný graf původu nad vlastními artefakty tohoto repozitáře — jinak přestane být hranicí.

Úkoly

Každý z nich je prováděcí kontrakt s vlastními kritérii přijetí, validačním příkazem a požadovanými důkazy. Sloupec wave je vrstva grafu závislostí, v níž úkol leží.

issuestatusvlnazávisí nanázev
I0801 HOTOVO 0 — Zúžit Clean Extraction Boundary a zaznamenat, co bylo převzato
I0802 HOTOVO 0 — Specifikovat záznam relace dřív, než se nějaký napíše
I0803 HOTOVO 1 I0802 Otevřít relaci a nahlásit její stav
I0804 HOTOVO 2 I0803 Uzavřít relaci do obálky odvozené z ledgeru
I0805 HOTOVO 3 I0804 Číst relace zpět s označením divergence
I0806 HOTOVO 4 I0805 Pravidla relací učinit doktrínami, s retencí a archivací
I0807 HOTOVO 1 I0801 Zdroje znalostí zjišťovat z gitu, ne ze souborového systému
I0808 HOTOVO 2 I0807 Extrahovat uzly s identitami, které přežijí rebuild
I0809 HOTOVO 3 I0808 Zaznamenávat jen hrany, které soubor uvádí, každou s místem, kde byla pozorována
I0810 ZRUŠENO 4 I0809 Manifest s hashi obsahu, díky němuž je druhá synchronizace levná
I0811 HOTOVO 4 I0809 Vyhledávání ve znalostech jen pro čtení s pořadím, které lze vysvětlit
I0812 HOTOVO 5 I0811 Graf validovat a nechat doctor i watch ptát se téhož validátoru
I0813 PŘIPRAVENO 6 I0806, I0812 Uzavřená relace se stane uzlem, který ukazuje na svou epizodu
I0814 HOTOVO 5 I0811 Workerovi dát omezený výřez znalostí, ne celou znalostní bázi
I0815 BLOKOVÁNO 7 I0813, I0814 Říct, co je nyní pravda, v tvrzeních, dokumentaci a pokynech pro workery
I0816 BLOKOVÁNO 8 I0815 Dokázat smyčku na skutečném úkolu, bez přepisu
I3060 PŘIPRAVENO 0 — A provider hook declares its timeout, and the session end closes its episode inside the budget

Graf

graf závislostí M003z .ai/repo/project
flowchart LR
    I0801["I0801<br/>Narrow the Clean Extraction Boundary and record what was adopted"]:::done
    I0802["I0802<br/>Specify the session record before writing one"]:::done
    I0803["I0803<br/>Open a session and report its status"]:::done
    I0804["I0804<br/>Close a session into an envelope derived from the ledger"]:::done
    I0805["I0805<br/>Read sessions back with a divergence label"]:::done
    I0806["I0806<br/>Make the session rules doctrines, with retention and archiving"]:::done
    I0807["I0807<br/>Discover knowledge sources from git, not from the filesystem"]:::done
    I0808["I0808<br/>Extract nodes with identities that survive a rebuild"]:::done
    I0809["I0809<br/>Record only edges that a file states, each with where it was observed"]:::done
    I0810["I0810<br/>A content-hash manifest that makes a second sync cheap"]:::cancelled
    I0811["I0811<br/>Read-only knowledge lookup with an ordering that can be explained"]:::done
    I0812["I0812<br/>Validate the graph, and let doctor and watch ask the same validator"]:::done
    I0813["I0813<br/>A closed session becomes a node that points at its episode"]:::ready
    I0814["I0814<br/>Give the worker a bounded slice of knowledge, not the knowledge base"]:::done
    I0815["I0815<br/>Say what is now true in the claims, the documentation and the worker instructions"]:::blocked
    I0816["I0816<br/>Prove the loop on a real issue, without a transcript"]:::blocked
    I3060["I3060<br/>A provider hook declares its timeout, and the session end closes its episode inside the budget"]:::ready
    I0801 --> I0807
    I0802 --> I0803
    I0803 --> I0804
    I0804 --> I0805
    I0805 --> I0806
    I0806 --> I0813
    I0807 --> I0808
    I0808 --> I0809
    I0809 --> I0810
    I0809 --> I0811
    I0811 --> I0812
    I0811 --> I0814
    I0812 --> I0813
    I0813 --> I0815
    I0814 --> I0815
    I0815 --> I0816
    classDef done stroke:#16a34a,fill:#dcfce7,color:#14532d,stroke-width:2px
    classDef active stroke:#2563eb,fill:#eff6ff,color:#1e3a8a,stroke-width:2px
    classDef verify stroke:#7c3aed,fill:#f5f3ff,color:#4c1d95,stroke-width:2px
    classDef ready stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef planned stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef blocked stroke:#b45309,fill:#fffbeb,color:#78350f,stroke-width:2px
    classDef cancelled stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px
    classDef superseded stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px

Kanonický záznam: .ai/repo/project/milestones/M003.yaml. Přečtěte jej zpět pomocí majordomus plan show M003.

Prohledává názvy a popisy všech stránek, které tento web publikuje.