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.

I3836 — An offload derive observes the bundle's base commit, not its throwaway snapshot, so what it derives passes CI's check

Make `majordomus offload derive` hand the host derive the commit the worktree's HEAD names (the snapshot's first parent) as the commit every derived file may observe, so site/data/generated/delivery.json names a commit that exists on the branch and origin, never the `git stash create` snapshot or the `commit-tree` merge input apps/majordomus-cli/src/offload/run.rs writes; scripts/generate-site-data takes that commit through one declared input instead of `git rev-parse HEAD`.

PŘIPRAVENO vlna 0 · p1 · profil implementation · bezpečné souběžně

Součást development-runtime — The runtime has a development surface.

Připraveno. Všechny závislosti jsou hotové, takže majordomus plan start I3836 bude přijato.

Cíl

Make `majordomus offload derive` hand the host derive the commit the worktree's HEAD names (the snapshot's first parent) as the commit every derived file may observe, so site/data/generated/delivery.json names a commit that exists on the branch and origin, never the `git stash create` snapshot or the `commit-tree` merge input apps/majordomus-cli/src/offload/run.rs writes; scripts/generate-site-data takes that commit through one declared input instead of `git rev-parse HEAD`.

Proč

PR #1759 (head 34ca69681f3) went red in CI's site job on 2026-10-21, run 39535247244: `STALE site/data/generated/delivery.json` because its observed.commit was d1485feb7793, the snapshot macbook-2 derived, which never reached origin. generate-site-data --check cannot find that commit, falls back to its own HEAD and calls the file stale, and the site job's fail-fast then cancels ten other jobs, which reads as a cancelled run. Every branch derived by offload is red the same way, and a local derive with MERGE_HEAD present (#1753) fails for the same reason. Filed by dev-03 at a3's ruling.

Aktuální stav

offload/run.rs sends HEAD when the worktree is clean, a `git stash create` snapshot when it is not, and a `commit-tree` merge commit during a merge; scripts/generate-site-data writes delivery.json --at `git rev-parse HEAD` (lines 1904-1919) and its --check re-reads the commit the committed file names.

Cílový stav

A derive, local or offloaded, writes delivery.json at a commit that is an ancestor of the commit the derived files land in, and CI's --check of an offload-derived branch is green.

Rozsah

  • apps/majordomus-cli/src/offload
  • scripts/generate-site-data
  • docs/WORKTREES.md

Mimo rozsah

  • Changing what delivery.json observes for a clean tree derived locally

Závislosti

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

Kritéria přijetí

  • An offload derive of a dirty worktree writes delivery.json whose observed.commit is the worktree's HEAD, and generate-site-data --check of the committed result is clean in a fresh clone that never saw the snapshot
  • An offload derive during a merge observes HEAD as well, never the merge input commit
  • A local derive with a dirty tree is unchanged
  • Case 3846 proves both with a fixture host, and fails against the offload of master 573df967bb5

Validace

  • bash test/run.sh 3846_an_offload_derive_observes_its_base_commit
  • bin/majordomus plan validate

Požadované důkazy

  • an_offload_derive_observes_its_base_commit_test

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

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