conductor/BASELINE.md

3.3 KiB

Validation Baseline

Date

2026-07-18

Environment

  • Target toolchain: Node.js 20 and npm 10
  • Executed toolchain: Node.js 20.20.2 and npm 10.9.8, supplied ephemerally through npx
  • Docker CLI: available on Windows
  • Docker engine: unavailable because Docker Desktop's Linux engine was not running
  • Docker inside WSL: unavailable because WSL integration was disabled

Dependency Installation

  • Root npm ci: passed under the preinstalled WSL Node 18/npm 9 toolchain; reported 2 high-severity audit findings in ajv-cli dependencies.
  • Frontend clean install initially failed because frontend/package-lock.json was missing yaml@2.9.0.
  • npm install --package-lock-only under Node 20/npm 10 repaired the frontend lockfile.
  • Frontend clean install then passed under Node 20/npm 10; npm reported 28 dependency vulnerabilities: 9 low, 6 moderate, and 13 high.
  • Backend clean install passed under Node 20/npm 10; npm reported 0 vulnerabilities.

Automated Checks

Frontend tests

Command:

npx --yes --package=node@20 --package=npm@10 npm test -- --watchAll=false --runInBand

Result: Passed.

  • Test suites: 6 passed, 6 total
  • Tests: 420 passed, 420 total
  • Snapshots: 0

Frontend production build

Command:

npx --yes --package=node@20 --package=npm@10 npm run build

Result: Passed.

Backend TypeScript build

Command:

npx --yes --package=node@20 --package=npm@10 npm run build

Result: Passed.

Schema Matrix

Eleven valid-*.json project definitions passed validation against shared/schemas/conductor-project.schema.json.

Two schema-invalid fixtures failed validation as expected:

  • invalid-dropdown-option-shape.json
  • invalid-missing-required.json

Two diagnostic-invalid fixtures passed structural schema validation as designed because their defects require semantic/runtime diagnostics:

  • invalid-template-malformed.json
  • invalid-template-missing-component.json

Runtime Startup

Initial backend startup against a clean SQLite database failed with:

SqliteError: no such table: projects

Cause: backend/src/index.ts statically imported app before calling initDatabase(). Importing the app loaded project routes and prepared SQL statements before the projects table existed.

Fix: run initDatabase() first, then dynamically import the Express app and start listening.

After the fix, clean-database startup, HTTP health, complete CRUD, cleanup, and persistence across a backend container restart all passed.

Docker Validation

Docker Desktop was started and validation completed. Both images built, both services started, the frontend compiled, the backend initialized SQLite, and health, CRUD, cleanup, and restart-persistence checks passed.

Baseline Status

Passing for the current automated and Docker smoke-test scope:

  • Locked frontend dependencies repaired
  • Frontend tests pass
  • Frontend production build passes
  • Backend TypeScript build passes
  • Schema matrix behaves as expected
  • Backend starts against a clean database
  • Health and CRUD smoke checks pass
  • Persistence survives a backend container restart
  • Docker Compose build and integration checks pass

Remaining release work includes broader backend tests, browser end-to-end tests, security regression tests, and resolution of the frontend dependency audit findings.