Architectural Invariant Design: Capacitor 7 Background Runner Web Worker Memory-Safety Contract
Capacitor 7 Background Runner Web Worker Memory-Safety Contract defines an industrial-grade behavioral standard for mobile engineering. Enforces isolated, memory-bounded headless execution contexts within Capacitor 7 Background Runner tasks. Prohibits state retention across thread dispatches, unbounded buffer serialization, and persistent global references that trigger iOS Jetsam or Android Low Memory Killer (LMK) process terminations. Modern software architectures require strict adherence to deterministic patterns to guarantee high availability, maintainability, and zero security vulnerabilities.
Hazard Analysis: What Breaks Without This Rule
The following failure modes have been cataloged from hundreds of hours of production code reviews where AI assistants produced non-compliant implementations:
| Failure Mode | AI Symptom (The Anti-Pattern) | Severity | Production Impact & Remedy |
|---|---|---|---|
| AI Hallucination & Deprecation Drift | Retaining Stateful Closures and Unbounded Payloads in Headless Background Contexts Leading to OS OOM Kills | Critical | Violating this industrial standard introduces regression bugs, security risks, and unexpected runtime failures in production. Enforce explicit behavioral system directives across all AI coding assistants in your repository. |
| Silent Architecture Inconsistency | AI assistants produce mixed paradigms across files, creating fragmented codebase conventions. | Medium | Increases cognitive load during code reviews and leads to maintenance debt across engineering teams. Pin project conventions in .cursor/rules, CLAUDE.md, and AGENTS.md so all team agents follow identical guardrails. |
Step-by-Step Production Directives
Each rule constraint below is injected into the AI agent's system prompt to establish deterministic boundaries:
Engineers MUST NEVER maintain persistent state, module-level accumulator arrays, or long-lived caches in the Background Runner headless script context.
Engineers MUST NEVER maintain persistent state, module-level accumulator arrays, or long-lived caches in the Background Runner headless script context.
Engineers MUST ensure every background handler function dispatches as an isolated, idempotent atomic transaction that cleans up its resources prior to task resolution.
Engineers MUST ensure every background handler function dispatches as an isolated, idempotent atomic transaction that cleans up its resources prior to task resolution.
Engineers MUST transfer large datasets via filesystem paths or chunked stream references rather than direct serialization over the Capacitor bridge or runner memory channel.
Engineers MUST transfer large datasets via filesystem paths or chunked stream references rather than direct serialization over the Capacitor bridge or runner memory channel.
Code MUST explicitly nullify ArrayBuffers, Uint8Arrays, and response objects immediately following processing to enable deterministic garbage collection.
Code MUST explicitly nullify ArrayBuffers, Uint8Arrays, and response objects immediately following processing to enable deterministic garbage collection.
Services MUST configure capacitor.config.ts with explicit `backgroundRunner` limits and isolate runner bundles completely from main application DOM bundles.
Services MUST configure capacitor.config.ts with explicit `backgroundRunner` limits and isolate runner bundles completely from main application DOM bundles.
Components NEVER attach global listeners (`addEventListener`) inside repeated runner executions without balancing with an immediate `removeEventListener` upon task completion.
Components NEVER attach global listeners (`addEventListener`) inside repeated runner executions without balancing with an immediate `removeEventListener` upon task completion.
Frequently Asked Technical Questions
Common questions developers face when configuring AI coding assistants for this stack:
Q:Why is Capacitor 7 Background Runner Web Worker Memory-Safety Contract critical for AI coding assistants?
Enforces isolated, memory-bounded headless execution contexts within Capacitor 7 Background Runner tasks. Prohibits state retention across thread dispatches, unbounded buffer serialization, and persistent global references that trigger iOS Jetsam or Android Low Memory Killer (LMK) process terminations. Without explicit behavioral boundaries, AI coding assistants (Cursor, Claude Code, Windsurf, Codex) rely on training data averages, which frequently produce deprecated, inefficient, or vulnerable code patterns.
Q:How does adopting this rule prevent AI hallucinations?
This rule explicitly declares what the AI must avoid (Retaining Stateful Closures and Unbounded Payloads in Headless Background Contexts Leading to OS OOM Kills) and prescribes verified positive examples. Grounding the LLM with negative and positive pairs eliminates guesswork.
Q:Which AI coding environments are supported?
This specification is multi-platform compatible: Cursor (.cursor/rules/*.mdc & .cursorrules), Anthropic Claude Code (CLAUDE.md), Windsurf (.windsurfrules), Codex / Cline (AGENTS.md), and GitHub Copilot (.github/copilot-instructions.md).
Q:Can I combine this rule with other technology stacks?
Yes. Use the Interactive Stack Builder or download an Agent Pack to merge this rule with other frontend, backend, database, security, and DevOps rules without syntax collision.