I2074 — Pozorování se stává kandidátem, který říká, čeho se týká, a čtení seskupuje opakování
Přidat řádek observation.recorded do mj_knowledge_evidence s id na epizodu podle ADR 0091 nad druhem, předmětem a výrokem; přidat volitelné about a route do knowledge/v1 (proto, generate); nechat knowledge candidates a Rust knowledge_base.candidates seskupovat podle about a vypisovat každý záznam a jeho epizody.
HOTOVO vlna 1 · p1 · profil implementation · běží samostatně
Součást a-session-leaves-what-it-observed — Relace zanechá, co pozorovala, a repozitář to směruje.
Cíl
Přidat řádek observation.recorded do mj_knowledge_evidence s id na epizodu podle ADR 0091 nad druhem, předmětem a výrokem; přidat volitelné about a route do knowledge/v1 (proto, generate); nechat knowledge candidates a Rust knowledge_base.candidates seskupovat podle about a vypisovat každý záznam a jeho epizody.
Proč
Stejná vada viděná několika relacemi se musí číst jako jedna věc, aniž by některá epizoda zapisovala do souboru jiné.
Aktuální stav
Čtyři události se mapují na kandidáty; žádný záznam neříká, čeho se týká; kandidáti jsou plochý seznam.
Cílový stav
Kandidáti pozorování nesou about; oba čtenáři podle něj seskupují; druhé odvození je bajt po bajtu shodné; prázdná epizoda stále zaznamená knowledge.derived s written 0.
Rozsah
- lib/knowledge.sh
- share/schemas/majordomus/knowledge
- share/allow
- share/sections
- .ai/repo/knowledge/candidates/README.md
- share/skeleton/ai/repo/knowledge
- apps/majordomus-cli/src/capability/builtin/knowledge_base.rs
- apps/majordomus-cli/tests/knowledge_base.rs
- docs/KNOWLEDGE.md
- test/cases/981_an_observation_becomes_a_grouped_candidate.sh
Závislosti
Co na tom čeká
Kritéria přijetí
- Epizoda se dvěma pozorováními odvodí dva kandidáty, každý s about nastaveným na svůj předmět
- Dvě epizody pozorující jeden subjekt zapíšou dva soubory a candidates vypíše jednu skupinu jmenující obě epizody, shell i čtečka v Rustu stejně
- Zamítnutý kandidát zůstává nahrazen i po druhé epizodě, která do téže skupiny přidá nového kandidáta
- Epizoda bez pozorování nezapíše žádného kandidáta a přesto připojí knowledge.derived s written 0
- Případy 563, 564, 565, 707, 709, 710 a 711 stále procházejí
Validace
- bash test/run.sh 981_an_observation_becomes_a_grouped_candidate
- bash test/run.sh 563_knowledge_is_derived_at_the_boundary
- bash test/run.sh 564_knowledge_derivation_is_idempotent
- cargo test --test knowledge_base
Požadované důkazy
- observation_becomes_grouped_candidate
Důkazy
| pokrývá | typ | command | výsledek | u commitu |
|---|---|---|---|---|
| observation_becomes_grouped_candidate | test | bash test/run.sh 981_an_observation_becomes_a_grouped_candidate 563_knowledge_is_derived_at_the_boundary 564_knowledge_derivation_is_idempotent 565_knowledge_switch_and_failure_leave_evidence 707_knowledge_check_refuses_malformed_records 709_knowledge_promotion_is_an_act 710_briefing_names_the_candidates 711_candidates_are_reviewed_not_accumulated | 8 passed, 0 failed at master c0e3585dc83 (2026-10-14T23:3xZ); delivered by 4afbde69ed8; Rust reader knowledge_base.rs unchanged since validate run 38626102499 (success on e8505a431d, rust (1)/(2)/(3) jobs 116065669902/116065669775/116065669794) | c0e3585 |
Časová osa
- zahájeno
- 2026-10-14T23:32:49Z
- ověřeno
- 2026-10-14T23:32:56Z
- dokončeno
- 2026-10-14T23:33:06Z
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/I2074.yaml. Přečtěte ho zpět pomocí majordomus plan show I2074.