Skip to content

Batch merge reliability roadmap coverage#336

Merged
adamziel merged 3 commits into
trunkfrom
codex/merge-reliability-roadmap-batch
May 18, 2026
Merged

Batch merge reliability roadmap coverage#336
adamziel merged 3 commits into
trunkfrom
codex/merge-reliability-roadmap-batch

Conversation

@adamziel
Copy link
Copy Markdown
Contributor

What it does

Adds three focused merge-reliability slices in one PR:

  • Retires old AUTOINCREMENT ID bands after branch reset so explicit imports into a previously published band stay review-held.
  • Adds WordPress semantic validator coverage for stale wp_term_taxonomy.count after relationship changes.
  • Automatically plans one safe schema dependency case: a source-changed view can apply when the only invalidating target trigger was also dropped by source.

Rationale

These are independent roadmap gaps, but grouping them avoids three more open PRs and lets CI validate them through the faster COW-only path.

ID bands need reset/reuse protection because IDs can be embedded in JSON and serialized data. Term counts are a common WordPress cached invariant that generic row merging cannot infer. The schema planner should resolve narrow safe dependency cases instead of sending every dependent view/trigger situation to manual review.

Implementation

merge.php now records retired band state during reset-safe band allocation and excludes retired bands from active explicit-ID validation. The schema planner drops unchanged target triggers first when source both rewrites the view and drops the trigger that would make validation fail.

The semantic fixture creates custom taxonomy relationships with stale cached counts, then verifies the WordPress-scoped audit conflict, logical identity, and preserved candidate state.

Testing instructions

php -l scripts/cow/merge.php
php -l tests/cow/id_bands.php
php -l tests/cow/wp_semantic_validator.php
php -l tests/cow/schema_review.php
php tests/cow/id_bands.php
TMPDIR="$PWD/.tmp" php tests/cow/wp_semantic_validator.php
php tests/cow/schema_review.php
git diff --check origin/trunk...HEAD

Local focused results: id_bands.php passed 46 assertions, wp_semantic_validator.php passed 522 assertions, and schema_review.php passed 288 assertions.

@adamziel adamziel merged commit ad85856 into trunk May 18, 2026
5 of 7 checks passed
@adamziel adamziel mentioned this pull request May 18, 2026
adamziel added a commit that referenced this pull request May 18, 2026
## Release `v0.1.35`

Version bump and release metadata update for `v0.1.35`.

**Changelog draft:**
* Extend merge revalidation and WordPress semantic guards
([#313](#313))
* Add Events Calendar-shaped merge smoke coverage
([#318](#318))
* Extend semantic E2E with Site Editor objects
([#317](#317))
* Add thin SSH remote clone command
([#315](#315))
* Update release gate evidence for v0.1.34
([#319](#319))
* Guard plugin children behind logical identity collisions
([#320](#320))
* Hold case-insensitive upload path collisions
([#322](#322))
* Cover scoped crash recovery
([#323](#323))
* Hold malformed attachment metadata shapes
([#324](#324))
* Cover thin remote clone branch metadata
([#326](#326))
* Cover source-added trigger view dependencies
([#321](#321))
* Cover WooCommerce duplicate address semantics
([#325](#325))
* Cover Events Calendar organizer validator semantics
([#327](#327))
* Cover Elementor widget media validator semantics
([#328](#328))
* Reject duplicate attachment upload metadata rows
([#329](#329))
* Cover existing branch Git update crash recovery
([#330](#330))
* Mark WordPress media repairs review-only
([#331](#331))
* Cover backup attachment metadata drift
([#332](#332))
* Limit release verification for COW-only PRs
([#335](#335))
* Batch merge reliability roadmap coverage
([#336](#336))
* Cover WordPress upload MIME drift
([#333](#333))
* Add branch merge history commands
([#334](#334))
* Show restored stale-audit reviews
([#337](#337))
* Cover Yoast duplicate indexable permalinks
([#338](#338))
* Cover Yoast indexable hierarchy drift
([#339](#339))
* Cover revision parent semantic drift
([#340](#340))
* Expose merge history in branch switcher
([#341](#341))
* Cover ACF relationship validator drift
([#342](#342))
* Show merge history on branch admin page
([#343](#343))
* Drill into conflicts from branch admin history
([#344](#344))
* Expose branch tree on admin page
([#345](#345))
* Resolve conflicts from branch admin page
([#346](#346))
* Document conflict review workflow
([#347](#347))

**Full changelog:**
v0.1.34...release/v0.1.35

## Next steps

1. **Review** the changes in this pull request.
2. **Push** any additional edits to this branch (`release/v0.1.35`).
3. **Merge** this pull request to publish `v0.1.35`.

Merging will automatically build ForkPress binaries, create a GitHub
release, and update the Homebrew formula.

Co-authored-by: Codex <codex@openai.com>
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