@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,51 @@
1
+ ---
2
+ name: signal-hygiene
3
+ description: Use for long-running resident or waiting agents that must stay idle until the orchestrator writes a new signal version, then acknowledge that change before acting.
4
+ ---
5
+
6
+ # Signal Hygiene
7
+
8
+ Use this skill only when the agent is intentionally long-running.
9
+
10
+ This is not a generic polling skill for normal one-shot implementation work.
11
+
12
+ ## Core loop
13
+
14
+ - Treat the signal state file as the orchestrator-controlled wakeup surface.
15
+ - Treat the signal ack file as your durable confirmation that you observed a specific signal version.
16
+ - Stay idle while the signal version is unchanged.
17
+ - Act once when the signal version increases and the new signal is actionable.
18
+
19
+ ## Required behavior
20
+
21
+ - Read the signal state path provided in the prompt before deciding whether to keep waiting or resume work.
22
+ - If the signal file is missing, assume the orchestrator has not published a new signal yet and keep waiting.
23
+ - Compare the signal file's `version` to the version already recorded in the signal ack file.
24
+ - When the signal version increases, write the ack file immediately before you act on the change.
25
+ - Write the ack file as JSON with exactly these keys:
26
+ - `agentId`
27
+ - `version`
28
+ - `signal`
29
+ - `observedAt`
30
+ - After acknowledging the new version, re-read the inbox, shared summary, message board, and any explicitly referenced artifacts before taking action.
31
+ - If the signal kind is `completed` or `failed`, stop the waiting loop and finish cleanly.
32
+
33
+ ## Do not do this
34
+
35
+ - Do not busy-loop or emit repeated status chatter while the signal version is unchanged.
36
+ - Do not keep re-processing the same signal version.
37
+ - Do not invent your own wakeup surface when the orchestrator already provided signal and ack paths.
38
+ - Do not stay resident forever once the signal clearly becomes terminal.
39
+
40
+ ## Actionability rule
41
+
42
+ Treat these signal kinds as actionable by default:
43
+
44
+ - `feedback-requested`
45
+ - `feedback-answered`
46
+ - `coordination-action`
47
+ - `resume-ready`
48
+ - `completed`
49
+ - `failed`
50
+
51
+ Treat `waiting` and `stable` as non-actionable until the version changes again.
@@ -0,0 +1,20 @@
1
+ {
2
+ "id": "signal-hygiene",
3
+ "title": "Long-Running Signal Hygiene",
4
+ "description": "Use for long-running resident or waiting agents that must stay idle until the orchestrator writes a new signal version, then acknowledge that change before acting.",
5
+ "activation": {
6
+ "when": "Attach explicitly when an agent is expected to stay resident, wait for human feedback or coordination changes, and react only when the orchestrator updates the signal state file.",
7
+ "roles": [],
8
+ "runtimes": [],
9
+ "deployKinds": []
10
+ },
11
+ "termination": "Stop when the signal reaches a terminal state or the agent is no longer expected to stay resident and wait for follow-up work.",
12
+ "permissions": {
13
+ "network": [],
14
+ "shell": [],
15
+ "mcpServers": []
16
+ },
17
+ "trust": {
18
+ "tier": "repo-owned"
19
+ }
20
+ }
@@ -0,0 +1,77 @@
1
+ ---
2
+ name: tui-design
3
+ description: Reviews terminal UI and operator-surface design against world-class TUI principles for focus, trust, navigation, information architecture, and recovery. Use when designing or reviewing TUIs, operator shells, dashboards, keyboard flows, or live terminal UX.
4
+ ---
5
+
6
+ # TUI Design
7
+
8
+ Use this skill when the work involves terminal UX, operator shells, dashboards, or live operator-facing review.
9
+
10
+ ## Core stance
11
+
12
+ - Treat the TUI as an operating instrument, not a styled CLI.
13
+ - Optimize for observe, decide, act, verify loops rather than one-shot command execution.
14
+ - Keep the surface keyboard-first, focus-driven, interruptible, and operationally honest.
15
+ - Prefer stable information architecture over visual cleverness.
16
+ - Treat trust, recovery, and state visibility as first-class UX requirements.
17
+
18
+ ## Review priorities
19
+
20
+ When reviewing or designing a TUI, check these in order:
21
+
22
+ 1. **Operational honesty**
23
+ - Can the operator tell what is live, stale, partial, pending, failed, or only requested?
24
+ - Does the UI ever imply success before backend confirmation?
25
+
26
+ 2. **Focus and keyboard flow**
27
+ - Is the focused pane or widget always obvious?
28
+ - Are navigation, action, command-entry, and escape keys separated cleanly?
29
+ - Is there always a safe back, cancel, help, and quit path?
30
+
31
+ 3. **Information architecture**
32
+ - Are scope, identity, freshness, and top-level health always visible?
33
+ - Does the default view answer what changed, what is broken, and what needs action?
34
+ - Is detail one step away instead of dumped everywhere at once?
35
+
36
+ 4. **Streaming and live-state behavior**
37
+ - Do updates preserve selection and focus?
38
+ - Can users pause or freeze moving views when they need to read?
39
+ - Are lag, dropped updates, or replay versus live mode visible?
40
+
41
+ 5. **Recovery and trust**
42
+ - Are retries, resume paths, and error next steps explicit?
43
+ - Are destructive or high-risk actions confirmed and auditable?
44
+
45
+ ## Design rules
46
+
47
+ - Keep layouts stable. Avoid reflow and selection jumps during streaming updates.
48
+ - Use color semantically, never decoratively or as the only signal.
49
+ - Prefer compact summaries with drill-down over dense unreadable dashboards.
50
+ - Use explicit action-state ladders such as requested, accepted, running, applied, failed.
51
+ - Make filters, scopes, and auth context visible at all times.
52
+ - Support narrow-terminal degradation gracefully instead of forcing broken split panes.
53
+ - Avoid ambiguous-width glyphs or emoji for alignment-critical UI.
54
+
55
+ ## Output guidance
56
+
57
+ For design review, prefer findings shaped like:
58
+
59
+ - exact surface
60
+ - exact failure mode
61
+ - operator impact
62
+ - blocking or advisory status
63
+ - concrete fix direction
64
+
65
+ For design proposals, prefer:
66
+
67
+ - interaction model
68
+ - layout model
69
+ - keyboard model
70
+ - trust and recovery model
71
+ - drill-down model
72
+
73
+ ## Reference
74
+
75
+ For the full TUI design guidance distilled for this repo, read:
76
+
77
+ - [references/tui-design.md](./references/tui-design.md)
@@ -0,0 +1,259 @@
1
+ # TUI Design Reference
2
+
3
+ This reference distills reusable design guidance for Wave's terminal UX and operator-review work.
4
+
5
+ ## What a TUI is for
6
+
7
+ A TUI is for live operation of a changing system:
8
+
9
+ - observe
10
+ - decide
11
+ - act
12
+ - verify
13
+ - repeat
14
+
15
+ That means the UX must prioritize:
16
+
17
+ - stable state visibility
18
+ - continuous feedback
19
+ - keyboard throughput
20
+ - interruptibility
21
+ - recovery
22
+
23
+ It should not behave like:
24
+
25
+ - a one-shot CLI with colors
26
+ - a browser dashboard squeezed into a terminal
27
+
28
+ ## Core operating principles
29
+
30
+ ### Operational honesty
31
+
32
+ The TUI must make these obvious:
33
+
34
+ - what it knows
35
+ - how fresh that knowledge is
36
+ - what it is currently doing
37
+ - what is only requested versus confirmed
38
+ - what is partial, stale, blocked, or degraded
39
+
40
+ Never imply:
41
+
42
+ - "done" when the backend only accepted a request
43
+ - "live" when the data is cached or lagged
44
+ - "success" when verification has not happened
45
+
46
+ ### Keyboard-first interaction
47
+
48
+ Good TUIs separate input into four lanes:
49
+
50
+ 1. navigation
51
+ 2. actions
52
+ 3. command entry
53
+ 4. escapes and cancellation
54
+
55
+ Required behaviors:
56
+
57
+ - visible focus
58
+ - predictable pane switching
59
+ - context-sensitive help
60
+ - cancel and back semantics that always work
61
+
62
+ ### Stable information architecture
63
+
64
+ The screen should answer:
65
+
66
+ - where am I operating?
67
+ - what changed?
68
+ - what is wrong?
69
+ - what needs action now?
70
+
71
+ Use three state layers:
72
+
73
+ - global: scope, identity, connectivity, freshness
74
+ - session: filters, selected object, follow mode
75
+ - local: pane scroll, cursor, input buffer
76
+
77
+ ### Progressive disclosure
78
+
79
+ Default views should summarize:
80
+
81
+ - what's broken
82
+ - what changed
83
+ - what is actionable
84
+
85
+ Details should be one step away:
86
+
87
+ - inspect
88
+ - drill down
89
+ - open logs
90
+ - open proof
91
+ - open events
92
+
93
+ ### Recovery-first UX
94
+
95
+ Every serious TUI needs:
96
+
97
+ - retry
98
+ - resume
99
+ - replay or event history
100
+ - clear next-step messaging on failure
101
+
102
+ Errors should distinguish:
103
+
104
+ - what failed
105
+ - what scope it affected
106
+ - whether the system is safe
107
+ - what the operator can do next
108
+
109
+ ## Focus and navigation heuristics
110
+
111
+ ### Good focus rules
112
+
113
+ - the active pane is visually obvious
114
+ - the selected row is visually obvious
115
+ - streaming updates never steal focus
116
+ - selection stays pinned unless the operator changes it
117
+
118
+ ### Good navigation rules
119
+
120
+ - tab and shift-tab always get the user unstuck
121
+ - direct hotkeys may exist, but there is always a universal path
122
+ - search and filter are first-class
123
+ - command palette or command bar is ideal for power actions
124
+
125
+ ### Bad signs
126
+
127
+ - mode confusion
128
+ - accidental action keys
129
+ - focus ambiguity
130
+ - selection jumps during refresh
131
+
132
+ ## Visual system guidance
133
+
134
+ ### Use color semantically
135
+
136
+ Recommended semantic roles:
137
+
138
+ - critical
139
+ - warning
140
+ - success
141
+ - info
142
+ - muted
143
+ - focus
144
+ - selection
145
+
146
+ Rules:
147
+
148
+ - never rely on color alone
149
+ - support monochrome or no-color use
150
+ - avoid decorative rainbow dashboards
151
+
152
+ ### Respect terminal constraints
153
+
154
+ Design for:
155
+
156
+ - limited width
157
+ - resizing
158
+ - unicode width issues
159
+ - non-uniform terminal support
160
+
161
+ Implications:
162
+
163
+ - keep glyph choices conservative
164
+ - use ASCII fallbacks where needed
165
+ - degrade gracefully on small terminals
166
+
167
+ ## Live-system feedback rules
168
+
169
+ ### Loading and streaming
170
+
171
+ The operator must be able to tell:
172
+
173
+ - loading
174
+ - syncing
175
+ - replaying
176
+ - paused
177
+ - lagging
178
+ - dropping updates
179
+
180
+ If the system is slow:
181
+
182
+ - say what is happening
183
+ - show progress if possible
184
+ - show completed-so-far if total work is unknown
185
+ - provide interruption
186
+
187
+ ### Success and failure
188
+
189
+ For low-risk actions:
190
+
191
+ - a small confirmation is enough
192
+
193
+ For high-risk or asynchronous actions:
194
+
195
+ - show a receipt
196
+ - show the exact target
197
+ - show request versus applied versus verified state
198
+
199
+ ## Layout patterns that work
200
+
201
+ ### Best default pattern
202
+
203
+ For serious ops TUIs, prefer:
204
+
205
+ - dashboard or navigation pane
206
+ - list or queue pane
207
+ - inspector or detail pane
208
+
209
+ This supports:
210
+
211
+ - fast scanning
212
+ - stable orientation
213
+ - low-friction drill-down
214
+
215
+ ### Good drill-down flow
216
+
217
+ The path should be predictable:
218
+
219
+ - summary
220
+ - selected entity
221
+ - details
222
+ - logs, proof, events, or raw view
223
+
224
+ ### Narrow terminal fallback
225
+
226
+ When width collapses:
227
+
228
+ - reduce columns
229
+ - stack panels
230
+ - keep the same semantics
231
+ - prefer honest condensed output over broken split panes
232
+
233
+ ## Trust checklist for operator surfaces
234
+
235
+ Before approving a TUI or operator UX, ask:
236
+
237
+ - Is scope always visible?
238
+ - Is freshness always visible?
239
+ - Are action states honest?
240
+ - Are filters and selection visible?
241
+ - Can the user recover from errors?
242
+ - Can the user cancel?
243
+ - Can the user tell replay from live?
244
+ - Can the user tell pending from complete?
245
+ - Can the user audit what happened?
246
+
247
+ ## Anti-patterns
248
+
249
+ Reject designs that:
250
+
251
+ - flicker or constantly reflow
252
+ - hide scope or auth context
253
+ - overload color
254
+ - force memorization without help
255
+ - provide no cancel path
256
+ - show fake success
257
+ - use unstable alignment-critical glyphs
258
+ - stream in ways that steal focus
259
+ - hide blockers behind decorative dashboards
@@ -0,0 +1,36 @@
1
+ {
2
+ "id": "tui-design",
3
+ "title": "TUI Design Review",
4
+ "description": "Reviews terminal UI and operator-surface design against world-class TUI principles for focus, trust, navigation, information architecture, and recovery. Use when designing or reviewing TUIs, operator shells, dashboards, keyboard flows, or live terminal UX.",
5
+ "activation": {
6
+ "when": "Attach when the agent is designing or reviewing a TUI, operator shell, dashboard, keyboard interaction model, live status surface, or terminal-native information architecture.",
7
+ "roles": [
8
+ "design"
9
+ ],
10
+ "runtimes": [],
11
+ "deployKinds": []
12
+ },
13
+ "termination": "Stop when the design work clearly states whether the TUI is operationally honest, keyboard-first, focus-safe, and aligned with the repo's terminal UX expectations.",
14
+ "permissions": {
15
+ "network": [],
16
+ "shell": [],
17
+ "mcpServers": []
18
+ },
19
+ "trust": {
20
+ "tier": "repo-owned"
21
+ },
22
+ "evalCases": [
23
+ {
24
+ "id": "tui-design-review",
25
+ "role": "design",
26
+ "runtime": "codex",
27
+ "expectActive": true
28
+ },
29
+ {
30
+ "id": "implementation-review",
31
+ "role": "implementation",
32
+ "runtime": "codex",
33
+ "expectActive": false
34
+ }
35
+ ]
36
+ }
@@ -0,0 +1,141 @@
1
+ # Wave Core
2
+
3
+ <!-- CUSTOMIZE: Add project-specific coordination channels, artifact locations, or naming conventions below. -->
4
+
5
+ ## Core Rules
6
+
7
+ - Re-read the compiled shared summary, inbox, and board projection before major decisions and before final output.
8
+ - Treat those summaries and projections as convenience views over canonical state, not as the only closure authority.
9
+ - Treat file ownership, exit contracts, and structured markers as hard requirements.
10
+ - Post coordination records for meaningful progress, blockers, decisions, and handoffs.
11
+ - Make gaps explicit with exact files, exact fields, and exact follow-up owners.
12
+ - Do not infer closure from intent alone. Closure requires proof artifacts and consistent shared state.
13
+ - Silence is not evidence. If a deliverable is not mentioned in landed artifacts, it is not done.
14
+ - When two sources conflict, prefer the one backed by landed code or durable proof over the one backed by prose.
15
+
16
+ ## Coordination Protocol
17
+
18
+ 1. Read the shared summary and your inbox at the start of every major step. Summaries and inboxes may refresh during execution, so re-read before major decisions.
19
+ 2. Post a coordination record when any of these occur:
20
+ - meaningful progress on an exit contract deliverable
21
+ - a blocker is discovered or resolved
22
+ - a decision changes scope, ownership, or interface
23
+ - a handoff to another agent is needed
24
+ - a helper assignment is opened or resolved
25
+ - a clarification is routed or answered
26
+ 3. Each coordination record must include: agent id, timestamp context, topic, and actionable detail.
27
+ 4. Do not batch coordination. Post records as events occur so downstream agents see them promptly.
28
+ 5. When a record references another agent, name that agent explicitly.
29
+ 6. Coordination records are append-only. Do not edit or delete previous records; post corrections as new records.
30
+ 7. When you receive an inbox message that requires action, acknowledge it with a coordination record before proceeding. Unacknowledged requests become overdue and may be rerouted.
31
+
32
+ ## Coordination State
33
+
34
+ The canonical authority set for a wave is:
35
+
36
+ - wave definitions under `docs/plans/waves/`
37
+ - the coordination JSONL log under `.tmp/<lane>-wave-launcher/coordination/`
38
+ - the control-plane event log under `.tmp/<lane>-wave-launcher/control-plane/`
39
+ - immutable attempt-scoped result artifacts under `.tmp/<lane>-wave-launcher/results/`
40
+
41
+ The markdown board, shared summary, inboxes, ledgers, proof registries, retry overrides, and dashboards are projections over that state.
42
+
43
+ Operator tasks, rerun requests, proof bundles, attempt lifecycle, contradictions, facts, and human-input workflow state are tracked in the control-plane event log. Proof registries and retry overrides under `proof/` and `control/` are projections from this log.
44
+
45
+ Operators interact through `wave control`:
46
+ - `wave control status` — why the wave is blocked or retrying.
47
+ - `wave control task` — create, list, and act on coordination tasks.
48
+ - `wave control rerun` — targeted retry intent.
49
+ - `wave control proof` — authoritative proof bundle lifecycle.
50
+
51
+ Legacy `wave coord`, `wave retry`, and `wave proof` remain available as compatibility surfaces.
52
+
53
+ ## Ownership & Boundaries
54
+
55
+ - Only modify files you own. File ownership is declared in the wave definition under each agent.
56
+ - If you need a change in a file you do not own, open a follow-up request naming the owning agent, the exact file, and the exact change needed.
57
+ - Shared-plan docs (current-state.md, component matrix, roadmap) are owned by the documentation steward, not implementation agents.
58
+ - Implementation-specific docs (inline comments, subsystem READMEs) stay with the implementation owner.
59
+ - When ownership is ambiguous, post a coordination record requesting clarification before editing.
60
+ - Helper assignments create temporary cross-boundary access. They remain blocking until the linked follow-up resolves.
61
+ - Cross-lane dependencies require explicit dependency tickets. Do not assume another lane's state without a resolved ticket.
62
+
63
+ ## Proof Requirements
64
+
65
+ - Every exit contract deliverable must have a corresponding proof artifact: a passing test, a generated file, a durable summary, or an explicit structured marker.
66
+ - Generic claims ("tests pass", "works correctly") are not proof. Name the exact test file, command, or artifact.
67
+ - Component promotions require evidence that the component actually reached the declared level, not just that adjacent code landed.
68
+ - Runtime-facing proof must be real evidence (logs, health checks, build output), not future-work notes.
69
+ - Proof must be durable. Transient output (terminal scrollback, ephemeral logs) is not proof unless captured into a file.
70
+ - When proof cannot be produced within the wave, record the gap explicitly with the reason and the follow-up owner.
71
+ - When the wave declares `### Proof artifacts`, those machine-visible local artifacts are required for closure in addition to deliverables and structured markers.
72
+ - Operators may register authoritative proof bundles via `wave control proof register`. Registered proof has lifecycle state: `active`, `superseded`, or `revoked`. Only active bundles satisfy closure. Do not rely on proof that has been revoked or superseded.
73
+
74
+ ## Closure Checklist
75
+
76
+ A wave is closable only when all nine conditions are satisfied:
77
+
78
+ 1. **Exit contracts pass** -- every agent's declared exit contract deliverables are present and backed by proof artifacts.
79
+ 2. **Deliverables exist within ownership** -- each deliverable lives in files owned by the agent that produced it.
80
+ 3. **Component proof/promotions pass** -- promoted components reached their declared target level with evidence.
81
+ 4. **Helper assignments resolved** -- every helper assignment posted during the wave has a linked resolution.
82
+ 5. **Dependency tickets resolved** -- all inbound cross-lane dependency tickets are resolved or explicitly deferred.
83
+ 6. **Clarification follow-ups resolved** -- every routed clarification chain has a linked follow-up that is closed.
84
+ 7. **cont-EVAL satisfies targets** -- if the wave includes cont-EVAL, the eval marker shows `satisfied` with matching target and benchmark ids.
85
+ 8. **Integration recommends closure** -- the integration result is `ready-for-doc-closure` and is not contradicted by later evidence.
86
+ 9. **Documentation and cont-QA pass** -- documentation closure is `closed` or `no-change`, and the cont-QA verdict is `PASS` with a matching gate result.
87
+
88
+ If any condition is not met, the wave remains open. Do not approximate closure.
89
+
90
+ Closure runs in staged order:
91
+ 1. Implementation and proof (all implementation agents).
92
+ 2. Optional security review -- must report `clear` or `concerns` before integration.
93
+ 3. cont-EVAL (if present) -- must report `satisfied` before integration runs.
94
+ 4. Integration -- must report `ready-for-doc-closure` before documentation and cont-QA run.
95
+ 5. Documentation -- must report `closed` or `no-change`.
96
+ 6. cont-QA -- final verdict. Only PASS allows the wave to close.
97
+
98
+ Do not skip stages. Each stage depends on the prior stage completing.
99
+
100
+ An active rerun request blocks closure until consumed. If the operator has filed a rerun via `wave control rerun request`, the retry engine applies it on the next retry and clears it afterward.
101
+
102
+ ## Structured Markers Reference
103
+
104
+ Emit markers exactly as shown. Parsers depend on the format.
105
+
106
+ | Marker | Format |
107
+ |---|---|
108
+ | `[wave-gate]` | `[wave-gate] architecture=<pass\|concerns\|blocked> integration=<pass\|concerns\|blocked> durability=<pass\|concerns\|blocked> live=<pass\|concerns\|blocked> docs=<pass\|concerns\|blocked> detail=<text>` |
109
+ | `[wave-eval]` | `[wave-eval] state=<satisfied\|needs-more-work\|blocked> targets=<n> benchmarks=<n> regressions=<n> target_ids=<csv> benchmark_ids=<csv> detail=<text>` |
110
+ | `[wave-integration]` | `[wave-integration] state=<ready-for-doc-closure\|needs-more-work> claims=<n> conflicts=<n> blockers=<n> detail=<text>` |
111
+ | `[wave-doc-closure]` | `[wave-doc-closure] state=<closed\|no-change\|delta> paths=<comma-separated-paths> detail=<text>` |
112
+ | `[infra-status]` | `[infra-status] kind=<conformance\|role-drift\|dependency\|identity\|admission\|action> target=<surface> state=<checking\|setup-required\|setup-in-progress\|conformant\|drift\|blocked\|failed\|action-required\|action-approved\|action-complete> detail=<text>` |
113
+ | `[deploy-status]` | `[deploy-status] state=<deploying\|healthy\|failed\|rolled-back> service=<name> detail=<text>` |
114
+
115
+ - Every marker must appear on a single line.
116
+ - The `detail` field is free text but should be concise (under 120 characters).
117
+ - Only the role that owns the marker type should emit it. Do not emit markers for other roles.
118
+
119
+ Marker ownership:
120
+
121
+ | Marker | Emitted by |
122
+ |---|---|
123
+ | `[wave-gate]` | cont-QA role |
124
+ | `[wave-eval]` | cont-EVAL role |
125
+ | `[wave-integration]` | Integration role |
126
+ | `[wave-doc-closure]` | Documentation role |
127
+ | `[infra-status]` | Infra role |
128
+ | `[deploy-status]` | Deploy role |
129
+
130
+ When you encounter a marker in the coordination log or a role report, treat it as a role-owned closure output and compatibility surface. If it conflicts with landed code, canonical state, or typed result artifacts, escalate the contradiction instead of treating the marker text as unchallengeable authority.
131
+
132
+ <!-- CUSTOMIZE: Add project-specific marker types or extend existing formats here. -->
133
+
134
+ ## Customization
135
+
136
+ <!-- CUSTOMIZE: Override or extend any section above. Common additions:
137
+ - Project-specific coordination record format
138
+ - Additional closure conditions beyond the nine listed
139
+ - Custom marker types for project-specific workflows
140
+ - Ownership rules for monorepo sub-packages
141
+ -->
@@ -0,0 +1,70 @@
1
+ # Structured Marker Syntax Reference
2
+
3
+ This reference documents the exact format for all structured markers used in wave coordination.
4
+
5
+ ## wave-gate (cont-QA closure)
6
+ Emitted by: cont-QA agent (A0)
7
+ Format:
8
+ `[wave-gate] architecture=<pass|concerns|blocked> integration=<pass|concerns|blocked> durability=<pass|concerns|blocked> live=<pass|concerns|blocked> docs=<pass|concerns|blocked> detail=<short-note>`
9
+
10
+ Must be accompanied by a verdict line:
11
+ `Verdict: PASS` or `Verdict: CONCERNS` or `Verdict: BLOCKED`
12
+
13
+ Example:
14
+ `[wave-gate] architecture=pass integration=pass durability=pass live=pass docs=pass detail=all-exit-contracts-met`
15
+ `Verdict: PASS`
16
+
17
+ ## wave-eval (cont-EVAL closure)
18
+ Emitted by: cont-EVAL agent (E0)
19
+ Format:
20
+ `[wave-eval] state=<satisfied|needs-more-work|blocked> targets=<n> benchmarks=<n> regressions=<n> target_ids=<comma-separated-ids> benchmark_ids=<comma-separated-ids> detail=<short-note>`
21
+
22
+ Example:
23
+ `[wave-eval] state=satisfied targets=2 benchmarks=2 regressions=0 target_ids=prompt-quality,response-accuracy benchmark_ids=bench-01,bench-02 detail=all-targets-within-threshold`
24
+
25
+ ## wave-integration (integration closure)
26
+ Emitted by: Integration steward (A8)
27
+ Format:
28
+ `[wave-integration] state=<ready-for-doc-closure|needs-more-work> claims=<n> conflicts=<n> blockers=<n> detail=<short-note>`
29
+
30
+ Example:
31
+ `[wave-integration] state=ready-for-doc-closure claims=0 conflicts=0 blockers=0 detail=all-agents-coherent-no-contradictions`
32
+
33
+ ## wave-doc-closure (documentation closure)
34
+ Emitted by: Documentation steward (A9)
35
+ Format:
36
+ `[wave-doc-closure] state=<closed|no-change|delta> paths=<comma-separated-file-list> detail=<short-note>`
37
+
38
+ Example:
39
+ `[wave-doc-closure] state=closed paths=docs/plans/current-state.md,docs/plans/component-cutover-matrix.md detail=status-and-ownership-updated`
40
+
41
+ ## wave-security (security review)
42
+ Emitted by: Security reviewer
43
+ Format:
44
+ `[wave-security] state=<clear|concerns|blocked> findings=<n> approvals=<n> detail=<short-note>`
45
+
46
+ Example:
47
+ `[wave-security] state=clear findings=0 approvals=0 detail=no-blocking-security-findings`
48
+
49
+ ## infra-status (infrastructure verification)
50
+ Emitted by: Infra agent
51
+ Format:
52
+ `[infra-status] kind=<conformance|role-drift|dependency|identity|admission|action> target=<surface> state=<checking|setup-required|setup-in-progress|conformant|drift|blocked|failed|action-required|action-approved|action-complete> detail=<short-note>`
53
+
54
+ Example:
55
+ `[infra-status] kind=dependency target=node-22 state=conformant detail=node-v22.15.0-confirmed`
56
+
57
+ ## deploy-status (deployment verification)
58
+ Emitted by: Deploy agent
59
+ Format:
60
+ `[deploy-status] state=<deploying|healthy|failed|rolled-back> service=<name> detail=<short-note>`
61
+
62
+ Example:
63
+ `[deploy-status] state=healthy service=api-server detail=health-endpoint-200-latency-under-50ms`
64
+
65
+ ## Rules
66
+ - Markers must appear on a single line, not wrapped across lines.
67
+ - Field values must not contain spaces; use hyphens for compound values.
68
+ - Markers are machine-parsed; do not add extra fields or change field order.
69
+ - Each closure role emits exactly one final marker per wave attempt.
70
+ - Markers in agent output are role-owned compatibility and review surfaces. Live gate evaluation should prefer canonical state and typed result artifacts when they are available.
@@ -0,0 +1,35 @@
1
+ {
2
+ "id": "wave-core",
3
+ "title": "Wave Core",
4
+ "description": "Ensures every agent follows coordination protocol, respects ownership boundaries, produces durable proof, and meets closure requirements before claiming done.",
5
+ "activation": {
6
+ "when": "Attach to every agent to enforce Wave coordination, proof, and closure protocol.",
7
+ "roles": [],
8
+ "runtimes": [],
9
+ "deployKinds": []
10
+ },
11
+ "termination": "Stop when ownership boundaries, proof obligations, and required Wave markers are satisfied or explicitly handed off.",
12
+ "permissions": {
13
+ "network": [],
14
+ "shell": [],
15
+ "mcpServers": []
16
+ },
17
+ "trust": {
18
+ "tier": "repo-owned"
19
+ },
20
+ "evalCases": [
21
+ {
22
+ "id": "implementation-codex",
23
+ "role": "implementation",
24
+ "runtime": "codex",
25
+ "expectActive": true
26
+ },
27
+ {
28
+ "id": "documentation-opencode",
29
+ "role": "documentation",
30
+ "runtime": "opencode",
31
+ "deployKind": "railway-cli",
32
+ "expectActive": true
33
+ }
34
+ ]
35
+ }