@beyondwork/docx-react-component 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (690) hide show
  1. package/.codex/config.toml +5 -0
  2. package/.corepack/v1/pnpm/10.30.3/.corepack +1 -0
  3. package/.corepack/v1/pnpm/10.30.3/LICENSE +22 -0
  4. package/.corepack/v1/pnpm/10.30.3/README.md +240 -0
  5. package/.corepack/v1/pnpm/10.30.3/dist/node-gyp-bin/node-gyp +6 -0
  6. package/.corepack/v1/pnpm/10.30.3/dist/node-gyp-bin/node-gyp.cmd +5 -0
  7. package/.corepack/v1/pnpm/10.30.3/dist/pnpm.cjs +195400 -0
  8. package/.corepack/v1/pnpm/10.30.3/dist/pnpmrc +2 -0
  9. package/.corepack/v1/pnpm/10.30.3/dist/reflink.darwin-arm64-2HJ4WGO6.node +0 -0
  10. package/.corepack/v1/pnpm/10.30.3/dist/reflink.darwin-x64-3G3H6IW4.node +0 -0
  11. package/.corepack/v1/pnpm/10.30.3/dist/reflink.win32-arm64-msvc-Q6BARPPB.node +0 -0
  12. package/.corepack/v1/pnpm/10.30.3/dist/reflink.win32-x64-msvc-J2TZHRQI.node +0 -0
  13. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.bash +31 -0
  14. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.fish +22 -0
  15. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.ps1 +193 -0
  16. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.zsh +27 -0
  17. package/.corepack/v1/pnpm/10.30.3/dist/vendor/fastlist-0.3.0-x64.exe +0 -0
  18. package/.corepack/v1/pnpm/10.30.3/dist/vendor/fastlist-0.3.0-x86.exe +0 -0
  19. package/.corepack/v1/pnpm/10.30.3/dist/worker.js +10119 -0
  20. package/.corepack/v1/pnpm/10.30.3/package.json +192 -0
  21. package/.cursor/mcp.json +7 -0
  22. package/.github/workflows/ci.yml +35 -0
  23. package/.mcp.json +7 -0
  24. package/.openclaw/workspace-state.json +4 -0
  25. package/.pnpmrc.json +1 -0
  26. package/.wave-launch.sh +7 -0
  27. package/.workspace-marker +1 -0
  28. package/AGENTS.md +78 -0
  29. package/CHANGELOG.md +177 -0
  30. package/DESIGN.md +929 -0
  31. package/HEARTBEAT.md +7 -0
  32. package/IDENTITY.md +23 -0
  33. package/LICENSE.md +31 -0
  34. package/README.md +180 -0
  35. package/SOUL.md +36 -0
  36. package/TOOLS.md +40 -0
  37. package/USER.md +17 -0
  38. package/docs/README.md +107 -0
  39. package/docs/agents/wave-cont-eval-role.md +36 -0
  40. package/docs/agents/wave-cont-qa-role.md +52 -0
  41. package/docs/agents/wave-deploy-verifier-role.md +34 -0
  42. package/docs/agents/wave-design-role.md +47 -0
  43. package/docs/agents/wave-documentation-role.md +34 -0
  44. package/docs/agents/wave-infra-role.md +34 -0
  45. package/docs/agents/wave-integration-role.md +37 -0
  46. package/docs/agents/wave-launcher-role.md +41 -0
  47. package/docs/agents/wave-orchestrator-role.md +52 -0
  48. package/docs/agents/wave-planner-role.md +39 -0
  49. package/docs/agents/wave-security-role.md +40 -0
  50. package/docs/architecture/docx/README.md +10 -0
  51. package/docs/architecture/future/README.md +8 -0
  52. package/docs/architecture/ooxml-upgrade-analysis.md +134 -0
  53. package/docs/architecture/platform/shared-openxml-editor-platform.md +153 -0
  54. package/docs/architecture/xlsx/canonical-workbook-model-and-commands.md +187 -0
  55. package/docs/architecture/xlsx/spreadsheet-editor-frontend-architecture.md +150 -0
  56. package/docs/comment-redline-overview.md +350 -0
  57. package/docs/concepts/context7-vs-skills.md +118 -0
  58. package/docs/concepts/operating-modes.md +91 -0
  59. package/docs/concepts/runtime-agnostic-orchestration.md +111 -0
  60. package/docs/concepts/what-is-a-wave.md +217 -0
  61. package/docs/context7/bundles.json +222 -0
  62. package/docs/context7/planner-agent/README.md +28 -0
  63. package/docs/context7/planner-agent/manifest.json +83 -0
  64. package/docs/context7/planner-agent/papers/cooperbench-why-coding-agents-cannot-be-your-teammates-yet.md +3283 -0
  65. package/docs/context7/planner-agent/papers/dova-deliberation-first-multi-agent-orchestration-for-autonomous-research-automation.md +1699 -0
  66. package/docs/context7/planner-agent/papers/dpbench-large-language-models-struggle-with-simultaneous-coordination.md +2251 -0
  67. package/docs/context7/planner-agent/papers/incremental-planning-to-control-a-blackboard-based-problem-solver.md +1729 -0
  68. package/docs/context7/planner-agent/papers/silo-bench-a-scalable-environment-for-evaluating-distributed-coordination-in-multi-agent-llm-systems.md +3747 -0
  69. package/docs/context7/planner-agent/papers/todoevolve-learning-to-architect-agent-planning-systems.md +1675 -0
  70. package/docs/context7/planner-agent/papers/verified-multi-agent-orchestration-a-plan-execute-verify-replan-framework-for-complex-query-resolution.md +1173 -0
  71. package/docs/context7/planner-agent/papers/why-do-multi-agent-llm-systems-fail.md +5211 -0
  72. package/docs/context7/planner-agent/topics/planning-and-orchestration.md +24 -0
  73. package/docs/evals/arm-templates/README.md +13 -0
  74. package/docs/evals/arm-templates/full-wave.json +15 -0
  75. package/docs/evals/arm-templates/single-agent.json +15 -0
  76. package/docs/evals/benchmark-catalog.json +670 -0
  77. package/docs/evals/cases/README.md +47 -0
  78. package/docs/evals/cases/wave-blackboard-inbox-targeting.json +73 -0
  79. package/docs/evals/cases/wave-contradiction-conflict.json +104 -0
  80. package/docs/evals/cases/wave-expert-routing-preservation.json +69 -0
  81. package/docs/evals/cases/wave-hidden-profile-private-evidence.json +81 -0
  82. package/docs/evals/cases/wave-premature-closure-guard.json +71 -0
  83. package/docs/evals/cases/wave-silo-cross-agent-state.json +77 -0
  84. package/docs/evals/cases/wave-simultaneous-lockstep.json +92 -0
  85. package/docs/evals/external-benchmarks.json +85 -0
  86. package/docs/evals/external-command-config.sample.json +9 -0
  87. package/docs/evals/external-command-config.swe-bench-pro.json +8 -0
  88. package/docs/evals/pilots/README.md +47 -0
  89. package/docs/evals/pilots/swe-bench-pro-public-full-wave-review-10.json +64 -0
  90. package/docs/evals/pilots/swe-bench-pro-public-pilot.json +111 -0
  91. package/docs/evals/wave-benchmark-program.md +302 -0
  92. package/docs/guides/planner.md +220 -0
  93. package/docs/guides/recommendations-0.8.9.md +133 -0
  94. package/docs/guides/signal-wrappers.md +165 -0
  95. package/docs/guides/terminal-surfaces.md +96 -0
  96. package/docs/image copy.png +0 -0
  97. package/docs/image.png +0 -0
  98. package/docs/images/image.png +0 -0
  99. package/docs/legal-feedback-architecture.md +498 -0
  100. package/docs/plans/component-cutover-matrix.json +1072 -0
  101. package/docs/plans/component-cutover-matrix.md +307 -0
  102. package/docs/plans/context7-wave-orchestrator.md +155 -0
  103. package/docs/plans/current-state.md +198 -0
  104. package/docs/plans/docx/README.md +9 -0
  105. package/docs/plans/examples/wave-benchmark-improvement.md +108 -0
  106. package/docs/plans/examples/wave-example-live-proof.md +435 -0
  107. package/docs/plans/master-plan.md +224 -0
  108. package/docs/plans/migration.md +538 -0
  109. package/docs/plans/operations/README.md +7 -0
  110. package/docs/plans/operations/wave-10-word-certification.md +87 -0
  111. package/docs/plans/operations/wave-8-railway-staging.md +153 -0
  112. package/docs/plans/operations/wave-9-manual-certification.md +73 -0
  113. package/docs/plans/platform/README.md +9 -0
  114. package/docs/plans/reference/legal-checklist-coverage.md +258 -0
  115. package/docs/plans/wave-orchestrator.md +423 -0
  116. package/docs/plans/waves/README.md +75 -0
  117. package/docs/plans/waves/completed/wave-0.md +195 -0
  118. package/docs/plans/waves/completed/wave-1.md +379 -0
  119. package/docs/plans/waves/completed/wave-10.md +670 -0
  120. package/docs/plans/waves/completed/wave-11.md +335 -0
  121. package/docs/plans/waves/completed/wave-12.md +417 -0
  122. package/docs/plans/waves/completed/wave-13.md +316 -0
  123. package/docs/plans/waves/completed/wave-14.md +319 -0
  124. package/docs/plans/waves/completed/wave-15.md +321 -0
  125. package/docs/plans/waves/completed/wave-16.md +316 -0
  126. package/docs/plans/waves/completed/wave-17.md +331 -0
  127. package/docs/plans/waves/completed/wave-18.md +328 -0
  128. package/docs/plans/waves/completed/wave-2.md +438 -0
  129. package/docs/plans/waves/completed/wave-3.md +435 -0
  130. package/docs/plans/waves/completed/wave-4.md +430 -0
  131. package/docs/plans/waves/completed/wave-5.md +430 -0
  132. package/docs/plans/waves/completed/wave-6.md +430 -0
  133. package/docs/plans/waves/completed/wave-7.md +526 -0
  134. package/docs/plans/waves/completed/wave-8.md +596 -0
  135. package/docs/plans/waves/completed/wave-9.md +552 -0
  136. package/docs/plans/waves/deferred/README.md +14 -0
  137. package/docs/plans/waves/deferred/encrypted-intake-contracts.md +282 -0
  138. package/docs/plans/waves/deferred/legal-feedback-wave-expansion.md +308 -0
  139. package/docs/plans/waves/deferred/wave-encrypted-intake.md +451 -0
  140. package/docs/plans/waves/design/README.md +5 -0
  141. package/docs/plans/waves/design/wave-1-a1.md +309 -0
  142. package/docs/plans/waves/reviews/README.md +5 -0
  143. package/docs/plans/waves/reviews/wave-0-cont-qa.md +151 -0
  144. package/docs/plans/waves/reviews/wave-1-cont-qa.md +46 -0
  145. package/docs/plans/waves/reviews/wave-10-accessibility-and-design.md +51 -0
  146. package/docs/plans/waves/reviews/wave-10-cont-qa.md +24 -0
  147. package/docs/plans/waves/reviews/wave-10-dashboard-proof.md +46 -0
  148. package/docs/plans/waves/reviews/wave-10-performance-signoff.md +55 -0
  149. package/docs/plans/waves/reviews/wave-10-regression-proof.md +23 -0
  150. package/docs/plans/waves/reviews/wave-10-release-audit.md +31 -0
  151. package/docs/plans/waves/reviews/wave-10-service-proof.md +83 -0
  152. package/docs/plans/waves/reviews/wave-10-word-certification.md +31 -0
  153. package/docs/plans/waves/reviews/wave-18-ai-contract-closure.md +277 -0
  154. package/docs/plans/waves/reviews/wave-18-cont-qa.md +255 -0
  155. package/docs/plans/waves/reviews/wave-18-parity-proof.md +271 -0
  156. package/docs/plans/waves/reviews/wave-19-cont-qa.md +59 -0
  157. package/docs/plans/waves/reviews/wave-2-cont-qa.md +72 -0
  158. package/docs/plans/waves/reviews/wave-20-cont-qa.md +60 -0
  159. package/docs/plans/waves/reviews/wave-25-cont-qa.md +48 -0
  160. package/docs/plans/waves/reviews/wave-28-cont-qa.md +46 -0
  161. package/docs/plans/waves/reviews/wave-29-cont-qa.md +53 -0
  162. package/docs/plans/waves/reviews/wave-3-cont-qa.md +53 -0
  163. package/docs/plans/waves/reviews/wave-3-core-proof.md +77 -0
  164. package/docs/plans/waves/reviews/wave-3-validator-proof.md +73 -0
  165. package/docs/plans/waves/reviews/wave-32-cont-qa.md +43 -0
  166. package/docs/plans/waves/reviews/wave-33-cont-qa.md +526 -0
  167. package/docs/plans/waves/reviews/wave-34-cont-qa.md +100 -0
  168. package/docs/plans/waves/reviews/wave-35-cont-qa.md +145 -0
  169. package/docs/plans/waves/reviews/wave-4-cont-qa.md +47 -0
  170. package/docs/plans/waves/reviews/wave-4-structure-proof.md +69 -0
  171. package/docs/plans/waves/reviews/wave-5-comment-proof.md +158 -0
  172. package/docs/plans/waves/reviews/wave-5-cont-qa.md +68 -0
  173. package/docs/plans/waves/reviews/wave-6-cont-qa.md +416 -0
  174. package/docs/plans/waves/reviews/wave-6-redline-proof.md +130 -0
  175. package/docs/plans/waves/reviews/wave-7-cont-qa.md +82 -0
  176. package/docs/plans/waves/reviews/wave-7-ooxml-compliance.md +85 -0
  177. package/docs/plans/waves/reviews/wave-7-preservation-proof.md +119 -0
  178. package/docs/plans/waves/reviews/wave-7-trust-ux.md +87 -0
  179. package/docs/plans/waves/reviews/wave-8-accessibility-and-design.md +128 -0
  180. package/docs/plans/waves/reviews/wave-8-cont-qa.md +92 -0
  181. package/docs/plans/waves/reviews/wave-8-live-proof.md +140 -0
  182. package/docs/plans/waves/reviews/wave-8-security.md +47 -0
  183. package/docs/plans/waves/reviews/wave-9-editor-embedding.md +39 -0
  184. package/docs/plans/waves/reviews/wave-9-fixture-runner.md +56 -0
  185. package/docs/plans/waves/reviews/wave-9-live-proof.md +105 -0
  186. package/docs/plans/waves/reviews/wave-9-usability-and-performance.md +152 -0
  187. package/docs/plans/waves/specs/README.md +5 -0
  188. package/docs/plans/waves/specs/wave-1-component-boundaries.md +322 -0
  189. package/docs/plans/waves/specs/wave-1-ooxml-contracts.md +323 -0
  190. package/docs/plans/waves/specs/wave-1-review-and-ui-contracts.md +339 -0
  191. package/docs/plans/waves/specs/wave-1-runtime-contracts.md +509 -0
  192. package/docs/plans/waves/wave-19.md +341 -0
  193. package/docs/plans/waves/wave-20.md +308 -0
  194. package/docs/plans/waves/wave-21.md +289 -0
  195. package/docs/plans/waves/wave-22.md +221 -0
  196. package/docs/plans/waves/wave-23.md +295 -0
  197. package/docs/plans/waves/wave-24.md +286 -0
  198. package/docs/plans/waves/wave-25.md +313 -0
  199. package/docs/plans/waves/wave-26.md +300 -0
  200. package/docs/plans/waves/wave-27.md +299 -0
  201. package/docs/plans/waves/wave-28.md +368 -0
  202. package/docs/plans/waves/wave-29.md +303 -0
  203. package/docs/plans/waves/wave-30.md +307 -0
  204. package/docs/plans/waves/wave-31.md +231 -0
  205. package/docs/plans/waves/wave-32.md +152 -0
  206. package/docs/plans/waves/wave-33.md +147 -0
  207. package/docs/plans/waves/wave-34.md +148 -0
  208. package/docs/plans/waves/wave-35.md +141 -0
  209. package/docs/plans/waves/wave-36.md +146 -0
  210. package/docs/plans/xlsx/README.md +14 -0
  211. package/docs/plans/xlsx/xlsx-fixture-corpus-and-certification-plan.md +126 -0
  212. package/docs/reference/cli-reference.md +600 -0
  213. package/docs/reference/coordination-and-closure.md +487 -0
  214. package/docs/reference/deep-research-report (15).md +25 -0
  215. package/docs/reference/docx/README.md +10 -0
  216. package/docs/reference/legal-checklist.md +445 -0
  217. package/docs/reference/live-proof-waves.md +199 -0
  218. package/docs/reference/ooxml-compliance.md +129 -0
  219. package/docs/reference/ooxml-feature-parity-matrix.md +172 -0
  220. package/docs/reference/platform/shared-ooxml-platform-guidance.md +77 -0
  221. package/docs/reference/prototype-agent-prompt-legal-fidelity.md +155 -0
  222. package/docs/reference/public-api.md +456 -0
  223. package/docs/reference/repository-guidance.md +58 -0
  224. package/docs/reference/runtime-config/README.md +182 -0
  225. package/docs/reference/runtime-config/claude.md +110 -0
  226. package/docs/reference/runtime-config/codex.md +82 -0
  227. package/docs/reference/runtime-config/opencode.md +93 -0
  228. package/docs/reference/sample-waves.md +105 -0
  229. package/docs/reference/skills.md +237 -0
  230. package/docs/reference/templates/AGENTS.md +78 -0
  231. package/docs/reference/templates/HEARTBEAT.md +7 -0
  232. package/docs/reference/templates/IDENTITY.md +23 -0
  233. package/docs/reference/templates/SOUL.md +36 -0
  234. package/docs/reference/templates/TOOLS.md +40 -0
  235. package/docs/reference/templates/USER.md +17 -0
  236. package/docs/reference/wave-control.md +184 -0
  237. package/docs/reference/wave-planning-lessons.md +167 -0
  238. package/docs/reference/word-review-editor-frontend-architecture.md +479 -0
  239. package/docs/reference/word-review-editor-ux-guide.md +253 -0
  240. package/docs/reference/xlsx/xlsx-ooxml-compliance.md +137 -0
  241. package/docs/research/agent-context-sources.md +178 -0
  242. package/docs/research/coordination-failure-review.md +290 -0
  243. package/docs/research/docx-react-component/Canonical Document Schema Specification for a React-based Word-compatible Editor.md +2317 -0
  244. package/docs/research/docx-react-component/Feature Compatibility Matrix for a React Word Compatible Legal Editor v1.md +219 -0
  245. package/docs/research/docx-react-component/React Component Architecture and Front-End Structure Specification for a Word-Compatible Legal Review Editor.md +1112 -0
  246. package/docs/research/docx-react-component/document_compatibility_and_testing_spec.md +751 -0
  247. package/docs/research/xlsx/raw/README.md +13 -0
  248. package/docs/roadmap.md +174 -0
  249. package/docs/superpowers/plans/2026-03-28-harness-control-bar.md +677 -0
  250. package/docs/superpowers/specs/2026-03-28-harness-control-bar-design.md +274 -0
  251. package/docs/xlsx-react/README.md +38 -0
  252. package/docs/xlsx-react/agent-llm-interaction-layer-docx-xlsx.md +621 -0
  253. package/docs/xlsx-react/canonical-workbook-model-and-commands.md +948 -0
  254. package/docs/xlsx-react/shared-openxml-editor-platform-docx-xlsx.md +228 -0
  255. package/docs/xlsx-react/spreadsheet-editor-component-architecture.md +809 -0
  256. package/docs/xlsx-react/spreadsheet-editor-frontend-architecture.md +537 -0
  257. package/docs/xlsx-react/spreadsheet-editor-ux-guide.md +520 -0
  258. package/docs/xlsx-react/xlsx-editor-research-pack.md +871 -0
  259. package/docs/xlsx-react/xlsx-fixture-corpus-and-certification-plan.md +436 -0
  260. package/docs/xlsx-react/xlsx-ooxml-compliance.md +320 -0
  261. package/examples/README.md +16 -0
  262. package/memory/MEMORY.md +24 -0
  263. package/package.json +63 -0
  264. package/pnpm-workspace.yaml +4 -0
  265. package/scripts/check-no-authored-js.sh +13 -0
  266. package/scripts/context7-api-check.sh +65 -0
  267. package/scripts/context7-export-env.sh +42 -0
  268. package/scripts/run-context7-mcp.sh +8 -0
  269. package/scripts/run-workspace-tests.sh +15 -0
  270. package/scripts/start-wave-10-local.sh +189 -0
  271. package/scripts/wave-agent-attach.sh +47 -0
  272. package/scripts/wave-auto-answer.sh +118 -0
  273. package/scripts/wave-dashboard-attach.sh +13 -0
  274. package/scripts/wave-launch.sh +273 -0
  275. package/scripts/wave-overnight-supervisor.sh +145 -0
  276. package/scripts/wave-status.sh +379 -0
  277. package/scripts/wave-watch.sh +231 -0
  278. package/services/README.md +17 -0
  279. package/services/openxml-validator/Dockerfile +29 -0
  280. package/services/openxml-validator/OpenXmlValidator.Api.csproj +12 -0
  281. package/services/openxml-validator/Program.cs +436 -0
  282. package/services/openxml-validator/README.md +152 -0
  283. package/services/openxml-validator/railway.json +16 -0
  284. package/services/react-word-editor/.tmp-a4/src/api/public-types.ts +318 -0
  285. package/services/react-word-editor/.tmp-a4/src/ui/WordReviewEditor.tsx +1302 -0
  286. package/services/react-word-editor/.tmp-a4/src/ui/editor-surface/editor-surface.tsx +546 -0
  287. package/services/react-word-editor/.tmp-a4/test/ui/word-review-editor.test.tsx +146 -0
  288. package/services/react-word-editor/.tmp-a4-build/src/api/public-types.js +2 -0
  289. package/services/react-word-editor/.tmp-a4-build/src/ui/WordReviewEditor.js +818 -0
  290. package/services/react-word-editor/.tmp-a4-build/src/ui/editor-surface/editor-surface.js +229 -0
  291. package/services/react-word-editor/.tmp-a4-build/test/ui/word-review-editor.test.js +121 -0
  292. package/services/react-word-editor/.tmp-wave-4-a3-tsconfig.json +21 -0
  293. package/services/react-word-editor/.tmp-wave-4-a3-tsconfig.tsbuildinfo +1 -0
  294. package/services/react-word-editor/Dockerfile +26 -0
  295. package/services/react-word-editor/README.md +254 -0
  296. package/services/react-word-editor/app/api/certification/route.ts +79 -0
  297. package/services/react-word-editor/app/api/demo-sessions/route.ts +109 -0
  298. package/services/react-word-editor/app/api/deploy-health/route.ts +23 -0
  299. package/services/react-word-editor/app/api/exports/[exportId]/route.ts +34 -0
  300. package/services/react-word-editor/app/api/exports/route.ts +81 -0
  301. package/services/react-word-editor/app/api/fixtures/[fixtureId]/run/route.ts +100 -0
  302. package/services/react-word-editor/app/api/health/route.ts +70 -0
  303. package/services/react-word-editor/app/api/runs/[runId]/route.ts +36 -0
  304. package/services/react-word-editor/app/api/scenarios/[scenarioId]/run/route.ts +85 -0
  305. package/services/react-word-editor/app/api/sessions/[sessionId]/route.ts +199 -0
  306. package/services/react-word-editor/app/api/sessions/[sessionId]/source/route.ts +45 -0
  307. package/services/react-word-editor/app/api/uploads/route.ts +70 -0
  308. package/services/react-word-editor/app/api/validate/route.ts +310 -0
  309. package/services/react-word-editor/app/certification/[runId]/page.tsx +14 -0
  310. package/services/react-word-editor/app/certification/page.tsx +32 -0
  311. package/services/react-word-editor/app/dashboard/page.tsx +7 -0
  312. package/services/react-word-editor/app/demo/page.tsx +30 -0
  313. package/services/react-word-editor/app/demo/prototype-client.tsx +1080 -0
  314. package/services/react-word-editor/app/editor/[sessionId]/page.tsx +33 -0
  315. package/services/react-word-editor/app/fixtures/page.tsx +7 -0
  316. package/services/react-word-editor/app/globals.css +121 -0
  317. package/services/react-word-editor/app/layout.tsx +32 -0
  318. package/services/react-word-editor/app/page.tsx +30 -0
  319. package/services/react-word-editor/app/runs/[runId]/page.tsx +34 -0
  320. package/services/react-word-editor/app/wave-10-word-review/page.tsx +7 -0
  321. package/services/react-word-editor/components/harness-control-bar.tsx +289 -0
  322. package/services/react-word-editor/components/harness-editor-session-client.tsx +1214 -0
  323. package/services/react-word-editor/components/harness-workspace-page.tsx +715 -0
  324. package/services/react-word-editor/components/reduced-motion-toggle.tsx +79 -0
  325. package/services/react-word-editor/components/workspace-certification-panel.tsx +307 -0
  326. package/services/react-word-editor/lib/certification-bundle.ts +796 -0
  327. package/services/react-word-editor/lib/certification-store.ts +661 -0
  328. package/services/react-word-editor/lib/demo-fixtures.test.mjs +195 -0
  329. package/services/react-word-editor/lib/demo-fixtures.ts +1519 -0
  330. package/services/react-word-editor/lib/editor-session-summary.test.mjs +68 -0
  331. package/services/react-word-editor/lib/editor-session-summary.ts +14 -0
  332. package/services/react-word-editor/lib/editor-session.ts +228 -0
  333. package/services/react-word-editor/lib/exports-route.test.mjs +32 -0
  334. package/services/react-word-editor/lib/harness-client.ts +347 -0
  335. package/services/react-word-editor/lib/harness-config.json +30 -0
  336. package/services/react-word-editor/lib/harness-config.test.mjs +31 -0
  337. package/services/react-word-editor/lib/harness-config.ts +21 -0
  338. package/services/react-word-editor/lib/harness-editor-datastore.test.mjs +220 -0
  339. package/services/react-word-editor/lib/harness-editor-datastore.ts +161 -0
  340. package/services/react-word-editor/lib/private-mode.test.mjs +42 -0
  341. package/services/react-word-editor/lib/private-mode.ts +61 -0
  342. package/services/react-word-editor/lib/regression-report.test.mjs +352 -0
  343. package/services/react-word-editor/lib/regression-report.ts +896 -0
  344. package/services/react-word-editor/lib/run-artifacts.ts +934 -0
  345. package/services/react-word-editor/lib/run-history.ts +755 -0
  346. package/services/react-word-editor/lib/scenario-artifacts.test.mjs +41 -0
  347. package/services/react-word-editor/lib/scenario-artifacts.ts +44 -0
  348. package/services/react-word-editor/lib/storage.ts +953 -0
  349. package/services/react-word-editor/lib/validator-client.test.mjs +54 -0
  350. package/services/react-word-editor/lib/validator-client.ts +95 -0
  351. package/services/react-word-editor/lib/workspace-navigation.ts +79 -0
  352. package/services/react-word-editor/middleware.ts +35 -0
  353. package/services/react-word-editor/next-env.d.ts +6 -0
  354. package/services/react-word-editor/next.config.mjs +15 -0
  355. package/services/react-word-editor/package.json +38 -0
  356. package/services/react-word-editor/postcss.config.mjs +8 -0
  357. package/services/react-word-editor/railway.json +21 -0
  358. package/services/react-word-editor/scripts/wave-10-certification.mjs +101 -0
  359. package/services/react-word-editor/scripts/wave-9-live-usability-pilot.mjs +911 -0
  360. package/services/react-word-editor/tsconfig.json +39 -0
  361. package/services/react-word-editor/tsconfig.tsbuildinfo +1 -0
  362. package/skills/README.md +48 -0
  363. package/skills/domain-docx-compatibility/SKILL.md +44 -0
  364. package/skills/domain-docx-compatibility/skill.json +19 -0
  365. package/skills/domain-editor-architecture/SKILL.md +49 -0
  366. package/skills/domain-editor-architecture/skill.json +19 -0
  367. package/skills/domain-legal-review/SKILL.md +39 -0
  368. package/skills/domain-legal-review/skill.json +19 -0
  369. package/skills/provider-aws/SKILL.md +117 -0
  370. package/skills/provider-aws/adapters/claude.md +1 -0
  371. package/skills/provider-aws/adapters/codex.md +1 -0
  372. package/skills/provider-aws/references/service-verification.md +39 -0
  373. package/skills/provider-aws/skill.json +54 -0
  374. package/skills/provider-custom-deploy/SKILL.md +64 -0
  375. package/skills/provider-custom-deploy/skill.json +50 -0
  376. package/skills/provider-docker-compose/SKILL.md +96 -0
  377. package/skills/provider-docker-compose/adapters/local.md +1 -0
  378. package/skills/provider-docker-compose/skill.json +53 -0
  379. package/skills/provider-github-release/SKILL.md +121 -0
  380. package/skills/provider-github-release/adapters/claude.md +1 -0
  381. package/skills/provider-github-release/adapters/codex.md +1 -0
  382. package/skills/provider-github-release/skill.json +55 -0
  383. package/skills/provider-kubernetes/SKILL.md +143 -0
  384. package/skills/provider-kubernetes/adapters/claude.md +1 -0
  385. package/skills/provider-kubernetes/adapters/codex.md +1 -0
  386. package/skills/provider-kubernetes/references/kubectl-patterns.md +58 -0
  387. package/skills/provider-kubernetes/skill.json +52 -0
  388. package/skills/provider-railway/SKILL.md +123 -0
  389. package/skills/provider-railway/adapters/claude.md +1 -0
  390. package/skills/provider-railway/adapters/codex.md +1 -0
  391. package/skills/provider-railway/adapters/local.md +1 -0
  392. package/skills/provider-railway/adapters/opencode.md +1 -0
  393. package/skills/provider-railway/references/verification-commands.md +39 -0
  394. package/skills/provider-railway/skill.json +71 -0
  395. package/skills/provider-ssh-manual/SKILL.md +97 -0
  396. package/skills/provider-ssh-manual/skill.json +54 -0
  397. package/skills/repo-coding-rules/SKILL.md +55 -0
  398. package/skills/repo-coding-rules/skill.json +34 -0
  399. package/skills/role-cont-eval/SKILL.md +91 -0
  400. package/skills/role-cont-eval/adapters/codex.md +1 -0
  401. package/skills/role-cont-eval/skill.json +36 -0
  402. package/skills/role-cont-qa/SKILL.md +100 -0
  403. package/skills/role-cont-qa/adapters/claude.md +1 -0
  404. package/skills/role-cont-qa/skill.json +36 -0
  405. package/skills/role-deploy/SKILL.md +97 -0
  406. package/skills/role-deploy/skill.json +36 -0
  407. package/skills/role-design/SKILL.md +50 -0
  408. package/skills/role-design/skill.json +36 -0
  409. package/skills/role-documentation/SKILL.md +76 -0
  410. package/skills/role-documentation/skill.json +36 -0
  411. package/skills/role-implementation/SKILL.md +45 -0
  412. package/skills/role-implementation/skill.json +36 -0
  413. package/skills/role-infra/SKILL.md +81 -0
  414. package/skills/role-infra/skill.json +36 -0
  415. package/skills/role-integration/SKILL.md +91 -0
  416. package/skills/role-integration/skill.json +36 -0
  417. package/skills/role-planner/SKILL.md +39 -0
  418. package/skills/role-planner/skill.json +21 -0
  419. package/skills/role-research/SKILL.md +65 -0
  420. package/skills/role-research/skill.json +36 -0
  421. package/skills/role-security/SKILL.md +60 -0
  422. package/skills/role-security/skill.json +36 -0
  423. package/skills/runtime-claude/SKILL.md +66 -0
  424. package/skills/runtime-claude/skill.json +36 -0
  425. package/skills/runtime-codex/SKILL.md +58 -0
  426. package/skills/runtime-codex/skill.json +36 -0
  427. package/skills/runtime-local/SKILL.md +46 -0
  428. package/skills/runtime-local/skill.json +36 -0
  429. package/skills/runtime-opencode/SKILL.md +58 -0
  430. package/skills/runtime-opencode/skill.json +36 -0
  431. package/skills/signal-hygiene/SKILL.md +51 -0
  432. package/skills/signal-hygiene/skill.json +20 -0
  433. package/skills/tui-design/SKILL.md +77 -0
  434. package/skills/tui-design/references/tui-design.md +259 -0
  435. package/skills/tui-design/skill.json +36 -0
  436. package/skills/wave-core/SKILL.md +141 -0
  437. package/skills/wave-core/references/marker-syntax.md +70 -0
  438. package/skills/wave-core/skill.json +35 -0
  439. package/src/README.md +85 -0
  440. package/src/api/README.md +22 -0
  441. package/src/api/public-types.ts +525 -0
  442. package/src/component-inventory.md +99 -0
  443. package/src/core/README.md +10 -0
  444. package/src/core/commands/README.md +3 -0
  445. package/src/core/commands/formatting-commands.ts +161 -0
  446. package/src/core/commands/image-commands.ts +144 -0
  447. package/src/core/commands/index.ts +1013 -0
  448. package/src/core/commands/list-commands.ts +370 -0
  449. package/src/core/commands/review-commands.ts +108 -0
  450. package/src/core/commands/text-commands.ts +119 -0
  451. package/src/core/schema/README.md +3 -0
  452. package/src/core/schema/text-schema.ts +512 -0
  453. package/src/core/selection/README.md +3 -0
  454. package/src/core/selection/mapping.ts +238 -0
  455. package/src/core/selection/review-anchors.ts +94 -0
  456. package/src/core/state/README.md +3 -0
  457. package/src/core/state/editor-state.ts +580 -0
  458. package/src/core/state/text-transaction.ts +276 -0
  459. package/src/formats/xlsx/io/parse-shared-strings.ts +41 -0
  460. package/src/formats/xlsx/io/parse-sheet.ts +289 -0
  461. package/src/formats/xlsx/io/parse-styles.ts +57 -0
  462. package/src/formats/xlsx/io/parse-workbook.ts +75 -0
  463. package/src/formats/xlsx/io/xlsx-session.ts +306 -0
  464. package/src/formats/xlsx/model/cell.ts +189 -0
  465. package/src/formats/xlsx/model/sheet.ts +244 -0
  466. package/src/formats/xlsx/model/styles.ts +118 -0
  467. package/src/formats/xlsx/model/workbook.ts +449 -0
  468. package/src/io/README.md +10 -0
  469. package/src/io/docx-session.ts +1763 -0
  470. package/src/io/export/README.md +3 -0
  471. package/src/io/export/export-session.ts +165 -0
  472. package/src/io/export/minimal-docx.ts +115 -0
  473. package/src/io/export/reattach-preserved-parts.ts +54 -0
  474. package/src/io/export/serialize-comments.ts +876 -0
  475. package/src/io/export/serialize-footnotes.ts +217 -0
  476. package/src/io/export/serialize-headers-footers.ts +200 -0
  477. package/src/io/export/serialize-main-document.ts +982 -0
  478. package/src/io/export/serialize-numbering.ts +97 -0
  479. package/src/io/export/serialize-revisions.ts +389 -0
  480. package/src/io/export/serialize-runtime-revisions.ts +265 -0
  481. package/src/io/export/serialize-tables.ts +147 -0
  482. package/src/io/export/split-review-boundaries.ts +194 -0
  483. package/src/io/normalize/README.md +3 -0
  484. package/src/io/normalize/normalize-text.ts +437 -0
  485. package/src/io/ooxml/README.md +3 -0
  486. package/src/io/ooxml/parse-comments.ts +779 -0
  487. package/src/io/ooxml/parse-complex-content.ts +287 -0
  488. package/src/io/ooxml/parse-fields.ts +438 -0
  489. package/src/io/ooxml/parse-footnotes.ts +403 -0
  490. package/src/io/ooxml/parse-headers-footers.ts +483 -0
  491. package/src/io/ooxml/parse-inline-media.ts +431 -0
  492. package/src/io/ooxml/parse-main-document.ts +1846 -0
  493. package/src/io/ooxml/parse-numbering.ts +425 -0
  494. package/src/io/ooxml/parse-revisions.ts +658 -0
  495. package/src/io/ooxml/parse-shapes.ts +271 -0
  496. package/src/io/ooxml/parse-tables.ts +568 -0
  497. package/src/io/ooxml/parse-theme.ts +314 -0
  498. package/src/io/ooxml/part-manifest.ts +136 -0
  499. package/src/io/ooxml/revision-boundaries.ts +351 -0
  500. package/src/io/opc/README.md +3 -0
  501. package/src/io/opc/corrupt-package.ts +166 -0
  502. package/src/io/opc/docx-package.ts +74 -0
  503. package/src/io/opc/package-reader.ts +320 -0
  504. package/src/io/opc/package-writer.ts +273 -0
  505. package/src/model/README.md +3 -0
  506. package/src/model/canonical-document.ts +1911 -0
  507. package/src/model/cds-1.0.0.ts +196 -0
  508. package/src/model/snapshot.ts +393 -0
  509. package/src/preservation/README.md +3 -0
  510. package/src/preservation/markup-compatibility.ts +48 -0
  511. package/src/preservation/opaque-fragment-store.ts +89 -0
  512. package/src/preservation/opaque-region.ts +233 -0
  513. package/src/preservation/package-preservation.ts +120 -0
  514. package/src/preservation/preserved-part-manifest.ts +56 -0
  515. package/src/preservation/relationship-retention.ts +57 -0
  516. package/src/preservation/store.ts +185 -0
  517. package/src/review/README.md +16 -0
  518. package/src/review/store/README.md +3 -0
  519. package/src/review/store/comment-anchors.ts +70 -0
  520. package/src/review/store/comment-remapping.ts +154 -0
  521. package/src/review/store/comment-store.ts +331 -0
  522. package/src/review/store/comment-thread.ts +109 -0
  523. package/src/review/store/revision-actions.ts +394 -0
  524. package/src/review/store/revision-store.ts +303 -0
  525. package/src/review/store/revision-types.ts +168 -0
  526. package/src/review/store/runtime-comment-store.ts +43 -0
  527. package/src/runtime/README.md +3 -0
  528. package/src/runtime/ai-action-policy.ts +764 -0
  529. package/src/runtime/document-runtime.ts +969 -0
  530. package/src/runtime/read-only-diagnostics-runtime.ts +232 -0
  531. package/src/runtime/review-runtime.ts +44 -0
  532. package/src/runtime/revision-runtime.ts +107 -0
  533. package/src/runtime/session-capabilities.ts +138 -0
  534. package/src/runtime/surface-projection.ts +570 -0
  535. package/src/runtime/table-commands.ts +84 -0
  536. package/src/runtime/table-schema.ts +125 -0
  537. package/src/ui/README.md +30 -0
  538. package/src/ui/WordReviewEditor.tsx +1283 -0
  539. package/src/ui/comments/README.md +3 -0
  540. package/src/ui/compatibility/README.md +3 -0
  541. package/src/ui/editor-surface/README.md +3 -0
  542. package/src/ui/headless/comment-decoration-model.ts +124 -0
  543. package/src/ui/headless/revision-decoration-model.ts +128 -0
  544. package/src/ui/headless/selection-helpers.ts +34 -0
  545. package/src/ui/headless/use-editor-keyboard.ts +98 -0
  546. package/src/ui/review/README.md +3 -0
  547. package/src/ui/shared/revision-filters.ts +31 -0
  548. package/src/ui/status/README.md +3 -0
  549. package/src/ui/theme/README.md +3 -0
  550. package/src/ui/toolbar/README.md +3 -0
  551. package/src/ui-tailwind/chrome/tw-alert-banner.tsx +48 -0
  552. package/src/ui-tailwind/chrome/tw-selection-toolbar.tsx +44 -0
  553. package/src/ui-tailwind/chrome/tw-unsaved-modal.tsx +58 -0
  554. package/src/ui-tailwind/chrome/use-before-unload.ts +20 -0
  555. package/src/ui-tailwind/editor-surface/pm-command-bridge.ts +139 -0
  556. package/src/ui-tailwind/editor-surface/pm-decorations.ts +98 -0
  557. package/src/ui-tailwind/editor-surface/pm-position-map.ts +123 -0
  558. package/src/ui-tailwind/editor-surface/pm-schema.ts +452 -0
  559. package/src/ui-tailwind/editor-surface/pm-state-from-snapshot.ts +327 -0
  560. package/src/ui-tailwind/editor-surface/search-plugin.ts +157 -0
  561. package/src/ui-tailwind/editor-surface/tw-caret.tsx +12 -0
  562. package/src/ui-tailwind/editor-surface/tw-editor-surface.tsx +150 -0
  563. package/src/ui-tailwind/editor-surface/tw-inline-token.tsx +118 -0
  564. package/src/ui-tailwind/editor-surface/tw-opaque-block.tsx +52 -0
  565. package/src/ui-tailwind/editor-surface/tw-paragraph-block.tsx +151 -0
  566. package/src/ui-tailwind/editor-surface/tw-prosemirror-surface.tsx +215 -0
  567. package/src/ui-tailwind/editor-surface/tw-segment-view.tsx +111 -0
  568. package/src/ui-tailwind/editor-surface/tw-table-node-view.tsx +108 -0
  569. package/src/ui-tailwind/index.ts +61 -0
  570. package/src/ui-tailwind/review/tw-comment-sidebar.tsx +276 -0
  571. package/src/ui-tailwind/review/tw-health-panel.tsx +120 -0
  572. package/src/ui-tailwind/review/tw-review-rail.tsx +120 -0
  573. package/src/ui-tailwind/review/tw-revision-sidebar.tsx +164 -0
  574. package/src/ui-tailwind/status/tw-status-bar.tsx +58 -0
  575. package/src/ui-tailwind/theme/editor-theme.css +190 -0
  576. package/src/ui-tailwind/toolbar/tw-toolbar-icon-button.tsx +48 -0
  577. package/src/ui-tailwind/toolbar/tw-toolbar.tsx +231 -0
  578. package/src/ui-tailwind/tw-review-workspace.tsx +140 -0
  579. package/src/validation/README.md +3 -0
  580. package/src/validation/compatibility-engine.ts +317 -0
  581. package/src/validation/compatibility-report.ts +160 -0
  582. package/src/validation/diagnostics.ts +203 -0
  583. package/src/validation/import-diagnostics.ts +128 -0
  584. package/src/validation/low-priority-word-surfaces.ts +373 -0
  585. package/test/README.md +16 -0
  586. package/test/core/formatting-commands.test.ts +285 -0
  587. package/test/core/image-commands.test.ts +298 -0
  588. package/test/core/mapping.test.ts +186 -0
  589. package/test/core/text-commands.test.ts +176 -0
  590. package/test/fixtures/docx/F01-basic-contract.docx +0 -0
  591. package/test/fixtures/docx/F01-basic-contract.md +33 -0
  592. package/test/fixtures/docx/F02-headings-styles.docx +0 -0
  593. package/test/fixtures/docx/F02-headings-styles.md +33 -0
  594. package/test/fixtures/docx/F03-legal-outline-numbering.docx +0 -0
  595. package/test/fixtures/docx/F03-legal-outline-numbering.md +34 -0
  596. package/test/fixtures/docx/F04-restart-numbering-schedules.docx +0 -0
  597. package/test/fixtures/docx/F04-restart-numbering-schedules.md +33 -0
  598. package/test/fixtures/docx/F05-table-heavy-agreement.docx +0 -0
  599. package/test/fixtures/docx/F05-table-heavy-agreement.md +34 -0
  600. package/test/fixtures/docx/F06-merged-cells-signature-table.docx +0 -0
  601. package/test/fixtures/docx/F06-merged-cells-signature-table.md +34 -0
  602. package/test/fixtures/docx/F07-inline-images-exhibit.docx +0 -0
  603. package/test/fixtures/docx/F07-inline-images-exhibit.md +34 -0
  604. package/test/fixtures/docx/F08-hyperlinks.docx +0 -0
  605. package/test/fixtures/docx/F08-hyperlinks.md +33 -0
  606. package/test/fixtures/docx/F09-comments-single-paragraph.docx +0 -0
  607. package/test/fixtures/docx/F09-comments-single-paragraph.md +33 -0
  608. package/test/fixtures/docx/F10-threaded-comments-resolve.docx +0 -0
  609. package/test/fixtures/docx/F10-threaded-comments-resolve.md +33 -0
  610. package/test/fixtures/docx/F11-redlines-basic.docx +0 -0
  611. package/test/fixtures/docx/F11-redlines-basic.md +33 -0
  612. package/test/fixtures/docx/F12-redlines-paragraph-joins-splits.docx +0 -0
  613. package/test/fixtures/docx/F12-redlines-paragraph-joins-splits.md +33 -0
  614. package/test/fixtures/docx/F13-comments-on-deleted-text.docx +0 -0
  615. package/test/fixtures/docx/F13-comments-on-deleted-text.md +33 -0
  616. package/test/fixtures/docx/F14-revisions-in-tables-and-lists.docx +0 -0
  617. package/test/fixtures/docx/F14-revisions-in-tables-and-lists.md +33 -0
  618. package/test/fixtures/docx/F15-sections-headers-footers.docx +0 -0
  619. package/test/fixtures/docx/F15-sections-headers-footers.md +33 -0
  620. package/test/fixtures/docx/F16-footnotes-endnotes.docx +0 -0
  621. package/test/fixtures/docx/F16-footnotes-endnotes.md +33 -0
  622. package/test/fixtures/docx/F17-fields-and-toc.docx +0 -0
  623. package/test/fixtures/docx/F17-fields-and-toc.md +33 -0
  624. package/test/fixtures/docx/F18-content-controls-template.docx +0 -0
  625. package/test/fixtures/docx/F18-content-controls-template.md +33 -0
  626. package/test/fixtures/docx/F19-custom-xml-doc-assembly.docx +0 -0
  627. package/test/fixtures/docx/F19-custom-xml-doc-assembly.md +35 -0
  628. package/test/fixtures/docx/F20-unknown-ooxml-and-alternatecontent.docx +0 -0
  629. package/test/fixtures/docx/F20-unknown-ooxml-and-alternatecontent.md +33 -0
  630. package/test/fixtures/docx/F21-malformed-broken-docx.docx +0 -0
  631. package/test/fixtures/docx/F21-malformed-broken-docx.md +33 -0
  632. package/test/fixtures/docx/README.md +74 -0
  633. package/test/fixtures/docx/certification-manifest.json +104 -0
  634. package/test/fixtures/docx/fixtures.manifest.json +196 -0
  635. package/test/fixtures/encrypted-docx/README.md +27 -0
  636. package/test/fixtures/encrypted-docx/certification-manifest.json +9 -0
  637. package/test/fixtures/encrypted-docx/fixtures.manifest.json +47 -0
  638. package/test/fixtures/scenarios/docx/README.md +25 -0
  639. package/test/fixtures/scenarios/docx/S01-sow-template.docx +0 -0
  640. package/test/fixtures/scenarios/docx/S01-sow-template.md +30 -0
  641. package/test/fixtures/scenarios/docx/S02-bw-partner-user-licence-agreement-redlines.docx +0 -0
  642. package/test/fixtures/scenarios/docx/S02-bw-partner-user-licence-agreement-redlines.md +32 -0
  643. package/test/fixtures/scenarios/docx/scenario-manifest.json +53 -0
  644. package/test/formats/xlsx/io/xlsx-import.test.ts +766 -0
  645. package/test/formats/xlsx/model/workbook.test.ts +669 -0
  646. package/test/helpers/dom-setup.ts +124 -0
  647. package/test/io/comment-roundtrip.test.ts +272 -0
  648. package/test/io/complex-content-roundtrip.test.ts +632 -0
  649. package/test/io/docx-compatibility-regression.test.ts +199 -0
  650. package/test/io/docx-session.test.ts +1495 -0
  651. package/test/io/footnotes-roundtrip.test.ts +318 -0
  652. package/test/io/headers-footers-roundtrip.test.ts +547 -0
  653. package/test/io/numbering-roundtrip.test.ts +234 -0
  654. package/test/io/package-reader.test.ts +199 -0
  655. package/test/io/paragraph-properties-roundtrip.test.ts +129 -0
  656. package/test/io/preserved-package-roundtrip.test.ts +365 -0
  657. package/test/io/property-completeness.test.ts +292 -0
  658. package/test/io/revision-roundtrip.test.ts +347 -0
  659. package/test/io/structural-blocks.test.ts +202 -0
  660. package/test/io/table-media-roundtrip.test.ts +448 -0
  661. package/test/io/table-properties-roundtrip.test.ts +569 -0
  662. package/test/io/table-roundtrip.test.ts +302 -0
  663. package/test/io/text-roundtrip.test.ts +344 -0
  664. package/test/model/canonical-document.test.ts +285 -0
  665. package/test/preservation/opaque-fragment-store.test.ts +121 -0
  666. package/test/preservation/package-preservation.test.ts +395 -0
  667. package/test/preservation/store.test.ts +84 -0
  668. package/test/review/comment-remapping.test.ts +220 -0
  669. package/test/review/comment-store.test.ts +180 -0
  670. package/test/review/move-revisions.test.ts +143 -0
  671. package/test/review/property-change-revisions.test.ts +225 -0
  672. package/test/review/revision-actions.test.ts +330 -0
  673. package/test/review/revision-store.test.ts +193 -0
  674. package/test/runtime/session-capabilities.test.ts +260 -0
  675. package/test/runtime/table-commands.test.ts +356 -0
  676. package/test/runtime/table-schema.test.ts +221 -0
  677. package/test/runtime/tracked-changes-toggle.test.ts +107 -0
  678. package/test/ui/comment-review-surface.test.tsx +114 -0
  679. package/test/ui/reduced-motion-toggle.test.tsx +137 -0
  680. package/test/ui/word-review-editor.imported-scenarios.test.tsx +169 -0
  681. package/test/ui/word-review-editor.interaction.test.tsx +1198 -0
  682. package/test/ui/word-review-editor.test.js +188 -0
  683. package/test/ui/word-review-editor.test.tsx +280 -0
  684. package/test/ui-tailwind/search-plugin.test.ts +286 -0
  685. package/test/validation/compatibility-engine.test.ts +336 -0
  686. package/test/validation/compatibility-report.test.ts +189 -0
  687. package/test/validation/low-priority-word-surfaces.test.ts +282 -0
  688. package/test/validation/malformed-doc.test.ts +113 -0
  689. package/test-results/.last-run.json +4 -0
  690. package/wave.config.json +406 -0
