knowledge-acts-on-what-it-learns — The repository decides when to evolve its layer, and a session carries it out
Friction is measured and then derived; each boundary records an evolve readiness verdict the next session is told; evolve output does not feed itself; outcomes are measured; a curated note whose source moved is flagged.
PLÁNOVÁNO 0 z 5 úkolů hotovo
- připraveno
- 3
- blokováno
- 2
- aktivní
- 0
- verify
- 0
- hotovo
- 0
- zrušeno
- 0
Problém
Observations become grouped, routed candidates at the episode boundary (I2073-I2075 DONE), but acting on them waits for the owner to call /evolve by hand: .ai/repo/skills/evolve/SKILL.md lists when to use it, and nothing derives that it is due. Intent a-session-leaves-what-it-observed declares acting on a route and friction from task.refused/task.gate out of scope 'until measured'. Curated notes are never re-judged when the files they cite change. Proposed in ADR 0183 (Evolution is scheduled at the episode boundary and carried out by a session; nothing promotes itself) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c274#2.
Výsledek
Friction is measured and then derived; each boundary records an evolve readiness verdict the next session is told; evolve output does not feed itself; outcomes are measured; a curated note whose source moved is flagged.
Aktuální stav
Verified on master 707a04c: lib/knowledge.sh derives, groups, routes, promotes and rejects; knowledge_base.rs judges the stopped writer (case 708); four curated notes under .ai/repo/knowledge/curated carry provenance.derived_from (this branch adds a fifth); lib/history.sh reads task.refused for display, but no deriver reads it; no readiness verdict exists.
Cílový stav
I3162-I3166 landed; ADR 0183 accepted and ADR 0118 amended to reference it (I3163).
Rozsah
- lib/knowledge.sh
- apps/majordomus-cli/src/capability/builtin/knowledge_base.rs
- apps/majordomus-cli/src/capability/builtin/brief.rs
- share/events.yaml
- .ai/repo/policy.yaml
- .ai/repo/skills/evolve
- docs/KNOWLEDGE.md
- lib/context.sh
- lib/session.sh
- apps/majordomus-cli/src/ui/knowledge.rs
- apps/majordomus-cli/src/cockpit
- apps/majordomus-cli/src/devcontext
- site/content/guarantees
- share/schemas/majordomus/policy/policy.v1.schema.json
- share/skeleton/policy.yaml
- share/allow/policy.txt
- share/schemas/majordomus/knowledge
- .ai/repo/adrs/0183-evolution-is-scheduled-at-the-episode-boundary-and-carried-out-b.md
- .ai/repo/adrs/0118-a-session-leaves-what-it-observed-and-one-candidate-per-defect-is-routed.md
- .ai/repo/project/intents
Mimo rozsah
- Promoting, merging or releasing a lesson without a person
- An LLM in the derivation
Kritéria přijetí
- Every closed episode records exactly one readiness verdict, at its close
- Concurrent 'run' verdicts in several checkouts lead to one evolve run
- An evolve run's own change yields no candidate about itself
- Friction becomes a candidate only after its measurement is recorded
- A curated note whose cited source moved since its last review is flagged for review
Validace
- majordomus plan validate
Rizika
- Overlaps the in-flight a-session-proceeds work (board f6, branch docs/a-session-proceeds, I2974; not on master): proceed may be where the verdict is surfaced; coordinate on the board before I3163 starts
- Whether 'run' becomes an input to proceed.plan (I2972) is the f6 peer's decision and the owner has not accepted the scheduler design; until then I3163 delivers a case-asserted briefing directive, which does not prove a session follows it
- It follows a-session-leaves-what-it-observed in practice; the edge is kept off the milestone so two milestones of one order are not reordered.
Ú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 |
|---|---|---|---|---|
| I3162 | PŘIPRAVENO | 0 | — | Which task.refused lines are friction is measured across every checkout, and then each repeated refused rule becomes one observation candidate |
| I3163 | PŘIPRAVENO | 0 | — | Each episode boundary derives whether evolve is due — skip, defer or run — and the next session is told why |
| I3164 | BLOKOVÁNO | 1 | I3163, I3162 | A change an evolve run makes yields no candidate about itself, and a rejected subject is not proposed again without new evidence |
| I3165 | BLOKOVÁNO | 1 | I3163 | What evolution changed is measured: recurrence of a subject after its lesson landed, per window, with its denominator |
| I3166 | PŘIPRAVENO | 0 | — | A curated note whose cited file changed since its last review is reported for review, not served as current |
Graf
flowchart LR
I3162["I3162<br/>Which task.refused lines are friction is measured across every checkout, and then each repeated refused rule becomes one observation candidate"]:::ready
I3163["I3163<br/>Each episode boundary derives whether evolve is due — skip, defer or run — and the next session is told why"]:::ready
I3164["I3164<br/>A change an evolve run makes yields no candidate about itself, and a rejected subject is not proposed again without new evidence"]:::blocked
I3165["I3165<br/>What evolution changed is measured: recurrence of a subject after its lesson landed, per window, with its denominator"]:::blocked
I3166["I3166<br/>A curated note whose cited file changed since its last review is reported for review, not served as current"]:::ready
I3162 --> I3164
I3163 --> I3164
I3163 --> I3165
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)
- I3162 Which task.refused lines are friction is measured across every checkout, and then each repeated refused rule becomes one observation candidate
- I3163 Each episode boundary derives whether evolve is due — skip, defer or run — and the next session is told why
- I3164 A change an evolve run makes yields no candidate about itself, and a rejected subject is not proposed again without new evidence
- I3165 What evolution changed is measured: recurrence of a subject after its lesson landed, per window, with its denominator
- I3166 A curated note whose cited file changed since its last review is reported for review, not served as current
Canonical record: .ai/repo/project/milestones/knowledge-acts-on-what-it-learns.yaml. Read it back with majordomus plan show knowledge-acts-on-what-it-learns.