I2962 — To, co servírované povrchy mění, se říká tak, jak to říká registr
Opravit každou publikovanou větu, která označuje server za pouze čtecí nebo počítá jeho zapisovatele ručně, podle toho, co registr schopností říká o změnách každé schopnosti a o tom, kdo ji smí volat, a držet to případem, který porovná seznam zapisovatelů do repozitáře ve funkci rozhraní s registrem a odmítne vyřazené věty.
HOTOVO vlna 0 · p0 · profil implementation · bezpečné souběžně
Součást development-runtime — The runtime has a development surface.
Cíl
Opravit každou publikovanou větu, která označuje server za pouze čtecí nebo počítá jeho zapisovatele ručně, podle toho, co registr schopností říká o změnách každé schopnosti a o tom, kdo ji smí volat, a držet to případem, který porovná seznam zapisovatelů do repozitáře ve funkci rozhraní s registrem a odmítne vyřazené věty.
Proč
Truth sweep 2026-10-18 (f6, S4-S8 a S12, ověřeno). README.md:420 označovalo `mcp` a `serve` za procesy jen pro čtení a README.md:470 tvrdilo, že vrstva je vystavena jen pro čtení; .ai/repo/features/interfaces.md psalo 'všechny schopnosti kromě dvou ... jsou čtení' a jmenovalo plan.transition a recover.orphans, 'spočítané z registru, ne uvedené ručně'; docs/claims/mcp-stdio-surface.md nazývalo `majordomus mcp` 'jediným příkazem', který 'nezapisuje žádný soubor ... a neposlouchá na žádném portu'; docs/claims/mcp-peers.md a docs/MCP.md:410 nazývaly peers.announce 'jedinou schopností druhu command'; docs/claims/mesh-observation-not-authority.md tvrdilo, že inzerovaný HTTP povrch je jen pro čtení a mesh.register 'jedinou mutující operací meshe'. Registr (docs/generated/registry.json) má 202 schopností: 171 čtení, 23 mění vlastní stav runtime, 8 zapisuje do repozitáře; 31 jsou příkazy a 13 mesh rout přijímá POST. Vzdálený volající je odmítnut u každé schopnosti, která není čtením, pokud jeho vstup nepodepsal propojený uzel (capability/model.rs:708 admits_remote, http/router.rs:1028). README.md:333 slibovalo, že výlučný claim na jednom stroji odmítne překrývající se claim na jiném a že zhroucený runtime vyprší všude; milník mesh-journal-converges zaznamenává exkluzivitu jako lokální přijetí plus deterministické určení vítěze, bez fencingu.
Aktuální stav
Opraveno v této změně: README (dva řádky a odstavec o mesh), funkce rozhraní (souhrn a co nedělá), docs/MCP.md:13 a :410 a tři tvrzení s jejich záznamy v CLAIMS.yaml.
Cílový stav
Žádný povrch nenazývá server jen pro čtení ani nepočítá jeho zapisovatele ručně; funkce rozhraní jmenuje sadu repository_mutation registru a případ 3363 odmítne stránku, jejíž seznam se od registru liší, nebo jakoukoli vyřazenou větu v README, dokumentech či funkcích.
Rozsah
- README.md
- .ai/repo/features/interfaces.md
- docs/MCP.md
- docs/CLAIMS.yaml
- docs/claims/mcp-stdio-surface.md
- docs/claims/mcp-peers.md
- docs/claims/mesh-observation-not-authority.md
- test/cases/3363_what_mutates_is_said_as_it_is.sh
Závislosti
Žádné. Tento úkol je kořenem grafu.
Co na tom čeká
Kritéria přijetí
- Funkce rozhraní jmenuje přesně schopnosti, jejichž účinek v registru je repository_mutation, a stránka, která některou vypustí, se odmítne
- V README, dokumentech ani funkcích nezůstává žádná zrušená věta o jen-čtení nebo jednom příkazu
- odstavec o meshi v README uvádí exkluzivitu tak, jak ji zaznamenává milník
Validace
- majordomus plan validate
Požadované důkazy
- case_what_mutates_is_said_as_it_is
Důkazy
| pokrývá | typ | command | výsledek | u commitu |
|---|---|---|---|---|
| case_what_mutates_is_said_as_it_is | test | bash test/run.sh 3363_what_mutates_is_said_as_it_is | 14 passed, 0 failed, 0 skipped on master dd4c0a87cba | dd4c0a8 |
Časová osa
- zahájeno
- 2026-10-19T13:57:27Z
- ověřeno
- —
- dokončeno
- 2026-10-19T13:57:45Z
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.
Kanonický záznam: .ai/repo/project/issues/I2962.yaml. Přečtěte jej zpět pomocí majordomus plan show I2962.