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

I2004

plan start refuses an issue whose binding is refused, in both engines

Where it stands

devtask.issue
Readiness
blocked 1 of its dependencies is not DONE
Status
BLOCKED
Can start
not now
Milestone
Milestone status
BLOCKED
Wave
1
Waiting on
Holds back
none
Behind it in all
0
Evidence
0 of 1
In the waySubjectDetail
issueI2000I2000 is not DONE
milestoneintent-bound-workthe milestone intent-bound-work waits on an outcome of its own
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 I2004

majordomus plan verify I2004

majordomus plan done I2004

What it is

Objective
Where the policy requires binding, have the start transition ask the binding of the issue before it stamps: plan::check in the Rust engine through the intent engine, and the shell engine through the built executable, with the same refusal text; where the policy does not require it, neither engine changes.
Why
A task is one way work begins and a plan transition is the other; plan start moves an issue to ACTIVE on its status alone, so work on an intent whose plan was never critiqued begins through it unrefused and is found by intent validate afterwards.
Now
plan::check refuses a start only when the issue is not READY; the shell engine does the same, and cases 133 and 582 hold the two equal.
Wanted
Under required, plan start on an issue whose binding is refused is refused in both engines with the binding's refusal, over the command line, HTTP and MCP; a maintenance issue and a bound issue start as before.
Done when
unknown: the record declares no `completion`
Risk
unknown: the record declares no `risk`

Acceptance

  • Under required, plan start on an issue serving an uncritiqued intent is refused by the Rust engine and by the shell engine with the same message
  • The plan.transition capability refuses the same start over HTTP and MCP
  • With the policy key absent, cases 133 and 582 pass unchanged
Validation
bash test/run.sh 962_plan_start_asks_the_binding_in_both_enginesbash test/run.sh 133_plan_transitionbash test/run.sh 582_the_done_guard_holds_in_both_engines
Evidence required
plan_start_refuses_a_refused_binding_in_both_engines
Evidence present
unknown: the record carries no `evidence` entries

Scope

Touches
apps/majordomus-cli/src/plan.rsapps/majordomus-cli/src/capability/builtin/plan.rslib/plan.shlib/intent_binding.shtest/cases/962_plan_start_asks_the_binding_in_both_engines.shtest/cases/133_plan_transition.sh
Not
unknown: the record declares no `non_scope`
Depends on
Priority
p1
Profile
implementation
Parallel safe
false
Owner
unknown: the record declares no `owner`

The work so far

Branches
none
Merged
none
Commits
0
Trunk
master
Sessions
none
Created
2026-10-07
Updated
2026-10-07
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

Nothing is wrong with these records.