Independence test
Eighteen binary checks run from infrastructure you control. Nobody argues with a count.
Access
stage- fail01
Clone the repository from a Northwind-controlled account
Verifies: Source can be cloned from Northwind's own git org — not the vendor's.
The repo lives at bitbucket.org/vantagedigital — vendor-owned. Northwind can't clone from an org it controls until ownership is transferred.
- fail02
composer install resolves all backend packages
Verifies: The private vantage/* PHP packages install from a client-owned registry.
63 vantage/* packages resolve only from composer.vantagedigital.com (vendor); composer install fails without vendor access.
- pass03
pnpm install resolves all frontend packages
Verifies: Frontend npm dependencies, including @vantage/*, install cleanly.
pnpm install succeeds — @vantage/ui and @vantage/state are MIT-licensed and public on npm.
Build
stage- pass04
Backend passes syntax check (php -l across modules)
Verifies: PHP source is syntactically valid across all 99 modules.
php -l passes across all modules — syntax only; a full build still needs the vendor packages in check 02.
- pass05
Frontend applications build (nx build)
Verifies: The customer and admin Next.js apps build to artifacts.
nx build succeeds for the frontend and admin apps.
- pass06
GraphQL codegen runs
Verifies: GraphQL types generate from the local query files.
nx graphql-codegen runs and produces the ~25k generated lines.
- pass07
TypeScript typecheck passes
Verifies: The TypeScript projects type-check cleanly.
Typecheck passes — it is the only gate the vendor CI actually runs (no tests, no lint).
- fail08
Docker environment starts and containers report healthy
Verifies: The full container environment builds and starts locally.
The CI/CD build image (vantage/sdlc/runner) lives in the vendor's AWS ECR — the environment can't be built without it.
Data
stage- fail09
Database migrations run to completion
Verifies: Schema migrations apply against a fresh database.
migrations:migrate depends on the vendor's vantage/* data framework, which can't be installed (see check 02).
- fail10
Schema tooling runs (orm:schema-tool:update)
Verifies: Doctrine schema tooling updates the database.
Requires vantage/mezzio-module-doctrine — unavailable without the vendor registry.
- fail11
Data installers and patches apply
Verifies: Seed / reference data and patches load a working dataset.
Depends on vantage/mezzio-module-data-installer and data-patch — cannot run in-house.
Run
stage- fail12
Application loads and the login page renders
Verifies: The app boots and the entry screen renders.
The backend can't be built or started without the vendor packages, so the app never comes up in a Northwind-only environment.
- fail13
Authentication works with test credentials
Verifies: Login / OTP works using client-held credentials.
Authentication is entirely vendor code — 16 vantage/* auth & authorization packages — none installable in-house.
- fail14
External services reachable (Elasticsearch, StarRocks, Kafka, S3, Stripe)
Verifies: Integrations connect using Northwind-owned keys.
S3 runs on vendor AWS and integration configs are undocumented — services aren't reachable from a Northwind-controlled environment.
- fail15
Grid data loads (at least one grid returns results)
Verifies: A primary data grid returns results from the client's stack.
Grids depend on the running backend plus Elasticsearch/StarRocks — none of which stand up in-house.
- fail16
Export works (generate and download CSV/Excel)
Verifies: Reports / exports render and download.
Export depends on the running app and vendor S3 — it can't be exercised independently.
- fail17
Email sending works (test SMTP)
Verifies: Email / notifications send via Northwind-owned providers.
Notification delivery (email/SMS via iContact/Twilio) uses vendor-configured accounts and is undocumented.
Release
stage- fail18
Full production deployment plan executes in staging
Verifies: A documented deploy runs end-to-end in a non-production environment.
No IaC and a vendor-owned pipeline — there is no deployment Northwind can execute or verify.
