- What changed and why.
- Keep this to 3-6 bullets focused on user-visible or architecture-impacting changes.
- What issue or risk this PR addresses.
- Include context needed for reviewers to evaluate correctness quickly.
- How the implementation solves the problem.
- Note important design decisions and tradeoffs.
If a section does not apply to this change, mark the item as
N/Awith a one-line reason. Do not delete items.
- Tests added or updated (happy path + at least one failure / edge case) per Testing Strategy
- Diff coverage ≥ 80% — changed lines (Vitest + cargo-llvm-cov merged via
diff-cover) meet the gate enforced by.github/workflows/coverage.yml. Runpnpm test:coverageandpnpm test:rustlocally; PRs below 80% on changed lines will not merge. - Coverage matrix updated — added/removed/renamed feature rows in
docs/TEST-COVERAGE-MATRIX.mdreflect this change (orN/A: behaviour-only change) - All affected feature IDs from the matrix are listed in the PR description under
## Related - No new external network dependencies introduced (mock backend used per Testing Strategy)
- Manual smoke checklist updated if this touches release-cut surfaces (
docs/RELEASE-MANUAL-SMOKE.md) - Linked issue closed via
Closes #NNNin the## Relatedsection
- Runtime/platform impact (desktop/mobile/web/CLI), if any.
- Performance, security, migration, or compatibility implications.
- Closes:
- Follow-up PR(s)/TODOs:
Keep this section for AI-authored PRs. For human-only PRs, mark each field
N/A.
- Key:
- URL:
- Branch:
- Commit SHA:
-
pnpm --filter openhuman-app format:check -
pnpm typecheck - Focused tests:
- Rust fmt/check (if changed):
- Tauri fmt/check (if changed):
command:error:impact:
- Intended behavior change:
- User-visible effect:
- Legacy behavior preserved:
- Guard/fallback/dispatch parity checks:
- Duplicate PR(s):
- Canonical PR:
- Resolution (closed/superseded/updated):