I3251 — A desired outcome is briefed with what the repository already holds about it
Revive I2206 from origin/chore/the-owner-packs-are-planned (ec37317fe7c, 2026-10-10, never landed): `intent draft brief <statement>` returns, read-only, the intents, criteria, milestones, issues, capabilities and rules whose records match the outcome, each with the reason it matched, before anything is proposed.
READY wave 0 · p2 · implementation profile · parallel safe
Ready. Every dependency is done, so majordomus plan start I3251 will be accepted.
Objective
Revive I2206 from origin/chore/the-owner-packs-are-planned (ec37317fe7c, 2026-10-10, never landed): `intent draft brief <statement>` returns, read-only, the intents, criteria, milestones, issues, capabilities and rules whose records match the outcome, each with the reason it matched, before anything is proposed.
Why
The owner asked on 2026-10-09 what derive's interface is and on 2026-09-15 for impact analysis before planning; reusing devcontext and the capability graph is cheaper than a new analysis. Proposed in ADR 0191 (A plan drafted from an intent is a proposal, checked by the plan's own validators before any record is written) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c146#5, chatgpt-majordomus:c205#2.
Current state
intents.propose writes a declared intent from a sentence and checks only that the id is free; devcontext compiles context from an issue, milestone, text or paths.
Desired state
The brief is a composition of devcontext and the object search, answered by one capability.
Scope
- apps/majordomus-cli/src/capability/builtin/intents.rs
- apps/majordomus-cli/src/devcontext/select.rs
- apps/majordomus-cli/src/devcontext/mod.rs
- apps/majordomus-cli/src/capability/builtin/objects.rs
- apps/majordomus-cli/src/commands/intent.rs
- apps/majordomus-cli/src/cli.rs
- apps/majordomus-cli/tests/intent.rs
Dependencies
None. This issue is a root of the graph.
What waits on this
- I3252BLOCKED A draft plan is judged as if it were written, and only a checked draft is written, through one capability
- I3253BLOCKED A proposal lists the values it left unresolved, and a draft that carries an invented threshold is refused
- I3254BLOCKED A proposal names the existing intents and issues it duplicates or overlaps, and is merged into one rather than added beside it
- I3273BLOCKED Each requirement of a campaign revision has a content-derived identity and is reconciled into the existing intents and issues
- I3408BLOCKED A captured prompt is answered, on this machine only, with the existing intents and issues it matches or with no match, and the answer carries identities and never the prompt's text
Acceptance criteria
- An outcome naming an existing intent's subject lists that intent first with the matching terms
- The brief writes nothing
Validation
- majordomus plan validate
- majordomus intent validate
Evidence required
- test_an_outcome_is_briefed
Evidence
None recorded. Every token above needs a command or an artifact behind it before this issue can be completed; narrative is refused.
Timeline
- started
- —
- verified
- —
- completed
- —
Those three fields, the evidence above and the state of the dependencies are all the status is made of. There is no status field to disagree with them.
Canonical record: .ai/repo/project/issues/I3251.yaml. Read it back with majordomus plan show I3251.