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.
Commands
Section titled “Commands”cd engine./mvnw test./mvnw clean packagecd studionpm cinpm audit --audit-level=lownpm run lintnpm testnpm run buildengine/mvnw -f sdk/java/pom.xml verifycd documentationnpm cinpm audit --audit-level=lownpm run checknpm run buildEvidence matrix
Section titled “Evidence matrix”| 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 |
Failure-injection expectations
Section titled “Failure-injection expectations”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.
Reporting results
Section titled “Reporting results”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.