@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,596 @@
1
+ # Wave 8 - Harness Baseline, Validator Pilot, And Accessibility Hardening
2
+
3
+ **Commit message**: `Build: baseline Railway harness, pilot validator service, and harden operator trust`
4
+
5
+ ## Component promotions
6
+
7
+ - railway-test-harness: baseline-proved
8
+ - openxml-sdk-validator-service: pilot-live
9
+
10
+ ## Scope note
11
+
12
+ Wave 8 establishes the staging harness baseline and the first live validator
13
+ proof. It keeps the harness operator-facing and non-production, focused on
14
+ deployability, artifact storage, validator connectivity, durability, and
15
+ operator trust. Wave 8 also
16
+ owns the first explicit operator proof that a real `.docx` can be loaded into
17
+ the harness, receive a new comment plus a bounded review or redline action,
18
+ export as a new package, and validate that exact export through the
19
+ harness-to-validator path. This is also the first wave where accessibility,
20
+ design-token discipline, and reduced-motion behavior become explicit closure
21
+ gates for the embedded editor shell rather than post-hoc polish.
22
+
23
+ Promotion note: both Wave 8 promotions still reference the private-mode proof recapture
24
+ called out in the status section below.
25
+
26
+ Status: hardening landed in source, but Wave 8 closure is blocked pending a fresh private-mode Railway redeploy and proof recapture.
27
+
28
+ Closure evidence:
29
+
30
+ - historical public `early-access` harness baseline on `Fabric / early-access`
31
+ - historical mounted `.docx -> add comment -> review action -> export -> validate` proof under `.tmp/wave-8-railway-pilot/`
32
+ - historical validator restart and health evidence retained for comparison only
33
+ - current accessibility/design and security review notes under `docs/plans/waves/reviews/`
34
+
35
+ Wave 8 still does not widen the active v1 support boundary. It must, however,
36
+ avoid baking in harness or shell decisions that would fight the deferred legal
37
+ fidelity packet for:
38
+
39
+ - first-class canonical tables
40
+ - table-aware review and trust cues
41
+ - curated browser-font approximation with explicit substitution diagnostics
42
+
43
+ ## Entry criteria
44
+
45
+ - Wave 7 proof artifacts, trust note, and integration summary are current.
46
+ - Shared docs still distinguish `baseline-proved`, `pilot-live`, and `qa-proved` honestly.
47
+ - The harness remains an internal operator tool, not a customer-facing product.
48
+
49
+ ## Promotion conditions
50
+
51
+ - the harness persists uploads, exports, certification records, and run artifacts durably enough for repeatable operator review
52
+ - the validator pilot has current live proof, including restart and redeploy evidence
53
+ - a current proof artifact shows the harness can load a real `.docx`, add at least one new comment, perform at least one bounded review or redline action, export the edited package, and validate that exact export through the declared validator path
54
+ - no browser or client path can reach the private validator hostname directly
55
+ - upload validation, storage retention assumptions, and internal-only exposure posture are documented and reviewed
56
+ - the embedded editor shell used in the harness passes the bounded Wave 8 accessibility, token, and reduced-motion baseline
57
+
58
+ ## Prototype review rule
59
+
60
+ Wave 8 remains a v1 proof-first wave and does not widen the active support
61
+ boundary. Even so, any design-facing, accessibility-facing, or operator-UX
62
+ review in this wave must review the current internal prototype so the baseline
63
+ embedded shell does not drift away from the intended product direction.
64
+
65
+ Required prototype review inputs for design-facing work:
66
+
67
+ - `docs/legal-feedback-architecture.md`
68
+ - `docs/reference/prototype-agent-prompt-legal-fidelity.md`
69
+ - `docs/reference/word-review-editor-ux-guide.md`
70
+ - `docs/plans/waves/deferred/legal-feedback-wave-expansion.md`
71
+ - `services/react-word-editor/app/demo/page.tsx`
72
+ - `services/react-word-editor/app/demo/prototype-client.tsx`
73
+ - `services/react-word-editor/lib/demo-fixtures.ts`
74
+
75
+ This review is for UX alignment only. It must not be used to widen support
76
+ claims for tables, browser-font fidelity, or other deferred architecture slices.
77
+
78
+ ## Deploy environments
79
+
80
+ - staging: railway-cli (internal Railway validation environment)
81
+
82
+ ## Context7 defaults
83
+
84
+ - bundle: railway-harness
85
+ - query: "Next.js internal harness routes, Railway deploys, private networking, durable storage, and accessibility-aware operator surfaces"
86
+
87
+ ## Agent A0: cont-QA
88
+
89
+ ### Role prompts
90
+
91
+ - docs/agents/wave-cont-qa-role.md
92
+
93
+ ### Executor
94
+
95
+ - profile: deep-review
96
+
97
+ ### Context7
98
+
99
+ - bundle: railway-harness
100
+ - query: "baseline harness claims, pilot-live proof discipline, accessibility closure, and Railway artifact trust boundaries"
101
+
102
+ ### Prompt
103
+
104
+ ```text
105
+ Primary goal:
106
+ - Refuse closure unless the harness is baseline-proved, the validator service has real pilot-live proof artifacts, and the bounded Wave 8 accessibility and trust checks are current.
107
+
108
+ Required context before coding:
109
+ - Read docs/reference/repository-guidance.md.
110
+ - Read docs/research/agent-context-sources.md.
111
+ - Read docs/reference/live-proof-waves.md.
112
+ - Read docs/plans/current-state.md and docs/plans/waves/wave-7.md.
113
+
114
+ Specific expectations:
115
+ - missing live proof artifacts are blocking
116
+ - missing explicit `.docx -> comment -> review/redline -> export -> validate` proof is blocking
117
+ - client-side access to the private validator hostname is blocking
118
+ - the harness must still be clearly internal-only
119
+ - accessibility, reduced-motion, and token-drift review are blocking if the embedded editor shell is materially inconsistent with DESIGN.md
120
+
121
+ File ownership (only touch these paths):
122
+ - docs/plans/waves/reviews/wave-8-cont-qa.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
+ - profile: deep-review
134
+
135
+ ### Context7
136
+
137
+ - bundle: railway-harness
138
+ - query: "integration across Next harness routes, validator networking, Railway staging, restart proof, and live-proof bundles"
139
+
140
+ ### Prompt
141
+
142
+ ```text
143
+ Primary goal:
144
+ - Reconcile deploy, runtime, durability, and proof state across the harness and the validator pilot.
145
+
146
+ Required context before coding:
147
+ - Read docs/reference/repository-guidance.md.
148
+ - Read docs/research/agent-context-sources.md.
149
+ - Read docs/reference/live-proof-waves.md.
150
+ - Read docs/plans/master-plan.md, docs/plans/current-state.md, and docs/plans/waves/wave-8.md.
151
+
152
+ Specific expectations:
153
+ - treat missing deploy or runbook steps as blocking
154
+ - treat stale deploy or restart evidence as blocking
155
+ - block closure if the explicit review-save-validate proof does not identify the exact source fixture, exported package, and validation artifact for the same run
156
+ - block closure if uploads or fixture runs bypass the documented harness-to-validator path
157
+ - block closure if artifact retention, storage durability, or restart assumptions are not grounded in current proof
158
+
159
+ File ownership (only touch these paths):
160
+ - .tmp/main-wave-launcher/integration/wave-8.md
161
+ - .tmp/main-wave-launcher/integration/wave-8.json
162
+ ```
163
+
164
+ ## Agent A9: Documentation Steward
165
+
166
+ ### Role prompts
167
+
168
+ - docs/agents/wave-documentation-role.md
169
+
170
+ ### Executor
171
+
172
+ - profile: docs-pass
173
+
174
+ ### Context7
175
+
176
+ - bundle: railway-harness
177
+ - query: "documenting Railway staging behavior, internal-only posture, accessibility baseline, and proof-first deploy closure"
178
+
179
+ ### Prompt
180
+
181
+ ```text
182
+ Primary goal:
183
+ - Keep the shared-plan docs and the Railway runbook aligned with the harness baseline, validator pilot, durability rules, and accessibility-bound trust posture.
184
+
185
+ Required context before coding:
186
+ - Read docs/reference/repository-guidance.md.
187
+ - Read docs/research/agent-context-sources.md.
188
+ - Read docs/reference/live-proof-waves.md.
189
+ - Read docs/legal-feedback-architecture.md.
190
+ - Read docs/plans/waves/deferred/legal-feedback-wave-expansion.md.
191
+ - Read docs/plans/master-plan.md, docs/plans/current-state.md, docs/plans/migration.md, and docs/plans/component-cutover-matrix.md.
192
+
193
+ File ownership (only touch these paths):
194
+ - docs/roadmap.md
195
+ - docs/plans/master-plan.md
196
+ - docs/plans/current-state.md
197
+ - docs/plans/migration.md
198
+ - docs/plans/component-cutover-matrix.md
199
+ - docs/plans/component-cutover-matrix.json
200
+ - docs/plans/operations/wave-8-railway-staging.md
201
+ ```
202
+
203
+ ## Agent A1: Harness Persistence And Upload Flows
204
+
205
+ ### Executor
206
+
207
+ - profile: implement-fast
208
+ - budget.minutes: 45
209
+
210
+ ### Context7
211
+
212
+ - bundle: railway-harness
213
+ - query: "Next.js route handlers, file-backed storage, upload validation, and artifact persistence in an internal tool"
214
+
215
+ ### Skills
216
+
217
+ - role-implementation
218
+ - role-infra
219
+ - provider-railway
220
+
221
+ ### Components
222
+
223
+ - railway-test-harness
224
+
225
+ ### Exit contract
226
+
227
+ - completion: authoritative
228
+ - durability: durable
229
+ - proof: integration
230
+ - doc-impact: owned
231
+
232
+ ### Deliverables
233
+
234
+ - services/react-word-editor/app/api/health/route.ts
235
+ - services/react-word-editor/app/api/uploads/route.ts
236
+ - services/react-word-editor/app/api/exports/route.ts
237
+ - services/react-word-editor/app/api/validate/route.ts
238
+ - services/react-word-editor/lib/storage.ts
239
+ - services/react-word-editor/README.md
240
+
241
+ ### Prompt
242
+
243
+ ```text
244
+ Primary goal:
245
+ - Baseline the harness data plane for uploads, exports, stored artifacts, and retention-safe operator review.
246
+
247
+ Required context before coding:
248
+ - Read docs/reference/repository-guidance.md.
249
+ - Read docs/research/agent-context-sources.md.
250
+ - Read services/react-word-editor/README.md.
251
+ - Read docs/plans/master-plan.md.
252
+
253
+ Specific expectations:
254
+ - use volume-backed local storage, not transient memory
255
+ - keep the harness internal and operator-oriented
256
+ - add explicit size, type, and retention assumptions instead of relying on defaults
257
+ - own the harness-side `/api/health` and `/api/validate` routes because the Wave 8
258
+ live-proof and operator flow depend on them even though they bridge into A3's
259
+ validator client
260
+
261
+ File ownership (only touch these paths):
262
+ - services/react-word-editor/app/api/health/route.ts
263
+ - services/react-word-editor/app/api/uploads/route.ts
264
+ - services/react-word-editor/app/api/exports/route.ts
265
+ - services/react-word-editor/app/api/validate/route.ts
266
+ - services/react-word-editor/lib/storage.ts
267
+ - services/react-word-editor/README.md
268
+ ```
269
+
270
+ ## Agent A2: Harness Review Dashboard And Session Pages
271
+
272
+ ### Executor
273
+
274
+ - profile: implement-fast
275
+ - budget.minutes: 45
276
+
277
+ ### Context7
278
+
279
+ - bundle: railway-harness
280
+ - query: "Next.js app router dashboards, run history views, session pages, compatibility report browsing, and calm internal UX"
281
+
282
+ ### Skills
283
+
284
+ - role-implementation
285
+ - provider-railway
286
+
287
+ ### Components
288
+
289
+ - railway-test-harness
290
+
291
+ ### Exit contract
292
+
293
+ - completion: authoritative
294
+ - durability: durable
295
+ - proof: integration
296
+ - doc-impact: owned
297
+
298
+ ### Deliverables
299
+
300
+ - services/react-word-editor/app/fixtures/page.tsx
301
+ - services/react-word-editor/app/runs/[runId]/page.tsx
302
+ - services/react-word-editor/app/editor/[sessionId]/page.tsx
303
+ - services/react-word-editor/components/harness-editor-session-client.tsx
304
+ - services/react-word-editor/lib/harness-client.ts
305
+
306
+ ### Prompt
307
+
308
+ ```text
309
+ Primary goal:
310
+ - Baseline the internal harness UX for fixture browsing, session launch, and validation-history inspection without losing the calm, document-first posture.
311
+
312
+ Required context before coding:
313
+ - Read DESIGN.md.
314
+ - Read docs/reference/repository-guidance.md.
315
+ - Read docs/research/agent-context-sources.md.
316
+ - Read services/react-word-editor/README.md.
317
+
318
+ Specific expectations:
319
+ - keep the dashboard utilitarian and document-first
320
+ - surface compatibility and validator results without hiding uncertainty
321
+ - make `S01` and `S02` browseable alongside F01-F21 with clear non-release-gate labels
322
+ - avoid raw token drift or accessibility regressions in newly added harness chrome
323
+ - keep the harness shell and run-history surfaces compatible with the deferred
324
+ legal-fidelity direction for future typed tables, trust messaging, and curated
325
+ browser typography without implying those slices are already shipped
326
+
327
+ File ownership (only touch these paths):
328
+ - services/react-word-editor/app/fixtures/page.tsx
329
+ - services/react-word-editor/app/runs/[runId]/page.tsx
330
+ - services/react-word-editor/app/editor/[sessionId]/page.tsx
331
+ - services/react-word-editor/components/harness-editor-session-client.tsx
332
+ - services/react-word-editor/lib/harness-client.ts
333
+ ```
334
+
335
+ ## Agent A3: Railway Deploy, Validator Networking, And Retention Runbook
336
+
337
+ ### Executor
338
+
339
+ - profile: ops-triage
340
+ - budget.minutes: 40
341
+
342
+ ### Context7
343
+
344
+ - bundle: railway-harness
345
+ - query: "Railway deploys, staging services, private networking, restart expectations, and storage or retention runbooks"
346
+
347
+ ### Skills
348
+
349
+ - role-infra
350
+ - role-deploy
351
+ - provider-railway
352
+
353
+ ### Components
354
+
355
+ - railway-test-harness
356
+ - openxml-sdk-validator-service
357
+
358
+ ### Exit contract
359
+
360
+ - completion: authoritative
361
+ - durability: durable
362
+ - proof: integration
363
+ - doc-impact: owned
364
+
365
+ ### Deliverables
366
+
367
+ - services/react-word-editor/Dockerfile
368
+ - services/openxml-validator/Dockerfile
369
+ - services/react-word-editor/lib/validator-client.ts
370
+ - docs/plans/operations/wave-8-railway-staging.md
371
+
372
+ ### Proof artifacts
373
+
374
+ - path: .tmp/wave-8-railway-pilot/deploy-runbook-check.json | kind: manifest | required-for: pilot-live
375
+
376
+ ### Prompt
377
+
378
+ ```text
379
+ Primary goal:
380
+ - Wire the harness and validator to deploy cleanly to the same Railway environment with private networking, restart-safe expectations, and documented storage assumptions.
381
+
382
+ Required context before coding:
383
+ - Read docs/reference/repository-guidance.md.
384
+ - Read docs/research/agent-context-sources.md.
385
+ - Read services/react-word-editor/README.md and services/openxml-validator/README.md.
386
+ - Read docs/reference/live-proof-waves.md.
387
+
388
+ Specific expectations:
389
+ - use `http://openxml-validator.railway.internal:8080` for service-to-service traffic
390
+ - keep private networking runtime-only and out of build steps
391
+ - document required Railway variables, restart expectations, and retention assumptions explicitly
392
+
393
+ File ownership (only touch these paths):
394
+ - services/react-word-editor/Dockerfile
395
+ - services/openxml-validator/Dockerfile
396
+ - services/react-word-editor/lib/validator-client.ts
397
+ - docs/plans/operations/wave-8-railway-staging.md
398
+ - .tmp/wave-8-railway-pilot/
399
+ ```
400
+
401
+ ## Agent A4: Embedded Editor Accessibility, Motion, And Token Baseline
402
+
403
+ ### Executor
404
+
405
+ - profile: deep-review
406
+
407
+ ### Context7
408
+
409
+ - bundle: word-editor-ui
410
+ - query: "keyboard flow, focus-visible states, contrast, non-color review cues, reduced motion, and token drift in an embedded editor shell"
411
+
412
+ ### Components
413
+
414
+ - railway-test-harness
415
+
416
+ ### Exit contract
417
+
418
+ - completion: integrated
419
+ - durability: durable
420
+ - proof: integration
421
+ - doc-impact: owned
422
+
423
+ ### Deliverables
424
+
425
+ - docs/plans/waves/reviews/wave-8-accessibility-and-design.md
426
+
427
+ ### Proof artifacts
428
+
429
+ - path: .tmp/wave-8-railway-pilot/keyboard-walkthrough.md | kind: proof-note | required-for: baseline-proved
430
+ - path: .tmp/wave-8-railway-pilot/reduced-motion-smoke.json | kind: integration-report | required-for: baseline-proved
431
+ - path: .tmp/wave-8-railway-pilot/token-drift-audit.md | kind: proof-note | required-for: baseline-proved
432
+
433
+ ### Prompt
434
+
435
+ ```text
436
+ Primary goal:
437
+ - Establish the bounded Wave 8 accessibility, motion, and token baseline for the editor as embedded in the harness.
438
+
439
+ Required context before coding:
440
+ - Read DESIGN.md.
441
+ - Read docs/reference/repository-guidance.md.
442
+ - Read docs/research/agent-context-sources.md.
443
+ - Read docs/legal-feedback-architecture.md.
444
+ - Read docs/reference/prototype-agent-prompt-legal-fidelity.md.
445
+ - Read docs/reference/word-review-editor-ux-guide.md.
446
+ - Read docs/plans/waves/wave-8.md.
447
+ - Read the relevant editor and harness UI files, including the current `/demo`
448
+ prototype route and fixtures.
449
+
450
+ Specific expectations:
451
+ - verify keyboard flow across toolbar, document surface, sidebar, and harness controls
452
+ - verify focus-visible, contrast, non-color revision cues, and reduced-motion behavior
453
+ - record raw token or layout drift as blocking unless explicitly justified
454
+ - review the current prototype as the future-shell reference and call out any
455
+ material drift between the embedded runtime path and the prototype's intended
456
+ trust, table, or curated-typography posture
457
+ - do not treat prototype-only table or font ideas as active support claims in
458
+ Wave 8 closure
459
+
460
+ File ownership (only touch these paths):
461
+ - docs/plans/waves/reviews/wave-8-accessibility-and-design.md
462
+ - .tmp/wave-8-railway-pilot/
463
+ ```
464
+
465
+ ## Agent A6: Validator Pilot Live Proof
466
+
467
+ ### Executor
468
+
469
+ - profile: proof-owner
470
+ - retry-policy: sticky
471
+
472
+ ### Context7
473
+
474
+ - bundle: railway-harness
475
+ - query: "live-proof capture for Railway staging, deploy freshness, restart checks, service status, and validator smoke tests"
476
+
477
+ ### Skills
478
+
479
+ - role-infra
480
+ - role-deploy
481
+ - provider-railway
482
+
483
+ ### Components
484
+
485
+ - openxml-sdk-validator-service
486
+ - railway-test-harness
487
+
488
+ ### Exit contract
489
+
490
+ - completion: live
491
+ - durability: durable
492
+ - proof: live
493
+ - doc-impact: owned
494
+
495
+ ### Deliverables
496
+
497
+ - docs/plans/waves/reviews/wave-8-live-proof.md
498
+
499
+ ### Proof artifacts
500
+
501
+ - path: .tmp/wave-8-railway-pilot/validator-status-before-restart.json | kind: live-status | required-for: pilot-live
502
+ - path: .tmp/wave-8-railway-pilot/validator-status-after-restart.json | kind: restart-check | required-for: pilot-live
503
+ - path: .tmp/wave-8-railway-pilot/harness-status.json | kind: live-status | required-for: pilot-live
504
+ - path: .tmp/wave-8-railway-pilot/harness-health.json | kind: live-status | required-for: pilot-live
505
+ - path: .tmp/wave-8-railway-pilot/validation-smoke.json | kind: validation-report | required-for: pilot-live
506
+ - path: .tmp/wave-8-railway-pilot/review-save-validate-proof.md | kind: proof-note | required-for: baseline-proved
507
+ - path: .tmp/wave-8-railway-pilot/review-save-validate-export.docx | kind: export-artifact | required-for: baseline-proved
508
+ - path: .tmp/wave-8-railway-pilot/review-save-validate-validation.json | kind: validation-report | required-for: baseline-proved
509
+ - path: .tmp/wave-8-railway-pilot/deploy-manifest.json | kind: manifest | required-for: pilot-live
510
+ - path: .tmp/wave-8-railway-pilot/artifact-retention-check.json | kind: manifest | required-for: baseline-proved
511
+
512
+ ### Prompt
513
+
514
+ ```text
515
+ Primary goal:
516
+ - Capture the live proof bundle for the Railway validator pilot and harness baseline with explicit freshness, restart, and retention evidence.
517
+
518
+ Required context before coding:
519
+ - Read docs/reference/repository-guidance.md.
520
+ - Read docs/research/agent-context-sources.md.
521
+ - Read docs/reference/live-proof-waves.md.
522
+ - Read docs/plans/operations/wave-8-railway-staging.md.
523
+
524
+ Operator command sequence:
525
+ - cd services/openxml-validator && railway up -s openxml-validator -e staging
526
+ - cd services/react-word-editor && railway up -s react-word-editor -e staging
527
+ - railway service status -s openxml-validator -e staging --json > .tmp/wave-8-railway-pilot/validator-status-before-restart.json
528
+ - railway redeploy -s openxml-validator -e staging
529
+ - railway service status -s openxml-validator -e staging --json > .tmp/wave-8-railway-pilot/validator-status-after-restart.json
530
+ - railway service status -s react-word-editor -e staging --json > .tmp/wave-8-railway-pilot/harness-status.json
531
+ - curl -fsS "$HARNESS_PUBLIC_URL/api/health" > .tmp/wave-8-railway-pilot/harness-health.json
532
+ - curl -fsS -F "file=@test/fixtures/docx/F01-basic-contract.docx" "$HARNESS_PUBLIC_URL/api/validate" > .tmp/wave-8-railway-pilot/validation-smoke.json
533
+
534
+ Specific expectations:
535
+ - closure only counts when the declared proof artifacts exist locally and reflect the current deploy
536
+ - capture one explicit live harness proof using a real `.docx`: load the source package, add a new comment, perform a bounded review or redline-capable edit, export the edited package, and validate that exact exported package through the declared validator path
537
+ - the proof note must identify the source fixture, session identifier or run identifier, the concrete review steps taken, the saved export artifact, and the matching validation JSON for that same export
538
+ - if service names differ from the defaults, update the runbook and proof manifest explicitly
539
+ - record storage-retention and artifact-manifest assumptions instead of leaving them implicit
540
+
541
+ File ownership (only touch these paths):
542
+ - docs/plans/waves/reviews/wave-8-live-proof.md
543
+ - .tmp/wave-8-railway-pilot/
544
+ ```
545
+
546
+ ## Agent A7: Upload And Internal-Network Security Review
547
+
548
+ ### Role prompts
549
+
550
+ - docs/agents/wave-security-role.md
551
+
552
+ ### Executor
553
+
554
+ - profile: deep-review
555
+
556
+ ### Context7
557
+
558
+ - bundle: railway-harness
559
+ - query: "internal-only service posture, file upload handling, retention boundaries, and private-network trust assumptions for Railway apps"
560
+
561
+ ### Skills
562
+
563
+ - role-security
564
+ - provider-railway
565
+
566
+ ### Exit contract
567
+
568
+ - completion: integrated
569
+ - durability: durable
570
+ - proof: integration
571
+ - doc-impact: owned
572
+
573
+ ### Deliverables
574
+
575
+ - docs/plans/waves/reviews/wave-8-security.md
576
+
577
+ ### Prompt
578
+
579
+ ```text
580
+ Primary goal:
581
+ - Review the upload, storage, retention, and private-network assumptions before the validator pilot is allowed to close.
582
+
583
+ Required context before coding:
584
+ - Read docs/reference/repository-guidance.md.
585
+ - Read docs/research/agent-context-sources.md.
586
+ - Read docs/reference/live-proof-waves.md.
587
+ - Read services/react-word-editor/README.md and services/openxml-validator/README.md.
588
+
589
+ Specific expectations:
590
+ - call out missing size limits, file-type validation, retention gaps, or accidental public exposure
591
+ - call out any browser path that can reach the private validator hostname directly
592
+ - call out any mismatch between documented internal-only posture and the actual staging surface
593
+
594
+ File ownership (only touch these paths):
595
+ - docs/plans/waves/reviews/wave-8-security.md
596
+ ```