@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,198 +0,0 @@
1
- # Current State
2
-
3
- ## Repo Identity
4
-
5
- - The repo now documents itself as `react-ooxml-office`.
6
- - The landed source tree is still docx-first.
7
- - The only shipped runtime in source today is the docx implementation behind `WordReviewEditor`.
8
- - `xlsx` is now represented by canonical planned docs, not by shipped source.
9
- - `pdf` is acknowledged as future work only.
10
-
11
- ## Landed Docx Work
12
-
13
- The current landed implementation still includes:
14
-
15
- - a live `WordReviewEditor` shell on top of `DocumentRuntime`
16
- - runtime-owned text editing through commands and transactions
17
- - runtime-owned comment and tracked-change projections
18
- - preservation-aware compatibility reporting and locked-region rendering
19
- - fixture-backed docx parse, edit, export, and validation proof for the current supported slice
20
- - the internal docx harness under `services/react-word-editor`
21
- - the Open XML SDK validator service under `services/openxml-validator`
22
-
23
- ## Active Maturity Line
24
-
25
- The active maturity line remains the docx Wave sequence under `docs/plans/waves/`.
26
-
27
- Current status of that track:
28
-
29
- - Waves 0 through 7 are landed as the current substrate and proof base
30
- - Wave 8 and Wave 9 artifacts remain historical inputs only
31
- - the current Wave 10 certification bundle remains blocked below `qa-proved`
32
- - Wave 11 remains pending and should not be treated as a substitute for unresolved Wave 10 blockers
33
- - Waves 12 through 17 remain the post-v1 docx fidelity roadmap
34
- - Wave 18 executed successfully on 2026-03-29, promoting seven core components to fleet-ready status with comprehensive integrated proof and legal checklist coverage
35
- - Wave 19 executed successfully (2026-04-03), targeting CI green and test infrastructure (Phase 1 of the shipping roadmap); `openxml-sdk-validator-service` promoted to `pilot-live`; all 174 tests passing; GitHub Actions CI workflow landed
36
- - Wave 20 is in progress (2026-04-03), targeting first-class table editing (Phase 2 of the shipping roadmap); table round-trip fixtures landed (A2); ProseMirror schema and commands in progress (A1, proof gap open); `table-editing` promoted to `baseline-proved`
37
- - Wave 25 executing (2026-04-03), first xlsx wave — canonical workbook model and SpreadsheetML import; `src/formats/xlsx/model/` and `src/formats/xlsx/io/` landed; `xlsx-canonical-workbook-model` and `xlsx-import-and-normalization` promoted to `baseline-proved`; A2 proof gap (xlsx-session.ts and import-tests.json) remains open
38
- - Wave 28 executing (2026-04-05), editor feature parity from reference implementation — prosemirror-tables integration, rich formatting marks (font family, size, color, highlight, superscript, subscript, small caps, all caps, paragraph alignment), image insertion command, search/highlight plugin, `useDocxEditor` imperative hook, headless Node.js CLI (info, convert, validate); `editor-feature-parity` promoted to `baseline-proved`; proof gaps on A1/A2/A3 pending repair pass
39
- - Wave 29 executing (2026-04-05), OOXML parsing fidelity — complete paragraph properties (alignment, spacing, indentation, tab stops, keepNext, keepLines, outlineLevel, pageBreakBefore), run properties (doubleStrikethrough, vanish, lang, backgroundColor), table properties (borders, cell margins, shading, width, alignment, row height, isHeader), field codes, bookmarks, and section breaks; `ooxml-parsing-fidelity` promoted to `baseline-proved`; proof gaps on A1/A2 pending repair pass
40
- - Wave 32 executing (2026-04-05), OOXML property completeness — paragraph properties (widowControl, pBdr borders, shading, bidi, suppressLineNumbers, cnfStyle), run properties (charSpacing, kerning, emboss, imprint, shadow, position, textFill), table model (tblLook), inline types (ColumnBreakNode, SymbolNode), latent styles in style catalog; `ooxml-property-completeness` promoted to `baseline-proved`; proof artifact pending repair pass
41
- - Wave 33 executed (2026-04-05), document sub-parts — headers, footers, footnotes, endnotes, and theme parsing/preservation; `document-sub-parts` promoted to `baseline-proved`; 61/61 targeted tests passing; proof at `.tmp/wave-33-subparts-proof/all-subparts.json`
42
- - Wave 34 executed (2026-04-06), structural block types — SDT blocks, custom XML wrappers, altChunk relationship preservation, nested tables, and floating-image anchor metadata with inline editor fallback; `structural-block-types` promoted to `baseline-proved`; proof at `.tmp/wave-34-blocks-proof/structural.json`
43
- - Wave 35 executed (2026-04-06), track change extensions — property change revisions (pPrChange, sectPrChange, tblPrChange, rPrChange) and move tracking (moveFrom, moveTo) with linked move IDs; `sectPrChange` and `tblPrChange` are actionable (accept/reject); `pPrChange` and `rPrChange` are preserve-only with PropertyChangeData metadata; `track-change-extensions` promoted to `baseline-proved`; 17/17 new tests passing, 11/11 existing revision tests unaffected; proof at `.tmp/wave-35-track-proof/revisions.json`
44
-
45
- ## Shared Platform Docs Landed
46
-
47
- The repo now has canonical cross-format planning docs for the broader office story:
48
-
49
- - `docs/architecture/platform/shared-openxml-editor-platform.md`
50
- - `docs/reference/platform/shared-ooxml-platform-guidance.md`
51
-
52
- These docs define shared platform direction. They do not imply the current source tree has already been extracted into a neutral platform layout.
53
-
54
- ## Xlsx Planning Docs Landed
55
-
56
- The repo now has canonical planned xlsx docs:
57
-
58
- - `docs/architecture/xlsx/spreadsheet-editor-frontend-architecture.md`
59
- - `docs/architecture/xlsx/canonical-workbook-model-and-commands.md`
60
- - `docs/reference/xlsx/xlsx-ooxml-compliance.md`
61
- - `docs/plans/xlsx/xlsx-fixture-corpus-and-certification-plan.md`
62
-
63
- The original research intake remains under `docs/xlsx-react/`, now explicitly classified as research intake rather than canon.
64
-
65
- ## Xlsx Implementation Begun (Wave 25)
66
-
67
- The first xlsx implementation wave (Wave 25) is executing. Source landed:
68
-
69
- - `src/formats/xlsx/model/` — canonical workbook model (workbook, sheet, cell, styles)
70
- - `src/formats/xlsx/io/` — SpreadsheetML parsers (workbook, sheet, shared strings, styles)
71
- - `test/formats/xlsx/model/workbook.test.ts` — workbook model unit tests
72
- - `.tmp/wave-25-xlsx-proof/model-tests.json` — A1 proof bundle
73
-
74
- Both `xlsx-canonical-workbook-model` and `xlsx-import-and-normalization` are at `baseline-proved`. The xlsx track reuses `src/io/opc/` (OPC package layer) and `src/preservation/` from the docx runtime.
75
-
76
- ## OOXML Parsing Fidelity Landed (Wave 29)
77
-
78
- Wave 29 (2026-04-05) completes OOXML property coverage for the docx parser and serializer. Source modified:
79
-
80
- - `src/model/canonical-document.ts` — extended `ParagraphNode` and `TextNode` with full property sets; added `FieldNode`, `BookmarkNode`, `SectionBreakNode`
81
- - `src/io/ooxml/parse-main-document.ts` — parses `w:pPr` and `w:rPr` elements for all new properties; parses fields, bookmarks, section breaks
82
- - `src/io/export/serialize-main-document.ts` — serializes all new properties back to OOXML
83
- - `src/io/normalize/normalize-text.ts` — normalization updated for new node types
84
- - `test/io/paragraph-properties-roundtrip.test.ts` — paragraph/run property round-trip tests
85
- - `test/io/table-properties-roundtrip.test.ts` — table property round-trip tests
86
- - `test/io/fields-bookmarks.test.ts` — field code and bookmark tests
87
-
88
- `ooxml-parsing-fidelity` is at `baseline-proved`. Proof artifacts pending repair pass: `.tmp/wave-29-parsing-proof/`.
89
-
90
- ## OOXML Property Completeness Landed (Wave 32)
91
-
92
- Wave 32 (2026-04-05) completes the remaining paragraph, run, and table property coverage. Source modified:
93
-
94
- - `src/model/canonical-document.ts` — extended `ParagraphNode` with widowControl, borders (ParagraphBorders), shading (ParagraphShading), bidi, suppressLineNumbers, cnfStyle; extended `TextMark` union with charSpacing, kerning, emboss, imprint, shadow, position, textFill; added `TableLook` and `tblLook` to `TableNode`; added `ColumnBreakNode` and `SymbolNode` to `DocumentNode` union
95
- - `src/io/ooxml/parse-main-document.ts` — parses all new `w:pPr` and `w:rPr` elements; parses column breaks and symbol characters; parses latent style catalog
96
- - `src/io/export/serialize-main-document.ts` — serializes all new paragraph, run, and inline properties back to OOXML
97
- - `src/io/ooxml/parse-tables.ts` — parses `w:tblLook`
98
- - `src/io/export/serialize-tables.ts` — serializes `tblLook`
99
- - `test/io/property-completeness.test.ts` — round-trip tests for all new Wave 32 properties
100
-
101
- `ooxml-property-completeness` is at `baseline-proved`. Proof artifact: `.tmp/wave-32-props-proof/all-props.json`.
102
-
103
- ## Editor Feature Parity Landed (Wave 28)
104
-
105
- Wave 28 (2026-04-05) brings the editor surface to parity with the internal reference implementation. Source landed:
106
-
107
- - `src/ui-tailwind/editor-surface/pm-schema.ts` — extended with prosemirror-tables and rich formatting marks
108
- - `src/runtime/table-commands.ts` — replaced with prosemirror-tables command wrappers
109
- - `src/core/commands/formatting-commands.ts` — toggle/set commands for all rich marks and paragraph alignment
110
- - `src/ui-tailwind/editor-surface/pm-command-bridge.ts` — bridge updated for new marks and table commands
111
- - `src/core/commands/image-commands.ts` — `insertImage(data, mimeType, width?, height?)` command
112
- - `src/ui-tailwind/editor-surface/search-plugin.ts` — search/highlight ProseMirror plugin with regex and case-sensitive options
113
- - `src/api/use-docx-editor.ts` — `useDocxEditor()` imperative hook exposing full editor API
114
- - `src/cli/index.ts` and `src/cli/commands.ts` — headless CLI (`docx info`, `docx convert`, `docx validate`)
115
-
116
- `editor-feature-parity` is at `baseline-proved`. Proof artifacts pending repair pass: `.tmp/wave-28-parity-proof/`.
117
-
118
- ## Document Sub-Parts Landed (Wave 33)
119
-
120
- Wave 33 (2026-04-05) adds parsing and serialization of OOXML document sub-parts. Source landed:
121
-
122
- - `src/io/ooxml/parse-headers-footers.ts` — parses `headerN.xml` / `footerN.xml`; extracts default, first-page, and even/odd variants; links via `w:headerReference` / `w:footerReference` in section properties
123
- - `src/io/ooxml/parse-footnotes.ts` — parses `footnotes.xml` and `endnotes.xml`; skips separator stubs; captures multi-run footnote bodies with marks
124
- - `src/io/ooxml/parse-theme.ts` — parses `theme1.xml`; captures theme colors and fonts in `subParts.theme` for future style-resolution work
125
- - `src/io/export/serialize-headers-footers.ts` — serializes `HeaderDocument` / `FooterDocument` back to OOXML with correct namespace
126
- - `src/io/export/serialize-footnotes.ts` — serializes `FootnoteCollection` back to OOXML
127
- - `src/model/canonical-document.ts` — added `HeaderDocument`, `FooterDocument`, `FootnoteCollection`, `FootnoteRefNode`, `ThemeDefinition` types
128
- - `src/io/docx-session.ts` — wired sub-part parsing into the session load path and preserves parsed `theme1.xml` ownership on export
129
- - `test/io/headers-footers-roundtrip.test.ts` — header/footer round-trip tests (17 tests)
130
- - `test/io/footnotes-roundtrip.test.ts` — footnote/endnote round-trip tests (14 tests)
131
-
132
- `document-sub-parts` is at `baseline-proved` for headers, footers, footnotes, endnotes, and theme package preservation. Theme parsing is landed as captured metadata in `subParts.theme`, and the existing theme part is preserved on export; style-resolution and authored theme edits/export remain future work. Proof artifact: `.tmp/wave-33-subparts-proof/all-subparts.json`.
133
-
134
- ## Structural Block Types Landed (Wave 34)
135
-
136
- Wave 34 (2026-04-06) closes the docx structural-block gap for schema-aware block preservation and editor-safe fallback surfaces. Source landed:
137
-
138
- - `src/model/canonical-document.ts` — added canonical node support for SDT blocks, custom XML wrappers, altChunk blocks, nested table shapes, and floating image anchor metadata
139
- - `src/io/ooxml/parse-main-document.ts` — parses `w:sdt`, `w:customXml`, `w:altChunk`, and nested table block structure into the canonical model
140
- - `src/io/ooxml/parse-inline-media.ts` — captures floating-image anchor positioning and wrap metadata with inline editor fallback
141
- - `src/io/export/serialize-main-document.ts` — serializes structural block nodes and preserves altChunk relationships on export
142
- - `src/runtime/surface-projection.ts` — projects supported structural blocks into review-safe surface blocks and preserves unsupported wrappers as opaque blocks
143
- - `src/ui-tailwind/editor-surface/pm-schema.ts` and `src/ui-tailwind/editor-surface/pm-state-from-snapshot.ts` — render SDT blocks in the editor surface while keeping unsupported structural wrappers preservation-safe
144
- - `test/io/structural-blocks.test.ts` — proof coverage for SDT parse/normalize/export/projection, custom XML wrapper fallback, altChunk preservation, nested tables, and floating-image metadata
145
-
146
- `structural-block-types` is at `baseline-proved`. Proof artifact: `.tmp/wave-34-blocks-proof/structural.json`.
147
-
148
- ## Track Change Extensions Landed (Wave 35)
149
-
150
- Wave 35 (2026-04-06) extends the revision model with property change revisions and move tracking. Source modified:
151
-
152
- - `src/review/store/revision-types.ts` — added `PropertyChangeData`, `MoveData`, `PropertyChangeRevision`, `MoveRevision` types; `SupportedRevisionKind` now includes `'property-change'`; `getRevisionActionability` returns `'actionable'` for `'property-change'`
153
- - `src/model/canonical-document.ts` — added `RevisionPropertyChangeData`, `RevisionMoveData` interfaces; `RevisionRecord.kind` union includes `'property-change'`; `RevisionMetadataRecord` extended with optional `propertyChangeData` and `moveData` fields
154
- - `src/io/ooxml/parse-revisions.ts` — added `parseTblPropertyRevisions()` and `parseSectPrRevisions()` for actionable property change parsing; pPrChange and rPrChange now carry `PropertyChangeData` in metadata; moveFrom/moveTo revisions include `MoveData` with linked `moveId` for pairing
155
- - `src/io/export/serialize-revisions.ts` — added `serializePropertyChangeMarkup()`: accept removes `*PrChange` element, reject replaces container element with `beforeContainerXml`
156
- - `src/review/store/revision-store.ts` — `createRevisionRecord` passes through `propertyChangeData` and `moveData` metadata fields
157
- - `test/review/property-change-revisions.test.ts` — 10 tests covering sectPrChange and tblPrChange parse, accept/reject, and round-trip; pPrChange preserve-only with propertyChangeData
158
- - `test/review/move-revisions.test.ts` — 7 tests covering moveFrom/moveTo linked IDs, preserve-only behavior, author/timestamp metadata, and serialization round-trip
159
-
160
- `track-change-extensions` is at `baseline-proved`. Design decision: pPrChange stays as formatting kind (preserve-only) with `propertyChangeData` metadata; sectPrChange and tblPrChange are the actionable property-change kinds. Proof artifact: `.tmp/wave-35-track-proof/revisions.json`.
161
-
162
- ## Complex Content Rendering Landed (Wave 36)
163
-
164
- Wave 36 (2026-04-06) adds read-only preview rendering for complex OOXML content: charts, SmartArt diagrams, wps shapes, WordArt, and VML elements. Source landed:
165
-
166
- - `src/io/ooxml/parse-complex-content.ts` — parses `mc:AlternateContent` blocks for charts (`c:chart`) and SmartArt (`dgm:*`); extracts fallback preview image media ID; preserves rawXml for lossless round-trip
167
- - `src/io/ooxml/parse-shapes.ts` — parses `wps:wsp` shapes (geometry and text content), WordArt (text with geometry presets), and VML elements (`v:shape`, `v:rect`, `v:textbox`); preserves rawXml
168
- - `src/model/canonical-document.ts` — added `ChartPreviewNode`, `SmartArtPreviewNode`, `ShapeNode`, `WordArtNode`, `VmlShapeNode` canonical inline types; each carries `rawXml` field for round-trip fidelity
169
- - `src/runtime/surface-projection.ts` — projects all five complex-content types to `opaque_inline` surface segments with distinctive labels (Chart, SmartArt, Shape, WordArt, VML shape)
170
- - `src/ui-tailwind/editor-surface/pm-schema.ts` and `pm-state-from-snapshot.ts` — register dedicated PM atom nodes (`chart_atom`, `smartart_atom`, `shape_atom`, `wordart_atom`, `vml_atom`) for read-only labeled display; map opaque_inline segments by label
171
- - `src/io/export/serialize-main-document.ts` — emits rawXml unchanged for all five new node types on export
172
- - `test/io/complex-content-roundtrip.test.ts` — 24 tests covering chart/SmartArt/shape/WordArt/VML parse, canonical type, surface projection, PM atom, and serialize; mixed 5-type paragraph round-trip; negative cases
173
-
174
- Architecture decision: new inline canonical types with `rawXml`, projected to `opaque_inline` surface, rendered as dedicated read-only PM atoms. Parse dispatch integration into `parse-main-document.ts` is a non-blocking follow-on (parsers are standalone and ready).
175
-
176
- `complex-rendering` is at `baseline-proved`. Proof artifact: `.tmp/wave-36-complex-proof/all-complex.json`.
177
-
178
- ## What Is Not Landed Yet
179
-
180
- - no shipped `SpreadsheetEditor` runtime (xlsx model and parsers exist but no editor surface)
181
- - no neutral multi-format public component API
182
- - no extracted `src/platform/` source tree
183
- - no renamed `office-harness` service in source
184
- - no shipped pdf runtime
185
- - xlsx Wave 25 A2 gap: `xlsx-session.ts` and `test/formats/xlsx/io/xlsx-import.test.ts` not yet landed
186
-
187
- ## Immediate Next Work
188
-
189
- The repo roadmap was rewritten in Wave 19 to a shipping-first Phase 1–6 structure. The new priority order:
190
-
191
- 1. **Phase 1 (complete)**: `pnpm test:repo` green, GitHub Actions CI on PR/push, all 174 tests passing
192
- 2. **Phase 2 (advancing — Waves 20, 28, 29, 32, 33, 34, 35, 36)**: First-class table support landed in Wave 20 (`table-editing` at `baseline-proved`); Wave 28 adds prosemirror-tables integration, rich formatting marks, image insertion, search plugin, `useDocxEditor` hook, and headless CLI (`editor-feature-parity` at `baseline-proved`); Wave 29 completes core OOXML property coverage for paragraphs, runs, tables, fields, bookmarks, and section breaks (`ooxml-parsing-fidelity` at `baseline-proved`); Wave 32 completes remaining paragraph/run properties (widowControl, pBdr, shading, bidi, suppressLineNumbers, cnfStyle, charSpacing, kerning, emboss, imprint, shadow, position, textFill), tblLook, column breaks, and symbols (`ooxml-property-completeness` at `baseline-proved`); Wave 33 adds headers, footers, footnotes, endnotes, and captured theme parsing metadata from their XML sub-parts, while full theme resolution/export remains future work (`document-sub-parts` remains `baseline-proved` for the landed sub-part scope); Wave 34 adds structural block support for SDT blocks, custom XML wrappers, altChunk relationship preservation, nested tables, and floating-image anchor metadata with editor-safe fallback (`structural-block-types` at `baseline-proved`); Wave 35 adds track change extensions — property change revisions (pPrChange, sectPrChange, tblPrChange, rPrChange) and move tracking (moveFrom/moveTo) with linked move IDs (`track-change-extensions` at `baseline-proved`); Wave 36 adds read-only complex content rendering — charts, SmartArt, wps shapes, WordArt, and VML elements each with a dedicated canonical inline type carrying rawXml for lossless round-trip, projected to opaque_inline surface as labeled read-only preview atoms (`complex-rendering` at `baseline-proved`)
193
- 3. **Phase 3**: API reference and npm package — `useDocxEditor` hook now exists as the imperative API surface; remove `private: true`, publish artifact, rewrite README, write API reference docs
194
- 4. **Phase 4**: OpenXML SDK validator in CI — service now at `pilot-live`; CI step still needed
195
- 5. **Phase 5**: Legal workflow features — version compare, defined terms, cross-references
196
- 6. **Phase 6**: Production hardening — accessibility, large-document performance, memory
197
-
198
- Wave 10 "qa-proved certification" ceremony and Wave 11 "fleet-ready packaging" ceremony are superseded by Phase 1 and Phase 3 respectively in the new roadmap. The shared platform and xlsx planning docs remain anchors for future multi-format work.
@@ -1,9 +0,0 @@
1
- # Docx Plans
2
-
3
- This directory is reserved for docx-specific planning material outside the current Wave sequence.
4
-
5
- The active docx implementation line still lives under:
6
-
7
- - `docs/plans/waves/`
8
- - `docs/plans/component-cutover-matrix.md`
9
- - `docs/plans/current-state.md`
@@ -1,108 +0,0 @@
1
- # Wave 99 - Benchmark Improvement Loop
2
-
3
- This example shows how to author a Wave whose job is to improve benchmark outcomes after a baseline already exists.
4
-
5
- ## Eval targets
6
-
7
- - id: hidden-profile-pooling | selection: pinned | benchmarks: private-evidence-integration,premature-consensus-guard | objective: Improve distributed evidence pooling without allowing premature closure | threshold: Full-wave benchmark scores improve without regressing closure discipline
8
- - id: routing-quality | selection: pinned | benchmarks: expert-routing-preservation,lockstep-resolution | objective: Improve capability routing and simultaneous coordination | threshold: Routing benchmarks improve and no new deadlock-like regressions appear
9
-
10
- ## Agent A0: cont-QA
11
-
12
- ### Prompt
13
-
14
- ```text
15
- Primary goal:
16
- - Block any claimed improvement that is not backed by rerun benchmark output.
17
-
18
- Specific expectations:
19
- - require benchmark reruns after each material change
20
- - do not PASS on inspection-only claims
21
- - treat benchmark regressions as blocking until they are resolved or explicitly accepted
22
-
23
- File ownership (only touch these paths):
24
- - docs/plans/waves/reviews/wave-99-cont-qa.md
25
- ```
26
-
27
- ## Agent E0: cont-EVAL
28
-
29
- ### Prompt
30
-
31
- ```text
32
- Primary goal:
33
- - Run the benchmark loop, identify the narrowest failing coordination surfaces, and keep benchmark ids explicit in every iteration.
34
-
35
- Specific expectations:
36
- - choose the smallest benchmark subset that still proves the claimed improvement
37
- - record baseline, current score, regressions, and exact benchmark ids
38
- - stay report-only unless this wave explicitly grants implementation ownership
39
-
40
- File ownership (only touch these paths):
41
- - docs/plans/waves/reviews/wave-99-cont-eval.md
42
- ```
43
-
44
- ## Agent A8: Integration Steward
45
-
46
- ### Prompt
47
-
48
- ```text
49
- Primary goal:
50
- - Synthesize benchmark evidence, implementation deltas, and regression risk into one integrated recommendation.
51
-
52
- Specific expectations:
53
- - call out any contradiction between benchmark wins and runtime or docs regressions
54
- - prefer explicit follow-up requests over vague risk notes
55
-
56
- File ownership (only touch these paths):
57
- - .tmp/main-wave-launcher/integration/wave-99.md
58
- ```
59
-
60
- ## Agent A1: Coordination Store Hardening
61
-
62
- ### Deliverables
63
-
64
- - scripts/wave-orchestrator/coordination-store.mjs
65
- - test/wave-orchestrator/coordination-store.test.ts
66
-
67
- ### Prompt
68
-
69
- ```text
70
- Primary goal:
71
- - Improve targeted inbox recall or summary fidelity for the benchmark cases that E0 reports as failing.
72
-
73
- Specific expectations:
74
- - keep changes tightly scoped to the failing benchmark signals
75
- - add regression coverage for any changed behavior
76
- - coordinate doc-impact with A9 if the benchmark semantics or operator surfaces change
77
-
78
- File ownership (only touch these paths):
79
- - scripts/wave-orchestrator/coordination-store.mjs
80
- - test/wave-orchestrator/coordination-store.test.ts
81
- ```
82
-
83
- ## Agent A2: Routing And Closure Hardening
84
-
85
- ### Deliverables
86
-
87
- - scripts/wave-orchestrator/routing-state.mjs
88
- - scripts/wave-orchestrator/benchmark.mjs
89
- - test/wave-orchestrator/routing-state.test.ts
90
- - test/wave-orchestrator/benchmark.test.ts
91
-
92
- ### Prompt
93
-
94
- ```text
95
- Primary goal:
96
- - Improve routing or closure benchmark outcomes without weakening evidence requirements.
97
-
98
- Specific expectations:
99
- - preserve deterministic benchmark behavior
100
- - prefer narrow routing and guard changes over broad orchestration rewrites
101
- - rerun the affected benchmark cases after each material change
102
-
103
- File ownership (only touch these paths):
104
- - scripts/wave-orchestrator/routing-state.mjs
105
- - scripts/wave-orchestrator/benchmark.mjs
106
- - test/wave-orchestrator/routing-state.test.ts
107
- - test/wave-orchestrator/benchmark.test.ts
108
- ```