AEROSIM-TS-46
Test validation parity and fail-closed aggregation
Automated workflow-contract tests prove local and CI gate parity, immutable-SHA binding, and failure of the aggregate result when any required gate is removed, skipped, or failed.
- Verified flow state
- Done
- Owner
- AeroSim Architecture and Delivery
- Feature
- AEROSIM-FT-51
- Component
- Web Application and API Service build boundaries — Application monorepo — CI contract tests
- Repository
- corp-v1-aerosim/corp-v1-aerosim
Delivery scope
Parse package.json and the Gitea workflow to compare exact commands and required gates, mutate each gate and SHA binding in fixtures, and prove the validator rejects removal, rename, skip, continue-on-error, permissive aggregation, and branch checkout. Primary files: tests/ci/validation-parity.test.mjs, tests/ci/fixtures/validation-workflows, scripts/validate-ci-contract.mjs.
Implementation contract
Implementation artifacts
- tests/ci/validation-parity.test.mjs
- tests/ci/fixtures/validation-workflows
- scripts/validate-ci-contract.mjs
Inputs
- Root script map and .gitea/workflows/application-validation.yaml AST
- Workflow mutation fixtures for lint, typecheck, test, build, checkout ref, if conditions, needs, and continue-on-error
Outputs
- CI contract report with command-parity, required-job, aggregation, and exact-head assertions
- Distinct validation error code for every deliberate workflow mutation
Failure boundaries
- Fail closed when YAML expressions cannot be resolved or workflow structure is unknown.
- Fail if local and CI commands differ by flags, package selection, or gate order where order affects generated artifacts.
Excluded scope
- Tests do not execute Gitea infrastructure, approve pull requests, or assess test-suite domain completeness.
Verification steps
- node --test tests/ci/validation-parity.test.mjs
- Run every mutation fixture and assert zero false passes; run the unmodified workflow fixture and assert one valid pass.
Traceability
Dependencies
- AEROSIM-TS-45Canonical ID: TASK-0045
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 #71 reviewed head b30fcc4415801b7d7e0c640813709b1728e31c15, exact-head required validation task 2320 succeeded, merged as 79cf7ff67a72b65a89854382e147ef9bda664cbf; current integrated application head 79cf7ff67a72b65a89854382e147ef9bda664cbf passed required validation task 2322, publish task 2318, and validate task 2319. 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.