@beyondwork/docx-react-component 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (690) hide show
  1. package/.codex/config.toml +5 -0
  2. package/.corepack/v1/pnpm/10.30.3/.corepack +1 -0
  3. package/.corepack/v1/pnpm/10.30.3/LICENSE +22 -0
  4. package/.corepack/v1/pnpm/10.30.3/README.md +240 -0
  5. package/.corepack/v1/pnpm/10.30.3/dist/node-gyp-bin/node-gyp +6 -0
  6. package/.corepack/v1/pnpm/10.30.3/dist/node-gyp-bin/node-gyp.cmd +5 -0
  7. package/.corepack/v1/pnpm/10.30.3/dist/pnpm.cjs +195400 -0
  8. package/.corepack/v1/pnpm/10.30.3/dist/pnpmrc +2 -0
  9. package/.corepack/v1/pnpm/10.30.3/dist/reflink.darwin-arm64-2HJ4WGO6.node +0 -0
  10. package/.corepack/v1/pnpm/10.30.3/dist/reflink.darwin-x64-3G3H6IW4.node +0 -0
  11. package/.corepack/v1/pnpm/10.30.3/dist/reflink.win32-arm64-msvc-Q6BARPPB.node +0 -0
  12. package/.corepack/v1/pnpm/10.30.3/dist/reflink.win32-x64-msvc-J2TZHRQI.node +0 -0
  13. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.bash +31 -0
  14. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.fish +22 -0
  15. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.ps1 +193 -0
  16. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.zsh +27 -0
  17. package/.corepack/v1/pnpm/10.30.3/dist/vendor/fastlist-0.3.0-x64.exe +0 -0
  18. package/.corepack/v1/pnpm/10.30.3/dist/vendor/fastlist-0.3.0-x86.exe +0 -0
  19. package/.corepack/v1/pnpm/10.30.3/dist/worker.js +10119 -0
  20. package/.corepack/v1/pnpm/10.30.3/package.json +192 -0
  21. package/.cursor/mcp.json +7 -0
  22. package/.github/workflows/ci.yml +35 -0
  23. package/.mcp.json +7 -0
  24. package/.openclaw/workspace-state.json +4 -0
  25. package/.pnpmrc.json +1 -0
  26. package/.wave-launch.sh +7 -0
  27. package/.workspace-marker +1 -0
  28. package/AGENTS.md +78 -0
  29. package/CHANGELOG.md +177 -0
  30. package/DESIGN.md +929 -0
  31. package/HEARTBEAT.md +7 -0
  32. package/IDENTITY.md +23 -0
  33. package/LICENSE.md +31 -0
  34. package/README.md +180 -0
  35. package/SOUL.md +36 -0
  36. package/TOOLS.md +40 -0
  37. package/USER.md +17 -0
  38. package/docs/README.md +107 -0
  39. package/docs/agents/wave-cont-eval-role.md +36 -0
  40. package/docs/agents/wave-cont-qa-role.md +52 -0
  41. package/docs/agents/wave-deploy-verifier-role.md +34 -0
  42. package/docs/agents/wave-design-role.md +47 -0
  43. package/docs/agents/wave-documentation-role.md +34 -0
  44. package/docs/agents/wave-infra-role.md +34 -0
  45. package/docs/agents/wave-integration-role.md +37 -0
  46. package/docs/agents/wave-launcher-role.md +41 -0
  47. package/docs/agents/wave-orchestrator-role.md +52 -0
  48. package/docs/agents/wave-planner-role.md +39 -0
  49. package/docs/agents/wave-security-role.md +40 -0
  50. package/docs/architecture/docx/README.md +10 -0
  51. package/docs/architecture/future/README.md +8 -0
  52. package/docs/architecture/ooxml-upgrade-analysis.md +134 -0
  53. package/docs/architecture/platform/shared-openxml-editor-platform.md +153 -0
  54. package/docs/architecture/xlsx/canonical-workbook-model-and-commands.md +187 -0
  55. package/docs/architecture/xlsx/spreadsheet-editor-frontend-architecture.md +150 -0
  56. package/docs/comment-redline-overview.md +350 -0
  57. package/docs/concepts/context7-vs-skills.md +118 -0
  58. package/docs/concepts/operating-modes.md +91 -0
  59. package/docs/concepts/runtime-agnostic-orchestration.md +111 -0
  60. package/docs/concepts/what-is-a-wave.md +217 -0
  61. package/docs/context7/bundles.json +222 -0
  62. package/docs/context7/planner-agent/README.md +28 -0
  63. package/docs/context7/planner-agent/manifest.json +83 -0
  64. package/docs/context7/planner-agent/papers/cooperbench-why-coding-agents-cannot-be-your-teammates-yet.md +3283 -0
  65. package/docs/context7/planner-agent/papers/dova-deliberation-first-multi-agent-orchestration-for-autonomous-research-automation.md +1699 -0
  66. package/docs/context7/planner-agent/papers/dpbench-large-language-models-struggle-with-simultaneous-coordination.md +2251 -0
  67. package/docs/context7/planner-agent/papers/incremental-planning-to-control-a-blackboard-based-problem-solver.md +1729 -0
  68. package/docs/context7/planner-agent/papers/silo-bench-a-scalable-environment-for-evaluating-distributed-coordination-in-multi-agent-llm-systems.md +3747 -0
  69. package/docs/context7/planner-agent/papers/todoevolve-learning-to-architect-agent-planning-systems.md +1675 -0
  70. package/docs/context7/planner-agent/papers/verified-multi-agent-orchestration-a-plan-execute-verify-replan-framework-for-complex-query-resolution.md +1173 -0
  71. package/docs/context7/planner-agent/papers/why-do-multi-agent-llm-systems-fail.md +5211 -0
  72. package/docs/context7/planner-agent/topics/planning-and-orchestration.md +24 -0
  73. package/docs/evals/arm-templates/README.md +13 -0
  74. package/docs/evals/arm-templates/full-wave.json +15 -0
  75. package/docs/evals/arm-templates/single-agent.json +15 -0
  76. package/docs/evals/benchmark-catalog.json +670 -0
  77. package/docs/evals/cases/README.md +47 -0
  78. package/docs/evals/cases/wave-blackboard-inbox-targeting.json +73 -0
  79. package/docs/evals/cases/wave-contradiction-conflict.json +104 -0
  80. package/docs/evals/cases/wave-expert-routing-preservation.json +69 -0
  81. package/docs/evals/cases/wave-hidden-profile-private-evidence.json +81 -0
  82. package/docs/evals/cases/wave-premature-closure-guard.json +71 -0
  83. package/docs/evals/cases/wave-silo-cross-agent-state.json +77 -0
  84. package/docs/evals/cases/wave-simultaneous-lockstep.json +92 -0
  85. package/docs/evals/external-benchmarks.json +85 -0
  86. package/docs/evals/external-command-config.sample.json +9 -0
  87. package/docs/evals/external-command-config.swe-bench-pro.json +8 -0
  88. package/docs/evals/pilots/README.md +47 -0
  89. package/docs/evals/pilots/swe-bench-pro-public-full-wave-review-10.json +64 -0
  90. package/docs/evals/pilots/swe-bench-pro-public-pilot.json +111 -0
  91. package/docs/evals/wave-benchmark-program.md +302 -0
  92. package/docs/guides/planner.md +220 -0
  93. package/docs/guides/recommendations-0.8.9.md +133 -0
  94. package/docs/guides/signal-wrappers.md +165 -0
  95. package/docs/guides/terminal-surfaces.md +96 -0
  96. package/docs/image copy.png +0 -0
  97. package/docs/image.png +0 -0
  98. package/docs/images/image.png +0 -0
  99. package/docs/legal-feedback-architecture.md +498 -0
  100. package/docs/plans/component-cutover-matrix.json +1072 -0
  101. package/docs/plans/component-cutover-matrix.md +307 -0
  102. package/docs/plans/context7-wave-orchestrator.md +155 -0
  103. package/docs/plans/current-state.md +198 -0
  104. package/docs/plans/docx/README.md +9 -0
  105. package/docs/plans/examples/wave-benchmark-improvement.md +108 -0
  106. package/docs/plans/examples/wave-example-live-proof.md +435 -0
  107. package/docs/plans/master-plan.md +224 -0
  108. package/docs/plans/migration.md +538 -0
  109. package/docs/plans/operations/README.md +7 -0
  110. package/docs/plans/operations/wave-10-word-certification.md +87 -0
  111. package/docs/plans/operations/wave-8-railway-staging.md +153 -0
  112. package/docs/plans/operations/wave-9-manual-certification.md +73 -0
  113. package/docs/plans/platform/README.md +9 -0
  114. package/docs/plans/reference/legal-checklist-coverage.md +258 -0
  115. package/docs/plans/wave-orchestrator.md +423 -0
  116. package/docs/plans/waves/README.md +75 -0
  117. package/docs/plans/waves/completed/wave-0.md +195 -0
  118. package/docs/plans/waves/completed/wave-1.md +379 -0
  119. package/docs/plans/waves/completed/wave-10.md +670 -0
  120. package/docs/plans/waves/completed/wave-11.md +335 -0
  121. package/docs/plans/waves/completed/wave-12.md +417 -0
  122. package/docs/plans/waves/completed/wave-13.md +316 -0
  123. package/docs/plans/waves/completed/wave-14.md +319 -0
  124. package/docs/plans/waves/completed/wave-15.md +321 -0
  125. package/docs/plans/waves/completed/wave-16.md +316 -0
  126. package/docs/plans/waves/completed/wave-17.md +331 -0
  127. package/docs/plans/waves/completed/wave-18.md +328 -0
  128. package/docs/plans/waves/completed/wave-2.md +438 -0
  129. package/docs/plans/waves/completed/wave-3.md +435 -0
  130. package/docs/plans/waves/completed/wave-4.md +430 -0
  131. package/docs/plans/waves/completed/wave-5.md +430 -0
  132. package/docs/plans/waves/completed/wave-6.md +430 -0
  133. package/docs/plans/waves/completed/wave-7.md +526 -0
  134. package/docs/plans/waves/completed/wave-8.md +596 -0
  135. package/docs/plans/waves/completed/wave-9.md +552 -0
  136. package/docs/plans/waves/deferred/README.md +14 -0
  137. package/docs/plans/waves/deferred/encrypted-intake-contracts.md +282 -0
  138. package/docs/plans/waves/deferred/legal-feedback-wave-expansion.md +308 -0
  139. package/docs/plans/waves/deferred/wave-encrypted-intake.md +451 -0
  140. package/docs/plans/waves/design/README.md +5 -0
  141. package/docs/plans/waves/design/wave-1-a1.md +309 -0
  142. package/docs/plans/waves/reviews/README.md +5 -0
  143. package/docs/plans/waves/reviews/wave-0-cont-qa.md +151 -0
  144. package/docs/plans/waves/reviews/wave-1-cont-qa.md +46 -0
  145. package/docs/plans/waves/reviews/wave-10-accessibility-and-design.md +51 -0
  146. package/docs/plans/waves/reviews/wave-10-cont-qa.md +24 -0
  147. package/docs/plans/waves/reviews/wave-10-dashboard-proof.md +46 -0
  148. package/docs/plans/waves/reviews/wave-10-performance-signoff.md +55 -0
  149. package/docs/plans/waves/reviews/wave-10-regression-proof.md +23 -0
  150. package/docs/plans/waves/reviews/wave-10-release-audit.md +31 -0
  151. package/docs/plans/waves/reviews/wave-10-service-proof.md +83 -0
  152. package/docs/plans/waves/reviews/wave-10-word-certification.md +31 -0
  153. package/docs/plans/waves/reviews/wave-18-ai-contract-closure.md +277 -0
  154. package/docs/plans/waves/reviews/wave-18-cont-qa.md +255 -0
  155. package/docs/plans/waves/reviews/wave-18-parity-proof.md +271 -0
  156. package/docs/plans/waves/reviews/wave-19-cont-qa.md +59 -0
  157. package/docs/plans/waves/reviews/wave-2-cont-qa.md +72 -0
  158. package/docs/plans/waves/reviews/wave-20-cont-qa.md +60 -0
  159. package/docs/plans/waves/reviews/wave-25-cont-qa.md +48 -0
  160. package/docs/plans/waves/reviews/wave-28-cont-qa.md +46 -0
  161. package/docs/plans/waves/reviews/wave-29-cont-qa.md +53 -0
  162. package/docs/plans/waves/reviews/wave-3-cont-qa.md +53 -0
  163. package/docs/plans/waves/reviews/wave-3-core-proof.md +77 -0
  164. package/docs/plans/waves/reviews/wave-3-validator-proof.md +73 -0
  165. package/docs/plans/waves/reviews/wave-32-cont-qa.md +43 -0
  166. package/docs/plans/waves/reviews/wave-33-cont-qa.md +526 -0
  167. package/docs/plans/waves/reviews/wave-34-cont-qa.md +100 -0
  168. package/docs/plans/waves/reviews/wave-35-cont-qa.md +145 -0
  169. package/docs/plans/waves/reviews/wave-4-cont-qa.md +47 -0
  170. package/docs/plans/waves/reviews/wave-4-structure-proof.md +69 -0
  171. package/docs/plans/waves/reviews/wave-5-comment-proof.md +158 -0
  172. package/docs/plans/waves/reviews/wave-5-cont-qa.md +68 -0
  173. package/docs/plans/waves/reviews/wave-6-cont-qa.md +416 -0
  174. package/docs/plans/waves/reviews/wave-6-redline-proof.md +130 -0
  175. package/docs/plans/waves/reviews/wave-7-cont-qa.md +82 -0
  176. package/docs/plans/waves/reviews/wave-7-ooxml-compliance.md +85 -0
  177. package/docs/plans/waves/reviews/wave-7-preservation-proof.md +119 -0
  178. package/docs/plans/waves/reviews/wave-7-trust-ux.md +87 -0
  179. package/docs/plans/waves/reviews/wave-8-accessibility-and-design.md +128 -0
  180. package/docs/plans/waves/reviews/wave-8-cont-qa.md +92 -0
  181. package/docs/plans/waves/reviews/wave-8-live-proof.md +140 -0
  182. package/docs/plans/waves/reviews/wave-8-security.md +47 -0
  183. package/docs/plans/waves/reviews/wave-9-editor-embedding.md +39 -0
  184. package/docs/plans/waves/reviews/wave-9-fixture-runner.md +56 -0
  185. package/docs/plans/waves/reviews/wave-9-live-proof.md +105 -0
  186. package/docs/plans/waves/reviews/wave-9-usability-and-performance.md +152 -0
  187. package/docs/plans/waves/specs/README.md +5 -0
  188. package/docs/plans/waves/specs/wave-1-component-boundaries.md +322 -0
  189. package/docs/plans/waves/specs/wave-1-ooxml-contracts.md +323 -0
  190. package/docs/plans/waves/specs/wave-1-review-and-ui-contracts.md +339 -0
  191. package/docs/plans/waves/specs/wave-1-runtime-contracts.md +509 -0
  192. package/docs/plans/waves/wave-19.md +341 -0
  193. package/docs/plans/waves/wave-20.md +308 -0
  194. package/docs/plans/waves/wave-21.md +289 -0
  195. package/docs/plans/waves/wave-22.md +221 -0
  196. package/docs/plans/waves/wave-23.md +295 -0
  197. package/docs/plans/waves/wave-24.md +286 -0
  198. package/docs/plans/waves/wave-25.md +313 -0
  199. package/docs/plans/waves/wave-26.md +300 -0
  200. package/docs/plans/waves/wave-27.md +299 -0
  201. package/docs/plans/waves/wave-28.md +368 -0
  202. package/docs/plans/waves/wave-29.md +303 -0
  203. package/docs/plans/waves/wave-30.md +307 -0
  204. package/docs/plans/waves/wave-31.md +231 -0
  205. package/docs/plans/waves/wave-32.md +152 -0
  206. package/docs/plans/waves/wave-33.md +147 -0
  207. package/docs/plans/waves/wave-34.md +148 -0
  208. package/docs/plans/waves/wave-35.md +141 -0
  209. package/docs/plans/waves/wave-36.md +146 -0
  210. package/docs/plans/xlsx/README.md +14 -0
  211. package/docs/plans/xlsx/xlsx-fixture-corpus-and-certification-plan.md +126 -0
  212. package/docs/reference/cli-reference.md +600 -0
  213. package/docs/reference/coordination-and-closure.md +487 -0
  214. package/docs/reference/deep-research-report (15).md +25 -0
  215. package/docs/reference/docx/README.md +10 -0
  216. package/docs/reference/legal-checklist.md +445 -0
  217. package/docs/reference/live-proof-waves.md +199 -0
  218. package/docs/reference/ooxml-compliance.md +129 -0
  219. package/docs/reference/ooxml-feature-parity-matrix.md +172 -0
  220. package/docs/reference/platform/shared-ooxml-platform-guidance.md +77 -0
  221. package/docs/reference/prototype-agent-prompt-legal-fidelity.md +155 -0
  222. package/docs/reference/public-api.md +456 -0
  223. package/docs/reference/repository-guidance.md +58 -0
  224. package/docs/reference/runtime-config/README.md +182 -0
  225. package/docs/reference/runtime-config/claude.md +110 -0
  226. package/docs/reference/runtime-config/codex.md +82 -0
  227. package/docs/reference/runtime-config/opencode.md +93 -0
  228. package/docs/reference/sample-waves.md +105 -0
  229. package/docs/reference/skills.md +237 -0
  230. package/docs/reference/templates/AGENTS.md +78 -0
  231. package/docs/reference/templates/HEARTBEAT.md +7 -0
  232. package/docs/reference/templates/IDENTITY.md +23 -0
  233. package/docs/reference/templates/SOUL.md +36 -0
  234. package/docs/reference/templates/TOOLS.md +40 -0
  235. package/docs/reference/templates/USER.md +17 -0
  236. package/docs/reference/wave-control.md +184 -0
  237. package/docs/reference/wave-planning-lessons.md +167 -0
  238. package/docs/reference/word-review-editor-frontend-architecture.md +479 -0
  239. package/docs/reference/word-review-editor-ux-guide.md +253 -0
  240. package/docs/reference/xlsx/xlsx-ooxml-compliance.md +137 -0
  241. package/docs/research/agent-context-sources.md +178 -0
  242. package/docs/research/coordination-failure-review.md +290 -0
  243. package/docs/research/docx-react-component/Canonical Document Schema Specification for a React-based Word-compatible Editor.md +2317 -0
  244. package/docs/research/docx-react-component/Feature Compatibility Matrix for a React Word Compatible Legal Editor v1.md +219 -0
  245. package/docs/research/docx-react-component/React Component Architecture and Front-End Structure Specification for a Word-Compatible Legal Review Editor.md +1112 -0
  246. package/docs/research/docx-react-component/document_compatibility_and_testing_spec.md +751 -0
  247. package/docs/research/xlsx/raw/README.md +13 -0
  248. package/docs/roadmap.md +174 -0
  249. package/docs/superpowers/plans/2026-03-28-harness-control-bar.md +677 -0
  250. package/docs/superpowers/specs/2026-03-28-harness-control-bar-design.md +274 -0
  251. package/docs/xlsx-react/README.md +38 -0
  252. package/docs/xlsx-react/agent-llm-interaction-layer-docx-xlsx.md +621 -0
  253. package/docs/xlsx-react/canonical-workbook-model-and-commands.md +948 -0
  254. package/docs/xlsx-react/shared-openxml-editor-platform-docx-xlsx.md +228 -0
  255. package/docs/xlsx-react/spreadsheet-editor-component-architecture.md +809 -0
  256. package/docs/xlsx-react/spreadsheet-editor-frontend-architecture.md +537 -0
  257. package/docs/xlsx-react/spreadsheet-editor-ux-guide.md +520 -0
  258. package/docs/xlsx-react/xlsx-editor-research-pack.md +871 -0
  259. package/docs/xlsx-react/xlsx-fixture-corpus-and-certification-plan.md +436 -0
  260. package/docs/xlsx-react/xlsx-ooxml-compliance.md +320 -0
  261. package/examples/README.md +16 -0
  262. package/memory/MEMORY.md +24 -0
  263. package/package.json +63 -0
  264. package/pnpm-workspace.yaml +4 -0
  265. package/scripts/check-no-authored-js.sh +13 -0
  266. package/scripts/context7-api-check.sh +65 -0
  267. package/scripts/context7-export-env.sh +42 -0
  268. package/scripts/run-context7-mcp.sh +8 -0
  269. package/scripts/run-workspace-tests.sh +15 -0
  270. package/scripts/start-wave-10-local.sh +189 -0
  271. package/scripts/wave-agent-attach.sh +47 -0
  272. package/scripts/wave-auto-answer.sh +118 -0
  273. package/scripts/wave-dashboard-attach.sh +13 -0
  274. package/scripts/wave-launch.sh +273 -0
  275. package/scripts/wave-overnight-supervisor.sh +145 -0
  276. package/scripts/wave-status.sh +379 -0
  277. package/scripts/wave-watch.sh +231 -0
  278. package/services/README.md +17 -0
  279. package/services/openxml-validator/Dockerfile +29 -0
  280. package/services/openxml-validator/OpenXmlValidator.Api.csproj +12 -0
  281. package/services/openxml-validator/Program.cs +436 -0
  282. package/services/openxml-validator/README.md +152 -0
  283. package/services/openxml-validator/railway.json +16 -0
  284. package/services/react-word-editor/.tmp-a4/src/api/public-types.ts +318 -0
  285. package/services/react-word-editor/.tmp-a4/src/ui/WordReviewEditor.tsx +1302 -0
  286. package/services/react-word-editor/.tmp-a4/src/ui/editor-surface/editor-surface.tsx +546 -0
  287. package/services/react-word-editor/.tmp-a4/test/ui/word-review-editor.test.tsx +146 -0
  288. package/services/react-word-editor/.tmp-a4-build/src/api/public-types.js +2 -0
  289. package/services/react-word-editor/.tmp-a4-build/src/ui/WordReviewEditor.js +818 -0
  290. package/services/react-word-editor/.tmp-a4-build/src/ui/editor-surface/editor-surface.js +229 -0
  291. package/services/react-word-editor/.tmp-a4-build/test/ui/word-review-editor.test.js +121 -0
  292. package/services/react-word-editor/.tmp-wave-4-a3-tsconfig.json +21 -0
  293. package/services/react-word-editor/.tmp-wave-4-a3-tsconfig.tsbuildinfo +1 -0
  294. package/services/react-word-editor/Dockerfile +26 -0
  295. package/services/react-word-editor/README.md +254 -0
  296. package/services/react-word-editor/app/api/certification/route.ts +79 -0
  297. package/services/react-word-editor/app/api/demo-sessions/route.ts +109 -0
  298. package/services/react-word-editor/app/api/deploy-health/route.ts +23 -0
  299. package/services/react-word-editor/app/api/exports/[exportId]/route.ts +34 -0
  300. package/services/react-word-editor/app/api/exports/route.ts +81 -0
  301. package/services/react-word-editor/app/api/fixtures/[fixtureId]/run/route.ts +100 -0
  302. package/services/react-word-editor/app/api/health/route.ts +70 -0
  303. package/services/react-word-editor/app/api/runs/[runId]/route.ts +36 -0
  304. package/services/react-word-editor/app/api/scenarios/[scenarioId]/run/route.ts +85 -0
  305. package/services/react-word-editor/app/api/sessions/[sessionId]/route.ts +199 -0
  306. package/services/react-word-editor/app/api/sessions/[sessionId]/source/route.ts +45 -0
  307. package/services/react-word-editor/app/api/uploads/route.ts +70 -0
  308. package/services/react-word-editor/app/api/validate/route.ts +310 -0
  309. package/services/react-word-editor/app/certification/[runId]/page.tsx +14 -0
  310. package/services/react-word-editor/app/certification/page.tsx +32 -0
  311. package/services/react-word-editor/app/dashboard/page.tsx +7 -0
  312. package/services/react-word-editor/app/demo/page.tsx +30 -0
  313. package/services/react-word-editor/app/demo/prototype-client.tsx +1080 -0
  314. package/services/react-word-editor/app/editor/[sessionId]/page.tsx +33 -0
  315. package/services/react-word-editor/app/fixtures/page.tsx +7 -0
  316. package/services/react-word-editor/app/globals.css +121 -0
  317. package/services/react-word-editor/app/layout.tsx +32 -0
  318. package/services/react-word-editor/app/page.tsx +30 -0
  319. package/services/react-word-editor/app/runs/[runId]/page.tsx +34 -0
  320. package/services/react-word-editor/app/wave-10-word-review/page.tsx +7 -0
  321. package/services/react-word-editor/components/harness-control-bar.tsx +289 -0
  322. package/services/react-word-editor/components/harness-editor-session-client.tsx +1214 -0
  323. package/services/react-word-editor/components/harness-workspace-page.tsx +715 -0
  324. package/services/react-word-editor/components/reduced-motion-toggle.tsx +79 -0
  325. package/services/react-word-editor/components/workspace-certification-panel.tsx +307 -0
  326. package/services/react-word-editor/lib/certification-bundle.ts +796 -0
  327. package/services/react-word-editor/lib/certification-store.ts +661 -0
  328. package/services/react-word-editor/lib/demo-fixtures.test.mjs +195 -0
  329. package/services/react-word-editor/lib/demo-fixtures.ts +1519 -0
  330. package/services/react-word-editor/lib/editor-session-summary.test.mjs +68 -0
  331. package/services/react-word-editor/lib/editor-session-summary.ts +14 -0
  332. package/services/react-word-editor/lib/editor-session.ts +228 -0
  333. package/services/react-word-editor/lib/exports-route.test.mjs +32 -0
  334. package/services/react-word-editor/lib/harness-client.ts +347 -0
  335. package/services/react-word-editor/lib/harness-config.json +30 -0
  336. package/services/react-word-editor/lib/harness-config.test.mjs +31 -0
  337. package/services/react-word-editor/lib/harness-config.ts +21 -0
  338. package/services/react-word-editor/lib/harness-editor-datastore.test.mjs +220 -0
  339. package/services/react-word-editor/lib/harness-editor-datastore.ts +161 -0
  340. package/services/react-word-editor/lib/private-mode.test.mjs +42 -0
  341. package/services/react-word-editor/lib/private-mode.ts +61 -0
  342. package/services/react-word-editor/lib/regression-report.test.mjs +352 -0
  343. package/services/react-word-editor/lib/regression-report.ts +896 -0
  344. package/services/react-word-editor/lib/run-artifacts.ts +934 -0
  345. package/services/react-word-editor/lib/run-history.ts +755 -0
  346. package/services/react-word-editor/lib/scenario-artifacts.test.mjs +41 -0
  347. package/services/react-word-editor/lib/scenario-artifacts.ts +44 -0
  348. package/services/react-word-editor/lib/storage.ts +953 -0
  349. package/services/react-word-editor/lib/validator-client.test.mjs +54 -0
  350. package/services/react-word-editor/lib/validator-client.ts +95 -0
  351. package/services/react-word-editor/lib/workspace-navigation.ts +79 -0
  352. package/services/react-word-editor/middleware.ts +35 -0
  353. package/services/react-word-editor/next-env.d.ts +6 -0
  354. package/services/react-word-editor/next.config.mjs +15 -0
  355. package/services/react-word-editor/package.json +38 -0
  356. package/services/react-word-editor/postcss.config.mjs +8 -0
  357. package/services/react-word-editor/railway.json +21 -0
  358. package/services/react-word-editor/scripts/wave-10-certification.mjs +101 -0
  359. package/services/react-word-editor/scripts/wave-9-live-usability-pilot.mjs +911 -0
  360. package/services/react-word-editor/tsconfig.json +39 -0
  361. package/services/react-word-editor/tsconfig.tsbuildinfo +1 -0
  362. package/skills/README.md +48 -0
  363. package/skills/domain-docx-compatibility/SKILL.md +44 -0
  364. package/skills/domain-docx-compatibility/skill.json +19 -0
  365. package/skills/domain-editor-architecture/SKILL.md +49 -0
  366. package/skills/domain-editor-architecture/skill.json +19 -0
  367. package/skills/domain-legal-review/SKILL.md +39 -0
  368. package/skills/domain-legal-review/skill.json +19 -0
  369. package/skills/provider-aws/SKILL.md +117 -0
  370. package/skills/provider-aws/adapters/claude.md +1 -0
  371. package/skills/provider-aws/adapters/codex.md +1 -0
  372. package/skills/provider-aws/references/service-verification.md +39 -0
  373. package/skills/provider-aws/skill.json +54 -0
  374. package/skills/provider-custom-deploy/SKILL.md +64 -0
  375. package/skills/provider-custom-deploy/skill.json +50 -0
  376. package/skills/provider-docker-compose/SKILL.md +96 -0
  377. package/skills/provider-docker-compose/adapters/local.md +1 -0
  378. package/skills/provider-docker-compose/skill.json +53 -0
  379. package/skills/provider-github-release/SKILL.md +121 -0
  380. package/skills/provider-github-release/adapters/claude.md +1 -0
  381. package/skills/provider-github-release/adapters/codex.md +1 -0
  382. package/skills/provider-github-release/skill.json +55 -0
  383. package/skills/provider-kubernetes/SKILL.md +143 -0
  384. package/skills/provider-kubernetes/adapters/claude.md +1 -0
  385. package/skills/provider-kubernetes/adapters/codex.md +1 -0
  386. package/skills/provider-kubernetes/references/kubectl-patterns.md +58 -0
  387. package/skills/provider-kubernetes/skill.json +52 -0
  388. package/skills/provider-railway/SKILL.md +123 -0
  389. package/skills/provider-railway/adapters/claude.md +1 -0
  390. package/skills/provider-railway/adapters/codex.md +1 -0
  391. package/skills/provider-railway/adapters/local.md +1 -0
  392. package/skills/provider-railway/adapters/opencode.md +1 -0
  393. package/skills/provider-railway/references/verification-commands.md +39 -0
  394. package/skills/provider-railway/skill.json +71 -0
  395. package/skills/provider-ssh-manual/SKILL.md +97 -0
  396. package/skills/provider-ssh-manual/skill.json +54 -0
  397. package/skills/repo-coding-rules/SKILL.md +55 -0
  398. package/skills/repo-coding-rules/skill.json +34 -0
  399. package/skills/role-cont-eval/SKILL.md +91 -0
  400. package/skills/role-cont-eval/adapters/codex.md +1 -0
  401. package/skills/role-cont-eval/skill.json +36 -0
  402. package/skills/role-cont-qa/SKILL.md +100 -0
  403. package/skills/role-cont-qa/adapters/claude.md +1 -0
  404. package/skills/role-cont-qa/skill.json +36 -0
  405. package/skills/role-deploy/SKILL.md +97 -0
  406. package/skills/role-deploy/skill.json +36 -0
  407. package/skills/role-design/SKILL.md +50 -0
  408. package/skills/role-design/skill.json +36 -0
  409. package/skills/role-documentation/SKILL.md +76 -0
  410. package/skills/role-documentation/skill.json +36 -0
  411. package/skills/role-implementation/SKILL.md +45 -0
  412. package/skills/role-implementation/skill.json +36 -0
  413. package/skills/role-infra/SKILL.md +81 -0
  414. package/skills/role-infra/skill.json +36 -0
  415. package/skills/role-integration/SKILL.md +91 -0
  416. package/skills/role-integration/skill.json +36 -0
  417. package/skills/role-planner/SKILL.md +39 -0
  418. package/skills/role-planner/skill.json +21 -0
  419. package/skills/role-research/SKILL.md +65 -0
  420. package/skills/role-research/skill.json +36 -0
  421. package/skills/role-security/SKILL.md +60 -0
  422. package/skills/role-security/skill.json +36 -0
  423. package/skills/runtime-claude/SKILL.md +66 -0
  424. package/skills/runtime-claude/skill.json +36 -0
  425. package/skills/runtime-codex/SKILL.md +58 -0
  426. package/skills/runtime-codex/skill.json +36 -0
  427. package/skills/runtime-local/SKILL.md +46 -0
  428. package/skills/runtime-local/skill.json +36 -0
  429. package/skills/runtime-opencode/SKILL.md +58 -0
  430. package/skills/runtime-opencode/skill.json +36 -0
  431. package/skills/signal-hygiene/SKILL.md +51 -0
  432. package/skills/signal-hygiene/skill.json +20 -0
  433. package/skills/tui-design/SKILL.md +77 -0
  434. package/skills/tui-design/references/tui-design.md +259 -0
  435. package/skills/tui-design/skill.json +36 -0
  436. package/skills/wave-core/SKILL.md +141 -0
  437. package/skills/wave-core/references/marker-syntax.md +70 -0
  438. package/skills/wave-core/skill.json +35 -0
  439. package/src/README.md +85 -0
  440. package/src/api/README.md +22 -0
  441. package/src/api/public-types.ts +525 -0
  442. package/src/component-inventory.md +99 -0
  443. package/src/core/README.md +10 -0
  444. package/src/core/commands/README.md +3 -0
  445. package/src/core/commands/formatting-commands.ts +161 -0
  446. package/src/core/commands/image-commands.ts +144 -0
  447. package/src/core/commands/index.ts +1013 -0
  448. package/src/core/commands/list-commands.ts +370 -0
  449. package/src/core/commands/review-commands.ts +108 -0
  450. package/src/core/commands/text-commands.ts +119 -0
  451. package/src/core/schema/README.md +3 -0
  452. package/src/core/schema/text-schema.ts +512 -0
  453. package/src/core/selection/README.md +3 -0
  454. package/src/core/selection/mapping.ts +238 -0
  455. package/src/core/selection/review-anchors.ts +94 -0
  456. package/src/core/state/README.md +3 -0
  457. package/src/core/state/editor-state.ts +580 -0
  458. package/src/core/state/text-transaction.ts +276 -0
  459. package/src/formats/xlsx/io/parse-shared-strings.ts +41 -0
  460. package/src/formats/xlsx/io/parse-sheet.ts +289 -0
  461. package/src/formats/xlsx/io/parse-styles.ts +57 -0
  462. package/src/formats/xlsx/io/parse-workbook.ts +75 -0
  463. package/src/formats/xlsx/io/xlsx-session.ts +306 -0
  464. package/src/formats/xlsx/model/cell.ts +189 -0
  465. package/src/formats/xlsx/model/sheet.ts +244 -0
  466. package/src/formats/xlsx/model/styles.ts +118 -0
  467. package/src/formats/xlsx/model/workbook.ts +449 -0
  468. package/src/io/README.md +10 -0
  469. package/src/io/docx-session.ts +1763 -0
  470. package/src/io/export/README.md +3 -0
  471. package/src/io/export/export-session.ts +165 -0
  472. package/src/io/export/minimal-docx.ts +115 -0
  473. package/src/io/export/reattach-preserved-parts.ts +54 -0
  474. package/src/io/export/serialize-comments.ts +876 -0
  475. package/src/io/export/serialize-footnotes.ts +217 -0
  476. package/src/io/export/serialize-headers-footers.ts +200 -0
  477. package/src/io/export/serialize-main-document.ts +982 -0
  478. package/src/io/export/serialize-numbering.ts +97 -0
  479. package/src/io/export/serialize-revisions.ts +389 -0
  480. package/src/io/export/serialize-runtime-revisions.ts +265 -0
  481. package/src/io/export/serialize-tables.ts +147 -0
  482. package/src/io/export/split-review-boundaries.ts +194 -0
  483. package/src/io/normalize/README.md +3 -0
  484. package/src/io/normalize/normalize-text.ts +437 -0
  485. package/src/io/ooxml/README.md +3 -0
  486. package/src/io/ooxml/parse-comments.ts +779 -0
  487. package/src/io/ooxml/parse-complex-content.ts +287 -0
  488. package/src/io/ooxml/parse-fields.ts +438 -0
  489. package/src/io/ooxml/parse-footnotes.ts +403 -0
  490. package/src/io/ooxml/parse-headers-footers.ts +483 -0
  491. package/src/io/ooxml/parse-inline-media.ts +431 -0
  492. package/src/io/ooxml/parse-main-document.ts +1846 -0
  493. package/src/io/ooxml/parse-numbering.ts +425 -0
  494. package/src/io/ooxml/parse-revisions.ts +658 -0
  495. package/src/io/ooxml/parse-shapes.ts +271 -0
  496. package/src/io/ooxml/parse-tables.ts +568 -0
  497. package/src/io/ooxml/parse-theme.ts +314 -0
  498. package/src/io/ooxml/part-manifest.ts +136 -0
  499. package/src/io/ooxml/revision-boundaries.ts +351 -0
  500. package/src/io/opc/README.md +3 -0
  501. package/src/io/opc/corrupt-package.ts +166 -0
  502. package/src/io/opc/docx-package.ts +74 -0
  503. package/src/io/opc/package-reader.ts +320 -0
  504. package/src/io/opc/package-writer.ts +273 -0
  505. package/src/model/README.md +3 -0
  506. package/src/model/canonical-document.ts +1911 -0
  507. package/src/model/cds-1.0.0.ts +196 -0
  508. package/src/model/snapshot.ts +393 -0
  509. package/src/preservation/README.md +3 -0
  510. package/src/preservation/markup-compatibility.ts +48 -0
  511. package/src/preservation/opaque-fragment-store.ts +89 -0
  512. package/src/preservation/opaque-region.ts +233 -0
  513. package/src/preservation/package-preservation.ts +120 -0
  514. package/src/preservation/preserved-part-manifest.ts +56 -0
  515. package/src/preservation/relationship-retention.ts +57 -0
  516. package/src/preservation/store.ts +185 -0
  517. package/src/review/README.md +16 -0
  518. package/src/review/store/README.md +3 -0
  519. package/src/review/store/comment-anchors.ts +70 -0
  520. package/src/review/store/comment-remapping.ts +154 -0
  521. package/src/review/store/comment-store.ts +331 -0
  522. package/src/review/store/comment-thread.ts +109 -0
  523. package/src/review/store/revision-actions.ts +394 -0
  524. package/src/review/store/revision-store.ts +303 -0
  525. package/src/review/store/revision-types.ts +168 -0
  526. package/src/review/store/runtime-comment-store.ts +43 -0
  527. package/src/runtime/README.md +3 -0
  528. package/src/runtime/ai-action-policy.ts +764 -0
  529. package/src/runtime/document-runtime.ts +969 -0
  530. package/src/runtime/read-only-diagnostics-runtime.ts +232 -0
  531. package/src/runtime/review-runtime.ts +44 -0
  532. package/src/runtime/revision-runtime.ts +107 -0
  533. package/src/runtime/session-capabilities.ts +138 -0
  534. package/src/runtime/surface-projection.ts +570 -0
  535. package/src/runtime/table-commands.ts +84 -0
  536. package/src/runtime/table-schema.ts +125 -0
  537. package/src/ui/README.md +30 -0
  538. package/src/ui/WordReviewEditor.tsx +1283 -0
  539. package/src/ui/comments/README.md +3 -0
  540. package/src/ui/compatibility/README.md +3 -0
  541. package/src/ui/editor-surface/README.md +3 -0
  542. package/src/ui/headless/comment-decoration-model.ts +124 -0
  543. package/src/ui/headless/revision-decoration-model.ts +128 -0
  544. package/src/ui/headless/selection-helpers.ts +34 -0
  545. package/src/ui/headless/use-editor-keyboard.ts +98 -0
  546. package/src/ui/review/README.md +3 -0
  547. package/src/ui/shared/revision-filters.ts +31 -0
  548. package/src/ui/status/README.md +3 -0
  549. package/src/ui/theme/README.md +3 -0
  550. package/src/ui/toolbar/README.md +3 -0
  551. package/src/ui-tailwind/chrome/tw-alert-banner.tsx +48 -0
  552. package/src/ui-tailwind/chrome/tw-selection-toolbar.tsx +44 -0
  553. package/src/ui-tailwind/chrome/tw-unsaved-modal.tsx +58 -0
  554. package/src/ui-tailwind/chrome/use-before-unload.ts +20 -0
  555. package/src/ui-tailwind/editor-surface/pm-command-bridge.ts +139 -0
  556. package/src/ui-tailwind/editor-surface/pm-decorations.ts +98 -0
  557. package/src/ui-tailwind/editor-surface/pm-position-map.ts +123 -0
  558. package/src/ui-tailwind/editor-surface/pm-schema.ts +452 -0
  559. package/src/ui-tailwind/editor-surface/pm-state-from-snapshot.ts +327 -0
  560. package/src/ui-tailwind/editor-surface/search-plugin.ts +157 -0
  561. package/src/ui-tailwind/editor-surface/tw-caret.tsx +12 -0
  562. package/src/ui-tailwind/editor-surface/tw-editor-surface.tsx +150 -0
  563. package/src/ui-tailwind/editor-surface/tw-inline-token.tsx +118 -0
  564. package/src/ui-tailwind/editor-surface/tw-opaque-block.tsx +52 -0
  565. package/src/ui-tailwind/editor-surface/tw-paragraph-block.tsx +151 -0
  566. package/src/ui-tailwind/editor-surface/tw-prosemirror-surface.tsx +215 -0
  567. package/src/ui-tailwind/editor-surface/tw-segment-view.tsx +111 -0
  568. package/src/ui-tailwind/editor-surface/tw-table-node-view.tsx +108 -0
  569. package/src/ui-tailwind/index.ts +61 -0
  570. package/src/ui-tailwind/review/tw-comment-sidebar.tsx +276 -0
  571. package/src/ui-tailwind/review/tw-health-panel.tsx +120 -0
  572. package/src/ui-tailwind/review/tw-review-rail.tsx +120 -0
  573. package/src/ui-tailwind/review/tw-revision-sidebar.tsx +164 -0
  574. package/src/ui-tailwind/status/tw-status-bar.tsx +58 -0
  575. package/src/ui-tailwind/theme/editor-theme.css +190 -0
  576. package/src/ui-tailwind/toolbar/tw-toolbar-icon-button.tsx +48 -0
  577. package/src/ui-tailwind/toolbar/tw-toolbar.tsx +231 -0
  578. package/src/ui-tailwind/tw-review-workspace.tsx +140 -0
  579. package/src/validation/README.md +3 -0
  580. package/src/validation/compatibility-engine.ts +317 -0
  581. package/src/validation/compatibility-report.ts +160 -0
  582. package/src/validation/diagnostics.ts +203 -0
  583. package/src/validation/import-diagnostics.ts +128 -0
  584. package/src/validation/low-priority-word-surfaces.ts +373 -0
  585. package/test/README.md +16 -0
  586. package/test/core/formatting-commands.test.ts +285 -0
  587. package/test/core/image-commands.test.ts +298 -0
  588. package/test/core/mapping.test.ts +186 -0
  589. package/test/core/text-commands.test.ts +176 -0
  590. package/test/fixtures/docx/F01-basic-contract.docx +0 -0
  591. package/test/fixtures/docx/F01-basic-contract.md +33 -0
  592. package/test/fixtures/docx/F02-headings-styles.docx +0 -0
  593. package/test/fixtures/docx/F02-headings-styles.md +33 -0
  594. package/test/fixtures/docx/F03-legal-outline-numbering.docx +0 -0
  595. package/test/fixtures/docx/F03-legal-outline-numbering.md +34 -0
  596. package/test/fixtures/docx/F04-restart-numbering-schedules.docx +0 -0
  597. package/test/fixtures/docx/F04-restart-numbering-schedules.md +33 -0
  598. package/test/fixtures/docx/F05-table-heavy-agreement.docx +0 -0
  599. package/test/fixtures/docx/F05-table-heavy-agreement.md +34 -0
  600. package/test/fixtures/docx/F06-merged-cells-signature-table.docx +0 -0
  601. package/test/fixtures/docx/F06-merged-cells-signature-table.md +34 -0
  602. package/test/fixtures/docx/F07-inline-images-exhibit.docx +0 -0
  603. package/test/fixtures/docx/F07-inline-images-exhibit.md +34 -0
  604. package/test/fixtures/docx/F08-hyperlinks.docx +0 -0
  605. package/test/fixtures/docx/F08-hyperlinks.md +33 -0
  606. package/test/fixtures/docx/F09-comments-single-paragraph.docx +0 -0
  607. package/test/fixtures/docx/F09-comments-single-paragraph.md +33 -0
  608. package/test/fixtures/docx/F10-threaded-comments-resolve.docx +0 -0
  609. package/test/fixtures/docx/F10-threaded-comments-resolve.md +33 -0
  610. package/test/fixtures/docx/F11-redlines-basic.docx +0 -0
  611. package/test/fixtures/docx/F11-redlines-basic.md +33 -0
  612. package/test/fixtures/docx/F12-redlines-paragraph-joins-splits.docx +0 -0
  613. package/test/fixtures/docx/F12-redlines-paragraph-joins-splits.md +33 -0
  614. package/test/fixtures/docx/F13-comments-on-deleted-text.docx +0 -0
  615. package/test/fixtures/docx/F13-comments-on-deleted-text.md +33 -0
  616. package/test/fixtures/docx/F14-revisions-in-tables-and-lists.docx +0 -0
  617. package/test/fixtures/docx/F14-revisions-in-tables-and-lists.md +33 -0
  618. package/test/fixtures/docx/F15-sections-headers-footers.docx +0 -0
  619. package/test/fixtures/docx/F15-sections-headers-footers.md +33 -0
  620. package/test/fixtures/docx/F16-footnotes-endnotes.docx +0 -0
  621. package/test/fixtures/docx/F16-footnotes-endnotes.md +33 -0
  622. package/test/fixtures/docx/F17-fields-and-toc.docx +0 -0
  623. package/test/fixtures/docx/F17-fields-and-toc.md +33 -0
  624. package/test/fixtures/docx/F18-content-controls-template.docx +0 -0
  625. package/test/fixtures/docx/F18-content-controls-template.md +33 -0
  626. package/test/fixtures/docx/F19-custom-xml-doc-assembly.docx +0 -0
  627. package/test/fixtures/docx/F19-custom-xml-doc-assembly.md +35 -0
  628. package/test/fixtures/docx/F20-unknown-ooxml-and-alternatecontent.docx +0 -0
  629. package/test/fixtures/docx/F20-unknown-ooxml-and-alternatecontent.md +33 -0
  630. package/test/fixtures/docx/F21-malformed-broken-docx.docx +0 -0
  631. package/test/fixtures/docx/F21-malformed-broken-docx.md +33 -0
  632. package/test/fixtures/docx/README.md +74 -0
  633. package/test/fixtures/docx/certification-manifest.json +104 -0
  634. package/test/fixtures/docx/fixtures.manifest.json +196 -0
  635. package/test/fixtures/encrypted-docx/README.md +27 -0
  636. package/test/fixtures/encrypted-docx/certification-manifest.json +9 -0
  637. package/test/fixtures/encrypted-docx/fixtures.manifest.json +47 -0
  638. package/test/fixtures/scenarios/docx/README.md +25 -0
  639. package/test/fixtures/scenarios/docx/S01-sow-template.docx +0 -0
  640. package/test/fixtures/scenarios/docx/S01-sow-template.md +30 -0
  641. package/test/fixtures/scenarios/docx/S02-bw-partner-user-licence-agreement-redlines.docx +0 -0
  642. package/test/fixtures/scenarios/docx/S02-bw-partner-user-licence-agreement-redlines.md +32 -0
  643. package/test/fixtures/scenarios/docx/scenario-manifest.json +53 -0
  644. package/test/formats/xlsx/io/xlsx-import.test.ts +766 -0
  645. package/test/formats/xlsx/model/workbook.test.ts +669 -0
  646. package/test/helpers/dom-setup.ts +124 -0
  647. package/test/io/comment-roundtrip.test.ts +272 -0
  648. package/test/io/complex-content-roundtrip.test.ts +632 -0
  649. package/test/io/docx-compatibility-regression.test.ts +199 -0
  650. package/test/io/docx-session.test.ts +1495 -0
  651. package/test/io/footnotes-roundtrip.test.ts +318 -0
  652. package/test/io/headers-footers-roundtrip.test.ts +547 -0
  653. package/test/io/numbering-roundtrip.test.ts +234 -0
  654. package/test/io/package-reader.test.ts +199 -0
  655. package/test/io/paragraph-properties-roundtrip.test.ts +129 -0
  656. package/test/io/preserved-package-roundtrip.test.ts +365 -0
  657. package/test/io/property-completeness.test.ts +292 -0
  658. package/test/io/revision-roundtrip.test.ts +347 -0
  659. package/test/io/structural-blocks.test.ts +202 -0
  660. package/test/io/table-media-roundtrip.test.ts +448 -0
  661. package/test/io/table-properties-roundtrip.test.ts +569 -0
  662. package/test/io/table-roundtrip.test.ts +302 -0
  663. package/test/io/text-roundtrip.test.ts +344 -0
  664. package/test/model/canonical-document.test.ts +285 -0
  665. package/test/preservation/opaque-fragment-store.test.ts +121 -0
  666. package/test/preservation/package-preservation.test.ts +395 -0
  667. package/test/preservation/store.test.ts +84 -0
  668. package/test/review/comment-remapping.test.ts +220 -0
  669. package/test/review/comment-store.test.ts +180 -0
  670. package/test/review/move-revisions.test.ts +143 -0
  671. package/test/review/property-change-revisions.test.ts +225 -0
  672. package/test/review/revision-actions.test.ts +330 -0
  673. package/test/review/revision-store.test.ts +193 -0
  674. package/test/runtime/session-capabilities.test.ts +260 -0
  675. package/test/runtime/table-commands.test.ts +356 -0
  676. package/test/runtime/table-schema.test.ts +221 -0
  677. package/test/runtime/tracked-changes-toggle.test.ts +107 -0
  678. package/test/ui/comment-review-surface.test.tsx +114 -0
  679. package/test/ui/reduced-motion-toggle.test.tsx +137 -0
  680. package/test/ui/word-review-editor.imported-scenarios.test.tsx +169 -0
  681. package/test/ui/word-review-editor.interaction.test.tsx +1198 -0
  682. package/test/ui/word-review-editor.test.js +188 -0
  683. package/test/ui/word-review-editor.test.tsx +280 -0
  684. package/test/ui-tailwind/search-plugin.test.ts +286 -0
  685. package/test/validation/compatibility-engine.test.ts +336 -0
  686. package/test/validation/compatibility-report.test.ts +189 -0
  687. package/test/validation/low-priority-word-surfaces.test.ts +282 -0
  688. package/test/validation/malformed-doc.test.ts +113 -0
  689. package/test-results/.last-run.json +4 -0
  690. package/wave.config.json +406 -0
