Skip to main content

AEROSIM-TS-43

Project task

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.

AEROSIM-TS-43Canonical ID TASK-0043
Verified flow state
Done
Owner
AeroSim Architecture and Delivery
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

Requirements

Dependencies

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.