Skip to content

I2694 — A promoted note resolves in every checkout, not only where it was promoted

Make `majordomus knowledge promote` produce a record that `knowledge check` accepts in a fresh clone and in CI, so that the evolve skill's procedure can be followed to its end.

READY wave 0 · p1 · implementation profile · parallel safe

Part of development-runtime — The runtime has a development surface.

Ready. Every dependency is done, so majordomus plan start I2694 will be accepted.

Objective

Make `majordomus knowledge promote` produce a record that `knowledge check` accepts in a fresh clone and in CI, so that the evolve skill's procedure can be followed to its end.

Why

On 2026-10-14 the first pass of the evolve skill promoted five candidates. Each curated note names `session:<episode>` and `task:<id>` in provenance.derived_from. `knowledge check` passed in the worktree that promoted them and failed with ten findings in another worktree of the same repository: a session resolves only through a tracked session record, which is written when the episode is closed, and a task resolves only through the ledger or the task store, both under .ai/local. The structure job passed where the notes were made, so the defect would first have been seen in CI.

Current state

A `task:` reference resolves to the ledger or the task store of the checkout that reads it and to nothing else. A tracked session record lists its tasks (`tasks:`), and nothing reads that list when a task is resolved. The five notes were withdrawn from the pull request that would have carried them; their lessons are in docs/INTEGRATION.md and in the evolve skill.

Desired state

A task named by a tracked session record resolves through that record. Promotion refuses, with the remedy, a candidate whose episode is still open and so has no tracked record yet. A case promotes a candidate in one clone and runs `knowledge check` in a second.

Scope

  • apps/majordomus-cli/src/capability/builtin/knowledge_base.rs
  • lib/knowledge.sh
  • .ai/repo/skills/evolve/SKILL.md
  • .ai/repo/project/issues/I2694.yaml

Out of scope

  • Tracking the ledger or the task store

Dependencies

None. This issue is a root of the graph.

Acceptance criteria

  • A note promoted in one clone passes `majordomus knowledge check` in a second clone that has only what git carries
  • Promoting a candidate of an episode that is still open is refused and names `majordomus session close`
  • The evolve skill's procedure says when the episode is closed

Validation

  • bin/majordomus plan validate
  • bin/majordomus knowledge check

Evidence required

  • promoted_note_resolves_in_a_second_clone_case

Evidence

None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.

Timeline

started
—
verified
—
completed
—

Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.

Canonical record: .ai/repo/project/issues/I2694.yaml. Read it back with majordomus plan show I2694.

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