I3286 — A proposal from a workspace arrives as intent.propose carrying the workspace reference it came from
Once the owner decides remote mutation (open question), accept intent.propose from an authenticated vendor caller with a minimal structured delta (statement, criteria, workspace reference), never a transcript, under an autonomy-per-work-class policy declared as data.
BLOCKED wave 2 · p3 · implementation profile · parallel safe
Blocked. This issue cannot start until I3285, I3281, milestone:a-workspace-reaches-the-repository are done. The status is derived from that, not declared.
Objective
Once the owner decides remote mutation (open question), accept intent.propose from an authenticated vendor caller with a minimal structured delta (statement, criteria, workspace reference), never a transcript, under an autonomy-per-work-class policy declared as data.
Why
The owner wants to only ruminate in chat while the repository plans; the pull path already gets decisions in after the fact, and this is the only path that would make it immediate. Proposed in ADR 0211 (A record promoted from a workspace cites the message it came from by a typed reference that validates in every checkout and resolves only where the store is held) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c239#4, chatgpt-majordomus:c066#4.
Current state
intent.propose exists (ADR 0144, majordomus_intent_propose, effect repository_mutation) and is refused beyond loopback by ADR 0126.
Desired state
A signed or token-authenticated proposal path decided by an ADR amending ADR 0126, with the proposal's provenance a workspace: reference.
Scope
- apps/majordomus-cli/src/capability/builtin/intents.rs
- .ai/repo/adrs/0211-a-record-promoted-from-a-workspace-cites-the-message-it-came-fro.md
- .ai/repo/adrs/0144-an-intent-is-proposed-by-a-capability-and-its-stage-stays-derived.md
- .ai/repo/adrs/0126-a-caller-beyond-loopback-reads-and-changes-nothing-it-cannot-authenticate.md
- .ai/repo/policy.yaml
Out of scope
- Any record written without a person accepting the proposal
Dependencies
- I3285BLOCKED A vendor workspace reads the plan through the authenticated remote MCP surface, and a tunnel never makes it look local
- I3281BLOCKED A workspace message is a typed provenance reference that validates in every checkout without the store
Acceptance criteria
- A proposal from the vendor caller lands as a proposed intent whose provenance is the workspace reference
- A proposal carrying conversation text beyond the declared fields is refused
- Without the ADR amendment the call is refused as today
Validation
- cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test intent
- cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test remote_callers
Evidence required
- case_a_workspace_proposes_an_intent
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/I3286.yaml. Read it back with majordomus plan show I3286.