I3016 — A capability reads the repository from its context, never by opening it again
The capability Context carries the Arc<Repository> the process discovered, and the capabilities that call Repository::open on a root they already hold (environment, commit, brief, intents, knowledge_base, release, server, continuity, intent_binding, guard, integration::allocate) read it from the context instead, so a capability call reads no manifest.
BLOCKED wave 1 · p0 · implementation profile · parallel safe
Blocked. This issue cannot start until I3014 is done. The status is derived from that, not declared.
Objective
The capability Context carries the Arc<Repository> the process discovered, and the capabilities that call Repository::open on a root they already hold (environment, commit, brief, intents, knowledge_base, release, server, continuity, intent_binding, guard, integration::allocate) read it from the context instead, so a capability call reads no manifest.
Why
The third slice of I1105. The 2026-10-20 survey found twelve Repository::open calls inside capabilities, each re-reading the manifest on every request the server answers.
Current state
Context holds the index, whose repository root is a String; capabilities re-open the repository from it.
Desired state
Context.repository is the discovered model; Repository::open is not called by a capability.
Scope
- apps/majordomus-cli/src/capability
- apps/majordomus-cli/src/integration/allocate.rs
- apps/majordomus-cli/src/repository.rs
Out of scope
- The 117 lines that rebuild paths from index.repository.root (I1106, the registries as views of the model)
Dependencies
What waits on this
- I1105BLOCKED The repository is discovered once, into one model
- I3017BLOCKED Discovering the repository outside the model is refused
Acceptance criteria
- No capability calls Repository::open; the context carries the repository
- A served capability call bumps repository_discoveries by nothing, asserted in tests/hot_path.rs
Validation
- cargo test --workspace --all-features
Evidence required
- capabilities_read_the_context
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/I3016.yaml. Read it back with majordomus plan show I3016.