95a35e8cce
improvise-6yvg reproduced. A JSON import in improvise-command and a legacy JSON .improv load in improvise-io stored 0.24815714285714285 as 0.24815714285714283 in each crate's own test build. The root binary's `improvise import` used the same lossy parser. Now float_roundtrip is on every normal serde_json dependency in the workspace: root, improvise-command, improvise-io, and the optional test-support dependency of improvise-protocol. improvise-dz8c: the hand-listed cargo-tree check over three frame-parsing crates is replaced by tests/json_numbers.rs. It reads `cargo metadata --no-deps` and names every package, including target-specific entries, whose normal serde_json dependency lacks the feature. The rule and why it beats "parses a frame", the build graph, and enabling the feature once in the protocol crate are in context/code/protocol.md. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
28 lines
1.1 KiB
TOML
28 lines
1.1 KiB
TOML
[package]
|
|
name = "improvise-command"
|
|
version = "0.1.0-rc2"
|
|
edition = "2024"
|
|
description = "Command/effect layer and semantic app state for improvise"
|
|
license = "Apache-2.0"
|
|
repository = "https://github.com/fiddlerwoaroof/improvise"
|
|
|
|
[dependencies]
|
|
improvise-core = { path = "../improvise-core" }
|
|
improvise-protocol = { path = "../improvise-protocol" }
|
|
improvise-formula = { path = "../improvise-formula" }
|
|
improvise-io = { path = "../improvise-io" }
|
|
improvise-gp = { path = "../improvise-gp" }
|
|
anyhow = "1"
|
|
serde = { version = "1", features = ["derive"] }
|
|
# Parses JSON a user's numbers cross, so it must read back the f64 written: per crate,
|
|
# because each build stands alone (improvise-6yvg, context/code/protocol.md).
|
|
serde_json = { version = "1", features = ["float_roundtrip"] }
|
|
unicode-width = "^0.2"
|
|
# Instant::now() panics on wasm32-unknown-unknown; web_time re-exports
|
|
# std::time off-wasm and uses performance.now() on it (improvise-ywd).
|
|
web-time = "1"
|
|
|
|
[dev-dependencies]
|
|
improvise-protocol = { path = "../improvise-protocol", features = ["test-support"] }
|
|
tempfile = "3"
|