I3235 — The site generator reads the use-case catalogue once per run
Parse the use-case catalogue once in scripts/generate-site-data and hand the parsed form to every section that needs it, with output byte-identical.
BLOKOVÁNO vlna 3 · p2 · profil implementation · bezpečné paralelně
Blocked. This issue cannot start until I2521, I0832 are done. The status is derived from that, not declared.
Cíl
Parse the use-case catalogue once in scripts/generate-site-data and hand the parsed form to every section that needs it, with output byte-identical.
Proč
Board p3 (Codex) audit 2026-10-18: stage B parses the catalogue four times. Rule project.hot-path-reads-once. Past derive wins came from removing repeated passes and spawns (c265#8). It extends milestone M004. Sources: chatgpt-majordomus:c292#2.
Aktuální stav
scripts/generate-site-data is 2638 lines (wc -l on master 707a04c, 2026-10-18). The board p3 audit (2026-10-18) counted four parses of the use-case catalogue per run; that count is the audit's, not re-measured here. I0832 'generate-site-data instrumented and its hot spots removed' (READY, p0) times the generator's phases and removes the repeated work in its two most expensive sections; this issue is the catalogue-parse delta on top of it.
Cílový stav
One parse per run, counted by MJ_TIMING work counters.
Rozsah
- scripts/generate-site-data
- test/cases/10_site_data.sh
Mimo rozsah
- Scenario reuse (I2526)
- Porting the generator off shell
- Phase timing and ranking of the generator, and its two most expensive sections (I0832)
Závislosti
- I2521READY What a derive costs is measured per stage and per kind of change, and every file a stage reads is listed
- I0832PŘIPRAVENO generate-site-data je instrumentován a jeho úzká místa odstraněna
Kritéria přijetí
- The work counter shows one catalogue parse per run
- Site data is byte-identical before and after
- generate-site-data --check passes
Validace
- MJ_TIMING=1 scripts/generate-site-data --check
- bash test/run.sh 10_site_data
Požadované důkazy
- catalogue_read_once_counter
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/I3235.yaml. Read it back with majordomus plan show I3235.