Skip to content

Commit 1d01790

Browse files
committed
symbiont plan: correct C1 — cargo machete is report-only by default
machete only edits Cargo.toml under --fix; by default it reports unused deps and exits non-zero. So the risk isn't auto-deletion (Codex's framing + my prior edit overstated it) — it's that machete fails a "clean" gate on symbiont's intentional integration deps. The [package.metadata.cargo-machete] ignored whitelist is to make the report pass; the never-`--fix` caution remains. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CcpLeEC3XK8Eye53GKBVvi
1 parent 49e7501 commit 1d01790

1 file changed

Lines changed: 10 additions & 9 deletions

File tree

crates/symbiont/INTEGRATION_PLAN.md

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -148,15 +148,16 @@ This folds into §B (the NaN-free win condition).
148148

149149
-**C1 — `cargo machete` clean.** Run with
150150
`--manifest-path crates/symbiont/Cargo.toml` (and on `perturbation-sim`).
151-
**CAUTION — do NOT delete symbiont's direct deps.** `main.rs` only prints a
152-
probe line, so symbiont's manifest entries (lance-graph, perturbation-sim,
153-
ractor, surrealdb-core, ogar-*) ARE the integration payload — they are what
154-
force the golden-image build to pull in the full Ada stack. machete will flag
155-
them as unused; that is expected and intentional. Whitelist them via
156-
`[package.metadata.cargo-machete] ignored = [...]` (or add real references in
157-
`main.rs`) — never remove them, or the build passes while exercising nothing.
158-
machete should only remove genuinely-unused deps elsewhere (e.g. in
159-
`perturbation-sim`).
151+
Note: machete is **report-only by default** — it lists unused deps and exits
152+
non-zero, but only `--fix` actually edits `Cargo.toml`. The catch for
153+
symbiont: `main.rs` only prints a probe line, so its direct deps (lance-graph,
154+
perturbation-sim, ractor, surrealdb-core, ogar-*) ARE the integration payload
155+
— exactly what forces the golden-image link — so machete will (correctly)
156+
report them as unused and **fail a "machete clean" gate**. Whitelist them via
157+
`[package.metadata.cargo-machete] ignored = [...]` so the report passes; never
158+
`--fix` them away (the build would pass while exercising nothing).
159+
Genuinely-unused deps elsewhere (e.g. in `perturbation-sim`) are the real
160+
targets.
160161
-**C2 — `cargo clippy --all-targets -- -D warnings` clean.** NOTE:
161162
`symbiont` has its OWN `[workspace]`, so a root-level `cargo clippy` SKIPS it
162163
entirely — run from `crates/symbiont/` or add

0 commit comments

Comments
 (0)