I2864 — The site generator reads no output of a later derive stage
scripts/generate-site-data (derive stage B) takes the editors projection's skill files from a source stage A has already written, not from docs/generated/artifacts.json, which stage C rewrites after it. No stage then reads another stage's later output, as scripts/derive's header already claims.
PŘIPRAVENO vlna 0 · p2 · profil implementation · bezpečné souběžně
Součást derived-data-integrity — Commitnuté odvození popisuje něco, čeho může být projekcí.
Připraveno. Všechny závislosti jsou hotové, takže majordomus plan start I2864 bude přijato.
Cíl
scripts/generate-site-data (derive stage B) takes the editors projection's skill files from a source stage A has already written, not from docs/generated/artifacts.json, which stage C rewrites after it. No stage then reads another stage's later output, as scripts/derive's header already claims.
Proč
Found on 2026-10-21 while closing I2847. scripts/generate-site-data reads docs/generated/artifacts.json (the .claude/skills/*/SKILL.md rows of the editors projection) to list the skills an agent reads by name. scripts/derive's header says stage C writes that manifest after stage B, and that 'no stage reads its own output; stage C's outputs are read by nothing but the site build'. So stage B reads the manifest the previous derive left. Declaring it an input (the first cut of I2847) moved the fingerprint on every derive, and the commit was refused as stale. I2847 therefore exempts it, and the ordering defect is left open here.
Aktuální stav
Stage B reads docs/generated/artifacts.json, which stage C writes after it. A derive that adds or removes a skill shows the change on the site only one derive later.
Cílový stav
Stage B lists the editors projection's skill files from stage A's output, or from the projection's own declaration, never from the manifest stage C writes. Case 3246 then drops docs/generated/artifacts.json from its exemptions, and a single derive after adding a skill shows it.
Rozsah
- scripts/generate-site-data
- test/cases/3246_every_file_the_site_generator_reads_is_an_input.sh
- .ai/repo/project/issues/I2864.yaml
Mimo rozsah
- Reordering derive's stages
Závislosti
Žádné. Tento úkol je kořenem grafu.
Kritéria přijetí
- scripts/generate-site-data reads no file that scripts/derive's stage C writes
- Case 3246 carries no exemption for docs/generated/artifacts.json and passes
Validace
- bin/majordomus plan validate
- bash test/run.sh 3246_every_file_the_site_generator_reads_is_an_input
Požadované důkazy
- no_stage_reads_a_later_output_case
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/I2864.yaml. Read it back with majordomus plan show I2864.