@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,55 +0,0 @@
1
- # Wave 10 Performance Budget And Large-Document Signoff
2
-
3
- Generated on `2026-03-27T10:10:00Z` for Wave 10 / A6.
4
-
5
- Status: `passed`
6
-
7
- ## Scope
8
-
9
- - Owner: A6
10
- - Proof artifacts:
11
- - `.tmp/wave-10-certification/performance-budget.json`
12
- - `.tmp/wave-10-certification/large-doc-smoke.json`
13
- - `.tmp/wave-10-certification/performance-raw-results.json`
14
-
15
- This signoff covers the mounted editor path on the local harness surface. It does not widen Wave 10 support claims.
16
-
17
- ## Measured Results
18
-
19
- ### `F10` threaded comments and resolve
20
-
21
- - load: `623 ms`
22
- - comment navigation: `58 ms`
23
- - export: `117 ms`
24
- - result: pass
25
-
26
- ### `S01` SOW template
27
-
28
- - load: `656 ms`
29
- - export: `162 ms`
30
- - result: pass
31
-
32
- ### `S02` BW Partner User Licence Agreement with review markup
33
-
34
- - load: `3464 ms`
35
- - single-item accept latency: `771 ms`
36
- - export after accept: intentionally blocked
37
- - result: pass under the bounded v1 contract
38
-
39
- The current runtime still refuses export after that review action with:
40
-
41
- > DOCX export is blocked because 1 preserve-only comment anchors cannot be safely remapped after runtime edits.
42
-
43
- That is no longer treated as a performance failure. The current scenario note and Wave 10 contract now judge this as the expected fail-closed outcome for a path that would otherwise destructively rewrite preserve-only anchors.
44
-
45
- ## Judgement
46
-
47
- Wave 10 performance signoff now passes on the current worktree because:
48
-
49
- - all measured interactive latencies stay inside the declared Wave 10 ceilings
50
- - `S02` load and single-item accept stay inside budget
51
- - the `S02` post-accept export guard is explicit, fast-failing, and consistent with the bounded v1 contract rather than a hidden runtime regression
52
-
53
- ## Remaining Closure Work
54
-
55
- This signoff does not close Wave 10 overall. The remaining blockers are outside A6 scope: pending manual Word notes and the need to rerun the bundle on a commit-fresh tree.
@@ -1,23 +0,0 @@
1
- # Wave 10 Regression Proof
2
-
3
- status: blocked
4
-
5
- ## Scope
6
-
7
- Wave 10 A1 owns the machine-visible regression gate for the frozen `F01` through `F21` fixture corpus and the representative `S01` and `S02` scenario bundle.
8
-
9
- ## Current Evidence
10
-
11
- - `test/fixtures/docx/certification-manifest.json` keeps `F01` through `F21` as the frozen release-gate corpus, requires `S01` and `S02` as representative scenarios, removes `S02` from the manual Word subset, and marks `S02` as an expected blocked-before-export scenario.
12
- - Fresh source-run artifacts under `.tmp/wave-10-certification/` now show `F09` and `F13` validator-clean again.
13
- - `S02` still records `blocked-before-export`, but that outcome is now judged as explicit fail-closed proof rather than as an unresolved export bug.
14
- - `pnpm --dir services/react-word-editor test` passes on the refreshed worktree.
15
-
16
- ## Current Blocking Set
17
-
18
- - the working tree is still dirty, so the bundle is not commit-fresh
19
- - required manual Word notes are still pending for `F01`, `F03`, `F05`, `F09`, `F11`, `F12`, `F15`, `F20`, and `S01`
20
-
21
- ## Conclusion
22
-
23
- Wave 10 regression machinery is now aligned to the bounded v1 contract, but the wave still stays blocked until the remaining manual notes are attached and the bundle is rerun on a clean commit.
@@ -1,31 +0,0 @@
1
- # Wave 10 Release Audit
2
-
3
- Generated on `2026-03-27T10:10:00Z` for Wave 10 / A7.
4
-
5
- Verdict: `BLOCKED`
6
-
7
- [wave-gate] architecture=pass integration=blocked durability=blocked live=blocked docs=pass detail=Wave 10 no longer carries the stale F09/F13 validator failures or the stale S02 exportability claim, but it still needs fresh manual Word notes and a commit-fresh rerun before qa-proved can be claimed honestly.
8
-
9
- ## Current Findings
10
-
11
- 1. The machine-backed blocker set is now smaller and current.
12
-
13
- - `F09` and `F13` are validator-clean in the stored Wave 10 run artifacts.
14
- - `S02` remains in the bundle as an explicit fail-closed scenario instead of a required exportable review path.
15
- - Accessibility, DESIGN, and performance signoff have been refreshed on the current worktree.
16
-
17
- 2. Wave 10 is still not ready to promote.
18
-
19
- - `word-desktop-certification.md` and `word-web-certification.md` remain `pending`.
20
- - The remaining manual subset is `F01`, `F03`, `F05`, `F09`, `F11`, `F12`, `F15`, `F20`, and `S01`.
21
- - The current working tree is still dirty, so the existing bundle cannot yet satisfy the commit-fresh closure requirement.
22
-
23
- ## Smallest Remaining Set
24
-
25
- - attach fresh Word Desktop notes for the remaining manual subset
26
- - attach fresh Word Web notes for the remaining manual subset
27
- - rerun the Wave 10 bundle on a commit-fresh tree
28
-
29
- ## Closure Recommendation
30
-
31
- Keep Wave 10 blocked until those three items are complete. Do not widen scope into Wave 11 or Wave 12.
@@ -1,83 +0,0 @@
1
- # Wave 10 Service Proof
2
-
3
- ## Scope
4
-
5
- - Owned components:
6
- - `openxml-sdk-validator-service`
7
- - `railway-test-harness`
8
- - Owned deliverables:
9
- - [Program.cs](/home/coder/docx-react-component/services/openxml-validator/Program.cs)
10
- - [README.md](/home/coder/docx-react-component/services/openxml-validator/README.md)
11
- - [README.md](/home/coder/docx-react-component/services/react-word-editor/README.md)
12
- - Proof artifacts:
13
- - [service-health-matrix.json](/home/coder/docx-react-component/.tmp/wave-10-certification/service-health-matrix.json)
14
- - [service-proof-summary.md](/home/coder/docx-react-component/.tmp/wave-10-certification/service-proof-summary.md)
15
-
16
- This pass hardens the internal QA service contract without changing the product runtime boundary:
17
- the validator remains validation-only, and the harness remains an internal-only surface that fronts
18
- the validator over server-side networking.
19
-
20
- ## Landed Changes
21
-
22
- ### Validator service
23
-
24
- [Program.cs](/home/coder/docx-react-component/services/openxml-validator/Program.cs) now exposes a
25
- machine-readable readiness payload and structured failure payloads:
26
-
27
- - `GET /health` returns `service`, `status`, `sdk`, `privateMode`, `limits`, and `endpoints`
28
- - `POST /validate` now returns structured JSON for `400`, `413`, and private-mode `503` errors
29
- - the error contract includes exact upload limits and accepted `.docx` metadata so the harness and
30
- QA bundle can surface deterministic diagnostics
31
-
32
- [README.md](/home/coder/docx-react-component/services/openxml-validator/README.md) now matches the
33
- runtime contract and explicitly records the remaining fleet-ready gaps: env-var-only admission,
34
- request-scoped diagnostics only, and no validator-side audit store or SLO bundle.
35
-
36
- ### Harness documentation
37
-
38
- [README.md](/home/coder/docx-react-component/services/react-word-editor/README.md) now documents the
39
- actual private-mode gate (`HARNESS_PRIVATE_MODE=enabled`), the redacted health payload shape, the
40
- volume-backed retention assumptions, and the remaining fleet-ready blockers around identity,
41
- retention workflow, and single-dependency validator bridging.
42
-
43
- ## Proof
44
-
45
- The authoritative integration proof for this turn is in
46
- [service-health-matrix.json](/home/coder/docx-react-component/.tmp/wave-10-certification/service-health-matrix.json).
47
-
48
- Key observations from the captured matrix:
49
-
50
- - validator build passed locally
51
- - harness build and tests passed locally
52
- - validator health succeeded with `VALIDATOR_PRIVATE_MODE=enabled`
53
- - validator rejected a missing multipart file with structured JSON instead of a bare status code
54
- - validator accepted `F12-redlines-paragraph-joins-splits.docx` with zero package and SDK findings
55
- - harness returned `503 private_mode_required` when `HARNESS_PRIVATE_MODE` was unset
56
- - harness health succeeded once private mode and the validator bridge were configured
57
- - harness `/api/validate` successfully proxied the same `F12` fixture to the validator and
58
- returned the validator report plus current storage assumptions
59
-
60
- ## Validation Commands
61
-
62
- - `dotnet build services/openxml-validator/OpenXmlValidator.Api.csproj`
63
- - `pnpm --filter @docx-react-component/react-word-editor-harness test`
64
- - `pnpm --filter @docx-react-component/react-word-editor-harness build`
65
- - `VALIDATOR_PRIVATE_MODE=enabled dotnet run --project services/openxml-validator/OpenXmlValidator.Api.csproj --urls http://127.0.0.1:5081`
66
- - `PORT=3403 HARNESS_PRIVATE_MODE=enabled OPENXML_VALIDATOR_BASE_URL=http://127.0.0.1:5081 HARNESS_STORAGE_DIR=/home/coder/docx-react-component/.tmp/wave-10-certification/harness-storage pnpm --filter @docx-react-component/react-word-editor-harness start`
67
- - `curl -s http://127.0.0.1:5081/health`
68
- - `curl -s -X POST http://127.0.0.1:5081/validate`
69
- - `curl -s -F "file=@test/fixtures/docx/F12-redlines-paragraph-joins-splits.docx" http://127.0.0.1:5081/validate`
70
- - `curl -s http://127.0.0.1:3403/api/health`
71
- - `curl -s -F "file=@test/fixtures/docx/F12-redlines-paragraph-joins-splits.docx" http://127.0.0.1:3403/api/validate`
72
-
73
- ## Closure Line
74
-
75
- Wave 10 service QA hardening is met for local authoritative integration proof and owned
76
- documentation.
77
-
78
- This is not a fleet-ready claim. The remaining service posture gaps are deliberate and documented:
79
-
80
- - env-var-only admission for both services
81
- - manual/count-based storage retention on the harness
82
- - no persistent validator-side audit or replay surface
83
- - no fresh Railway live redeploy captured in this turn
@@ -1,31 +0,0 @@
1
- # Wave 10 Word Certification Review
2
-
3
- Generated on `2026-03-27T10:10:00Z` for Wave 10 / A2.
4
-
5
- Status: `blocked`
6
-
7
- ## Current Manual Word Subset
8
-
9
- Wave 10 still requires fresh Word Desktop and Word Web notes for:
10
-
11
- - `F01`
12
- - `F03`
13
- - `F05`
14
- - `F09`
15
- - `F11`
16
- - `F12`
17
- - `F15`
18
- - `F20`
19
- - `S01`
20
-
21
- `S02` remains visible in the bundle, but it is no longer part of the manual reopen subset because the bounded v1 contract intentionally blocks export when preserve-only comment anchors cannot be remapped safely.
22
-
23
- ## Current Evidence
24
-
25
- - `F09` is now validator-clean again and remains in the manual subset as supported-roundtrip Word proof, not as a validator blocker.
26
- - `S01` remains the only representative scenario that still requires Word reopen notes.
27
- - `word-desktop-certification.md` and `word-web-certification.md` now point at the reduced manual subset and no longer carry the stale `F09` validator-failure language.
28
-
29
- ## Remaining Blocker
30
-
31
- Wave 10 still lacks fresh human Word Desktop and Word Web observations for the remaining manual subset. Until those notes exist, the wave cannot honestly claim `qa-proved`.
@@ -1,277 +0,0 @@
1
- # Wave 18 AI Contract Closure
2
-
3
- ## Executive Summary
4
-
5
- Wave 18 establishes the comprehensive AI action policy matrix and low-priority Word surfaces stance for the legal document review editor. This document provides the definitive boundaries between allowed AI actions, those requiring confirmation, blocked operations, and unsupported functionality.
6
-
7
- **Key Achievements:**
8
- - ✅ Complete AI action policy matrix with 23 defined actions across 10 categories
9
- - ✅ Explicit low-priority Word surfaces stance for 12 surface types
10
- - ✅ Security-focused boundaries that protect legal review workflows
11
- - ✅ Clear preserve-only vs. blocked distinctions for complex Word features
12
-
13
- ## AI Action Policy Matrix
14
-
15
- ### Policy Framework
16
-
17
- The AI action policy is built on four support levels:
18
- - **Allowed**: Actions can proceed without confirmation (low risk, analytical)
19
- - **Confirmation Required**: Actions require explicit user approval (content-changing)
20
- - **Blocked**: Actions are blocked by policy (security/integrity risks)
21
- - **Unsupported**: Actions are not implemented (future consideration)
22
-
23
- ### Action Categories and Support Levels
24
-
25
- | Category | Total Actions | Allowed | Confirmation Required | Blocked | Risk Profile |
26
- |----------|---------------|---------|----------------------|---------|--------------|
27
- | Text Editing | 5 | 1 | 4 | 0 | Low-Medium |
28
- | Content Generation | 5 | 1 | 4 | 0 | Low-High |
29
- | Review Assistance | 5 | 5 | 0 | 0 | Low |
30
- | Document Analysis | 5 | 5 | 0 | 0 | Low |
31
- | Formatting Assistance | 5 | 0 | 5 | 0 | Medium |
32
- | Validation Assistance | 5 | 5 | 0 | 0 | Low |
33
- | Workflow Automation | 5 | 0 | 1 | 4 | High-Critical |
34
- | Data Extraction | 5 | 5 | 0 | 0 | Low |
35
- | External Integration | 5 | 0 | 0 | 5 | Critical |
36
- | System Modification | 5 | 0 | 0 | 5 | Critical |
37
-
38
- ### Security Boundaries
39
-
40
- **Completely Blocked Actions** (10 actions):
41
- - All workflow automation that bypasses review (auto-accept changes)
42
- - All external integrations (data lookup, system sync, external approval)
43
- - All system modifications (permission changes, security bypasses)
44
-
45
- **Rationale**: These actions either compromise security, bypass necessary legal review processes, or risk data integrity in ways incompatible with legal document workflows.
46
-
47
- ### Allowed Actions (Analysis and Read-Only)
48
-
49
- **Low-Risk Allowed Actions** (16 actions):
50
- - Document analysis (summarization, risk identification, structure analysis)
51
- - Review assistance (comment suggestions, change analysis)
52
- - Validation assistance (compliance checking, compatibility validation)
53
- - Data extraction (metadata extraction, comment exports)
54
- - Basic text corrections (grammar fixes with minimal semantic impact)
55
-
56
- **Key Principle**: Actions that provide analytical insights or mechanical corrections without modifying legal meaning or bypassing review processes.
57
-
58
- ### Confirmation-Required Actions (Content Changes)
59
-
60
- **Content-Modifying Actions** (14 actions):
61
- - Text editing with semantic impact (rewrites, tone adjustments)
62
- - Content generation (text generation, boilerplate creation)
63
- - Formatting changes (style application, bulk formatting)
64
- - Selective workflow automation (batch comment resolution with review)
65
-
66
- **Safeguards**:
67
- - Explicit user confirmation required
68
- - Original content preservation
69
- - Undo support mandatory
70
- - Audit logging required
71
- - Compatibility validation enforced
72
-
73
- ## Low-Priority Word Surfaces Policy
74
-
75
- ### Surface Classification Matrix
76
-
77
- | Surface Type | Stance | Rationale | Fixture Evidence | Word Compatible |
78
- |--------------|---------|-----------|------------------|-----------------|
79
- | **Security-Blocked Surfaces** | | | | |
80
- | Macros | Blocked | Security risk, executable code | None | No |
81
- | VBA Scripts | Blocked | Security risk, executable code | None | No |
82
- | ActiveX Controls | Blocked | Deprecated, security risk | None | No |
83
- | External Data Connections | Blocked | Security, dependency risk | None | No |
84
- | **Preserve-Only Surfaces** | | | | |
85
- | OLE Objects | Preserve-Only | Complex binary, compatibility focus | F20 | Yes |
86
- | Embedded Objects | Preserve-Only | Format-specific, out of scope | F20 | Yes |
87
- | Mail Merge Fields | Preserve-Only | Static preservation adequate | F17 | Yes |
88
- | Legacy Form Fields | Preserve-Only | SDTs preferred, compatibility | F18 | Yes |
89
- | Custom Ribbons | Preserve-Only | UI customization, not content | F20 | Yes |
90
- | Word Add-ins | Preserve-Only | Application-level, not document | F20 | Yes |
91
- | External Links | Preserve-Only | Security boundary, preserve only | F20 | Yes |
92
- | **Unsupported-Fatal Surfaces** | | | | |
93
- | Advanced Word Automation | Unsupported-Fatal | Complex, use Word directly | None | No |
94
-
95
- ### Preserve-Only Implementation
96
-
97
- **Technical Approach**:
98
- - Import: Content preserved in package-backed opaque placeholders
99
- - Edit: Locked regions prevent accidental modification
100
- - Export: Original content reattached during serialization
101
- - Warning: Users informed about preservation limitations
102
-
103
- **Word Compatibility**: All preserve-only surfaces maintain round-trip safety with Microsoft Word, ensuring no data loss and no repair prompts on reopen.
104
-
105
- ### Security Boundaries
106
-
107
- **Blocked for Security**:
108
- - **Executable Content**: Macros, VBA scripts, ActiveX controls
109
- - **External Dependencies**: Data connections, external system integrations
110
- - **Rationale**: Legal document workflows require contained, auditable content without external dependencies or executable code that could compromise security or introduce non-deterministic behavior.
111
-
112
- **Preserve-Only for Compatibility**:
113
- - **Complex Binary Content**: OLE objects, embedded media
114
- - **Application Features**: Custom ribbons, add-in definitions
115
- - **Rationale**: These features can be safely preserved without editing to maintain Word compatibility while keeping the editor focused on core text and review workflows.
116
-
117
- ## AI Action Validation Framework
118
-
119
- ### Context-Aware Validation
120
-
121
- The AI action policy includes context validation that considers:
122
-
123
- ```typescript
124
- interface AIActionContext {
125
- documentId: string;
126
- userId: string;
127
- selection?: { from: number; to: number; text: string };
128
- preservedContent: {
129
- hasPreservedElements: boolean;
130
- preservedTypes: string[];
131
- };
132
- compatibility: {
133
- hasWarnings: boolean;
134
- blockingIssues: string[];
135
- };
136
- permissions: {
137
- canEdit: boolean;
138
- canExport: boolean;
139
- isReadOnly: boolean;
140
- };
141
- }
142
- ```
143
-
144
- ### Validation Rules
145
-
146
- 1. **Permission Checks**: Content-modifying actions require edit permissions
147
- 2. **Compatibility Constraints**: Actions requiring validation cannot proceed with blocking compatibility issues
148
- 3. **Preserved Content Respect**: Actions must respect preserve-only boundaries
149
- 4. **Scope Limitations**: Actions are limited to appropriate document scopes (selection, paragraph, document)
150
-
151
- ### Error Handling
152
-
153
- - **Blocked Actions**: Clear error messages with policy rationale
154
- - **Permission Failures**: Explicit permission requirement notifications
155
- - **Context Constraints**: Specific guidance on resolving context issues
156
- - **Graceful Degradation**: Fallback behaviors that maintain editor stability
157
-
158
- ## Integration with Legal Review Workflow
159
-
160
- ### Review-Centric Design
161
-
162
- **Core Principle**: AI actions support legal review workflows without replacing human judgment or bypassing necessary review processes.
163
-
164
- **Supported Workflows**:
165
- - Document analysis and risk identification
166
- - Comment response suggestions and thread analysis
167
- - Change impact assessment and validation
168
- - Compliance checking and compatibility verification
169
- - Formatting consistency and style validation
170
-
171
- **Blocked Workflows**:
172
- - Automatic acceptance of changes without review
173
- - Content generation without explicit user confirmation
174
- - External data integration that could compromise security
175
- - System modifications that bypass established controls
176
-
177
- ### Audit and Compliance
178
-
179
- **Audit Logging**:
180
- - All AI actions logged with user, action, timestamp, and outcome
181
- - Blocked actions logged for security monitoring
182
- - Content changes tracked through normal revision system
183
- - Context validation failures recorded for analysis
184
-
185
- **Compliance Support**:
186
- - AI actions align with legal document integrity requirements
187
- - No bypass of established Word compatibility validation
188
- - Preserve-only content boundaries respected by all AI operations
189
- - User confirmation required for all content-changing proposals
190
-
191
- ## Implementation Architecture
192
-
193
- ### Policy Enforcement
194
-
195
- **Runtime Validation**:
196
- - `validateAIAction(action, context)` provides comprehensive validation
197
- - Policy lookup with fallback to secure defaults for unknown actions
198
- - Context-aware constraint checking with detailed error reporting
199
- - Graceful degradation with user-facing guidance
200
-
201
- **Security-First Design**:
202
- - Unknown actions blocked by default
203
- - Critical risk actions always blocked regardless of context
204
- - No bypass mechanisms for security-sensitive operations
205
- - Audit logging for all policy decisions
206
-
207
- ### Integration Points
208
-
209
- **Document Model Integration**:
210
- - AI actions respect canonical document model boundaries
211
- - Preserve-only regions remain protected from AI modifications
212
- - Change tracking and comment systems work normally with AI-generated content
213
- - Export validation applies to AI-modified content
214
-
215
- **User Interface Integration**:
216
- - Confirmation dialogs for content-changing actions
217
- - Clear warnings for actions affecting preserved content
218
- - Progress indication for long-running analysis actions
219
- - Undo support for all reversible AI actions
220
-
221
- ## Future Extension Points
222
-
223
- ### Planned Enhancements
224
-
225
- **Post-V1 Considerations**:
226
- - Additional analysis actions as legal workflows evolve
227
- - Enhanced content generation with legal-specific templates
228
- - Integration with legal knowledge bases (with appropriate security controls)
229
- - Advanced validation against regulatory requirements
230
-
231
- **Extension Principles**:
232
- - Maintain security-first approach for all new actions
233
- - Require explicit policy definition for new action categories
234
- - Preserve Word compatibility as primary constraint
235
- - Keep legal review human judgment as ultimate authority
236
-
237
- ### API Evolution
238
-
239
- **Planned API Shape** (reserved for future waves):
240
-
241
- ```typescript
242
- interface PlannedWordReviewEditorAiAdapter {
243
- runAction(request: PlannedWordReviewEditorAiRequest): Promise<{
244
- kind: "proposal" | "workflow" | "rejected";
245
- summary?: string;
246
- requiresConfirmation?: boolean;
247
- reason?: string;
248
- }>;
249
- }
250
- ```
251
-
252
- **Key Constraints** (preserved in future API):
253
- - No built-in model client in WordReviewEditor
254
- - No direct DOM or canonical state mutation from AI
255
- - No bypass of permissions, compatibility, or export validation
256
- - No implication that unsupported features become editable through AI
257
-
258
- ## Conclusion
259
-
260
- Wave 18 establishes a comprehensive and security-focused framework for AI integration in the legal document review editor. The policy matrix provides clear boundaries that:
261
-
262
- 1. **Enable Valuable AI Assistance**: Analysis, validation, and review support actions
263
- 2. **Require Appropriate Confirmation**: Content-changing actions with user oversight
264
- 3. **Block Security Risks**: External integrations, system modifications, and executable content
265
- 4. **Preserve Legal Workflow Integrity**: No bypass of review processes or compatibility requirements
266
-
267
- The low-priority Word surfaces policy complements this by providing explicit stances on complex Word features, ensuring users understand what can be edited, what is preserved, and what is blocked for security reasons.
268
-
269
- This framework provides a solid foundation for AI-assisted legal document workflows while maintaining the security, integrity, and Word compatibility that are essential for legal review processes.
270
-
271
- ---
272
-
273
- **Implementation Status**: ✅ **Complete**
274
- - Source code implemented in `src/runtime/ai-action-policy.ts` and `src/validation/low-priority-word-surfaces.ts`
275
- - Comprehensive test coverage in `test/validation/low-priority-word-surfaces.test.ts`
276
- - Machine-readable policy artifacts generated for integration validation
277
- - Documentation provides clear guidance for future AI feature development