Skip to content

[codex] Add fast COW merge smoke gate#64

Merged
adamziel merged 10 commits into
trunkfrom
codex/merge-next-slice
May 16, 2026
Merged

[codex] Add fast COW merge smoke gate#64
adamziel merged 10 commits into
trunkfrom
codex/merge-next-slice

Conversation

@adamziel
Copy link
Copy Markdown
Contributor

What it does

Adds a cheap COW merge smoke target and runs it early in Linux/macOS CI before production runtime bundle builds.

Also fixes the banded-post E2E assertion to read the JSON files written by create_branch_post: band-merge-source-post-save.json and band-merge-target-post-save.json.

Rationale

The merged trunk run 25949482074 failed on macOS arm64 because the banded-post test still read old *-rest-save.json paths after the routed post helper change. The missing files made the post IDs parse as 0, so the ID-band assertion failed before testing merge behavior.

The smoke target gives us a millisecond-scale local and CI check for the theme_mods nav-location merge regression before we spend minutes building static PHP and running platform E2E.

Implementation

  • Added tests/cow/merge_smoke.php for helper-level theme_mods merge checks.
  • Added make test-cow-merge-smoke and make test-cow-merge.
  • Preserved the existing make test-cow ordering while routing the merge suite through the new target.
  • Added early COW merge smoke tests steps to Linux/macOS CI.
  • Updated banded-post E2E artifact reads and failure dumps to match create_branch_post output names.

Testing instructions

make test-cow-merge-smoke
make test-cow-merge
make test-release
php -l tests/cow/merge_smoke.php
php -l scripts/cow/merge.php
bash -n tests/cow/e2e.sh
git diff --check
make -n test-cow

@adamziel adamziel merged commit 8ccea68 into trunk May 16, 2026
8 checks passed
adamziel added a commit that referenced this pull request May 16, 2026
## What it does

Updates `docs/merge-reliability.md` to cite trunk CI run `25952935740`,
where the merged reliability work passed production bundle builds and
release-built COW APFS sparsebundle E2E on both macOS targets.

## Rationale

The doc still described the previous macOS APFS sparsebundle E2E
blocker. Trunk now has stronger evidence: Linux COW E2E, Windows checks,
and both macOS release-built APFS sparsebundle jobs passed after PR #64
merged.

## Implementation

Replaces the older checked-run language in the objective audit and
release-gates rows with the successful trunk CI run. The remaining
caveat stays explicit: the e2e tolerance only covers the known transient
`hdiutil compact` unavailable condition after storage has detached.

## Testing instructions

```bash
git diff --check
npm run validate
```
@JanJakes JanJakes mentioned this pull request May 16, 2026
adamziel pushed a commit that referenced this pull request May 16, 2026
## Release `v0.1.15`

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

**Changelog draft:**
* Fix Homebrew tap update detection
* Document release and install paths
* Document latest aarch64 mac release gate evidence
([#62](#62))
* Harden WP UI nonce E2E helper
([#49](#49))
* Use routed WP helper for E2E post creation
([#60](#60))
* Keep session tokens target-local during COW merges
([#63](#63))
* Cover remote cache branch merge E2E
([#61](#61))
* Add fast COW merge smoke gate
([#64](#64))
* Document latest merge release gate evidence
([#65](#65))
* Cover pre-metadata Git push crash recovery
([#66](#66))
* Document fast COW Git merge gates
([#67](#67))
* Cover Git-created pre-list crash E2E
([#68](#68))
* Cover incomplete generated media metadata
([#69](#69))
* Add focused COW ID-band gate
([#70](#70))
* Add focused COW stale-audit gate
([#71](#71))
* Add focused COW schema review gate
([#72](#72))
* Add focused COW plugin validator gate
([#73](#73))
* Add focused COW filesystem gate
([#74](#74))
* Add focused COW explicit ID gate
([#75](#75))
* Add focused COW branch birth gate
([#76](#76))
* Expand focused COW filesystem gate
([#77](#77))
* Expand focused COW media validator gate
([#78](#78))
* Expand focused COW stale audit gate
([#79](#79))
* Expand focused COW plugin validator gate
([#80](#80))
* Expand focused COW schema review gate
([#81](#81))
* Expand focused COW ID-band gate
([#82](#82))
* Expand focused COW media validator gate
([#83](#83))
* Expand focused COW schema dependency gate
([#84](#84))
* Expand focused COW filesystem symlink gate
([#85](#85))
* Expand focused COW branch birth cleanup gate
([#86](#86))
* Expand focused COW plugin validator contract gate
([#87](#87))
* Expand focused COW explicit ID gate
([#88](#88))
* Expand focused COW stale audit gate
([#89](#89))
* Add focused COW WordPress semantic validator gate
([#90](#90))
* Expand focused COW WordPress semantic validator gate
([#91](#91))
* Expand focused COW WordPress media reference gate
([#92](#92))
* Expand focused COW WordPress image block gate
([#93](#93))
* Expand focused COW WordPress term relationship gate
([#94](#94))
* Expand focused COW WordPress option reference gate
([#95](#95))
* Expand focused COW plugin serialized validator gate
([#96](#96))
* Expand focused COW media unsafe path gate
([#97](#97))
* Expand focused COW branch birth file-base gate
([#98](#98))
* Expand focused COW plain IPK ID-band gate
([#99](#99))
* Expand focused COW schema trigger ordering gate
([#100](#100))
* Expand focused COW stale audit keyless gate
([#101](#101))
* Expand focused COW stale audit missing row gate
([#102](#102))
* Expand focused COW media unsafe path gate
([#103](#103))
* Expand focused COW media duplicate ownership gate
([#104](#104))
* Expand focused COW media invalid metadata gate
([#105](#105))
* Expand focused COW media missing generated-file gate
([#106](#106))
* Expand focused COW plugin JSON reference gate
([#107](#107))
* Expand focused COW media dimension drift gate
([#108](#108))
* Expand focused COW media generated filename gate
([#109](#109))
* Expand focused COW filesystem directory delete gate
([#110](#110))
* Add fast router branch action gate
([#111](#111))
* Expand focused filesystem binary conflict gate
([#112](#112))
* Expand focused branch birth file-base gate
([#113](#113))
* Expand focused explicit ID band gate
* Expand focused media metadata gate
* Expand focused stale audit semantic gate
* Expand focused plugin file validator gate
* Expand focused schema dependency gate
* Expand focused ID-band reuse gate
* Expand focused media metadata gate
* Expand focused filesystem symlink gate
* Expand focused stale audit option gate
* Expand focused stale audit identity gate
* Expand focused schema index gate
* Add focused branch UI test gates
* Expand focused stale audit semantic gate
* Add page merge smoke regression
* Add semantic fast COW test target
* Add WordPress comment reference validator coverage
* Document comment validator finding shape
* Cover plugin validator source evidence drift
* Clarify stale audit plugin and schema boundaries
* Add schema index stale audit evidence
* Add schema object stale audit evidence
* Add schema table restore stale audit evidence
* Add schema table rebuild stale audit evidence

**Full changelog:**
v0.1.14...release/v0.1.15

## Next steps

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

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

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.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.

1 participant