Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
259 commits
Select commit Hold shift + click to select a range
06a726f
Add DE-RTC apply revision evidence
May 13, 2026
17d01d2
Add DE-RTC recovery REST proof endpoint
May 13, 2026
2774f0a
Add DE-RTC enablement setting
May 13, 2026
54255cd
Add DE-RTC recovery routes for pages
May 13, 2026
e827191
Add DE-RTC stale-base REST proof contract
May 13, 2026
c2c52e6
Add DE-RTC REST save stale-base probe
May 13, 2026
e791c1e
Add DE-RTC REST autosave stale-base probe
May 13, 2026
673a4d9
Add DE-RTC retry submit proof endpoint
May 13, 2026
4c2ce77
Add DE-RTC retry-save REST contract
May 13, 2026
9f0dbfd
Expand DE-RTC retry-save authority coverage
May 13, 2026
e05052b
Expose DE-RTC editor setting
May 13, 2026
8a37de8
Refresh Gutenberg editor asset hash
May 13, 2026
876db59
Refresh Gutenberg editor action asset hash
May 13, 2026
204af04
Refresh Gutenberg editor feedback asset hash
May 13, 2026
d003fab
Refresh Gutenberg retry submit prepare asset hash
May 13, 2026
e83fbf7
Refresh Gutenberg retry submit proof asset hash
May 13, 2026
d229a10
Refresh Gutenberg retry save prep asset hash
May 13, 2026
edb2d16
Add DE-RTC normal save proof boundary test
May 13, 2026
6132f1f
Merge DE-RTC REST save proof boundary test
May 13, 2026
55f9005
Refresh Gutenberg editor asset hash
May 13, 2026
f111ac6
Test DE-RTC normal REST proof field boundaries
May 13, 2026
b177670
Merge DE-RTC Turn 0049 REST proof boundary tests
May 13, 2026
0b2fa36
Add DE-RTC retry endpoint enablement gates
May 13, 2026
4df8a8f
Merge DE-RTC Turn 0050 retry endpoint gates
May 13, 2026
e35cb98
Add DE-RTC retry-save board demo authority coverage
May 13, 2026
7922289
Refresh DE-RTC editor asset hash
May 13, 2026
94f8711
Merge DE-RTC Turn 0051 retry-save board authority
May 13, 2026
9e07e9d
Harden DE-RTC retry-save permission flow
May 13, 2026
7d78c2b
Merge DE-RTC Turn 0051 retry-save permission flow
May 13, 2026
668c5f3
Refresh DE-RTC editor asset hash
May 13, 2026
35d59e9
Add DE-RTC unfiltered HTML retry-save review
May 13, 2026
5c67857
Harden DE-RTC reviewer rejection contract
May 13, 2026
6941dd4
Harden DE-RTC sync meta KSES boundary
May 13, 2026
fff77ce
Refresh Gutenberg editor package asset version
May 13, 2026
acb1058
Refresh Gutenberg copied navigation blocks
May 13, 2026
fde9fe8
Add DE-RTC review approval proof endpoint
May 13, 2026
9e8e5bc
Build DE-RTC review approval editor assets
May 13, 2026
c8b33a4
Add DE-RTC KSES block review classifier
May 13, 2026
25b0082
Refresh DE-RTC risky review editor assets
May 14, 2026
c548582
Refresh DE-RTC risky review editor asset hash
May 14, 2026
e161067
Add DE-RTC risky block review proof endpoint
May 14, 2026
c1db6ea
Refresh DE-RTC review proof editor assets
May 14, 2026
6315016
DE-RTC consume review proof in retry-save
May 14, 2026
59e899a
DE-RTC allow admin review-proof retry save
May 14, 2026
9fd86c9
DE-RTC sign admin review handoff proof
May 14, 2026
6dbdcf6
Harden DE-RTC review proof lifetime
May 14, 2026
c10da89
Refresh DE-RTC admin import editor assets
May 14, 2026
78f36e4
Add DE-RTC review proof time and site scope
May 14, 2026
9de56bf
Check DE-RTC reviewer post access at proof use
May 14, 2026
d9794e5
Refresh DE-RTC Turn 0074 editor assets
May 14, 2026
f6493ce
Add DE-RTC review proof envelope boundary
May 14, 2026
8217d48
Refresh DE-RTC Turn 0076 editor assets
May 14, 2026
f379889
Add DE-RTC opaque proof token boundary
May 14, 2026
4d2e67d
Refresh DE-RTC token editor assets
May 14, 2026
b00f871
Harden DE-RTC proof token replay
May 14, 2026
81b8487
Refresh DE-RTC editor asset hash
May 14, 2026
a502356
Refresh copied navigation block files
May 14, 2026
145d3c9
Add DE-RTC token audit records
May 14, 2026
650aef7
Refresh DE-RTC recovery editor asset hash
May 14, 2026
99b0264
Add DE-RTC token audit retention cleanup
May 14, 2026
776abf6
Refresh DE-RTC fresh-review editor asset hash
May 14, 2026
bb5fe13
Add DE-RTC fresh review request endpoint
May 14, 2026
587c544
Allow proposed-only fresh review requests
May 14, 2026
919a834
Refresh DE-RTC fresh review request asset hash
May 14, 2026
21fcc5e
Accept imported fresh review request handoffs
May 14, 2026
fce8895
Add DE-RTC fresh review queue storage
May 14, 2026
9a3a05d
Align DE-RTC fresh review decision results
May 14, 2026
6571e1a
Refresh DE-RTC fresh review decision assets
May 14, 2026
2373cf3
Add fresh review decision consume validation
May 14, 2026
d4403c8
Refresh fresh review consume build assets
May 14, 2026
b0a31ea
Restore core-copy navigation runtime guards
May 14, 2026
09203f8
DE-RTC: consume fresh review in retry save
May 14, 2026
f997f5c
Refresh editor build asset version
May 14, 2026
a7baac7
Refresh fresh review handoff build asset
May 14, 2026
1d83c26
Allow imported fresh review retry-save consumption
May 14, 2026
5f9abb1
DE-RTC: harden fresh review lifecycle
May 14, 2026
125bd7b
Refresh fresh review lifecycle build asset
May 14, 2026
2e3d31e
DE-RTC: add fresh review lifecycle debug contract
May 14, 2026
1fbe764
Refresh fresh review multiuser build asset
May 14, 2026
8f0a4ee
DE-RTC: recheck fresh review reviewer authority
May 14, 2026
42b6b72
DE-RTC: refresh fresh review build asset
May 14, 2026
2fe06af
Harden fresh review retry-save consumption
May 14, 2026
90855ae
Refresh fresh review prepublish build asset
May 14, 2026
9553a3d
Add stale fresh-review claim cleanup
May 14, 2026
cc582fa
Refresh DE-RTC save semantics build asset
May 14, 2026
0fede33
Add DE-RTC stale fresh-review claim lifecycle controls
May 14, 2026
bf18560
Refresh DE-RTC Turn 0090 build asset
May 14, 2026
a202b7d
Refresh DE-RTC Turn 0091 build asset
May 14, 2026
adf2b5b
Update Gutenberg editor asset version
May 14, 2026
9e4b0c7
Update Gutenberg editor asset version
May 14, 2026
7da4fa3
Sync Gutenberg DE-RTC Save diagnostics build
May 14, 2026
6e8a496
Sync Gutenberg Save authority export build
May 14, 2026
f23ccd5
Update DE-RTC editor asset version
May 14, 2026
9121a44
Update DE-RTC review affordance asset version
May 14, 2026
99a8d40
Update DE-RTC Save vocabulary asset version
May 14, 2026
48696c8
Update DE-RTC pre-publish vocabulary asset version
May 14, 2026
884b4c8
Refresh Gutenberg editor asset version
May 14, 2026
481f352
Sync Gutenberg editor assets
May 14, 2026
67dd700
Update Gutenberg package asset version
May 14, 2026
0265631
Update Gutenberg package asset hashes
May 14, 2026
0138feb
Sync Gutenberg editor asset version
May 14, 2026
da89bcf
Update editor package asset hash
May 14, 2026
115c3a2
Update Gutenberg core package hashes
May 14, 2026
fca23d3
Update Gutenberg editor asset hash
May 14, 2026
c691844
Update Gutenberg editor asset metadata
May 14, 2026
187c942
Update Gutenberg editor asset metadata
May 14, 2026
a207325
Sync Gutenberg transcript lifecycle build
May 14, 2026
0a384dd
Sync Gutenberg retry proof transcript build
May 14, 2026
a50f4f2
Sync Gutenberg review transcript build
May 14, 2026
b25af20
Sync Gutenberg fresh review transcript build
May 14, 2026
ea9d6c0
Sync Gutenberg fresh review decision transcript build
May 14, 2026
5f85d5b
Sync Gutenberg fresh review validation transcript build
May 14, 2026
8f16d42
Sync Gutenberg fresh review save transcript build
May 14, 2026
c0ba480
Sync Gutenberg transcript export build
May 14, 2026
4fd6bd7
Sync Gutenberg action transcript report build
May 14, 2026
fdf8c0b
Update editor package build hash
May 14, 2026
3a1fdcc
Update Gutenberg editor asset hash
May 14, 2026
4fe8d5e
Update Gutenberg editor asset version
May 14, 2026
60fd04e
Update Gutenberg editor asset version
May 14, 2026
ce39ee6
Update Gutenberg editor asset version
May 14, 2026
1b097a5
Update Gutenberg editor asset version
May 15, 2026
370a9fb
Refresh Gutenberg editor package asset version
May 15, 2026
cf33eb1
Refresh Gutenberg editor package asset version
May 15, 2026
8dc1549
Refresh Gutenberg editor package asset version
May 15, 2026
6380b39
Refresh Gutenberg editor package asset version
May 15, 2026
64d887d
Refresh Gutenberg editor package asset version
May 15, 2026
9c840cf
Update synced Gutenberg editor asset hash
May 15, 2026
d741adf
Update synced Gutenberg editor asset hash
May 15, 2026
3c6d157
Update synced Gutenberg editor asset hash
May 15, 2026
e3c6e91
Sync Gutenberg DE-RTC support export build
May 15, 2026
85d7954
Add DE-RTC presence storage and REST proof
May 15, 2026
475dbd4
Update DE-RTC Gutenberg core asset metadata
May 15, 2026
3cd779a
Update DE-RTC Save journey asset metadata
May 15, 2026
259fb92
Sync Gutenberg editor asset hashes
May 15, 2026
d7169dd
Sync Gutenberg save journey cue assets
May 15, 2026
5dada64
Sync responsive save journey cue assets
May 15, 2026
b1cfbba
Sync save cue status chrome assets
May 15, 2026
5d95cc3
Sync DE-RTC refetch Save cue assets
May 15, 2026
2da2792
Sync DE-RTC review Save cue assets
May 15, 2026
dc00e4e
Sync DE-RTC guarded update Save cue assets
May 15, 2026
2d440dc
Sync DE-RTC waiting Save cue assets
May 15, 2026
c146e74
Sync DE-RTC confirmed Save cue assets
May 15, 2026
39b5343
Sync DE-RTC confirmed shell assets
May 15, 2026
742f4e7
Sync DE-RTC presence refresh hint assets
May 15, 2026
ea3090f
Sync DE-RTC active presence cue assets
May 15, 2026
2aa0123
Sync DE-RTC delayed presence cue assets
May 15, 2026
69581b3
Sync DE-RTC compact shell assets
May 15, 2026
2b7e9cc
Expose automatic DE-RTC presence defaults
May 15, 2026
b6d0b80
Refresh editor asset manifest for DE-RTC merge
May 15, 2026
59fb7e6
Build Gutenberg conflict comparison assets
May 16, 2026
3fc4c23
Build conflict working copy assets
May 16, 2026
82aac42
Build conflict fresh proof assets
May 16, 2026
ee92f8e
Build conflict proof continuation assets
May 16, 2026
b2b945f
Sync Gutenberg DE-RTC save label build
May 16, 2026
900c403
Sync Gutenberg refetch safety copy build
May 16, 2026
d578d3d
Sync Gutenberg post-refetch transition build
May 16, 2026
d6c2e17
Sync Gutenberg retry-submit proof wording
May 16, 2026
f9d023b
Sync Gutenberg Save cue next actions
May 16, 2026
46a6c35
Sync Gutenberg status action order
May 16, 2026
f27e0e6
Sync Gutenberg remote review context
May 16, 2026
4941cc6
Sync Gutenberg Save-now context
May 16, 2026
df4e23e
Update Gutenberg asset hash for DE-RTC Save flow
May 16, 2026
4250377
Update Gutenberg asset hash for DE-RTC Save button
May 16, 2026
fa2bb65
Update Gutenberg editor asset hash
May 16, 2026
bc939da
Add DE-RTC retry-save server merge
May 16, 2026
c2958f4
Update Gutenberg editor asset hash
May 16, 2026
a9cd380
Harden DE-RTC retry-save server merge evidence
May 16, 2026
195a7f3
Update Gutenberg editor assets for Turn 0280
May 16, 2026
037223c
Update Gutenberg editor assets for Turn 0281
May 16, 2026
0773e1f
Update Gutenberg editor asset hash
May 16, 2026
80b3dc4
Update Gutenberg editor asset hash
May 16, 2026
12c77af
Update Gutenberg editor asset metadata
May 16, 2026
8b61a19
Return DE-RTC retry-save content
May 16, 2026
7a11bc3
Build dirty DE-RTC Save assets
May 16, 2026
c95fe65
Build dirty Save cue assets
May 16, 2026
681ba28
Build centralized dirty Save cue assets
May 16, 2026
ebe2d26
Update editor script version for DE-RTC Save routing
May 16, 2026
1408893
Update DE-RTC editor asset version
May 16, 2026
499ebaf
Update DE-RTC editor asset version
May 16, 2026
f29b69c
Update DE-RTC editor asset version
May 16, 2026
1400421
Update DE-RTC editor asset version
May 16, 2026
2a3f7c9
Update DE-RTC editor asset version
May 16, 2026
d1fb0c2
DE-RTC: sync confirmed Save shell asset
May 16, 2026
e0d454f
DE-RTC: sync confirmed Save evidence asset
May 16, 2026
f1e9b32
DE-RTC: sync quieted Save button asset
May 16, 2026
6fa6057
DE-RTC: sync confirmed save base asset
May 16, 2026
2e85195
DE-RTC: sync selected conflict assets
May 16, 2026
4fdeead
DE-RTC: sync prepared Save assets
May 16, 2026
0cfbbc5
DE-RTC: sync compact conflict assets
May 16, 2026
68f7a41
DE-RTC: sync quiet conflict controls
May 16, 2026
fa6a5e1
DE-RTC: sync prepared conflict header assets
May 16, 2026
72cea3a
DE-RTC: sync quiet conflict recovery assets
May 16, 2026
0bcad42
DE-RTC: sync prepared conflict copy assets
May 16, 2026
e6d167a
DE-RTC: sync merged-edit confirmation assets
May 16, 2026
5205d28
DE-RTC: sync conflict choice safety assets
May 16, 2026
2465678
DE-RTC: sync conflict action safety assets
May 16, 2026
cfe7ac4
DE-RTC: sync conflict guide assets
May 16, 2026
985da7f
DE-RTC: merge one-sided appended blocks
May 16, 2026
2ec7f3e
DE-RTC: sync merged save shell assets
May 16, 2026
cb70f09
DE-RTC: prove server-appended retry-save merge
May 16, 2026
da14776
DE-RTC: reject append prefix drift merges
May 16, 2026
6453f90
DE-RTC: reject concurrent append merges
May 16, 2026
50c38eb
DE-RTC: reject server middle insertion merges
May 16, 2026
a873753
DE-RTC: reject deletion merges
May 16, 2026
2e6c203
DE-RTC: reject reorder merges
May 16, 2026
ade344e
DE-RTC: prove freeform boundary rejection
May 16, 2026
d4717e4
DE-RTC: prove roundtrip drift rejection
May 16, 2026
58c1dd7
DE-RTC: sync editor package asset
May 16, 2026
aa34b92
DE-RTC: sync structural conflict editor asset
May 16, 2026
95ce08a
DE-RTC: sync structural preview editor asset
May 16, 2026
5e42291
DE-RTC: sync structural choice editor asset
May 16, 2026
e8d6a7a
DE-RTC: sync structural choice proof editor asset
May 16, 2026
bf79a3f
DE-RTC: sync structural save preparation editor asset
May 16, 2026
26ed01e
Update Gutenberg editor asset version
May 16, 2026
59569a1
Prove multi-block retry-save server merge
May 16, 2026
effb330
Update synced Gutenberg editor asset hash
May 16, 2026
8a32ba7
Update synced Gutenberg editor asset hash
May 16, 2026
baf278f
Update synced Gutenberg editor asset hash
May 16, 2026
9e7335b
Update synced Gutenberg editor asset hash
May 16, 2026
a86e248
Update synced Gutenberg editor asset hash
May 16, 2026
34e3936
Update synced Gutenberg editor asset hash
May 16, 2026
a8a586b
Add DE-RTC retry-save prepend server merge
May 16, 2026
a575803
Update synced Gutenberg editor assets
May 16, 2026
546e1b5
Reject ambiguous DE-RTC edge insertion merges
May 16, 2026
18daf29
Merge one-sided DE-RTC deletion retries
May 16, 2026
29ed582
Add DE-RTC block identity validators
May 16, 2026
2825996
Validate DE-RTC block identity proof on retry save
May 17, 2026
173ea3f
Update synced editor asset version
May 17, 2026
6273414
Allow untouched-server block identity retry merge
May 17, 2026
fe665a6
Sync Gutenberg editor asset version
May 17, 2026
9238b28
Add Yjs PHP submodule for DE-RTC
May 28, 2026
64e30eb
Implement DE-RTC server merge and review contracts
May 28, 2026
015dff2
Cover DE-RTC recovery presence and retry-save paths
May 28, 2026
ada75a5
Sync Gutenberg editor asset version
May 28, 2026
90570d4
DE-RTC: queue review-required retry-save items
May 29, 2026
a3a197b
DE-RTC: store content-free selection presence
May 29, 2026
50bda3e
DE-RTC: checkpoint server review and presence work
May 30, 2026
fce2d74
Enable review-required partial-safe saves
Jun 1, 2026
5a5adac
Sync generated navigation block guards
Jun 1, 2026
4333dc9
DE-RTC: merge safe retained edits and table cells
Jun 2, 2026
0b77407
Replace DE-RTC Yjs backend with Automerge
Jun 2, 2026
f7558c9
DE-RTC: checkpoint Automerge retry-save work
Jun 4, 2026
4a41067
DE-RTC: merge disjoint paragraph text splices
Jun 4, 2026
7b745bb
DE-RTC: repair external Automerge post snapshots
Jun 5, 2026
42b47a1
DE-RTC: preserve authorship and safe author saves
Jun 6, 2026
ffbc304
Sync DE-RTC Gutenberg runtime assets
Jun 25, 2026
a5517c0
Sync DE-RTC dismissible notice runtime assets
Jun 25, 2026
fb1973c
Sync DE-RTC presence ring assets
Jun 26, 2026
ecd5abb
DE-RTC: distinguish visible and post-wide review counts
Jun 26, 2026
53fd811
DE-RTC: vendor PHP Automerge runtime
Jun 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 60 additions & 44 deletions src/wp-includes/assets/script-loader-packages.php

