feat(deep): prepare compatible readers for durable scan recovery - #919
Draft
mldangelo-oai wants to merge 130 commits into
Draft
feat(deep): prepare compatible readers for durable scan recovery#919mldangelo-oai wants to merge 130 commits into
mldangelo-oai wants to merge 130 commits into
Conversation
| } | ||
|
|
||
|
|
||
| _CRASH_STOPPED_PUBLICATION = """ |
| from typing import Any | ||
|
|
||
| import pytest | ||
| import workbench_test_support |
3 tasks
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.
Summary
Prepare compatible readers for saved Deep execution and publication state before enabling the corresponding writers. Recovery can retain accepted evidence, original worker settings, unresolved coverage and the existing result conversation across an interrupted scan.
Changes
No new public command, flag, environment variable or result field is introduced. This reader is the rollout prerequisite for the integration draft #907.
Testing
Current head:
d3f8cd8cf549b7cd17f87b788c5833bbd18e7312.Full composed MCP suite: 70 passed / 0 failed, with SDK dependencies absent. All five required portable checks pass afterward on this exact head.
Deterministic lifecycle scheduling reproduces the same PID attribution failure as the duplicate CI run on
e05e19cb. Moving the original PID snapshot after shutdown passes with all 116 assertion lines unchanged. That original commit had one green hosted run and one failed duplicate; neither result is discarded.The original installed and detached helper each fail 2 of 4 unchanged alias cases. The corrected normal reader package passes all 4 in both layouts, all 7 bundled-plugin build tests, and the unchanged installed/standalone lifecycle checker.
Exactly one of 511 archive members changes: the compressed helper. All 510 other members, including every SDK dist file and the previous completion implementation, match the earlier reader. The package was built at
8bd2dc4c; its differences from this composed head are test-only. Targeted macOS helper checks pass all 4 unchanged cases in each installed/detached layout, with original archive bytes preserved. The earlier same-head hosted CI run completed 42 successful jobs / 2 skips.The first composed local MCP run passed 68 cases and failed 2 because generated plugin assets were absent. Restoring the exact normal package assets produced the 70/0 result without changing source or assertions.
A later run on the same head, attempt 1, finished with 39 successful jobs / 3 failures / 2 skips. It tested merge
a58b1775c9dd479b82d21e38c7534877b3aeee6b, with main75914c46386e010b549f94acc02c9356551247acand this head as parents. Windows Node 24 timed out after 180 seconds during npm installation, before installed smoke assertions; both Windows result jobs failed dependently. The generated package is0534748817a1190f06e120e9f174c27c0c513a72bb7f6dda36be2fd5db3f1790(3,450,896 bytes, 511 members).Two failed-jobs-only retry requests returned HTTP 500, with readbacks still showing the original failed attempt 1. A subsequent job-specific retry completed successfully as attempt 2: 42 successful jobs / 2 skips. Windows Node 24 verification and both dependent Windows result jobs passed. The verification checked out the same
a58b1775test merge and reused the exact package artifact above; passing jobs retain their earlier execution timestamps. No source, assertion or timeout changed. Both HTTP 500 responses and the original installation failure remain recorded.Previously packaged reader source
dc8edae1b436e082945dd1817054f52500d0382cretains this separately recorded evidence:b45b980b;dc8edae1changes only reader documentation. Final original Mac package checks and all packaged completion guards pass.nodePathscorrection preserves all assertions: 3 settings cases and full MCP 70/0 pass, with SDK dependencies absent. Required portable checks pass on committede05e19cb; its first hosted run passed; the later duplicate and PID attribution correction are described above.The original failed parent cases remain recorded. Earlier broader SDK/platform and native follow-up evidence belongs to its recorded source; it is not relabeled as execution of this reader. Comparative scans remain incomplete. One earlier local macOS full-MCP startup timeout and two strict native arrival assertions remain unresolved. Existing tolerated dependency-audit failures remain explicit.
Risk and rollout
Publish this reader as an available rollback release before enabling any new durable writers, including writers affecting historical workflows. Defaulting new scans to the old workflow alone does not provide this ordering guarantee.
This cumulative reader includes shared execution and result repairs also reviewed separately in #900, #905, #916, #917 and #920. Coordinate those prerequisites and the additional writer changes in #907 before landing. Existing open migration changes require coordinated numbering; this draft does not authorize overwriting an already published migration. Missing historical settings and usage remain unknown.
The reader and writer remain separate, unmerged drafts. The earlier successful run, later installation failure and successful targeted retry remain distinct records. Required Windows contexts now pass for the recorded test merge and package. Coordinated reader-first rollout and the remaining evaluation work are required before release.
Public disclosure review