docs: apply precise fixes for correctness, consistency, and sprintability

Analysis doc improvements:
- Unify runtime naming: fix tree diagram cordova.js → capacitor.js
- Make manifest receivers explicit: add exported attributes and intent filters
- Surface exact-alarm user rule: add decision rule for QA/ops reasoning
- Guard Cordova dependency: add note about Cordova shims requirement
- Add error surfacing to runtime flow: show validation and use-case error paths
- Add auto-generated note to capacitor.plugins.json section

Implementation plan improvements:
- Add diagnostics button to Phase 1 DoD
- Add Doze/Idle case to Test Matrix for false negative prevention
- Make unknown field rejection explicit acceptance criterion
- Link receivers export policy to Manifest Hygiene checklist
- Add event ID requirement to PR checklist for grep-able logs

All changes maintain existing structure with surgical precision edits.
This commit is contained in:
Matthew Raymer
2025-10-24 10:46:24 +00:00
parent 0313aacfd4
commit 6eb5d63107
2 changed files with 74 additions and 10 deletions

View File

@@ -532,7 +532,7 @@ public class SecureNetworkClient {
```
#### Key Features
- **Export Control**: Minimize exported components
- **Export Control**: Minimize exported components (see Manifest Hygiene checklist)
- **Permission Requirements**: Require permissions for exported components
- **Intent Validation**: Validate incoming intents
- **Security Review**: Regular security audits
@@ -862,6 +862,7 @@ interface ScheduleResponse {
- [ ] Returns stable error codes with hints
- [ ] Maps native exceptions to canonical errors
- [ ] Provides user-friendly error messages
- [ ] Rejects unknown keys with single joined message
### Reliability
- [ ] Reboot scenarios reliably deliver notifications
@@ -916,6 +917,7 @@ By following this plan, the test app will become more maintainable, reliable, an
- Input schema rejects bad `time`, long `title/body`, wrong `priority`.
- Boot reschedule idempotent (no dup rows, migration fence).
- @PluginMethod bodies ≤ 25 LOC, delegate to use-cases.
- "Copy Diagnostics (JSON)" button functional.
### Phase 2 DoD
- Test UI split into modular scenarios with fixtures.
@@ -942,6 +944,7 @@ By following this plan, the test app will become more maintainable, reliable, an
- [ ] Logs include event IDs (start/finish/error)
- [ ] Status Matrix field(s) updated if capability changed
- [ ] Runbooks section touched if behavior changed
- [ ] No new events without ID (keeps logs grep-able)
## Test Matrix
@@ -951,6 +954,7 @@ By following this plan, the test app will become more maintainable, reliable, an
| Channel disabled path | isChannelEnabled/openChannelSettings | Disable channel | Canonical `E_CHANNEL_DISABLED` |
| Exact alarm denied path | openExactAlarmSettings | Revoke exact alarm | Fallback path taken; logged `DOZE_FALLBACK` |
| Boot reschedule | BootReceiver | Reboot emulator | One (not duplicate) schedule restored |
| Doze idle window | scheduleDailyNotification | Device in idle | Fallback path taken; logged `EVT_DOZE_FALLBACK_TAKEN`; no crash |
## Error Codes (canonical)