@@ -0,0 +1,435 @@
1
+ # Wave 14 - Example Full Modern Release Surface
2
+
3
+ This is a showcase-first sample wave.
4
+
5
+ Use it as the single reference example for the current `0.8.5` Wave surface.
6
+
7
+ It intentionally combines more sections than a normal production wave so one file can demonstrate:
8
+
9
+ - standard closure roles (`A0`, `E0`, `A8`, `A9`)
10
+ - `## Eval targets` with delegated and pinned benchmark selection
11
+ - richer `### Executor` blocks, budgets, and sticky retry
12
+ - `### Skills`
13
+ - `### Capabilities`
14
+ - `### Deliverables`
15
+ - `### Exit contract`
16
+ - proof-first live validation with `### Proof artifacts`
17
+ - `## Deploy environments`
18
+ - infra and deploy-verifier specialists
19
+
20
+ This example is intentionally denser than a launch-minimal wave. Its job is to teach the full authored surface in one place.
21
+
22
+ **Commit message**: `Docs: add full modern sample wave`
23
+
24
+ ## Component promotions
25
+
26
+ - learning-memory-action-plane: pilot-live
27
+ - executor-abstraction-and-prompt-transport: baseline-proved
28
+
29
+ ## Deploy environments
30
+
31
+ - prod: kubernetes default (primary production cluster)
32
+ - staging: custom-deploy (manual preflight and recovery flow)
33
+
34
+ ## Eval targets
35
+
36
+ - id: live-proof-fidelity | selection: delegated | benchmark-family: blackboard-fidelity | objective: Preserve machine-visible live proof through summaries, inboxes, and integration closure | threshold: Critical live-proof facts remain visible through final closure
37
+ - id: contradiction-recovery | selection: pinned | benchmarks: claim-conflict-detection,evidence-based-repair | objective: Surface and repair conflicting live claims before PASS | threshold: Material contradictions become explicit repair work before final closure
38
+ - id: silo-escape | selection: delegated | benchmark-family: silo-escape | objective: Reconstruct the correct global state from distributed live and repo evidence | threshold: Integration closure reflects the full cross-agent state instead of partial local views
39
+
40
+ ## Context7 defaults
41
+
42
+ - bundle: node-typescript
43
+ - query: "Orchestration state machines, retry policy, summary fidelity, and durable validation for coding agents"
44
+
45
+ ## Agent A0: cont-QA
46
+
47
+ ### Role prompts
48
+
49
+ - docs/agents/wave-cont-qa-role.md
50
+
51
+ ### Executor
52
+
53
+ - id: claude
54
+ - model: claude-sonnet-4-6
55
+ - claude.allowed_tools: Read,Glob
56
+
57
+ ### Context7
58
+
59
+ - bundle: none
60
+
61
+ ### Prompt
62
+
63
+ ```text
64
+ Primary goal:
65
+ - Treat live proof as a real closure input, not as a narrative claim.
66
+
67
+ Required context before coding:
68
+ - Read docs/reference/repository-guidance.md.
69
+ - Read docs/research/agent-context-sources.md.
70
+ - Read docs/reference/live-proof-waves.md.
71
+ - Read docs/plans/master-plan.md, docs/plans/current-state.md, and docs/plans/migration.md.
72
+
73
+ Specific expectations:
74
+ - do not PASS unless the declared proof artifacts exist locally
75
+ - do not infer host truth from stale repo-local snapshots
76
+ - rely on the declared proof bundle, integration summary, and doc closure state
77
+
78
+ File ownership (only touch these paths):
79
+ - docs/plans/waves/reviews/wave-14-cont-qa.md
80
+ ```
81
+
82
+ ## Agent E0: cont-EVAL
83
+
84
+ ### Role prompts
85
+
86
+ - docs/agents/wave-cont-eval-role.md
87
+
88
+ ### Executor
89
+
90
+ - id: claude
91
+ - model: claude-sonnet-4-6
92
+ - claude.allowed_tools: Read,Glob
93
+ - claude.output_format: json
94
+
95
+ ### Context7
96
+
97
+ - bundle: none
98
+
99
+ ### Skills
100
+
101
+ - role-cont-eval
102
+
103
+ ### Prompt
104
+
105
+ ```text
106
+ Primary goal:
107
+ - Evaluate whether the wave actually preserves, integrates, and repairs distributed live-proof evidence before closure.
108
+
109
+ Required context before coding:
110
+ - Read docs/reference/repository-guidance.md.
111
+ - Read docs/research/agent-context-sources.md.
112
+ - Read docs/evals/README.md.
113
+ - Read docs/reference/live-proof-waves.md.
114
+ - Read docs/plans/master-plan.md, docs/plans/current-state.md, and docs/plans/migration.md.
115
+
116
+ Specific expectations:
117
+ - for delegated targets, choose the smallest benchmark set that genuinely exercises the failure mode
118
+ - for pinned targets, run the exact benchmark ids named in the wave contract
119
+ - record the exact selected target ids and benchmark ids in the append-only report
120
+
121
+ File ownership (only touch these paths):
122
+ - docs/plans/waves/reviews/wave-14-cont-eval.md
123
+ ```
124
+
125
+ ## Agent A8: Integration Steward
126
+
127
+ ### Role prompts
128
+
129
+ - docs/agents/wave-integration-role.md
130
+
131
+ ### Executor
132
+
133
+ - id: claude
134
+ - model: claude-sonnet-4-6
135
+
136
+ ### Context7
137
+
138
+ - bundle: none
139
+
140
+ ### Capabilities
141
+
142
+ - integration
143
+ - live-proof-reconciliation
144
+ - contradiction-recovery
145
+ - blackboard-fidelity
146
+
147
+ ### Prompt
148
+
149
+ ```text
150
+ Primary goal:
151
+ - Reconcile repo changes, proof artifacts, infra state, and deploy-verifier evidence into one closure-ready decision.
152
+
153
+ Required context before coding:
154
+ - Read docs/reference/repository-guidance.md.
155
+ - Read docs/research/agent-context-sources.md.
156
+ - Read docs/reference/live-proof-waves.md.
157
+ - Read docs/plans/master-plan.md and docs/plans/current-state.md.
158
+
159
+ Specific expectations:
160
+ - treat missing proof artifacts as blocking
161
+ - prefer explicit follow-up requests over vague warnings
162
+ - call out stale or contradictory live-proof claims
163
+ - use the `cont-EVAL` report and exact benchmark ids as evidence, not as a suggestion
164
+
165
+ File ownership (only touch these paths):
166
+ - .tmp/main-wave-launcher/integration/wave-14.md
167
+ - .tmp/main-wave-launcher/integration/wave-14.json
168
+ ```
169
+
170
+ ## Agent A9: Documentation Steward
171
+
172
+ ### Role prompts
173
+
174
+ - docs/agents/wave-documentation-role.md
175
+
176
+ ### Executor
177
+
178
+ - profile: docs-pass
179
+
180
+ ### Context7
181
+
182
+ - bundle: none
183
+
184
+ ### Prompt
185
+
186
+ ```text
187
+ Primary goal:
188
+ - Keep shared-plan docs and release-facing notes aligned with the proof-first live workflow.
189
+
190
+ Required context before coding:
191
+ - Read docs/reference/repository-guidance.md.
192
+ - Read docs/research/agent-context-sources.md.
193
+ - Read docs/reference/live-proof-waves.md.
194
+ - Read docs/plans/master-plan.md, docs/plans/current-state.md, and docs/plans/migration.md.
195
+
196
+ File ownership (only touch these paths):
197
+ - docs/plans/current-state.md
198
+ - docs/plans/master-plan.md
199
+ - docs/plans/migration.md
200
+ - docs/evals/README.md
201
+ ```
202
+
203
+ ## Agent A1: Runtime And Summary Hardening
204
+
205
+ ### Executor
206
+
207
+ - profile: implement-fast
208
+ - model: gpt-5-codex
209
+ - codex.config: model_reasoning_effort=high
210
+ - codex.search: true
211
+ - codex.json: true
212
+ - codex.add_dirs: docs,scripts,test
213
+ - fallbacks: claude, opencode
214
+ - budget.minutes: 45
215
+
216
+ ### Context7
217
+
218
+ - bundle: node-typescript
219
+ - query: "Retry orchestration, summary integrity, validation rules, and Vitest coverage for agent systems"
220
+
221
+ ### Skills
222
+
223
+ - role-implementation
224
+ - runtime-codex
225
+ - repo-coding-rules
226
+
227
+ ### Components
228
+
229
+ - executor-abstraction-and-prompt-transport
230
+
231
+ ### Capabilities
232
+
233
+ - status-reconciliation
234
+ - benchmark-integration
235
+ - summary-fidelity
236
+
237
+ ### Exit contract
238
+
239
+ - completion: integrated
240
+ - durability: durable
241
+ - proof: integration
242
+ - doc-impact: owned
243
+
244
+ ### Deliverables
245
+
246
+ - scripts/wave-orchestrator/launcher.mjs
247
+ - scripts/wave-orchestrator/coordination-store.mjs
248
+ - test/wave-orchestrator/launcher.test.ts
249
+ - test/wave-orchestrator/coordination-store.test.ts
250
+
251
+ ### Prompt
252
+
253
+ ```text
254
+ Primary goal:
255
+ - Tighten the runtime's handling of retries, summaries, and benchmark-facing evidence so proof-centric closure stays machine-visible.
256
+
257
+ Required context before coding:
258
+ - Read docs/reference/repository-guidance.md.
259
+ - Read docs/research/agent-context-sources.md.
260
+ - Read docs/evals/README.md.
261
+ - Read docs/reference/live-proof-waves.md.
262
+ - Read docs/plans/current-state.md and docs/plans/wave-orchestrator.md.
263
+
264
+ Specific expectations:
265
+ - preserve prompt-hash-based reuse safety
266
+ - keep distributed evidence visible through the shared summary and inbox layers
267
+ - add or update regression coverage for any retry or summary behavior you change
268
+
269
+ File ownership (only touch these paths):
270
+ - scripts/wave-orchestrator/launcher.mjs
271
+ - scripts/wave-orchestrator/coordination-store.mjs
272
+ - test/wave-orchestrator/launcher.test.ts
273
+ - test/wave-orchestrator/coordination-store.test.ts
274
+ ```
275
+
276
+ ## Agent A6: Learning Plane Live Validation
277
+
278
+ ### Executor
279
+
280
+ - id: codex
281
+ - retry-policy: sticky
282
+ - budget.minutes: 30
283
+ - codex.search: true
284
+ - codex.json: true
285
+
286
+ ### Context7
287
+
288
+ - bundle: none
289
+
290
+ ### Skills
291
+
292
+ - role-infra
293
+ - provider-kubernetes
294
+ - provider-custom-deploy
295
+
296
+ ### Components
297
+
298
+ - learning-memory-action-plane
299
+
300
+ ### Capabilities
301
+
302
+ - live-proof
303
+ - restart-safety
304
+ - deploy-validation
305
+
306
+ ### Exit contract
307
+
308
+ - completion: live
309
+ - durability: durable
310
+ - proof: live
311
+ - doc-impact: owned
312
+
313
+ ### Deliverables
314
+
315
+ - docs/plans/waves/reviews/wave-14-live-proof.md
316
+
317
+ ### Proof artifacts
318
+
319
+ - path: .tmp/wave-14-learning-proof/learning-dry-run-status.json | kind: live-status | required-for: pilot-live
320
+ - path: .tmp/wave-14-learning-proof/learning-plane-before-restart.json | kind: live-status | required-for: pilot-live
321
+ - path: .tmp/wave-14-learning-proof/learning-plane-after-restart.json | kind: restart-check | required-for: pilot-live
322
+ - path: .tmp/wave-14-learning-proof/learning-vector-manifest.json | kind: manifest | required-for: pilot-live
323
+
324
+ ### Prompt
325
+
326
+ ```text
327
+ Primary goal:
328
+ - Capture restart-safe learning-plane proof as a local machine-visible bundle and write the review note that closure roles will trust.
329
+
330
+ Required context before coding:
331
+ - Read docs/reference/repository-guidance.md.
332
+ - Read docs/research/agent-context-sources.md.
333
+ - Read docs/reference/live-proof-waves.md.
334
+ - Read docs/plans/current-state.md and docs/plans/wave-orchestrator.md.
335
+
336
+ Operator command sequence:
337
+ - leapctl learning status --json > .tmp/wave-14-learning-proof/learning-plane-before-restart.json
338
+ - leapctl learning dry-run --json > .tmp/wave-14-learning-proof/learning-dry-run-status.json
339
+ - leapctl learning restart --env prod
340
+ - leapctl learning status --json > .tmp/wave-14-learning-proof/learning-plane-after-restart.json
341
+ - leapctl learning manifest --json > .tmp/wave-14-learning-proof/learning-vector-manifest.json
342
+
343
+ Specific expectations:
344
+ - closure only counts when the declared proof artifacts exist locally
345
+ - if live host state and cached state disagree, prefer current control-plane truth and log the discrepancy explicitly
346
+ - if proof arrives after a failed attempt, expect a targeted rerun on the same executor instead of generic fallback
347
+ - post exact artifact paths and machine-visible evidence through coordination instead of assuming closure agents will rediscover host state
348
+
349
+ File ownership (only touch these paths):
350
+ - .tmp/wave-14-learning-proof/
351
+ - docs/plans/waves/reviews/wave-14-live-proof.md
352
+ ```
353
+
354
+ ## Agent A7: Infra Proof Steward
355
+
356
+ ### Role prompts
357
+
358
+ - docs/agents/wave-infra-role.md
359
+
360
+ ### Executor
361
+
362
+ - id: opencode
363
+ - opencode.format: json
364
+ - opencode.steps: 12
365
+
366
+ ### Context7
367
+
368
+ - bundle: none
369
+
370
+ ### Skills
371
+
372
+ - role-infra
373
+ - provider-kubernetes
374
+
375
+ ### Prompt
376
+
377
+ ```text
378
+ Primary goal:
379
+ - Verify infra and workload identity assumptions around the live proof owner's commands.
380
+
381
+ Required context before coding:
382
+ - Read docs/reference/repository-guidance.md.
383
+ - Read docs/research/agent-context-sources.md.
384
+ - Read docs/reference/live-proof-waves.md.
385
+
386
+ Specific expectations:
387
+ - emit infra markers instead of vague prose
388
+ - call out drift or setup-required states explicitly
389
+ - open targeted follow-up work if the live proof owner depends on unresolved infra setup
390
+
391
+ File ownership (only touch these paths):
392
+ - .tmp/main-wave-launcher/logs/wave-14-a7.log
393
+ ```
394
+
395
+ ## Agent D1: Deploy Verifier
396
+
397
+ ### Role prompts
398
+
399
+ - docs/agents/wave-deploy-verifier-role.md
400
+
401
+ ### Executor
402
+
403
+ - id: opencode
404
+ - opencode.format: json
405
+ - opencode.steps: 10
406
+
407
+ ### Context7
408
+
409
+ - bundle: none
410
+
411
+ ### Skills
412
+
413
+ - role-deploy
414
+ - provider-kubernetes
415
+ - provider-custom-deploy
416
+
417
+ ### Prompt
418
+
419
+ ```text
420
+ Primary goal:
421
+ - Verify that the rollout associated with the live proof owner is healthy enough to preserve the `pilot-live` claim.
422
+
423
+ Required context before coding:
424
+ - Read docs/reference/repository-guidance.md.
425
+ - Read docs/research/agent-context-sources.md.
426
+ - Read docs/reference/live-proof-waves.md.
427
+
428
+ Specific expectations:
429
+ - use explicit deploy status markers for healthy, failed, or rolled-over states
430
+ - do not sign off on implied host health
431
+ - if rollout evidence is incomplete, leave an explicit deploy-risk trail for integration and cont-QA
432
+
433
+ File ownership (only touch these paths):
434
+ - .tmp/main-wave-launcher/logs/wave-14-d1.log
435
+ ```
@@ -0,0 +1,224 @@
1
+ # Master Plan
2
+
3
+ ## Objective
4
+
5
+ Reframe this repository as `react-ooxml-office`: a fidelity-first office-document repo with:
6
+
7
+ - a shared OOXML platform layer
8
+ - format-specific runtimes
9
+ - host-facing editor surfaces
10
+
11
+ The current shipped implementation remains the docx editor behind `WordReviewEditor`. The broader plan must stay honest about that current reality while making room for xlsx and later future verticals.
12
+
13
+ ## Locked Repo Decisions
14
+
15
+ - The only shipped public component today is `WordReviewEditor`.
16
+ - The current landed runtime is docx-specific and remains the active implementation track.
17
+ - `xlsx` is the next planned OOXML sibling and should reuse shared platform work without inheriting docx-specific runtime or UI assumptions.
18
+ - `pdf` is future work and is not part of the first shared OOXML platform contract.
19
+ - Shipped runtimes remain main-thread only unless the architecture explicitly changes.
20
+ - The Microsoft Open XML SDK remains validation-only in CI or service contexts, never the shipped browser transformation engine.
21
+
22
+ ## Layered Architecture
23
+
24
+ The repo should be read in three layers.
25
+
26
+ ### 1. Shared Platform
27
+
28
+ Owns what should remain common across OOXML siblings:
29
+
30
+ - OPC package reading and writing
31
+ - part manifests, content types, and relationship integrity
32
+ - preserved-part capture and reattachment
33
+ - compatibility vocabulary and export blockers
34
+ - validator-service integration
35
+ - host persistence, snapshot, and event doctrine
36
+ - future shared agent or AI mediation boundaries
37
+
38
+ ### 2. Format Runtimes
39
+
40
+ Own format-specific canonical models, commands, and projections:
41
+
42
+ - `docx`: document model, review model, Word compatibility, current `WordReviewEditor`
43
+ - `xlsx`: workbook model, range and formula semantics, spreadsheet-native UI
44
+ - `pdf`: future, outside the first OOXML platform layer
45
+
46
+ ### 3. Host Surfaces
47
+
48
+ Own the embeddable editor shell, internal harnesses, certification routes, and host integration docs.
49
+
50
+ ## Current Source Truth
51
+
52
+ The landed source tree remains docx-first:
53
+
54
+ ```text
55
+ src/
56
+ api/
57
+ model/
58
+ core/
59
+ review/
60
+ io/
61
+ preservation/
62
+ validation/
63
+ runtime/
64
+ ui/
65
+ services/
66
+ react-word-editor/
67
+ openxml-validator/
68
+ ```
69
+
70
+ This remains the truthful source layout for implementation work today.
71
+
72
+ ## Target Source Direction
73
+
74
+ The broader target source layout is:
75
+
76
+ ```text
77
+ src/
78
+ platform/
79
+ formats/
80
+ docx/
81
+ xlsx/
82
+ pdf/
83
+ services/
84
+ office-harness/
85
+ openxml-validator/
86
+ ```
87
+
88
+ This is a target-state planning direction only. It must not be treated as already landed code.
89
+
90
+ ## Current Shipped Docx Contract
91
+
92
+ The current public and fidelity contracts remain docx-specific:
93
+
94
+ - public API: `docs/reference/public-api.md`
95
+ - compliance and validation: `docs/reference/ooxml-compliance.md`
96
+ - frontend architecture: `docs/reference/word-review-editor-frontend-architecture.md`
97
+ - UX guide: `docs/reference/word-review-editor-ux-guide.md`
98
+
99
+ Current product doctrine for the shipped editor remains:
100
+
101
+ - runtime-owned canonical state
102
+ - commands and transactions as the only mutation path
103
+ - preserve-only handling for unsupported but preservable OOXML
104
+ - Word reopen behavior as the final certification bar
105
+ - calm, review-oriented UI rather than ribbon-style chrome
106
+
107
+ ## Active Docx Implementation Track
108
+
109
+ The current maturity line is still the docx Wave sequence.
110
+
111
+ ### Bounded v1 Waves (`wave-0` to `wave-11`)
112
+
113
+ - `wave-0` to `wave-1`: framing, contracts, fixture program, and ownership boundaries
114
+ - `wave-2` to `wave-7`: landed runtime, editing, review, preservation, and compatibility substrate
115
+ - `wave-8` to `wave-10`: harness, certification, accessibility, and performance proof
116
+ - `wave-11`: fleet-ready packaging, demo posture, and release documentation
117
+
118
+ Current status:
119
+
120
+ - the current Wave 10 bundle remains intentionally blocked below `qa-proved`
121
+ - Wave 11 is still pending and must not be used to paper over unresolved Wave 10 blockers
122
+
123
+ ### Post-v1 Docx Waves (`wave-12` to `wave-18`)
124
+
125
+ These remain docx-specific capability waves:
126
+
127
+ - `wave-12`: tables, projected fidelity, browser-font approximation, initial AI contract
128
+ - `wave-13`: versions, compare, and bounded drafting
129
+ - `wave-14`: legal semantics
130
+ - `wave-15`: structured authoring, permissions, sections, and signatures
131
+ - `wave-16`: document-shell completeness
132
+ - `wave-17`: advanced review and object fidelity
133
+ - `wave-18`: final legal-checklist closure
134
+
135
+ They should not be read as generic office-suite phases.
136
+
137
+ ## Shared Platform Extraction Plan
138
+
139
+ The next shared architecture work should focus on what is already reusable in principle:
140
+
141
+ - package io discipline
142
+ - preservation and reattachment plumbing
143
+ - compatibility taxonomy and reporting vocabulary
144
+ - validator-service boundaries
145
+ - host snapshot and event doctrine
146
+
147
+ This work should be documented and phased first before claiming a fully neutral source layout.
148
+
149
+ Canonical docs:
150
+
151
+ - `docs/architecture/platform/shared-openxml-editor-platform.md`
152
+ - `docs/reference/platform/shared-ooxml-platform-guidance.md`
153
+
154
+ ## Active Xlsx Track
155
+
156
+ The xlsx track is executing as a sibling runtime, not as an appendage of the docx editor.
157
+
158
+ Wave 25 (first xlsx wave, 2026-04-03) has landed:
159
+ - `src/formats/xlsx/model/` — canonical workbook model
160
+ - `src/formats/xlsx/io/` — SpreadsheetML parsers
161
+ - `xlsx-canonical-workbook-model` and `xlsx-import-and-normalization` at `baseline-proved`
162
+
163
+ Canonical architecture docs:
164
+
165
+ - `docs/architecture/xlsx/spreadsheet-editor-frontend-architecture.md`
166
+ - `docs/architecture/xlsx/canonical-workbook-model-and-commands.md`
167
+ - `docs/reference/xlsx/xlsx-ooxml-compliance.md`
168
+ - `docs/plans/xlsx/xlsx-fixture-corpus-and-certification-plan.md`
169
+
170
+ Execution rules for xlsx:
171
+
172
+ - do not copy docx-specific review or ProseMirror assumptions into the spreadsheet runtime
173
+ - reuse shared platform doctrine only where the concern is genuinely format-agnostic
174
+ - require separate fixture, certification, and Excel reopen proof before claiming supported-roundtrip features
175
+ - do not inherit docx wave promotions by implication
176
+
177
+ ## Future Agent Layer
178
+
179
+ The future agent or LLM interaction layer belongs above format runtimes and below host-facing product flows.
180
+
181
+ It should:
182
+
183
+ - request structured context from runtimes
184
+ - propose typed commands rather than mutate state directly
185
+ - respect compatibility blockers
186
+ - stay explicit, reviewable, and auditable
187
+
188
+ It is a later shared capability, not part of the currently shipped docx API contract.
189
+
190
+ ## Future Pdf Direction
191
+
192
+ `pdf` is part of the broader repo naming direction, but it remains future exploration only.
193
+
194
+ For now:
195
+
196
+ - keep it out of the first shared OOXML platform contract
197
+ - do not imply a shipped pdf editor surface
198
+ - document it as future work rather than present architecture
199
+
200
+ ## Documentation Rules
201
+
202
+ - Keep repo-level docs broad enough for the office-platform story.
203
+ - Keep shipped docx contracts explicit and docx-specific.
204
+ - Promote xlsx docs into canonical planned locations instead of leaving them as isolated research only.
205
+ - Keep waves and maturity docs honest about which track they describe.
206
+ - Distinguish current source layout from target source layout everywhere it matters.
207
+
208
+ ## Near-Term Execution Order
209
+
210
+ 1. Complete docx shipping roadmap Phases 2–6 (tables, npm publish, validator CI, legal features, hardening).
211
+ - Wave 20 landed `table-editing` at `baseline-proved`.
212
+ - Wave 28 landed `editor-feature-parity` at `baseline-proved`: rich formatting marks, image insertion, search plugin, `useDocxEditor` hook, headless CLI.
213
+ - Wave 29 landed `ooxml-parsing-fidelity` at `baseline-proved`: complete paragraph/run/table property parsing, field codes, bookmarks, section breaks.
214
+ - Wave 32 landed `ooxml-property-completeness` at `baseline-proved`: widowControl, paragraph borders and shading, bidi, suppressLineNumbers, cnfStyle; charSpacing, kerning, emboss, imprint, shadow, position, textFill run marks; tblLook; ColumnBreakNode, SymbolNode; latent styles.
215
+ - Wave 33 landed `document-sub-parts` at `baseline-proved`: headers, footers (default/first-page/even-odd variants), footnotes, and endnotes, plus captured and preserved theme metadata from `theme1.xml`; full theme style-resolution and authored theme editing/export remain future work.
216
+ - Wave 34 landed `structural-block-types` at `baseline-proved`: SDT blocks, custom XML wrappers, altChunk relationship preservation, nested tables, and floating-image anchor metadata with inline editor fallback.
217
+ - Wave 35 landed `track-change-extensions` at `baseline-proved`: property change revisions (pPrChange, sectPrChange, tblPrChange, rPrChange) and move tracking (moveFrom/moveTo) with linked move IDs; sectPrChange and tblPrChange are actionable; pPrChange is preserve-only with PropertyChangeData metadata.
218
+ - Wave 36 landed `complex-rendering` at `baseline-proved`: charts, SmartArt, wps shapes, WordArt, and VML rendered as read-only labeled previews; five new canonical inline types (ChartPreviewNode, SmartArtPreviewNode, ShapeNode, WordArtNode, VmlShapeNode) each with rawXml for lossless round-trip; dedicated PM atoms; parse dispatch into parse-main-document.ts is a non-blocking follow-on.
219
+ 2. Close xlsx Wave 25 proof gap (A2 missing xlsx-session.ts and import-tests.json).
220
+ 3. Continue xlsx track Waves 26–27 (export/serialization, command runtime, grid surface) after Wave 25 closes.
221
+ 4. Use the shared platform docs to guide OPC and preservation extraction when xlsx actually needs it.
222
+ 5. Revisit future pdf work only after the OOXML sibling story is stable.
223
+
224
+ Note: Wave 10 "qa-proved certification" and Wave 11 "fleet-ready packaging" are superseded by the Phase 1 and Phase 3 shipping milestones in the current roadmap.