Skip to content

Commit 21da600

Browse files
Merge pull request #65 from engineeredsoftware/version/v32
V32 Canonical Promotion: Provation And Testing Closure
2 parents 6f99172 + ca8ac8b commit 21da600

83 files changed

Lines changed: 18710 additions & 142 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
{
2+
"acceptedVolatileFields": [
3+
{
4+
"artifactPath": ".bitcode/v32-proof-coverage-matrix.json",
5+
"classification": "context-bound",
6+
"fieldPath": "generatedAt",
7+
"normalizedValue": "2026-05-22T00:00:00.000Z",
8+
"reason": "V32 generated artifacts use a fixed replay context timestamp so byte equality remains meaningful."
9+
},
10+
{
11+
"artifactPath": ".bitcode/v32-artifact-volatility-inventory.json",
12+
"classification": "context-bound",
13+
"fieldPath": "generatedAt",
14+
"normalizedValue": "2026-05-22T00:00:00.000Z",
15+
"reason": "V32 generated artifacts use a fixed replay context timestamp so byte equality remains meaningful."
16+
},
17+
{
18+
"artifactPath": ".bitcode/v32-deterministic-replay-report.json",
19+
"classification": "context-bound",
20+
"fieldPath": "generatedAt",
21+
"normalizedValue": "2026-05-22T00:00:00.000Z",
22+
"reason": "V32 generated artifacts use a fixed replay context timestamp so byte equality remains meaningful."
23+
}
24+
],
25+
"artifactId": "v32-artifact-volatility-inventory",
26+
"blockingFindings": [],
27+
"classificationCounts": {
28+
"canonical-stable": 1,
29+
"context-bound": 4
30+
},
31+
"command": "pnpm run generate:v32-deterministic-replay-artifacts",
32+
"currentTarget": "V31",
33+
"findingCount": 5,
34+
"findings": [
35+
{
36+
"artifactPath": ".bitcode/v32-proof-coverage-matrix.json",
37+
"classification": "canonical-stable",
38+
"fieldPath": "$",
39+
"reason": "artifact bytes match stable sorted JSON serialization",
40+
"value": "stable-json-order"
41+
},
42+
{
43+
"artifactPath": ".bitcode/v32-proof-coverage-matrix.json",
44+
"classification": "context-bound",
45+
"fieldPath": "generatedAt",
46+
"reason": "generatedAt is fixed by V32 replay context",
47+
"value": "2026-05-22T00:00:00.000Z"
48+
},
49+
{
50+
"artifactPath": ".bitcode/v32-proof-coverage-matrix.json",
51+
"classification": "context-bound",
52+
"fieldPath": "generatedAt",
53+
"reason": "V32 generated artifacts use a fixed replay context timestamp so byte equality remains meaningful.",
54+
"value": "2026-05-22T00:00:00.000Z"
55+
},
56+
{
57+
"artifactPath": ".bitcode/v32-artifact-volatility-inventory.json",
58+
"classification": "context-bound",
59+
"fieldPath": "generatedAt",
60+
"reason": "V32 generated artifacts use a fixed replay context timestamp so byte equality remains meaningful.",
61+
"value": "2026-05-22T00:00:00.000Z"
62+
},
63+
{
64+
"artifactPath": ".bitcode/v32-deterministic-replay-report.json",
65+
"classification": "context-bound",
66+
"fieldPath": "generatedAt",
67+
"reason": "V32 generated artifacts use a fixed replay context timestamp so byte equality remains meaningful.",
68+
"value": "2026-05-22T00:00:00.000Z"
69+
}
70+
],
71+
"generatedArtifactPaths": [
72+
".bitcode/v32-proof-coverage-matrix.json",
73+
".bitcode/v32-artifact-volatility-inventory.json",
74+
".bitcode/v32-deterministic-replay-report.json"
75+
],
76+
"generatedAt": "2026-05-22T00:00:00.000Z",
77+
"passed": true,
78+
"scannedArtifactPaths": [
79+
".bitcode/v32-proof-coverage-matrix.json"
80+
],
81+
"schemaId": "bitcode.v32.artifactVolatilityInventory.v1",
82+
"sourceCommit": "draft-gate-3-source-derived",
83+
"sourceSafetyVerdict": "source-safe",
84+
"version": "V32"
85+
}
Lines changed: 227 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,227 @@
1+
{
2+
"accessibilityAssertions": [
3+
"keyboard-path",
4+
"landmark-labels",
5+
"focus-state",
6+
"status-announcements",
7+
"contrast-sensitive-tokens",
8+
"reduced-motion",
9+
"overflow-wrapping",
10+
"deterministic-visual-semantics"
11+
],
12+
"artifactId": "v32-browser-accessibility-responsive-visual-proof",
13+
"closureCommand": "pnpm run check:v32-gate7",
14+
"currentTarget": "V31",
15+
"generatedAt": "2026-05-22T00:00:00.000Z",
16+
"passed": true,
17+
"proofCoverage": {
18+
"assertionCount": 8,
19+
"credentialsSerialized": false,
20+
"protectedSourceVisible": false,
21+
"screenshotOnlyApproval": false,
22+
"stateCount": 6,
23+
"surfaceCount": 2,
24+
"viewportCount": 4
25+
},
26+
"schemaId": "bitcode.v32.browserAccessibilityResponsiveVisualProof.v1",
27+
"sourceEvidence": [
28+
{
29+
"digest": "sha256:dda0b55a3606881a20dcccdd8a50bb9df5cac555bc8d315e87366ae15b5d52ad",
30+
"relativePath": "uapi/app/bitcode-browser-accessibility-responsive-proof.ts",
31+
"requiredTokens": [
32+
{
33+
"present": true,
34+
"token": "BITCODE_BROWSER_ACCESSIBILITY_RESPONSIVE_PROOF_CONTRACT"
35+
},
36+
{
37+
"present": true,
38+
"token": "keyboard-path"
39+
},
40+
{
41+
"present": true,
42+
"token": "deterministic-visual-semantics"
43+
},
44+
{
45+
"present": true,
46+
"token": "no-screenshot-only-approval"
47+
}
48+
]
49+
},
50+
{
51+
"digest": "sha256:2ac388fcffdf1820b6a9287177803ec8658e660807e7002e5390c0fc2e70c4b6",
52+
"relativePath": "uapi/app/terminal/terminal-ux-browser-proof.ts",
53+
"requiredTokens": [
54+
{
55+
"present": true,
56+
"token": "TERMINAL_UX_BROWSER_PROOF_VIEWPORTS"
57+
},
58+
{
59+
"present": true,
60+
"token": "source-safe-preview"
61+
}
62+
]
63+
},
64+
{
65+
"digest": "sha256:500a9207ca162344075f6ad36e886aab2fbcf096784df0afe15ebaacbf93abeb",
66+
"relativePath": "uapi/app/auxillaries/auxillaries-ux-accessibility-proof.ts",
67+
"requiredTokens": [
68+
{
69+
"present": true,
70+
"token": "AUXILLARIES_UX_ACCESSIBILITY_PROOF_CONTRACT"
71+
},
72+
{
73+
"present": true,
74+
"token": "audit-expanded"
75+
}
76+
]
77+
},
78+
{
79+
"digest": "sha256:ec43bad3392a266b90a4d5c944ff7e2c34b2b94d1fa31c90397f73479418e1c8",
80+
"relativePath": "uapi/styles/auxillaries-bitcode.css",
81+
"requiredTokens": [
82+
{
83+
"present": true,
84+
"token": "focus-visible"
85+
},
86+
{
87+
"present": true,
88+
"token": "overflow-wrap: anywhere"
89+
},
90+
{
91+
"present": true,
92+
"token": "@media (prefers-reduced-motion: reduce)"
93+
}
94+
]
95+
}
96+
],
97+
"sourceSafetyVerdict": "source-safe-browser-visual-proof-metadata",
98+
"surfaces": [
99+
{
100+
"evidenceFiles": [
101+
"uapi/app/terminal/terminal-ux-browser-proof.ts",
102+
"uapi/tests/terminalUxBrowserProof.test.tsx",
103+
"uapi/tests/e2e/commercial-mvp.terminal-ux.spec.ts",
104+
"uapi/tests/e2e/bitcode-browser-accessibility-responsive-proof.spec.ts"
105+
],
106+
"states": [
107+
"default",
108+
"guided",
109+
"detail"
110+
],
111+
"surfaceId": "terminal"
112+
},
113+
{
114+
"evidenceFiles": [
115+
"uapi/app/auxillaries/auxillaries-ux-accessibility-proof.ts",
116+
"uapi/tests/auxillariesContent.access.test.tsx",
117+
"uapi/tests/e2e/commercial-mvp.auxillaries.spec.ts",
118+
"uapi/tests/e2e/bitcode-browser-accessibility-responsive-proof.spec.ts"
119+
],
120+
"states": [
121+
"default",
122+
"guided",
123+
"detail"
124+
],
125+
"surfaceId": "auxillaries"
126+
}
127+
],
128+
"testEvidence": [
129+
{
130+
"digest": "sha256:0ffbc02bb322af8c85a7987bc1b1c042b4c65bb2db190d018ce9993c585467c0",
131+
"relativePath": "uapi/tests/bitcodeBrowserAccessibilityResponsiveProof.test.ts",
132+
"requiredTokens": [
133+
{
134+
"present": true,
135+
"token": "covers Terminal and Auxillaries default, guided, and detail states"
136+
},
137+
{
138+
"present": true,
139+
"token": "requires keyboard, labels, focus, status, contrast, motion, overflow"
140+
},
141+
{
142+
"present": true,
143+
"token": "no-screenshot-only-approval"
144+
}
145+
]
146+
},
147+
{
148+
"digest": "sha256:a116018ac26cd4ea169a1d0556e90a3ae4a12b9a47501444c702af09af77b5d4",
149+
"relativePath": "uapi/tests/e2e/bitcode-browser-accessibility-responsive-proof.spec.ts",
150+
"requiredTokens": [
151+
{
152+
"present": true,
153+
"token": "Terminal default, guided, and detail states stay semantic and responsive"
154+
},
155+
{
156+
"present": true,
157+
"token": "Auxillaries default, guided, and detail states stay semantic and responsive"
158+
},
159+
{
160+
"present": true,
161+
"token": "expectNoHorizontalOverflow"
162+
},
163+
{
164+
"present": true,
165+
"token": "reducedMotion: 'reduce'"
166+
}
167+
]
168+
},
169+
{
170+
"digest": "sha256:8b255a33c5d08e3e4f9992e778a13c3561592d02e54027aebc6494cc8188c862",
171+
"relativePath": "uapi/tests/terminalUxBrowserProof.test.tsx",
172+
"requiredTokens": [
173+
{
174+
"present": true,
175+
"token": "renders Terminal workspace loading, failed, and empty states with explicit semantics"
176+
},
177+
{
178+
"present": true,
179+
"token": "marks selected detail sections as route-owned controls"
180+
}
181+
]
182+
},
183+
{
184+
"digest": "sha256:054f5a7d883d14b15b5125ba0e1a193561a41a86afc3d5a2519736afa0a3ce11",
185+
"relativePath": "uapi/tests/auxillariesContent.access.test.tsx",
186+
"requiredTokens": [
187+
{
188+
"present": true,
189+
"token": "named landmarks, skip navigation, active-pane announcements"
190+
},
191+
{
192+
"present": true,
193+
"token": "expandable audit detail"
194+
}
195+
]
196+
}
197+
],
198+
"version": "V32",
199+
"viewports": [
200+
{
201+
"height": 844,
202+
"id": "phone",
203+
"width": 390
204+
},
205+
{
206+
"height": 1024,
207+
"id": "tablet",
208+
"width": 768
209+
},
210+
{
211+
"height": 900,
212+
"id": "laptop",
213+
"width": 1280
214+
},
215+
{
216+
"height": 1080,
217+
"id": "widescreen",
218+
"width": 1920
219+
}
220+
],
221+
"visualProofStrategy": [
222+
"semantic-layout-metrics",
223+
"stable-route-state-contracts",
224+
"stateful-accessibility-roles",
225+
"no-screenshot-only-approval"
226+
]
227+
}
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
{
2+
"reportId": "v32-canon-posture-drift-report",
3+
"version": "V32",
4+
"checkedActiveCanonVersion": "V32",
5+
"checkedDraftTargetVersion": "V33",
6+
"pointerVersion": "V32",
7+
"proofSourceCommit": "b2e5cb5a8c56d2cbb1df8e39ebacb95a966ecf08",
8+
"generatedAt": "2026-05-22T10:25:55-03:00",
9+
"generatorId": "bitcode.proven-generator.v1",
10+
"worktreeState": "clean",
11+
"passed": true,
12+
"checkCount": 10,
13+
"blockingFailureCount": 0,
14+
"blockingFailures": [],
15+
"runtimeSpecVersion": "Bitcode Spec V32 active canon / V33 system draft",
16+
"publicSpecVersion": "Bitcode Spec V32 active canon / V33 system draft",
17+
"activeProvenAppendixPath": "BITCODE_SPEC_V32_PROVEN.md",
18+
"policyRef": "policy://bitcode/spec-v32-active-v33-system-draft/current",
19+
"checkedFiles": [
20+
"protocol-demonstration/README.md",
21+
"protocol-demonstration/public/index.html",
22+
"protocol-demonstration/public/app.js",
23+
"protocol-demonstration/server.js"
24+
],
25+
"checks": [
26+
{
27+
"checkId": "pointer-active-canon-alignment",
28+
"passed": true,
29+
"detail": "BITCODE_SPEC.txt points to V32 while runtime expects V32."
30+
},
31+
{
32+
"checkId": "canon-posture-constant-alignment",
33+
"passed": true,
34+
"detail": "canon-posture constants resolve V32/V33 with operator label V32 active canon / V33 system draft."
35+
},
36+
{
37+
"checkId": "proven-appendix-alignment",
38+
"passed": true,
39+
"detail": "active generated appendix path is BITCODE_SPEC_V32_PROVEN.md."
40+
},
41+
{
42+
"checkId": "policy-ref-alignment",
43+
"passed": true,
44+
"detail": "policy reference is policy://bitcode/spec-v32-active-v33-system-draft/current."
45+
},
46+
{
47+
"checkId": "runtime-state-alignment",
48+
"passed": true,
49+
"detail": "buildInitialState() reports Bitcode Spec V32 active canon / V33 system draft with canon posture V32/V33."
50+
},
51+
{
52+
"checkId": "public-state-alignment",
53+
"passed": true,
54+
"detail": "publicState() reports Bitcode Spec V32 active canon / V33 system draft with canon posture V32/V33."
55+
},
56+
{
57+
"checkId": "server-api-alignment",
58+
"passed": true,
59+
"detail": "server.js keeps API posture sourced from SPEC_VERSION and buildPublicState(...)."
60+
},
61+
{
62+
"checkId": "browser-shell-placeholder-alignment",
63+
"passed": true,
64+
"detail": "public/index.html exposes canon-posture placeholders and no stale hardcoded hero posture."
65+
},
66+
{
67+
"checkId": "browser-shell-render-alignment",
68+
"passed": true,
69+
"detail": "public/app.js renders canon posture from runtime state and omits stale V15 explainer keys."
70+
},
71+
{
72+
"checkId": "readme-alignment",
73+
"passed": true,
74+
"detail": "README states V32 active canon and BITCODE_SPEC_V32_PROVEN.md as the current generated appendix."
75+
}
76+
]
77+
}

0 commit comments

Comments
 (0)