Files
wz-phone/docs/PRD/reports/T1.5.1-report.md
2026-05-11 12:57:35 +04:00

2.5 KiB

T1.5.1 — Remove unwrap() from encode_compact

Status: Pending Review Agent: Kimi Code CLI Started: 2026-05-11T10:09Z Completed: 2026-05-11T10:15Z Commit: (to be filled after commit) PRD: ../PRD-wire-format-v2.md (cleanup)

What I changed

  • crates/wzp-proto/src/packet.rs:256-296 — Restructured encode_compact to use if let Some(base) = ctx.last_header() instead of ctx.last_header().unwrap(). When no baseline exists (fresh context), the code falls through to emit a full frame, establishing the baseline implicitly.
  • crates/wzp-proto/src/packet.rs:2020-2033 — Added encode_compact_fallback_to_full_without_baseline test: constructs a fresh MiniFrameContext, calls encode_compact with frames_since_full = 1, and asserts a full frame is emitted rather than panicking.

Why these choices

The recommended approach from the task spec was to fall back to a full frame when no baseline exists. This makes the invariant explicit in code rather than implicit. Using if let Some(base) eliminates the unwrap entirely while preserving the same behavior for all existing callers (who always start with frames_since_full = 0).

Deviations from the task spec

None.

Verification output

$ cargo test -p wzp-proto encode_compact -- --nocapture
running 5 tests
test packet::tests::encode_compact_fallback_to_full_without_baseline ... ok
test packet::tests::mini_frame_encode_decode_sequence ... ok
test packet::tests::mini_frame_disabled ... ok
test packet::tests::mini_frame_periodic_full ... ok
test packet::tests::mini_frame_quality_report_roundtrip ... ok

test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 108 filtered out
$ cargo clippy -p wzp-proto --all-targets -- -D warnings
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.11s
$ grep -n "\.unwrap()" crates/wzp-proto/src/packet.rs | grep -v "#\[cfg(test)\]" | grep -v "mod tests" | grep -v "^\s*//"
# (no output — no unwraps in non-test code)

Test summary

  • Tests added: 1 (encode_compact_fallback_to_full_without_baseline)
  • Tests modified: 0
  • Workspace test count before: 571 / after: 572
  • cargo clippy -p wzp-proto --all-targets -- -D warnings: pass
  • cargo fmt --all -- --check: pass

Risks / follow-ups

None.

Reviewer checklist (filled in by reviewer)

  • Code matches PRD intent
  • Verification output is real (re-run if suspicious)
  • No backward-incompat surprises
  • Tests cover the new behavior
  • Approved