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.

I3212 — Two open pull requests that realise the same issue are reported as duplicates, with the survivor named

Use the pull request to issue edge the work graph already derives to report open pull requests that realise the same issue, name the survivor by evidence (green head, landed member of a top, newer head) and leave the closing to the landing seat; never close automatically on title or path similarity.

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

Part of finished-work-reaches-a-verified-release — Finished work reaches a verified release at the pace it is finished.

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

Cíl

Use the pull request to issue edge the work graph already derives to report open pull requests that realise the same issue, name the survivor by evidence (green head, landed member of a top, newer head) and leave the closing to the landing seat; never close automatically on title or path similarity.

Proč

The 2026-10-12 pack proposed that duplicate and superseded pull requests be detected from the work graph and closed knowingly with a pointer to the survivor (c242#5). The drain closes a pull request only when a declared Supersedes marker's successor lands. It extends milestone work-graph-github. Proposed in ADR 0197 (The backlog is bounded by a declared bound that every session reads at start, and the bound reports rather than refuses) (proposed; it carries no authority until the owner accepts it). Sources: chatgpt-majordomus:c242#5, chatgpt-majordomus:c051#2.

Aktuální stav

I1405 (DONE) derives the pull request to issue edge; classify.rs holds and closes on 'Supersedes #N' markers; no reading reports two open pull requests on one issue.

Cílový stav

integration.queue carries a duplicates section: the issue, the pull requests, the proposed survivor and the evidence for it; integration.explain repeats it per pull request; nothing is closed by it.

Rozsah

  • apps/majordomus-cli/src/integration/classify.rs
  • apps/majordomus-cli/src/integration/model.rs
  • docs/INTEGRATION.md
  • apps/majordomus-cli/src/capability/builtin/brief.rs
  • apps/majordomus-cli/src/commands/prs.rs

Mimo rozsah

  • Closing pull requests
  • Similarity by title or overlapping paths

Závislosti

Kritéria přijetí

  • Two open pull requests naming the same issue are reported with the survivor and why
  • A pull request naming no issue is never reported as a duplicate
  • The drain's closures are unchanged
  • The brief's integration line (prs brief) names the number of duplicate candidates and their issues when there are any, from the same reading as integration.queue

Validace

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

Požadované důkazy

  • test_duplicates_by_issue

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

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