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.
BLOKOVÁNO vlna 1 · p0 · profil implementation · bezpečné paralelně
Blocked. This issue cannot start until I3014 is done. The status is derived from that, not declared.
Cíl
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.
Proč
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.
Aktuální stav
Context holds the index, whose repository root is a String; capabilities re-open the repository from it.
Cílový stav
Context.repository is the discovered model; Repository::open is not called by a capability.
Rozsah
- apps/majordomus-cli/src/capability
- apps/majordomus-cli/src/integration/allocate.rs
- apps/majordomus-cli/src/repository.rs
Mimo rozsah
- The 117 lines that rebuild paths from index.repository.root (I1106, the registries as views of the model)
Závislosti
Co na tom čeká
- I1105BLOCKED The repository is discovered once, into one model
- I3017BLOCKED Discovering the repository outside the model is refused
Kritéria přijetí
- 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
Validace
- cargo test --workspace --all-features
Požadované důkazy
- capabilities_read_the_context
Důkazy
Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.
Časová osa
- zahájeno
- —
- ověřeno
- —
- dokončeno
- —
Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.
Canonical record: .ai/repo/project/issues/I3016.yaml. Read it back with majordomus plan show I3016.