Skip to content

Where the policy requires binding, starting an issue or a task that serves an intent with no critique, or with a blocking finding open, is refused when it is started rather than reported afterwards

The review of a plan is a precondition of the work, not a finding about it. In a repository whose policy says intent.binding: required, an issue whose intent was never critiqued, or whose critique has a blocking finding still open, does not become ACTIVE, and a task that would execute it does not start.

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

Under policy `intent.binding: required`, `majordomus plan start`, the `plan.transition` capability and `majordomus start` each ask `intents.binding` and refuse a refused binding, with the same sentence in both plan engines, writing nothing; an answer that cannot be read refuses too. Under `advisory` a task's refused binding is reported and it starts; with the key absent or `off`, `plan start` succeeds as before and `intent validate` names `executing_without_critique` or `executing_with_open_blocker` afterwards (intent-plan-reviewed). This repository's own policy is `advisory`.

What it means

The review of a plan is a precondition of the work, not a finding about it. In a repository whose policy says intent.binding: required, an issue whose intent was never critiqued, or whose critique has a blocking finding still open, does not become ACTIVE, and a task that would execute it does not start.

How it works

majordomus plan start <id>, the plan.transition capability (HTTP and MCP) and majordomus start --issue <id> each ask intents.binding before they write. The binding judges the issue's links with the same coverage intent validate reports from and refuses with a cause: intent_not_critiqued, open_blocking_finding, or a broken link. Both plan engines print the same sentence, <id> may not start: <refusal>, and neither writes a stamp or a ledger line.

An answer that cannot be read refuses as well: a required gate that passed when it could not ask would not be a gate.

How to see it

majordomus-cli intent binding --issue <id>        # the standing, and each refusal with its cause

test/cases/962_plan_start_asks_the_binding_in_both_engines.sh moves issues of an uncritiqued intent through both engines with the policy key absent and then required, and compares the two refusals word for word. test/cases/960_a_task_starts_bound_to_what_it_serves.sh does the same for majordomus start.

What it does not cover

It is a policy choice. With intent.binding absent or off, plan start succeeds exactly as before and majordomus intent validate names executing_without_critique or executing_with_open_blocker afterwards; under advisory a task's refused binding is reported and the task starts. This repository's own policy is advisory.

A critique is judged by its presence and its open blocking findings. Whether it reviewed the plan as it now stands is not judged: the record carries no revision of the plan it reviewed.

Why it exists

intent validate found work on an unreviewed plan only once the work had begun, and gating majordomus start alone would have left plan start as a door beside the gate.

Detail rendered from docs/claims/intent-refused-at-plan-start.md.

From the statement to the proof

  1. 1 · the public statement

    Where the policy requires binding, starting an issue or a task that serves an intent with no critique, or with a blocking finding open, is refused when it is started rather than reported afterwards

    Made on Plan.

  2. 2 · the canonical claim

    intent-refused-at-plan-startdeclared status: guaranteed in docs/CLAIMS.yaml

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

  3. 3 · the implementation

    apps/majordomus-cli/src/intent_binding.rs

  4. 4 · the test and the scenarios

    Test: test/cases/962_plan_start_asks_the_binding_in_both_engines.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 962_plan_start_asks_the_binding_in_both_engines

Where this claim is used

responsibilities it covers

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