Hermes 284313f908
Some checks are pending
Bidi Control Character Guard / bidi-control-guard (push) Waiting to run
Circular Dependency Check / Check for new circular dependencies (push) Waiting to run
Citus Migration Smoke / Combined migrations on single-node Citus (push) Waiting to run
E2E Fresh Install Tests / fresh-install-e2e (push) Waiting to run
ext-v2 guardrails / Run ext-v2 guard and ESLint (push) Waiting to run
Integration Tests / Check for relevant changes (push) Waiting to run
Integration Tests / ${{ (github.event_name == 'schedule' || github.event.inputs.suite == 'full') && 'Full integration suite' || 'Tier-1 integration subset' }} (push) Blocked by required conditions
Mobile checks / Mobile lint + typecheck (push) Waiting to run
Mobile checks / Mobile unit tests (push) Waiting to run
Mobile checks / Mobile dependency audit (report) (push) Waiting to run
Mobile checks / Mobile reproducibility checks (push) Waiting to run
Secrets guard (env backups) / Ensure no tracked env backup files (push) Waiting to run
Temporal Readiness / fast-readiness (push) Waiting to run
Temporal Readiness / docker-parity (push) Waiting to run
TypeScript Type Check / Nx affected typecheck (push) Waiting to run
Unit Tests / Skipped-test budget (push) Waiting to run
Unit Tests / Nx affected unit tests (push) Waiting to run
Unit Tests / Server unit coverage (informational) (push) Waiting to run
Validate Tenant Management Schema / Check for relevant changes (push) Waiting to run
Validate Tenant Management Schema / Validate Tenant Management Schema (push) Blocked by required conditions
EE Workflows Build Guard / ee-workflows-build-guard (push) Waiting to run
Initial import of AlgaPSA codebase from PSA server
Excluded: .git, node_modules, secrets/, compose.env, assemblyscript tgz

Source: /opt/alga-psa on psa.joliet.tech
2026-06-22 16:12:17 -05:00

32 lines
1.1 KiB
Markdown

# Startup Performance Budget (V1)
This document defines a simple startup performance budget for the Alga PSA mobile app and how to measure it consistently.
## Budget (targets)
- **Cold start → first interactive screen**: ≤ 2.5s on a modern device (release build).
- **Warm start / resume → interactive**: ≤ 1.0s (release build).
- **Auth restore**: session restore should not block UI beyond 250ms (no network).
These are initial targets for the ticketing MVP and should be revisited as the app grows.
## Measurement
- Prefer measuring on **release builds** (dev builds can be misleading).
- Record:
- platform (iOS/Android)
- build type (dev/release)
- device model + OS version
- network state (wifi/cellular/offline)
- signed-in vs signed-out
### Manual measurement
- iOS: Xcode Instruments → Time Profiler + startup timeline.
- Android: Android Studio Profiler + startup trace.
### App-level telemetry
- The app emits a basic `app.startup.ready` event with the time from JS startup to “boot complete” so we can track regressions over time (provider TBD).