test: golden parity harness + Rust CI + hot-path bench (parity v1 · slice 11/11)#54
Open
FabioRocha231 wants to merge 12 commits into
Open
test: golden parity harness + Rust CI + hot-path bench (parity v1 · slice 11/11)#54FabioRocha231 wants to merge 12 commits into
FabioRocha231 wants to merge 12 commits into
Conversation
Slice 0 of the bottom-up Rust rewrite (inbrace-tech#27): the crate skeleton so every later slice lands its module + test against a green build. - rust/ single binary crate 'tokenline', flat src/, edition 2024, MSRV 1.85. - deps: serde + serde_json + jiff (jiff::Timestamp for ISO-8601, lands slice 3). - panic = "unwind" in the release profile (the final slice's catch_unwind needs it). - main.rs is a stub; lib.rs is the module root. cargo build/run/test green (0 tests).
Slice 1 (inbrace-tech#27). Pure formatting helpers matching the bash fmt_k (awk %.1f token compaction) and fmt_eta (human ETA from seconds). Covered by #[cfg(test)] with the tier boundaries and the golden's 3d4h reset ETA.
Slice 2 (inbrace-tech#27). The COLOR_* / STYLE_* constants from tokenline.sh:21-30 as exact SGR sequences (RESET is [00m, BLINK [1;5m — byte-identical so the golden oracle diffs clean). Test asserts each against the bytes captured from bash output.
Slice 3 (inbrace-tech#27). Replaces the bash epoch_from_iso (date -d) with jiff::Timestamp parsing -> epoch seconds; None on malformed input. Transcripts and rate-limit resets are fixed-format UTC, so no tz database. Tests cover exact UTC epochs, sub-second truncation, and invalid input.
Slice 4 (inbrace-tech#27). Parses the host's stdin JSON into a typed Session (model, context, rate limits, per-turn token usage) with serde, plus the derivations (Gemini detection, subagent/antigravity transcript-path fixups) matching tokenline.sh. Unit-tested.
Slice 5 (inbrace-tech#27). compute(session, ttl_label) -> Option<Economics>: the per-turn equivalent-token and saving-% math byte-identical to tokenline.sh (multipliers, truncating eq/uncached_eq, integer saving_pct; write mult 2x on a 1h TTL). Pure values only — coloring is render's job. None when there's no turn activity.
Slice 6 (inbrace-tech#27). compute(session, now) -> Vec<RateLimit> for the 5h/7d windows: pct, ETA from resets_at (via jiff), 10-wide bar fill, severity + blink by pct, and the pace heuristic (VeryFast/Fast) all byte-identical to tokenline.sh's rl_segment. Empty for Gemini / absent windows. Values only; render applies color.
Slice 7 (inbrace-tech#27). runtime_dir() forking XDG ($XDG_RUNTIME_DIR/tokenline-$UID) on unix vs %LOCALAPPDATA%\\tokenline on windows, chmod 0700 behind cfg(unix); the per-session cache file (consolidated, one per session). fs only, no session input ever persisted. Unit-tested.
Slice 8 (inbrace-tech#27). Reads the last-turn timestamp from the transcript JSONL (falling back to the persisted cache), derives the 5m/1h TTL window, warmth and the countdown — the stateful edge over cache. ISO parsing via jiff (crate::fmt). Values only; render colors the HOT/COLD state. Unit-tested.
Slice 9 (inbrace-tech#27). render(raw, now, cache_dir) -> String assembles all three lines + divider byte-for-byte with tokenline.sh: model|ctx|cache line (ctx value in bold 16-color, cache countdown + HOT/COLD), the per-turn economics line, and the rate-limit bars/pace. Golden test asserts exact bytes against the fixed bash output for healthy_claude.json at a fixed clock. Recomputes the 5-tier cache color from remaining_secs (CacheInfo::warmth only carries 3 buckets).
Slice 10 (inbrace-tech#27). stdin -> now -> cache dir -> render -> write -> exit(0). A panic hook + catch_unwind turn any panic into empty output and a clean exit; writes go through write_all so a closed pipe never raises; malformed/empty stdin is a silent no-op. e2e tests drive the real binary to prove exit 0 + no output on garbage and empty input.
Slice 11 (inbrace-tech#27). tests/golden.rs is the parity gate: byte-exact healthy fixture under a frozen clock, plus the branch cases (Gemini hides rate limits, an idle turn hides the cost line, a fast burn flags pace + one ETA), and an ignored parse+render micro-benchmark. Consolidates the render golden out of render.rs. Adds .github/workflows/rust.yml: fmt + clippy/test on Linux/macOS/Windows + MSRV 1.85 build, fanned into a single required 'Rust' check (the Windows leg runs the real binary via stdin — the runs-on-Windows done-criteria).
This was referenced Jul 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of the parity-v1 stack for #27 — slice 11 of 11, bottom-up.
Stacks on #53 (the previous slice). This slice adds: tests/golden.rs (byte-exact + branch cases) and .github/workflows/rust.yml (3-OS + MSRV 1.85).
Merge order: #42 (bash resets_at fix) -> #43 (slice 0 · scaffold) -> then slices 1..11 in order -> this is slice 11.
Whole stack is green: ~31 tests (lib + golden + e2e),
clippy -D warningsclean,cargo fmtclean. Render is byte-exact vs the fixed bash oracle (tests/golden.rs).