[codex] Keep session tokens target-local during COW merges#63
Conversation
|
Added one more E2E guard on this PR: the independently banded WordPress post merge now requires an exact |
be44d16 to
bf52bf7
Compare
|
Folded the reliability-matrix note into the clean banded-post gate commit and force-pushed the branch. Current PR #63 head: |
|
Added another semantic E2E assertion on this PR: after merging, the branch-local edited pages now have to preserve their exact edited block content and branch-specific author IDs, not merely exist by title. The reliability matrix now records that stronger page edit/delete evidence. Current PR #63 head: |
|
Added a second semantic media assertion: the E2E runtime now exposes |
|
Added one more plugin-shaped graph assertion: semantic E2E now verifies the custom-table child JSON payload keeps the same parent ID as the child row and the parent graph. Current PR #63 head: |
|
Added a plugin-owned filesystem assertion: semantic E2E now checks the branch-specific plugin graph file contents, not only that the file exists. This strengthens the custom-table/JSON/serialized/file object graph coverage on this PR. Current PR #63 head: |
|
Added a semantic option graph assertion: serialized and JSON option payloads now have to point to the branch's actual merged author/user ID, instead of only requiring a nonzero user reference. Current PR #63 head: |
|
Added setup-side validation for the semantic E2E fixture: before merge, each branch now proves its branch-local graph is coherent for attachment parent links, option/JSON option user refs, plugin child payload refs, and plugin file contents. That separates bad fixture setup from merge regressions. Current PR #63 head: |
|
Added a real block/media semantic assertion: the runtime page now includes a |
|
Added the featured-image side of the semantic media graph: pages now store |
bfae4e8 to
4a896ea
Compare
9e79fc8 to
6ae5170
Compare
4a896ea to
7b8f639
Compare
6ae5170 to
4aed0d3
Compare
7b8f639 to
d2f9940
Compare
4aed0d3 to
dd3d5a0
Compare
d2f9940 to
7c1d74b
Compare
dd3d5a0 to
98723d6
Compare
7c1d74b to
7a44463
Compare
98723d6 to
985f483
Compare
7a44463 to
68656df
Compare
985f483 to
a4b4ed8
Compare
68656df to
9951d1b
Compare
a4b4ed8 to
e9ba15e
Compare
9951d1b to
9d9ac90
Compare
e9ba15e to
3693fd1
Compare
9d9ac90 to
61d1c34
Compare
3693fd1 to
6c52c15
Compare
61d1c34 to
aa18023
Compare
6c52c15 to
e0b19cd
Compare
aa18023 to
f0a9b11
Compare
e0b19cd to
4326cff
Compare
f0a9b11 to
deb4153
Compare
4326cff to
854be38
Compare
deb4153 to
33a66d7
Compare
854be38 to
c8a0ac2
Compare
33a66d7 to
fa1953a
Compare
c8a0ac2 to
87f8442
Compare
fa1953a to
750b865
Compare
## 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>
What it does
Keeps WordPress
wp_usermeta.session_tokensrows target-local during COW merges, records auditabletarget-keptdecisions for those skipped auth-state rows, and tightens the semantic WordPress E2E gate so hidden merge conflicts fail the test instead of being tolerated.Rationale
A real UI merge was succeeding at the CLI layer while the latest merge run was
completed_with_conflictsbecause branch-local WordPress session tokens diverged between source and target. Session tokens are runtime authentication state, not portable site content, so importing them from a branch is both noisy and undesirable.Implementation
wp_usermeta.meta_key = session_tokens.target-keptmerge decisions.status: completedand zero recorded conflicts.Testing instructions
Already run locally: