6. Constraints and Assumptions
Constraints and Assumptions requirements from the authoritative Glitchpad Technical Specification.
Hard constraints
- Tauri 2 is the application and packaging framework. Electron is prohibited.
- Rust owns privileged native operations and untrusted-byte services. TypeScript owns the shared interface and renderer presentation. Kotlin is limited to Android platform integration.
- The application core works offline, without an account, remote service, or telemetry dependency.
- Windows, macOS, Linux, and Android are foundational targets and release-blocking for v0.1.4.
- Markdown prose uses one physical line per paragraph. Project text files use UTF-8 without BOM.
- Normative project diagrams use Mermaid. Project flowcharts and explicit project subgraph directions use top-to-bottom layout; this documentation convention MUST NOT rewrite, reject, or warn about a valid direction authored in an opened user file.
- Original project source and distributable original assets use Apache-2.0.
Validated platform premises
- Tauri 2 supports desktop packaging and Android APK/AAB generation with a minimum Android API level of 24.
- System WebViews differ by platform; renderer conformance and package smoke tests are required on every target family.
- Android document providers may omit stable paths, seek, timestamps, persistent grants, or write support; source capabilities preserve those absences.
- Semantic DOCX and ODT rendering is a deliberate fidelity contract. Page-perfect office layout is outside scope.
- Release signing requires operator-owned platform credentials. Their absence blocks official publication but does not block unsigned development builds.
If a premise becomes false, implementation MUST stop at the affected gate and open a Spec Kit architecture-amendment slice. Implementations MUST NOT conceal the failure through platform-specific behavior that violates the shared contract.