Files
wz-phone/vault/Reports/_example-T0.0-report.md
Siavash Sameni ed8a7ae5aa docs: protocol audit 2026-05-25, update architecture + Obsidian vault
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>
2026-05-25 06:00:17 +04:00

72 lines
2.3 KiB
Markdown

---
tags: [report, wzp]
type: report
status: Pending Review
---
# T0.0 — Example report (delete me)
> This file shows the report template filled in. Use it as a reference when writing real reports. Do not edit this file when claiming tasks — copy it to `T<id>-report.md` and edit the copy. The filename prefix `_` keeps it sorted at the top.
**Status:** Pending Review
**Agent:** claude-haiku-4-5
**Started:** 2026-05-11T14:22:00Z
**Completed:** 2026-05-11T15:08:00Z
**Commit:** 0000000000000000000000000000000000000000
**PRD:** ../PRD-wire-format-v2.md
## What I changed
- `crates/wzp-proto/src/packet.rs:20-47` — Renamed existing `MediaHeader` to `MediaHeaderV1`.
- `crates/wzp-proto/src/packet.rs:50-110` — Added v2 `MediaHeader` (16 B, byte-aligned) with `write_to` / `read_from`.
- `crates/wzp-proto/src/packet.rs:1450-1480` — Added `media_header_v2_roundtrip` test.
## Why these choices
Followed steps T0.0.1 through T0.0.5 without deviation. `MediaType::from_wire` returning `Option` (not `Result`) matches the existing pattern in `CodecId::from_wire`; chose consistency over typed errors here.
## Deviations from the task spec
None.
## Verification output
```
$ cargo test -p wzp-proto media_header_v2_roundtrip
Compiling wzp-proto v0.1.0
Finished `test` profile [unoptimized + debuginfo] target(s) in 4.2s
Running unittests src/lib.rs
running 1 test
test packet::tests::media_header_v2_roundtrip ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 318 filtered out
```
```
$ cargo build --workspace
Compiling wzp-proto v0.1.0
...
Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.8s
```
## Test summary
- Tests added: 1 (`media_header_v2_roundtrip`)
- Tests modified: 0
- Workspace test count before: 272 / after: 273
- `cargo clippy --workspace --all-targets -- -D warnings`: pass
- `cargo fmt --all -- --check`: pass
## Risks / follow-ups
`MediaType` is referenced from the new `MediaHeader::read_from` but is implemented separately in T1.2. T1.2 must land before any other crate can import the v2 type. Status board reflects this — T1.2 should be picked up next.
## 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