Skip to content

Testing and verification

Run the narrowest relevant test while developing, then the complete component gate before handing off the change. PostgreSQL is mandatory whenever a claim depends on schema, locking, persistence or recovery.

Terminal window
cd engine
./mvnw test
./mvnw clean package

npm audit fails on advisories published after a lockfile was committed, so a branch can turn red without a code change. The Dependency audit workflow audits Studio and the documentation on dev and main every day (and on demand); fix a failure on dev with npm audit fix, pinning the patched version in overrides when the package is transitive, before promoting to main.

Change Required evidence
Core logic or REST behavior Relevant tests and full engine test suite
BPMN behavior Parser/validation test, executable BPMN fixture, success and rejection semantics
APL behavior AplParser rejection matrix, executable APL fixture, AplRuntimeTest; keep the kitchen-sink APL twin 1:1 with the BPMN original and run Studio verify:kitchen-sink
Agent worker or external-task behavior Durable lease/recovery evidence (AgentWorkerResilienceTest, WorkerHealthServiceTest, FirstPartyWorkerCapabilityTest) plus positive/negative global-fetch authorization
Insight behavior Fact-commit/rollback, analyzer window recovery, proposal lifecycle and policy tests (PostgreSQL), stale-target SUPERSEDED checks
Migration or repository lock PostgreSQL fresh/upgrade, rollback, restart and concurrency tests
Public API OpenAPI compatibility test, typed errors and documentation
Authentication or authorization Positive and negative JWT/proxy/role/resource/lane tests
Studio Lint, tests, production build and APL round-trip checks
Documentation Dependency audit, Astro check, build and internal-link validation
Release metadata Backend/workers/frontends/SDK/docs, JAR hash, image and Compose validation

For atomicity and cluster changes, test crashes or exceptions before and after commit. Verify that failed commands leave no partial state/history/outbox and that committed work is recoverable without a duplicate workflow transition.

Record the exact commands, test counts, failures/skips and non-blocking warnings. Do not call a release ready when Docker/PostgreSQL evidence was skipped or a critical correctness defect remains.