Skip to content

Scope

start takes the paths a task may touch; check and finish fail on files outside them; other worktrees' overlapping claims are reported

start takes the paths a task may touch; check and finish fail on files outside them; other worktrees' overlapping claims are reported

Where it lives

The command that acts on it

majordomus check

Is the current task still consistent with its policy, its scope and this checkout?

  • read-only
  • active task required
  • --json
majordomus check [--explain] [--overlap] [--checkpoint] [--rule <id>] [--json]

See it refuse, and accept

check is read-only and answers three questions at once: does the record still describe this checkout, is the work inside the claimed scope, and is anything blocking acceptance.

Given this repository

# ... and an active task scoped to lib, with work done inside that scope.
. "$FIXTURE_SETUP/installed.sh"
"$MJ" start "narrow the parser" --scope lib >/dev/null
echo work >> lib/a

Run

$ majordomus check

Output contains

  • OK scope
  • 0 failing

exit 0

Every finding is printed, not only the failures, so the report says what was checked rather than only what went wrong.

Given this repository

# An active task scoped to lib, with a change under docs that the task never claimed.
. "$FIXTURE_SETUP/active-task.sh"
echo stray >> docs/d

Run

$ majordomus check

Output contains

  • FAIL scope
  • docs/d

exit 10

check names the individual file, because the useful question is which change to move or claim — not merely that something is wrong.

What enforces it

What is guaranteed

Rules this command runs

Doctrines whose enforced_by names check. Enforcing a rule and being governed by one are different relations, so they are listed separately.

The moments this answers