@@ -0,0 +1,670 @@
1
+ # Wave 10 - QA-Proved V1 Certification
2
+
3
+ **Commit message**: `Build: qa-prove the v1 editor and internal services`
4
+
5
+ ## Component promotions
6
+
7
+ - canonical-document-model: qa-proved
8
+ - command-and-transaction-runtime: qa-proved
9
+ - comments-and-anchor-mapping: qa-proved
10
+ - tracked-changes-and-review-actions: qa-proved
11
+ - docx-import-and-normalization: qa-proved
12
+ - docx-export-and-serialization: qa-proved
13
+ - unsupported-ooxml-preservation: qa-proved
14
+ - compatibility-and-word-validation: qa-proved
15
+ - react-editor-ui: qa-proved
16
+ - railway-test-harness: qa-proved
17
+ - openxml-sdk-validator-service: qa-proved
18
+
19
+ ## Scope note
20
+
21
+ Wave 10 is the final internal QA-certification wave for the declared v1 surface. It must turn the frozen fixture corpus, representative scenarios, validator evidence, manual Word observations, accessibility and design signoff, and performance budgets into one fresh certification bundle.
22
+
23
+ `qa-proved` is still not the same as release-ready packaging. That belongs to the next wave. Wave 10 proves that the declared v1 product is internally certified, honestly documented, and backed by current machine-visible evidence.
24
+
25
+ Wave 10 must also preserve an honest handoff into the deferred legal-fidelity
26
+ packet. Final QA surfaces, docs, and trust messaging should not encode
27
+ paragraph-only assumptions or fake browser-font parity in ways that would
28
+ undercut later first-class tables and curated-font approximation work.
29
+
30
+ ## Entry criteria
31
+
32
+ - Wave 9 live proof, reviewer-task matrix, performance smoke, and manual-certification capture are current.
33
+ - Shared docs still distinguish `qa-proved` from later `fleet-ready` or release-oriented work.
34
+ - The release-gate fixture registry in `test/fixtures/docx/README.md` is current and unchanged unless an explicit contract revision landed first.
35
+
36
+ ## Promotion conditions
37
+
38
+ - every promoted component has fresh Wave 10 QA evidence, not only older pilot artifacts
39
+ - the certification matrix explicitly covers `F01` through `F21` plus `S01` and `S02`
40
+ - accessibility, DESIGN.md conformance, and performance budgets all have explicit signoff artifacts
41
+ - the final docs do not overclaim support boundaries, scenario evidence, or Word certification depth
42
+ - representative scenario artifacts remain outside the frozen release-gate set while still appearing in the final QA bundle
43
+
44
+ ## Current workspace review rule
45
+
46
+ Wave 10 is the final QA-certification wave for the declared v1 surface. Any
47
+ design-conformance, accessibility, or release-surface UX signoff in this wave
48
+ must review the current runtime-backed shared workspace so the final QA bundle
49
+ judges the real shipped shell against the intended future product direction.
50
+
51
+ Required review inputs for design-facing work:
52
+
53
+ - `docs/legal-feedback-architecture.md`
54
+ - `docs/reference/prototype-agent-prompt-legal-fidelity.md`
55
+ - `docs/reference/word-review-editor-ux-guide.md`
56
+ - `docs/plans/waves/deferred/legal-feedback-wave-expansion.md`
57
+ - `services/react-word-editor/app/demo/page.tsx`
58
+ - `services/react-word-editor/components/harness-workspace-page.tsx`
59
+ - `services/react-word-editor/components/harness-editor-session-client.tsx`
60
+ - `src/ui/WordReviewEditor.tsx`
61
+ - `src/ui-tailwind/tw-review-workspace.tsx`
62
+ - `src/ui-tailwind/review/tw-review-rail.tsx`
63
+ - `src/ui-tailwind/toolbar/tw-toolbar.tsx`
64
+ - `services/react-word-editor/lib/demo-fixtures.ts`
65
+
66
+ This review does not authorize widening the Wave 10 support boundary. It is
67
+ meant to catch drift, misleading visual claims, and contradictions with the
68
+ future demo or trust posture on the current mounted shell.
69
+
70
+ ## Certification matrix
71
+
72
+ - automated regression coverage:
73
+ `F01` through `F21` must all run through the same harness-controlled artifact pipeline with explicit pass, block, or preserve-only expectations
74
+ - manual Word desktop and Word web coverage:
75
+ at minimum `F01`, `F03`, `F05`, `F09`, `F11`, `F12`, `F15`, `F20`, and `S01` must have fresh reopen notes tied to concrete run ids
76
+ - preserve-only fixture judgment:
77
+ preserve-only fixtures pass only when survival, locking, warning, and non-destructive export behavior match the declared contract; they are not judged by the same semantic-edit criteria as supported-roundtrip fixtures
78
+ - unsupported-fatal fixture judgment:
79
+ `F21` passes only when import fails closed and export remains blocked
80
+
81
+ ## Deploy environments
82
+
83
+ - staging: railway-cli (internal Railway validation environment)
84
+
85
+ ## Context7 defaults
86
+
87
+ - bundle: word-editor-testing
88
+ - query: "fixture certification, Word reopen proof, validator evidence, accessibility, performance, and final QA closure for a Word-compatible editor"
89
+
90
+ ## Agent A0: cont-QA
91
+
92
+ ### Role prompts
93
+
94
+ - docs/agents/wave-cont-qa-role.md
95
+
96
+ ### Executor
97
+
98
+ - profile: deep-review
99
+
100
+ ### Context7
101
+
102
+ - bundle: word-editor-testing
103
+ - query: "qa-proof closure, regression completeness, accessibility and performance signoff, and final compatibility evidence"
104
+
105
+ ### Prompt
106
+
107
+ ```text
108
+ Primary goal:
109
+ - Refuse closure unless the repo has full QA evidence for the declared v1 surface and the proof bundle is current.
110
+
111
+ Required context before coding:
112
+ - Read docs/reference/repository-guidance.md.
113
+ - Read docs/research/agent-context-sources.md.
114
+ - Read docs/reference/live-proof-waves.md.
115
+ - Read docs/plans/current-state.md and docs/plans/waves/wave-9.md.
116
+
117
+ Specific expectations:
118
+ - all promoted components need explicit regression, certification, accessibility, or performance evidence
119
+ - stale pilot artifacts are not enough for qa-proved
120
+ - representative scenario artifacts must appear in the certification bundle even though they are not release-gate fixtures
121
+ - block closure if any signoff surface still depends on narrative confidence instead of current artifacts
122
+
123
+ File ownership (only touch these paths):
124
+ - docs/plans/waves/reviews/wave-10-cont-qa.md
125
+ ```
126
+
127
+ ## Agent A8: Integration Steward
128
+
129
+ ### Role prompts
130
+
131
+ - docs/agents/wave-integration-role.md
132
+
133
+ ### Executor
134
+
135
+ - profile: deep-review
136
+
137
+ ### Context7
138
+
139
+ - bundle: word-editor-testing
140
+ - query: "reconciling regression reports, certification notes, validator results, accessibility signoff, and shared-plan closure"
141
+
142
+ ### Prompt
143
+
144
+ ```text
145
+ Primary goal:
146
+ - Decide whether the editor and internal services are genuinely qa-proved for the v1 contract.
147
+
148
+ Required context before coding:
149
+ - Read docs/reference/repository-guidance.md.
150
+ - Read docs/research/agent-context-sources.md.
151
+ - Read docs/reference/live-proof-waves.md.
152
+ - Read docs/plans/master-plan.md, docs/plans/current-state.md, and docs/plans/waves/wave-10.md.
153
+
154
+ Specific expectations:
155
+ - block closure if any promoted component lacks a clear QA artifact
156
+ - block closure if release docs still imply weaker or different support boundaries
157
+ - block closure if accessibility, design-conformance, or performance signoff disagree with the product claims
158
+
159
+ File ownership (only touch these paths):
160
+ - .tmp/main-wave-launcher/integration/wave-10.md
161
+ - .tmp/main-wave-launcher/integration/wave-10.json
162
+ ```
163
+
164
+ ## Agent A9: Documentation Steward
165
+
166
+ ### Role prompts
167
+
168
+ - docs/agents/wave-documentation-role.md
169
+
170
+ ### Executor
171
+
172
+ - profile: docs-pass
173
+
174
+ ### Context7
175
+
176
+ - bundle: word-editor-testing
177
+ - query: "documenting the final v1 support boundary, certification evidence, remaining exclusions, and the handoff to release readiness"
178
+
179
+ ### Prompt
180
+
181
+ ```text
182
+ Primary goal:
183
+ - Close the shared-plan and operator docs around the qa-proved v1 definition without smuggling in later release-readiness claims.
184
+
185
+ Required context before coding:
186
+ - Read docs/reference/repository-guidance.md.
187
+ - Read docs/research/agent-context-sources.md.
188
+ - Read docs/legal-feedback-architecture.md.
189
+ - Read docs/plans/waves/deferred/legal-feedback-wave-expansion.md.
190
+ - Read docs/plans/master-plan.md, docs/plans/current-state.md, docs/plans/migration.md, and docs/plans/component-cutover-matrix.md.
191
+ - Read the Wave 10 proof notes.
192
+
193
+ File ownership (only touch these paths):
194
+ - README.md
195
+ - docs/roadmap.md
196
+ - docs/plans/master-plan.md
197
+ - docs/plans/current-state.md
198
+ - docs/plans/migration.md
199
+ - docs/plans/component-cutover-matrix.md
200
+ - docs/plans/component-cutover-matrix.json
201
+ ```
202
+
203
+ ## Agent A1: Regression Suite And Release Gates
204
+
205
+ ### Executor
206
+
207
+ - profile: implement-fast
208
+ - budget.minutes: 45
209
+
210
+ ### Context7
211
+
212
+ - bundle: word-editor-testing
213
+ - query: "fixture manifests, integration regression reports, release-gate matrices, and certification freshness"
214
+
215
+ ### Skills
216
+
217
+ - role-implementation
218
+ - domain-docx-compatibility
219
+
220
+ ### Components
221
+
222
+ - compatibility-and-word-validation
223
+ - railway-test-harness
224
+
225
+ ### Exit contract
226
+
227
+ - completion: authoritative
228
+ - durability: durable
229
+ - proof: integration
230
+ - doc-impact: owned
231
+
232
+ ### Deliverables
233
+
234
+ - services/react-word-editor/app/api/fixtures/[fixtureId]/run/route.ts
235
+ - services/react-word-editor/lib/regression-report.ts
236
+ - test/fixtures/docx/certification-manifest.json
237
+ - docs/plans/waves/reviews/wave-10-regression-proof.md
238
+
239
+ ### Proof artifacts
240
+
241
+ - path: .tmp/wave-10-certification/regression-report.json | kind: integration-report | required-for: qa-proved
242
+ - path: .tmp/wave-10-certification/fixture-coverage.json | kind: manifest | required-for: qa-proved
243
+ - path: .tmp/wave-10-certification/certification-freshness.json | kind: manifest | required-for: qa-proved
244
+
245
+ ### Prompt
246
+
247
+ ```text
248
+ Primary goal:
249
+ - Make the regression suite and release gates explicit and machine-visible for the entire declared v1 fixture set.
250
+
251
+ Required context before coding:
252
+ - Read docs/reference/repository-guidance.md.
253
+ - Read docs/research/agent-context-sources.md.
254
+ - Read docs/reference/ooxml-compliance.md.
255
+ - Read test/fixtures/docx/README.md.
256
+
257
+ Specific expectations:
258
+ - all supported-roundtrip fixtures must be runnable through one harness path
259
+ - the certification manifest must name the exact release-gate fixtures and the required manual-review subset
260
+ - keep `S01` and `S02` out of the frozen release-gate list while still surfacing them as representative certification scenarios
261
+ - freshness data must make it impossible for stale pilot runs to satisfy Wave 10 closure
262
+
263
+ File ownership (only touch these paths):
264
+ - services/react-word-editor/app/api/fixtures/[fixtureId]/run/route.ts
265
+ - services/react-word-editor/lib/regression-report.ts
266
+ - test/fixtures/docx/certification-manifest.json
267
+ - docs/plans/waves/reviews/wave-10-regression-proof.md
268
+ - .tmp/wave-10-certification/
269
+ ```
270
+
271
+ ## Agent A2: Word Desktop And Web Certification Bundle
272
+
273
+ ### Executor
274
+
275
+ - profile: proof-owner
276
+ - retry-policy: sticky
277
+
278
+ ### Context7
279
+
280
+ - bundle: word-editor-testing
281
+ - query: "structured certification capture, artifact attachment, preserve-only judgment, and final compatibility proof bundling"
282
+
283
+ ### Skills
284
+
285
+ - role-infra
286
+ - role-deploy
287
+ - provider-railway
288
+
289
+ ### Components
290
+
291
+ - canonical-document-model
292
+ - command-and-transaction-runtime
293
+ - comments-and-anchor-mapping
294
+ - tracked-changes-and-review-actions
295
+ - docx-import-and-normalization
296
+ - docx-export-and-serialization
297
+ - unsupported-ooxml-preservation
298
+ - compatibility-and-word-validation
299
+ - react-editor-ui
300
+ - railway-test-harness
301
+
302
+ ### Exit contract
303
+
304
+ - completion: live
305
+ - durability: durable
306
+ - proof: live
307
+ - doc-impact: owned
308
+
309
+ ### Deliverables
310
+
311
+ - docs/plans/operations/wave-10-word-certification.md
312
+ - docs/plans/waves/reviews/wave-10-word-certification.md
313
+ - services/react-word-editor/app/certification/[runId]/page.tsx
314
+ - services/react-word-editor/lib/certification-bundle.ts
315
+
316
+ ### Proof artifacts
317
+
318
+ - path: .tmp/wave-10-certification/word-desktop-certification.md | kind: proof-note | required-for: qa-proved
319
+ - path: .tmp/wave-10-certification/word-web-certification.md | kind: proof-note | required-for: qa-proved
320
+ - path: .tmp/wave-10-certification/representative-export-validator.json | kind: validation-report | required-for: qa-proved
321
+
322
+ ### Prompt
323
+
324
+ ```text
325
+ Primary goal:
326
+ - Capture the final human-reviewed certification bundle for the declared v1 fixture and scenario surface.
327
+
328
+ Required context before coding:
329
+ - Read docs/reference/repository-guidance.md.
330
+ - Read docs/research/agent-context-sources.md.
331
+ - Read docs/reference/live-proof-waves.md.
332
+ - Read docs/plans/operations/wave-9-manual-certification.md.
333
+
334
+ Operator command sequence:
335
+ - curl -fsS -X POST "$HARNESS_PUBLIC_URL/api/fixtures/F01-basic-contract/run" > .tmp/wave-10-certification/f01-run.json
336
+ - curl -fsS -X POST "$HARNESS_PUBLIC_URL/api/fixtures/F10-threaded-comments-resolve/run" > .tmp/wave-10-certification/f10-run.json
337
+ - curl -fsS -X POST "$HARNESS_PUBLIC_URL/api/fixtures/F11-redlines-basic/run" > .tmp/wave-10-certification/f11-run.json
338
+ - curl -fsS -X POST "$HARNESS_PUBLIC_URL/api/fixtures/F15-sections-headers-footers/run" > .tmp/wave-10-certification/f15-run.json
339
+ - curl -fsS -X POST "$HARNESS_PUBLIC_URL/api/fixtures/F20-unknown-ooxml-and-alternatecontent/run" > .tmp/wave-10-certification/f20-run.json
340
+ - curl -fsS -X POST "$HARNESS_PUBLIC_URL/api/scenarios/S01/run" > .tmp/wave-10-certification/s01-run.json
341
+ - curl -fsS -X POST "$HARNESS_PUBLIC_URL/api/scenarios/S02/run" > .tmp/wave-10-certification/s02-run.json
342
+ - curl -fsS "$HARNESS_PUBLIC_URL/api/runs/$(jq -r '.validationRun.runId' .tmp/wave-10-certification/s02-run.json)" > .tmp/wave-10-certification/representative-export-validator.json
343
+
344
+ Specific expectations:
345
+ - attach Word desktop and Word web observations to concrete run ids
346
+ - include both representative scenario artifacts in the final certification bundle
347
+ - keep unsupported or preserve-only caveats explicit in the notes
348
+ - distinguish preserve-only survival passes from supported-roundtrip semantic passes
349
+
350
+ File ownership (only touch these paths):
351
+ - docs/plans/operations/wave-10-word-certification.md
352
+ - docs/plans/waves/reviews/wave-10-word-certification.md
353
+ - services/react-word-editor/app/certification/[runId]/page.tsx
354
+ - services/react-word-editor/lib/certification-bundle.ts
355
+ - .tmp/wave-10-certification/
356
+ ```
357
+
358
+ ## Agent A3: QA Dashboard And Release Diagnostics
359
+
360
+ ### Executor
361
+
362
+ - profile: implement-fast
363
+ - budget.minutes: 40
364
+
365
+ ### Context7
366
+
367
+ - bundle: railway-harness
368
+ - query: "dashboard views, run history APIs, and operator-readable diagnostics for internal QA surfaces"
369
+
370
+ ### Skills
371
+
372
+ - role-implementation
373
+ - provider-railway
374
+
375
+ ### Components
376
+
377
+ - railway-test-harness
378
+ - compatibility-and-word-validation
379
+
380
+ ### Exit contract
381
+
382
+ - completion: authoritative
383
+ - durability: durable
384
+ - proof: integration
385
+ - doc-impact: owned
386
+
387
+ ### Deliverables
388
+
389
+ - services/react-word-editor/app/dashboard/page.tsx
390
+ - services/react-word-editor/app/api/runs/[runId]/route.ts
391
+ - services/react-word-editor/lib/run-history.ts
392
+ - docs/plans/waves/reviews/wave-10-dashboard-proof.md
393
+
394
+ ### Proof artifacts
395
+
396
+ - path: .tmp/wave-10-certification/dashboard-summary.json | kind: integration-report | required-for: qa-proved
397
+ - path: .tmp/wave-10-certification/run-history-check.json | kind: manifest | required-for: qa-proved
398
+
399
+ ### Prompt
400
+
401
+ ```text
402
+ Primary goal:
403
+ - Give operators one place to inspect regression, certification, validator, accessibility, and performance status before calling the repo qa-proved.
404
+
405
+ Required context before coding:
406
+ - Read docs/reference/repository-guidance.md.
407
+ - Read docs/research/agent-context-sources.md.
408
+ - Read DESIGN.md.
409
+ - Read services/react-word-editor/README.md.
410
+
411
+ Specific expectations:
412
+ - dashboard state must come from stored artifacts, not hand-entered summaries
413
+ - make failures and preserve-only caveats visible at a glance
414
+ - keep certification freshness and signoff state visible alongside validator status
415
+
416
+ File ownership (only touch these paths):
417
+ - services/react-word-editor/app/dashboard/page.tsx
418
+ - services/react-word-editor/app/api/runs/[runId]/route.ts
419
+ - services/react-word-editor/lib/run-history.ts
420
+ - docs/plans/waves/reviews/wave-10-dashboard-proof.md
421
+ - .tmp/wave-10-certification/
422
+ ```
423
+
424
+ ## Agent A4: Service QA Hardening
425
+
426
+ ### Executor
427
+
428
+ - profile: implement-fast
429
+ - budget.minutes: 35
430
+
431
+ ### Context7
432
+
433
+ - bundle: validator-dotnet
434
+ - query: "service readiness, structured errors, Docker packaging, retention docs, and QA-proof support surfaces for internal validation services"
435
+
436
+ ### Skills
437
+
438
+ - role-implementation
439
+ - role-infra
440
+ - provider-railway
441
+
442
+ ### Components
443
+
444
+ - railway-test-harness
445
+ - openxml-sdk-validator-service
446
+
447
+ ### Exit contract
448
+
449
+ - completion: authoritative
450
+ - durability: durable
451
+ - proof: integration
452
+ - doc-impact: owned
453
+
454
+ ### Deliverables
455
+
456
+ - services/openxml-validator/Program.cs
457
+ - services/openxml-validator/README.md
458
+ - services/react-word-editor/README.md
459
+ - docs/plans/waves/reviews/wave-10-service-proof.md
460
+
461
+ ### Proof artifacts
462
+
463
+ - path: .tmp/wave-10-certification/service-health-matrix.json | kind: live-status | required-for: qa-proved
464
+ - path: .tmp/wave-10-certification/service-proof-summary.md | kind: proof-note | required-for: qa-proved
465
+
466
+ ### Prompt
467
+
468
+ ```text
469
+ Primary goal:
470
+ - Harden the internal services enough that the QA bundle includes reliable service diagnostics and docs.
471
+
472
+ Required context before coding:
473
+ - Read docs/reference/repository-guidance.md.
474
+ - Read docs/research/agent-context-sources.md.
475
+ - Read services/react-word-editor/README.md and services/openxml-validator/README.md.
476
+ - Read docs/reference/live-proof-waves.md.
477
+
478
+ Specific expectations:
479
+ - keep the validator service validation-only
480
+ - keep the harness internal-only and explicit about storage and retention
481
+ - call out any service assumptions that would block later fleet-ready work
482
+
483
+ File ownership (only touch these paths):
484
+ - services/openxml-validator/Program.cs
485
+ - services/openxml-validator/README.md
486
+ - services/react-word-editor/README.md
487
+ - docs/plans/waves/reviews/wave-10-service-proof.md
488
+ - .tmp/wave-10-certification/
489
+ ```
490
+
491
+ ## Agent A5: Accessibility And DESIGN Conformance Signoff
492
+
493
+ ### Executor
494
+
495
+ - profile: deep-review
496
+
497
+ ### Context7
498
+
499
+ - bundle: word-editor-ui
500
+ - query: "keyboard navigation, contrast, reduced motion, non-color review cues, and DESIGN.md conformance for final QA"
501
+
502
+ ### Components
503
+
504
+ - react-editor-ui
505
+ - railway-test-harness
506
+
507
+ ### Exit contract
508
+
509
+ - completion: integrated
510
+ - durability: durable
511
+ - proof: integration
512
+ - doc-impact: owned
513
+
514
+ ### Deliverables
515
+
516
+ - docs/plans/waves/reviews/wave-10-accessibility-and-design.md
517
+
518
+ ### Proof artifacts
519
+
520
+ - path: .tmp/wave-10-certification/accessibility-signoff.md | kind: proof-note | required-for: qa-proved
521
+ - path: .tmp/wave-10-certification/design-conformance.md | kind: proof-note | required-for: qa-proved
522
+
523
+ ### Prompt
524
+
525
+ ```text
526
+ Primary goal:
527
+ - Produce the final accessibility and DESIGN.md conformance signoff for the declared v1 surface.
528
+
529
+ Required context before coding:
530
+ - Read DESIGN.md.
531
+ - Read docs/reference/repository-guidance.md.
532
+ - Read docs/research/agent-context-sources.md.
533
+ - Read docs/legal-feedback-architecture.md.
534
+ - Read docs/reference/prototype-agent-prompt-legal-fidelity.md.
535
+ - Read docs/reference/word-review-editor-ux-guide.md.
536
+ - Read docs/plans/waves/wave-10.md.
537
+ - Read the current editor and harness QA surfaces, plus the current `/demo`
538
+ prototype route and fixtures.
539
+
540
+ Specific expectations:
541
+ - verify keyboard navigation, focus-visible states, contrast, reduced motion, and non-color review cues
542
+ - verify that the document surface remains central and the review chrome remains secondary
543
+ - treat any contradiction with DESIGN.md or accessibility requirements as a blocking issue, not a nice-to-have
544
+ - review the prototype as the intended future-shell reference and call out any
545
+ meaningful drift in table communication, preserve-only trust cues, or curated
546
+ browser-typography posture
547
+ - do not translate prototype aspirations into unsupported Wave 10 product claims
548
+ - call out any QA-signed-off wording or layout that would make later first-class
549
+ tables or font-substitution messaging harder to land cleanly
550
+
551
+ File ownership (only touch these paths):
552
+ - docs/plans/waves/reviews/wave-10-accessibility-and-design.md
553
+ - .tmp/wave-10-certification/
554
+ ```
555
+
556
+ ## Agent A6: Performance Budget And Large-Document Signoff
557
+
558
+ ### Executor
559
+
560
+ - profile: proof-owner
561
+ - retry-policy: sticky
562
+
563
+ ### Context7
564
+
565
+ - bundle: word-editor-testing
566
+ - query: "large-document performance budgets, export latency, review interaction latency, and final QA performance evidence"
567
+
568
+ ### Components
569
+
570
+ - react-editor-ui
571
+ - command-and-transaction-runtime
572
+ - compatibility-and-word-validation
573
+
574
+ ### Exit contract
575
+
576
+ - completion: authoritative
577
+ - durability: durable
578
+ - proof: integration
579
+ - doc-impact: owned
580
+
581
+ ### Deliverables
582
+
583
+ - docs/plans/waves/reviews/wave-10-performance-signoff.md
584
+
585
+ ### Proof artifacts
586
+
587
+ - path: .tmp/wave-10-certification/performance-budget.json | kind: integration-report | required-for: qa-proved
588
+ - path: .tmp/wave-10-certification/large-doc-smoke.json | kind: integration-report | required-for: qa-proved
589
+
590
+ ### Prompt
591
+
592
+ ```text
593
+ Primary goal:
594
+ - Produce the final bounded performance signoff for the declared v1 surface.
595
+
596
+ Required context before coding:
597
+ - Read docs/reference/repository-guidance.md.
598
+ - Read docs/research/agent-context-sources.md.
599
+ - Read docs/plans/waves/wave-10.md.
600
+ - Read the Wave 9 performance smoke output and the current staging routes.
601
+
602
+ Specific expectations:
603
+ - define explicit budgets for load, review navigation, accept or reject latency, and export on representative large documents
604
+ - record degradations honestly rather than hiding them inside aggregate numbers
605
+ - block closure if large-document smoke regresses past the declared QA tolerance
606
+
607
+ File ownership (only touch these paths):
608
+ - docs/plans/waves/reviews/wave-10-performance-signoff.md
609
+ - .tmp/wave-10-certification/
610
+ ```
611
+
612
+ ## Agent A7: Release Certification Auditor
613
+
614
+ ### Role prompts
615
+
616
+ - docs/agents/wave-cont-qa-role.md
617
+
618
+ ### Executor
619
+
620
+ - profile: deep-review
621
+
622
+ ### Context7
623
+
624
+ - bundle: word-editor-testing
625
+ - query: "artifact consistency, support-boundary honesty, certification freshness, and final release-style audit before qa-proved"
626
+
627
+ ### Components
628
+
629
+ - compatibility-and-word-validation
630
+ - react-editor-ui
631
+ - railway-test-harness
632
+
633
+ ### Exit contract
634
+
635
+ - completion: integrated
636
+ - durability: durable
637
+ - proof: integration
638
+ - doc-impact: owned
639
+
640
+ ### Deliverables
641
+
642
+ - docs/plans/waves/reviews/wave-10-release-audit.md
643
+
644
+ ### Proof artifacts
645
+
646
+ - path: .tmp/wave-10-certification/release-audit-check.json | kind: integration-report | required-for: qa-proved
647
+
648
+ ### Prompt
649
+
650
+ ```text
651
+ Primary goal:
652
+ - Audit the final Wave 10 bundle the way a skeptical release reviewer would, without granting release-ready status yet.
653
+
654
+ Required context before coding:
655
+ - Read docs/reference/ooxml-compliance.md.
656
+ - Read docs/reference/repository-guidance.md.
657
+ - Read docs/plans/current-state.md.
658
+ - Read docs/plans/waves/wave-10.md and all Wave 10 proof notes.
659
+
660
+ Specific expectations:
661
+ - block closure if the docs, validator evidence, Word notes, accessibility signoff, and performance signoff disagree
662
+ - block closure if any supported-roundtrip or preserve-only claim lacks a matching artifact trail
663
+ - block closure if the final docs quietly imply fleet-ready or public-demo readiness before Wave 11
664
+ - block closure if the QA bundle or docs accidentally collapse the deferred
665
+ legal-fidelity packet into the active v1 contract
666
+
667
+ File ownership (only touch these paths):
668
+ - docs/plans/waves/reviews/wave-10-release-audit.md
669
+ - .tmp/wave-10-certification/
670
+ ```