[codex] Extend merge revalidation and WordPress semantic guards#313
Merged
Conversation
408bd82 to
4d08f7d
Compare
fbd1cd8 to
18bcdab
Compare
Merged
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>
mokagio
added a commit
that referenced
this pull request
May 19, 2026
Windows PowerShell 5.1 (BK `windows` queue) reads `.ps1` files as ANSI/Windows-1252 unless a UTF-8 BOM is present, so the em dashes in `sign.ps1`'s `throw` message and the comment in `windows-build.ps1` got decoded as garbage and broke the parser mid-string with cascading "Unexpected token" / "missing terminator" errors during the `windows-tests` `[scriptblock]::Create(...)` syntax check on build #313. Local `pwsh` on macOS (PowerShell Core 7+, UTF-8 native) parsed the same file cleanly, which is why the Tier 2 parse-check missed this. Going forward, scan with `grep -nP "[^\x00-\x7F]" path/to/script.ps1` before pushing PowerShell intended for the Windows queue. --- Generated with the help of Claude Code, https://claude.com/claude-code Co-Authored-By: Claude Code Opus 4.7 (1M context) <noreply@anthropic.com>
mokagio
added a commit
that referenced
this pull request
May 19, 2026
Windows PowerShell 5.1 (BK `windows` queue) reads `.ps1` files as ANSI/Windows-1252 unless a UTF-8 BOM is present, so the em dashes in `sign.ps1`'s `throw` message and the comment in `windows-build.ps1` got decoded as garbage and broke the parser mid-string with cascading "Unexpected token" / "missing terminator" errors during the `windows-tests` `[scriptblock]::Create(...)` syntax check on build #313. Local `pwsh` on macOS (PowerShell Core 7+, UTF-8 native) parsed the same file cleanly, which is why the Tier 2 parse-check missed this. Going forward, scan with `grep -nP "[^\x00-\x7F]" path/to/script.ps1` before pushing PowerShell intended for the Windows queue. --- Generated with the help of Claude Code, https://claude.com/claude-code Co-Authored-By: Claude Code Opus 4.7 (1M context) <noreply@anthropic.com>
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.
What it does
Extends the merge reliability follow-up after #311 with guarded revalidation, UI-routing hardening, crash consistency coverage, and additional WordPress/plugin semantic tests that are still best reviewed as one draft lane.
Rationale
ForkPress merge correctness depends on more than row-level conflict detection. WordPress stores object links in postmeta, options, plugin tables, upload metadata, and generated schema objects, so automatic merge resolution must re-check current source/target state before applying anything destructive.
Implementation
_EventVenueIDreferences.nav_menuterm counts so unrelated/draft relationships do not inflate published menu counts.Testing instructions
Latest grouped verification passed locally:
That planner covered diff checks, PHP syntax,
merge_smoke,filesystem,id_bands,explicit_ids,media_validator,plugin_validator,schema_review,stale_audit,wp_semantic_validator, fullmerge.php, and branch UI tests.Focused gates also passed directly while developing the latest slices:
Still draft because