Skip to content

Commit 496127c

Browse files
feat: re-freeze at 4df7bc96 + canonical PASSING React frozen-adapter holdout receipt
T019 (run lrapr-t019): the React holdout's frozen-adapter clause closes. - Re-froze the adapter at recomputed composite 4df7bc96 (commit c695a58; only the React subtree moved 9b2af39->972ca801; Angular ca3824d and the three core subtrees byte-identical — no cross-lineage drift), with a freeze-history supersession record naming the authorized react-cra-process-global reopen (chain d9f75ef6 -> 5de7df56 -> 4df7bc96). - react-cra-process-global stays single-app/experimental (now 12 on the list). - Published the canonical passing witness-holdout receipt (evidence/runs/holdout-react-cypress-rwa/green-2026-08-13, digest 76f0b5bd, frozenAdapterFingerprint=4df7bc96) and verified it independently offline. - Regenerated the trust render artifacts offline; trust:verify --offline valid. - Board: T019 done; T020 owner-directed skeptical audit done — all seven claims independently re-verified from primary evidence (freeze math recomputed by hand, receipt/trust verifies re-run, parity JSON internal consistency, frozen-subtree genericity grep, additive-only test diffs, byte-identity of measured vs frozen adapter oid 972ca80); T018 (Angular holdout) activated with its freeze expectation repinned to composite 4df7bc96 + unchanged Angular oid ca3824d. Gate: tsc / vp lint / vp test --project node 2224/2224 / trust:verify --offline valid. Claude-Session: https://claude.ai/code/session_01HEVhWgWk9AXTiFMysQNB5r
1 parent 2319956 commit 496127c

12 files changed

Lines changed: 1191 additions & 227 deletions

File tree

