2.9 KiB
Web Acceptance Timeout Repair
2026-09-16. Cycle 9111 was alive but its Web acceptance was not progressing
normally. The outer pipeline terminated its acceptance wrapper after 210
seconds, while docs/business-acceptance/Web.json declares 840 seconds. The
wrapper's separately owned browser process group continued running after its
parent was killed. Three manual workflows had passed; the IFC import step was
still running. This was not evidence that all Web functions failed.
Changes
- Both acceptance paths in
run_module_batch_pipeline.pyderive their outer timeout from the existing module contract, plus 180 seconds per selected independent verifier and 30 seconds for evidence/cleanup. Web receives 870 seconds. The inner case timeout remains 840 seconds; no acceptance assertion or case timeout was relaxed. - Outer cancellation first sends SIGTERM and permits the runner to unwind. The runner handles SIGTERM with normal Python unwinding, so its existing finally block terminates the owned browser/WASM process group. The outer wrapper bounds this grace period and retains timeout diagnostics.
- A mixed batch of product workflows and Web desktop commands now respects its
declared frontend build. The packet previously discarded that declaration
because it was not a native
*Probetarget, then selected an unrelated Web native probe. Explicit native per-ID build overrides remain supported.
Verification
47 business automation tests and 181 scheduler tests passed. New coverage includes the 840/870-second contract relationship, independent-verifier time, malformed timeout fallback, frontend-owner selection/path validation and a real nested subprocess test: the case starts, its outer wrapper times out, and its grandchild cannot subsequently write the orphan marker. Separate coverage confirms partial timeout stdout/stderr are retained.
The old orphaned browser processes were cleaned up when the service was stopped
for this repair. The corrected work packet selects FreeCADWebReactProduct
with kind=frontend.
Completed Execution
The corrected 20-case Web batch passed. Acceptance took 332.951 seconds, which
confirms that the previous 210-second outer cutoff was insufficient. The actual
manual workflows passed, including IFC file import. No manual/browser case
process remained after completion. Evidence:
business-evidence/c09f49a175e838f6c719267d-20260916T032524313823.json.
Repeating the identical pipeline required no build and no case execution: 20 results reused one verified evidence report in 0.885 seconds; total pipeline time including the full audit was 5.269 seconds. Relevant source, artifact and case checks remain in force.
At 2026-09-16 03:25 UTC, current accepted evidence increased from 95 to 115 out of 1508 by refreshing these 20 existing workflows. There are still 1342 missing executable cases. This refresh is not new business coverage and does not close those missing cases. The IFC semantic supplement remains accepted.