You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,11 @@ Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
6
7
7
## [Unreleased]
8
8
9
+
## [0.41.15] - 2026-04-07 — Automatic test reuse in verify-work
10
+
11
+
### Added
12
+
-`feat(verify-work)`: `present_test` step now auto-discovers and runs framework-native tests (Playwright first, Jest fallback) via `maintain-tests discover` + `maintain-tests run-batch` before presenting to user — UAT completes automatically when all discovered tests pass, falls back to manual checkpoint when tests fail or no tests are found
Copy file name to clipboardExpand all lines: core/workflows/verify-work.md
+49-3Lines changed: 49 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -214,9 +214,55 @@ Proceed to `present_test`.
214
214
215
215
Read Current Test section from UAT file.
216
216
217
-
Before presenting this test, attempt automated verification per the `<automation_first>` protocol.
218
-
- If automated verification succeeds: update the test result to `pass` with method `auto:{type}`, skip user presentation, and proceed to the next test.
219
-
- If automated verification fails or is insufficient: present to user as normal (existing checkpoint box flow).
217
+
Before presenting this test, attempt automated verification per the `<automation_first>` protocol.
218
+
219
+
Automation attempt (concrete):
220
+
221
+
1. Discover project test runners and candidate test files using the repo's test discovery helper. Prefer framework-native discovery (Playwright first, then Jest, then pytest):
222
+
223
+
```bash
224
+
# Discover tests (writes JSON with `runners`, `test_files`, `by_runner`)
# Inspect results: if no failures, mark automated verification passed
249
+
if grep -q '"failed_count": 0' "$OUTPUT_JSON" >/dev/null 2>&1; then
250
+
# Record automated pass for this test (auto:browser for playwright, auto:jest for jest)
251
+
echo "Automated verification succeeded via discovered tests. Results: $OUTPUT_JSON"
252
+
# The workflow engine should update the UAT file: set Tests.{N}.result = pass and method = auto:{type}
253
+
# (Interpreter: update in-memory test state and skip user presentation)
254
+
else
255
+
# Automation ran but some tests failed or timed out — capture artifacts and fall back to manual presentation
256
+
echo "Automated verification attempted but reported failures. See $OUTPUT_JSON for details."
257
+
fi
258
+
else
259
+
# No candidate test files discovered; fall back to lighter CLI/file inspection or present to user
260
+
echo "No framework-native test files discovered for automated verification in ${phase_dir:-.}."
261
+
fi
262
+
```
263
+
264
+
- If automated verification (the maintain-tests run) succeeds with no failing tests: update the test result to `pass` with method `auto:{type}` (auto:browser for Playwright, auto:jest for Jest), skip user presentation, and proceed to the next test.
265
+
- If automated verification fails, times out, or no tests were discovered: present to the user as normal (existing checkpoint box flow). If the run failed due to environment constraints (missing install, playwright browser missing, timeout), include remediation guidance in the UAT frontmatter (e.g., "run npm ci && npx playwright install", required ENV vars).
Copy file name to clipboardExpand all lines: package.json
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
{
2
2
"name": "@nforma.ai/nforma",
3
-
"version": "0.41.14",
3
+
"version": "0.41.15",
4
4
"description": "nForma — Multi-agent coding orchestrator with quorum consensus and formal verification (TLA+, Alloy, PRISM). Consensus before code, proof before production.",
0 commit comments