@beyondwork/docx-react-component 1.0.0 → 1.0.1

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 (704) hide show
  1. package/dist/chunk-32W6IVQE.js +7725 -0
  2. package/dist/chunk-32W6IVQE.js.map +1 -0
  3. package/dist/index.cjs +23722 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.cts +7 -0
  6. package/dist/index.d.ts +7 -0
  7. package/dist/index.js +16011 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/public-types-DqCURAz8.d.cts +1152 -0
  10. package/dist/public-types-DqCURAz8.d.ts +1152 -0
  11. package/dist/tailwind.cjs +8295 -0
  12. package/dist/tailwind.cjs.map +1 -0
  13. package/dist/tailwind.d.cts +323 -0
  14. package/dist/tailwind.d.ts +323 -0
  15. package/dist/tailwind.js +553 -0
  16. package/dist/tailwind.js.map +1 -0
  17. package/package.json +52 -31
  18. package/.codex/config.toml +0 -5
  19. package/.corepack/v1/pnpm/10.30.3/.corepack +0 -1
  20. package/.corepack/v1/pnpm/10.30.3/LICENSE +0 -22
  21. package/.corepack/v1/pnpm/10.30.3/README.md +0 -240
  22. package/.corepack/v1/pnpm/10.30.3/dist/node-gyp-bin/node-gyp +0 -6
  23. package/.corepack/v1/pnpm/10.30.3/dist/node-gyp-bin/node-gyp.cmd +0 -5
  24. package/.corepack/v1/pnpm/10.30.3/dist/pnpm.cjs +0 -195400
  25. package/.corepack/v1/pnpm/10.30.3/dist/pnpmrc +0 -2
  26. package/.corepack/v1/pnpm/10.30.3/dist/reflink.darwin-arm64-2HJ4WGO6.node +0 -0
  27. package/.corepack/v1/pnpm/10.30.3/dist/reflink.darwin-x64-3G3H6IW4.node +0 -0
  28. package/.corepack/v1/pnpm/10.30.3/dist/reflink.win32-arm64-msvc-Q6BARPPB.node +0 -0
  29. package/.corepack/v1/pnpm/10.30.3/dist/reflink.win32-x64-msvc-J2TZHRQI.node +0 -0
  30. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.bash +0 -31
  31. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.fish +0 -22
  32. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.ps1 +0 -193
  33. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.zsh +0 -27
  34. package/.corepack/v1/pnpm/10.30.3/dist/vendor/fastlist-0.3.0-x64.exe +0 -0
  35. package/.corepack/v1/pnpm/10.30.3/dist/vendor/fastlist-0.3.0-x86.exe +0 -0
  36. package/.corepack/v1/pnpm/10.30.3/dist/worker.js +0 -10119
  37. package/.corepack/v1/pnpm/10.30.3/package.json +0 -192
  38. package/.cursor/mcp.json +0 -7
  39. package/.github/workflows/ci.yml +0 -35
  40. package/.mcp.json +0 -7
  41. package/.openclaw/workspace-state.json +0 -4
  42. package/.pnpmrc.json +0 -1
  43. package/.wave-launch.sh +0 -7
  44. package/.workspace-marker +0 -1
  45. package/AGENTS.md +0 -78
  46. package/CHANGELOG.md +0 -177
  47. package/DESIGN.md +0 -929
  48. package/HEARTBEAT.md +0 -7
  49. package/IDENTITY.md +0 -23
  50. package/SOUL.md +0 -36
  51. package/TOOLS.md +0 -40
  52. package/USER.md +0 -17
  53. package/docs/README.md +0 -107
  54. package/docs/agents/wave-cont-eval-role.md +0 -36
  55. package/docs/agents/wave-cont-qa-role.md +0 -52
  56. package/docs/agents/wave-deploy-verifier-role.md +0 -34
  57. package/docs/agents/wave-design-role.md +0 -47
  58. package/docs/agents/wave-documentation-role.md +0 -34
  59. package/docs/agents/wave-infra-role.md +0 -34
  60. package/docs/agents/wave-integration-role.md +0 -37
  61. package/docs/agents/wave-launcher-role.md +0 -41
  62. package/docs/agents/wave-orchestrator-role.md +0 -52
  63. package/docs/agents/wave-planner-role.md +0 -39
  64. package/docs/agents/wave-security-role.md +0 -40
  65. package/docs/architecture/docx/README.md +0 -10
  66. package/docs/architecture/future/README.md +0 -8
  67. package/docs/architecture/ooxml-upgrade-analysis.md +0 -134
  68. package/docs/architecture/platform/shared-openxml-editor-platform.md +0 -153
  69. package/docs/architecture/xlsx/canonical-workbook-model-and-commands.md +0 -187
  70. package/docs/architecture/xlsx/spreadsheet-editor-frontend-architecture.md +0 -150
  71. package/docs/comment-redline-overview.md +0 -350
  72. package/docs/concepts/context7-vs-skills.md +0 -118
  73. package/docs/concepts/operating-modes.md +0 -91
  74. package/docs/concepts/runtime-agnostic-orchestration.md +0 -111
  75. package/docs/concepts/what-is-a-wave.md +0 -217
  76. package/docs/context7/bundles.json +0 -222
  77. package/docs/context7/planner-agent/README.md +0 -28
  78. package/docs/context7/planner-agent/manifest.json +0 -83
  79. package/docs/context7/planner-agent/papers/cooperbench-why-coding-agents-cannot-be-your-teammates-yet.md +0 -3283
  80. package/docs/context7/planner-agent/papers/dova-deliberation-first-multi-agent-orchestration-for-autonomous-research-automation.md +0 -1699
  81. package/docs/context7/planner-agent/papers/dpbench-large-language-models-struggle-with-simultaneous-coordination.md +0 -2251
  82. package/docs/context7/planner-agent/papers/incremental-planning-to-control-a-blackboard-based-problem-solver.md +0 -1729
  83. package/docs/context7/planner-agent/papers/silo-bench-a-scalable-environment-for-evaluating-distributed-coordination-in-multi-agent-llm-systems.md +0 -3747
  84. package/docs/context7/planner-agent/papers/todoevolve-learning-to-architect-agent-planning-systems.md +0 -1675
  85. package/docs/context7/planner-agent/papers/verified-multi-agent-orchestration-a-plan-execute-verify-replan-framework-for-complex-query-resolution.md +0 -1173
  86. package/docs/context7/planner-agent/papers/why-do-multi-agent-llm-systems-fail.md +0 -5211
  87. package/docs/context7/planner-agent/topics/planning-and-orchestration.md +0 -24
  88. package/docs/evals/arm-templates/README.md +0 -13
  89. package/docs/evals/arm-templates/full-wave.json +0 -15
  90. package/docs/evals/arm-templates/single-agent.json +0 -15
  91. package/docs/evals/benchmark-catalog.json +0 -670
  92. package/docs/evals/cases/README.md +0 -47
  93. package/docs/evals/cases/wave-blackboard-inbox-targeting.json +0 -73
  94. package/docs/evals/cases/wave-contradiction-conflict.json +0 -104
  95. package/docs/evals/cases/wave-expert-routing-preservation.json +0 -69
  96. package/docs/evals/cases/wave-hidden-profile-private-evidence.json +0 -81
  97. package/docs/evals/cases/wave-premature-closure-guard.json +0 -71
  98. package/docs/evals/cases/wave-silo-cross-agent-state.json +0 -77
  99. package/docs/evals/cases/wave-simultaneous-lockstep.json +0 -92
  100. package/docs/evals/external-benchmarks.json +0 -85
  101. package/docs/evals/external-command-config.sample.json +0 -9
  102. package/docs/evals/external-command-config.swe-bench-pro.json +0 -8
  103. package/docs/evals/pilots/README.md +0 -47
  104. package/docs/evals/pilots/swe-bench-pro-public-full-wave-review-10.json +0 -64
  105. package/docs/evals/pilots/swe-bench-pro-public-pilot.json +0 -111
  106. package/docs/evals/wave-benchmark-program.md +0 -302
  107. package/docs/guides/planner.md +0 -220
  108. package/docs/guides/recommendations-0.8.9.md +0 -133
  109. package/docs/guides/signal-wrappers.md +0 -165
  110. package/docs/guides/terminal-surfaces.md +0 -96
  111. package/docs/image copy.png +0 -0
  112. package/docs/image.png +0 -0
  113. package/docs/images/image.png +0 -0
  114. package/docs/legal-feedback-architecture.md +0 -498
  115. package/docs/plans/component-cutover-matrix.json +0 -1072
  116. package/docs/plans/component-cutover-matrix.md +0 -307
  117. package/docs/plans/context7-wave-orchestrator.md +0 -155
  118. package/docs/plans/current-state.md +0 -198
  119. package/docs/plans/docx/README.md +0 -9
  120. package/docs/plans/examples/wave-benchmark-improvement.md +0 -108
  121. package/docs/plans/examples/wave-example-live-proof.md +0 -435
  122. package/docs/plans/master-plan.md +0 -224
  123. package/docs/plans/migration.md +0 -538
  124. package/docs/plans/operations/README.md +0 -7
  125. package/docs/plans/operations/wave-10-word-certification.md +0 -87
  126. package/docs/plans/operations/wave-8-railway-staging.md +0 -153
  127. package/docs/plans/operations/wave-9-manual-certification.md +0 -73
  128. package/docs/plans/platform/README.md +0 -9
  129. package/docs/plans/reference/legal-checklist-coverage.md +0 -258
  130. package/docs/plans/wave-orchestrator.md +0 -423
  131. package/docs/plans/waves/README.md +0 -75
  132. package/docs/plans/waves/completed/wave-0.md +0 -195
  133. package/docs/plans/waves/completed/wave-1.md +0 -379
  134. package/docs/plans/waves/completed/wave-10.md +0 -670
  135. package/docs/plans/waves/completed/wave-11.md +0 -335
  136. package/docs/plans/waves/completed/wave-12.md +0 -417
  137. package/docs/plans/waves/completed/wave-13.md +0 -316
  138. package/docs/plans/waves/completed/wave-14.md +0 -319
  139. package/docs/plans/waves/completed/wave-15.md +0 -321
  140. package/docs/plans/waves/completed/wave-16.md +0 -316
  141. package/docs/plans/waves/completed/wave-17.md +0 -331
  142. package/docs/plans/waves/completed/wave-18.md +0 -328
  143. package/docs/plans/waves/completed/wave-2.md +0 -438
  144. package/docs/plans/waves/completed/wave-3.md +0 -435
  145. package/docs/plans/waves/completed/wave-4.md +0 -430
  146. package/docs/plans/waves/completed/wave-5.md +0 -430
  147. package/docs/plans/waves/completed/wave-6.md +0 -430
  148. package/docs/plans/waves/completed/wave-7.md +0 -526
  149. package/docs/plans/waves/completed/wave-8.md +0 -596
  150. package/docs/plans/waves/completed/wave-9.md +0 -552
  151. package/docs/plans/waves/deferred/README.md +0 -14
  152. package/docs/plans/waves/deferred/encrypted-intake-contracts.md +0 -282
  153. package/docs/plans/waves/deferred/legal-feedback-wave-expansion.md +0 -308
  154. package/docs/plans/waves/deferred/wave-encrypted-intake.md +0 -451
  155. package/docs/plans/waves/design/README.md +0 -5
  156. package/docs/plans/waves/design/wave-1-a1.md +0 -309
  157. package/docs/plans/waves/reviews/README.md +0 -5
  158. package/docs/plans/waves/reviews/wave-0-cont-qa.md +0 -151
  159. package/docs/plans/waves/reviews/wave-1-cont-qa.md +0 -46
  160. package/docs/plans/waves/reviews/wave-10-accessibility-and-design.md +0 -51
  161. package/docs/plans/waves/reviews/wave-10-cont-qa.md +0 -24
  162. package/docs/plans/waves/reviews/wave-10-dashboard-proof.md +0 -46
  163. package/docs/plans/waves/reviews/wave-10-performance-signoff.md +0 -55
  164. package/docs/plans/waves/reviews/wave-10-regression-proof.md +0 -23
  165. package/docs/plans/waves/reviews/wave-10-release-audit.md +0 -31
  166. package/docs/plans/waves/reviews/wave-10-service-proof.md +0 -83
  167. package/docs/plans/waves/reviews/wave-10-word-certification.md +0 -31
  168. package/docs/plans/waves/reviews/wave-18-ai-contract-closure.md +0 -277
  169. package/docs/plans/waves/reviews/wave-18-cont-qa.md +0 -255
  170. package/docs/plans/waves/reviews/wave-18-parity-proof.md +0 -271
  171. package/docs/plans/waves/reviews/wave-19-cont-qa.md +0 -59
  172. package/docs/plans/waves/reviews/wave-2-cont-qa.md +0 -72
  173. package/docs/plans/waves/reviews/wave-20-cont-qa.md +0 -60
  174. package/docs/plans/waves/reviews/wave-25-cont-qa.md +0 -48
  175. package/docs/plans/waves/reviews/wave-28-cont-qa.md +0 -46
  176. package/docs/plans/waves/reviews/wave-29-cont-qa.md +0 -53
  177. package/docs/plans/waves/reviews/wave-3-cont-qa.md +0 -53
  178. package/docs/plans/waves/reviews/wave-3-core-proof.md +0 -77
  179. package/docs/plans/waves/reviews/wave-3-validator-proof.md +0 -73
  180. package/docs/plans/waves/reviews/wave-32-cont-qa.md +0 -43
  181. package/docs/plans/waves/reviews/wave-33-cont-qa.md +0 -526
  182. package/docs/plans/waves/reviews/wave-34-cont-qa.md +0 -100
  183. package/docs/plans/waves/reviews/wave-35-cont-qa.md +0 -145
  184. package/docs/plans/waves/reviews/wave-4-cont-qa.md +0 -47
  185. package/docs/plans/waves/reviews/wave-4-structure-proof.md +0 -69
  186. package/docs/plans/waves/reviews/wave-5-comment-proof.md +0 -158
  187. package/docs/plans/waves/reviews/wave-5-cont-qa.md +0 -68
  188. package/docs/plans/waves/reviews/wave-6-cont-qa.md +0 -416
  189. package/docs/plans/waves/reviews/wave-6-redline-proof.md +0 -130
  190. package/docs/plans/waves/reviews/wave-7-cont-qa.md +0 -82
  191. package/docs/plans/waves/reviews/wave-7-ooxml-compliance.md +0 -85
  192. package/docs/plans/waves/reviews/wave-7-preservation-proof.md +0 -119
  193. package/docs/plans/waves/reviews/wave-7-trust-ux.md +0 -87
  194. package/docs/plans/waves/reviews/wave-8-accessibility-and-design.md +0 -128
  195. package/docs/plans/waves/reviews/wave-8-cont-qa.md +0 -92
  196. package/docs/plans/waves/reviews/wave-8-live-proof.md +0 -140
  197. package/docs/plans/waves/reviews/wave-8-security.md +0 -47
  198. package/docs/plans/waves/reviews/wave-9-editor-embedding.md +0 -39
  199. package/docs/plans/waves/reviews/wave-9-fixture-runner.md +0 -56
  200. package/docs/plans/waves/reviews/wave-9-live-proof.md +0 -105
  201. package/docs/plans/waves/reviews/wave-9-usability-and-performance.md +0 -152
  202. package/docs/plans/waves/specs/README.md +0 -5
  203. package/docs/plans/waves/specs/wave-1-component-boundaries.md +0 -322
  204. package/docs/plans/waves/specs/wave-1-ooxml-contracts.md +0 -323
  205. package/docs/plans/waves/specs/wave-1-review-and-ui-contracts.md +0 -339
  206. package/docs/plans/waves/specs/wave-1-runtime-contracts.md +0 -509
  207. package/docs/plans/waves/wave-19.md +0 -341
  208. package/docs/plans/waves/wave-20.md +0 -308
  209. package/docs/plans/waves/wave-21.md +0 -289
  210. package/docs/plans/waves/wave-22.md +0 -221
  211. package/docs/plans/waves/wave-23.md +0 -295
  212. package/docs/plans/waves/wave-24.md +0 -286
  213. package/docs/plans/waves/wave-25.md +0 -313
  214. package/docs/plans/waves/wave-26.md +0 -300
  215. package/docs/plans/waves/wave-27.md +0 -299
  216. package/docs/plans/waves/wave-28.md +0 -368
  217. package/docs/plans/waves/wave-29.md +0 -303
  218. package/docs/plans/waves/wave-30.md +0 -307
  219. package/docs/plans/waves/wave-31.md +0 -231
  220. package/docs/plans/waves/wave-32.md +0 -152
  221. package/docs/plans/waves/wave-33.md +0 -147
  222. package/docs/plans/waves/wave-34.md +0 -148
  223. package/docs/plans/waves/wave-35.md +0 -141
  224. package/docs/plans/waves/wave-36.md +0 -146
  225. package/docs/plans/xlsx/README.md +0 -14
  226. package/docs/plans/xlsx/xlsx-fixture-corpus-and-certification-plan.md +0 -126
  227. package/docs/reference/cli-reference.md +0 -600
  228. package/docs/reference/coordination-and-closure.md +0 -487
  229. package/docs/reference/deep-research-report (15).md +0 -25
  230. package/docs/reference/docx/README.md +0 -10
  231. package/docs/reference/legal-checklist.md +0 -445
  232. package/docs/reference/live-proof-waves.md +0 -199
  233. package/docs/reference/ooxml-compliance.md +0 -129
  234. package/docs/reference/ooxml-feature-parity-matrix.md +0 -172
  235. package/docs/reference/platform/shared-ooxml-platform-guidance.md +0 -77
  236. package/docs/reference/prototype-agent-prompt-legal-fidelity.md +0 -155
  237. package/docs/reference/public-api.md +0 -456
  238. package/docs/reference/repository-guidance.md +0 -58
  239. package/docs/reference/runtime-config/README.md +0 -182
  240. package/docs/reference/runtime-config/claude.md +0 -110
  241. package/docs/reference/runtime-config/codex.md +0 -82
  242. package/docs/reference/runtime-config/opencode.md +0 -93
  243. package/docs/reference/sample-waves.md +0 -105
  244. package/docs/reference/skills.md +0 -237
  245. package/docs/reference/templates/AGENTS.md +0 -78
  246. package/docs/reference/templates/HEARTBEAT.md +0 -7
  247. package/docs/reference/templates/IDENTITY.md +0 -23
  248. package/docs/reference/templates/SOUL.md +0 -36
  249. package/docs/reference/templates/TOOLS.md +0 -40
  250. package/docs/reference/templates/USER.md +0 -17
  251. package/docs/reference/wave-control.md +0 -184
  252. package/docs/reference/wave-planning-lessons.md +0 -167
  253. package/docs/reference/word-review-editor-frontend-architecture.md +0 -479
  254. package/docs/reference/word-review-editor-ux-guide.md +0 -253
  255. package/docs/reference/xlsx/xlsx-ooxml-compliance.md +0 -137
  256. package/docs/research/agent-context-sources.md +0 -178
  257. package/docs/research/coordination-failure-review.md +0 -290
  258. package/docs/research/docx-react-component/Canonical Document Schema Specification for a React-based Word-compatible Editor.md +0 -2317
  259. package/docs/research/docx-react-component/Feature Compatibility Matrix for a React Word Compatible Legal Editor v1.md +0 -219
  260. package/docs/research/docx-react-component/React Component Architecture and Front-End Structure Specification for a Word-Compatible Legal Review Editor.md +0 -1112
  261. package/docs/research/docx-react-component/document_compatibility_and_testing_spec.md +0 -751
  262. package/docs/research/xlsx/raw/README.md +0 -13
  263. package/docs/roadmap.md +0 -174
  264. package/docs/superpowers/plans/2026-03-28-harness-control-bar.md +0 -677
  265. package/docs/superpowers/specs/2026-03-28-harness-control-bar-design.md +0 -274
  266. package/docs/xlsx-react/README.md +0 -38
  267. package/docs/xlsx-react/agent-llm-interaction-layer-docx-xlsx.md +0 -621
  268. package/docs/xlsx-react/canonical-workbook-model-and-commands.md +0 -948
  269. package/docs/xlsx-react/shared-openxml-editor-platform-docx-xlsx.md +0 -228
  270. package/docs/xlsx-react/spreadsheet-editor-component-architecture.md +0 -809
  271. package/docs/xlsx-react/spreadsheet-editor-frontend-architecture.md +0 -537
  272. package/docs/xlsx-react/spreadsheet-editor-ux-guide.md +0 -520
  273. package/docs/xlsx-react/xlsx-editor-research-pack.md +0 -871
  274. package/docs/xlsx-react/xlsx-fixture-corpus-and-certification-plan.md +0 -436
  275. package/docs/xlsx-react/xlsx-ooxml-compliance.md +0 -320
  276. package/examples/README.md +0 -16
  277. package/memory/MEMORY.md +0 -24
  278. package/pnpm-workspace.yaml +0 -4
  279. package/scripts/check-no-authored-js.sh +0 -13
  280. package/scripts/context7-api-check.sh +0 -65
  281. package/scripts/context7-export-env.sh +0 -42
  282. package/scripts/run-context7-mcp.sh +0 -8
  283. package/scripts/run-workspace-tests.sh +0 -15
  284. package/scripts/start-wave-10-local.sh +0 -189
  285. package/scripts/wave-agent-attach.sh +0 -47
  286. package/scripts/wave-auto-answer.sh +0 -118
  287. package/scripts/wave-dashboard-attach.sh +0 -13
  288. package/scripts/wave-launch.sh +0 -273
  289. package/scripts/wave-overnight-supervisor.sh +0 -145
  290. package/scripts/wave-status.sh +0 -379
  291. package/scripts/wave-watch.sh +0 -231
  292. package/services/README.md +0 -17
  293. package/services/openxml-validator/Dockerfile +0 -29
  294. package/services/openxml-validator/OpenXmlValidator.Api.csproj +0 -12
  295. package/services/openxml-validator/Program.cs +0 -436
  296. package/services/openxml-validator/README.md +0 -152
  297. package/services/openxml-validator/railway.json +0 -16
  298. package/services/react-word-editor/.tmp-a4/src/api/public-types.ts +0 -318
  299. package/services/react-word-editor/.tmp-a4/src/ui/WordReviewEditor.tsx +0 -1302
  300. package/services/react-word-editor/.tmp-a4/src/ui/editor-surface/editor-surface.tsx +0 -546
  301. package/services/react-word-editor/.tmp-a4/test/ui/word-review-editor.test.tsx +0 -146
  302. package/services/react-word-editor/.tmp-a4-build/src/api/public-types.js +0 -2
  303. package/services/react-word-editor/.tmp-a4-build/src/ui/WordReviewEditor.js +0 -818
  304. package/services/react-word-editor/.tmp-a4-build/src/ui/editor-surface/editor-surface.js +0 -229
  305. package/services/react-word-editor/.tmp-a4-build/test/ui/word-review-editor.test.js +0 -121
  306. package/services/react-word-editor/.tmp-wave-4-a3-tsconfig.json +0 -21
  307. package/services/react-word-editor/.tmp-wave-4-a3-tsconfig.tsbuildinfo +0 -1
  308. package/services/react-word-editor/Dockerfile +0 -26
  309. package/services/react-word-editor/README.md +0 -254
  310. package/services/react-word-editor/app/api/certification/route.ts +0 -79
  311. package/services/react-word-editor/app/api/demo-sessions/route.ts +0 -109
  312. package/services/react-word-editor/app/api/deploy-health/route.ts +0 -23
  313. package/services/react-word-editor/app/api/exports/[exportId]/route.ts +0 -34
  314. package/services/react-word-editor/app/api/exports/route.ts +0 -81
  315. package/services/react-word-editor/app/api/fixtures/[fixtureId]/run/route.ts +0 -100
  316. package/services/react-word-editor/app/api/health/route.ts +0 -70
  317. package/services/react-word-editor/app/api/runs/[runId]/route.ts +0 -36
  318. package/services/react-word-editor/app/api/scenarios/[scenarioId]/run/route.ts +0 -85
  319. package/services/react-word-editor/app/api/sessions/[sessionId]/route.ts +0 -199
  320. package/services/react-word-editor/app/api/sessions/[sessionId]/source/route.ts +0 -45
  321. package/services/react-word-editor/app/api/uploads/route.ts +0 -70
  322. package/services/react-word-editor/app/api/validate/route.ts +0 -310
  323. package/services/react-word-editor/app/certification/[runId]/page.tsx +0 -14
  324. package/services/react-word-editor/app/certification/page.tsx +0 -32
  325. package/services/react-word-editor/app/dashboard/page.tsx +0 -7
  326. package/services/react-word-editor/app/demo/page.tsx +0 -30
  327. package/services/react-word-editor/app/demo/prototype-client.tsx +0 -1080
  328. package/services/react-word-editor/app/editor/[sessionId]/page.tsx +0 -33
  329. package/services/react-word-editor/app/fixtures/page.tsx +0 -7
  330. package/services/react-word-editor/app/globals.css +0 -121
  331. package/services/react-word-editor/app/layout.tsx +0 -32
  332. package/services/react-word-editor/app/page.tsx +0 -30
  333. package/services/react-word-editor/app/runs/[runId]/page.tsx +0 -34
  334. package/services/react-word-editor/app/wave-10-word-review/page.tsx +0 -7
  335. package/services/react-word-editor/components/harness-control-bar.tsx +0 -289
  336. package/services/react-word-editor/components/harness-editor-session-client.tsx +0 -1214
  337. package/services/react-word-editor/components/harness-workspace-page.tsx +0 -715
  338. package/services/react-word-editor/components/reduced-motion-toggle.tsx +0 -79
  339. package/services/react-word-editor/components/workspace-certification-panel.tsx +0 -307
  340. package/services/react-word-editor/lib/certification-bundle.ts +0 -796
  341. package/services/react-word-editor/lib/certification-store.ts +0 -661
  342. package/services/react-word-editor/lib/demo-fixtures.test.mjs +0 -195
  343. package/services/react-word-editor/lib/demo-fixtures.ts +0 -1519
  344. package/services/react-word-editor/lib/editor-session-summary.test.mjs +0 -68
  345. package/services/react-word-editor/lib/editor-session-summary.ts +0 -14
  346. package/services/react-word-editor/lib/editor-session.ts +0 -228
  347. package/services/react-word-editor/lib/exports-route.test.mjs +0 -32
  348. package/services/react-word-editor/lib/harness-client.ts +0 -347
  349. package/services/react-word-editor/lib/harness-config.json +0 -30
  350. package/services/react-word-editor/lib/harness-config.test.mjs +0 -31
  351. package/services/react-word-editor/lib/harness-config.ts +0 -21
  352. package/services/react-word-editor/lib/harness-editor-datastore.test.mjs +0 -220
  353. package/services/react-word-editor/lib/harness-editor-datastore.ts +0 -161
  354. package/services/react-word-editor/lib/private-mode.test.mjs +0 -42
  355. package/services/react-word-editor/lib/private-mode.ts +0 -61
  356. package/services/react-word-editor/lib/regression-report.test.mjs +0 -352
  357. package/services/react-word-editor/lib/regression-report.ts +0 -896
  358. package/services/react-word-editor/lib/run-artifacts.ts +0 -934
  359. package/services/react-word-editor/lib/run-history.ts +0 -755
  360. package/services/react-word-editor/lib/scenario-artifacts.test.mjs +0 -41
  361. package/services/react-word-editor/lib/scenario-artifacts.ts +0 -44
  362. package/services/react-word-editor/lib/storage.ts +0 -953
  363. package/services/react-word-editor/lib/validator-client.test.mjs +0 -54
  364. package/services/react-word-editor/lib/validator-client.ts +0 -95
  365. package/services/react-word-editor/lib/workspace-navigation.ts +0 -79
  366. package/services/react-word-editor/middleware.ts +0 -35
  367. package/services/react-word-editor/next-env.d.ts +0 -6
  368. package/services/react-word-editor/next.config.mjs +0 -15
  369. package/services/react-word-editor/package.json +0 -38
  370. package/services/react-word-editor/postcss.config.mjs +0 -8
  371. package/services/react-word-editor/railway.json +0 -21
  372. package/services/react-word-editor/scripts/wave-10-certification.mjs +0 -101
  373. package/services/react-word-editor/scripts/wave-9-live-usability-pilot.mjs +0 -911
  374. package/services/react-word-editor/tsconfig.json +0 -39
  375. package/services/react-word-editor/tsconfig.tsbuildinfo +0 -1
  376. package/skills/README.md +0 -48
  377. package/skills/domain-docx-compatibility/SKILL.md +0 -44
  378. package/skills/domain-docx-compatibility/skill.json +0 -19
  379. package/skills/domain-editor-architecture/SKILL.md +0 -49
  380. package/skills/domain-editor-architecture/skill.json +0 -19
  381. package/skills/domain-legal-review/SKILL.md +0 -39
  382. package/skills/domain-legal-review/skill.json +0 -19
  383. package/skills/provider-aws/SKILL.md +0 -117
  384. package/skills/provider-aws/adapters/claude.md +0 -1
  385. package/skills/provider-aws/adapters/codex.md +0 -1
  386. package/skills/provider-aws/references/service-verification.md +0 -39
  387. package/skills/provider-aws/skill.json +0 -54
  388. package/skills/provider-custom-deploy/SKILL.md +0 -64
  389. package/skills/provider-custom-deploy/skill.json +0 -50
  390. package/skills/provider-docker-compose/SKILL.md +0 -96
  391. package/skills/provider-docker-compose/adapters/local.md +0 -1
  392. package/skills/provider-docker-compose/skill.json +0 -53
  393. package/skills/provider-github-release/SKILL.md +0 -121
  394. package/skills/provider-github-release/adapters/claude.md +0 -1
  395. package/skills/provider-github-release/adapters/codex.md +0 -1
  396. package/skills/provider-github-release/skill.json +0 -55
  397. package/skills/provider-kubernetes/SKILL.md +0 -143
  398. package/skills/provider-kubernetes/adapters/claude.md +0 -1
  399. package/skills/provider-kubernetes/adapters/codex.md +0 -1
  400. package/skills/provider-kubernetes/references/kubectl-patterns.md +0 -58
  401. package/skills/provider-kubernetes/skill.json +0 -52
  402. package/skills/provider-railway/SKILL.md +0 -123
  403. package/skills/provider-railway/adapters/claude.md +0 -1
  404. package/skills/provider-railway/adapters/codex.md +0 -1
  405. package/skills/provider-railway/adapters/local.md +0 -1
  406. package/skills/provider-railway/adapters/opencode.md +0 -1
  407. package/skills/provider-railway/references/verification-commands.md +0 -39
  408. package/skills/provider-railway/skill.json +0 -71
  409. package/skills/provider-ssh-manual/SKILL.md +0 -97
  410. package/skills/provider-ssh-manual/skill.json +0 -54
  411. package/skills/repo-coding-rules/SKILL.md +0 -55
  412. package/skills/repo-coding-rules/skill.json +0 -34
  413. package/skills/role-cont-eval/SKILL.md +0 -91
  414. package/skills/role-cont-eval/adapters/codex.md +0 -1
  415. package/skills/role-cont-eval/skill.json +0 -36
  416. package/skills/role-cont-qa/SKILL.md +0 -100
  417. package/skills/role-cont-qa/adapters/claude.md +0 -1
  418. package/skills/role-cont-qa/skill.json +0 -36
  419. package/skills/role-deploy/SKILL.md +0 -97
  420. package/skills/role-deploy/skill.json +0 -36
  421. package/skills/role-design/SKILL.md +0 -50
  422. package/skills/role-design/skill.json +0 -36
  423. package/skills/role-documentation/SKILL.md +0 -76
  424. package/skills/role-documentation/skill.json +0 -36
  425. package/skills/role-implementation/SKILL.md +0 -45
  426. package/skills/role-implementation/skill.json +0 -36
  427. package/skills/role-infra/SKILL.md +0 -81
  428. package/skills/role-infra/skill.json +0 -36
  429. package/skills/role-integration/SKILL.md +0 -91
  430. package/skills/role-integration/skill.json +0 -36
  431. package/skills/role-planner/SKILL.md +0 -39
  432. package/skills/role-planner/skill.json +0 -21
  433. package/skills/role-research/SKILL.md +0 -65
  434. package/skills/role-research/skill.json +0 -36
  435. package/skills/role-security/SKILL.md +0 -60
  436. package/skills/role-security/skill.json +0 -36
  437. package/skills/runtime-claude/SKILL.md +0 -66
  438. package/skills/runtime-claude/skill.json +0 -36
  439. package/skills/runtime-codex/SKILL.md +0 -58
  440. package/skills/runtime-codex/skill.json +0 -36
  441. package/skills/runtime-local/SKILL.md +0 -46
  442. package/skills/runtime-local/skill.json +0 -36
  443. package/skills/runtime-opencode/SKILL.md +0 -58
  444. package/skills/runtime-opencode/skill.json +0 -36
  445. package/skills/signal-hygiene/SKILL.md +0 -51
  446. package/skills/signal-hygiene/skill.json +0 -20
  447. package/skills/tui-design/SKILL.md +0 -77
  448. package/skills/tui-design/references/tui-design.md +0 -259
  449. package/skills/tui-design/skill.json +0 -36
  450. package/skills/wave-core/SKILL.md +0 -141
  451. package/skills/wave-core/references/marker-syntax.md +0 -70
  452. package/skills/wave-core/skill.json +0 -35
  453. package/src/README.md +0 -85
  454. package/src/api/README.md +0 -22
  455. package/src/api/public-types.ts +0 -525
  456. package/src/component-inventory.md +0 -99
  457. package/src/core/README.md +0 -10
  458. package/src/core/commands/README.md +0 -3
  459. package/src/core/commands/formatting-commands.ts +0 -161
  460. package/src/core/commands/image-commands.ts +0 -144
  461. package/src/core/commands/index.ts +0 -1013
  462. package/src/core/commands/list-commands.ts +0 -370
  463. package/src/core/commands/review-commands.ts +0 -108
  464. package/src/core/commands/text-commands.ts +0 -119
  465. package/src/core/schema/README.md +0 -3
  466. package/src/core/schema/text-schema.ts +0 -512
  467. package/src/core/selection/README.md +0 -3
  468. package/src/core/selection/mapping.ts +0 -238
  469. package/src/core/selection/review-anchors.ts +0 -94
  470. package/src/core/state/README.md +0 -3
  471. package/src/core/state/editor-state.ts +0 -580
  472. package/src/core/state/text-transaction.ts +0 -276
  473. package/src/formats/xlsx/io/parse-shared-strings.ts +0 -41
  474. package/src/formats/xlsx/io/parse-sheet.ts +0 -289
  475. package/src/formats/xlsx/io/parse-styles.ts +0 -57
  476. package/src/formats/xlsx/io/parse-workbook.ts +0 -75
  477. package/src/formats/xlsx/io/xlsx-session.ts +0 -306
  478. package/src/formats/xlsx/model/cell.ts +0 -189
  479. package/src/formats/xlsx/model/sheet.ts +0 -244
  480. package/src/formats/xlsx/model/styles.ts +0 -118
  481. package/src/formats/xlsx/model/workbook.ts +0 -449
  482. package/src/io/README.md +0 -10
  483. package/src/io/docx-session.ts +0 -1763
  484. package/src/io/export/README.md +0 -3
  485. package/src/io/export/export-session.ts +0 -165
  486. package/src/io/export/minimal-docx.ts +0 -115
  487. package/src/io/export/reattach-preserved-parts.ts +0 -54
  488. package/src/io/export/serialize-comments.ts +0 -876
  489. package/src/io/export/serialize-footnotes.ts +0 -217
  490. package/src/io/export/serialize-headers-footers.ts +0 -200
  491. package/src/io/export/serialize-main-document.ts +0 -982
  492. package/src/io/export/serialize-numbering.ts +0 -97
  493. package/src/io/export/serialize-revisions.ts +0 -389
  494. package/src/io/export/serialize-runtime-revisions.ts +0 -265
  495. package/src/io/export/serialize-tables.ts +0 -147
  496. package/src/io/export/split-review-boundaries.ts +0 -194
  497. package/src/io/normalize/README.md +0 -3
  498. package/src/io/normalize/normalize-text.ts +0 -437
  499. package/src/io/ooxml/README.md +0 -3
  500. package/src/io/ooxml/parse-comments.ts +0 -779
  501. package/src/io/ooxml/parse-complex-content.ts +0 -287
  502. package/src/io/ooxml/parse-fields.ts +0 -438
  503. package/src/io/ooxml/parse-footnotes.ts +0 -403
  504. package/src/io/ooxml/parse-headers-footers.ts +0 -483
  505. package/src/io/ooxml/parse-inline-media.ts +0 -431
  506. package/src/io/ooxml/parse-main-document.ts +0 -1846
  507. package/src/io/ooxml/parse-numbering.ts +0 -425
  508. package/src/io/ooxml/parse-revisions.ts +0 -658
  509. package/src/io/ooxml/parse-shapes.ts +0 -271
  510. package/src/io/ooxml/parse-tables.ts +0 -568
  511. package/src/io/ooxml/parse-theme.ts +0 -314
  512. package/src/io/ooxml/part-manifest.ts +0 -136
  513. package/src/io/ooxml/revision-boundaries.ts +0 -351
  514. package/src/io/opc/README.md +0 -3
  515. package/src/io/opc/corrupt-package.ts +0 -166
  516. package/src/io/opc/docx-package.ts +0 -74
  517. package/src/io/opc/package-reader.ts +0 -320
  518. package/src/io/opc/package-writer.ts +0 -273
  519. package/src/model/README.md +0 -3
  520. package/src/model/canonical-document.ts +0 -1911
  521. package/src/model/cds-1.0.0.ts +0 -196
  522. package/src/model/snapshot.ts +0 -393
  523. package/src/preservation/README.md +0 -3
  524. package/src/preservation/markup-compatibility.ts +0 -48
  525. package/src/preservation/opaque-fragment-store.ts +0 -89
  526. package/src/preservation/opaque-region.ts +0 -233
  527. package/src/preservation/package-preservation.ts +0 -120
  528. package/src/preservation/preserved-part-manifest.ts +0 -56
  529. package/src/preservation/relationship-retention.ts +0 -57
  530. package/src/preservation/store.ts +0 -185
  531. package/src/review/README.md +0 -16
  532. package/src/review/store/README.md +0 -3
  533. package/src/review/store/comment-anchors.ts +0 -70
  534. package/src/review/store/comment-remapping.ts +0 -154
  535. package/src/review/store/comment-store.ts +0 -331
  536. package/src/review/store/comment-thread.ts +0 -109
  537. package/src/review/store/revision-actions.ts +0 -394
  538. package/src/review/store/revision-store.ts +0 -303
  539. package/src/review/store/revision-types.ts +0 -168
  540. package/src/review/store/runtime-comment-store.ts +0 -43
  541. package/src/runtime/README.md +0 -3
  542. package/src/runtime/ai-action-policy.ts +0 -764
  543. package/src/runtime/document-runtime.ts +0 -969
  544. package/src/runtime/read-only-diagnostics-runtime.ts +0 -232
  545. package/src/runtime/review-runtime.ts +0 -44
  546. package/src/runtime/revision-runtime.ts +0 -107
  547. package/src/runtime/session-capabilities.ts +0 -138
  548. package/src/runtime/surface-projection.ts +0 -570
  549. package/src/runtime/table-commands.ts +0 -84
  550. package/src/runtime/table-schema.ts +0 -125
  551. package/src/ui/README.md +0 -30
  552. package/src/ui/WordReviewEditor.tsx +0 -1283
  553. package/src/ui/comments/README.md +0 -3
  554. package/src/ui/compatibility/README.md +0 -3
  555. package/src/ui/editor-surface/README.md +0 -3
  556. package/src/ui/headless/comment-decoration-model.ts +0 -124
  557. package/src/ui/headless/revision-decoration-model.ts +0 -128
  558. package/src/ui/headless/selection-helpers.ts +0 -34
  559. package/src/ui/headless/use-editor-keyboard.ts +0 -98
  560. package/src/ui/review/README.md +0 -3
  561. package/src/ui/shared/revision-filters.ts +0 -31
  562. package/src/ui/status/README.md +0 -3
  563. package/src/ui/theme/README.md +0 -3
  564. package/src/ui/toolbar/README.md +0 -3
  565. package/src/ui-tailwind/chrome/tw-alert-banner.tsx +0 -48
  566. package/src/ui-tailwind/chrome/tw-selection-toolbar.tsx +0 -44
  567. package/src/ui-tailwind/chrome/tw-unsaved-modal.tsx +0 -58
  568. package/src/ui-tailwind/chrome/use-before-unload.ts +0 -20
  569. package/src/ui-tailwind/editor-surface/pm-command-bridge.ts +0 -139
  570. package/src/ui-tailwind/editor-surface/pm-decorations.ts +0 -98
  571. package/src/ui-tailwind/editor-surface/pm-position-map.ts +0 -123
  572. package/src/ui-tailwind/editor-surface/pm-schema.ts +0 -452
  573. package/src/ui-tailwind/editor-surface/pm-state-from-snapshot.ts +0 -327
  574. package/src/ui-tailwind/editor-surface/search-plugin.ts +0 -157
  575. package/src/ui-tailwind/editor-surface/tw-caret.tsx +0 -12
  576. package/src/ui-tailwind/editor-surface/tw-editor-surface.tsx +0 -150
  577. package/src/ui-tailwind/editor-surface/tw-inline-token.tsx +0 -118
  578. package/src/ui-tailwind/editor-surface/tw-opaque-block.tsx +0 -52
  579. package/src/ui-tailwind/editor-surface/tw-paragraph-block.tsx +0 -151
  580. package/src/ui-tailwind/editor-surface/tw-prosemirror-surface.tsx +0 -215
  581. package/src/ui-tailwind/editor-surface/tw-segment-view.tsx +0 -111
  582. package/src/ui-tailwind/editor-surface/tw-table-node-view.tsx +0 -108
  583. package/src/ui-tailwind/index.ts +0 -61
  584. package/src/ui-tailwind/review/tw-comment-sidebar.tsx +0 -276
  585. package/src/ui-tailwind/review/tw-health-panel.tsx +0 -120
  586. package/src/ui-tailwind/review/tw-review-rail.tsx +0 -120
  587. package/src/ui-tailwind/review/tw-revision-sidebar.tsx +0 -164
  588. package/src/ui-tailwind/status/tw-status-bar.tsx +0 -58
  589. package/src/ui-tailwind/theme/editor-theme.css +0 -190
  590. package/src/ui-tailwind/toolbar/tw-toolbar-icon-button.tsx +0 -48
  591. package/src/ui-tailwind/toolbar/tw-toolbar.tsx +0 -231
  592. package/src/ui-tailwind/tw-review-workspace.tsx +0 -140
  593. package/src/validation/README.md +0 -3
  594. package/src/validation/compatibility-engine.ts +0 -317
  595. package/src/validation/compatibility-report.ts +0 -160
  596. package/src/validation/diagnostics.ts +0 -203
  597. package/src/validation/import-diagnostics.ts +0 -128
  598. package/src/validation/low-priority-word-surfaces.ts +0 -373
  599. package/test/README.md +0 -16
  600. package/test/core/formatting-commands.test.ts +0 -285
  601. package/test/core/image-commands.test.ts +0 -298
  602. package/test/core/mapping.test.ts +0 -186
  603. package/test/core/text-commands.test.ts +0 -176
  604. package/test/fixtures/docx/F01-basic-contract.docx +0 -0
  605. package/test/fixtures/docx/F01-basic-contract.md +0 -33
  606. package/test/fixtures/docx/F02-headings-styles.docx +0 -0
  607. package/test/fixtures/docx/F02-headings-styles.md +0 -33
  608. package/test/fixtures/docx/F03-legal-outline-numbering.docx +0 -0
  609. package/test/fixtures/docx/F03-legal-outline-numbering.md +0 -34
  610. package/test/fixtures/docx/F04-restart-numbering-schedules.docx +0 -0
  611. package/test/fixtures/docx/F04-restart-numbering-schedules.md +0 -33
  612. package/test/fixtures/docx/F05-table-heavy-agreement.docx +0 -0
  613. package/test/fixtures/docx/F05-table-heavy-agreement.md +0 -34
  614. package/test/fixtures/docx/F06-merged-cells-signature-table.docx +0 -0
  615. package/test/fixtures/docx/F06-merged-cells-signature-table.md +0 -34
  616. package/test/fixtures/docx/F07-inline-images-exhibit.docx +0 -0
  617. package/test/fixtures/docx/F07-inline-images-exhibit.md +0 -34
  618. package/test/fixtures/docx/F08-hyperlinks.docx +0 -0
  619. package/test/fixtures/docx/F08-hyperlinks.md +0 -33
  620. package/test/fixtures/docx/F09-comments-single-paragraph.docx +0 -0
  621. package/test/fixtures/docx/F09-comments-single-paragraph.md +0 -33
  622. package/test/fixtures/docx/F10-threaded-comments-resolve.docx +0 -0
  623. package/test/fixtures/docx/F10-threaded-comments-resolve.md +0 -33
  624. package/test/fixtures/docx/F11-redlines-basic.docx +0 -0
  625. package/test/fixtures/docx/F11-redlines-basic.md +0 -33
  626. package/test/fixtures/docx/F12-redlines-paragraph-joins-splits.docx +0 -0
  627. package/test/fixtures/docx/F12-redlines-paragraph-joins-splits.md +0 -33
  628. package/test/fixtures/docx/F13-comments-on-deleted-text.docx +0 -0
  629. package/test/fixtures/docx/F13-comments-on-deleted-text.md +0 -33
  630. package/test/fixtures/docx/F14-revisions-in-tables-and-lists.docx +0 -0
  631. package/test/fixtures/docx/F14-revisions-in-tables-and-lists.md +0 -33
  632. package/test/fixtures/docx/F15-sections-headers-footers.docx +0 -0
  633. package/test/fixtures/docx/F15-sections-headers-footers.md +0 -33
  634. package/test/fixtures/docx/F16-footnotes-endnotes.docx +0 -0
  635. package/test/fixtures/docx/F16-footnotes-endnotes.md +0 -33
  636. package/test/fixtures/docx/F17-fields-and-toc.docx +0 -0
  637. package/test/fixtures/docx/F17-fields-and-toc.md +0 -33
  638. package/test/fixtures/docx/F18-content-controls-template.docx +0 -0
  639. package/test/fixtures/docx/F18-content-controls-template.md +0 -33
  640. package/test/fixtures/docx/F19-custom-xml-doc-assembly.docx +0 -0
  641. package/test/fixtures/docx/F19-custom-xml-doc-assembly.md +0 -35
  642. package/test/fixtures/docx/F20-unknown-ooxml-and-alternatecontent.docx +0 -0
  643. package/test/fixtures/docx/F20-unknown-ooxml-and-alternatecontent.md +0 -33
  644. package/test/fixtures/docx/F21-malformed-broken-docx.docx +0 -0
  645. package/test/fixtures/docx/F21-malformed-broken-docx.md +0 -33
  646. package/test/fixtures/docx/README.md +0 -74
  647. package/test/fixtures/docx/certification-manifest.json +0 -104
  648. package/test/fixtures/docx/fixtures.manifest.json +0 -196
  649. package/test/fixtures/encrypted-docx/README.md +0 -27
  650. package/test/fixtures/encrypted-docx/certification-manifest.json +0 -9
  651. package/test/fixtures/encrypted-docx/fixtures.manifest.json +0 -47
  652. package/test/fixtures/scenarios/docx/README.md +0 -25
  653. package/test/fixtures/scenarios/docx/S01-sow-template.docx +0 -0
  654. package/test/fixtures/scenarios/docx/S01-sow-template.md +0 -30
  655. package/test/fixtures/scenarios/docx/S02-bw-partner-user-licence-agreement-redlines.docx +0 -0
  656. package/test/fixtures/scenarios/docx/S02-bw-partner-user-licence-agreement-redlines.md +0 -32
  657. package/test/fixtures/scenarios/docx/scenario-manifest.json +0 -53
  658. package/test/formats/xlsx/io/xlsx-import.test.ts +0 -766
  659. package/test/formats/xlsx/model/workbook.test.ts +0 -669
  660. package/test/helpers/dom-setup.ts +0 -124
  661. package/test/io/comment-roundtrip.test.ts +0 -272
  662. package/test/io/complex-content-roundtrip.test.ts +0 -632
  663. package/test/io/docx-compatibility-regression.test.ts +0 -199
  664. package/test/io/docx-session.test.ts +0 -1495
  665. package/test/io/footnotes-roundtrip.test.ts +0 -318
  666. package/test/io/headers-footers-roundtrip.test.ts +0 -547
  667. package/test/io/numbering-roundtrip.test.ts +0 -234
  668. package/test/io/package-reader.test.ts +0 -199
  669. package/test/io/paragraph-properties-roundtrip.test.ts +0 -129
  670. package/test/io/preserved-package-roundtrip.test.ts +0 -365
  671. package/test/io/property-completeness.test.ts +0 -292
  672. package/test/io/revision-roundtrip.test.ts +0 -347
  673. package/test/io/structural-blocks.test.ts +0 -202
  674. package/test/io/table-media-roundtrip.test.ts +0 -448
  675. package/test/io/table-properties-roundtrip.test.ts +0 -569
  676. package/test/io/table-roundtrip.test.ts +0 -302
  677. package/test/io/text-roundtrip.test.ts +0 -344
  678. package/test/model/canonical-document.test.ts +0 -285
  679. package/test/preservation/opaque-fragment-store.test.ts +0 -121
  680. package/test/preservation/package-preservation.test.ts +0 -395
  681. package/test/preservation/store.test.ts +0 -84
  682. package/test/review/comment-remapping.test.ts +0 -220
  683. package/test/review/comment-store.test.ts +0 -180
  684. package/test/review/move-revisions.test.ts +0 -143
  685. package/test/review/property-change-revisions.test.ts +0 -225
  686. package/test/review/revision-actions.test.ts +0 -330
  687. package/test/review/revision-store.test.ts +0 -193
  688. package/test/runtime/session-capabilities.test.ts +0 -260
  689. package/test/runtime/table-commands.test.ts +0 -356
  690. package/test/runtime/table-schema.test.ts +0 -221
  691. package/test/runtime/tracked-changes-toggle.test.ts +0 -107
  692. package/test/ui/comment-review-surface.test.tsx +0 -114
  693. package/test/ui/reduced-motion-toggle.test.tsx +0 -137
  694. package/test/ui/word-review-editor.imported-scenarios.test.tsx +0 -169
  695. package/test/ui/word-review-editor.interaction.test.tsx +0 -1198
  696. package/test/ui/word-review-editor.test.js +0 -188
  697. package/test/ui/word-review-editor.test.tsx +0 -280
  698. package/test/ui-tailwind/search-plugin.test.ts +0 -286
  699. package/test/validation/compatibility-engine.test.ts +0 -336
  700. package/test/validation/compatibility-report.test.ts +0 -189
  701. package/test/validation/low-priority-word-surfaces.test.ts +0 -282
  702. package/test/validation/malformed-doc.test.ts +0 -113
  703. package/test-results/.last-run.json +0 -4
  704. package/wave.config.json +0 -406
