Glitchpad

38. Appendices

Appendices requirements from the authoritative Glitchpad Technical Specification.

Appendix A. Capability-state rules

StateUser availabilityAssociations and claimsRequired evidence
FoundationNoneNoneApproved architecture and contracts
PlannedNoneNoneVersioned roadmap and owning feature slice
ExperimentalExplicitly labeled opt-in behaviorExperimental claim onlyContract, security, platform subset, limitations
StableEnabled in official artifactsStable claim and associationsFull renderer and Tier 1 release matrix
DeprecatedAvailable with removal warningDeprecation claimMigration and removal version
UnsupportedNoneExplicit unsupported resultStable detection and fallback behavior

Appendix B. Platform artifact and evidence matrix

PlatformBuildPackageCore behaviorAssociation/intentsSignatureClean installPhysical device
Windows x86_64RequiredNSIS and ZIPRequiredRequiredExplicitly unsigned community artifactsAutomated package gateNot applicable
macOS universalRequiredDMGRequiredRequiredAd-hoc application; non-notarized DMGAutomated package gatePost-release issue #66
Linux x86_64RequiredAppImage and DEBRequiredRequiredRepository signature/attestation requiredRequiredNot applicable
AndroidRequiredAPK and AABRequiredRequiredAPK/AAB signing requiredRequiredAPI 24 and API 36 evidence

Appendix C. Metadata catalog groups

  • host.*: source kind, display name, size, observed times, permissions/provider write state, identity confidence, external revision.
  • text.*: encoding, BOM, newline pattern, terminal newline, line/character counts, language, round-trip safety.
  • diagram.*: diagram type, parser version/status, current and preview revisions, stale-preview state, accessible-title/description presence, source/edge/output measurements, timings, and limit result.
  • image.*: dimensions, frames, codec, bit depth, color model, alpha, orientation, animation duration.
  • exif.*, iptc.*, xmp.*: embedded fields with exact provenance and sensitivity.
  • ico.*: entry count and per-entry dimensions, bit depth, encoding, byte size, validity.
  • pdf.*: version, pages, title, author, subject, keywords, creator, producer, dates, outline presence, encryption.
  • office.*: package type, title, author, subject, keywords, dates, headings, tables, images, notes, unsupported construct counts.
  • derived.*: SHA-256, counts, parser warnings, detection confidence, evidence conflicts.

Appendix D. Interaction matrix

ActionWindows/LinuxmacOSAndroid
OpenCtrl+OCmd+OSystem picker action
SaveCtrl+SCmd+SSave action
Save AsCtrl+Shift+SCmd+Shift+SCreate-document action
Close tabCtrl+WCmd+WTab sheet close
Next tabCtrl+TabCtrl+TabSwipe within tab sheet or select
Previous tabCtrl+Shift+TabCtrl+Shift+TabSelect from tab sheet
FindCtrl+FCmd+FFind action
ReplaceCtrl+HCmd+Option+FReplace action when editable
Go to line/pageCtrl+GCmd+GNavigate action
Toggle Markdown or Mermaid view/sourceCtrl+ECmd+EMode action
Metadata inspectorCtrl+ICmd+IInformation action
Zoom in/out/resetCtrl++, Ctrl+-, Ctrl+0Cmd++, Cmd+-, Cmd+0Pinch and zoom actions

Shortcuts MUST yield to platform-reserved behavior and remain discoverable in command labels. Touch alternatives are required for every essential action.

Appendix E. Version-authority matrix

VersionAuthority
Product and Rust workspaceRoot Cargo.toml after repository foundation
Rust compiler and componentsrust-toolchain.toml
Node.js.node-version
pnpmRoot package.json#packageManager
JavaScript dependenciespackage.json plus pnpm-lock.yaml
Rust dependenciesWorkspace manifests plus Cargo.lock
Tauri product mirror and bundlingtauri.conf.json
Android SDK, NDK, AGP, Kotlin, GradleGenerated Android Gradle files, version catalog, and wrapper
Spec Kit.specify/init-options.json
Documentation toolsRoot development manifest and lockfile
CI images/actionsPinned workflow declarations

