knowledge-is-reconciled-before-it-is-reviewed — What a session proposes as knowledge is reconciled with what the repository already knows before a person reviews it, and a promotion stands on evidence that resolves
A known fact gets one candidate. Each candidate group names what already speaks about its subject, read from the entity layer rather than from a second derivation. A promotion needs a resolvable reference and records it. An observation can cite the review that found it.
BLOKOVÁNO 0 z 5 úkolů hotovo
- připraveno
- 0
- blokováno
- 5
- aktivní
- 0
- verify
- 0
- hotovo
- 0
- zrušeno
- 0
Problém
The deriver compares a new candidate with curated knowledge only by full id, episode included (lib/knowledge.sh:1334-1337), so the same decision in a second episode becomes a second candidate. Nothing relates a candidate to the curated notes or rules about its subject: knowledge_base.rs:733-768 groups candidates/ only, and the contradicts relation has no producer or consumer. Promotion accepts any non-blank prose without a transcript marker (lib/knowledge.sh:1586-1591). An observation cannot cite a mesh review (lib/knowledge.sh:187). Repetition, partial tasks and concurrent closes hold by construction, and nothing proves them.
Výsledek
A known fact gets one candidate. Each candidate group names what already speaks about its subject, read from the entity layer rather than from a second derivation. A promotion needs a resolvable reference and records it. An observation can cite the review that found it.
Aktuální stav
Cases 564, 707-711, 980, 981 and 3004 verify knowledge observe, derive --dry-run, candidates, reject and check. session.knowledge_on_end derives knowledge at the episode end (lib/session.sh:663-673).
Cílový stav
I3416, I3413, I3414, I3415 and I3417 have landed in that order, each extending an existing case.
Rozsah
- lib/knowledge.sh
- apps/majordomus-cli/src/capability/builtin/knowledge_base.rs
- apps/majordomus-cli/src/ui/knowledge.rs
- test/cases/564_knowledge_derivation_is_idempotent.sh
- test/cases/709_knowledge_promotion_is_an_act.sh
- test/cases/980_a_session_records_what_it_observed.sh
- test/cases/981_an_observation_becomes_a_grouped_candidate.sh
- test/cases/3004_evolve_is_a_procedure_of_existing_commands.sh
- .ai/repo/skills/evolve/SKILL.md
- docs/KNOWLEDGE.md
- docs/CLI.md
- share/events.yaml
- .ai/repo/project/intents
Mimo rozsah
- Automatic promotion, rejection or relation of any record
- Model-based similarity or contradiction judgement
- Rejected subjects proposed again (I3164)
- An incident entity, a review event or any new store (rule project.no-new-nouns)
- The evolve readiness verdict, friction derivation, self-feeding and moved-source flags (milestone knowledge-acts-on-what-it-learns, I3162-I3166)
Kritéria přijetí
- The criteria a-known-fact-is-one-candidate, a-candidate-names-what-already-says-it, promotion-cites-resolvable-evidence and an-observation-cites-its-review are rewritten to evidence: test naming the extended cases
- Case 981's shell and Rust parity block stays byte-identical outside the related field, which only the Rust reader answers
Validace
- majordomus plan validate
Rizika
- I3162, I3163, I3164 and I3166 also have lib/knowledge.sh, knowledge_base.rs, ui/knowledge.rs and the evolve skill in scope; I3413 depends on I3164, and the rest must be announced on the board, with master merged between them
- I3415 changes promote's documented evidence contract. Whether an agent may promote at all is an open owner question that this milestone does not settle: ADR 0091 says a person promotes, while step 2 of the evolve skill has an agent run promote
- I3413 runs inside session close (lib/session.sh:663-669); its comparison is a directory listing of file names, not a read of records, and its added time is measured and reported
- I3413's curated arm matches nothing today, because no curated note's file name has the derived episode-and-digest shape (ls .ai/repo/knowledge/curated); its value lies in the pending arm and in promotions from now on
Ú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ží.
| issue | status | vlna | závisí na | název |
|---|---|---|---|---|
| I3413 | BLOKOVÁNO | 2 | I3416, I3164 | A decision, resolved question or verified task fact already curated or pending from another episode of this checkout is not proposed again, and derive names the record it matched |
| I3414 | BLOKOVÁNO | 3 | I3413, I3412 | Every candidate group names the curated notes and the rule that already speak about its subject, read from entity.affected, so a possible duplicate or contradiction is in front of the reviewer with both sources |
| I3415 | BLOKOVÁNO | 4 | I3414 | knowledge promote refuses evidence that names no reference existing in this checkout, and knowledge.promoted records the references it stood on |
| I3416 | BLOKOVÁNO | 0 | — | The episode boundary is proven to give one candidate for an observation recorded twice, none for a partial task, and one file per episode when two episodes close at once |
| I3417 | BLOKOVÁNO | 5 | I3415 | An observation can cite the mesh review that found what it records, and the reference stays in the candidate's body, never in its provenance |
Graf
flowchart LR
I3413["I3413<br/>A decision, resolved question or verified task fact already curated or pending from another episode of this checkout is not proposed again, and derive names the record it matched"]:::blocked
I3414["I3414<br/>Every candidate group names the curated notes and the rule that already speak about its subject, read from entity.affected, so a possible duplicate or contradiction is in front of the reviewer with both sources"]:::blocked
I3415["I3415<br/>knowledge promote refuses evidence that names no reference existing in this checkout, and knowledge.promoted records the references it stood on"]:::blocked
I3416["I3416<br/>The episode boundary is proven to give one candidate for an observation recorded twice, none for a partial task, and one file per episode when two episodes close at once"]:::blocked
I3417["I3417<br/>An observation can cite the mesh review that found what it records, and the reference stays in the candidate's body, never in its provenance"]:::blocked
I3413 --> I3414
I3414 --> I3415
I3415 --> I3417
I3416 --> I3413
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:2pxOdkazováno z tohoto diagramu (5)
- I3413 A decision, resolved question or verified task fact already curated or pending from another episode of this checkout is not proposed again, and derive names the record it matched
- I3414 Every candidate group names the curated notes and the rule that already speak about its subject, read from entity.affected, so a possible duplicate or contradiction is in front of the reviewer with both sources
- I3415 knowledge promote refuses evidence that names no reference existing in this checkout, and knowledge.promoted records the references it stood on
- I3416 The episode boundary is proven to give one candidate for an observation recorded twice, none for a partial task, and one file per episode when two episodes close at once
- I3417 An observation can cite the mesh review that found what it records, and the reference stays in the candidate's body, never in its provenance
Canonical record: .ai/repo/project/milestones/knowledge-is-reconciled-before-it-is-reviewed.yaml. Read it back with majordomus plan show knowledge-is-reconciled-before-it-is-reviewed.