@@ -1,320 +0,0 @@
1
- # XLSX OOXML Compliance
2
-
3
- This research paper is source material.
4
-
5
- Canonical repo-aligned planned doc:
6
-
7
- - `docs/reference/xlsx/xlsx-ooxml-compliance.md`
8
-
9
- ## Interpretation of the problem
10
-
11
- This document defines the **compatibility + validation stance** for a React-based, Excel-compatible spreadsheet editor that imports `.xlsx`, edits a **bounded v1 surface**, and exports `.xlsx` files that **reopen in recent Excel environments without repair prompts or silent loss of content that should have remained supported**.
12
-
13
- The framing assumes `.xlsx` is not “one XML file,” but an **OOXML/Open Packaging Conventions (OPC) package**: a ZIP-based container of **parts** (byte streams) with **content types** and an explicit **relationship graph**.
14
-
15
- The editor’s product contract is explicitly “runtime-first”: React is a **projection** of a runtime-owned canonical workbook state, and all edits flow via **commands → transactions → commit**, never by direct UI mutation (this is treated as a necessary architectural constraint for achieving reliable preservation and roundtrip behavior).
16
-
17
- ## Research plan
18
-
19
- Primary and near-primary sources were used to extract normative rules and to separate them from application behavior:
20
-
21
- Normative packaging rules for OPC (part naming, content types stream, relationship rules, encoding constraints) were taken from ECMA/OOXML OPC material and the published conformance rules (as rendered on c-rex).
22
-
23
- Normative markup compatibility (MCE) rules—including `mc:Ignorable`, `mc:MustUnderstand`, and `mc:AlternateContent` selection/processing requirements—were taken from the Markup Compatibility and Extensibility specification text.
24
-
25
- SpreadsheetML package structure and key parts/relationships (workbook, worksheets, shared strings, styles, calc chain, comments, tables, drawings/charts, pivots, external links) were taken from SpreadsheetML package structure and part definitions.
26
-
27
- To ground “Excel behavior is the final standard,” Excel’s documented repair workflow (“File Recovery mode” / “Open and Repair”) was used as an anchor for what constitutes P0 corruption in practice.
28
-
29
- For format-ecosystem reality (Strict vs Transitional), Library of Congress format descriptions were used to distinguish the intent of Strict vs the observed dominance of Transitional in real-world authoring.
30
-
31
- For CI/service validation tooling constraints, official Microsoft Learn documentation for the Open XML SDK’s `SpreadsheetDocument` and `OpenXmlValidator` APIs was used (permitted in CI/service, not suitable as the browser runtime transformation engine).
32
-
33
- ## Findings
34
-
35
- `.xlsx` is an OPC package with strict package-level rules that can’t be hand-waved. Parts have constrained **part name syntax** (leading `/`, no empty segments, no trailing `/`, etc.). The ZIP mapping stores part content type data in a special **Content Types stream at `"/[Content_Types].xml"`**, which is explicitly *not* a part name; bracket characters are chosen to violate part naming grammar.
36
-
37
- Relationships are first-class and have required properties: relationship IDs must be unique within a relationships part, relationship types are URIs, and targets are URI references resolved relative to the source part/package per OPC rules. OPC relationship parts also have special structure/naming conventions (package relationships live in `/_rels/.rels`; part relationships for `/a/b/c.xml` live in `/a/b/_rels/c.xml.rels`).
38
-
39
- Markup Compatibility & Extensibility matters in real Excel files. By default, non-understood namespaces are errors unless declared ignorable; ignorable namespaces must be ignored without error in that case. Alternate-content constructs require deterministic selection rules (`Choice` requires understood namespaces; optional `Fallback`; unselected branches are treated as if they do not exist). This becomes a preservation and validation problem because an editor must not “helpfully normalize” away MCE structures unless it has a proof-backed reason.
40
-
41
- SpreadsheetML is a multi-part graph. A SpreadsheetML package must contain a **package-relationship item** and **content-type item**, and its package relationship item must target exactly one **Workbook part**. The workbook references sheets, and each worksheet is a separate part referenced by relationship ID. Common “core” workbook adjunct parts are separate nodes: shared strings (exactly one, implicit from workbook), styles (at most one, implicit from workbook), and calc chain (optional, implicit from workbook).
42
-
43
- Many “features” are not inline decorations but their own part families: comments exist as worksheet-scoped comments parts; a comments part exists per worksheet that has comments, with defined content type and relationship type. Tables have their own table definition parts, implicitly related from the worksheet that contains the table. Images and charts are relationship-backed part graphs: drawings parts are related from a worksheet and contain layout for drawing elements; charts are separate chart parts related from drawings (and chartsheets involve their own sheet parts). Pivot tables include pivot table parts and pivot cache definition/records parts, with explicit and implicit links into workbook and pivot definitions—making them high-risk for “accidental breakage.” External references are represented with external link parts explicitly related from the workbook, and can include external targets.
44
-
45
- “Excel behavior is the final standard” is not rhetorical: Excel explicitly documents that when it detects a corrupted workbook it enters **File Recovery** and attempts repair; users can also invoke “Open and Repair,” and failure can cause loss of changes or extraction-only recovery. Therefore any compliance stance that does not gate on “no repair prompt” is not credible.
46
-
47
- Strict vs Transitional is a format reality you must choose consciously. The Strict variant is a subset with different namespaces and disallows some constructs (e.g., VML). The spec intent was that new documents would be Strict, but in practice most new files are produced as Transitional even if they don’t require Transitional-only features. That implies export defaults should be Transitional-first unless you can prove Strict output across modern Excel ecosystems.
48
-
49
- Open XML SDK (`SpreadsheetDocument`) models Excel documents as packages and provides `OpenXmlValidator` to validate packages against target file format versions. This is appropriate for CI/service validation, but it is not a browser-native transformation engine for a React editor.
50
-
51
- ## Recommended design / decisions
52
-
53
- Adopt a two-layer compliance model: **spec-level correctness** (OPC + SpreadsheetML + MCE rules) is required, but **application-level correctness in Excel** is the shipping standard. This document therefore defines “supported” as “supported-roundtrip in real Excel reopen,” not “we can emit XML that parses.”
54
-
55
- Declare `.xlsx` v1 export stance as **Transitional-first**, with `.xlsx Strict` treated as import-only or lock/preserve until proven; this matches observed ecosystem behavior where Transitional dominates.
56
-
57
- Treat the package as the unit of truth in the runtime, not “sheet XML documents.” The runtime must maintain: (a) a **content types manifest** compatible with OPC rules, (b) a **relationship graph** that can be validated independently, and (c) a **part inventory** that preserves unknown parts byte-for-byte whenever possible. This is non-negotiable if “unsupported but preservable content must never be silently dropped” is a real commitment.
58
-
59
- Make preservation explicit via a response model: for every import/export or edit transaction, unsupported surfaces must be categorized as **preserve**, **lock**, **warn**, **block**, or **fail**, and reported through a typed compatibility report. MCE provides a normative basis for when “unknown namespace” is ignorable vs fatal; your editor must use this rather than guesswork.
60
-
61
- Require proof-backed promotion: a feature cannot be labeled `supported-roundtrip` based on unit XML tests alone. Promotion requires: **package-backed import → runtime edit → export → reload**, plus **real Excel reopen evidence** (no repair prompt, no silent loss of content within the supported contract). Excel’s own documented repair workflow is the operational definition of “corruption.”
62
-
63
- Use Open XML SDK validation in CI/service only: `OpenXmlValidator.Validate(OpenXmlPackage)` is a strong “spec-level” tripwire and should be required for release gates, but the browser runtime should not depend on .NET package models to transform workbooks.
64
-
65
- ## Risks and open questions
66
-
67
- Preservation vs normalization is the main fault line. OPC package rules include MCE preprocessing and schema validity expectations (e.g., XML encoding limits, DTD prohibition, and additional constraints in the package model conformance rules). Any “pretty printer” or eager DOM rewrite strategy risks introducing invalid structures or losing ignorable-but-preservable content.
68
-
69
- Excel repair triggers are often “small” (a bad relationship target, illegal XML characters, a mismatched content type, a broken view structure), but the consequence is always the same: Excel enters repair/recovery mode and may discard pieces of the workbook. This is why “repair prompt = P0” must be a release gate.
70
-
71
- Formula and calc-related structures are deceptively risky. Cells can contain both `<f>` (formula) and `<v>` (cached result), and the workbook may contain `calcChain.xml` as an ordering of calculated cells; it is legal for `calcChain` to exist or not. Mishandling formulas (especially shared formulas, array formulas, dynamic arrays, and recalculation flags) can yield Excel behavior drift or repair.
72
-
73
- Protection has two layers and can easily produce “false edits.” Sheet protection is expressed at the sheet level, and cell-level protection is expressed via style protection attributes that only take effect when the sheet is protected. A v1 editor that ignores this will either let users edit “locked” surfaces (breaking host expectations) or accidentally strip protection (breaking preservation guarantees).
74
-
75
- Pivot tables, charts, drawings, and external links are part graphs, not inline features. The biggest risk is that benign-looking edits (sheet rename, row/column structural edits, moving ranges) can invalidate references across these graphs. Until there is proof-backed support, they must remain preserve-only with appropriate locks or blocks.
76
-
77
- Strict vs Transitional is a scope trap. Strict has different namespaces and constraints, and Transitional’s dominance means “Strict export” is not a v1 promise unless you can prove it in Excel reopen.
78
-
79
- ## Concrete deliverable in the requested format
80
-
81
- This section is the **repo-ready canonical policy** for `.xlsx` compatibility and validation. It is written as a normative contract (MUST/SHALL language). All terms below are for v1 unless explicitly marked otherwise.
82
-
83
- **Document identity**
84
-
85
- - Title: `XLSX OOXML Compliance`
86
- - Status: Canonical policy for `.xlsx` compatibility + validation stance.
87
- - Objective: Exported `.xlsx` MUST reopen in recent Excel environments **without repair prompts** and without silent loss of content within the supported contract.
88
-
89
- ### Compliance model
90
-
91
- **Normative baseline**
92
-
93
- - The editor is an OOXML producer/consumer at the package level. A SpreadsheetML package SHALL contain a package-relationship item and a content-type item and SHALL target exactly one Workbook part from its package relationships.
94
- - OPC rules govern part naming, content types, relationship construction, and ZIP mapping. Part names SHALL satisfy OPC part-name constraints.
95
- - The Content Types stream SHALL be stored at `"/[Content_Types].xml"` and SHALL NOT be treated as a part name.
96
- - Markup Compatibility & Extensibility (MCE) rules SHALL be respected during validation and when deciding whether unknown markup is ignorable vs fatal.
97
-
98
- **Two-layer correctness requirement**
99
-
100
- - Spec-level correctness is necessary but not sufficient: the exported package MUST satisfy OPC + SpreadsheetML structural requirements and pass automated validation gates.
101
- - Application-level correctness is the release standard: the exported file MUST reopen in real Excel environments without “Open and Repair” / File Recovery behavior for supported flows.
102
-
103
- **Format stance (Strict vs Transitional)**
104
-
105
- - v1 export stance: **Transitional-first** `.xlsx`.
106
- - `.xlsx Strict` handling: import MAY be accepted in v1, but MUST be treated as `preserve-only` + `lock` unless/until strict roundtrip is proven. This stance is based on the observed real-world dominance of Transitional authoring even when Strict would suffice.
107
-
108
- ### Feature class taxonomy
109
-
110
- Each feature is classified into one of the following **support classes**:
111
-
112
- - `supported-roundtrip`: import → runtime edit → export → reopen proof exists; semantics remain correct within the defined v1 contract.
113
- - `supported-import-only`: imported and preserved; UI edits are not allowed (or edits do not affect this feature); export preserves it.
114
- - `supported-export-only`: can be generated correctly, but import semantics are not relied upon.
115
- - `preserve-only`: editor does not claim semantic understanding; feature MUST survive unrelated edits by pass-through preservation rules.
116
- - `unsupported-fatal`: presence or mutation makes safe roundtrip impossible; editor MUST fail or block before producing a likely-corrupt workbook.
117
-
118
- This taxonomy is separate from the response model below; support class answers “what we claim,” response answers “what we do at runtime.”
119
-
120
- ### Package-first rules
121
-
122
- These rules apply to all builds and are required for any compatibility claim:
123
-
124
- **Package graph is the canonical import/export substrate**
125
-
126
- - The runtime MUST import the package as:
127
- - a part inventory (all ZIP items mapped to parts or “non-part items” like content types stream),
128
- - a content types manifest (driven by `"/[Content_Types].xml"`),
129
- - and a relationship graph (package relationships + part relationships).
130
- - UI-level models (grid, selection, formatting panels) MUST be projections of runtime state; UI MUST NOT own canonical workbook truth.
131
-
132
- **Preservation is package-scoped, not “we’ll keep some XML fields”**
133
-
134
- - Unknown parts MUST be preserved byte-for-byte when:
135
- - the part is not in the editor-owned v1 contract, and
136
- - the edit transaction does not require rewriting the part.
137
- This requirement exists because many Excel features are represented as separate parts (e.g., pivot caches, drawings, external links) and because Excel will repair/remove parts that become inconsistent.
138
-
139
- **Relationship integrity is non-negotiable**
140
-
141
- - Relationship IDs MUST remain unique per relationships part, relationship types SHALL remain valid URIs, and targets SHALL remain resolvable.
142
- - The product MUST NOT emit dangling relationships, broken targets, or mismatched content types; these are treated as P0 corruption risks due to Excel’s repair workflow.
143
-
144
- **MCE handling**
145
-
146
- - Unknown markup SHALL be treated as:
147
- - **ignorable** only when it is in a namespace listed in `mc:Ignorable` in scope; otherwise, unknown elements/attributes are errors by default.
148
- - **fatal** when `mc:MustUnderstand` requires a namespace the runtime does not understand.
149
- - `mc:AlternateContent` SHALL NOT be normalized away unless:
150
- - the runtime can reproduce correct selection semantics, and
151
- - preservation of unselected branches is guaranteed, and
152
- - Excel reopen tests show no regressions.
153
-
154
- ### Preserve / lock / warn / block / fail policy
155
-
156
- This policy is the required response model for all compatibility decisions. It applies both at import time and at mutation/commit time.
157
-
158
- **Preserve**
159
-
160
- - Meaning: Keep content exactly; do not expose editing UI; allow unrelated edits.
161
- - Requirements:
162
- - Preserve unknown parts and unknown markup in known parts where feasible without rewriting required structures.
163
- - Preserve required relationships and content types needed to keep the preserved content reachable.
164
-
165
- **Lock**
166
-
167
- - Meaning: Preserve content and enforce edit restrictions so mutations cannot invalidate preserved surfaces.
168
- - Use cases:
169
- - Protected sheets/cells: if sheet protection exists, the runtime MUST NOT allow mutations that violate the protection model it cannot fully enforce.
170
- - Pivot/Chart/Drawing graphs: lock structural edits (sheet rename, row/column structural operations) when those operations cannot be proven safe across the dependent relationship graphs.
171
-
172
- **Warn**
173
-
174
- - Meaning: Allow the operation but emit a structured warning describing risk and what might degrade.
175
- - Constraints:
176
- - Warn MUST be explicit to the host via a typed compatibility report.
177
- - Warn MUST NOT be used for any case likely to cause Excel repair prompt or silent supported-content loss.
178
-
179
- **Block**
180
-
181
- - Meaning: Operation is disallowed because it would invalidate preserved or supported content.
182
- - Examples:
183
- - Attempting to delete a sheet that is a dependency of external references or pivot caches without a safe rewrite plan.
184
- - Attempting to rewrite a part containing unknown-but-non-ignorable namespaces without MCE-correct processing.
185
-
186
- **Fail**
187
-
188
- - Meaning: Abort import/export or abort commit because safe output cannot be guaranteed.
189
- - Always fail when:
190
- - `mc:MustUnderstand` demands unknown namespaces.
191
- - The package violates OPC invariants (invalid part names, invalid content types stream, relationship rules violations) and cannot be repaired deterministically.
192
- - Export would likely trigger Excel repair workflow (P0 corruption risk).
193
-
194
- ### SDK/tooling policy
195
-
196
- **CI/service (allowed and required)**
197
-
198
- - CI MUST include Open XML SDK validation using `OpenXmlValidator.Validate(OpenXmlPackage)` on exported packages (targeting declared file format versions).
199
- - CI MAY open documents via Open XML SDK `SpreadsheetDocument` for structural assertions (part counts, relationship presence, etc.).
200
- - CI MUST run package-level checks independent of Open XML SDK (ZIP integrity, part inventory, content types consistency, relationship graph integrity). OPC defines these as first-class concerns.
201
- - Release certification MUST include real Excel reopen checks because Excel’s File Recovery / Open and Repair behavior is the real-world pass/fail line.
202
-
203
- **Browser runtime (explicitly not acceptable as transformation engine)**
204
-
205
- - Browser runtime MUST NOT depend on Open XML SDK as the transformation engine (it is a .NET package model and validator, not a browser-native engine). This is a policy constraint to keep the runtime deterministic, portable, and auditable in JS/TS while still leveraging SDK validation in CI/service.
206
- - Browser runtime MUST maintain its own package graph model to satisfy the preservation and transaction constraints in this policy.
207
-
208
- ### Release gates
209
-
210
- No feature may be claimed `supported-roundtrip` unless it passes all gates below:
211
-
212
- **Gate A: Package integrity**
213
-
214
- - Valid ZIP package.
215
- - Part inventory + content types stream consistent (`"/[Content_Types].xml"` present and correct).
216
- - Relationship graph integrity (no broken targets; IDs unique; types URIs).
217
-
218
- **Gate B: Spec validation**
219
-
220
- - Open XML SDK `OpenXmlValidator` reports zero errors for declared file format version targets (or explicit, reviewed allowlist for known validator limitations with preserved extension content).
221
- - MCE rules are respected (no non-ignorable unknown markup; no `MustUnderstand` failures).
222
-
223
- **Gate C: Package-backed roundtrip proof**
224
-
225
- - Import fixture → apply v1 edits → export → re-import exported package; semantic assertions pass for the feature.
226
- - Helper-level XML unit tests alone are explicitly insufficient for promotion.
227
-
228
- **Gate D: Real Excel reopen proof**
229
-
230
- - Export MUST reopen in recent Excel environments without invoking File Recovery / Open and Repair prompts for the supported flow.
231
- - A “re-save in Excel” stability check MUST show no catastrophic structural drift for supported-roundtrip features.
232
-
233
- **Gate E: Preservation proof**
234
-
235
- - Preserve-only fixtures MUST survive unrelated edits (no deletion of unknown parts, extension lists, external link parts, pivot cache parts, etc.).
236
-
237
- ### Fixture program
238
-
239
- The project SHALL maintain a permanent fixture corpus with metadata and automated runners.
240
-
241
- **Fixture sources**
242
-
243
- - Excel-authored `.xlsx` fixtures are primary (the “host standard”).
244
- - Additional fixtures should include non-Excel producers (to catch interoperability variance), but Excel reopen remains the pass/fail standard.
245
-
246
- **Fixture metadata (MUST exist per fixture)**
247
-
248
- - Fixture ID, origin, Excel version notes (if known), and feature tags mapped to the feature taxonomy.
249
- - Expected support class and expected response policy outcomes for risky operations (lock/block/warn/fail).
250
-
251
- **Minimum fixture categories (v1)**
252
-
253
- - Minimal workbook structure (workbook + at least one worksheet).
254
- - Cells with numbers/strings/formulas; includes shared strings and inline strings.
255
- - Styles-heavy workbook including number formats and protections.
256
- - Merge cells edge cases.
257
- - Comments/notes fixtures (worksheet comments part).
258
- - AutoFilter + table definition fixtures.
259
- - Conditional formatting + data validation fixtures.
260
- - Drawings + images + charts fixtures.
261
- - Pivot table + pivot cache fixtures.
262
- - External links fixtures.
263
- - MCE fixtures containing `mc:AlternateContent`, ignorable namespaces, and at least one `MustUnderstand` negative fixture.
264
-
265
- ### v1 feature classification
266
-
267
- This table defines the **explicit v1 contract** for common SpreadsheetML surfaces. “Supported-roundtrip” requires the release gates above; absent proof, default is conservative.
268
-
269
- | Feature surface | v1 support class | Default response policy | Notes (v1) |
270
- |---|---:|---:|---|
271
- | Sheets (workbook + worksheets) | supported-roundtrip | preserve | Workbook/worksheet relationships are foundational; required for any meaningful `.xlsx` support. |
272
- | Cells (values/types) | supported-roundtrip | preserve | Core cell structure (`<c>`, `<v>`, optional `<f>`, inline strings) is required. |
273
- | Styles (basic cellXfs, fonts/fills/borders/numFmts) | supported-roundtrip (subset) | warn | Styles are centralized in a styles part; v1 supports a declared subset only, remainder preserve-only. |
274
- | Formulas | supported-roundtrip (no eval) | warn | Store formula strings; Excel recalculates. Advanced formula constructs remain preserve-only until proven. |
275
- | Calc chain | preserve-only | preserve | `calcChain.xml` is optional; safest v1 stance is preserve unchanged (or drop only with explicit proof + Excel reopen notes). |
276
- | Merges | supported-roundtrip | preserve | Merge ranges are declared via `<mergeCells>/<mergeCell ref=...>`. |
277
- | Comments / Notes (legacy comments part) | preserve-only | lock | Comments are worksheet-scoped parts; v1 does not claim edit UI or anchor correctness yet. |
278
- | Filters (AutoFilter) | preserve-only | warn | AutoFilter is declarative and interacts with tables and defined names; preserve. |
279
- | Tables (table definition parts) | preserve-only | lock | Table definition is a distinct part related from the worksheet; structural edits around tables are risky. |
280
- | Named ranges (definedNames) | preserve-only | warn | Defined names participate in formulas, filters, and external references; preserve unless proven. |
281
- | Data validation | preserve-only | warn | Validation is defined as worksheet-level `<dataValidations>` structures; preserve without rewriting. |
282
- | Conditional formatting | preserve-only | warn | Rules often reference dxf styles and ranges; preserve without rewriting. |
283
- | Images (pictures/media) | preserve-only | lock | Images exist as relationship targets (image parts) and often flow through drawings graphs; preserve. |
284
- | Charts | preserve-only | lock | Charts are separate chart parts related from drawings; safe editing requires graph-aware constraints. |
285
- | Pivot tables | preserve-only | block | Pivot caches and definitions involve multiple dependent parts; v1 blocks structural mutations that can invalidate them. |
286
- | Macros | unsupported-fatal (for `.xlsx`) | fail | Macro-enabled structures belong to macro-enabled formats; `.xlsx` editor does not promise safe behavior here. |
287
- | Protection (sheet protection, cell lock/hidden) | preserve-only | lock | Protection is expressed at sheet and cell/style levels; v1 preserves and locks rather than pretending to enforce partially. |
288
- | External links | preserve-only | warn/block | External link parts are explicit workbook relationships; edits that change reference topology may be blocked. |
289
- | Unknown OOXML within known parts (unknown elements/attrs) | preserve-only or unsupported-fatal | preserve or fail | Determined by MCE: ignorable namespaces may be preserved/ignored; `MustUnderstand` is fatal if unknown. |
290
- | Unknown package parts (unknown content types / relationships) | preserve-only | preserve | Preserve byte streams + relationship graph + content types unless mutation requires rewrite; never silently drop. |
291
-
292
- ### Explicitly outside the active editor-owned v1 contract
293
-
294
- The following are outside the v1 “editor-owned” surface; they may exist in imported packages but are not claimed as editable in v1:
295
-
296
- - Editing of chart definitions, chart drawing shapes, and drawing anchors (preserve-only).
297
- - Editing of pivot tables or pivot cache structures (preserve-only; structural edits blocked).
298
- - Editing of table definitions, autoFilter definitions, conditional formatting rule logic, and data validation semantics (preserve-only).
299
- - Threaded comments / modern comment systems beyond the legacy comments part (not covered here; preserve-only at best).
300
- - Macro-enabled behaviors (unsupported-fatal for `.xlsx` contract).
301
- - Any MCE `MustUnderstand` namespace that the runtime does not explicitly implement (import must fail).
302
- - Any “Strict export” promise (until strict reopen proof exists).
303
-
304
- ## Sources
305
-
306
- ECMA-376 standard overview and part breakdown (OPC, MCE, etc.).
307
-
308
- OPC part naming and package model conformance requirements, including relationship constraints and XML processing constraints.
309
-
310
- OPC ZIP mapping and the normative location/meaning of `"/[Content_Types].xml"`.
311
-
312
- Markup Compatibility & Extensibility rules: ignorable namespaces, `MustUnderstand`, and `AlternateContent` selection.
313
-
314
- SpreadsheetML package structure and part definitions (workbook, worksheets, shared strings, styles, calc chain, comments, tables, drawings/charts, pivots, external links).
315
-
316
- Open XML SDK documentation for `SpreadsheetDocument` and `OpenXmlValidator` (CI/service validation stance).
317
-
318
- Excel “Open and Repair” / File Recovery documentation (host-level corruption semantics and reopen requirements).
319
-
320
- Format descriptions for XLSX Transitional and XLSX Strict (Strict vs Transitional reality).
@@ -1,16 +0,0 @@
1
- # Examples
2
-
3
- Host-app examples and integration demos for the eventual `<WordReviewEditor />` component belong here.
4
-
5
- Planned example surfaces:
6
-
7
- - simple host app using `initialDocx`
8
- - host app restoring from canonical snapshot
9
- - datastore-backed autosave integration
10
- - review-oriented host shell wiring comment and revision events
11
-
12
- Examples should demonstrate the public component contract without bypassing the runtime or treating the DOM as the source of truth.
13
-
14
- Wave 1 contract note:
15
-
16
- - Example apps should consume the public contracts frozen in `docs/reference/public-api.md` and the runtime/UI boundaries frozen in `docs/plans/waves/specs/wave-1-runtime-contracts.md`.
package/memory/MEMORY.md DELETED
@@ -1,24 +0,0 @@
1
- # Shared Fleet Memory
2
-
3
- ## Fleet Nodes
4
- - anarchy: workstation, RTX 5090, Arch Linux
5
- - ceobox: dev box, EPYC 7502P, Ubuntu 24.04
6
- - leapclaw-prod-01: gateway, Temporal, Qdrant, Hetzner
7
- - leapclaw-provider-01: Ollama, RTX 6000 Ada, Hetzner
8
- - Mac Studio: M1 Ultra, macOS
9
- - Blue Air: M4, macOS
10
-
11
- ## Active Projects
12
- - react-ooxml-office: docx/xlsx editor (365+ tests)
13
- - war-is-eternal: Warhammer 40K app (348 tests)
14
- - fabric: BW revenue platform
15
- - leapclaw-client: Rust TUI client
16
- - leapclaw-memory: this service
17
- - leapclaw-voice: Rust voice agent
18
- - leapclaw-wave: Rust wave orchestrator
19
-
20
- ## Key Credentials
21
- - SSH keys in ~/.ssh/ (never store actual keys here)
22
- - ceobox LUKS: passphrase at ~/.ssh/ceobox_luks_passphrase.txt
23
- - prod-01 LUKS: passphrase at ~/.ssh/hetzner_luks_passphrase.txt
24
-
@@ -1,4 +0,0 @@
1
- packages:
2
- - services/*
3
-
4
-
@@ -1,13 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
-
4
- mapfile -t authored_js < <(find src -type f -name '*.js' | sort)
5
-
6
- if ((${#authored_js[@]} == 0)); then
7
- exit 0
8
- fi
9
-
10
- printf 'Unexpected committed JavaScript files under src/:\n' >&2
11
- printf ' %s\n' "${authored_js[@]}" >&2
12
- printf 'Authored source in src/ must stay TypeScript-only.\n' >&2
13
- exit 1
@@ -1,65 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
-
4
- if [[ -z "${CONTEXT7_API_KEY:-}" ]]; then
5
- echo "context7-api-check: CONTEXT7_API_KEY is not set" >&2
6
- exit 1
7
- fi
8
-
9
- node <<'NODE'
10
- const fs = require('fs');
11
- const path = require('path');
12
-
13
- const apiKey = process.env.CONTEXT7_API_KEY || '';
14
- const repoRoot = process.cwd();
15
- const bundlePath = path.join(repoRoot, 'docs/context7/bundles.json');
16
- const payload = JSON.parse(fs.readFileSync(bundlePath, 'utf8'));
17
-
18
- const entries = [];
19
- for (const [bundleId, bundle] of Object.entries(payload.bundles || {})) {
20
- for (const library of bundle.libraries || []) {
21
- if (!library.libraryId) {
22
- throw new Error(
23
- `Bundle "${bundleId}" must pin exact Context7 libraryId values. Found libraryName=${JSON.stringify(library.libraryName || '')}.`,
24
- );
25
- }
26
- entries.push({
27
- bundleId,
28
- libraryId: String(library.libraryId),
29
- queryHint: String(library.queryHint || 'overview'),
30
- });
31
- }
32
- }
33
-
34
- const uniqueEntries = [...new Map(entries.map((entry) => [entry.libraryId, entry])).values()];
35
-
36
- async function validate(entry) {
37
- const url = new URL('https://context7.com/api/v2/context');
38
- url.searchParams.set('libraryId', entry.libraryId);
39
- url.searchParams.set('query', entry.queryHint);
40
- url.searchParams.set('type', 'txt');
41
- const response = await fetch(url, {
42
- headers: {
43
- Authorization: 'Bearer ' + apiKey,
44
- Accept: 'text/plain, application/json',
45
- },
46
- });
47
- const text = await response.text();
48
- if (!response.ok) {
49
- throw new Error(`Context7 ${entry.libraryId} failed (${response.status}): ${text.slice(0, 200)}`);
50
- }
51
- if (text.trim().length === 0) {
52
- throw new Error(`Context7 ${entry.libraryId} returned empty context.`);
53
- }
54
- console.log(`ok -- ${entry.libraryId} (${entry.bundleId})`);
55
- }
56
-
57
- (async () => {
58
- for (const entry of uniqueEntries) {
59
- await validate(entry);
60
- }
61
- })().catch((error) => {
62
- console.error(error instanceof Error ? error.message : String(error));
63
- process.exit(1);
64
- });
65
- NODE
@@ -1,42 +0,0 @@
1
- #!/usr/bin/env bash
2
- # Load CONTEXT7_API_KEY from repo-root .env.local, then export it for child processes.
3
- #
4
- # Usage:
5
- # source scripts/context7-export-env.sh
6
- # bash scripts/context7-export-env.sh run <command> [args...]
7
-
8
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]:-$0}")" && pwd)"
9
- REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
10
- ENV_FILE="$REPO_ROOT/.env.local"
11
-
12
- if [[ -f "$ENV_FILE" ]]; then
13
- set -a
14
- # shellcheck disable=SC1090
15
- source "$ENV_FILE"
16
- set +a
17
- fi
18
-
19
- if [[ "${1:-}" == "run" ]]; then
20
- set -euo pipefail
21
- shift
22
- if [[ $# -lt 1 ]]; then
23
- echo "context7-export-env: run requires a command" >&2
24
- exit 1
25
- fi
26
- if [[ -z "${CONTEXT7_API_KEY:-}" ]]; then
27
- echo "context7-export-env: CONTEXT7_API_KEY is not set. Add it to ${ENV_FILE}." >&2
28
- exit 1
29
- fi
30
- export CONTEXT7_API_KEY
31
- exec "$@"
32
- fi
33
-
34
- if [[ "${BASH_SOURCE[0]:-}" == "${0:-}" ]]; then
35
- echo "Usage: source scripts/context7-export-env.sh" >&2
36
- echo " or: bash scripts/context7-export-env.sh run <command> [args...]" >&2
37
- exit 2
38
- fi
39
-
40
- if [[ -n "${CONTEXT7_API_KEY:-}" ]]; then
41
- export CONTEXT7_API_KEY
42
- fi
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
-
4
- SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]:-$0}")" && pwd)"
5
- REPO_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
6
-
7
- exec bash "$REPO_ROOT/scripts/context7-export-env.sh" run \
8
- npx -y @upstash/context7-mcp@2.1.4
@@ -1,15 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
-
4
- repo_root="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
5
- cd "$repo_root"
6
-
7
- bash scripts/check-no-authored-js.sh
8
-
9
- mapfile -t repo_tests < <(find test -type f \( -name '*.test.ts' -o -name '*.test.tsx' \) | sort)
10
-
11
- if ((${#repo_tests[@]} > 0)); then
12
- pnpm exec tsx --test "${repo_tests[@]}"
13
- fi
14
-
15
- pnpm --filter @docx-react-component/react-word-editor-harness test