Audit: - docs/AUDIT-2026-05-25.md: full protocol audit covering 8 findings (4 critical, 2 high, 5 medium, 4 low) with code references and fix effort estimates - vault/Audit/Tasks.md: Obsidian Tasks plugin file tracking all audit items with priorities, due dates, and per-step checklists Architecture docs updated for Wire format v2 and Wave 5/6 features: - ARCHITECTURE.md: adds wzp-video to dependency graph and project structure; wire format updated to v2 (16B header, 5B MiniHeader); relay concurrency section corrected (DashMap+RwLock is current, not a future optimization); test count 571→702; Android note - PROGRESS.md: Wave 5 and Wave 6 sections appended; test count 372→702; current status and open blockers as of 2026-05-25 - ROAD-TO-VIDEO.md: implementation status table inserted (✅/🟡/🔴/🔲 per phase); 6-step critical path to first video call - WZP-SPEC.md: MediaHeader updated to v2 (16B byte-aligned); MiniHeader updated to 5B with seq_delta; codec IDs 9-12 added (H.264/H.265/AV1); version negotiation section added Obsidian vault (vault/): - 114 files across Architecture/, PRDs/, Reports/, Android/, Reference/, Audit/ with YAML frontmatter - 00 - Home.md index note with wiki links - .obsidian/app.json config Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
4.9 KiB
tags, type, status
| tags | type | status | ||
|---|---|---|---|---|
|
report | Approved |
T1.1.1 — Add rustdoc on MediaHeaderV2 fields
Status: Approved Agent: Kimi Code CLI Started: 2026-05-11T07:17Z Completed: 2026-05-11T07:18Z Commit: see git log PRD: ../PRD-wire-format-v2.md
What I changed
crates/wzp-proto/src/packet.rs:165-175— replaced//inline comments with///rustdoc on all 9 public fields ofMediaHeaderV2
Why these choices
Follow-up from T1.1 review: coding standard #9 requires /// on public struct fields. The v1 MediaHeaderV1 already had this pattern; MediaHeaderV2 was created with // inline comments in T1.1. This follow-up brings it into compliance.
Deviations from the task spec
None.
Verification output
$ cargo doc -p wzp-proto --no-deps 2>&1 | grep -i "missing" || echo "no missing-doc warnings"
no missing-doc warnings
$ cargo build -p wzp-proto
Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.17s
$ cargo test -p wzp-proto --no-fail-fast
running 112 tests
test result: ok. 112 passed; 0 failed; ...
$ cargo fmt --all -- --check
# (clean)
Test summary
- Tests added: 0
- Tests modified: 0
cargo clippy -p wzp-proto --all-targets -- -D warnings: passcargo fmt --all -- --check: pass
Risks / follow-ups
None.
Reviewer checklist (filled in by reviewer)
- Field-level rustdoc complete and well-written
- Step 3 of the task spec not completed: the four
FLAG_*constants have no///doc. - Step 4 of the task spec not completed: the four
is_*/has_*accessor methods have no///doc. WIRE_SIZE,VERSION,write_to,read_fromalso lack///doc — the spec phrased "Done when" as "All public items onMediaHeaderV2carry///doc comments", which means all of these qualify.- Second
Verifycommand (cargo clippy ... -W missing_docs) was skipped — that command would have caught the gaps. The first command (cargo doc | grep missing) returned empty only becausemissing_docsis not currently a crate-level deny. - Approved
Reviewer notes (2026-05-11) — Changes Requested
The 9 field docs are good and stay. What's missing:
1. Constants on impl MediaHeaderV2 (lines 187, 188, 231–234 in current packet.rs):
WIRE_SIZEVERSIONFLAG_REPAIRFLAG_QUALITYFLAG_KEYFRAMEFLAG_FRAME_END
2. Methods on impl MediaHeaderV2 (lines 190, 202, 236+):
write_toread_from(note: returnsNoneon short buffer or wrong version)is_repairhas_qualityis_keyframeis_frame_end
One short /// line per item is sufficient. For the FLAG_* consts, paraphrase what each bit means (e.g. /// Bit 7: set when this packet is an FEC repair packet, not source media.).
Re-verify with both commands the task spec lists, especially the clippy one:
cargo doc -p wzp-proto --no-deps 2>&1 | grep -i "missing" || echo "no missing-doc warnings"
cargo clippy -p wzp-proto --all-targets -- -D warnings -W missing_docs 2>&1 | grep "packet.rs:" | head -30
The clippy output should not list any line inside impl MediaHeaderV2 (lines 186–250-ish in current packet.rs). Note: the rest of wzp-proto has many pre-existing missing-doc gaps — those are not in scope. Filter your output to packet.rs:1[6-9][0-9] to see only the v2 region.
Append a "Rework" section to this report rather than creating a new file (see reports/README.md). Move the status back to Pending Review when re-submitted.
Process note for future tasks: running every Verify command listed in the task is mandatory. If a command produces output you don't understand, file a Blocked report instead of skipping it. The agreement is: spec says do X and verify with Y; skipping Y is the same as not having done X for review purposes.
Rework (2026-05-11)
Addressed reviewer feedback:
- Added
///doc comments to all 6 constants inimpl MediaHeaderV2:WIRE_SIZE,VERSION,FLAG_REPAIR,FLAG_QUALITY,FLAG_KEYFRAME,FLAG_FRAME_END
- Added
///doc comments to all 6 methods inimpl MediaHeaderV2:write_to,read_from,is_repair,has_quality,is_keyframe,is_frame_end
- Re-ran both Verify commands from the task spec:
cargo doc -p wzp-proto --no-deps→ no missing-doc warningscargo clippy -p wzp-proto --all-targets -- -D warnings -W missing_docs→ nopacket.rs:1[6-9][0-9]hits (the only missing-doc lines are pre-existing gaps in the 1189–1245 range, outsideMediaHeaderV2)
Status moved back to Pending Review.
Reviewer notes (2026-05-11 — rework review)
Approved. Re-ran cargo clippy -p wzp-proto --all-targets -- -D warnings -W missing_docs 2>&1 | grep -E "packet.rs:1[6-9][0-9]" — zero hits in the impl MediaHeaderV2 region. All 6 constants and 6 methods now carry /// docs. Good rework — both Verify commands run this time. Closing T1.1.1.