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.

I2750 — Kontrola driftu na trunku čte forge, než soudí

Job structure, který spouští scripts/ci/plan-drift-check na trunku, nejprve zaznamená forge (otevřené pull requesty a názvy sloučených pull requestů) a zjištění, které kontrola nemohla rozhodnout, protože forge zůstal nepřečten, se hlásí jako nerozsouzené, nikoli odmítnuté.

PŘIPRAVENO vlna 2 · p0 · profil implementation · bezpečné paralelně

Součást truthful-plan-surfaces — Povrchy plánu se odvozují z dodávky a nic, co zobrazují, se nezadává vedle repozitáře.

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

Cíl

Job structure, který spouští scripts/ci/plan-drift-check na trunku, nejprve zaznamená forge (otevřené pull requesty a názvy sloučených pull requestů) a zjištění, které kontrola nemohla rozhodnout, protože forge zůstal nepřečten, se hlásí jako nerozsouzené, nikoli odmítnuté.

Proč

Dne 2026-10-16 I2748 dvakrát změřil drift plánu na origin/master d1162668036: s nepřečteným forge hlásil 23 merged_not_recorded, s předchozím spuštěním `majordomus prs refresh` a `majordomus served forge` hlásil 16. Sedm navíc (I2059, I2114, I2123, I2124, I2132, I2282, I2288) má každý otevřený pull request, který je jmenuje, což definice vylučuje. Checkout CI nemá zaznamenaný žádný forge, takže každé zjištění tam říká unread: forge; pod blokujícím vynucováním by trunk zčervenal kvůli práci, která stále probíhá.

Aktuální stav

scripts/ci/plan-drift-check se ptá `majordomus plan drift --gate trunk` v čerstvém checkoutu, jehož .ai/local nedrží žádné pozorování forge; spustitelný soubor hlásí forge nepřečtený a posuzuje každý nález bez něj.

Cílový stav

Na trunku job před kontrolou spouští `majordomus prs refresh` a `majordomus served forge` s GH_TOKEN jobu (pull-requests: read, deployments: read). Nález, který stále nese unread: forge, je PENDING s POZNÁMKOU jmenující forge, nikdy REFUSED, takže nečitelný forge nemůže trunk zbarvit červeně, a ustálený nález za oknem se odmítne jako dříve.

Rozsah

  • scripts/ci/plan-drift-check
  • .github/workflows/validate.yml
  • .ai/repo/ci/gates.yaml
  • apps/majordomus-cli/src/plan/drift.rs
  • test/cases/3101_merged_work_unrecorded_is_drift.sh

Mimo rozsah

  • Token s právem zápisu: kontrola čte forge a nic jiného.

Závislosti

Co na tom čeká

Kritéria přijetí

  • Krok plan-drift na trunku čte forge dřív, než soudí, a jeho výstup jmenuje, kolik otevřených pull requestů přečetl
  • Zjištění merged_not_recorded, jehož forge není přečten, se na trunku nikdy neodmítne
  • Vyřešený nález po uplynutí okna je při blokujícím vynucování stále odmítnut

Validace

  • bash test/run.sh 3101_merged_work_unrecorded_is_drift

Požadované důkazy

  • unread_forge_never_refuses

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.

Kanonický záznam: .ai/repo/project/issues/I2750.yaml. Přečtěte jej zpět pomocí majordomus plan show I2750.

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