Skip to content

Preserve patch decisions across old and duplicate-marker histories - #107

Merged
rmcdaniel merged 5 commits into
mainfrom
fix/python-patch-history
Oct 10, 2026
Merged

rmcdaniel merged 5 commits into
mainfrom
fix/python-patch-history

Conversation

@rmcdaniel

@rmcdaniel rmcdaniel commented Oct 10, 2026 •

Copy link
Copy Markdown
Member

Outcome

Repair Python patch insertion into old histories and freeze one decision per change ID, while preserving existing consistent duplicate-marker histories and their physical cancellation boundaries.

Refs #103. Keep the issue open through published-artifact verification.

Qualification

  • Old pending/completed activities choose the legacy patch branch without consuming or repeating their commands.
  • One decision per change ID, with supported-range and version/patch-family checks on every call.
  • Existing consistent duplicate markers replay as aliases, retaining their physical positions and committed cancellation boundaries. Conflicting decisions fail explicitly.
  • 252 affected replay/cancellation/corpus tests pass. The full non-integration run passed 2,532 tests with two Git-dependent setup errors. Both checks pass separately in the Git-capable container. Ruff and mypy pass.
  • Three new replay-corpus fixtures pass through the official replayer and all three fail against exact pre-fix source 04790ae42e8da0a83f65026f096572b547b7baa8. Corpus growth validation passes.
  • Hosted Python 3.12 exposed an existing callback PID-file publication race. The fixture now publishes its PID by atomic rename, retaining all actual-process termination, heartbeat independence and stale completion assertions. No production worker shutdown behavior changes.
  • Implementation head de92f1139acdbaa9e037351dd3c46931fbb0b6ef passes every normal hosted check, including integration and target-branch qualification.
  • Untouched published Server 2.5.16, digest sha256:d0035cbffa5b904e5f9f7f43f84f6caf03beefc93bab8731c7e960b7a344e771, accepted original histories written by published Python 2.5.0. A distinct cold source-candidate worker completed both original runs once, preserving the unmarked branch and both retained duplicate markers. A new run with two patch calls completed with exactly one marker. The old process exited with code 137 before replacement. This is source qualification, with published successor verification still pending.
  • Prepare patch release 2.5.1, paired with the actually exercised Server 2.5.16. Exact release-head checks and post-publication replay/consumer verification remain required.

Shared cross-SDK/embedded fixture changes remain coordinated with the Server #325 owner. This PR changes only the Python adapter and its own SDK corpus, with no Server or shared-runner edits.

@rmcdaniel
rmcdaniel marked this pull request as ready for review October 10, 2026 16:31
@rmcdaniel
rmcdaniel merged commit c5508bc into main Oct 10, 2026
13 checks passed
@rmcdaniel
rmcdaniel deleted the fix/python-patch-history branch October 10, 2026 16:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants