Skip to content

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.

PLANNED 0 of 5 issues done

ready
3
blocked
2
active
0
verify
0
done
0
cancelled
0

Problem

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.

Outcome

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.

Current state

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.

Desired state

I3162-I3166 landed; ADR 0183 accepted and ADR 0118 amended to reference it (I3163).

Scope

  • 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

Out of scope

  • Promoting, merging or releasing a lesson without a person
  • An LLM in the derivation

Acceptance criteria

  • 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

Validation

  • majordomus plan validate

Risks

  • 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.

Issues

Each one is an execution contract with its own acceptance criteria, validation command and required evidence. The wave column is the layer of the dependency graph it sits in.

issuestatuswavedepends ontitle
I3162 READY 0 — Which task.refused lines are friction is measured across every checkout, and then each repeated refused rule becomes one observation candidate
I3163 READY 0 — Each episode boundary derives whether evolve is due — skip, defer or run — and the next session is told why
I3164 BLOCKED 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 BLOCKED 1 I3163 What evolution changed is measured: recurrence of a subject after its lesson landed, per window, with its denominator
I3166 READY 0 — A curated note whose cited file changed since its last review is reported for review, not served as current

The graph

knowledge-acts-on-what-it-learns dependency graphfrom .ai/repo/project
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:2px

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.

Searches the titles and descriptions of every page this site publishes.