Large diffs are not rendered by default.

54 changes: 44 additions & 10 deletions src/wp-includes/assets/script-modules-packages.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
'import' => 'static'
)
),
'version' => '2af01b43d30739c3fb8d'
'version' => 'f77b871ece5a791f449e'
),
'block-library/file/view.js' => array(
'dependencies' => array(
Expand All @@ -46,7 +46,7 @@
'import' => 'static'
)
),
'version' => '7d4d261d10dca47ebecb'
'version' => 'a9114a756e418400594c'
),
'block-library/form/view.js' => array(
'dependencies' => array(
Expand Down Expand Up @@ -88,7 +88,7 @@
'import' => 'static'
)
),
'version' => '99f747d731f80246db11'
'version' => '1ecf748f10b95c76b349'
),
'block-library/query/view.js' => array(
'dependencies' => array(
Expand Down Expand Up @@ -166,7 +166,7 @@
'import' => 'static'
)
),
'version' => '42d3f09bba14cce3054d'
'version' => '5e02fdb03b9e05e7ba82'
),
'connectors/index.js' => array(
'dependencies' => array(
Expand All @@ -177,7 +177,41 @@
'wp-i18n',
'wp-private-apis'
),
'version' => '274797868955a828dfdc'
'version' => 'dce5e2b0fc240815717b'
),
'content-types/index.js' => array(
'dependencies' => array(
'react',
'react-dom',
'react-jsx-runtime',
'wp-components',
'wp-compose',
'wp-core-data',
'wp-data',
'wp-date',
'wp-deprecated',
'wp-element',
'wp-i18n',
'wp-is-shallow-equal',
'wp-keycodes',
'wp-notices',
'wp-primitives',
'wp-private-apis',
'wp-theme',
'wp-url',
'wp-warning'
),
'module_dependencies' => array(
array(
'id' => '@wordpress/a11y',
'import' => 'static'
),
array(
'id' => '@wordpress/route',
'import' => 'static'
)
),
'version' => '1705fe35ff04f22c2530'
),
'core-abilities/index.js' => array(
'dependencies' => array(
Expand Down Expand Up @@ -205,13 +239,13 @@
'import' => 'static'
)
),
'version' => 'e57f44d1a9f69e75d2d9'
'version' => '3e9b6e117adbaf70a10f'
),
'interactivity/index.js' => array(
'dependencies' => array(

),
'version' => '4d2a3a72c7410d548881'
'version' => 'efaa5193bbad9c60ffd1'
),
'interactivity-router/full-page.js' => array(
'dependencies' => array(
Expand Down Expand Up @@ -273,7 +307,7 @@
'wp-private-apis',
'wp-style-engine'
),
'version' => '30ab62f45bfe9f971ea0'
'version' => '8bd91519756b243fc835'
),
'route/index.js' => array(
'dependencies' => array(
Expand All @@ -282,7 +316,7 @@
'react-jsx-runtime',
'wp-private-apis'
),
'version' => 'c5843b6c5e84b352f43b'
'version' => '48a77bfa70722b4254e4'
),
'workflow/index.js' => array(
'dependencies' => array(
Expand All @@ -303,6 +337,6 @@
'import' => 'static'
)
),
'version' => '13556bc597bbf2a8d620'
'version' => 'c1055ffa9d3634a7dfe7'
)
);
32 changes: 32 additions & 0 deletions src/wp-includes/automerge-php/CONTRARIAN_UPSTREAM_TEST_AUDIT.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"library": "automerge",
"generatedAt": "2026-05-23T00:23:00Z",
"verdict": "corrected-runtime-denominator",
"reportedMappedUpstreamTests": 680,
"reportedTotalKnownUpstreamTests": 680,
"reportedRegisteredMappedUpstreamTests": 688,
"reportedRegisteredTotalUpstreamTests": 688,
"reportedOptionalMappedUpstreamTests": 8,
"reportedOptionalPendingMappedTests": 1,
"reportedOptionalIgnoredMappedTests": 7,
"reportedWordPressScenarios": "10/10",
"contrarianEstimatedUpstreamTests": 680,
"contrarianEstimatedRegisteredUpstreamTests": 688,
"upstreamCommit": "44cd91582bd3ed9af05ef1a7843bb1074ad11112",
"upstreamTestCommands": [
"cd upstream/automerge/javascript && npm test",
"cd upstream/automerge/rust && cargo test -p automerge"
],
"upstreamCommandResult": "Live audit rerun succeeded: JavaScript npm test reported 312 passing and 1 pending; Rust cargo test -p automerge reported 368 passing and 7 ignored. These match UPSTREAM_BENCHMARK.json and the raw artifacts under artifacts/upstream-benchmark/.",
"phpComposerTestResult": "Not rerun in this audit because composer test rewrites PORTING_STATUS.json timestamps. Current committed PORTING_STATUS.json at HEAD 6fc76de reports active=680/680, registeredMapped=688/688, optional=8/8, pending=1/1, ignored=7/7, and wp=10/10.",
"evidence": [
"UPSTREAM.md says the old 724 static audit estimate is superseded by runtime upstream counts.",
"UPSTREAM_BENCHMARK.json records countMethod runtime-runner-counts, activeTotal 680, registeredTotal 688, passed 680, failed 0, pending 1, ignored 7.",
"artifacts/upstream-benchmark/javascript-npm-test-current.txt and a live rerun both report 312 passing and 1 pending.",
"artifacts/upstream-benchmark/rust-cargo-test-current.txt and a live rerun both report Rust summaries totaling 368 passing and 7 ignored.",
"UPSTREAM_TEST_MANIFEST.json records 688 total entries, 680 active entries, 680 ported-passing active entries, 1 ported-pending-passing entry, 7 ported-ignored-passing entries, and 0 todo-unported entries.",
"The one pending JavaScript row is sync_test.ts:672 should sync three nodes; it is mapped by an optional PHP parity test.",
"The seven ignored Rust doctests are all storage parse/document doctest rows and are mapped by optional PHP parity tests."
],
"recommendedStatusCorrection": "No correction needed for HEAD 6fc76de. Keep totalKnownUpstreamTests 680 and registeredTotalUpstreamTests 688. The 724 static estimate is stale and should not be used unless a future upstream runtime run reports additional active or registered rows."
}
104 changes: 104 additions & 0 deletions src/wp-includes/automerge-php/CONTRARIAN_UPSTREAM_TEST_AUDIT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
# Contrarian Upstream Test Audit: Automerge

