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

I2000

What a piece of work serves is one derivation, with a revision

Where it stands

devtask.issue
Readiness
waiting every dependency is satisfied; the milestone intent-bound-work waits on an outcome of its own
Status
BLOCKED
Can start
not now
Milestone
Milestone status
BLOCKED
Wave
0
Waiting on
Holds back
Behind it in all
4
Evidence
0 of 4
In the waySubjectDetail
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 I2000

majordomus plan verify I2000

majordomus plan done I2000

What it is

Objective
Add Intents::binding over the preflight: the work named by an issue, an intent, paths or a declared exemption resolves to a standing (bound, maintenance, exempt, refused), the intents and criteria served, and two pins of what was resolved — plan_revision, a hash of each served intent's statement, invariants and criteria, the links that reach it and its critique, and evidence_standing, a hash of the served criteria's evidence states; answer it as the read-only capability intents.binding on the command line, HTTP and MCP.
Why
intent preflight answers what an issue serves and has no caller; nothing takes an intent by id, nothing knows an exemption, several intents reached by paths are all judged and none is called ambiguous, and nothing computes a revision a later reader could compare.
Now
Intents::preflight takes an issue or paths. No exemption class exists. No revision of an intent, its links or its critique is computed.
Wanted
intents.binding answers the same value on every surface; ambiguity, an unknown or retired intent, an undeclared exemption class and a missing reason are refusals with a cause.
Done when
unknown: the record declares no `completion`
Risk
unknown: the record declares no `risk`

Acceptance

  • An issue, an intent id and paths each resolve to the criteria served, a plan_revision that changes when the intent, the links or the critique change and at no other time, and an evidence_standing that changes when a served criterion's evidence state does
  • ADR 0111 records the decision and rule project.an-intent-outlives-its-sessions v3 states that a name a worker declared and a hash compared on read are not intent state
  • Paths reaching more than one intent with no issue named are refused as ambiguous_intent
  • An exemption of a class the policy declares, with a reason, is standing exempt; an undeclared class or an empty reason is refused
  • The command line, HTTP and MCP answer the same binding
Validation
cargo test --lib intent_bindingcargo test --test intent_binding
Evidence required
binding_resolves_issue_intent_and_pathsambiguous_paths_are_refusedan_exemption_is_a_declared_class_with_a_reasonplan_revision_moves_only_with_the_plan
Evidence present
unknown: the record carries no `evidence` entries

Scope

Touches
apps/majordomus-cli/src/intent_binding.rsapps/majordomus-cli/src/intent.rsapps/majordomus-cli/src/policy.rsapps/majordomus-cli/src/capability/builtin/intents.rsapps/majordomus-cli/src/commands/intent.rsapps/majordomus-cli/src/cli.rsapps/majordomus-cli/tests/intent_binding.rs.ai/repo/adrs/0111-a-task-names-what-it-serves-and-the-binding-is-derived.md.ai/repo/rules/project/an-intent-outlives-its-sessions.v3.md.ai/repo/projectdocs
Not
unknown: the record declares no `non_scope`
Depends on
none
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.