AEROSIM-TS-43
Standardize local lint, type, test, and build commands
The application monorepo exposes deterministic root commands for linting, type checking, testing, and production builds across Nebula, Singularity, persistence, rendering, and physics packages.
- Verified flow state
- Done
- Owner
- AeroSim Architecture and Delivery
- Feature
- AEROSIM-FT-51
- Component
- Web Application and API Service build boundaries — Application monorepo — validation toolchain
- Repository
- corp-v1-aerosim/corp-v1-aerosim
Delivery scope
Define root lint, typecheck, test, build, and validate scripts over every declared workspace package; validate runs all four gates, records each result, and exits non-zero if a required package or gate is absent, skipped, or failed. Primary files: package.json, pnpm-workspace.yaml, eslint.config.mjs, tsconfig.json, vitest.workspace.ts, scripts/validate.mjs, tests/ci/local-validation-contract.test.mjs.
Implementation contract
Implementation artifacts
- package.json
- pnpm-workspace.yaml
- eslint.config.mjs
- tsconfig.json
- vitest.workspace.ts
- scripts/validate.mjs
- tests/ci/local-validation-contract.test.mjs
Inputs
- pnpm-lock.yaml and workspace package manifests
- RequiredGate list lint,typecheck,test,build and discovered workspace package names
Outputs
- Deterministic root commands pnpm lint, pnpm typecheck, pnpm test, pnpm build, and pnpm validate
- ValidationSummary mapping every package and gate to passed or failed
Failure boundaries
- Fail before success when a workspace package lacks a required script or is omitted from task selection.
- Run all gates for diagnostics but return non-zero if any gate fails; no continue-on-error can convert failure to success.
Excluded scope
- Deployment publication, release approval, browser matrix expansion, and performance benchmarking are outside the local validation contract.
Verification steps
- node --test tests/ci/local-validation-contract.test.mjs && pnpm validate
- Delete one fixture package build script and force each gate to fail in turn; assert aggregate status is non-zero and names the package/gate.
Traceability
Dependencies
- AEROSIM-TS-13Canonical ID: TASK-0013
- AEROSIM-TS-16Canonical ID: TASK-0016
- AEROSIM-TS-20Canonical ID: TASK-0020
- AEROSIM-TS-27Canonical ID: TASK-0027
- AEROSIM-TS-30Canonical ID: TASK-0030
UI/UX applicability
non_visual
This Task owns technical or behavioral acceptance and does not claim direct visual conformance to the approved UI/UX package.
Acceptance evidence
Verified delivery: application PR #55 merged deterministic root validation gates as e2df1e859172068c04858bc22f9c7223cfae8394; current integration retains all five canonical commands and fail-closed package/gate coverage; the focused validation-contract suite passes 15/15; exact-head integration validation and immutable image publication passed remotely at ade1706b80d1642a6763f2827cfb2e6b3fc8ddaf. Release completion verified on product 1.0.0.0 at GitOps revision 5d3712d89dfbf7dacd993348e55f497d126c7bf9 with Argo Synced/Healthy, exact image digests, authenticated API/database access, and three-world configured-flight acceptance.
Current evidence boundary
No current implementation, acceptance, release, or deployment evidence is claimed for this planned Task. Any prior implementation may be used only as prototype and discovery evidence.