Develop#223
Merged
Merged
Conversation
RCA: docs/PROVAR_TEST_STEP_REFERENCE.md, the bestPracticesEngine VALID_API_IDS allow-list and the loop prompts all referenced control.TryCatchFinally, an apiId that does not exist in Provar (the canonical control-flow step is control.Finally), and the schema also carried a doubled list.ListCompareListCompare Fix: normalized every TryCatchFinally reference to control.Finally across the reference doc, allow-list, comment and prompts; corrected the ListCompare schema apiId; added a data-driven test pinning every documented apiId to the validator allow-list; bumped version to 1.6.1 and synced server.json Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…y-apiid PDX-512: fix(mcp): correct invalid TryCatchFinally apiId to control.Finally
RCA: runSfCommand buffered the entire child stdout/stderr in memory via spawnSync({ maxBuffer: 50 MB }), so a verbose DETAILED Provar run overflowed the cap and aborted with ENOBUFS, losing the run even though results were written to disk.
Fix: capture child stdout/stderr to temp files via stdio fds with no maxBuffer and read them back after exit, removing the in-memory ceiling; translate any residual ENOBUFS into an actionable error; migrate spawn-stub tests to the file-backed model and add an over-cap regression test.
RCA: adversarial review found captureSpawnToFiles could leak a descriptor if the second openSync threw, its finally rmSync could throw (Windows EBUSY/EPERM) and mask the real result, the ENOBUFS message was test-run-specific yet shared, and qualityHub's handleSpawnError never got the ENOBUFS branch. Fix: split capture into captureSpawnToFiles + spawnCapturingToDir so cleanup covers a failed second open and rmSync is best-effort; extract one generic ENOBUFS-aware handleSpawnError into spawnErrors.ts used by both automation and qualityHub; soften the overstated "regardless of size" docs; add a real-subprocess >50MB integration test plus a qualityHub ENOBUFS test.
…-to-file PDX-513: fix(mcp): stream sf child stdio to files to prevent ENOBUFS
RCA: the testrun ENOBUFS bug report was committed in PR #222, but bug reports are local working docs whose rationale belongs in commit messages and PR descriptions, not the repo tree, and the directory was never gitignored. Fix: git rm --cached the tracked report (keeping the author's local copy) and add docs/bug-reports/ to .gitignore so investigation notes stay on the author's machine and cannot be re-committed by accident.
2 tasks
PDX-0: chore(docs): untrack docs/bug-reports and ignore the directory
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.