Appendix F. Fixture classes

  • Valid minimal, representative, complex, and boundary documents for each supported format.
  • Encoding fixtures for UTF-8, UTF-16, legacy encodings, BOM variants, mixed newlines, terminal newline, and invalid bytes.
  • Contradictory extension, MIME, signature, shebang, modeline, and parser evidence.
  • Truncated, malformed, encrypted, decompression-bomb, path-traversal, recursive, oversized, high-pixel, high-page, and timeout cases.
  • Metadata fixtures with missing, malformed, duplicate, sensitive GPS, timezone, precision, and unsupported values.
  • External-change, rename, deletion, permission-revocation, storage-full, partial-write, and recovery-quota scenarios.
  • Accessibility and localization fixtures with long names, right-to-left text, combining characters, emoji, and high zoom.
  • Mermaid fixtures for every enabled diagram type, .mmd and .mermaid, fenced blocks, authored directions, accessibility annotations, rapid revisions, stale previews, secure-key overrides, active content, remote resources, output expansion, limits, cancellation, and sanitizer bypass attempts.

Appendix G. Packaging inventory

  • Windows: unsigned NSIS installer, portable ZIP, community trust evidence, checksums, SBOM, provenance, notices.
  • macOS: universal DMG, ad-hoc application signature, non-notarized trust evidence, checksums, SBOM, provenance, notices.
  • Linux: AppImage, Debian package, checksums, SBOM, provenance, notices.
  • Android: universal APK, split ARM64 APK, AAB, signatures, checksums, SBOM, provenance, notices.
  • Release: source archive, release notes, documentation-pass receipt, capability matrix, platform matrix, and verification summary.

Appendix H. Foundation decision index

DecisionSection
Rust, TypeScript, React, Tauri, and narrow Kotlin stack9
Capability-based source model11–14
One window and compact tabs15
Internal renderer contract16
CommonMark/GFM sanitized Markdown17
Standalone and embedded Mermaid renderer16–18
Pure-Rust bounded image pipeline19
PDF.js custom viewer20
Semantic DOCX and ODT fidelity21
Four Tier 1 v0.1.4 platform families24
Deny-by-default local security boundary25
Apache-2.0 dependency posture28
Tag-driven, documentation-gated releases33

Appendix I. Mermaid diagram inventory

DiagramSectionTypeVerification purpose
Change-to-release authority1flowchart TBConfirms Spec Kit and documentation reconciliation order
System component architecture10flowchart TBConfirms dependency direction and platform convergence
Document open flow10flowchart TBConfirms acquisition, identity, detection, and renderer result
Session lifecycle11stateDiagram-v2 with direction TBConfirms dirty, save, conflict, recovery, and close states
Format detection13flowchart TBConfirms evidence ordering and safe fallback
Pull-request CI30flowchart TBConfirms documentation, shared, security, platform, and aggregate gates
Release process33flowchart TBConfirms pre-tag reconciliation and publication join

Appendix J. Primary references

Appendix K. Release documentation pass checklist

  • Enumerate every completed Spec Kit slice since the prior release and record its disposition.
  • Reconcile architecture, behavior, domain model, security, performance, and platform changes into this document.
  • Update capability, platform, metadata, interaction, contributor, fixture, packaging, decision, and diagram appendices.
  • Verify file associations, Android intent filters, dialog filters, renderer registration, README, release notes, and public claims against the capability matrix.
  • Verify toolchain and SDK authorities against contributor documentation and CI images.
  • Re-run dependency license, notice, vulnerability, SBOM, provenance, and secret checks.
  • Assemble changelog fragments and confirm a non-empty release section.
  • Set the canonical product version and every validated mirror, including this specification.
  • Produce and review the machine-readable documentation-pass receipt.
  • Run cargo xtask release-check before creating the release tag.

On this page