Repository navigation
Description
Symptom
nixos-rebuild switch on the laptop fails building id-0.1.0.drv:
error[E0433]: cannot find module or crate `vt100` in this scope
error: could not compile `id-core` (lib test) due to 4 previous errors
Hit 2026-11-01 13:36 CST evaluating main 1b1e3abd (log: laptop ~/switch-20261101-132033.log). This is a different id breakage from #3787 (voiding_scenarios runtime failures, fixed by #3871) — that fix is in the tree; this one surfaced behind it.
Root cause
pkgs/id/crates/id-core/src/world_presentation.rs uses vt100::Parser in its test module (ANSI replay assertions). The root package declares vt100 = "=0.16.2" in its own [dev-dependencies], but pkgs/id/crates/id-core/Cargo.toml [dev-dependencies] has only rqrr — when the world-presentation module and its tests were extracted into id-core (crate split #3447), the vt100 dev-dependency did not follow.
Fix
Add vt100 = "=0.16.2" to id-core's [dev-dependencies] (+ the one-line Cargo.lock update). Verification: nix-build pkgs/id/default.nix -A default (buildRustPackage, full check phase) in a worktree before merge.
Blocks the flake fold activation in #3720 — the fold's merges (#3847/#3871/#3848/#3868) are all landed and verified; this is the only remaining build blocker.
Acceptance criteria
-
vt100 = "=0.16.2"is added topkgs/id/crates/id-core/Cargo.toml[dev-dependencies] (with the Cargo.lock update), matching the root pin. -
nix-build pkgs/id/default.nix -A default(full check phase) passes in a worktree, andnixos-rebuild switchon the laptop gets past buildingid-0.1.0. - The fix is verified to be the same root-cause fix as issue id-core: lib tests do not compile — world_presentation tests use vt100, which is not an id-core dependency #3923 (same missing dev-dependency); closing one via the other's PR requires an explicit fixes-reference.
Activity
dezren39 commentedon Nov 1, 2026
Intake review
Fleet monitor intake enrichment (protocol §5), 2026-11-01.
Still live: checked merged PRs and recent work in this area — no merged PR explicitly resolves this issue, and the filing evidence is from current main today. Not closing.
Related: Related: issue #3923 is the SAME root cause filed from the test-compile side (id-core lib tests cannot find vt100); the one-line dev-dependency fix closes the root cause for both — neither should close without an explicit fixes-reference to the fixing PR. Issue #3962 is a distinct ssh-feature breakage in the same neighbourhood. Blocks issue #3720's fold activation.
Risks / notes: Risk: low — dev-dependency only, no shipped-code change. Watch that the Cargo.lock update stays one line and does not pull a second vt100 version.
Suggested approach: Add vt100 = "=0.16.2" to id-core [dev-dependencies], refresh Cargo.lock, verify with the full nix build (check phase) before merge, per the issue's own verification plan.
Labels normalized (kind/source/status/priority/effort/app as applicable) and
meta/enrichedapplied; an## Acceptance criteriasection was appended to the issue body (original body preserved verbatim above it).dezren39 commentedon Nov 1, 2026
Fixed on main — but not by the PR prepared for it.
d488f321c(feat(id): revisioned JSON ScreenPatch view frames — #805 Phase 1) addedvt100 = "=0.16.2"andiroh(test-utils) to id-core's[dev-dependencies]with the same crate-split-fallout (#3447) diagnosis recorded here. Verified present in the laptop primary tree ate860d3a9f(grep: vt100 declared inpkgs/id/crates/id-core/Cargo.toml). The duplicate PR #3967 was closed as superseded. The fold switch (#3720) is proceeding on this tree; its build is the end-to-end confirmation.