build(tui): no doctest pass for codewhale-tui; test-only deps move to dev-dependencies

From the 0.10.2 Rust optimization audit (build-size lens, judged
safe-now).

Doctests. codewhale-tui has no runnable doc example: its fences are 7
ignore, 1 rust,ignore, and text/json/sh blocks. Yet
'cargo test --doc' still built a rustdoc test harness for the crate on
every run. Its [lib] now sets doctest = false. BUILD_PERFORMANCE.md
says why. The workspace doctest inventory (3 passing / 8 ignored across
21 crates, all 8 ignored in codewhale-tui) is marked as not re-measured.

Dependencies. schemars and rusqlite are used only under cfg(test): the
schemars derive is cfg_attr(test, …), and rusqlite appears only in test
modules. Both move to [dev-dependencies] with the same versions and
features. rusqlite stays in the workspace's normal build through
codewhale-memory, codewhale-state and codewhale-app-server, so its
features are unchanged. Cargo.lock is unchanged, and --locked still
resolves.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01BsXVvReYca2UxzimQtj7Mj
This commit is contained in:
Claude committed 2026-10-11 16:21:22 +00:00
1 parent 9413b158fa
commit 79735df1ae
2 files changed
+9 -6

No files matched your search

+3 -2
View File
@@ -36,6 +36,7 @@ rusty-alloc = []
[lib]
name = "codewhale_tui"
path = "src/lib.rs"
doctest = false
[dependencies]
# Independent terminal kit, pinned and vendored for reproducible binary builds.
@@ -87,7 +88,6 @@ jsonwebtoken = { version = "10", default-features = false, features = ["aws_lc_r
ratatui = { version = "=0.30.2", features = ["unstable-rendered-line-info"] }
regex = "1.11"
reqwest = { workspace = true, features = ["blocking", "stream", "form", "http2"] }
rusqlite.workspace = true
rquickjs.workspace = true
rmcp = { version = "3.2.0", default-features = false, features = ["auth", "client"] }
rustls.workspace = true
@@ -103,7 +103,6 @@ syntect = { version = "5.2", default-features = false, features = ["default-synt
serde.workspace = true
serde_json = { workspace = true, features = ["preserve_order", "raw_value"] }
yaml-rust2 = { workspace = true }
schemars = { version = "1.2.1", features = ["derive", "preserve_order"] }
shellexpand = "3"
# Grammar-exact Rust parsing for the post-edit syntax gate (#6204). `syn` is
# already in the lockfile as a proc-macro build dependency; this reuses that
@@ -172,6 +171,8 @@ wiremock = "0.6"
tiny_http = "0.12"
pretty_assertions = "1.4"
rio-vt = "0.5.1"
rusqlite.workspace = true
schemars = { version = "1.2.1", features = ["derive", "preserve_order"] }
tokio-tungstenite = "0.30"
[target.'cfg(unix)'.dependencies]
+6 -4
View File
@@ -210,10 +210,12 @@ every workspace crate.
### A2 nextest in CI
`cargo test --workspace --all-features --locked --doc` inventories
**3 passing / 8 ignored doctests across 21 crates**; CI keeps them as a
separate step next to `cargo nextest run --workspace --all-features
--locked --profile ci`.
`cargo test --workspace --all-features --locked --doc` inventoried
**3 passing / 8 ignored doctests across 21 crates**. All 8 ignored fences
were in codewhale-tui, which has no runnable doc example and now sets
`doctest = false`, so its doc pass is skipped (the new inventory is not
re-measured yet). CI keeps the doc run as a separate step next to
`cargo nextest run --workspace --all-features --locked --profile ci`.
### A3/A4 (not adopted, measured)