Skip to content

a-workspace-reaches-the-repository — A vendor workspace reads the repository, and proposes to it only where the owner has decided it may

Read-only connector first; a proposal path only after an ADR amends ADR 0126.

BLOCKED 0 of 2 issues done

ready
0
blocked
2
active
0
verify
0
done
0
cancelled
0

Problem

The pull path brings decisions in after the fact; the owner asked twice for ChatGPT to act on the repository directly, and the only legitimate shape (a custom MCP connector) runs into ADR 0126 for any mutation and into a tunnel that makes remote callers look local. Sources: chatgpt-majordomus:c239#7, chatgpt-majordomus:c267#2, chatgpt-majordomus:c239#4.

Outcome

Read-only connector first; a proposal path only after an ADR amends ADR 0126.

Current state

MCP over HTTP on the shared server; ADR 0126 admits only reads and signed-input capabilities beyond loopback; intent.propose is repository_mutation.

Desired state

A vendor caller reads the plan; with the owner's decision, proposes intents carrying their workspace reference.

Scope

  • apps/majordomus-cli/src/http
  • apps/majordomus-cli/src/mcp
  • .ai/repo/adrs
  • docs/MCP.md

Out of scope

  • Public hosting
  • Writes without a person accepting them

Acceptance criteria

  • A vendor caller is refused every mutation until the ADR exists
  • A tunnel cannot grant loopback authority
  • Intent criteria a-vendor-reads-and-never-writes and a-proposal-names-its-source

Validation

  • majordomus plan validate

Risks

  • Vendor plan limits on write tools are unverified
  • Generalising this into a platform before the pull path is proven (lesson)

Issues

Each one is an execution contract with its own acceptance criteria, validation command and required evidence. The wave column is the layer of the dependency graph it sits in.

issuestatuswavedepends ontitle
I3285 BLOCKED 1 I2123 A vendor workspace reads the plan through the authenticated remote MCP surface, and a tunnel never makes it look local
I3286 BLOCKED 2 I3285, I3281 A proposal from a workspace arrives as intent.propose carrying the workspace reference it came from

The graph

a-workspace-reaches-the-repository dependency graphfrom .ai/repo/project
flowchart LR
    I3285["I3285<br/>A vendor workspace reads the plan through the authenticated remote MCP surface, and a tunnel never makes it look local"]:::blocked
    I3286["I3286<br/>A proposal from a workspace arrives as intent.propose carrying the workspace reference it came from"]:::blocked
    I3285 --> I3286
    classDef done stroke:#16a34a,fill:#dcfce7,color:#14532d,stroke-width:2px
    classDef active stroke:#2563eb,fill:#eff6ff,color:#1e3a8a,stroke-width:2px
    classDef verify stroke:#7c3aed,fill:#f5f3ff,color:#4c1d95,stroke-width:2px
    classDef ready stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef planned stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef blocked stroke:#b45309,fill:#fffbeb,color:#78350f,stroke-width:2px
    classDef cancelled stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px
    classDef superseded stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px

Canonical record: .ai/repo/project/milestones/a-workspace-reaches-the-repository.yaml. Read it back with majordomus plan show a-workspace-reaches-the-repository.

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