Lines changed: 162 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,162 @@
1+
{
2+
"schemaVersion": "versionless.holdout-react-cypress-rwa-witness.v1",
3+
"role": "holdout",
4+
"holdoutOutcome": "passed",
5+
"kind": "witness-journey-under-frozen-adapter",
6+
"unit": "lrapr-t019/u1-refreeze-rerun-publish",
7+
"fixture": "react-cypress-rwa",
8+
"application": "cypress-realworld-app",
9+
"framework": "react",
10+
"supersedes": {
11+
"receipt": "evidence/runs/holdout-react-cypress-rwa/rerun-2026-08-12/receipt.json",
12+
"note": "Advances the T017 RED re-run by reference; the tranche-one and T017 FAIL records stay immutable and published."
13+
},
14+
"source": {
15+
"repository": "https://github.com/cypress-io/cypress-realworld-app",
16+
"ref": "refs/tags/v1.0.18",
17+
"revision": "f6b5cf3a1799998dab71181eeed59460f8ada5f4",
18+
"archiveSha256": "bd9319272dabc1e7263a0186e0aaae011f6219e6e106363d2c89426f9357b315",
19+
"frontendRoot": ".",
20+
"license": "MIT",
21+
"react": "17.0.2",
22+
"reactScripts": "4.0.3",
23+
"webpack": "4.44.2",
24+
"typescript": "4.3.4"
25+
},
26+
"runEvidence": [
27+
{
28+
"path": "evidence/runs/react-cypress-rwa/two-lane-parity.json",
29+
"sha256": "689952c7216b562bf3df52516683aa2e15aff3beb393a2c1654d03d967b50288"
30+
},
31+
{
32+
"path": "evidence/runs/react-cypress-rwa/green-2026-08-13/build-profile.json",
33+
"sha256": "f831eba3f19d1e401aa14f6c64dbfe93aa08fd1fa55a363d6c062d9cc79762f5"
34+
}
35+
],
36+
"frozenAdapter": {
37+
"composition": "createCraViteAdapter applied through fixtures/react-cypress-rwa/vite.config.ts, nothing holdout-specific in the config",
38+
"compositeFingerprint": "4df7bc961033fc5856b4d58e0bca9f11ad2aa9d43aaaee726956f34d209b37e7",
39+
"subtrees": [
40+
{
41+
"path": "packages/frameworks/react",
42+
"treeOid": "972ca80155bbc2a6eb3779943cd481b71d35e803"
43+
},
44+
{
45+
"path": "packages/frameworks/angular",
46+
"treeOid": "ca3824d0595d1fa88d37feda6b1785dfd79e72c4"
47+
},
48+
{
49+
"path": "packages/core/src/migrations",
50+
"treeOid": "5237ce5990af3623206bcd2301047a59c80731cf"
51+
},
52+
{
53+
"path": "packages/core/src/bundlers",
54+
"treeOid": "cec2f0b56fbb7897f38d579be805e19982380ca6"
55+
},
56+
{
57+
"path": "packages/core/src/analysis",
58+
"treeOid": "262dc8b7528c92883c2300914eb7d42579fb856b"
59+
}
60+
],
61+
"recomputedByThisUnit": true,
62+
"bytesChanged": 0,
63+
"changesProposedAndExecuted": 0,
64+
"reopenInThisUnit": false,
65+
"redBuildPatchedAround": false,
66+
"genericCapabilitiesOnly": true,
67+
"holdoutSpecificConfiguration": "none"
68+
},
69+
"migratedBuild": {
70+
"result": "green",
71+
"bundler": "rolldown 1.0.3 under vite 8.0.16",
72+
"attempts": 2,
73+
"deterministic": true,
74+
"modulesTransformed": 10182,
75+
"transformPhase": "complete",
76+
"emit": "complete",
77+
"outputFiles": 18,
78+
"outputDigest": "7051b8489abcaea1bd18ae99a082acf0c8d88596f1dfd82d6b4bac222e37dc18"
79+
},
80+
"journey": {
81+
"behaviorDigest": "963785426eb0c56e8d2f929b5462d35e9a7a8d123fa9d8d01a765c6cb35ebe26",
82+
"behaviorParity": true,
83+
"lanesAreDistinctBuilds": true,
84+
"passesPerLane": 2,
85+
"lanes": {
86+
"baseline": {
87+
"lane": "baseline",
88+
"legs": {
89+
"ok": 51,
90+
"total": 51
91+
},
92+
"semanticDigest": "5c3285f1c402920f358bed9cacedaac07d3ed4800251ed264f20a3f0030d49cf",
93+
"behaviorDigest": "963785426eb0c56e8d2f929b5462d35e9a7a8d123fa9d8d01a765c6cb35ebe26",
94+
"deterministic": true,
95+
"laneStaticFiles": 84,
96+
"laneStaticDigest": "57cea24966c61963914da814e8348c970f11468127228c070def6c6472980028"
97+
},
98+
"migrated": {
99+
"lane": "migrated",
100+
"legs": {
101+
"ok": 51,
102+
"total": 51
103+
},
104+
"semanticDigest": "54313316fef5eac37d098a207bd1f140805f68b126291e62a69f99a75981e6ed",
105+
"behaviorDigest": "963785426eb0c56e8d2f929b5462d35e9a7a8d123fa9d8d01a765c6cb35ebe26",
106+
"deterministic": true,
107+
"laneStaticFiles": 18,
108+
"laneStaticDigest": "13f71830eb0fc79b37c546c59f5437d3c3b381c7e87ed8ebd844f8d1f6a95897"
109+
}
110+
},
111+
"navigations": [
112+
"/signin",
113+
"/",
114+
"/user/settings",
115+
"/transaction/new",
116+
"/",
117+
"/personal",
118+
"/",
119+
"/contacts",
120+
"/personal",
121+
"/notifications"
122+
],
123+
"trackedEventCounts": {
124+
"click": 16,
125+
"input": 232,
126+
"change": 15,
127+
"keydown": 232,
128+
"mouseover": 27
129+
},
130+
"successfulNonLoopback": 0,
131+
"mockedNonLoopback": 17,
132+
"backendCategorySize": 11
133+
},
134+
"determinism": {
135+
"reseededFromSnapshotBeforeEachPass": true,
136+
"mintedValuesPlaceholdered": true,
137+
"passTwiceSemanticDigestStable": true
138+
},
139+
"locality": {
140+
"mode": "live-loopback-backend",
141+
"successfulNonLoopback": 0,
142+
"osWideIsolation": false
143+
},
144+
"counting": {
145+
"legsPerLane": 51,
146+
"lanesMeasured": 2,
147+
"passesPerLane": 2,
148+
"countedInLineageNumerator": false,
149+
"countingNote": "This holdout passed, and it is still counted in no lineage numerator: a passing holdout shows the frozen adapter carrying one further application, not a migrated-application product count. It is published rather than folded into any numerator."
150+
},
151+
"nonclaims": [
152+
"This is a holdout, not a certification: it shows the frozen adapter carrying one further application end to end, not generic support.",
153+
"It is counted in no lineage numerator. A holdout that passes is still evidence about the adapter, not a migrated-application count.",
154+
"Build-level byte parity across the two lanes is not claimed: the two production bundles are genuinely distinct builds, which is exactly what makes the behaviour parity non-trivial. The only per-lane fact is each lane’s own bundle byte identity, kept out of the shared behaviour digest by construction.",
155+
"Nothing is claimed about the four external auth provider modes; only the local passport-local mode is exercisable offline and only it was exercised.",
156+
"The live loopback backend is the application’s own Express-over-lowdb server, re-seeded from its frozen snapshot before every pass and held out of the byte inventory; the frontend SPA dist is byte-identical before and after each pass."
157+
],
158+
"integrity": {
159+
"algorithm": "sha256",
160+
"canonicalDigest": "76f0b5bd0d8a3fa0596d3c5d190c764ee7402f4e5c27870d36bdb3fa5f04a73e"
161+
}
162+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# cypress-realworld-app — holdout PASS receipt (re-run under the frozen adapter)
2+
3+
- Outcome: **passed** — the frozen adapter carries this application at this revision, end to end
4+
- Kind: witness-journey-under-frozen-adapter
5+
- Canonical SHA-256: 76f0b5bd0d8a3fa0596d3c5d190c764ee7402f4e5c27870d36bdb3fa5f04a73e
6+
- Unit: `lrapr-t019/u1-refreeze-rerun-publish`
7+
- Advances by reference: `evidence/runs/holdout-react-cypress-rwa/rerun-2026-08-12/receipt.json` — Advances the T017 RED re-run by reference; the tranche-one and T017 FAIL records stay immutable and published.
8+
- Source: https://github.com/cypress-io/cypress-realworld-app at `refs/tags/v1.0.18` (`f6b5cf3a1799998dab71181eeed59460f8ada5f4`, MIT), create-react-app 4.0.3 over webpack 4.44.2, React 17.0.2, TypeScript 4.3.4
9+
- Frozen adapter fingerprint: `4df7bc961033fc5856b4d58e0bca9f11ad2aa9d43aaaee726956f34d209b37e7` over 5 subtrees, recomputed by this unit; adapter bytes changed: 0; reopened in this unit: false
10+
- Derived from committed run evidence: `evidence/runs/react-cypress-rwa/two-lane-parity.json` (`689952c7216b562bf3df52516683aa2e15aff3beb393a2c1654d03d967b50288`), `evidence/runs/react-cypress-rwa/green-2026-08-13/build-profile.json` (`f831eba3f19d1e401aa14f6c64dbfe93aa08fd1fa55a363d6c062d9cc79762f5`)
11+
12+
## The migrated build under the frozen adapter
13+
14+
createCraViteAdapter applied through fixtures/react-cypress-rwa/vite.config.ts, nothing holdout-specific in the config — **green**, rolldown 1.0.3 under vite 8.0.16, 2 attempts, deterministic: true. 10182 modules transformed (transform complete, emit complete), 18 output files, output digest `7051b8489abcaea1bd18ae99a082acf0c8d88596f1dfd82d6b4bac222e37dc18`.
15+
16+
## The measured journey — two lanes, twice each, live loopback backend
17+
18+
- Behaviour digest (shared across both lanes and both passes): `963785426eb0c56e8d2f929b5462d35e9a7a8d123fa9d8d01a765c6cb35ebe26` — two-lane behaviour parity: true, over genuinely distinct builds: true
19+
- Baseline lane: 51/51 legs, semantic digest `5c3285f1c402920f358bed9cacedaac07d3ed4800251ed264f20a3f0030d49cf` (deterministic across 2 passes), 84 SPA files, bundle digest `57cea24966c61963914da814e8348c970f11468127228c070def6c6472980028`
20+
- Migrated lane: 51/51 legs, semantic digest `54313316fef5eac37d098a207bd1f140805f68b126291e62a69f99a75981e6ed` (deterministic across 2 passes), 18 SPA files, bundle digest `13f71830eb0fc79b37c546c59f5437d3c3b381c7e87ed8ebd844f8d1f6a95897`
21+
- Recorded navigations: `/signin``/``/user/settings``/transaction/new``/``/personal``/``/contacts``/personal``/notifications`
22+
- Locality: successful non-loopback requests: 0; mocked non-loopback (in-context avatar SVGs): 17; live-backend category endpoints: 11
23+
24+
## Determinism and locality
25+
26+
- Re-seeded from the frozen snapshot before every pass: true; minted values placeholdered: true; pass-twice semantic digest stable: true
27+
- Locality mode: live-loopback-backend; successful non-loopback: 0; OS-wide isolation: false
28+
29+
## Counting and non-claims
30+
31+
Legs per lane: 51; lanes measured: 2; passes per lane: 2; counted in lineage numerator: false. This holdout passed, and it is still counted in no lineage numerator: a passing holdout shows the frozen adapter carrying one further application, not a migrated-application product count. It is published rather than folded into any numerator.
32+
33+
- This is a holdout, not a certification: it shows the frozen adapter carrying one further application end to end, not generic support.
34+
- It is counted in no lineage numerator. A holdout that passes is still evidence about the adapter, not a migrated-application count.
35+
- Build-level byte parity across the two lanes is not claimed: the two production bundles are genuinely distinct builds, which is exactly what makes the behaviour parity non-trivial. The only per-lane fact is each lane’s own bundle byte identity, kept out of the shared behaviour digest by construction.
36+
- Nothing is claimed about the four external auth provider modes; only the local passport-local mode is exercisable offline and only it was exercised.
37+
- The live loopback backend is the application’s own Express-over-lowdb server, re-seeded from its frozen snapshot before every pass and held out of the byte inventory; the frontend SPA dist is byte-identical before and after each pass.

evidence/trust/current/adapter-freeze.json

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
{
22
"schemaVersion": "versionless.trust.v1",
33
"freeze": {
4-
"commit": "cce34175340273919c0b70341dfada5533f0307c",
4+
"commit": "c695a586d5e58f5abda9f3684f60cc803b1ebf22",
55
"algorithm": "sha256",
6-
"composite": "5de7df565fb8e445a45f9f8f43eac27b80b71189d59e4df243e93471406a260c",
6+
"composite": "4df7bc961033fc5856b4d58e0bca9f11ad2aa9d43aaaee726956f34d209b37e7",
77
"preimage": "newline-terminated `<path> <tree-oid>` lines in the listed subtree order",
88
"subtrees": [
99
{
1010
"path": "packages/frameworks/react",
11-
"treeOid": "9b2af393179749a4093f46e587e7f4fd9ce09b47"
11+
"treeOid": "972ca80155bbc2a6eb3779943cd481b71d35e803"
1212
},
1313
{
1414
"path": "packages/frameworks/angular",
@@ -30,10 +30,10 @@
3030
"state": "frozen",
3131
"claim": "The migration engine adapter surface is byte-stable at this commit.",
3232
"supersedes": {
33-
"composite": "d9f75ef677cb850f664cc188abf77b8ebfd24e84cb58d147b74e9bbaa143eb77",
34-
"commit": "57b308a573dd582c844ce401fb1161cd70e9bc66",
33+
"composite": "5de7df565fb8e445a45f9f8f43eac27b80b71189d59e4df243e93471406a260c",
34+
"commit": "cce34175340273919c0b70341dfada5533f0307c",
3535
"state": "superseded",
36-
"reopenReason": "T999 audit: the tranche-one d9f75ef6 freeze was falsified for cypress-realworld-app holdout carriage (missing non-UTF-8 module source decoding). The adapter surface was reopened behind a new Judge freeze boundary and re-frozen at composite 5de7df56 once the follow-on tranche landed."
36+
"reopenReason": "Authorized react-cra-process-global capability reopen for cypress-realworld-app holdout carriage (owner-directed 2026-08-13): under the 5de7df56 freeze the migrated Vite bundle threw `process is not defined`, so a generic analyzer-driven process/browser-parity shim was added to packages/frameworks/react and the adapter was re-frozen at composite 4df7bc96. Only the React subtree moved; Angular, migrations, bundlers, and analysis stayed byte-identical. 5de7df56 had itself superseded the tranche-one d9f75ef6 freeze (commit 57b308a)."
3737
}
3838
},
3939
"holdoutPublishing": {
@@ -67,6 +67,10 @@
6767
"lineage": "react",
6868
"capability": "composed-migration"
6969
},
70+
{
71+
"lineage": "react",
72+
"capability": "react-cra-process-global"
73+
},
7074
{
7175
"lineage": "angular",
7276
"capability": "custom-webpack-absorption"

evidence/trust/current/manifest.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
{
22
"schemaVersion": "versionless.trust.v1",
3-
"canonicalDigest": "45955055e02583b02af713388a34438fa8c8ca579aee9e1e3339fcdfda59908a",
3+
"canonicalDigest": "85539a164179e91f24e573137d5e8240c7c845f969163faee82d393654d591fe",
44
"integrity": {
55
"algorithm": "sha256",
66
"authenticity": "not-established",
77
"certification": "not-claimed"
88
},
99
"deterministicCore": {
1010
"algorithm": "sha256",
11-
"digest": "8ab35ddbb13e9c2cdcf7f6d40c80a1eeafe73f74099d6f430ebbac5dc445c221",
11+
"digest": "0de7e22856debb11a8766f77818d0a9518eeeb6e024a5989c394196afe647ff1",
1212
"artifacts": [
1313
{
1414
"path": "adapter-freeze.json",
15-
"sha256": "b493b777cdc12908442038d181fa82a0982380d8d18556b337c49aeaf804c634"
15+
"sha256": "b7dc84b440e99acb47193db212a19e18d1742864a0f01f3b4c4ed88348db5ff6"
1616
},
1717
{
1818
"path": "dependency-graph.cdx.json",
@@ -24,7 +24,7 @@
2424
},
2525
{
2626
"path": "vulnerabilities.json",
27-
"sha256": "41df8f77d3406dd7942e9453233a63fbacac86a97eb8c48ddbfe1ab98114d007"
27+
"sha256": "6a9ec422e9ada79e49d0d2c557fa876140891b3b8abd4bb5d30de06991dadad6"
2828
},
2929
{
3030
"path": "provenance.json",
@@ -56,7 +56,7 @@
5656
},
5757
{
5858
"path": "capability-coverage.json",
59-
"sha256": "05c003b0335b1ccf55e7f40eb086f7e0f2d1efc125607adf687e82b464c3e998"
59+
"sha256": "1db745dcb3b32d3d8640577c3c3a83d6c3d29fbe7ea6ec802a0c00b1e7fd30d8"
6060
}
6161
]
6262
},
@@ -225,8 +225,8 @@
225225
}
226226
],
227227
"observation": {
228-
"generatedAt": "2026-08-12T21:28:24.448Z",
229-
"vulnerabilityFreshness": "verified"
228+
"generatedAt": "2026-08-14T00:36:08.453Z",
229+
"vulnerabilityFreshness": "stale"
230230
},
231231
"derivedReport": "report.md"
232232
}

0 commit comments

Comments
 (0)