Skip to content

knowledge observe records one observation.recorded ledger line with its kind, subject, statement and typed evidence references, inside an open episode, inside a task or outside one, and refuses any other shape, or the absence of an episode, without writing

A worker records friction it met — a workaround, a defect, a drift, a repeated manual step — with one command, majordomus knowledge observe, and the ledger gains one observation.recorded line carrying the kind, the subject, the statement and the evidence references. The command works inside a task and outside one. Anything not of that shape is refused with exit 2 and nothing is written.

declared statusdeclared status: guaranteed Declared deterministic and blocking, implemented, and naming the behavioural test that is to prove it. Whether a recorded run supports it is the evidence verdict, shown beside it.

recorded evidencerecorded evidence: not run Declared guaranteed, and not supported by a recorded run: the test is named, and no passing run of the current inputs is recorded. how evidence is recorded

The kinds are friction, workaround, defect, drift and repetition. A subject is a repository-relative path without '..' or capability:, rule:, command:, gate: followed by an identifier; an evidence reference is file:, test:, commit:, issue: or claim: followed by what it names. A statement that spans lines or opens like a turn of a conversation is refused. A malformed observation exits 2; one recorded with no open episode exits 10, naming session start, because the deriver selects lines by their episode stamp. Every refusal leaves the ledger as it was. The observation is derived into a candidate at the episode boundary (ADR 0118).

What it means

A worker records friction it met — a workaround, a defect, a drift, a repeated manual step — with one command, majordomus knowledge observe, and the ledger gains one observation.recorded line carrying the kind, the subject, the statement and the evidence references. The command works inside a task and outside one. Anything not of that shape is refused with exit 2 and nothing is written.

How it works

--kind is one of friction, workaround, defect, drift, repetition. --subject is a repository-relative path that does not climb out of the repository, or capability:, rule:, command: or gate: followed by an identifier, so that a route can later be derived from the subject's structure rather than from words. Each --evidence is file:, test:, commit:, issue: or claim: followed by what it names. The statement is one quoted argument on one line, and a statement that opens like a turn of a conversation is refused for the reason a knowledge record may not carry one. The line names the active task, or none.

How to see it

majordomus knowledge observe --kind friction --subject scripts/site-build \
  --evidence commit:bf9b27caeb "a moved head composes a stale rustdoc surface"
majordomus history --event observation.recorded
majordomus knowledge observe --kind annoyance --subject lib "x"; echo "exit $?"   # 2, nothing written

What it does not cover

It judges nothing: whether the observation is right, new or worth acting on is decided at the episode boundary and by the person who reviews the candidate. It does not record observations from a transcript, a hook or a model; the worker states them.

Why it exists

On 2026-10-08 four concurrent sessions met about thirty pieces of friction with the tool, and every one of them ended up in an agent's private memory or in a message between sessions, where the repository could not read it. .ai/repo/adrs/0118-a-session-leaves-what-it-observed-and-one-candidate-per-defect-is-routed.md gives the repository one typed line per observation, the same kind of act as recording a decision.

Detail rendered from docs/claims/a-session-records-what-it-observed.md.

From the statement to the proof

  1. 1 · the public statement

    knowledge observe records one observation.recorded ledger line with its kind, subject, statement and typed evidence references, inside an open episode, inside a task or outside one, and refuses any other shape, or the absence of an episode, without writing

    Made on Layer.

  2. 2 · the canonical claim

    a-session-records-what-it-observeddeclared status: guaranteed in docs/CLAIMS.yaml

    Defined in read it on this site · docs/KNOWLEDGE.md

  3. 3 · the implementation

    lib/knowledge.sh · majordomus knowledge

  4. 4 · the test and the scenarios

    Test: test/cases/980_a_session_records_what_it_observed.sh

  5. 5 · the recorded runs

    recorded evidence: not run how evidence is recorded

Verify it yourself

The test runs in a disposable temporary repository and asserts the behaviour, not a string in the source.

from a clone of the repository
bash test/run.sh 980_a_session_records_what_it_observed

Where this claim is used

responsibilities it covers

Related claims same implementation

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