I3007 — Commit, který jmenuje záznam nebo data webu, je commit, který historie obsahuje
`scripts/ci/link-check --sources` rozhoduje před sestavením jakéhokoli webu o každém odkazu commit/<sha> napsaném v sledovaném souboru pod .ai/repo/project, site/data nebo site/content-src a o každém commitu, který datový soubor předává šabloně k odkázání, přičemž názvy klíčů se čtou z odkazů na commity, které šablony staví, podle pravidel, která už používá kontrola sestavených stránek: commit mimo publikovanou historii je nález a mělký klon rozhodnutí odkládá. lib/common.sh získává mj_commit_in_history (0 uvnitř, 1 ne, 2 nerozhodnutelné), jediný predikát pro stranu producenta (I3050). Dva záznamy úkolů, které citovaly přebasované commity s důkazy, jmenují commity, které přistály.
HOTOVO vlna 0 · p1 · profil implementation · bezpečné souběžně
Cíl
`scripts/ci/link-check --sources` rozhoduje před sestavením jakéhokoli webu o každém odkazu commit/<sha> napsaném v sledovaném souboru pod .ai/repo/project, site/data nebo site/content-src a o každém commitu, který datový soubor předává šabloně k odkázání, přičemž názvy klíčů se čtou z odkazů na commity, které šablony staví, podle pravidel, která už používá kontrola sestavených stránek: commit mimo publikovanou historii je nález a mělký klon rozhodnutí odkládá. lib/common.sh získává mj_commit_in_history (0 uvnitř, 1 ne, 2 nerozhodnutelné), jediný predikát pro stranu producenta (I3050). Dva záznamy úkolů, které citovaly přebasované commity s důkazy, jmenují commity, které přistály.
Proč
Dne 2026-10-18 odvozená data topu 0.30.0 jmenovala top, který nebyl nikdy pushnut, a čtyři přeformulované commity a web na ně publikoval odkazy; link-check je našel až v sestaveném webu, v shardu sady, po pushi. Čtení zdrojů našlo další dva, které žádné sestavení nenahlásilo: I0817 a I0818 citovaly důkazní commity 77f5d79 a c9443ae, které byly před přistáním rebasovány jako e2a00a74bb9 a 3a39694d753 (tentýž patch).
Aktuální stav
Rozhoduje se jen o odkazech na commity v sestavené stránce (scripts/ci/link-check), a to až po buildu webu; záznamy a datové soubory ne; asi deset volajících v lib/ si merge-base --is-ancestor vkládá každý po svém.
Cílový stav
Záznam nebo datový soubor, který jmenuje commit mimo historii, se odmítne před sestavením stejnými pravidly jako stránka a jeden predikát odpovídá, zda je commit v historii.
Rozsah
- scripts/ci/link-check
- lib/common.sh
- test/cases/3400_a_recorded_commit_link_names_the_history.sh
- .ai/repo/project
- dokumentace
- web
Mimo rozsah
- Stahování čehokoli: kontrola rozhoduje offline, proti klonu, který dostane
- Přepisování prózy, která říká, kde práce kdysi žila; drží se jen pole nebo odkaz, který se stane odkazem na commit
Závislosti
Žádné. Tento úkol je kořenem grafu.
Kritéria přijetí
- Datové pole nebo odkaz záznamu pojmenovávající commit mimo historii selže v `link-check --sources` s uvedením souboru a pole
- Pole, které žádná šablona neodkazuje jako commit, není rozhodnuto
- Mělký klon odkládá (exit 12) a nehlásí žádný nález
- Odstranění průchodu daty, prohledávání zdrojů nebo filtru klíčů šablon vždy zčervená případ 3400
- mj_commit_in_history odpovídá 0, 1 a 2 tak, jak je uvedeno
Validace
- majordomus plan validate
- bash test/run.sh 3400_a_recorded_commit_link_names_the_history
- scripts/ci/link-check --sources
Požadované důkazy
- commit_link_case
Důkazy
| pokrývá | typ | command | výsledek | u commitu |
|---|---|---|---|---|
| commit_link_case | ci | gh run view --job 117890185401 --log | ok 3400_a_recorded_commit_link_names_the_history, in suite-shard (3) of validate run 39192952944 on dd4c0a87cba, carrying c0b799497e7 | eb72106 |
Časová osa
- zahájeno
- 2026-10-19T10:06:11Z
- ověřeno
- 2026-10-19T10:06:46Z
- dokončeno
- 2026-10-19T10:07:08Z
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/I3007.yaml. Načtěte ho zpět pomocí majordomus plan show I3007.