Skip to content

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

Part of two-folder-integration — A repository that adopts Majordomus gains two directories and two lines, and can give them back.

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

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.

Searches the titles and descriptions of every page this site publishes.