ek9_run_quality_checks
Compiles, runs the tests and answers status (ok | compile-failed | no-tests-found | tests-failed | coverage-low) with tests:{passed, failed}, coverage (overall, methods, lines, branches, byModule), complexity.hotspots[], readability, injections, uncoveredMethods[] and the advisory lockPayloads - every quality metric in one call, extracted in-process.
When to use it
'Is the project's quality posture OK?' is one call: {} compiles, runs the tests and reports coverage, complexity hotspots, readability, DI and uncovered methods together.
When not to use it
- Per-test pass/fail detail, test filtering, or an HTML report - use
ek9_run_tests. - Complexity from an already-compiled workspace with no re-compile - use
ek9_query_complexity. - Compile error/warning detail, not metrics - use
ek9_query_diagnostics. - Compiling without running tests - use
ek9_compile.
Details
status is one of: ok (tests pass + coverage meets threshold) / tests-failed / coverage-low (tests pass but coverage below threshold) / compile-failed / no-tests-found - the same words ek9_run_tests uses. lockPayloads reports MutexKey bodies whose protected payload may leave the lock — each naming the enclosing method, the MutexLock it runs under and the via chain to the callee that keeps the reference — beside a census {bodies, contained, mayEscape, unknown} of EVERY body; it carries gates:false and is NOT part of status — advisory until it proves reliable enough to stop a publish (ek9_query_mutex_payload is the same sweep, workspace-scoped). All metrics are extracted in-process from CoverageRuntime after execution (no disk reads/writes for metrics); complexityThreshold (default 10) gates the cyclomatic hotspots list, uncoveredMethods is capped at 50 entries sorted by file then start line, and the entry-point file auto-detects when omitted. RELEASE chain: ek9_increment_version -> ek9_run_tests -> ek9_run_quality_checks -> ek9_package.
Arguments
| Argument | Type | Required | What it is |
|---|---|---|---|
complexityThreshold | integer | Methods with cyclomatic complexity >= this appear in complexity.hotspots. | |
file | string | The entry-point .ek9 source file (absolute, or relative to projectDir). Omit to auto-detect the shallowest non-dev .ek9 file. | |
projectDir | string | Project root holding the .ek9 sources - absolute, or relative to the workspace root. Omit to use the workspace root itself (the first root ek9_compile was given). |
See also
- Part of the release workflow: Bump version + run tests with coverage + build artefact + install locally + verify.