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.

I3955 — Whether an archived cargo build directory is reused on a second node is measured before anything restores one

Build one commit cold on node A, archive its build directory without incremental state, restore it on node B with the same paths but its own checkout and registry, and record how many units B finds Fresh, the archive size and both build times; decide from that whether the cargo build directory becomes a kind of mesh build-cache ensure.

BLOKOVÁNO vlna 0 · p1 · profil implementation · bezpečné paralelně

Part of builds-reuse-the-mesh-cache — Builds reuse the mesh cache: compiled Rust, the cargo build directory, mix deps and npm packages, keyed by platform, toolchain and inputs.

Blocked. This issue cannot start until milestone:builds-reuse-the-mesh-cache is done. The status is derived from that, not declared.

Cíl

Build one commit cold on node A, archive its build directory without incremental state, restore it on node B with the same paths but its own checkout and registry, and record how many units B finds Fresh, the archive size and both build times; decide from that whether the cargo build directory becomes a kind of mesh build-cache ensure.

Proč

The owner, 2026-10-22, after lundra (the build and deploy host) reached zero free bytes: the shared cache must be part of Majordomus — used when MinIO is available, enforced, dynamic, derived — for compiled Rust, the shared cargo build directory, mix deps.get and npm install, keyed by a triplet for the most reuse. Decided the same day after critique: the store is trusted only through a signed offer (I2671), the build directory archive is measured before it is built (I3955), and the dependency cache is generic and wired first into prismatic-platform. See ADR 0157 and intent a-build-reuses-what-the-mesh-already-built.

Aktuální stav

Not measured. ADR 0139 measured 0 sccache hits between two build directories; the build-script fingerprint carries each tree's absolute root on purpose (.cargo/config.toml, MAJORDOMUS_BUILD_TREE); build directories ran from 3.4 GB median to 25 GB (lib/rust_bin.sh).

Cílový stav

A recorded claim with the commit, the machines, the counts and the times, and the decision it supports written into ADR 0157. Measured 2026-10-22 on lundra in two containers of rust:1-bookworm with identical paths and separate checkouts and registries (3 cpus each): commit 2034d4a3f0b cold on A in 566 s (142 units compiled), build directory archived without incremental state at 2.9 GB, restored on B: 142 Fresh, 0 compiled. Decision 12 of ADR 0157 records it: the cargo build directory is a kind of I3952.

Rozsah

  • .ai/repo/adrs/0157-the-mesh-offers-a-shared-build-cache.md
  • .ai/repo/project/intents/a-build-reuses-what-the-mesh-already-built.yaml
  • docs/BUILD_CACHE.md

Mimo rozsah

  • Building the restore itself

Závislosti

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

Kritéria přijetí

  • Node B's checkout and registry are its own (new mtimes), and only the build directory travels
  • The result is recorded whichever way it falls; a reuse below the cost of the transfer decides against the kind

Validace

  • bin/majordomus plan validate

Požadované důkazy

  • build_dir_reuse_measured

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

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