Generated: 2026-05-23T00:23:00Z

## Verdict

`corrected-runtime-denominator`: the old May 21 static estimate of 724 upstream
tests is superseded by current runtime upstream runner evidence.

Current Automerge PHP status is not relying on the old fallback denominator. It
reports:

- Active upstream parity: `680/680`
- Registered manifest parity: `688/688`
- Optional upstream-pending coverage: `1/1`
- Optional upstream-ignored coverage: `7/7`
- WordPress scenarios: `10/10`

I do not find missing rows against the current runtime-derived manifest. The
old 724 estimate should not be used as the active denominator.

## Upstream Checkout

- Upstream submodule: `upstream/automerge`
- Pinned commit: `44cd91582bd3ed9af05ef1a7843bb1074ad11112`
- JavaScript package: `upstream/automerge/javascript/package.json`
- Rust workspace: `upstream/automerge/rust/Cargo.toml`

## Runner Evidence

Canonical commands:

```bash
cd upstream/automerge/javascript && npm test
cd upstream/automerge/rust && cargo test -p automerge
```

The current runtime evidence is recorded in:

- `UPSTREAM_BENCHMARK.json`
- `UPSTREAM_BENCHMARK.md`
- `UPSTREAM_TEST_MANIFEST.json`
- `artifacts/upstream-benchmark/javascript-npm-test-current.txt`
- `artifacts/upstream-benchmark/rust-cargo-test-current.txt`

