Files
daily-notification-plugin/docs/platform/ios/PREFETCH_GLOSSARY.md
Matthew Raymer c39bd7cec6 docs: Consolidate documentation structure (139 files, zero information loss)
Consolidate all markdown documentation into organized structure per
CONSOLIDATION_DIRECTIVE. All files preserved (canonical, merged, or archived).

- docs/integration/ - Integration documentation (7 files)
- docs/platform/ios/ - iOS platform docs (12 files)
- docs/platform/android/ - Android platform docs (9 files)
- docs/testing/ - Testing documentation (15 files)
- docs/design/ - Design & research (5 files)
- docs/ai/ - AI/ChatGPT artifacts (7 files)
- docs/archive/2025-legacy-doc/ - Historical docs (17 files)

- Integration: Root INTEGRATION_GUIDE.md → docs/integration/
- Platform: Separated iOS and Android into platform/ subdirectories
- Testing: Consolidated all testing docs to docs/testing/
- Legacy: Archived entire doc/ directory to archive/
- AI: Moved all ChatGPT artifacts to docs/ai/

- Added docs/00-INDEX.md - Central navigation hub
- Added docs/CONSOLIDATION_SOURCE_MAP.md - Complete audit trail
- Added docs/CONSOLIDATION_COMPLETE.md - Consolidation summary
- Updated README.md with links to documentation index

- All 139 files have destinations (see CONSOLIDATION_SOURCE_MAP.md)
- Zero information loss (all files preserved)
- Archive preserves original structure
- Index provides clear navigation

- 87 files moved/created/updated
- Root-level docs consolidated
- Legacy doc/ directory archived
- Test app docs remain with test apps (indexed)

Ref: CONSOLIDATION_DIRECTIVE
Author: Matthew Raymer
2025-12-18 09:13:18 +00:00

75 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# iOS Prefetch Glossary
**Purpose:** Shared terminology definitions for iOS prefetch testing and implementation
**Last Updated:** 2025-11-15
**Status:** 🎯 **ACTIVE** - Reference glossary for iOS prefetch documentation
---
## Core Terms
**BGTaskScheduler** iOS framework for scheduling background tasks (BGAppRefreshTask / BGProcessingTask). Provides heuristic-based background execution, not exact timing guarantees.
**BGAppRefreshTask** Specific BGTaskScheduler task type for background app refresh. Used for prefetch operations that need to run periodically.
**UNUserNotificationCenter** iOS notification framework for scheduling and delivering user notifications. Handles permission requests and notification delivery.
**T-Lead** The lead time between prefetch and notification fire, e.g., 5 minutes. Prefetch is scheduled at `notificationTime - T-Lead`.
**earliestBeginDate** The earliest time iOS may execute a BGTask. This is a hint, not a guarantee; iOS may run the task later based on heuristics.
**UTC** Coordinated Universal Time. All internal timestamps are stored in UTC to avoid DST and timezone issues.
---
## Behavior Classification
**Bucket A/B/C** Deterministic vs heuristic classification used in Behavior Classification:
- **Bucket A (Deterministic):** Test in Simulator and Device - Logic correctness
- **Bucket B (Partially Deterministic):** Test flow in Simulator, timing on Device
- **Bucket C (Heuristic):** Test on Real Device only - Timing and reliability
**Deterministic** Behavior that produces the same results given the same inputs, regardless of when or where it runs. Can be fully tested in simulator.
**Heuristic** Behavior controlled by iOS system heuristics (user patterns, battery, network, etc.). Timing is not guaranteed and must be tested on real devices.
---
## Testing Terms
**Happy Path** The expected successful execution flow: Schedule → BGTask → Fetch → Cache → Notification Delivery.
**Negative Path** Failure scenarios that test error handling: Network failures, permission denials, expired tokens, etc.
**Telemetry** Structured metrics and counters emitted by the plugin for observability (e.g., `dnp_prefetch_scheduled_total`).
**Log Sequence** The ordered sequence of log messages that indicate successful execution of a prefetch cycle.
---
## Platform Terms
**Simulator** iOS Simulator for testing logic correctness. BGTask execution can be manually triggered.
**Real Device** Physical iOS device for testing timing and reliability. BGTask execution is controlled by iOS heuristics.
**Background App Refresh** iOS system setting that controls whether apps can perform background tasks. Must be enabled for BGTask execution.
**Low Power Mode** iOS system mode that may delay or disable background tasks to conserve battery.
---
## References
- **Testing Guide:** `doc/test-app-ios/IOS_PREFETCH_TESTING.md`
- **Test App Requirements:** `doc/test-app-ios/IOS_TEST_APP_REQUIREMENTS.md`
- **Main Directive:** `doc/directives/0003-iOS-Android-Parity-Directive.md`
---
**Status:** 🎯 **READY FOR USE**
**Maintainer:** Matthew Raymer