Skip to content
Cockpit0.29.0
A snapshot: read at commit 707a04c7ce8 on 2026-10-18T00:06:01Z by majordomus 0.29.0. Nothing on this page is read again. See it live

I2694

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

Where it stands

devtask.issue
Readiness
ready no dependency and no gate holds it; nobody has started it
Status
READY
Can start
startable
Milestone
Milestone status
ACTIVE
Wave
0
Waiting on
none
Holds back
none
Behind it in all
0
Evidence
0 of 1
A move writes the repository: it stamps one field of this issue's record and appends one event to the ledger, and a commit will carry both.
The same moves from a terminal

majordomus plan start I2694

majordomus plan verify I2694

majordomus plan done I2694

What it is

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.
Now
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.
Wanted
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.
Done when
unknown: the record declares no `completion`
Risk
unknown: the record declares no `risk`

Acceptance

  • 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 validatebin/majordomus knowledge check
Evidence required
promoted_note_resolves_in_a_second_clone_case
Evidence present
unknown: the record carries no `evidence` entries

Scope

Touches
apps/majordomus-cli/src/capability/builtin/knowledge_base.rslib/knowledge.sh.ai/repo/skills/evolve/SKILL.md.ai/repo/project/issues/I2694.yaml
Not
Tracking the ledger or the task store
Depends on
none
Priority
p1
Profile
implementation
Parallel safe
true
Owner
unknown: the record declares no `owner`

The work so far

Branches
none
Merged
none
Commits
0
Trunk
master
Sessions
none
Created
2026-10-14
Updated
2026-10-14
Started
unknown: the record declares no `started_at`
Verified
unknown: the record declares no `verified_at`
Completed
unknown: the record declares no `completed_at`

Synchronisation

Adapter
scripts/github-sync
Repository
unknown: the derived plan's header carries no repository
External issue
unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
State there
unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it

Findings

LevelCodeMessageReproduce
WARNscope_conflictshares apps/majordomus-cli/src/capability/builtin/knowledge_base.rs with I2720; they may not run concurrentlymajordomus plan validate