From df77c02b81a1664d6d690ae63cecd3fa30b0663c Mon Sep 17 00:00:00 2001 From: Simone Date: Wed, 22 Jul 2026 20:37:27 +0200 Subject: [PATCH] =?UTF-8?q?docs(cache):=20correct=20the=20furyrs=20invocat?= =?UTF-8?q?ion=20count=20=E2=80=94=20five=20compiling,=20four=20feature=20?= =?UTF-8?q?sets?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plans/cargo-dependency-cache.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/plans/cargo-dependency-cache.md b/plans/cargo-dependency-cache.md index 6cd29dd..afa1c4c 100644 --- a/plans/cargo-dependency-cache.md +++ b/plans/cargo-dependency-cache.md @@ -30,7 +30,7 @@ Entry #12 proposed the `cargo-chef` principle: pre-build a dependency-only **1. The build command is opaque to us.** The orchestrator receives `build-command` as a single string and runs it. furyrs's pipeline is five -distinct cargo invocations with three different feature sets. `cargo chef cook` +compiling cargo invocations across four feature configurations. `cargo chef cook` must be handed the same flags as the real build to produce the right dependency graph — we do not have them, and parsing an arbitrary shell string to recover them is a guess that fails silently (a wrong cook produces a cache that misses @@ -1290,8 +1290,10 @@ At the time of writing that block runs, in order: `cargo fmt --all -- --check`, ddr5-scaffold --locked`, `cargo clippy -p fury-cli --all-targets --features direct-backend --locked -- -D warnings`, `cargo clippy --workspace --all-targets --locked -- -D warnings`, `cargo clippy -p fury-gui --features -gui --bin fury-gui --locked -- -D warnings`, and `cargo audit`. Three distinct -feature sets, which is exactly the case the single-entry design has to handle. +gui --bin fury-gui --locked -- -D warnings`, and `cargo audit`. Five of those +compile, across four feature configurations — default, `ddr5-scaffold`, +`direct-backend`, `gui` — which is exactly the case the single-entry design has +to handle. Expected in the log: `[cache] miss for v1-… — building cold`, then `[cache] prune: ok — N workspace member(s) stripped`, then