@beyondwork/docx-react-component 1.0.0 → 1.0.2

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 (560) hide show
  1. package/README.md +44 -104
  2. package/package.json +66 -15
  3. package/src/api/public-types.ts +1 -1
  4. package/src/compare/diff-engine.ts +530 -0
  5. package/src/compare/export-redlines.ts +162 -0
  6. package/src/compare/snapshot.ts +37 -0
  7. package/src/core/commands/index.ts +1 -1
  8. package/src/core/state/editor-state.ts +2 -2
  9. package/src/index.ts +45 -0
  10. package/src/legal/bookmarks.ts +196 -0
  11. package/src/legal/cross-references.ts +356 -0
  12. package/src/legal/defined-terms.ts +203 -0
  13. package/src/runtime/document-runtime.ts +3 -5
  14. package/src/runtime/table-commands.ts +4 -1
  15. package/src/runtime/table-schema.ts +17 -2
  16. package/src/runtime/virtualized-rendering.ts +258 -0
  17. package/src/ui/WordReviewEditor.tsx +256 -35
  18. package/src/ui-tailwind/editor-surface/tw-editor-surface.tsx +2 -2
  19. package/src/ui-tailwind/editor-surface/tw-table-node-view.tsx +16 -2
  20. package/.codex/config.toml +0 -5
  21. package/.corepack/v1/pnpm/10.30.3/.corepack +0 -1
  22. package/.corepack/v1/pnpm/10.30.3/LICENSE +0 -22
  23. package/.corepack/v1/pnpm/10.30.3/README.md +0 -240
  24. package/.corepack/v1/pnpm/10.30.3/dist/node-gyp-bin/node-gyp +0 -6
  25. package/.corepack/v1/pnpm/10.30.3/dist/node-gyp-bin/node-gyp.cmd +0 -5
  26. package/.corepack/v1/pnpm/10.30.3/dist/pnpm.cjs +0 -195400
  27. package/.corepack/v1/pnpm/10.30.3/dist/pnpmrc +0 -2
  28. package/.corepack/v1/pnpm/10.30.3/dist/reflink.darwin-arm64-2HJ4WGO6.node +0 -0
  29. package/.corepack/v1/pnpm/10.30.3/dist/reflink.darwin-x64-3G3H6IW4.node +0 -0
  30. package/.corepack/v1/pnpm/10.30.3/dist/reflink.win32-arm64-msvc-Q6BARPPB.node +0 -0
  31. package/.corepack/v1/pnpm/10.30.3/dist/reflink.win32-x64-msvc-J2TZHRQI.node +0 -0
  32. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.bash +0 -31
  33. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.fish +0 -22
  34. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.ps1 +0 -193
  35. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.zsh +0 -27
  36. package/.corepack/v1/pnpm/10.30.3/dist/vendor/fastlist-0.3.0-x64.exe +0 -0
  37. package/.corepack/v1/pnpm/10.30.3/dist/vendor/fastlist-0.3.0-x86.exe +0 -0
  38. package/.corepack/v1/pnpm/10.30.3/dist/worker.js +0 -10119
  39. package/.corepack/v1/pnpm/10.30.3/package.json +0 -192
  40. package/.cursor/mcp.json +0 -7
  41. package/.github/workflows/ci.yml +0 -35
  42. package/.mcp.json +0 -7
  43. package/.openclaw/workspace-state.json +0 -4
  44. package/.pnpmrc.json +0 -1
  45. package/.wave-launch.sh +0 -7
  46. package/.workspace-marker +0 -1
  47. package/AGENTS.md +0 -78
  48. package/CHANGELOG.md +0 -177
  49. package/DESIGN.md +0 -929
  50. package/HEARTBEAT.md +0 -7
  51. package/IDENTITY.md +0 -23
  52. package/SOUL.md +0 -36
  53. package/TOOLS.md +0 -40
  54. package/USER.md +0 -17
  55. package/docs/README.md +0 -107
  56. package/docs/agents/wave-cont-eval-role.md +0 -36
  57. package/docs/agents/wave-cont-qa-role.md +0 -52
  58. package/docs/agents/wave-deploy-verifier-role.md +0 -34
  59. package/docs/agents/wave-design-role.md +0 -47
  60. package/docs/agents/wave-documentation-role.md +0 -34
  61. package/docs/agents/wave-infra-role.md +0 -34
  62. package/docs/agents/wave-integration-role.md +0 -37
  63. package/docs/agents/wave-launcher-role.md +0 -41
  64. package/docs/agents/wave-orchestrator-role.md +0 -52
  65. package/docs/agents/wave-planner-role.md +0 -39
  66. package/docs/agents/wave-security-role.md +0 -40
  67. package/docs/architecture/docx/README.md +0 -10
  68. package/docs/architecture/future/README.md +0 -8
  69. package/docs/architecture/ooxml-upgrade-analysis.md +0 -134
  70. package/docs/architecture/platform/shared-openxml-editor-platform.md +0 -153
  71. package/docs/architecture/xlsx/canonical-workbook-model-and-commands.md +0 -187
  72. package/docs/architecture/xlsx/spreadsheet-editor-frontend-architecture.md +0 -150
  73. package/docs/comment-redline-overview.md +0 -350
  74. package/docs/concepts/context7-vs-skills.md +0 -118
  75. package/docs/concepts/operating-modes.md +0 -91
  76. package/docs/concepts/runtime-agnostic-orchestration.md +0 -111
  77. package/docs/concepts/what-is-a-wave.md +0 -217
  78. package/docs/context7/bundles.json +0 -222
  79. package/docs/context7/planner-agent/README.md +0 -28
  80. package/docs/context7/planner-agent/manifest.json +0 -83
  81. package/docs/context7/planner-agent/papers/cooperbench-why-coding-agents-cannot-be-your-teammates-yet.md +0 -3283
  82. package/docs/context7/planner-agent/papers/dova-deliberation-first-multi-agent-orchestration-for-autonomous-research-automation.md +0 -1699
  83. package/docs/context7/planner-agent/papers/dpbench-large-language-models-struggle-with-simultaneous-coordination.md +0 -2251
  84. package/docs/context7/planner-agent/papers/incremental-planning-to-control-a-blackboard-based-problem-solver.md +0 -1729
  85. package/docs/context7/planner-agent/papers/silo-bench-a-scalable-environment-for-evaluating-distributed-coordination-in-multi-agent-llm-systems.md +0 -3747
  86. package/docs/context7/planner-agent/papers/todoevolve-learning-to-architect-agent-planning-systems.md +0 -1675
  87. package/docs/context7/planner-agent/papers/verified-multi-agent-orchestration-a-plan-execute-verify-replan-framework-for-complex-query-resolution.md +0 -1173
  88. package/docs/context7/planner-agent/papers/why-do-multi-agent-llm-systems-fail.md +0 -5211
  89. package/docs/context7/planner-agent/topics/planning-and-orchestration.md +0 -24
  90. package/docs/evals/arm-templates/README.md +0 -13
  91. package/docs/evals/arm-templates/full-wave.json +0 -15
  92. package/docs/evals/arm-templates/single-agent.json +0 -15
  93. package/docs/evals/benchmark-catalog.json +0 -670
  94. package/docs/evals/cases/README.md +0 -47
  95. package/docs/evals/cases/wave-blackboard-inbox-targeting.json +0 -73
  96. package/docs/evals/cases/wave-contradiction-conflict.json +0 -104
  97. package/docs/evals/cases/wave-expert-routing-preservation.json +0 -69
  98. package/docs/evals/cases/wave-hidden-profile-private-evidence.json +0 -81
  99. package/docs/evals/cases/wave-premature-closure-guard.json +0 -71
  100. package/docs/evals/cases/wave-silo-cross-agent-state.json +0 -77
  101. package/docs/evals/cases/wave-simultaneous-lockstep.json +0 -92
  102. package/docs/evals/external-benchmarks.json +0 -85
  103. package/docs/evals/external-command-config.sample.json +0 -9
  104. package/docs/evals/external-command-config.swe-bench-pro.json +0 -8
  105. package/docs/evals/pilots/README.md +0 -47
  106. package/docs/evals/pilots/swe-bench-pro-public-full-wave-review-10.json +0 -64
  107. package/docs/evals/pilots/swe-bench-pro-public-pilot.json +0 -111
  108. package/docs/evals/wave-benchmark-program.md +0 -302
  109. package/docs/guides/planner.md +0 -220
  110. package/docs/guides/recommendations-0.8.9.md +0 -133
  111. package/docs/guides/signal-wrappers.md +0 -165
  112. package/docs/guides/terminal-surfaces.md +0 -96
  113. package/docs/image copy.png +0 -0
  114. package/docs/image.png +0 -0
  115. package/docs/images/image.png +0 -0
  116. package/docs/legal-feedback-architecture.md +0 -498
  117. package/docs/plans/component-cutover-matrix.json +0 -1072
  118. package/docs/plans/component-cutover-matrix.md +0 -307
  119. package/docs/plans/context7-wave-orchestrator.md +0 -155
  120. package/docs/plans/current-state.md +0 -198
  121. package/docs/plans/docx/README.md +0 -9
  122. package/docs/plans/examples/wave-benchmark-improvement.md +0 -108
  123. package/docs/plans/examples/wave-example-live-proof.md +0 -435
  124. package/docs/plans/master-plan.md +0 -224
  125. package/docs/plans/migration.md +0 -538
  126. package/docs/plans/operations/README.md +0 -7
  127. package/docs/plans/operations/wave-10-word-certification.md +0 -87
  128. package/docs/plans/operations/wave-8-railway-staging.md +0 -153
  129. package/docs/plans/operations/wave-9-manual-certification.md +0 -73
  130. package/docs/plans/platform/README.md +0 -9
  131. package/docs/plans/reference/legal-checklist-coverage.md +0 -258
  132. package/docs/plans/wave-orchestrator.md +0 -423
  133. package/docs/plans/waves/README.md +0 -75
  134. package/docs/plans/waves/completed/wave-0.md +0 -195
  135. package/docs/plans/waves/completed/wave-1.md +0 -379
  136. package/docs/plans/waves/completed/wave-10.md +0 -670
  137. package/docs/plans/waves/completed/wave-11.md +0 -335
  138. package/docs/plans/waves/completed/wave-12.md +0 -417
  139. package/docs/plans/waves/completed/wave-13.md +0 -316
  140. package/docs/plans/waves/completed/wave-14.md +0 -319
  141. package/docs/plans/waves/completed/wave-15.md +0 -321
  142. package/docs/plans/waves/completed/wave-16.md +0 -316
  143. package/docs/plans/waves/completed/wave-17.md +0 -331
  144. package/docs/plans/waves/completed/wave-18.md +0 -328
  145. package/docs/plans/waves/completed/wave-2.md +0 -438
  146. package/docs/plans/waves/completed/wave-3.md +0 -435
  147. package/docs/plans/waves/completed/wave-4.md +0 -430
  148. package/docs/plans/waves/completed/wave-5.md +0 -430
  149. package/docs/plans/waves/completed/wave-6.md +0 -430
  150. package/docs/plans/waves/completed/wave-7.md +0 -526
  151. package/docs/plans/waves/completed/wave-8.md +0 -596
  152. package/docs/plans/waves/completed/wave-9.md +0 -552
  153. package/docs/plans/waves/deferred/README.md +0 -14
  154. package/docs/plans/waves/deferred/encrypted-intake-contracts.md +0 -282
  155. package/docs/plans/waves/deferred/legal-feedback-wave-expansion.md +0 -308
  156. package/docs/plans/waves/deferred/wave-encrypted-intake.md +0 -451
  157. package/docs/plans/waves/design/README.md +0 -5
  158. package/docs/plans/waves/design/wave-1-a1.md +0 -309
  159. package/docs/plans/waves/reviews/README.md +0 -5
  160. package/docs/plans/waves/reviews/wave-0-cont-qa.md +0 -151
  161. package/docs/plans/waves/reviews/wave-1-cont-qa.md +0 -46
  162. package/docs/plans/waves/reviews/wave-10-accessibility-and-design.md +0 -51
  163. package/docs/plans/waves/reviews/wave-10-cont-qa.md +0 -24
  164. package/docs/plans/waves/reviews/wave-10-dashboard-proof.md +0 -46
  165. package/docs/plans/waves/reviews/wave-10-performance-signoff.md +0 -55
  166. package/docs/plans/waves/reviews/wave-10-regression-proof.md +0 -23
  167. package/docs/plans/waves/reviews/wave-10-release-audit.md +0 -31
  168. package/docs/plans/waves/reviews/wave-10-service-proof.md +0 -83
  169. package/docs/plans/waves/reviews/wave-10-word-certification.md +0 -31
  170. package/docs/plans/waves/reviews/wave-18-ai-contract-closure.md +0 -277
  171. package/docs/plans/waves/reviews/wave-18-cont-qa.md +0 -255
  172. package/docs/plans/waves/reviews/wave-18-parity-proof.md +0 -271
  173. package/docs/plans/waves/reviews/wave-19-cont-qa.md +0 -59
  174. package/docs/plans/waves/reviews/wave-2-cont-qa.md +0 -72
  175. package/docs/plans/waves/reviews/wave-20-cont-qa.md +0 -60
  176. package/docs/plans/waves/reviews/wave-25-cont-qa.md +0 -48
  177. package/docs/plans/waves/reviews/wave-28-cont-qa.md +0 -46
  178. package/docs/plans/waves/reviews/wave-29-cont-qa.md +0 -53
  179. package/docs/plans/waves/reviews/wave-3-cont-qa.md +0 -53
  180. package/docs/plans/waves/reviews/wave-3-core-proof.md +0 -77
  181. package/docs/plans/waves/reviews/wave-3-validator-proof.md +0 -73
  182. package/docs/plans/waves/reviews/wave-32-cont-qa.md +0 -43
  183. package/docs/plans/waves/reviews/wave-33-cont-qa.md +0 -526
  184. package/docs/plans/waves/reviews/wave-34-cont-qa.md +0 -100
  185. package/docs/plans/waves/reviews/wave-35-cont-qa.md +0 -145
  186. package/docs/plans/waves/reviews/wave-4-cont-qa.md +0 -47
  187. package/docs/plans/waves/reviews/wave-4-structure-proof.md +0 -69
  188. package/docs/plans/waves/reviews/wave-5-comment-proof.md +0 -158
  189. package/docs/plans/waves/reviews/wave-5-cont-qa.md +0 -68
  190. package/docs/plans/waves/reviews/wave-6-cont-qa.md +0 -416
  191. package/docs/plans/waves/reviews/wave-6-redline-proof.md +0 -130
  192. package/docs/plans/waves/reviews/wave-7-cont-qa.md +0 -82
  193. package/docs/plans/waves/reviews/wave-7-ooxml-compliance.md +0 -85
  194. package/docs/plans/waves/reviews/wave-7-preservation-proof.md +0 -119
  195. package/docs/plans/waves/reviews/wave-7-trust-ux.md +0 -87
  196. package/docs/plans/waves/reviews/wave-8-accessibility-and-design.md +0 -128
  197. package/docs/plans/waves/reviews/wave-8-cont-qa.md +0 -92
  198. package/docs/plans/waves/reviews/wave-8-live-proof.md +0 -140
  199. package/docs/plans/waves/reviews/wave-8-security.md +0 -47
  200. package/docs/plans/waves/reviews/wave-9-editor-embedding.md +0 -39
  201. package/docs/plans/waves/reviews/wave-9-fixture-runner.md +0 -56
  202. package/docs/plans/waves/reviews/wave-9-live-proof.md +0 -105
  203. package/docs/plans/waves/reviews/wave-9-usability-and-performance.md +0 -152
  204. package/docs/plans/waves/specs/README.md +0 -5
  205. package/docs/plans/waves/specs/wave-1-component-boundaries.md +0 -322
  206. package/docs/plans/waves/specs/wave-1-ooxml-contracts.md +0 -323
  207. package/docs/plans/waves/specs/wave-1-review-and-ui-contracts.md +0 -339
  208. package/docs/plans/waves/specs/wave-1-runtime-contracts.md +0 -509
  209. package/docs/plans/waves/wave-19.md +0 -341
  210. package/docs/plans/waves/wave-20.md +0 -308
  211. package/docs/plans/waves/wave-21.md +0 -289
  212. package/docs/plans/waves/wave-22.md +0 -221
  213. package/docs/plans/waves/wave-23.md +0 -295
  214. package/docs/plans/waves/wave-24.md +0 -286
  215. package/docs/plans/waves/wave-25.md +0 -313
  216. package/docs/plans/waves/wave-26.md +0 -300
  217. package/docs/plans/waves/wave-27.md +0 -299
  218. package/docs/plans/waves/wave-28.md +0 -368
  219. package/docs/plans/waves/wave-29.md +0 -303
  220. package/docs/plans/waves/wave-30.md +0 -307
  221. package/docs/plans/waves/wave-31.md +0 -231
  222. package/docs/plans/waves/wave-32.md +0 -152
  223. package/docs/plans/waves/wave-33.md +0 -147
  224. package/docs/plans/waves/wave-34.md +0 -148
  225. package/docs/plans/waves/wave-35.md +0 -141
  226. package/docs/plans/waves/wave-36.md +0 -146
  227. package/docs/plans/xlsx/README.md +0 -14
  228. package/docs/plans/xlsx/xlsx-fixture-corpus-and-certification-plan.md +0 -126
  229. package/docs/reference/cli-reference.md +0 -600
  230. package/docs/reference/coordination-and-closure.md +0 -487
  231. package/docs/reference/deep-research-report (15).md +0 -25
  232. package/docs/reference/docx/README.md +0 -10
  233. package/docs/reference/legal-checklist.md +0 -445
  234. package/docs/reference/live-proof-waves.md +0 -199
  235. package/docs/reference/ooxml-compliance.md +0 -129
  236. package/docs/reference/ooxml-feature-parity-matrix.md +0 -172
  237. package/docs/reference/platform/shared-ooxml-platform-guidance.md +0 -77
  238. package/docs/reference/prototype-agent-prompt-legal-fidelity.md +0 -155
  239. package/docs/reference/public-api.md +0 -456
  240. package/docs/reference/repository-guidance.md +0 -58
  241. package/docs/reference/runtime-config/README.md +0 -182
  242. package/docs/reference/runtime-config/claude.md +0 -110
  243. package/docs/reference/runtime-config/codex.md +0 -82
  244. package/docs/reference/runtime-config/opencode.md +0 -93
  245. package/docs/reference/sample-waves.md +0 -105
  246. package/docs/reference/skills.md +0 -237
  247. package/docs/reference/templates/AGENTS.md +0 -78
  248. package/docs/reference/templates/HEARTBEAT.md +0 -7
  249. package/docs/reference/templates/IDENTITY.md +0 -23
  250. package/docs/reference/templates/SOUL.md +0 -36
  251. package/docs/reference/templates/TOOLS.md +0 -40
  252. package/docs/reference/templates/USER.md +0 -17
  253. package/docs/reference/wave-control.md +0 -184
  254. package/docs/reference/wave-planning-lessons.md +0 -167
  255. package/docs/reference/word-review-editor-frontend-architecture.md +0 -479
  256. package/docs/reference/word-review-editor-ux-guide.md +0 -253
  257. package/docs/reference/xlsx/xlsx-ooxml-compliance.md +0 -137
  258. package/docs/research/agent-context-sources.md +0 -178
  259. package/docs/research/coordination-failure-review.md +0 -290
  260. package/docs/research/docx-react-component/Canonical Document Schema Specification for a React-based Word-compatible Editor.md +0 -2317
  261. package/docs/research/docx-react-component/Feature Compatibility Matrix for a React Word Compatible Legal Editor v1.md +0 -219
  262. package/docs/research/docx-react-component/React Component Architecture and Front-End Structure Specification for a Word-Compatible Legal Review Editor.md +0 -1112
  263. package/docs/research/docx-react-component/document_compatibility_and_testing_spec.md +0 -751
  264. package/docs/research/xlsx/raw/README.md +0 -13
  265. package/docs/roadmap.md +0 -174
  266. package/docs/superpowers/plans/2026-03-28-harness-control-bar.md +0 -677
  267. package/docs/superpowers/specs/2026-03-28-harness-control-bar-design.md +0 -274
  268. package/docs/xlsx-react/README.md +0 -38
  269. package/docs/xlsx-react/agent-llm-interaction-layer-docx-xlsx.md +0 -621
  270. package/docs/xlsx-react/canonical-workbook-model-and-commands.md +0 -948
  271. package/docs/xlsx-react/shared-openxml-editor-platform-docx-xlsx.md +0 -228
  272. package/docs/xlsx-react/spreadsheet-editor-component-architecture.md +0 -809
  273. package/docs/xlsx-react/spreadsheet-editor-frontend-architecture.md +0 -537
  274. package/docs/xlsx-react/spreadsheet-editor-ux-guide.md +0 -520
  275. package/docs/xlsx-react/xlsx-editor-research-pack.md +0 -871
  276. package/docs/xlsx-react/xlsx-fixture-corpus-and-certification-plan.md +0 -436
  277. package/docs/xlsx-react/xlsx-ooxml-compliance.md +0 -320
  278. package/examples/README.md +0 -16
  279. package/memory/MEMORY.md +0 -24
  280. package/pnpm-workspace.yaml +0 -4
  281. package/scripts/check-no-authored-js.sh +0 -13
  282. package/scripts/context7-api-check.sh +0 -65
  283. package/scripts/context7-export-env.sh +0 -42
  284. package/scripts/run-context7-mcp.sh +0 -8
  285. package/scripts/run-workspace-tests.sh +0 -15
  286. package/scripts/start-wave-10-local.sh +0 -189
  287. package/scripts/wave-agent-attach.sh +0 -47
  288. package/scripts/wave-auto-answer.sh +0 -118
  289. package/scripts/wave-dashboard-attach.sh +0 -13
  290. package/scripts/wave-launch.sh +0 -273
  291. package/scripts/wave-overnight-supervisor.sh +0 -145
  292. package/scripts/wave-status.sh +0 -379
  293. package/scripts/wave-watch.sh +0 -231
  294. package/services/README.md +0 -17
  295. package/services/openxml-validator/Dockerfile +0 -29
  296. package/services/openxml-validator/OpenXmlValidator.Api.csproj +0 -12
  297. package/services/openxml-validator/Program.cs +0 -436
  298. package/services/openxml-validator/README.md +0 -152
  299. package/services/openxml-validator/railway.json +0 -16
  300. package/services/react-word-editor/.tmp-a4/src/api/public-types.ts +0 -318
  301. package/services/react-word-editor/.tmp-a4/src/ui/WordReviewEditor.tsx +0 -1302
  302. package/services/react-word-editor/.tmp-a4/src/ui/editor-surface/editor-surface.tsx +0 -546
  303. package/services/react-word-editor/.tmp-a4/test/ui/word-review-editor.test.tsx +0 -146
  304. package/services/react-word-editor/.tmp-a4-build/src/api/public-types.js +0 -2
  305. package/services/react-word-editor/.tmp-a4-build/src/ui/WordReviewEditor.js +0 -818
  306. package/services/react-word-editor/.tmp-a4-build/src/ui/editor-surface/editor-surface.js +0 -229
  307. package/services/react-word-editor/.tmp-a4-build/test/ui/word-review-editor.test.js +0 -121
  308. package/services/react-word-editor/.tmp-wave-4-a3-tsconfig.json +0 -21
  309. package/services/react-word-editor/.tmp-wave-4-a3-tsconfig.tsbuildinfo +0 -1
  310. package/services/react-word-editor/Dockerfile +0 -26
  311. package/services/react-word-editor/README.md +0 -254
  312. package/services/react-word-editor/app/api/certification/route.ts +0 -79
  313. package/services/react-word-editor/app/api/demo-sessions/route.ts +0 -109
  314. package/services/react-word-editor/app/api/deploy-health/route.ts +0 -23
  315. package/services/react-word-editor/app/api/exports/[exportId]/route.ts +0 -34
  316. package/services/react-word-editor/app/api/exports/route.ts +0 -81
  317. package/services/react-word-editor/app/api/fixtures/[fixtureId]/run/route.ts +0 -100
  318. package/services/react-word-editor/app/api/health/route.ts +0 -70
  319. package/services/react-word-editor/app/api/runs/[runId]/route.ts +0 -36
  320. package/services/react-word-editor/app/api/scenarios/[scenarioId]/run/route.ts +0 -85
  321. package/services/react-word-editor/app/api/sessions/[sessionId]/route.ts +0 -199
  322. package/services/react-word-editor/app/api/sessions/[sessionId]/source/route.ts +0 -45
  323. package/services/react-word-editor/app/api/uploads/route.ts +0 -70
  324. package/services/react-word-editor/app/api/validate/route.ts +0 -310
  325. package/services/react-word-editor/app/certification/[runId]/page.tsx +0 -14
  326. package/services/react-word-editor/app/certification/page.tsx +0 -32
  327. package/services/react-word-editor/app/dashboard/page.tsx +0 -7
  328. package/services/react-word-editor/app/demo/page.tsx +0 -30
  329. package/services/react-word-editor/app/demo/prototype-client.tsx +0 -1080
  330. package/services/react-word-editor/app/editor/[sessionId]/page.tsx +0 -33
  331. package/services/react-word-editor/app/fixtures/page.tsx +0 -7
  332. package/services/react-word-editor/app/globals.css +0 -121
  333. package/services/react-word-editor/app/layout.tsx +0 -32
  334. package/services/react-word-editor/app/page.tsx +0 -30
  335. package/services/react-word-editor/app/runs/[runId]/page.tsx +0 -34
  336. package/services/react-word-editor/app/wave-10-word-review/page.tsx +0 -7
  337. package/services/react-word-editor/components/harness-control-bar.tsx +0 -289
  338. package/services/react-word-editor/components/harness-editor-session-client.tsx +0 -1214
  339. package/services/react-word-editor/components/harness-workspace-page.tsx +0 -715
  340. package/services/react-word-editor/components/reduced-motion-toggle.tsx +0 -79
  341. package/services/react-word-editor/components/workspace-certification-panel.tsx +0 -307
  342. package/services/react-word-editor/lib/certification-bundle.ts +0 -796
  343. package/services/react-word-editor/lib/certification-store.ts +0 -661
  344. package/services/react-word-editor/lib/demo-fixtures.test.mjs +0 -195
  345. package/services/react-word-editor/lib/demo-fixtures.ts +0 -1519
  346. package/services/react-word-editor/lib/editor-session-summary.test.mjs +0 -68
  347. package/services/react-word-editor/lib/editor-session-summary.ts +0 -14
  348. package/services/react-word-editor/lib/editor-session.ts +0 -228
  349. package/services/react-word-editor/lib/exports-route.test.mjs +0 -32
  350. package/services/react-word-editor/lib/harness-client.ts +0 -347
  351. package/services/react-word-editor/lib/harness-config.json +0 -30
  352. package/services/react-word-editor/lib/harness-config.test.mjs +0 -31
  353. package/services/react-word-editor/lib/harness-config.ts +0 -21
  354. package/services/react-word-editor/lib/harness-editor-datastore.test.mjs +0 -220
  355. package/services/react-word-editor/lib/harness-editor-datastore.ts +0 -161
  356. package/services/react-word-editor/lib/private-mode.test.mjs +0 -42
  357. package/services/react-word-editor/lib/private-mode.ts +0 -61
  358. package/services/react-word-editor/lib/regression-report.test.mjs +0 -352
  359. package/services/react-word-editor/lib/regression-report.ts +0 -896
  360. package/services/react-word-editor/lib/run-artifacts.ts +0 -934
  361. package/services/react-word-editor/lib/run-history.ts +0 -755
  362. package/services/react-word-editor/lib/scenario-artifacts.test.mjs +0 -41
  363. package/services/react-word-editor/lib/scenario-artifacts.ts +0 -44
  364. package/services/react-word-editor/lib/storage.ts +0 -953
  365. package/services/react-word-editor/lib/validator-client.test.mjs +0 -54
  366. package/services/react-word-editor/lib/validator-client.ts +0 -95
  367. package/services/react-word-editor/lib/workspace-navigation.ts +0 -79
  368. package/services/react-word-editor/middleware.ts +0 -35
  369. package/services/react-word-editor/next-env.d.ts +0 -6
  370. package/services/react-word-editor/next.config.mjs +0 -15
  371. package/services/react-word-editor/package.json +0 -38
  372. package/services/react-word-editor/postcss.config.mjs +0 -8
  373. package/services/react-word-editor/railway.json +0 -21
  374. package/services/react-word-editor/scripts/wave-10-certification.mjs +0 -101
  375. package/services/react-word-editor/scripts/wave-9-live-usability-pilot.mjs +0 -911
  376. package/services/react-word-editor/tsconfig.json +0 -39
  377. package/services/react-word-editor/tsconfig.tsbuildinfo +0 -1
  378. package/skills/README.md +0 -48
  379. package/skills/domain-docx-compatibility/SKILL.md +0 -44
  380. package/skills/domain-docx-compatibility/skill.json +0 -19
  381. package/skills/domain-editor-architecture/SKILL.md +0 -49
  382. package/skills/domain-editor-architecture/skill.json +0 -19
  383. package/skills/domain-legal-review/SKILL.md +0 -39
  384. package/skills/domain-legal-review/skill.json +0 -19
  385. package/skills/provider-aws/SKILL.md +0 -117
  386. package/skills/provider-aws/adapters/claude.md +0 -1
  387. package/skills/provider-aws/adapters/codex.md +0 -1
  388. package/skills/provider-aws/references/service-verification.md +0 -39
  389. package/skills/provider-aws/skill.json +0 -54
  390. package/skills/provider-custom-deploy/SKILL.md +0 -64
  391. package/skills/provider-custom-deploy/skill.json +0 -50
  392. package/skills/provider-docker-compose/SKILL.md +0 -96
  393. package/skills/provider-docker-compose/adapters/local.md +0 -1
  394. package/skills/provider-docker-compose/skill.json +0 -53
  395. package/skills/provider-github-release/SKILL.md +0 -121
  396. package/skills/provider-github-release/adapters/claude.md +0 -1
  397. package/skills/provider-github-release/adapters/codex.md +0 -1
  398. package/skills/provider-github-release/skill.json +0 -55
  399. package/skills/provider-kubernetes/SKILL.md +0 -143
  400. package/skills/provider-kubernetes/adapters/claude.md +0 -1
  401. package/skills/provider-kubernetes/adapters/codex.md +0 -1
  402. package/skills/provider-kubernetes/references/kubectl-patterns.md +0 -58
  403. package/skills/provider-kubernetes/skill.json +0 -52
  404. package/skills/provider-railway/SKILL.md +0 -123
  405. package/skills/provider-railway/adapters/claude.md +0 -1
  406. package/skills/provider-railway/adapters/codex.md +0 -1
  407. package/skills/provider-railway/adapters/local.md +0 -1
  408. package/skills/provider-railway/adapters/opencode.md +0 -1
  409. package/skills/provider-railway/references/verification-commands.md +0 -39
  410. package/skills/provider-railway/skill.json +0 -71
  411. package/skills/provider-ssh-manual/SKILL.md +0 -97
  412. package/skills/provider-ssh-manual/skill.json +0 -54
  413. package/skills/repo-coding-rules/SKILL.md +0 -55
  414. package/skills/repo-coding-rules/skill.json +0 -34
  415. package/skills/role-cont-eval/SKILL.md +0 -91
  416. package/skills/role-cont-eval/adapters/codex.md +0 -1
  417. package/skills/role-cont-eval/skill.json +0 -36
  418. package/skills/role-cont-qa/SKILL.md +0 -100
  419. package/skills/role-cont-qa/adapters/claude.md +0 -1
  420. package/skills/role-cont-qa/skill.json +0 -36
  421. package/skills/role-deploy/SKILL.md +0 -97
  422. package/skills/role-deploy/skill.json +0 -36
  423. package/skills/role-design/SKILL.md +0 -50
  424. package/skills/role-design/skill.json +0 -36
  425. package/skills/role-documentation/SKILL.md +0 -76
  426. package/skills/role-documentation/skill.json +0 -36
  427. package/skills/role-implementation/SKILL.md +0 -45
  428. package/skills/role-implementation/skill.json +0 -36
  429. package/skills/role-infra/SKILL.md +0 -81
  430. package/skills/role-infra/skill.json +0 -36
  431. package/skills/role-integration/SKILL.md +0 -91
  432. package/skills/role-integration/skill.json +0 -36
  433. package/skills/role-planner/SKILL.md +0 -39
  434. package/skills/role-planner/skill.json +0 -21
  435. package/skills/role-research/SKILL.md +0 -65
  436. package/skills/role-research/skill.json +0 -36
  437. package/skills/role-security/SKILL.md +0 -60
  438. package/skills/role-security/skill.json +0 -36
  439. package/skills/runtime-claude/SKILL.md +0 -66
  440. package/skills/runtime-claude/skill.json +0 -36
  441. package/skills/runtime-codex/SKILL.md +0 -58
  442. package/skills/runtime-codex/skill.json +0 -36
  443. package/skills/runtime-local/SKILL.md +0 -46
  444. package/skills/runtime-local/skill.json +0 -36
  445. package/skills/runtime-opencode/SKILL.md +0 -58
  446. package/skills/runtime-opencode/skill.json +0 -36
  447. package/skills/signal-hygiene/SKILL.md +0 -51
  448. package/skills/signal-hygiene/skill.json +0 -20
  449. package/skills/tui-design/SKILL.md +0 -77
  450. package/skills/tui-design/references/tui-design.md +0 -259
  451. package/skills/tui-design/skill.json +0 -36
  452. package/skills/wave-core/SKILL.md +0 -141
  453. package/skills/wave-core/references/marker-syntax.md +0 -70
  454. package/skills/wave-core/skill.json +0 -35
  455. package/test/README.md +0 -16
  456. package/test/core/formatting-commands.test.ts +0 -285
  457. package/test/core/image-commands.test.ts +0 -298
  458. package/test/core/mapping.test.ts +0 -186
  459. package/test/core/text-commands.test.ts +0 -176
  460. package/test/fixtures/docx/F01-basic-contract.docx +0 -0
  461. package/test/fixtures/docx/F01-basic-contract.md +0 -33
  462. package/test/fixtures/docx/F02-headings-styles.docx +0 -0
  463. package/test/fixtures/docx/F02-headings-styles.md +0 -33
  464. package/test/fixtures/docx/F03-legal-outline-numbering.docx +0 -0
  465. package/test/fixtures/docx/F03-legal-outline-numbering.md +0 -34
  466. package/test/fixtures/docx/F04-restart-numbering-schedules.docx +0 -0
  467. package/test/fixtures/docx/F04-restart-numbering-schedules.md +0 -33
  468. package/test/fixtures/docx/F05-table-heavy-agreement.docx +0 -0
  469. package/test/fixtures/docx/F05-table-heavy-agreement.md +0 -34
  470. package/test/fixtures/docx/F06-merged-cells-signature-table.docx +0 -0
  471. package/test/fixtures/docx/F06-merged-cells-signature-table.md +0 -34
  472. package/test/fixtures/docx/F07-inline-images-exhibit.docx +0 -0
  473. package/test/fixtures/docx/F07-inline-images-exhibit.md +0 -34
  474. package/test/fixtures/docx/F08-hyperlinks.docx +0 -0
  475. package/test/fixtures/docx/F08-hyperlinks.md +0 -33
  476. package/test/fixtures/docx/F09-comments-single-paragraph.docx +0 -0
  477. package/test/fixtures/docx/F09-comments-single-paragraph.md +0 -33
  478. package/test/fixtures/docx/F10-threaded-comments-resolve.docx +0 -0
  479. package/test/fixtures/docx/F10-threaded-comments-resolve.md +0 -33
  480. package/test/fixtures/docx/F11-redlines-basic.docx +0 -0
  481. package/test/fixtures/docx/F11-redlines-basic.md +0 -33
  482. package/test/fixtures/docx/F12-redlines-paragraph-joins-splits.docx +0 -0
  483. package/test/fixtures/docx/F12-redlines-paragraph-joins-splits.md +0 -33
  484. package/test/fixtures/docx/F13-comments-on-deleted-text.docx +0 -0
  485. package/test/fixtures/docx/F13-comments-on-deleted-text.md +0 -33
  486. package/test/fixtures/docx/F14-revisions-in-tables-and-lists.docx +0 -0
  487. package/test/fixtures/docx/F14-revisions-in-tables-and-lists.md +0 -33
  488. package/test/fixtures/docx/F15-sections-headers-footers.docx +0 -0
  489. package/test/fixtures/docx/F15-sections-headers-footers.md +0 -33
  490. package/test/fixtures/docx/F16-footnotes-endnotes.docx +0 -0
  491. package/test/fixtures/docx/F16-footnotes-endnotes.md +0 -33
  492. package/test/fixtures/docx/F17-fields-and-toc.docx +0 -0
  493. package/test/fixtures/docx/F17-fields-and-toc.md +0 -33
  494. package/test/fixtures/docx/F18-content-controls-template.docx +0 -0
  495. package/test/fixtures/docx/F18-content-controls-template.md +0 -33
  496. package/test/fixtures/docx/F19-custom-xml-doc-assembly.docx +0 -0
  497. package/test/fixtures/docx/F19-custom-xml-doc-assembly.md +0 -35
  498. package/test/fixtures/docx/F20-unknown-ooxml-and-alternatecontent.docx +0 -0
  499. package/test/fixtures/docx/F20-unknown-ooxml-and-alternatecontent.md +0 -33
  500. package/test/fixtures/docx/F21-malformed-broken-docx.docx +0 -0
  501. package/test/fixtures/docx/F21-malformed-broken-docx.md +0 -33
  502. package/test/fixtures/docx/README.md +0 -74
  503. package/test/fixtures/docx/certification-manifest.json +0 -104
  504. package/test/fixtures/docx/fixtures.manifest.json +0 -196
  505. package/test/fixtures/encrypted-docx/README.md +0 -27
  506. package/test/fixtures/encrypted-docx/certification-manifest.json +0 -9
  507. package/test/fixtures/encrypted-docx/fixtures.manifest.json +0 -47
  508. package/test/fixtures/scenarios/docx/README.md +0 -25
  509. package/test/fixtures/scenarios/docx/S01-sow-template.docx +0 -0
  510. package/test/fixtures/scenarios/docx/S01-sow-template.md +0 -30
  511. package/test/fixtures/scenarios/docx/S02-bw-partner-user-licence-agreement-redlines.docx +0 -0
  512. package/test/fixtures/scenarios/docx/S02-bw-partner-user-licence-agreement-redlines.md +0 -32
  513. package/test/fixtures/scenarios/docx/scenario-manifest.json +0 -53
  514. package/test/formats/xlsx/io/xlsx-import.test.ts +0 -766
  515. package/test/formats/xlsx/model/workbook.test.ts +0 -669
  516. package/test/helpers/dom-setup.ts +0 -124
  517. package/test/io/comment-roundtrip.test.ts +0 -272
  518. package/test/io/complex-content-roundtrip.test.ts +0 -632
  519. package/test/io/docx-compatibility-regression.test.ts +0 -199
  520. package/test/io/docx-session.test.ts +0 -1495
  521. package/test/io/footnotes-roundtrip.test.ts +0 -318
  522. package/test/io/headers-footers-roundtrip.test.ts +0 -547
  523. package/test/io/numbering-roundtrip.test.ts +0 -234
  524. package/test/io/package-reader.test.ts +0 -199
  525. package/test/io/paragraph-properties-roundtrip.test.ts +0 -129
  526. package/test/io/preserved-package-roundtrip.test.ts +0 -365
  527. package/test/io/property-completeness.test.ts +0 -292
  528. package/test/io/revision-roundtrip.test.ts +0 -347
  529. package/test/io/structural-blocks.test.ts +0 -202
  530. package/test/io/table-media-roundtrip.test.ts +0 -448
  531. package/test/io/table-properties-roundtrip.test.ts +0 -569
  532. package/test/io/table-roundtrip.test.ts +0 -302
  533. package/test/io/text-roundtrip.test.ts +0 -344
  534. package/test/model/canonical-document.test.ts +0 -285
  535. package/test/preservation/opaque-fragment-store.test.ts +0 -121
  536. package/test/preservation/package-preservation.test.ts +0 -395
  537. package/test/preservation/store.test.ts +0 -84
  538. package/test/review/comment-remapping.test.ts +0 -220
  539. package/test/review/comment-store.test.ts +0 -180
  540. package/test/review/move-revisions.test.ts +0 -143
  541. package/test/review/property-change-revisions.test.ts +0 -225
  542. package/test/review/revision-actions.test.ts +0 -330
  543. package/test/review/revision-store.test.ts +0 -193
  544. package/test/runtime/session-capabilities.test.ts +0 -260
  545. package/test/runtime/table-commands.test.ts +0 -356
  546. package/test/runtime/table-schema.test.ts +0 -221
  547. package/test/runtime/tracked-changes-toggle.test.ts +0 -107
  548. package/test/ui/comment-review-surface.test.tsx +0 -114
  549. package/test/ui/reduced-motion-toggle.test.tsx +0 -137
  550. package/test/ui/word-review-editor.imported-scenarios.test.tsx +0 -169
  551. package/test/ui/word-review-editor.interaction.test.tsx +0 -1198
  552. package/test/ui/word-review-editor.test.js +0 -188
  553. package/test/ui/word-review-editor.test.tsx +0 -280
  554. package/test/ui-tailwind/search-plugin.test.ts +0 -286
  555. package/test/validation/compatibility-engine.test.ts +0 -336
  556. package/test/validation/compatibility-report.test.ts +0 -189
  557. package/test/validation/low-priority-word-surfaces.test.ts +0 -282
  558. package/test/validation/malformed-doc.test.ts +0 -113
  559. package/test-results/.last-run.json +0 -4
  560. package/wave.config.json +0 -406
