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.

I3829 — A provider declares whether its client drives a browser beside the server, and preflight says when this machine's bridge is missing

Give the provider declaration a third capability axis, `browser` (`bridge` when the provider's client drives a browser through a vendor extension whose tools arrive in the same session as this repository's MCP server, `none` otherwise), with the cited evidence every axis carries; project it through every surface that reports provider capability; and let preflight report, for a provider that declares a bridge and whose client configuration is present, whether this machine has the bridge's native messaging host, with the person-level remedy when it does not.

PŘIPRAVENO vlna 0 · p2 · profil implementation · bezpečné souběžně

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.

Připraveno. Všechny závislosti jsou hotové, takže majordomus plan start I3829 bude přijato.

Cíl

Give the provider declaration a third capability axis, `browser` (`bridge` when the provider's client drives a browser through a vendor extension whose tools arrive in the same session as this repository's MCP server, `none` otherwise), with the cited evidence every axis carries; project it through every surface that reports provider capability; and let preflight report, for a provider that declares a bridge and whose client configuration is present, whether this machine has the bridge's native messaging host, with the person-level remedy when it does not.

Proč

docs/MCP.md#claude-in-the-browser describes the one path that drives a page and the live mesh in one session (Claude Code with the Claude in Chrome bridge), but nothing declares it and nothing notices when it is missing: on 2026-10-21 a session found the bridge unconnected only by calling a browser tool, after the owner asked for the Claude, extension and browser integration to work by itself, be described and be enforced. A project cannot turn the bridge on (Claude Code ignores CLAUDE_CODE_ENABLE_CFC in a project's settings, code.claude.com/docs/en/chrome), so the repository's part is to declare the capability with its citation and to say, at the session's start, what the person has to do once. Id from id-block-0c, handed over by 0c on the board. A consequence found by a3 composing train 2 (2026-10-21): share/providers.yaml is read with unknown keys refused (ProviderOffersEntry, deny_unknown_fields), so an executable built before this issue refuses a tree that declares `browser` with \"unknown field `browser`\"; every seat whose cached MAJORDOMUS_BIN predates it must refresh it once this lands. That refusal is the vocabulary rule working, not a fault to relax.

Aktuální stav

share/providers.yaml declares episode and prompts per provider; nothing says which client drives a browser, and no check looks for the Claude in Chrome native host.

Cílový stav

Every provider carries browser + browser_evidence; providers.md, product providers, the MCP tool and the site's provider cards show it; preflight reports a missing bridge host as a finding with the /chrome remedy, never as a failure, and says nothing for a provider that declares none.

Rozsah

  • share/providers.yaml
  • apps/majordomus-cli/src/share.rs
  • apps/majordomus-cli/src/product.rs
  • apps/majordomus-cli/src/environment/preflight.rs
  • apps/majordomus-cli/tests/provider_browser.rs
  • .ai/repo/rules/project/a-provider-capability-cites-its-evidence.v2.md
  • scripts/provider-evidence-check
  • test/cases/3829_a_provider_declares_its_browser_bridge.sh
  • docs/MCP.md
  • docs/CLAIMS.yaml
  • docs/claims
  • docs/generated
  • web

Mimo rozsah

  • Turning the bridge on for a person (a user setting; a project cannot)
  • Pre-approving any browser tool in .claude/settings.json
  • A remote connector for the Claude in Chrome side panel (I3285, and 0c's hosted hub)

Závislosti

Žádné. Tento úkol je kořenem grafu.

Kritéria přijetí

  • A provider entry without browser_evidence, or with a browser word outside the vocabulary, fails the read of share/providers.yaml with the path named
  • claude-code declares browser: bridge with a citation; every other provider declares its value with one
  • Preflight in a checkout whose .mcp.json is present reports the missing Claude Code native messaging host as a finding naming /chrome, and reports nothing when the host is present
  • docs/generated/providers.md and majordomus product providers show the browser column from the one declaration

Validace

  • cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test provider_browser
  • bash test/cases/3829_a_provider_declares_its_browser_bridge.sh

Požadované důkazy

  • case_a_provider_declares_its_browser_bridge

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

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