I1984 — Kandidáti znalostí nikdy nezanechávají nesledované soubory na kmeni, který mění jen pull requesty
Rozhodnout a implementovat, kam se zapisují kandidáti na znalosti, aby jejich odvozování na hranici epizody na trunku nikdy nenechalo pracovní strom trunku špinavý.
HOTOVO vlna 0 · p1 · profil deep-work · bezpečné paralelně
Cíl
Rozhodnout a implementovat, kam se zapisují kandidáti na znalosti, aby jejich odvozování na hranici epizody na trunku nikdy nenechalo pracovní strom trunku špinavý.
Proč
OSCILLA main nese nesledovaný .ai/repo/knowledge/candidates/ (README a 7 záznamů). Nikdy je nemůže commitnout, protože její main se mění jen pull requesty. Každý checkpoint od té doby zaznamenává working_tree dirty, kontroly releasu čistého stromu odmítají a poradní pravidlo candidates-reviewed žádá právě ten commit, který proces zakazuje.
Aktuální stav
Slice 1 dodatku ADR 0091 (2026-10-15): na trunku (mj_on_trunk, lib/common.sh) uzavření a obnova relace (lib/session.sh, lib/recover.sh) a odvození znalostí (lib/knowledge.sh) zapisují do .ai/local/state/outbox/{sessions,candidates}/ a context a doctor jmenují neprázdnou schránku odchozích; případ 3060. Slice 2: uzavření relace mimo trunk (mj_session_outbox_drain, lib/session.sh) přesune schránku do sledovaných sekcí beze změny a právě jednou a soubor, který není záznam, ponechá ve schránce s řádkem na stderr; případ 3063. Slice 3: docs/KNOWLEDGE.md, text pravidla candidates-reviewed (share/standard/majordomus/rules, vendorováno) a README relací (sledované i skeleton) říkají, kde záznamy epizody na trunku čekají, kdy je nese branch, co mezitím říkají context a doctor a co se stane se souborem ve schránce, který není záznam.
Cílový stav
Kandidáti odvození na kmeni se připravují v .ai/local, nebo se tam odvození přeskočí, dokud je větev nepovýší. Rozhodnutí je zaznamenáno proti ADR 0091.
Rozsah
- lib/knowledge.sh
- lib/capture.sh
- share/standard/majordomus/rules
- docs/KNOWLEDGE.md
- .ai/repo/adrs
- test/cases
Závislosti
Žádné. Tento úkol je kořenem grafu.
Co na tom čeká
Kritéria přijetí
- Uzavření epizody na trunku nechá `git status --porcelain` prázdný
- Kandidáti odvození na větvi se stále nabízejí k posouzení a povýšení jako dnes
Validace
- bin/majordomus plan validate
- MJ_TEST_JOBS=4 bash test/run.sh <the case this issue adds>
Požadované důkazy
- trunk_stays_clean_case
- decision_recorded
Důkazy
| pokrývá | typ | command | výsledek | u commitu |
|---|---|---|---|---|
| decision_recorded | artifact | rozhodnuto 2026-10-15: epizody trunku ukládají záznamy do .ai/local/state/outbox, příští epizoda větve je přesune do sledovaných sekcí; dodatek ADR 0091 jmenuje tři řezy | c0e3585 | |
| trunk_stays_clean_case | test | MJ_TEST_JOBS=4 bash test/run.sh 3060_trunk_stays_clean | 1 passed, 0 failed (red on a53f08f11b: the close left .ai/repo/sessions/ and .ai/repo/knowledge/candidates/ untracked on main) | a53f08f |
Časová osa
- zahájeno
- 2026-10-15T11:20:46Z
- ověřeno
- —
- dokončeno
- 2026-10-15T11:21:05Z
Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.
Kanonický záznam: .ai/repo/project/issues/I1984.yaml. Přečtěte ho zpět pomocí majordomus plan show I1984.