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.

I3205 — A pull request's change is split into canonical, derived and incidental paths, and the drain shows each

Classify every path a pull request changes as a canonical input, a derived projection (what .gitattributes merge=derived and the generators declare) or incidental, carry the counts on the queue's assessment, and report change amplification: how many derived files one canonical change rewrote.

BLOKOVÁNO vlna 0 · p2 · profil implementation · bezpečné souběžně

Part of delivery-flow-is-measured — The way from a pull request to a verified publication is measured per phase, and its bounds are read where work starts.

Blocked. This issue cannot start until milestone:delivery-flow-is-measured is done. The status is derived from that, not declared.

Cíl

Classify every path a pull request changes as a canonical input, a derived projection (what .gitattributes merge=derived and the generators declare) or incidental, carry the counts on the queue's assessment, and report change amplification: how many derived files one canonical change rewrote.

Proč

On 2026-10-10 large pull requests (#807 with 706 files, #292 with 499) were unreviewable and mergeable=false dominated (c207#6); the same day another review asked how many files of a pull request are canonical versus generated, and how many open pull requests rewrite the same outputs (c216#6). It supports delivery-is-measured-per-phase and serves no criterion of the intent. Sources: chatgpt-majordomus:c207#6, chatgpt-majordomus:c216#6.

Aktuální stav

The integration model knows a pull request's changed paths and the derived merge driver knows derived files (.gitattributes, test/cases/57_derived_merge_driver.sh); nothing classifies a pull request's paths or measures amplification.

Cílový stav

integration.queue and integration.explain carry canonical, derived and incidental counts per pull request, derived from the declarations already in the tree; the drain screen shows them; a pull request whose only canonical change is a record is told apart from a code change.

Rozsah

  • apps/majordomus-cli/src/integration/model.rs
  • apps/majordomus-cli/src/integration/classify.rs
  • docs/INTEGRATION.md
  • apps/majordomus-cli/src/ui/prs.rs
  • apps/majordomus-cli/src/integration/tests.rs
  • apps/majordomus-cli/src/capability/builtin/integration.rs
  • site/content/docs/integration.md
  • docs/generated/openapi.json

Mimo rozsah

  • Changing what is derived
  • Ranking by the counts (a later decision)

Závislosti

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

Kritéria přijetí

  • The derived set is read from the tree's own declarations; no path list is written in the code
  • A fixture pull request that changes one canonical file and its projections reports 1 canonical and N derived
  • The counts are the same on CLI JSON, HTTP and MCP

Validace

  • cargo test --manifest-path apps/majordomus-cli/Cargo.toml --lib integration::
  • majordomus plan validate

Požadované důkazy

  • test_change_split_by_kind

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

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