Repository navigation
test(free): #112 scale, compatibility and host acceptance evidence gate - #119
Merged
Merged
Conversation
MrDarkRoot
marked this pull request as ready for review
October 2, 2026 06:27
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.
PR #119 repair: preserve approved-job recovery across the shipping cap
Audited predecessor:
ce3ae08ba1359469f06450d8c9d80ef7829c6f08.Base main:
061d5f5ff4e1867327495c8ca07dd903f1f16b06.Verified repaired head:
1ea1267bb12338cd303f7c51e3f26523cb5ae20a.Boundary
New Free jobs remain capped at 100. New >100 previews/imports and approvals
are still refused before durable job creation/journal seed. Internal #107
immutable selector maximum remains 1,000. The exact Woo 11.1.2 gate is unchanged.
The support-size check is removed only from recovery/Undo validity. Existing
#109 post-approval lifecycle rules, authentication, nonce, ownership, immutable
binding, fresh permissions, default bounded worker, lease/generation/transaction
fence and lifecycle authority remain the controller/worker path. #110 remains
the authority for completed-job Undo eligibility, provenance, expiry, conflicts
and continuation of the existing operation. No new migration worker, re-plan,
journal seed, fake migration flag or public oversized import/approval bypass.
Oversized PLANNED/BLOCKED jobs remain non-approvable and non-executable. Already
approved executable/completed oversized history instead shows Legacy oversized
job, with a warning that the 100 limit applies to new work and existing bounded
recovery/eligible Undo is for safely finishing/restoring old work—not support for
new 1,000-item jobs. Old approved preview URLs link to durable progress/Undo.
Deterministic migration/recovery evidence
legacy-recovery.phpbuilds an actual 101-item immutable plan and uses trustedinternal
create_from_plan()/approve()to simulate predecessor approval,creating exactly 101 journal rows before recovery assertions.
production transitions pause the partial job. Real authenticated HTTP sees
Resume and the warning, then runs <=10 per POST to finish all 101.
Its release uses the normal fenced repository transition, never forged
generation/expiry. Both paths consume the same WriteLeash Free: build durable bulk-price job engine, scheduling and recovery #109 worker/fence authority.
trace proves each product saved once, with an outside sentinel untouched.
supported Woo edit stays at 75 as a conflict; the other 100 originals restore
to 100. First Undo stays partial; fresh-session reopen continues the same
operation ID through bounded leased HTTP chunks. Apply evidence is unchanged.
exposes no mutation form, and crafted Resume/Undo adds no evidence or writes.
PLANNED/BLOCKED additionally expose no recovery action and cannot mutate.
The test-only probe option is never read by production and grants no authority.
The historic pre-cap 1,000 measurements, source references and CSV are retained.
O(N²) journal duplication remains documented debt; no journal redesign.
Final verification complete: 13/13 workflow runs and 20/20 jobs completed/
success at exact head
1ea1267bb12338cd303f7c51e3f26523cb5ae20a.Acceptance run: https://github.com/MrDarkRoot/WriteLeash/actions/runs/36989119641.
All runs passed attempt 1; no #61 flake on this repaired head. Prior failed
attempts remain preserved/documented, and #61 code/invariants are unchanged.
Downloaded exact-head artifacts were verified:
refusals; four new 1,000 refusals; two new 10,000 refusals; two early Woo 11.0.1
refusals. No new oversized import/approval support was introduced.
profiles, PHP 7.4.33/8.0.30/8.1.34/8.2.34 and WP 7.0.1/7.1.2 exercised rows.
Each starts with 101 seeded rows, callback applies 10, HTTP chunks apply the
remaining 91 (10 per chunk, final 1), and all 101 finish with no other Apply
outcomes. Journal row count remains 101; binding/hash/population unchanged;
exactly one Apply save per product. Both paths refuse the same held lease.
later price edit at 75 as conflict, and continues the same partial Undo ID
after fresh-session reopen in <=10-item leased chunks. Apply evidence is
unchanged; zero additional Apply rows, no conflict overwrite or duplicate save.
frozen for 11.1.2 cannot recover against current 11.0.1, gains no additional
evidence and mutates no product.
12 preserved torture reports PASS. All WriteLeash Free: define WooCommerce bulk price contract and immutable Change Plan #107–WriteLeash Free: deliver the complete WooCommerce bulk-price Admin workflow #111, lifecycle/retention,
foundation, legacy Guard/Redirection and research suites are green.
Exact MySQL 8.0.44, MariaDB 10.11.15, Redis 7.4.2 / Redis Object Cache 2.7.0
and all prior PHP/WP pins remain. Historical 1,000 timings are not relabeled
as post-cap throughput or support for creating new oversized work.
Scope / release boundary
Diff from audited predecessor: 9 files, +326 / −25; state-aware Admin recovery
and warning, clarified new-work contract comment, deterministic fixture/probe,
unapproved-state negatives and evidence updates. No worker/fence/schema/journal
redesign. User's untracked
wordpress/icon/is preserved.Emails, webhooks, remote HTTP, orders, external queues and arbitrary plugin side
effects remain OUTSIDE CONTRACT. Real-host pilot NOT TESTED; multisite UNSUPPORTED.
Release-chain issues modified/executed: NO. Publication: NO. Merge: NO.
No release ZIP/SVN submission or self-merge. Repairs PR #119 only; refs #112.