Skip to content

The same dead end, explored twice

Negative results are the majority of experimental output and the part nobody records, so the search space is re-explored.

→ watched a worker spend a day on an approach that had already been ruled out

cost when it happens
medium
how often
common

The moment

A worker spends a day establishing that the streaming approach cannot meet the ordering guarantee. It is careful work and the conclusion is right. It is also the conclusion somebody reached in April.

Why it happens

Positive results become code, which is durable. Negative results become nothing: the branch is deleted, the session ends, and the only trace is an absence — the approach is not in the codebase, which is indistinguishable from nobody having tried it.

Why a better model does not fix it

The second worker reasoned correctly from the same starting point and reached the same answer. That is the definition of a reproducible negative result, and it is being paid for twice because the first one was not written down.

What it costs

In experimental work, most attempts fail, so most of the output is exactly the kind that is being discarded. The search space is re-explored at full price, and the team's apparent progress rate is lower than its actual understanding.

What Majordomus does

A decision records the alternative that was rejected, not only the one chosen — --rejected is the field that makes a dead end durable, and --why is refused when empty. A finding that is not a decision is a knowledge record with a class: lesson is what an earlier attempt cost, constraint is something outside the repository that limits it. Both are searchable across handovers, checkpoints, decisions, questions and the ledger, in the order in which to trust them. Nothing stores the conversation the finding came from.

Before and after

before   April:  branch deleted.      August: the same day, again.

after    $ majordomus search "ordering guarantee" --kind decision --kind knowledge
         decision t-…  rejected: streaming — cannot preserve per-key ordering
                       across a rebalance; evidence test/cases/58_ordering.sh

What it does not do

It does not decide what is worth recording, and it will not mine an abandoned branch for lessons. It makes recording a negative result a one-line act with a place to put it.

What this looks like

Concrete situations, one per audience. Each is declared in the moment's front matter, so the before and the after are data rather than prose a page could drift from.

  1. Two workers, one dead end ai-native-team

    before
    A second worker independently tries the approach a first one abandoned, and abandons it for the same reason.
    after
    The abandonment is a knowledge record with class `lesson`, or a decision with its rejected alternative.
  2. Six weeks later research-team

    before
    An approach ruled out in the spring is proposed again in the summer, by the same team.
    after
    The record survives the branch and is searchable; `search` finds it in seconds.
  3. Your own dead end solo-builder

    before
    You remember that something did not work and not why, so you check again to be sure.
    after
    The reason is on record with the evidence it was read off, so checking is reading.

How you would know

The observable symptoms this moment declares. They are the questionnaire on the index and the input of majordomus why diagnose; nothing else defines them.

  • An approach was attempted that somebody had already attempted and abandoned. tried-before
  • Abandoned experiments leave no record of why they were abandoned. negatives-unrecorded
  • There are more discarded branches than anyone can characterise. branch-graveyard

Where this lives in the tool

Everything below is read out of this moment's own front matter and resolved against the repository. A name here that did not exist would fail validation.

the commands that answer it

the capabilities of the executable that answer it

what it supervises — derived from the claims below

the claims that back this page, and the evidence behind each

the rules that govern it

  • majordomus.externalise-decisions
  • majordomus.decision-records
  • majordomus.decision-threshold
  • project.never-store-transcripts

the use cases that show the way out

If this one is familiar, so is the next

What this moment names, what names it, and what shares its area, audience or tags. The second and third are derived; only the first is written down.

All 38, and how they connect to the tool →