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.

I2300 — Hlava se posuzuje podle toho, co mění, ne podle živého stavu GitHubu — Prismatic Majordomus

Přimět scripts/ci/github-check, aby drift, který by zapsal apply, hlásil jako pending a neodmítal ho, u záznamů, které head změnil od svého merge base, a na trunku u záznamů, které se změnily v přistání mladším než deklarované okno; tentýž drift odmítat u každého jiného záznamu a na trunku po uplynutí okna s uvedenou nápravou.

HOTOVO vlna 0 · p1 · profil implementation · bezpečné souběžně

Součást work-graph-github — Projekce na GitHub je řízená, identifikovaná a průchodná a sloučený pull request vede zpět k výsledku, kterému sloužil.

Cíl

Přimět scripts/ci/github-check, aby drift, který by zapsal apply, hlásil jako pending a neodmítal ho, u záznamů, které head změnil od svého merge base, a na trunku u záznamů, které se změnily v přistání mladším než deklarované okno; tentýž drift odmítat u každého jiného záznamu a na trunku po uplynutí okna s uvedenou nápravou.

Proč

Kontrola github-projection spouští scripts/github-sync --check proti živému GitHubu a odmítá každý záznam, který je pozadu. Adaptér promítá jen kmen a nic to neaplikuje automaticky, takže pull request, který upraví již promítnutý záznam, je červený od narození a na vlastní hlavě nikdy nezezelená. Změřeno 2026-10-10: pull request #855 změnil jednu řádku I1900 a selhal s 'DRIFT behind issue I1900 (#753) body is behind the canonical record'; pull request #820 selhal s '8 record(s) state'. Jediná cesta ven bylo záznam neupravovat. Kdyby taková změna přistála, vlastní ci kmene by byla červená, dokud by někdo ručně neaplikoval, což blokuje další release tag. Ratchetující základní hodnota pokrývá jen missing a adopt a pro behind neexistuje štítek ani porovnání s bází.

Aktuální stav

scripts/ci/github-check při každém běhu odmítne behind, state, milestone a closed, ať je běh čehokoli. scripts/github-sync --apply se spouští ručně z masteru.

Cílový stav

Na hlavě je drift na záznamu, který hlava změnila, hlášen jako PENDING se slovy „projected after merge“. Na kmeni je PENDING, dokud je přistání mladší než apply.window v .ai/repo/ci/github.yaml, a poté odmítnut s uvedením scripts/github-sync --apply. Záznam se počítá jako změněný, když se liší jeho soubor nebo jeho vykreslení. Změna, kterou nelze změřit, se odmítne jako dříve. docs/INTEGRATION.md říká executoru, aby po takovém přistání aplikoval.

Rozsah

  • scripts/ci/github-check
  • .ai/repo/ci/github.yaml
  • .ai/repo/ci/README.md
  • .ai/repo/rules/project/github-projection-gated.v1.md
  • .ai/repo/automation/inventory.jsonl
  • test/cases/1038_a_head_is_judged_against_what_it_changes.sh
  • docs/INTEGRATION.md
  • docs/PLANNING.md
  • docs/CLAIMS.yaml
  • docs/claims/projected-record-edit-is-landable.md
  • docs/claims/github-projection-gated.md

Závislosti

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

Kritéria přijetí

  • Head pull requestu, který mění promítaný záznam, projde kontrolou, přičemž tento záznam je hlášen jako PENDING
  • Drift na záznamu, který head nezměnil, je odmítnut ve stejném běhu
  • Trunk hlásí přistálou změnu jako PENDING uvnitř deklarovaného okna a po jeho uplynutí ji odmítne, přičemž jmenuje scripts/github-sync --apply
  • Okno se čte z .ai/repo/ci/github.yaml a kontrola nenese jeho kopii
  • Základna nebo okno, které nelze přečíst, odmítne to, co kontrola odmítala dřív

Validace

  • bin/majordomus plan validate
  • bash test/run.sh 1038_a_head_is_judged_against_what_it_changes 97_github_gate 45_github_projection

Požadované důkazy

  • pending_class_case
  • mutations_fail_the_case

Důkazy

pokrývátypcommandvýsledeku commitu
pending_class_casetestMJ_TEST_JOBS=2 bash test/run.sh 1038_a_head_is_judged_against_what_it_changestesty: 1 prošel, 0 selhalo, 0 přeskočeno (běh 2026-10-14 mezi 07:40Z a 07:58Z na masteru ce5959db59)ce5959d
mutations_fail_the_casetestMJ_TEST_JOBS=2 bash test/run.sh 1038_a_head_is_judged_against_what_it_changestesty: 1 prošel, 0 selhalo, 0 přeskočeno (běh 2026-10-14 mezi 07:40Z a 07:58Z na masteru ce5959db59)ce5959d

Časová osa

zahájeno
2026-10-14T08:02:34Z
ověřeno
—
dokončeno
2026-10-14T08:02:42Z

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/I2300.yaml. Přečtěte ho zpět pomocí majordomus plan show I2300.

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