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.

I3237 — A derive publishes its whole output set at once after validating it, and a killed derive leaves the previous set

Compute every node into staging, validate the affected set as a whole, then publish. Detect inputs that changed during the run and refuse or retry. A run that dies mid-way leaves the tree as it was.

BLOKOVÁNO vlna 2 · p1 · profil hluboké práce · bezpečné paralelně

Part of a-derive-answers-within-a-second — An ordinary derive answers in under a second, runs independent nodes in parallel, and a budget gate holds it.

Blocked. This issue cannot start until I2522, I2521, milestone:a-derive-answers-within-a-second are done. The status is derived from that, not declared.

Cíl

Compute every node into staging, validate the affected set as a whole, then publish. Detect inputs that changed during the run and refuse or retry. A run that dies mid-way leaves the tree as it was.

Proč

c208#4 and c292#2 ask for atomic publication. Today each file is atomic but the set is not, so a derive stopped during stage B leaves A's new outputs beside B's old ones. Sources: chatgpt-majordomus:c208#4, chatgpt-majordomus:c292#2.

Aktuální stav

generate::write stages each file as a temporary sibling and renames it; stages A-D publish separately.

Cílový stav

One publish step per derive, with a recovery path where a multi-file atomic replace is unavailable.

Rozsah

  • apps/majordomus-cli/src/generate.rs
  • scripts/derive
  • apps/majordomus-cli/src/commands/generate.rs
  • scripts/derive-check
  • scripts/generate-site-data
  • test/cases/400_derivation_is_one_graph.sh

Mimo rozsah

  • Changing what the derive lock serialises

Závislosti

Kritéria přijetí

  • A derive killed at each stage leaves a tree derive-check judges as before the run
  • An input changed during the run is refused by name
  • Published bytes equal today's full derive

Validace

  • scripts/derive-check
  • bash test/run.sh 400_derivation_is_one_graph

Požadované důkazy

  • killed_derive_leaves_prior_set_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/I3237.yaml. Read it back with majordomus plan show I3237.

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