Engineering Quality
Quality layers
Section titled “Quality layers”Srijika separates validation concerns instead of treating one successful build as proof of correctness:
- TypeScript and lint rules validate authored code quality.
- Unit tests cover compilers, contracts, rules, stores, and transformations.
- Integration tests cover cross-package and workbench behavior.
- Contract tests preserve versioned schemas and protocol compatibility.
- Playwright exercises browser workflows, accessibility, and visual baselines.
- Rust formatting, Clippy, and tests validate native boundaries.
Primary supported-product gate
Section titled “Primary supported-product gate”pnpm verifyThis runs formatting, lint, TypeScript (including Playwright tooling), root and package tests, Rust core checks, the supported code-first browser lane, and workspace builds. For a shorter edit loop, use pnpm verify:fast.
Browser acceptance
Section titled “Browser acceptance”pnpm test:e2e:webThe default lane covers the current code-first product plus future generated owner tests. Retired visual-editor tests remain explicit with pnpm test:e2e:web:legacy; they are not silently mixed into the supported release gate. Visual baseline updates are committed only after intentional review. Accessibility checks cover serious and critical shell violations, with known exclusions documented in the canonical testing reference.
Native gates
Section titled “Native gates”pnpm check:rustFull Tauri workspace validation additionally requires the platform-native dependencies documented for Linux, Windows, or macOS.
Regression rule
Section titled “Regression rule”A bug fix adds coverage at the narrowest layer that can reproduce the failure and, when the behavior crosses a user-visible boundary, at an integration or end-to-end layer as well.