@@ -1,145 +0,0 @@
1
- # Wave 35 cont-QA Review
2
-
3
- - Wave: 35
4
- - Agent: A0
5
- - Role: cont-QA
6
- - Reviewed: 2026-04-06
7
- - Verdict: PASS
8
-
9
- ---
10
-
11
- ## Summary
12
-
13
- Wave 35 targets the `track-change-extensions` component and declares a single promotion: `baseline-proved`. The implementation is owned by A1. A8 performed integration synthesis. A9 confirmed shared-plan documentation closure.
14
-
15
- This review judges the landed evidence against the declared exit contract and component promotion target.
16
-
17
- ---
18
-
19
- ## Exit Contract Verification — A1
20
-
21
- Declared exit contract:
22
- - completion: authoritative
23
- - durability: durable
24
- - proof: integration
25
- - doc-impact: none
26
-
27
- ### Deliverables check
28
-
29
- All seven declared deliverables are confirmed present in the landed tree:
30
-
31
- | File | Status |
32
- |---|---|
33
- | `src/io/ooxml/parse-revisions.ts` | Present — `parseTblPropertyRevisions()` and `parseSectPrRevisions()` confirmed at lines 478, 525 |
34
- | `src/io/export/serialize-revisions.ts` | Present — `serializePropertyChangeMarkup()` confirmed at line 335 |
35
- | `src/review/store/revision-types.ts` | Present — `PropertyChangeData`, `MoveData`, `SupportedRevisionKind` includes `'property-change'` confirmed |
36
- | `src/review/store/revision-store.ts` | Present — `createRevisionRecord` passes through `propertyChangeData` and `moveData` (declared in proof bundle) |
37
- | `src/model/canonical-document.ts` | Present — `RevisionPropertyChangeData`, `RevisionMoveData`, optional metadata fields confirmed |
38
- | `test/review/property-change-revisions.test.ts` | Present — 10 tests |
39
- | `test/review/move-revisions.test.ts` | Present — 7 tests |
40
- | `.tmp/wave-35-track-proof/revisions.json` | Present — proof bundle with full test results and interface change inventory |
41
-
42
- All deliverables: **confirmed**.
43
-
44
- ### Proof bundle verification
45
-
46
- Proof artifact: `.tmp/wave-35-track-proof/revisions.json`
47
-
48
- New test results from the proof bundle:
49
- - `property-change-revisions.test.ts`: 10/10 passed, 0 failed
50
- - `move-revisions.test.ts`: 7/7 passed, 0 failed
51
-
52
- Existing revision test results (regression check):
53
- - `revision-store.test.ts`: 8/8 passed, 0 failed
54
- - `revision-actions.test.ts`: 11/11 passed, 0 failed
55
-
56
- Total: 17 new tests passing, 19 existing tests unaffected (0 regressions).
57
-
58
- Proof level: **integration** — satisfied. New tests prove accept/reject paths, preserve-only behavior, linked move IDs, and round-trip serialization. Existing tests confirm no regressions in the revision layer.
59
-
60
- ### Interface changes verified
61
-
62
- Five interface files changed as declared:
63
- 1. `src/review/store/revision-types.ts` — `SupportedRevisionKind` union extended, `PropertyChangeData`, `MoveData`, `PropertyChangeRevision`, `MoveRevision` added
64
- 2. `src/review/store/revision-store.ts` — metadata passthrough added
65
- 3. `src/model/canonical-document.ts` — `RevisionPropertyChangeData`, `RevisionMoveData` added; `RevisionRecord.kind` union extended
66
- 4. `src/io/ooxml/parse-revisions.ts` — two new parsing functions; moveFrom/moveTo and pPrChange/rPrChange carry structured metadata
67
- 5. `src/io/export/serialize-revisions.ts` — `serializePropertyChangeMarkup()` function added; handles accept (remove `*PrChange` element) and reject (replace container with `beforeContainerXml`)
68
-
69
- All interface changes: **confirmed landed**.
70
-
71
- ### Architecture alignment
72
-
73
- Per `docs/reference/repository-guidance.md`:
74
- - Changes route through the canonical model (`src/model/canonical-document.ts`) — satisfied
75
- - OOXML content is not silently dropped: pPrChange and rPrChange are preserve-only with `PropertyChangeData` in metadata; moveFrom/moveTo are preserve-only with `MoveData` and linked `moveId` — satisfied
76
- - Actionable property-change kinds (sectPrChange, tblPrChange) have defined accept/reject semantics — satisfied
77
- - Wave planning lessons rule 12 ("one canonical contract per seam"): the revision contract is extended additively; no parallel runtime envelope created — satisfied
78
-
79
- No architecture violations identified.
80
-
81
- ---
82
-
83
- ## Component Promotion Verification
84
-
85
- Declared promotion: `track-change-extensions` → `baseline-proved`
86
-
87
- Component matrix check (`.json` and `.md`):
88
- - `component-cutover-matrix.json` line 1037: `"currentLevel": "baseline-proved"` for `track-change-extensions` — **confirmed**
89
- - `component-cutover-matrix.md` row for `track-change-extensions`: `baseline-proved` with proof surfaces listed — **confirmed**
90
- - Wave 35 promotion entry present in both files — **confirmed**
91
-
92
- The declared promotion is satisfied by the landed proof.
93
-
94
- ---
95
-
96
- ## A8 Integration Synthesis Check
97
-
98
- Integration recommendation: `ready-for-doc-closure`
99
-
100
- Key integration claims against landed state:
101
- - "A1 proof complete (17/17 tests, 0 regressions)" — confirmed by proof bundle
102
- - "5 interface changes in revision layer" — confirmed (5 files)
103
- - "component matrix and current-state already reflect baseline-proved promotion" — confirmed by direct inspection
104
- - "0 blockers, 0 conflicts, 0 proof gaps" — consistent with landed state
105
-
106
- A8 recommendation: **consistent with landed evidence**.
107
-
108
- ---
109
-
110
- ## Documentation Closure Check
111
-
112
- A9 coordination record (`coord-decision-f0242c53`): "All shared-plan docs already aligned — no-change for wave 35"
113
-
114
- Verification against actual doc state:
115
- - `docs/plans/current-state.md`: Wave 35 entry present at "Active Maturity Line" — 17/17 tests, proof artifact path, `track-change-extensions` at `baseline-proved` — **confirmed**
116
- - `docs/plans/component-cutover-matrix.md`: `track-change-extensions` row present with `baseline-proved` and correct proof surfaces — **confirmed**
117
- - `docs/plans/component-cutover-matrix.json`: `currentLevel: "baseline-proved"` and promotions entry for wave 35 — **confirmed**
118
-
119
- The three "documentation gaps" listed in the integration report (`A1:shared:docs/plans/component-cutover-matrix.md`, `A1:shared:docs/plans/component-cutover-matrix.json`, `component-matrix:track-change-extensions`) were tracker residue from A1's handoff before A9 ran. Actual doc state satisfies all three — no gaps remain.
120
-
121
- A9 no-change declaration: **accepted** (docs verified against actual file state).
122
-
123
- Documentation gate: **closed**.
124
-
125
- ---
126
-
127
- ## Blocking Set
128
-
129
- None. All gates clear.
130
-
131
- ---
132
-
133
- ## Gate Summary
134
-
135
- | Gate | Status | Evidence |
136
- |---|---|---|
137
- | Architecture | pass | Canonical model extended additively; no DOM shortcuts; OOXML preserved or structured |
138
- | Integration | pass | A8 ready-for-doc-closure; 0 conflicts, 0 proof gaps |
139
- | Durability | pass | 17/17 new tests, 0 regressions in existing 19 revision tests |
140
- | Live | pass | No live deployment claimed; baseline-proved does not require live proof |
141
- | Docs | pass | component matrix and current-state confirmed aligned; A9 no-change accepted |
142
-
143
- ---
144
-
145
- Verdict: PASS
@@ -1,47 +0,0 @@
1
- # Wave 4 cont-QA Report
2
-
3
- ## 2026-03-26T14:06:41Z Reconciliation Pass
4
-
5
- Wave 4 is closed under the replanned architecture-only scope.
6
-
7
- Evidence reviewed:
8
-
9
- - `docs/reference/repository-guidance.md`
10
- - `docs/reference/wave-planning-lessons.md`
11
- - `docs/plans/master-plan.md`
12
- - `docs/plans/current-state.md`
13
- - `docs/plans/component-cutover-matrix.md`
14
- - `docs/plans/component-cutover-matrix.json`
15
- - `docs/plans/waves/README.md`
16
- - `docs/plans/waves/wave-4.md`
17
- - `docs/plans/waves/wave-5.md`
18
- - `docs/plans/waves/reviews/wave-4-structure-proof.md`
19
- - `docs/roadmap.md`
20
- - `src/ui/WordReviewEditor.tsx`
21
- - `src/ui/editor-surface/editor-surface.tsx`
22
- - `src/preservation/opaque-fragment-store.ts`
23
- - `src/validation/compatibility-report.ts`
24
- - `test/ui/word-review-editor.test.tsx`
25
-
26
- Reconciliation:
27
-
28
- - Earlier blocked Wave 4 passes evaluated a superseded closure bar that still treated `F03`/`F05`/`F06`/`F07` structural baseline proof as a Wave 4 deliverable.
29
- - The current shared plan closes Wave 4 as the live shell architecture bridge: runtime-owned editing, review projections, preservation substrate, and compatibility-report derivation.
30
- - The historical structural packet in [`docs/plans/waves/reviews/wave-4-structure-proof.md`](/home/coder/docx-react-component/docs/plans/waves/reviews/wave-4-structure-proof.md) remains useful carry-forward evidence, but it is no longer the Wave 4 closure gate.
31
- - Structural fixture proof and comment OOXML roundtrip proof moved to Wave 5 and are already reflected there in the current shared-plan docs.
32
-
33
- Gate judgment:
34
-
35
- - Architecture: pass. The live `WordReviewEditor` path, runtime-owned review surfaces, preservation substrate, and compatibility derivation are the actual Wave 4 deliverables and are consistently described.
36
- - Integration: pass. Wave 4 no longer needs to close the structural fixture packet itself; that proof is a Wave 5 responsibility and no longer blocks the architecture slice.
37
- - Durability: pass. The promoted Wave 4 components close at `repo-landed`, not `baseline-proved`, and the shared docs now honor that narrower bar.
38
- - Live: pass. This wave has no standalone deploy target or live-service gate.
39
- - Docs: pass. `README`, `roadmap`, `master-plan`, `current-state`, and the component matrix now tell one consistent Wave 4 story.
40
-
41
- Residual carry-forward:
42
-
43
- - `F03`/`F05`/`F06`/`F07` structural baseline proof belongs to Wave 5, not Wave 4.
44
- - Comment OOXML roundtrip proof also belongs to Wave 5.
45
-
46
- [wave-gate] architecture=pass integration=pass durability=pass live=pass docs=pass detail=Wave 4 closes as the replanned architecture slice; structural baseline proof moved to and closed in Wave 5
47
- Verdict: PASS
@@ -1,69 +0,0 @@
1
- # Wave 4 Structural Proof
2
-
3
- ## Status Note
4
-
5
- This packet is historical carry-forward evidence from the pre-replan structural pass. It remains useful as a record of what was repo-landed before the live-path proof line stabilized, but it is not the controlling Wave 4 closure gate anymore. Numbering and inline-image closure moved forward into the later live-path proof set; `F05` and `F06` remain preserve-only table/package evidence until the deferred legal-fidelity packet lands first-class tables.
6
-
7
- ## 2026-03-26T11:04:31Z Structural Fixture Bundle Refresh
8
-
9
- Owned deliverables verified:
10
-
11
- - `docs/plans/waves/reviews/wave-4-structure-proof.md`
12
- - `test/fixtures/docx/F03-legal-outline-numbering.docx`
13
- - `test/fixtures/docx/F05-table-heavy-agreement.docx`
14
- - `test/fixtures/docx/F06-merged-cells-signature-table.docx`
15
- - `test/fixtures/docx/F07-inline-images-exhibit.docx`
16
- - `.tmp/wave-4-structure/structure-roundtrip-report.json`
17
- - `.tmp/wave-4-structure/sdk-validation-report.json`
18
- - `.tmp/wave-4-structure/fixture-summary.md`
19
-
20
- Proof commands executed:
21
-
22
- - `dotnet build services/openxml-validator/OpenXmlValidator.Api.csproj`
23
- - `curl -fsS http://127.0.0.1:5080/health`
24
- - `cd services/react-word-editor && ./node_modules/.bin/tsc --ignoreConfig --pretty false --target ES2022 --module nodenext --moduleResolution nodenext --lib ES2022,DOM --types node --typeRoots ./node_modules/@types --esModuleInterop --strict --ignoreDeprecations 6.0 --allowImportingTsExtensions --rewriteRelativeImportExtensions --rootDir ../.. --outDir ../../.tmp/wave-4-structure/build-runtime ../../src/model/cds-1.0.0.ts ../../src/model/canonical-document.ts ../../src/core/commands/list-commands.ts ../../src/io/ooxml/part-manifest.ts ../../src/io/ooxml/parse-main-document.ts ../../src/io/ooxml/parse-numbering.ts ../../src/io/ooxml/parse-tables.ts ../../src/io/ooxml/parse-inline-media.ts ../../src/io/normalize/normalize-text.ts ../../src/io/export/export-session.ts ../../src/io/export/serialize-main-document.ts ../../src/io/export/serialize-numbering.ts ../../src/io/export/serialize-tables.ts ../../src/io/opc/package-reader.ts ../../src/io/opc/package-writer.ts ../../test/io/numbering-roundtrip.test.ts ../../test/io/table-media-roundtrip.test.ts`
25
- - historical capture note: the 2026-03-26 strict compile attempt hit a then-current import mismatch in `src/core/commands/list-commands.ts` (`CanonicalDocumentEnvelope` vs. the model-layer `CanonicalDocument`). The current repo source no longer carries that drift; the fallback below is retained only as part of the historical capture record.
26
- - `cd services/react-word-editor && ./node_modules/.bin/tsc --noCheck --ignoreConfig --pretty false --target ES2022 --module nodenext --moduleResolution nodenext --lib ES2022,DOM --types node --typeRoots ./node_modules/@types --esModuleInterop --strict --ignoreDeprecations 6.0 --allowImportingTsExtensions --rewriteRelativeImportExtensions --rootDir ../.. --outDir ../../.tmp/wave-4-structure/build-runtime ../../src/model/cds-1.0.0.ts ../../src/model/canonical-document.ts ../../src/core/commands/list-commands.ts ../../src/io/ooxml/part-manifest.ts ../../src/io/ooxml/parse-main-document.ts ../../src/io/ooxml/parse-numbering.ts ../../src/io/ooxml/parse-tables.ts ../../src/io/ooxml/parse-inline-media.ts ../../src/io/normalize/normalize-text.ts ../../src/io/export/export-session.ts ../../src/io/export/serialize-main-document.ts ../../src/io/export/serialize-numbering.ts ../../src/io/export/serialize-tables.ts ../../src/io/opc/package-reader.ts ../../src/io/opc/package-writer.ts ../../test/io/numbering-roundtrip.test.ts ../../test/io/table-media-roundtrip.test.ts`
27
- - `node --test .tmp/wave-4-structure/build-runtime/test/io/numbering-roundtrip.test.js .tmp/wave-4-structure/build-runtime/test/io/table-media-roundtrip.test.js`
28
- - transient validator run held open for the proof refresh shell:
29
- - `dotnet run --project services/openxml-validator/OpenXmlValidator.Api.csproj --urls http://127.0.0.1:5080`
30
- - repo-root proof runner `node .tmp/wave-4-structure/generate-structure-proof.mjs` using `.tmp/wave-4-structure/build-runtime/src/...` imports to:
31
- - load real F03/F05/F06/F07 fixtures
32
- - parse and normalize each fixture through the current repo import path
33
- - export a no-op roundtrip variant into `.tmp/wave-4-structure/exports/`
34
- - validate both source and roundtrip packages through `http://127.0.0.1:5080/validate`
35
- - write `.tmp/wave-4-structure/structure-roundtrip-report.json`
36
- - write `.tmp/wave-4-structure/sdk-validation-report.json`
37
-
38
- Durable proof outcome:
39
-
40
- - This historical packet recorded a `--noCheck` fallback after a then-current `src/core/commands/list-commands.ts` import mismatch. The current repo source no longer needs that specific workaround, but this document still records the original capture rather than fresh proof.
41
- - Focused runtime tests passed `4/4`:
42
- - `numbering-roundtrip.test`
43
- - `table-media-roundtrip.test`
44
- - All four source fixtures are now valid `.docx` packages under the Open XML SDK validator.
45
- - `F03` intentionally carries restart-numbering coverage inside the owned fixture set by using two numbering instances (`numId=1` and `numId=2`) in one legal-outline document.
46
- - `F03` source and roundtrip packages are both SDK-valid, but the repo still drops list semantics on import or export:
47
- - source `w:numPr` count is `8`
48
- - roundtrip `w:numPr` count is `0`
49
- - normalized numbered paragraph count is `0`
50
- - restart numbering with `numId=2` disappears from canonical state and export
51
- - `F05` stays package-valid and preserves `w:tbl` plus `w:tblGrid` on a no-op roundtrip, but the table imports as opaque preserved OOXML instead of a typed table surface.
52
- - `F06` stays package-valid and preserves `w:gridSpan` plus `w:vMerge` on a no-op roundtrip, but merged-cell tables also remain opaque preserved OOXML instead of canonical table state.
53
- - `F07` source is SDK-valid, but the roundtrip package fails SDK validation because the serializer emits preserved drawing XML without redeclaring the `wp`, `a`, and `pic` namespaces on `word/document.xml`.
54
- - `F07` also still imports the drawing as `opaque_inline` content rather than a typed image node.
55
-
56
- Result:
57
-
58
- - Wave 4 structural fixtures and refreshed proof artifacts are durably landed.
59
- - The owned proof bundle is authoritative for the current repo state, but `compatibility-and-word-validation` is still a `gap`, not `baseline-proved`.
60
- - The current blockers are:
61
- - numbering metadata is not carried into canonical state for `F03`
62
- - tables and merged-cell tables are preserve-only for `F05` and `F06`
63
- - inline-image roundtrip exports are not SDK-valid for `F07`
64
-
65
- Follow-up required outside A5 ownership:
66
-
67
- - A1: carry `w:numPr`, `numId`, `ilvl`, and restart semantics into canonical numbering state and back out through export.
68
- - A2: move tables and inline images off opaque preservation paths into typed structural import or export support.
69
- - A2: preserve or re-emit required drawing namespaces so exported image fixtures remain SDK-valid.
@@ -1,158 +0,0 @@
1
- # Wave 5 Comment Baseline Proof
2
-
3
- ## Scope
4
-
5
- Agent A5 owns the Wave 5 baseline proof bundle for `comments-and-anchor-mapping`.
6
-
7
- Owned deliverables:
8
-
9
- - `docs/plans/waves/reviews/wave-5-comment-proof.md`
10
- - `test/fixtures/docx/F09-comments-single-paragraph.docx`
11
- - `test/fixtures/docx/F10-threaded-comments-resolve.docx`
12
- - `test/fixtures/docx/F13-comments-on-deleted-text.docx`
13
-
14
- Required proof artifacts:
15
-
16
- - `.tmp/wave-5-comments/comment-anchor-report.json`
17
- - `.tmp/wave-5-comments/thread-roundtrip-report.json`
18
- - `.tmp/wave-5-comments/comment-ui-proof.json`
19
-
20
- Supplemental proof artifacts captured for this note:
21
-
22
- - `.tmp/wave-5-comments/fixture-sdk-validation.json`
23
- - `.tmp/wave-5-comments/s01-validator-delta.json`
24
-
25
- ## Commands
26
-
27
- ```bash
28
- dotnet run --project .tmp/wave-5-comments/CommentFixtureProof.csproj
29
- pnpm exec tsx .tmp/wave-5-comments/generate-comment-proofs.ts
30
- pnpm exec tsx --test test/io/comment-roundtrip.test.ts test/review/comment-store.test.ts test/review/comment-remapping.test.ts test/core/mapping.test.ts test/validation/compatibility-engine.test.ts test/ui/comment-review-surface.test.tsx test/ui/word-review-editor.interaction.test.tsx
31
- pnpm --filter @docx-react-component/react-word-editor-harness test
32
- ```
33
-
34
- ## Durable Proof
35
-
36
- Fixture validation artifact:
37
-
38
- - `.tmp/wave-5-comments/fixture-sdk-validation.json`
39
- - generated at `2026-03-26T11:47:45.9211205Z`
40
- - generator: `DocumentFormat.OpenXml 3.5.1.0`
41
-
42
- Anchor remap artifact:
43
-
44
- - `.tmp/wave-5-comments/comment-anchor-report.json`
45
- - generated at `2026-03-26T11:47:29.138Z`
46
- - result: `allCasesPassed = true`
47
-
48
- Round-trip artifact:
49
-
50
- - `.tmp/wave-5-comments/thread-roundtrip-report.json`
51
- - generated by `test/io/comment-roundtrip.test.ts`
52
- - supported fixture: comment id `7` stayed stable across parse, edit, and export
53
- - supported import fidelity: leading and trailing whitespace in single-paragraph comment bodies now stays intact across parse and export
54
- - preserve-only fixture: comment id `9` imported detached and stayed out of active serialization
55
-
56
- UI integration artifact:
57
-
58
- - `.tmp/wave-5-comments/comment-ui-proof.json`
59
- - generated at `2026-03-26T11:48:23.139Z`
60
- - result: all recorded assertions are `true`
61
-
62
- Scenario smoke artifact:
63
-
64
- - `.tmp/wave-5-comments/s01-validator-delta.json`
65
- - generated at `2026-03-26T11:47:45.9211205Z`
66
- - `S01` expected vs actual validator delta: package `0 -> 0`, SDK `10 -> 10`
67
-
68
- ## Fixture Results
69
-
70
- `F09` (`test/fixtures/docx/F09-comments-single-paragraph.docx`)
71
-
72
- - nested single-paragraph comment anchors on one paragraph
73
- - package entries: `5`
74
- - package findings: `0`
75
- - SDK findings: `0`
76
- - comment ids: `0`, `1`
77
- - anchor ids in `word/document.xml`: `0`, `1`
78
-
79
- `F10` (`test/fixtures/docx/F10-threaded-comments-resolve.docx`)
80
-
81
- - threaded reply plus resolution metadata
82
- - package entries: `8`
83
- - package findings: `0`
84
- - SDK findings: `0`
85
- - package includes `word/commentsExtended.xml`, `word/commentsIds.xml`, and `word/people.xml`
86
- - `commentsExtended` records root `paraId=00AAA111 done=true`
87
- - reply entry records `paraId=00AAA222 paraIdParent=00AAA111`
88
-
89
- `F13` (`test/fixtures/docx/F13-comments-on-deleted-text.docx`)
90
-
91
- - comment range wraps deleted revision content
92
- - package entries: `5`
93
- - package findings: `0`
94
- - SDK findings: `0`
95
- - `deletedRunCount = 1`
96
- - comment range id: `0`
97
-
98
- ## Remap And UI Coverage
99
-
100
- `comment-anchor-report.json` covers:
101
-
102
- - overlapping single-paragraph anchors surviving inline edit
103
- - delete-through behavior detaching the stored anchor instead of dropping the thread
104
- - paragraph merge remapping an anchored range deterministically across a structural edit
105
-
106
- Observed remap outcomes:
107
-
108
- - overlap case: outer range `6-16 -> 6-24`, inner range `11-16 -> 19-24`
109
- - delete-through case: anchor detached with `reason=deleted`, `lastKnownRange=7-9`
110
- - paragraph merge case: range `6-10 -> 5-9`
111
-
112
- `comment-ui-proof.json` covers:
113
-
114
- - initial detached thread visibility
115
- - runtime-added thread count increase from `1` to `2`
116
- - anchor decoration visibility after add
117
- - resolve transition from open to resolved
118
- - compatibility report still advertising `comments-single-paragraph` with `blockExport=false`
119
-
120
- ## Validation Runs
121
-
122
- Focused TypeScript proof run:
123
-
124
- - command: `pnpm exec tsx --test test/io/comment-roundtrip.test.ts test/review/comment-store.test.ts test/review/comment-remapping.test.ts test/core/mapping.test.ts test/validation/compatibility-engine.test.ts test/ui/comment-review-surface.test.tsx test/ui/word-review-editor.interaction.test.tsx`
125
- - result: `28/28` passing
126
-
127
- Live runtime correction:
128
-
129
- - `src/core/commands/index.ts` now routes content-changing edits through detached-anchor normalization instead of raw anchor remap only
130
- - `src/runtime/document-runtime.ts` now exposes `comments.activeCommentId` in `RuntimeRenderSnapshot`
131
- - `src/ui/WordReviewEditor.tsx` now passes that runtime value through to `EditorSurface`
132
- - `src/io/ooxml/parse-comments.ts` now preserves leading and trailing whitespace for supported imported comment bodies instead of trimming them away
133
- - the live shell regression is covered in `test/ui/word-review-editor.interaction.test.tsx`
134
-
135
- Harness scenario-manifest run:
136
-
137
- - command: `pnpm --filter @docx-react-component/react-word-editor-harness test`
138
- - result: `4/4` passing
139
-
140
- ## Word Caveat
141
-
142
- `F13` proves that a comment range wrapped around deleted text is structurally valid OOXML with zero SDK findings. Word UI behavior for deleted commented text is still pending Word desktop and Word web certification.
143
-
144
- Inference from the encoded structure:
145
-
146
- - once the commented content is deleted, reviewers should expect the comment to surface through revision-oriented review UI rather than as a normal inline active-range highlight
147
- - the fixture exists to keep that behavior explicit and diagnosable, not to hide the edge case behind a false “clean” baseline
148
-
149
- ## Result
150
-
151
- Wave 5 comment baseline proof is met at the durable local integration level:
152
-
153
- - the missing F09/F10/F13 fixtures now exist
154
- - all three fixtures validate with zero package findings and zero SDK findings in the local SDK proof run
155
- - the comment remap artifact covers overlapping and edited-anchor cases, and supported single-paragraph comment-body whitespace now roundtrips without trimming
156
- - the round-trip artifact captures supported single-paragraph stability and preserve-only multi-paragraph handling
157
- - the UI artifact shows detached, open, and resolved comment state flowing through the live editor shell
158
- - `S01` was recorded separately as a scenario delta artifact rather than treated as a zero-finding release-gate fixture
@@ -1,68 +0,0 @@
1
- # Wave 5 cont-QA Report
2
-
3
- ## 2026-03-26T12:50:19Z Manual Closure Pass
4
-
5
- Wave 5 is now clean enough to close.
6
-
7
- Evidence reviewed:
8
-
9
- - `docs/reference/repository-guidance.md`
10
- - `docs/reference/ooxml-compliance.md`
11
- - `docs/roadmap.md`
12
- - `docs/plans/master-plan.md`
13
- - `docs/plans/current-state.md`
14
- - `docs/plans/component-cutover-matrix.md`
15
- - `docs/plans/component-cutover-matrix.json`
16
- - `docs/plans/waves/wave-5.md`
17
- - `docs/plans/waves/reviews/wave-5-comment-proof.md`
18
- - `src/api/public-types.ts`
19
- - `src/core/commands/index.ts`
20
- - `src/io/ooxml/parse-comments.ts`
21
- - `src/io/export/serialize-comments.ts`
22
- - `src/review/store/comment-remapping.ts`
23
- - `src/review/store/comment-thread.ts`
24
- - `src/review/store/revision-store.ts`
25
- - `src/runtime/document-runtime.ts`
26
- - `src/runtime/review-runtime.ts`
27
- - `src/ui/WordReviewEditor.tsx`
28
- - `src/ui/comments/comment-sidebar.tsx`
29
- - `src/ui/comments/comment-thread-view.tsx`
30
- - `test/io/comment-roundtrip.test.ts`
31
- - `test/io/numbering-roundtrip.test.ts`
32
- - `test/io/table-media-roundtrip.test.ts`
33
- - `test/review/comment-remapping.test.ts`
34
- - `test/review/comment-store.test.ts`
35
- - `test/review/revision-store.test.ts`
36
- - `test/ui/comment-review-surface.test.tsx`
37
- - `test/ui/structural-surface.test.tsx`
38
- - `test/ui/word-review-editor.interaction.test.tsx`
39
- - `.tmp/wave-5-comments/comment-anchor-report.json`
40
- - `.tmp/wave-5-comments/thread-roundtrip-report.json`
41
- - `.tmp/wave-5-comments/comment-ui-proof.json`
42
- - `.tmp/wave-5-comments/fixture-sdk-validation.json`
43
- - `.tmp/wave-5-comments/s01-validator-delta.json`
44
-
45
- Validation rerun:
46
-
47
- - `pnpm exec tsx --test test/io/comment-roundtrip.test.ts test/review/comment-store.test.ts test/review/comment-remapping.test.ts test/core/mapping.test.ts test/validation/compatibility-engine.test.ts test/ui/comment-review-surface.test.tsx test/ui/word-review-editor.interaction.test.tsx`
48
- - `pnpm exec tsx --test test/io/numbering-roundtrip.test.ts test/io/table-media-roundtrip.test.ts test/ui/structural-surface.test.tsx`
49
- - `pnpm --filter @docx-react-component/react-word-editor-harness test`
50
- - `pnpm run wave:doctor`
51
- - `git diff --check`
52
-
53
- Gate judgment:
54
-
55
- - Architecture: pass. Comments remain detached from the content tree, anchors only move through transaction mappings, and the live shell now surfaces runtime-owned active-thread state and detached-anchor warnings.
56
- - Integration: pass. Comment import/export, remapping, structural fixtures, and review UI now line up on one runtime-owned editing path.
57
- - Durability: pass. Durable artifacts exist under `.tmp/wave-5-comments/`, and the structural/comment test surface reran green after the runtime active-thread and detachment fixes.
58
- - Live: pass. `S01` remains a delta-tracked scenario artifact with a stable `10 -> 10` SDK-finding baseline, and the harness manifest/tests remain green.
59
- - Docs: pass. Shared-plan docs and the component matrix now reflect Wave 5 closure, while tracked changes remain bounded to `repo-landed`.
60
-
61
- Residual later-scope work:
62
-
63
- - tracked-change OOXML import/export and accept/reject flows remain Wave 6 work
64
- - package-level preservation baseline and malformed-document diagnostics remain later-wave work
65
- - `S02` remains the primary real-world redline scenario for Wave 6 and later
66
-
67
- [wave-gate] architecture=pass integration=pass durability=pass live=pass docs=pass detail=Wave-5 manually closed after structural and comment proof reran green and the live runtime now exposes active-thread plus detached-anchor state end to end
68
- Verdict: PASS