I reran both canonical test commands during this audit. Results matched the
stored benchmark evidence:

| Surface | Active Passing | Pending/Ignored | Registered | Result |
| --- | ---: | ---: | ---: | --- |
| JavaScript mocha suite | 312 | 1 pending | 313 | passed |
| Rust `automerge` crate | 368 | 7 ignored | 375 | passed |
| Combined runtime manifest | 680 | 8 | 688 | passed |

`UPSTREAM_TEST_MANIFEST.json` agrees with those counts:

- `activeTotal: 680`
- `registeredTotal: 688`
- `portedPassing: 680`
- `portedPendingPassing: 1`
- `portedIgnoredPassing: 7`
- `todoUnported: 0`

## What Changed Since The May 21 Audit

The May 21 audit used static grep-style counting because JavaScript and Rust
upstream runners were blocked in that environment. That estimate counted 724
entries. The current repo now has installed JS dependencies and a working Rust
toolchain, and `UPSTREAM.md` explicitly says the static estimate is superseded.

The current denominator is based on actual upstream runner output, not a static
scan. Runtime active tests are the correct progress denominator. Pending and
ignored upstream rows remain registered separately and are also mapped by
optional PHP parity tests.

## Optional Rows

The one JavaScript pending row is mapped:

- `upstream/automerge/javascript/test/sync_test.ts:672` `should sync three nodes`

The seven Rust ignored doctests are mapped:

- `storage::document::Document::parse`
- `storage::parse`
- `storage::parse` line 56
- `storage::parse` line 69
- `storage::parse::Input::split`
- `storage::parse::Split::remaining`
- `storage::parse::range_of`

## Recommendation

Keep the current status model:

- `totalKnownUpstreamTests: 680`
- `mappedUpstreamTests: 680`
- `registeredTotalUpstreamTests: 688`
- `registeredMappedUpstreamTests: 688`

Do not restore the stale 724 denominator unless a future upstream runner
execution reports additional active or registered rows. If that happens, the
manifest should identify the exact new upstream row IDs before changing the
coordinator progress report.
Loading