Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

I3300 — Majordomus installs into Claude Code as one generated plugin carrying its skills, hooks, mods and MCP server

Generate one plugin bundle from the registry (the skills editors/claude.rs projects, the capture and edit-guard hooks, the two mods under share/mods/claude-code, the MCP server entry), stamped with its source digest and the Claude Code version it was verified against, replacing hand-assembled pieces.

BLOKOVÁNO vlna 1 · p2 · profil implementation · bezpečné paralelně

Part of a-provider-carries-the-contract-natively — Each agent client carries the contract through its own extension points, generated once and checked for drift.

Blocked. This issue cannot start until I3322 is done. The status is derived from that, not declared.

Cíl

Generate one plugin bundle from the registry (the skills editors/claude.rs projects, the capture and edit-guard hooks, the two mods under share/mods/claude-code, the MCP server entry), stamped with its source digest and the Claude Code version it was verified against, replacing hand-assembled pieces.

Proč

Today the Claude integration is four mechanisms installed three ways (.claude/skills by generate, .claude/hooks by capture install, mods copied into .claude/skills, .mcp.json); an adopter cannot install or update it as one thing, and the owner asked for zero-config Claude integration. Critique 2026-10-18: the install mechanism that loads a project plugin with no configuration by the person is unverified, and a plugin installed beside the hand-assembled pieces would capture every prompt twice and connect two MCP servers. The edit-guard wiring and its rollout, which the critique also put here, are split into I3322 and I3323 (one worker, one issue, one pull request); this issue packages the guard once it is wired. Proposed in ADR 0214 (A provider's native extension points carry the contract as generated projections; Majordomus neither embeds nor patches the worker's runtime) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c174#18, chatgpt-majordomus:c194#3, chatgpt-majordomus:c236#4, chatgpt-majordomus:c261#7, chatgpt-majordomus:c048#5, chatgpt-majordomus:c048#6.

Aktuální stav

share/mods/claude-code/{majordomus-brief,majordomus-handover} each carry .claude-plugin; editors/claude.rs is verified against Claude Code 2.1 by a constant, not by detection.

Cílový stav

majordomus generate writes one plugin; generate --check fails on drift; the detected client version is recorded.

Rozsah

  • apps/majordomus-cli/src/editors/claude.rs
  • share/mods/claude-code
  • apps/majordomus-cli/src/generate.rs
  • lib/capture.sh
  • lib/doctor.sh
  • .mcp.json
  • share/providers.yaml
  • docs/EDITORS.md

Mimo rozsah

  • A marketplace
  • Personal settings or permission modes
  • Hosting or operating a marketplace (ADR 0214); a repo-local marketplace manifest that is generated and drift-gated is a projection, not a marketplace
  • Wiring the edit guard into .claude/settings.json and its rollout to refusal (I3322, I3323)

Závislosti

Co na tom čeká

Kritéria přijetí

  • Before any generation, share/providers.yaml records the Claude Code mechanism that loads a project plugin without the person configuring anything, with dated vendor evidence and the detected client version, which replaces the hard-coded VERIFIED_AGAINST constant; if no such mechanism exists, the work stops and the criterion is reworded
  • The plugin is generated deterministically from the registry
  • Installing it yields working skills, hooks and MCP in a fixture
  • A hand edit to a generated file fails the drift gate
  • Once the plugin is installed, capture install removes its own settings.json hooks, its .claude/skills mod copies and any duplicate majordomus MCP entry; doctor reports double wiring; and a fixture yields exactly one capture record and one episode per event
  • Proof is split into a CI-runnable structural case on the generated plugin and provider configuration, and an opt-in end-to-end case (gated like case 2980) run against a dated Claude Code version; both carry case numbers taken from scripts/case-numbers and announced on the board
  • docs/EDITORS.md documents the plugin, its install mechanism and the client version it was verified against

Validace

  • majordomus generate --check
  • cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test editors

Požadované důkazy

  • case_the_claude_code_plugin_is_generated
  • case_the_plugin_loads_in_claude_code_opt_in

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/I3300.yaml. Read it back with majordomus plan show I3300.

Prohledává názvy a popisy všech stránek, které tento web publikuje.