@beyondwork/docx-react-component 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (560) hide show
  1. package/README.md +44 -104
  2. package/package.json +66 -15
  3. package/src/api/public-types.ts +1 -1
  4. package/src/compare/diff-engine.ts +530 -0
  5. package/src/compare/export-redlines.ts +162 -0
  6. package/src/compare/snapshot.ts +37 -0
  7. package/src/core/commands/index.ts +1 -1
  8. package/src/core/state/editor-state.ts +2 -2
  9. package/src/index.ts +45 -0
  10. package/src/legal/bookmarks.ts +196 -0
  11. package/src/legal/cross-references.ts +356 -0
  12. package/src/legal/defined-terms.ts +203 -0
  13. package/src/runtime/document-runtime.ts +3 -5
  14. package/src/runtime/table-commands.ts +4 -1
  15. package/src/runtime/table-schema.ts +17 -2
  16. package/src/runtime/virtualized-rendering.ts +258 -0
  17. package/src/ui/WordReviewEditor.tsx +256 -35
  18. package/src/ui-tailwind/editor-surface/tw-editor-surface.tsx +2 -2
  19. package/src/ui-tailwind/editor-surface/tw-table-node-view.tsx +16 -2
  20. package/.codex/config.toml +0 -5
  21. package/.corepack/v1/pnpm/10.30.3/.corepack +0 -1
  22. package/.corepack/v1/pnpm/10.30.3/LICENSE +0 -22
  23. package/.corepack/v1/pnpm/10.30.3/README.md +0 -240
  24. package/.corepack/v1/pnpm/10.30.3/dist/node-gyp-bin/node-gyp +0 -6
  25. package/.corepack/v1/pnpm/10.30.3/dist/node-gyp-bin/node-gyp.cmd +0 -5
  26. package/.corepack/v1/pnpm/10.30.3/dist/pnpm.cjs +0 -195400
  27. package/.corepack/v1/pnpm/10.30.3/dist/pnpmrc +0 -2
  28. package/.corepack/v1/pnpm/10.30.3/dist/reflink.darwin-arm64-2HJ4WGO6.node +0 -0
  29. package/.corepack/v1/pnpm/10.30.3/dist/reflink.darwin-x64-3G3H6IW4.node +0 -0
  30. package/.corepack/v1/pnpm/10.30.3/dist/reflink.win32-arm64-msvc-Q6BARPPB.node +0 -0
  31. package/.corepack/v1/pnpm/10.30.3/dist/reflink.win32-x64-msvc-J2TZHRQI.node +0 -0
  32. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.bash +0 -31
  33. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.fish +0 -22
  34. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.ps1 +0 -193
  35. package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.zsh +0 -27
  36. package/.corepack/v1/pnpm/10.30.3/dist/vendor/fastlist-0.3.0-x64.exe +0 -0
  37. package/.corepack/v1/pnpm/10.30.3/dist/vendor/fastlist-0.3.0-x86.exe +0 -0
  38. package/.corepack/v1/pnpm/10.30.3/dist/worker.js +0 -10119
  39. package/.corepack/v1/pnpm/10.30.3/package.json +0 -192
  40. package/.cursor/mcp.json +0 -7
  41. package/.github/workflows/ci.yml +0 -35
  42. package/.mcp.json +0 -7
  43. package/.openclaw/workspace-state.json +0 -4
  44. package/.pnpmrc.json +0 -1
  45. package/.wave-launch.sh +0 -7
  46. package/.workspace-marker +0 -1
  47. package/AGENTS.md +0 -78
  48. package/CHANGELOG.md +0 -177
  49. package/DESIGN.md +0 -929
  50. package/HEARTBEAT.md +0 -7
  51. package/IDENTITY.md +0 -23
  52. package/SOUL.md +0 -36
  53. package/TOOLS.md +0 -40
  54. package/USER.md +0 -17
  55. package/docs/README.md +0 -107
  56. package/docs/agents/wave-cont-eval-role.md +0 -36
  57. package/docs/agents/wave-cont-qa-role.md +0 -52
  58. package/docs/agents/wave-deploy-verifier-role.md +0 -34
  59. package/docs/agents/wave-design-role.md +0 -47
  60. package/docs/agents/wave-documentation-role.md +0 -34
  61. package/docs/agents/wave-infra-role.md +0 -34
  62. package/docs/agents/wave-integration-role.md +0 -37
  63. package/docs/agents/wave-launcher-role.md +0 -41
  64. package/docs/agents/wave-orchestrator-role.md +0 -52
  65. package/docs/agents/wave-planner-role.md +0 -39
  66. package/docs/agents/wave-security-role.md +0 -40
  67. package/docs/architecture/docx/README.md +0 -10
  68. package/docs/architecture/future/README.md +0 -8
  69. package/docs/architecture/ooxml-upgrade-analysis.md +0 -134
  70. package/docs/architecture/platform/shared-openxml-editor-platform.md +0 -153
  71. package/docs/architecture/xlsx/canonical-workbook-model-and-commands.md +0 -187
  72. package/docs/architecture/xlsx/spreadsheet-editor-frontend-architecture.md +0 -150
  73. package/docs/comment-redline-overview.md +0 -350
  74. package/docs/concepts/context7-vs-skills.md +0 -118
  75. package/docs/concepts/operating-modes.md +0 -91
  76. package/docs/concepts/runtime-agnostic-orchestration.md +0 -111
  77. package/docs/concepts/what-is-a-wave.md +0 -217
  78. package/docs/context7/bundles.json +0 -222
  79. package/docs/context7/planner-agent/README.md +0 -28
  80. package/docs/context7/planner-agent/manifest.json +0 -83
  81. package/docs/context7/planner-agent/papers/cooperbench-why-coding-agents-cannot-be-your-teammates-yet.md +0 -3283
  82. package/docs/context7/planner-agent/papers/dova-deliberation-first-multi-agent-orchestration-for-autonomous-research-automation.md +0 -1699
  83. package/docs/context7/planner-agent/papers/dpbench-large-language-models-struggle-with-simultaneous-coordination.md +0 -2251
  84. package/docs/context7/planner-agent/papers/incremental-planning-to-control-a-blackboard-based-problem-solver.md +0 -1729
  85. package/docs/context7/planner-agent/papers/silo-bench-a-scalable-environment-for-evaluating-distributed-coordination-in-multi-agent-llm-systems.md +0 -3747
  86. package/docs/context7/planner-agent/papers/todoevolve-learning-to-architect-agent-planning-systems.md +0 -1675
  87. package/docs/context7/planner-agent/papers/verified-multi-agent-orchestration-a-plan-execute-verify-replan-framework-for-complex-query-resolution.md +0 -1173
  88. package/docs/context7/planner-agent/papers/why-do-multi-agent-llm-systems-fail.md +0 -5211
  89. package/docs/context7/planner-agent/topics/planning-and-orchestration.md +0 -24
  90. package/docs/evals/arm-templates/README.md +0 -13
  91. package/docs/evals/arm-templates/full-wave.json +0 -15
  92. package/docs/evals/arm-templates/single-agent.json +0 -15
  93. package/docs/evals/benchmark-catalog.json +0 -670
  94. package/docs/evals/cases/README.md +0 -47
  95. package/docs/evals/cases/wave-blackboard-inbox-targeting.json +0 -73
  96. package/docs/evals/cases/wave-contradiction-conflict.json +0 -104
  97. package/docs/evals/cases/wave-expert-routing-preservation.json +0 -69
  98. package/docs/evals/cases/wave-hidden-profile-private-evidence.json +0 -81
  99. package/docs/evals/cases/wave-premature-closure-guard.json +0 -71
  100. package/docs/evals/cases/wave-silo-cross-agent-state.json +0 -77
  101. package/docs/evals/cases/wave-simultaneous-lockstep.json +0 -92
  102. package/docs/evals/external-benchmarks.json +0 -85
  103. package/docs/evals/external-command-config.sample.json +0 -9
  104. package/docs/evals/external-command-config.swe-bench-pro.json +0 -8
  105. package/docs/evals/pilots/README.md +0 -47
  106. package/docs/evals/pilots/swe-bench-pro-public-full-wave-review-10.json +0 -64
  107. package/docs/evals/pilots/swe-bench-pro-public-pilot.json +0 -111
  108. package/docs/evals/wave-benchmark-program.md +0 -302
  109. package/docs/guides/planner.md +0 -220
  110. package/docs/guides/recommendations-0.8.9.md +0 -133
  111. package/docs/guides/signal-wrappers.md +0 -165
  112. package/docs/guides/terminal-surfaces.md +0 -96
  113. package/docs/image copy.png +0 -0
  114. package/docs/image.png +0 -0
  115. package/docs/images/image.png +0 -0
  116. package/docs/legal-feedback-architecture.md +0 -498
  117. package/docs/plans/component-cutover-matrix.json +0 -1072
  118. package/docs/plans/component-cutover-matrix.md +0 -307
  119. package/docs/plans/context7-wave-orchestrator.md +0 -155
  120. package/docs/plans/current-state.md +0 -198
  121. package/docs/plans/docx/README.md +0 -9
  122. package/docs/plans/examples/wave-benchmark-improvement.md +0 -108
  123. package/docs/plans/examples/wave-example-live-proof.md +0 -435
  124. package/docs/plans/master-plan.md +0 -224
  125. package/docs/plans/migration.md +0 -538
  126. package/docs/plans/operations/README.md +0 -7
  127. package/docs/plans/operations/wave-10-word-certification.md +0 -87
  128. package/docs/plans/operations/wave-8-railway-staging.md +0 -153
  129. package/docs/plans/operations/wave-9-manual-certification.md +0 -73
  130. package/docs/plans/platform/README.md +0 -9
  131. package/docs/plans/reference/legal-checklist-coverage.md +0 -258
  132. package/docs/plans/wave-orchestrator.md +0 -423
  133. package/docs/plans/waves/README.md +0 -75
  134. package/docs/plans/waves/completed/wave-0.md +0 -195
  135. package/docs/plans/waves/completed/wave-1.md +0 -379
  136. package/docs/plans/waves/completed/wave-10.md +0 -670
  137. package/docs/plans/waves/completed/wave-11.md +0 -335
  138. package/docs/plans/waves/completed/wave-12.md +0 -417
  139. package/docs/plans/waves/completed/wave-13.md +0 -316
  140. package/docs/plans/waves/completed/wave-14.md +0 -319
  141. package/docs/plans/waves/completed/wave-15.md +0 -321
  142. package/docs/plans/waves/completed/wave-16.md +0 -316
  143. package/docs/plans/waves/completed/wave-17.md +0 -331
  144. package/docs/plans/waves/completed/wave-18.md +0 -328
  145. package/docs/plans/waves/completed/wave-2.md +0 -438
  146. package/docs/plans/waves/completed/wave-3.md +0 -435
  147. package/docs/plans/waves/completed/wave-4.md +0 -430
  148. package/docs/plans/waves/completed/wave-5.md +0 -430
  149. package/docs/plans/waves/completed/wave-6.md +0 -430
  150. package/docs/plans/waves/completed/wave-7.md +0 -526
  151. package/docs/plans/waves/completed/wave-8.md +0 -596
  152. package/docs/plans/waves/completed/wave-9.md +0 -552
  153. package/docs/plans/waves/deferred/README.md +0 -14
  154. package/docs/plans/waves/deferred/encrypted-intake-contracts.md +0 -282
  155. package/docs/plans/waves/deferred/legal-feedback-wave-expansion.md +0 -308
  156. package/docs/plans/waves/deferred/wave-encrypted-intake.md +0 -451
  157. package/docs/plans/waves/design/README.md +0 -5
  158. package/docs/plans/waves/design/wave-1-a1.md +0 -309
  159. package/docs/plans/waves/reviews/README.md +0 -5
  160. package/docs/plans/waves/reviews/wave-0-cont-qa.md +0 -151
  161. package/docs/plans/waves/reviews/wave-1-cont-qa.md +0 -46
  162. package/docs/plans/waves/reviews/wave-10-accessibility-and-design.md +0 -51
  163. package/docs/plans/waves/reviews/wave-10-cont-qa.md +0 -24
  164. package/docs/plans/waves/reviews/wave-10-dashboard-proof.md +0 -46
  165. package/docs/plans/waves/reviews/wave-10-performance-signoff.md +0 -55
  166. package/docs/plans/waves/reviews/wave-10-regression-proof.md +0 -23
  167. package/docs/plans/waves/reviews/wave-10-release-audit.md +0 -31
  168. package/docs/plans/waves/reviews/wave-10-service-proof.md +0 -83
  169. package/docs/plans/waves/reviews/wave-10-word-certification.md +0 -31
  170. package/docs/plans/waves/reviews/wave-18-ai-contract-closure.md +0 -277
  171. package/docs/plans/waves/reviews/wave-18-cont-qa.md +0 -255
  172. package/docs/plans/waves/reviews/wave-18-parity-proof.md +0 -271
  173. package/docs/plans/waves/reviews/wave-19-cont-qa.md +0 -59
  174. package/docs/plans/waves/reviews/wave-2-cont-qa.md +0 -72
  175. package/docs/plans/waves/reviews/wave-20-cont-qa.md +0 -60
  176. package/docs/plans/waves/reviews/wave-25-cont-qa.md +0 -48
  177. package/docs/plans/waves/reviews/wave-28-cont-qa.md +0 -46
  178. package/docs/plans/waves/reviews/wave-29-cont-qa.md +0 -53
  179. package/docs/plans/waves/reviews/wave-3-cont-qa.md +0 -53
  180. package/docs/plans/waves/reviews/wave-3-core-proof.md +0 -77
  181. package/docs/plans/waves/reviews/wave-3-validator-proof.md +0 -73
  182. package/docs/plans/waves/reviews/wave-32-cont-qa.md +0 -43
  183. package/docs/plans/waves/reviews/wave-33-cont-qa.md +0 -526
  184. package/docs/plans/waves/reviews/wave-34-cont-qa.md +0 -100
  185. package/docs/plans/waves/reviews/wave-35-cont-qa.md +0 -145
  186. package/docs/plans/waves/reviews/wave-4-cont-qa.md +0 -47
  187. package/docs/plans/waves/reviews/wave-4-structure-proof.md +0 -69
  188. package/docs/plans/waves/reviews/wave-5-comment-proof.md +0 -158
  189. package/docs/plans/waves/reviews/wave-5-cont-qa.md +0 -68
  190. package/docs/plans/waves/reviews/wave-6-cont-qa.md +0 -416
  191. package/docs/plans/waves/reviews/wave-6-redline-proof.md +0 -130
  192. package/docs/plans/waves/reviews/wave-7-cont-qa.md +0 -82
  193. package/docs/plans/waves/reviews/wave-7-ooxml-compliance.md +0 -85
  194. package/docs/plans/waves/reviews/wave-7-preservation-proof.md +0 -119
  195. package/docs/plans/waves/reviews/wave-7-trust-ux.md +0 -87
  196. package/docs/plans/waves/reviews/wave-8-accessibility-and-design.md +0 -128
  197. package/docs/plans/waves/reviews/wave-8-cont-qa.md +0 -92
  198. package/docs/plans/waves/reviews/wave-8-live-proof.md +0 -140
  199. package/docs/plans/waves/reviews/wave-8-security.md +0 -47
  200. package/docs/plans/waves/reviews/wave-9-editor-embedding.md +0 -39
  201. package/docs/plans/waves/reviews/wave-9-fixture-runner.md +0 -56
  202. package/docs/plans/waves/reviews/wave-9-live-proof.md +0 -105
  203. package/docs/plans/waves/reviews/wave-9-usability-and-performance.md +0 -152
  204. package/docs/plans/waves/specs/README.md +0 -5
  205. package/docs/plans/waves/specs/wave-1-component-boundaries.md +0 -322
  206. package/docs/plans/waves/specs/wave-1-ooxml-contracts.md +0 -323
  207. package/docs/plans/waves/specs/wave-1-review-and-ui-contracts.md +0 -339
  208. package/docs/plans/waves/specs/wave-1-runtime-contracts.md +0 -509
  209. package/docs/plans/waves/wave-19.md +0 -341
  210. package/docs/plans/waves/wave-20.md +0 -308
  211. package/docs/plans/waves/wave-21.md +0 -289
  212. package/docs/plans/waves/wave-22.md +0 -221
  213. package/docs/plans/waves/wave-23.md +0 -295
  214. package/docs/plans/waves/wave-24.md +0 -286
  215. package/docs/plans/waves/wave-25.md +0 -313
  216. package/docs/plans/waves/wave-26.md +0 -300
  217. package/docs/plans/waves/wave-27.md +0 -299
  218. package/docs/plans/waves/wave-28.md +0 -368
  219. package/docs/plans/waves/wave-29.md +0 -303
  220. package/docs/plans/waves/wave-30.md +0 -307
  221. package/docs/plans/waves/wave-31.md +0 -231
  222. package/docs/plans/waves/wave-32.md +0 -152
  223. package/docs/plans/waves/wave-33.md +0 -147
  224. package/docs/plans/waves/wave-34.md +0 -148
  225. package/docs/plans/waves/wave-35.md +0 -141
  226. package/docs/plans/waves/wave-36.md +0 -146
  227. package/docs/plans/xlsx/README.md +0 -14
  228. package/docs/plans/xlsx/xlsx-fixture-corpus-and-certification-plan.md +0 -126
  229. package/docs/reference/cli-reference.md +0 -600
  230. package/docs/reference/coordination-and-closure.md +0 -487
  231. package/docs/reference/deep-research-report (15).md +0 -25
  232. package/docs/reference/docx/README.md +0 -10
  233. package/docs/reference/legal-checklist.md +0 -445
  234. package/docs/reference/live-proof-waves.md +0 -199
  235. package/docs/reference/ooxml-compliance.md +0 -129
  236. package/docs/reference/ooxml-feature-parity-matrix.md +0 -172
  237. package/docs/reference/platform/shared-ooxml-platform-guidance.md +0 -77
  238. package/docs/reference/prototype-agent-prompt-legal-fidelity.md +0 -155
  239. package/docs/reference/public-api.md +0 -456
  240. package/docs/reference/repository-guidance.md +0 -58
  241. package/docs/reference/runtime-config/README.md +0 -182
  242. package/docs/reference/runtime-config/claude.md +0 -110
  243. package/docs/reference/runtime-config/codex.md +0 -82
  244. package/docs/reference/runtime-config/opencode.md +0 -93
  245. package/docs/reference/sample-waves.md +0 -105
  246. package/docs/reference/skills.md +0 -237
  247. package/docs/reference/templates/AGENTS.md +0 -78
  248. package/docs/reference/templates/HEARTBEAT.md +0 -7
  249. package/docs/reference/templates/IDENTITY.md +0 -23
  250. package/docs/reference/templates/SOUL.md +0 -36
  251. package/docs/reference/templates/TOOLS.md +0 -40
  252. package/docs/reference/templates/USER.md +0 -17
  253. package/docs/reference/wave-control.md +0 -184
  254. package/docs/reference/wave-planning-lessons.md +0 -167
  255. package/docs/reference/word-review-editor-frontend-architecture.md +0 -479
  256. package/docs/reference/word-review-editor-ux-guide.md +0 -253
  257. package/docs/reference/xlsx/xlsx-ooxml-compliance.md +0 -137
  258. package/docs/research/agent-context-sources.md +0 -178
  259. package/docs/research/coordination-failure-review.md +0 -290
  260. package/docs/research/docx-react-component/Canonical Document Schema Specification for a React-based Word-compatible Editor.md +0 -2317
  261. package/docs/research/docx-react-component/Feature Compatibility Matrix for a React Word Compatible Legal Editor v1.md +0 -219
  262. package/docs/research/docx-react-component/React Component Architecture and Front-End Structure Specification for a Word-Compatible Legal Review Editor.md +0 -1112
  263. package/docs/research/docx-react-component/document_compatibility_and_testing_spec.md +0 -751
  264. package/docs/research/xlsx/raw/README.md +0 -13
  265. package/docs/roadmap.md +0 -174
  266. package/docs/superpowers/plans/2026-03-28-harness-control-bar.md +0 -677
  267. package/docs/superpowers/specs/2026-03-28-harness-control-bar-design.md +0 -274
  268. package/docs/xlsx-react/README.md +0 -38
  269. package/docs/xlsx-react/agent-llm-interaction-layer-docx-xlsx.md +0 -621
  270. package/docs/xlsx-react/canonical-workbook-model-and-commands.md +0 -948
  271. package/docs/xlsx-react/shared-openxml-editor-platform-docx-xlsx.md +0 -228
  272. package/docs/xlsx-react/spreadsheet-editor-component-architecture.md +0 -809
  273. package/docs/xlsx-react/spreadsheet-editor-frontend-architecture.md +0 -537
  274. package/docs/xlsx-react/spreadsheet-editor-ux-guide.md +0 -520
  275. package/docs/xlsx-react/xlsx-editor-research-pack.md +0 -871
  276. package/docs/xlsx-react/xlsx-fixture-corpus-and-certification-plan.md +0 -436
  277. package/docs/xlsx-react/xlsx-ooxml-compliance.md +0 -320
  278. package/examples/README.md +0 -16
  279. package/memory/MEMORY.md +0 -24
  280. package/pnpm-workspace.yaml +0 -4
  281. package/scripts/check-no-authored-js.sh +0 -13
  282. package/scripts/context7-api-check.sh +0 -65
  283. package/scripts/context7-export-env.sh +0 -42
  284. package/scripts/run-context7-mcp.sh +0 -8
  285. package/scripts/run-workspace-tests.sh +0 -15
  286. package/scripts/start-wave-10-local.sh +0 -189
  287. package/scripts/wave-agent-attach.sh +0 -47
  288. package/scripts/wave-auto-answer.sh +0 -118
  289. package/scripts/wave-dashboard-attach.sh +0 -13
  290. package/scripts/wave-launch.sh +0 -273
  291. package/scripts/wave-overnight-supervisor.sh +0 -145
  292. package/scripts/wave-status.sh +0 -379
  293. package/scripts/wave-watch.sh +0 -231
  294. package/services/README.md +0 -17
  295. package/services/openxml-validator/Dockerfile +0 -29
  296. package/services/openxml-validator/OpenXmlValidator.Api.csproj +0 -12
  297. package/services/openxml-validator/Program.cs +0 -436
  298. package/services/openxml-validator/README.md +0 -152
  299. package/services/openxml-validator/railway.json +0 -16
  300. package/services/react-word-editor/.tmp-a4/src/api/public-types.ts +0 -318
  301. package/services/react-word-editor/.tmp-a4/src/ui/WordReviewEditor.tsx +0 -1302
  302. package/services/react-word-editor/.tmp-a4/src/ui/editor-surface/editor-surface.tsx +0 -546
  303. package/services/react-word-editor/.tmp-a4/test/ui/word-review-editor.test.tsx +0 -146
  304. package/services/react-word-editor/.tmp-a4-build/src/api/public-types.js +0 -2
  305. package/services/react-word-editor/.tmp-a4-build/src/ui/WordReviewEditor.js +0 -818
  306. package/services/react-word-editor/.tmp-a4-build/src/ui/editor-surface/editor-surface.js +0 -229
  307. package/services/react-word-editor/.tmp-a4-build/test/ui/word-review-editor.test.js +0 -121
  308. package/services/react-word-editor/.tmp-wave-4-a3-tsconfig.json +0 -21
  309. package/services/react-word-editor/.tmp-wave-4-a3-tsconfig.tsbuildinfo +0 -1
  310. package/services/react-word-editor/Dockerfile +0 -26
  311. package/services/react-word-editor/README.md +0 -254
  312. package/services/react-word-editor/app/api/certification/route.ts +0 -79
  313. package/services/react-word-editor/app/api/demo-sessions/route.ts +0 -109
  314. package/services/react-word-editor/app/api/deploy-health/route.ts +0 -23
  315. package/services/react-word-editor/app/api/exports/[exportId]/route.ts +0 -34
  316. package/services/react-word-editor/app/api/exports/route.ts +0 -81
  317. package/services/react-word-editor/app/api/fixtures/[fixtureId]/run/route.ts +0 -100
  318. package/services/react-word-editor/app/api/health/route.ts +0 -70
  319. package/services/react-word-editor/app/api/runs/[runId]/route.ts +0 -36
  320. package/services/react-word-editor/app/api/scenarios/[scenarioId]/run/route.ts +0 -85
  321. package/services/react-word-editor/app/api/sessions/[sessionId]/route.ts +0 -199
  322. package/services/react-word-editor/app/api/sessions/[sessionId]/source/route.ts +0 -45
  323. package/services/react-word-editor/app/api/uploads/route.ts +0 -70
  324. package/services/react-word-editor/app/api/validate/route.ts +0 -310
  325. package/services/react-word-editor/app/certification/[runId]/page.tsx +0 -14
  326. package/services/react-word-editor/app/certification/page.tsx +0 -32
  327. package/services/react-word-editor/app/dashboard/page.tsx +0 -7
  328. package/services/react-word-editor/app/demo/page.tsx +0 -30
  329. package/services/react-word-editor/app/demo/prototype-client.tsx +0 -1080
  330. package/services/react-word-editor/app/editor/[sessionId]/page.tsx +0 -33
  331. package/services/react-word-editor/app/fixtures/page.tsx +0 -7
  332. package/services/react-word-editor/app/globals.css +0 -121
  333. package/services/react-word-editor/app/layout.tsx +0 -32
  334. package/services/react-word-editor/app/page.tsx +0 -30
  335. package/services/react-word-editor/app/runs/[runId]/page.tsx +0 -34
  336. package/services/react-word-editor/app/wave-10-word-review/page.tsx +0 -7
  337. package/services/react-word-editor/components/harness-control-bar.tsx +0 -289
  338. package/services/react-word-editor/components/harness-editor-session-client.tsx +0 -1214
  339. package/services/react-word-editor/components/harness-workspace-page.tsx +0 -715
  340. package/services/react-word-editor/components/reduced-motion-toggle.tsx +0 -79
  341. package/services/react-word-editor/components/workspace-certification-panel.tsx +0 -307
  342. package/services/react-word-editor/lib/certification-bundle.ts +0 -796
  343. package/services/react-word-editor/lib/certification-store.ts +0 -661
  344. package/services/react-word-editor/lib/demo-fixtures.test.mjs +0 -195
  345. package/services/react-word-editor/lib/demo-fixtures.ts +0 -1519
  346. package/services/react-word-editor/lib/editor-session-summary.test.mjs +0 -68
  347. package/services/react-word-editor/lib/editor-session-summary.ts +0 -14
  348. package/services/react-word-editor/lib/editor-session.ts +0 -228
  349. package/services/react-word-editor/lib/exports-route.test.mjs +0 -32
  350. package/services/react-word-editor/lib/harness-client.ts +0 -347
  351. package/services/react-word-editor/lib/harness-config.json +0 -30
  352. package/services/react-word-editor/lib/harness-config.test.mjs +0 -31
  353. package/services/react-word-editor/lib/harness-config.ts +0 -21
  354. package/services/react-word-editor/lib/harness-editor-datastore.test.mjs +0 -220
  355. package/services/react-word-editor/lib/harness-editor-datastore.ts +0 -161
  356. package/services/react-word-editor/lib/private-mode.test.mjs +0 -42
  357. package/services/react-word-editor/lib/private-mode.ts +0 -61
  358. package/services/react-word-editor/lib/regression-report.test.mjs +0 -352
  359. package/services/react-word-editor/lib/regression-report.ts +0 -896
  360. package/services/react-word-editor/lib/run-artifacts.ts +0 -934
  361. package/services/react-word-editor/lib/run-history.ts +0 -755
  362. package/services/react-word-editor/lib/scenario-artifacts.test.mjs +0 -41
  363. package/services/react-word-editor/lib/scenario-artifacts.ts +0 -44
  364. package/services/react-word-editor/lib/storage.ts +0 -953
  365. package/services/react-word-editor/lib/validator-client.test.mjs +0 -54
  366. package/services/react-word-editor/lib/validator-client.ts +0 -95
  367. package/services/react-word-editor/lib/workspace-navigation.ts +0 -79
  368. package/services/react-word-editor/middleware.ts +0 -35
  369. package/services/react-word-editor/next-env.d.ts +0 -6
  370. package/services/react-word-editor/next.config.mjs +0 -15
  371. package/services/react-word-editor/package.json +0 -38
  372. package/services/react-word-editor/postcss.config.mjs +0 -8
  373. package/services/react-word-editor/railway.json +0 -21
  374. package/services/react-word-editor/scripts/wave-10-certification.mjs +0 -101
  375. package/services/react-word-editor/scripts/wave-9-live-usability-pilot.mjs +0 -911
  376. package/services/react-word-editor/tsconfig.json +0 -39
  377. package/services/react-word-editor/tsconfig.tsbuildinfo +0 -1
  378. package/skills/README.md +0 -48
  379. package/skills/domain-docx-compatibility/SKILL.md +0 -44
  380. package/skills/domain-docx-compatibility/skill.json +0 -19
  381. package/skills/domain-editor-architecture/SKILL.md +0 -49
  382. package/skills/domain-editor-architecture/skill.json +0 -19
  383. package/skills/domain-legal-review/SKILL.md +0 -39
  384. package/skills/domain-legal-review/skill.json +0 -19
  385. package/skills/provider-aws/SKILL.md +0 -117
  386. package/skills/provider-aws/adapters/claude.md +0 -1
  387. package/skills/provider-aws/adapters/codex.md +0 -1
  388. package/skills/provider-aws/references/service-verification.md +0 -39
  389. package/skills/provider-aws/skill.json +0 -54
  390. package/skills/provider-custom-deploy/SKILL.md +0 -64
  391. package/skills/provider-custom-deploy/skill.json +0 -50
  392. package/skills/provider-docker-compose/SKILL.md +0 -96
  393. package/skills/provider-docker-compose/adapters/local.md +0 -1
  394. package/skills/provider-docker-compose/skill.json +0 -53
  395. package/skills/provider-github-release/SKILL.md +0 -121
  396. package/skills/provider-github-release/adapters/claude.md +0 -1
  397. package/skills/provider-github-release/adapters/codex.md +0 -1
  398. package/skills/provider-github-release/skill.json +0 -55
  399. package/skills/provider-kubernetes/SKILL.md +0 -143
  400. package/skills/provider-kubernetes/adapters/claude.md +0 -1
  401. package/skills/provider-kubernetes/adapters/codex.md +0 -1
  402. package/skills/provider-kubernetes/references/kubectl-patterns.md +0 -58
  403. package/skills/provider-kubernetes/skill.json +0 -52
  404. package/skills/provider-railway/SKILL.md +0 -123
  405. package/skills/provider-railway/adapters/claude.md +0 -1
  406. package/skills/provider-railway/adapters/codex.md +0 -1
  407. package/skills/provider-railway/adapters/local.md +0 -1
  408. package/skills/provider-railway/adapters/opencode.md +0 -1
  409. package/skills/provider-railway/references/verification-commands.md +0 -39
  410. package/skills/provider-railway/skill.json +0 -71
  411. package/skills/provider-ssh-manual/SKILL.md +0 -97
  412. package/skills/provider-ssh-manual/skill.json +0 -54
  413. package/skills/repo-coding-rules/SKILL.md +0 -55
  414. package/skills/repo-coding-rules/skill.json +0 -34
  415. package/skills/role-cont-eval/SKILL.md +0 -91
  416. package/skills/role-cont-eval/adapters/codex.md +0 -1
  417. package/skills/role-cont-eval/skill.json +0 -36
  418. package/skills/role-cont-qa/SKILL.md +0 -100
  419. package/skills/role-cont-qa/adapters/claude.md +0 -1
  420. package/skills/role-cont-qa/skill.json +0 -36
  421. package/skills/role-deploy/SKILL.md +0 -97
  422. package/skills/role-deploy/skill.json +0 -36
  423. package/skills/role-design/SKILL.md +0 -50
  424. package/skills/role-design/skill.json +0 -36
  425. package/skills/role-documentation/SKILL.md +0 -76
  426. package/skills/role-documentation/skill.json +0 -36
  427. package/skills/role-implementation/SKILL.md +0 -45
  428. package/skills/role-implementation/skill.json +0 -36
  429. package/skills/role-infra/SKILL.md +0 -81
  430. package/skills/role-infra/skill.json +0 -36
  431. package/skills/role-integration/SKILL.md +0 -91
  432. package/skills/role-integration/skill.json +0 -36
  433. package/skills/role-planner/SKILL.md +0 -39
  434. package/skills/role-planner/skill.json +0 -21
  435. package/skills/role-research/SKILL.md +0 -65
  436. package/skills/role-research/skill.json +0 -36
  437. package/skills/role-security/SKILL.md +0 -60
  438. package/skills/role-security/skill.json +0 -36
  439. package/skills/runtime-claude/SKILL.md +0 -66
  440. package/skills/runtime-claude/skill.json +0 -36
  441. package/skills/runtime-codex/SKILL.md +0 -58
  442. package/skills/runtime-codex/skill.json +0 -36
  443. package/skills/runtime-local/SKILL.md +0 -46
  444. package/skills/runtime-local/skill.json +0 -36
  445. package/skills/runtime-opencode/SKILL.md +0 -58
  446. package/skills/runtime-opencode/skill.json +0 -36
  447. package/skills/signal-hygiene/SKILL.md +0 -51
  448. package/skills/signal-hygiene/skill.json +0 -20
  449. package/skills/tui-design/SKILL.md +0 -77
  450. package/skills/tui-design/references/tui-design.md +0 -259
  451. package/skills/tui-design/skill.json +0 -36
  452. package/skills/wave-core/SKILL.md +0 -141
  453. package/skills/wave-core/references/marker-syntax.md +0 -70
  454. package/skills/wave-core/skill.json +0 -35
  455. package/test/README.md +0 -16
  456. package/test/core/formatting-commands.test.ts +0 -285
  457. package/test/core/image-commands.test.ts +0 -298
  458. package/test/core/mapping.test.ts +0 -186
  459. package/test/core/text-commands.test.ts +0 -176
  460. package/test/fixtures/docx/F01-basic-contract.docx +0 -0
  461. package/test/fixtures/docx/F01-basic-contract.md +0 -33
  462. package/test/fixtures/docx/F02-headings-styles.docx +0 -0
  463. package/test/fixtures/docx/F02-headings-styles.md +0 -33
  464. package/test/fixtures/docx/F03-legal-outline-numbering.docx +0 -0
  465. package/test/fixtures/docx/F03-legal-outline-numbering.md +0 -34
  466. package/test/fixtures/docx/F04-restart-numbering-schedules.docx +0 -0
  467. package/test/fixtures/docx/F04-restart-numbering-schedules.md +0 -33
  468. package/test/fixtures/docx/F05-table-heavy-agreement.docx +0 -0
  469. package/test/fixtures/docx/F05-table-heavy-agreement.md +0 -34
  470. package/test/fixtures/docx/F06-merged-cells-signature-table.docx +0 -0
  471. package/test/fixtures/docx/F06-merged-cells-signature-table.md +0 -34
  472. package/test/fixtures/docx/F07-inline-images-exhibit.docx +0 -0
  473. package/test/fixtures/docx/F07-inline-images-exhibit.md +0 -34
  474. package/test/fixtures/docx/F08-hyperlinks.docx +0 -0
  475. package/test/fixtures/docx/F08-hyperlinks.md +0 -33
  476. package/test/fixtures/docx/F09-comments-single-paragraph.docx +0 -0
  477. package/test/fixtures/docx/F09-comments-single-paragraph.md +0 -33
  478. package/test/fixtures/docx/F10-threaded-comments-resolve.docx +0 -0
  479. package/test/fixtures/docx/F10-threaded-comments-resolve.md +0 -33
  480. package/test/fixtures/docx/F11-redlines-basic.docx +0 -0
  481. package/test/fixtures/docx/F11-redlines-basic.md +0 -33
  482. package/test/fixtures/docx/F12-redlines-paragraph-joins-splits.docx +0 -0
  483. package/test/fixtures/docx/F12-redlines-paragraph-joins-splits.md +0 -33
  484. package/test/fixtures/docx/F13-comments-on-deleted-text.docx +0 -0
  485. package/test/fixtures/docx/F13-comments-on-deleted-text.md +0 -33
  486. package/test/fixtures/docx/F14-revisions-in-tables-and-lists.docx +0 -0
  487. package/test/fixtures/docx/F14-revisions-in-tables-and-lists.md +0 -33
  488. package/test/fixtures/docx/F15-sections-headers-footers.docx +0 -0
  489. package/test/fixtures/docx/F15-sections-headers-footers.md +0 -33
  490. package/test/fixtures/docx/F16-footnotes-endnotes.docx +0 -0
  491. package/test/fixtures/docx/F16-footnotes-endnotes.md +0 -33
  492. package/test/fixtures/docx/F17-fields-and-toc.docx +0 -0
  493. package/test/fixtures/docx/F17-fields-and-toc.md +0 -33
  494. package/test/fixtures/docx/F18-content-controls-template.docx +0 -0
  495. package/test/fixtures/docx/F18-content-controls-template.md +0 -33
  496. package/test/fixtures/docx/F19-custom-xml-doc-assembly.docx +0 -0
  497. package/test/fixtures/docx/F19-custom-xml-doc-assembly.md +0 -35
  498. package/test/fixtures/docx/F20-unknown-ooxml-and-alternatecontent.docx +0 -0
  499. package/test/fixtures/docx/F20-unknown-ooxml-and-alternatecontent.md +0 -33
  500. package/test/fixtures/docx/F21-malformed-broken-docx.docx +0 -0
  501. package/test/fixtures/docx/F21-malformed-broken-docx.md +0 -33
  502. package/test/fixtures/docx/README.md +0 -74
  503. package/test/fixtures/docx/certification-manifest.json +0 -104
  504. package/test/fixtures/docx/fixtures.manifest.json +0 -196
  505. package/test/fixtures/encrypted-docx/README.md +0 -27
  506. package/test/fixtures/encrypted-docx/certification-manifest.json +0 -9
  507. package/test/fixtures/encrypted-docx/fixtures.manifest.json +0 -47
  508. package/test/fixtures/scenarios/docx/README.md +0 -25
  509. package/test/fixtures/scenarios/docx/S01-sow-template.docx +0 -0
  510. package/test/fixtures/scenarios/docx/S01-sow-template.md +0 -30
  511. package/test/fixtures/scenarios/docx/S02-bw-partner-user-licence-agreement-redlines.docx +0 -0
  512. package/test/fixtures/scenarios/docx/S02-bw-partner-user-licence-agreement-redlines.md +0 -32
  513. package/test/fixtures/scenarios/docx/scenario-manifest.json +0 -53
  514. package/test/formats/xlsx/io/xlsx-import.test.ts +0 -766
  515. package/test/formats/xlsx/model/workbook.test.ts +0 -669
  516. package/test/helpers/dom-setup.ts +0 -124
  517. package/test/io/comment-roundtrip.test.ts +0 -272
  518. package/test/io/complex-content-roundtrip.test.ts +0 -632
  519. package/test/io/docx-compatibility-regression.test.ts +0 -199
  520. package/test/io/docx-session.test.ts +0 -1495
  521. package/test/io/footnotes-roundtrip.test.ts +0 -318
  522. package/test/io/headers-footers-roundtrip.test.ts +0 -547
  523. package/test/io/numbering-roundtrip.test.ts +0 -234
  524. package/test/io/package-reader.test.ts +0 -199
  525. package/test/io/paragraph-properties-roundtrip.test.ts +0 -129
  526. package/test/io/preserved-package-roundtrip.test.ts +0 -365
  527. package/test/io/property-completeness.test.ts +0 -292
  528. package/test/io/revision-roundtrip.test.ts +0 -347
  529. package/test/io/structural-blocks.test.ts +0 -202
  530. package/test/io/table-media-roundtrip.test.ts +0 -448
  531. package/test/io/table-properties-roundtrip.test.ts +0 -569
  532. package/test/io/table-roundtrip.test.ts +0 -302
  533. package/test/io/text-roundtrip.test.ts +0 -344
  534. package/test/model/canonical-document.test.ts +0 -285
  535. package/test/preservation/opaque-fragment-store.test.ts +0 -121
  536. package/test/preservation/package-preservation.test.ts +0 -395
  537. package/test/preservation/store.test.ts +0 -84
  538. package/test/review/comment-remapping.test.ts +0 -220
  539. package/test/review/comment-store.test.ts +0 -180
  540. package/test/review/move-revisions.test.ts +0 -143
  541. package/test/review/property-change-revisions.test.ts +0 -225
  542. package/test/review/revision-actions.test.ts +0 -330
  543. package/test/review/revision-store.test.ts +0 -193
  544. package/test/runtime/session-capabilities.test.ts +0 -260
  545. package/test/runtime/table-commands.test.ts +0 -356
  546. package/test/runtime/table-schema.test.ts +0 -221
  547. package/test/runtime/tracked-changes-toggle.test.ts +0 -107
  548. package/test/ui/comment-review-surface.test.tsx +0 -114
  549. package/test/ui/reduced-motion-toggle.test.tsx +0 -137
  550. package/test/ui/word-review-editor.imported-scenarios.test.tsx +0 -169
  551. package/test/ui/word-review-editor.interaction.test.tsx +0 -1198
  552. package/test/ui/word-review-editor.test.js +0 -188
  553. package/test/ui/word-review-editor.test.tsx +0 -280
  554. package/test/ui-tailwind/search-plugin.test.ts +0 -286
  555. package/test/validation/compatibility-engine.test.ts +0 -336
  556. package/test/validation/compatibility-report.test.ts +0 -189
  557. package/test/validation/low-priority-word-surfaces.test.ts +0 -282
  558. package/test/validation/malformed-doc.test.ts +0 -113
  559. package/test-results/.last-run.json +0 -4
  560. package/wave.config.json +0 -406
@@ -1,350 +0,0 @@
1
- # Word Comments and Redlines Overview
2
-
3
- This document records three things:
4
-
5
- 1. How current Microsoft Word handles comments, replies, resolution, and tracked changes.
6
- 2. What this repo already proves or intentionally treats as preserve-only.
7
- 3. What this editor should allow, keep preserve-only, or block so the product stays Word-compatible.
8
-
9
- This is a requirements and research memo, not a marketing summary. When Word behavior and current repo behavior differ, Word behavior wins and the repo should either align or stay explicit about the gap.
10
-
11
- ## Bottom line
12
-
13
- - Comments and tracked changes are separate systems in Word. Comments are not "part of" Track Changes.
14
- - Modern Word comments are thread-based: one anchored root comment plus direct replies. Reply-to-reply nesting should not be exposed.
15
- - In modern comments, resolution is thread-level. Do not expose "resolve only this reply" as a first-class action.
16
- - Word supports more review features than this repo should currently author. Unsupported review markup must stay preserve-only, not be normalized away.
17
- - This repo already has real proof for:
18
- - single-paragraph comments
19
- - threaded comments with resolution metadata
20
- - comments interacting with deleted text in the owned slice
21
- - run-level tracked insertions/deletions
22
- - bounded paragraph-mark insertion/deletion accept or reject
23
- - This repo should continue to treat as preserve-only:
24
- - multi-paragraph comment authoring
25
- - comments whose anchors overlap opaque or preserve-only review markup
26
- - move revisions
27
- - formatting revisions
28
- - structural revisions in tables and list structures
29
- - review metadata in newer extension formats the runtime does not model
30
-
31
- ## Repo facts today
32
-
33
- ### Public/runtime surface already present
34
-
35
- The public editor ref already exposes comment and tracked-change actions in [docs/reference/public-api.md](./reference/public-api.md) and [src/api/public-types.ts](../src/api/public-types.ts):
36
-
37
- - `addComment(...)`
38
- - `openComment(commentId)`
39
- - `resolveComment(commentId)`
40
- - `reopenComment(commentId)`
41
- - `addCommentReply(commentId, body)`
42
- - `editCommentBody(commentId, body)`
43
- - `acceptChange(changeId)`
44
- - `rejectChange(changeId)`
45
- - `acceptAllChanges()`
46
- - `rejectAllChanges()`
47
-
48
- ### Current repo proof and boundaries
49
-
50
- The current fixtures and parsers establish these boundaries:
51
-
52
- - [test/fixtures/docx/F09-comments-single-paragraph.docx](../test/fixtures/docx/F09-comments-single-paragraph.docx)
53
- - single-paragraph comments are supported-roundtrip
54
- - [test/fixtures/docx/F10-threaded-comments-resolve.docx](../test/fixtures/docx/F10-threaded-comments-resolve.docx)
55
- - threaded comments and resolution metadata import/export through one runtime thread
56
- - [test/fixtures/docx/F13-comments-on-deleted-text.docx](../test/fixtures/docx/F13-comments-on-deleted-text.docx)
57
- - comment and deletion overlap is supported only where representable; preserve-only overlap stays explicit
58
- - [test/fixtures/docx/F11-redlines-basic.docx](../test/fixtures/docx/F11-redlines-basic.docx)
59
- - run-level `w:ins` and `w:del` are actionable
60
- - [test/fixtures/docx/F12-redlines-paragraph-joins-splits.docx](../test/fixtures/docx/F12-redlines-paragraph-joins-splits.docx)
61
- - bounded paragraph-mark insert/delete accept/reject is actionable
62
- - [test/fixtures/docx/F14-revisions-in-tables-and-lists.docx](../test/fixtures/docx/F14-revisions-in-tables-and-lists.docx)
63
- - structural revisions in tables/lists remain preserve-only
64
-
65
- Implementation details that matter:
66
-
67
- - [src/io/ooxml/parse-comments.ts](../src/io/ooxml/parse-comments.ts)
68
- - imports threaded comments from `comments.xml` plus `commentsExtended.xml` and `commentsIds.xml`
69
- - downgrades multi-paragraph comment anchors to detached preserve-only
70
- - [src/io/export/serialize-comments.ts](../src/io/export/serialize-comments.ts)
71
- - exports `comments.xml`, `commentsExtended.xml`, `commentsIds.xml`, and `people.xml`
72
- - [src/io/ooxml/parse-revisions.ts](../src/io/ooxml/parse-revisions.ts)
73
- - treats `ins` and `del` as supported containers
74
- - imports `moveFrom` or `moveTo` and formatting revisions as preserve-only
75
- - [src/io/docx-session.ts](../src/io/docx-session.ts)
76
- - detaches comment anchors that overlap opaque content or preserve-only revision ranges
77
- - [docs/reference/word-review-editor-frontend-architecture.md](./reference/word-review-editor-frontend-architecture.md)
78
- - the UI "Show/Hide tracked changes" control is only a display toggle; the runtime always tracks changes internally
79
-
80
- ### Current repo gaps relative to Word
81
-
82
- These are not theoretical; they are visible in current command handling:
83
-
84
- - [src/core/commands/index.ts](../src/core/commands/index.ts)
85
- - `comment.add-reply` currently does not block replies on resolved or detached threads
86
- - `comment.edit-body` edits only the first entry in a thread and does not enforce author ownership
87
-
88
- Those behaviors diverge from modern Word expectations and should be tightened.
89
-
90
- ## How Word comments work
91
-
92
- ### Core model
93
-
94
- Word comments attach to an anchored document position or range. In OOXML the visible anchor is represented with:
95
-
96
- - `w:commentRangeStart`
97
- - `w:commentRangeEnd`
98
- - `w:commentReference`
99
- - comment bodies in `word/comments.xml`
100
-
101
- Threading and resolution are not fully represented in `comments.xml` alone:
102
-
103
- - `commentsExtended.xml` (`w15`) carries per-comment paragraph IDs, reply parentage, and thread "done" state
104
- - `commentsIds.xml` (`w16cid`) carries durable IDs
105
- - newer comment extensibility schemas add more metadata and must be preserved unless explicitly modeled
106
-
107
- Important Word/OOXML constraints:
108
-
109
- - The OOXML notes for `commentRangeStart` say Word ignores comment anchors under headers, footers, text boxes, footnotes, and endnotes even though the base standard allows the element there.
110
- - A comment can degrade to a single anchor point if a matching range end is missing; Word falls back to the `commentReference` location.
111
-
112
- ### What Word exposes for comments
113
-
114
- | Capability | Word behavior | Repo policy |
115
- | --- | --- | --- |
116
- | Add a comment | Word allows a comment on selected text or at an insertion point. | Allow on supported body-text anchors only. |
117
- | Root comment body | Root comment is the anchored item. | Allow. |
118
- | Direct reply | Word supports replies on a comment thread. | Allow on open threads. |
119
- | Reply to a reply | Word's `Comment.Replies` docs say adding a reply fails when called from a reply-to-a-reply collection. Treat the thread as flat: root + direct replies only. | Do not expose nested replies. |
120
- | Edit a comment | Modern comments allow editing, but modern UI intentionally blocks editing others' comments. Microsoft also notes file-level edit access can still modify comments via other experiences. | Inference: default UI should enforce author-only edit for both root comments and replies. Preserve imported mutations from elsewhere. |
121
- | Resolve a thread | Word resolves the thread; no more replies can be added until reopened. | Allow on thread root only. |
122
- | Reopen a thread | Word allows reopening resolved threads. | Allow. |
123
- | Resolve only one reply | Microsoft VBA docs say `Comment.Done` on a single reply has no visible effect in redesigned comments. | Do not expose reply-level resolve. |
124
- | Delete thread | Word allows deleting a thread. | Add only when delete/export proof exists. Not currently public API. |
125
- | Get link to comment | Word exposes "Get link" in modern comments. | Optional later. Not fidelity-critical. |
126
- | Contextual vs list view | Word has both views; contextual hides resolved comments, list view can show all. | Safe to mirror in UI. |
127
- | Draft then post | Modern comments require an explicit Post action; Word currently supports one draft at a time. | Optional UI fidelity. Not a file-format requirement. |
128
- | @mentions | Word can mention users and notify them. | Preserve if present; do not author until user identity and notification semantics exist. |
129
- | Assign task from comment | Word supports task assignment via `@mention` and Assign-to. | Preserve if present; do not author in v1. |
130
- | Images in comments | Modern comments allow text and images; the support page says image insertion is Windows-only. | Preserve imported images if encountered inside unsupported comment content; do not expand authoring scope yet. |
131
- | Rich formatting in comments | Modern comments support bold, italic, underline, strikethrough, font color, and highlight. They do not support font size, font family changes, or paragraph settings in the modern card UI. | Keep runtime comment authoring plain text unless a schema-backed comment-content model is introduced. Preserve richer imported content. |
132
- | Tables, equations, shapes, fields in comments | Microsoft says these are not supported in modern comment cards and may only appear in the Reviewing Pane. | Preserve-only if present. Do not author. |
133
- | Reactions on comments | Word for the web supports reactions; cross-platform visibility is incomplete. | Preserve-only. Do not author in v1. |
134
-
135
- ### Important comment-specific conclusions
136
-
137
- - Thread shape should remain flat:
138
- - one anchored root comment
139
- - zero or more direct replies
140
- - no nested reply tree
141
- - Resolution should stay thread-level.
142
- - Replying to a resolved thread should be blocked until the thread is reopened.
143
- - Editing comment text should be stricter than the raw file format:
144
- - default to author-only in UI
145
- - preserve imported content even if another Word surface edited it
146
- - Comments outside the main editable story should not be authored even if encountered in source packages.
147
-
148
- ## How Word tracked changes and redlines work
149
-
150
- ### Core model
151
-
152
- Word tracked changes are distinct review records over the document body. In OOXML they can appear as:
153
-
154
- - run-level insertions: `w:ins`
155
- - run-level deletions: `w:del`
156
- - move revisions: `w:moveFrom`, `w:moveTo`
157
- - formatting revisions: `w:rPrChange`, `w:pPrChange`
158
- - paragraph-mark revisions via revision markers in paragraph properties
159
- - many additional structural cases when lists, tables, numbering, or document shell markup are involved
160
-
161
- Word also has a separate permission and display layer around tracked changes:
162
-
163
- - Review mode
164
- - Track Changes on/off
165
- - display modes such as All Markup or No Markup
166
- - show or hide by reviewer
167
- - show or hide by change type
168
- - accept or reject one, all, or all shown
169
-
170
- ### What Word exposes for tracked changes
171
-
172
- | Capability | Word behavior | Repo policy |
173
- | --- | --- | --- |
174
- | Review mode | In Word review mode, a reviewer cannot directly edit final content but can add comments and tracked suggestions. | Treat as a host-level permission mode, not just UI chrome. Current repo `reviewMode` is not equivalent to Word review permissions. |
175
- | Track Changes on/off | Word supports actual recording on/off. | Do not expose a fake Word-style on/off switch in v1. Current repo intentionally always tracks runtime edits internally. |
176
- | Track only my changes / everyone | Word supports `Just Mine` and `For Everyone` in some surfaces. | Out of scope for v1 single-runtime semantics. |
177
- | Display mode: All Markup | Shows markup inline and in balloons. | Repo `markupDisplay="all"` is the closest analog. |
178
- | Display mode: No Markup | Hides markup but does not remove it. | Repo `clean` should remain display-only, never destructive. |
179
- | Display mode: Original | Shows the original document view without removing tracked data. | No current repo equivalent. Add only if the runtime can project it honestly. |
180
- | Simple Markup | Word shows a simplified review view while retaining markup. | Repo `simple` is repo-specific, not a one-to-one Word mode. Keep the distinction explicit. |
181
- | Show or hide by change type | Word can filter insertions/deletions, formatting, ink, balloons, reviewers, and similar display categories. | Safe later as a display filter only. Must never mutate canonical review state. |
182
- | Accept this change | Word can accept a selected change. | Allow for actionable supported revisions only. |
183
- | Reject this change | Word can reject a selected change. | Allow for actionable supported revisions only. |
184
- | Accept/reject and move to next | Word has sequential review navigation. | Nice to have later. Not required for file fidelity. |
185
- | Accept all changes shown | Word can accept only visible changes under current filters. | Do not implement until reviewer and type filters are first-class and honest. |
186
- | Reject all changes shown | Same as above. | Same restriction. |
187
- | Accept all changes | Word supports it. | Allow for actionable supported revisions only. Preserve-only revisions must remain untouched. |
188
- | Reject all changes | Word supports it. | Allow for actionable supported revisions only. Preserve-only revisions must remain untouched. |
189
- | Accept/reject all and stop tracking | Word supports stop-tracking variants. | Do not expose until the runtime has a real tracking-mode model. |
190
- | Run-level insertion/deletion | Core Word tracked-change path. | Allow and keep as primary supported redline slice. |
191
- | Paragraph-mark insertion/deletion | Word supports paragraph join/split style revisions. | Allow only in the bounded, proved slice from F12. |
192
- | Move revisions | Word supports them and can display Move From/Move To. | Preserve-only in v1. Do not author or accept/reject. |
193
- | Formatting revisions | Word supports them. | Preserve-only in v1. Do not author or accept/reject. |
194
- | Structural revisions in tables/lists | Word supports them. | Preserve-only in v1. Do not author or accept/reject. |
195
- | Lock Track Changes with password | Word supports locking tracking. | Preserve protection markup if imported; do not implement runtime control in v1. |
196
- | Compare / legal blackline | Word desktop can compare or combine documents to create a review/redline document. | Treat generated redline documents as import sources. Do not add in-editor compare/combine in v1. |
197
-
198
- ### Important tracked-change conclusions
199
-
200
- - Showing or hiding markup is not the same as accepting or rejecting markup.
201
- - Accept/reject actions must be limited to revision kinds the runtime can rewrite semantically and reserialize safely.
202
- - "Accept all" in this product should mean:
203
- - accept all actionable revisions
204
- - leave preserve-only revisions intact
205
- - surface that preserve-only revisions remain
206
- - Do not silently collapse move, formatting, or structural revisions into plain content.
207
-
208
- ## Comment and redline interaction rules
209
-
210
- This is the high-risk area for Word compatibility.
211
-
212
- Word facts and repo implications:
213
-
214
- - Microsoft explicitly says comments are no longer part of the Track Changes function.
215
- - In real documents, comment anchors and tracked changes can overlap.
216
- - This repo already carries explicit handling for comments on deleted text and for comment overlap with preserve-only review markup.
217
-
218
- Required product rules:
219
-
220
- | Interaction | Rule |
221
- | --- | --- |
222
- | Comment anchored in supported plain-text content | Allow. |
223
- | Comment anchored in content that later shifts because of supported edits | Allow, but remap anchor through transactions. |
224
- | Comment overlapping preserve-only revision markup | Preserve-only, detached if necessary, with an explicit warning. |
225
- | Comment overlapping opaque unsupported OOXML | Preserve-only, detached if necessary, with an explicit warning. |
226
- | Comment on deleted text in the owned F13 slice | Keep explicit and reviewable; do not flatten silently. |
227
- | Accept/reject of a revision with attached comments | Recompute comment anchors through mapping; never drop the thread just because nearby content changed. |
228
- | A review action that would force destructive rewrite of unsupported overlap | Warn or block. Do not improvise. |
229
-
230
- ## Recommended allow/preserve-only/block matrix
231
-
232
- This is the concrete action list the product should implement against.
233
-
234
- ### Comments
235
-
236
- | Action | Status | Notes |
237
- | --- | --- | --- |
238
- | Add comment on a supported single-paragraph body-text range | Allow now | Core supported feature. |
239
- | Add comment at insertion point in supported body text | Allow now | Use a zero-width or point-style anchor model that serializes back to a valid comment reference. |
240
- | Add multi-paragraph comment | Preserve-only / block authoring | Word documents may contain these, but this repo has not proved stable remapping. |
241
- | Add comment in header/footer/text box/footnote/endnote | Block authoring | Word ignores these anchors in practice; preserve on import only. |
242
- | Open/navigate to thread | Allow now | UI/navigation only. |
243
- | Edit root comment body authored by current user | Allow now | Align with modern comments. |
244
- | Edit root comment body authored by another user | Block in default UI | Inference from Word modern comments; preserve imported external edits. |
245
- | Edit reply body authored by current user | Future, but valid | Word supports editing comments; if added here, enforce author-only and flat thread semantics. |
246
- | Edit reply body authored by another user | Block in default UI | Same rationale. |
247
- | Reply to open thread | Allow now | Direct reply only. |
248
- | Reply to resolved thread | Block | Must require reopen first. Current repo behavior should be tightened here. |
249
- | Reply to detached thread | Block | Detached means preserve-only anchor. |
250
- | Nested reply to reply | Block | Not a Word-modern thread model. |
251
- | Resolve thread | Allow now | Thread-level only. |
252
- | Resolve individual reply | Block | No modern Word-visible semantics. |
253
- | Reopen resolved thread | Allow now | Required for parity. |
254
- | Delete thread | Future, but valid | Add only when delete merge/export proof exists. |
255
- | Delete individual reply while retaining thread | Future, research first | Do not add until Word-surface behavior and OOXML export semantics are separately verified. |
256
- | @mention | Future preserve-and-author | Needs identity, notifications, and task semantics. |
257
- | Assign task from comment | Future preserve-and-author | Same dependency. |
258
- | Add image in comment | Preserve-only / later | Not fidelity-critical for v1. |
259
- | Add tables/equations/shapes/fields in comment | Preserve-only | Do not author. |
260
- | Add reactions to comments | Preserve-only | Web-only and extension-based today. |
261
-
262
- ### Tracked changes / redlines
263
-
264
- | Action | Status | Notes |
265
- | --- | --- | --- |
266
- | Record text insertion as tracked insertion | Allow now | Core redline feature. |
267
- | Record text deletion as tracked deletion | Allow now | Core redline feature. |
268
- | Record paragraph join/split in bounded F12 slice | Allow now | Only the proved paragraph-mark cases. |
269
- | Turn tracking fully off | Do not expose in v1 | Repo intentionally always tracks runtime edits. |
270
- | Show or hide markup | Allow now | Display-only control. |
271
- | Provide a false "track changes off" button that only hides markup | Block | Misleading and Word-incompatible. |
272
- | Accept one supported insertion/deletion | Allow now | Already proved. |
273
- | Reject one supported insertion/deletion | Allow now | Already proved. |
274
- | Accept/reject one supported paragraph-mark revision | Allow now | Only in the bounded slice. |
275
- | Accept/reject move revision | Preserve-only | Keep visible, not actionable. |
276
- | Accept/reject formatting revision | Preserve-only | Keep visible, not actionable. |
277
- | Accept/reject structural revision in table/list | Preserve-only | Keep visible, not actionable. |
278
- | Accept all supported revisions | Allow now | Must skip preserve-only revisions and report that honestly. |
279
- | Reject all supported revisions | Allow now | Same rule. |
280
- | Accept/reject all shown under filters | Future | Only after reviewer/type filters are honest and first-class. |
281
- | Filter by reviewer | Future display feature | Display only, not semantic rewrite. |
282
- | Filter by revision type | Future display feature | Display only. |
283
- | Compare two docs to create a legal blackline | Out of scope for editor v1 | Treat compared docs as import sources. |
284
- | Lock tracking with password | Out of scope for editor v1 | Preserve imported protection markup only. |
285
-
286
- ## Specific engineering changes implied by this research
287
-
288
- These are the main behavior changes the repo should make or preserve:
289
-
290
- 1. Keep comments and tracked changes as separate stores and separate command families.
291
- 2. Keep thread resolution on the thread root only.
292
- 3. Block `addCommentReply` on resolved or detached threads.
293
- 4. Enforce flat thread semantics: no reply-to-reply UI or data model.
294
- 5. Add author-ownership checks before allowing comment-body edits in the default UI.
295
- 6. If reply editing is added later, edit a specific reply entry, not just thread entry `0`.
296
- 7. Continue exporting and preserving `commentsExtended.xml`, `commentsIds.xml`, and `people.xml` for threaded comment fidelity.
297
- 8. Continue treating multi-paragraph comment anchors as preserve-only until anchor remapping is proved across paragraph surgery.
298
- 9. Continue treating move, formatting, and structural revisions as preserve-only.
299
- 10. Keep the track-changes visibility toggle honest: display only, not mutation mode.
300
- 11. Never implement "accept all" by flattening preserve-only revisions.
301
- 12. Preserve newer comment extension data rather than dropping it, even if the runtime does not yet model it.
302
-
303
- ## Sources
304
-
305
- ### Repo sources
306
-
307
- - [README.md](../README.md)
308
- - [docs/reference/repository-guidance.md](./reference/repository-guidance.md)
309
- - [docs/reference/public-api.md](./reference/public-api.md)
310
- - [docs/reference/ooxml-compliance.md](./reference/ooxml-compliance.md)
311
- - [docs/reference/word-review-editor-frontend-architecture.md](./reference/word-review-editor-frontend-architecture.md)
312
- - [src/api/public-types.ts](../src/api/public-types.ts)
313
- - [src/core/commands/index.ts](../src/core/commands/index.ts)
314
- - [src/io/docx-session.ts](../src/io/docx-session.ts)
315
- - [src/io/ooxml/parse-comments.ts](../src/io/ooxml/parse-comments.ts)
316
- - [src/io/export/serialize-comments.ts](../src/io/export/serialize-comments.ts)
317
- - [src/io/ooxml/parse-revisions.ts](../src/io/ooxml/parse-revisions.ts)
318
- - [test/io/comment-roundtrip.test.ts](../test/io/comment-roundtrip.test.ts)
319
- - [test/io/revision-roundtrip.test.ts](../test/io/revision-roundtrip.test.ts)
320
- - [test/io/docx-session.test.ts](../test/io/docx-session.test.ts)
321
- - [test/fixtures/docx/F10-threaded-comments-resolve.md](../test/fixtures/docx/F10-threaded-comments-resolve.md)
322
- - [test/fixtures/docx/F11-redlines-basic.md](../test/fixtures/docx/F11-redlines-basic.md)
323
- - [test/fixtures/docx/F12-redlines-paragraph-joins-splits.md](../test/fixtures/docx/F12-redlines-paragraph-joins-splits.md)
324
- - [test/fixtures/docx/F13-comments-on-deleted-text.md](../test/fixtures/docx/F13-comments-on-deleted-text.md)
325
- - [test/fixtures/docx/F14-revisions-in-tables-and-lists.md](../test/fixtures/docx/F14-revisions-in-tables-and-lists.md)
326
-
327
- ### Microsoft sources
328
-
329
- - Microsoft Support: [Using Modern comments in Word](https://support.microsoft.com/en-us/office/using-modern-comments-in-word-edc6ae71-0a2d-49fe-8faa-986f1e48136a)
330
- - Microsoft Support: [Review mode in Word](https://support.microsoft.com/en-us/office/review-mode-in-word-941d357d-c9f3-4f3f-b7b0-122ed0074f30)
331
- - Microsoft Support: [Track changes in Word](https://support.microsoft.com/en-us/office/track-changes-in-word-197ba630-0f5f-4a8e-9a77-3712475e806a)
332
- - Microsoft Support: [Give and receive feedback in Word](https://support.microsoft.com/en-gb/office/give-and-receive-feedback-in-word-07f25746-7b26-4769-9ebb-ca2f0f5783b8)
333
- - Microsoft Support: [Use a screen reader to add, read, and delete comments in Word](https://support.microsoft.com/en-us/office/use-a-screen-reader-to-add-read-and-delete-comments-in-word-c4648d50-4f7b-4795-b487-9e3141a5a596)
334
- - Microsoft Support: [React to a comment in Word for the web](https://support.microsoft.com/en-us/office/react-to-a-comment-in-word-for-the-web-5a50bc81-634f-4bcc-b5b5-900768f0afba)
335
- - Microsoft Support: [Compare document differences using the legal blackline option](https://support.microsoft.com/en-us/office/compare-document-differences-using-the-legal-blackline-option-dbfc7351-4022-43a2-a0c4-54d1898702a0)
336
- - Microsoft Learn: [Comment.Replies property (Word)](https://learn.microsoft.com/en-us/office/vba/api/word.comment.replies)
337
- - Microsoft Learn: [Comment.Done property (Word)](https://learn.microsoft.com/en-us/office/vba/api/word.comment.done)
338
- - Microsoft Learn: [Comments.Add method (Word)](https://learn.microsoft.com/en-us/office/vba/api/word.comments.add)
339
- - Microsoft Learn Open Specifications: [commentRangeStart (Comment Anchor Range Start)](https://learn.microsoft.com/en-us/openspecs/office_standards/ms-oi29500/64b95366-980f-4c75-9519-b745345ded9a)
340
- - Microsoft Learn Open Specifications: [CT_CommentId](https://learn.microsoft.com/en-us/openspecs/office_standards/ms-docx/9c360cd7-653f-4d82-82be-7bda2488c0c1)
341
- - Microsoft Learn Open Specifications: [CT_CommentExtensible](https://learn.microsoft.com/en-us/openspecs/office_standards/ms-docx/a7b57225-42e5-43e7-8d98-d90eabf3ca25)
342
-
343
- ## Notes on inference
344
-
345
- Two policy calls above are informed by multiple Microsoft sources rather than one perfectly aligned statement:
346
-
347
- - "Only the author can edit a comment" is the correct default modern-comments UI rule, even though Microsoft separately notes that anyone with file edit access can still change comment content through other file-backed surfaces.
348
- - Multi-paragraph comment anchors are treated here as a real Word/OOXML case that must be preserved, even though this repo does not yet claim safe authoring or remapping support for them.
349
-
350
- Those are intentional product inferences, not accidental assumptions.
@@ -1,118 +0,0 @@
1
- # Context7 vs Skills
2
-
3
- Context7 and skills solve different problems.
4
-
5
- Use Context7 for external library truth. Use skills for repo-owned, reusable operating knowledge.
6
-
7
- That comparison matters because Wave treats context as something to compile at runtime, not something humans should maintain separately for Claude, Codex, OpenCode, and every other executor.
8
-
9
- ## Compiled Context, Not Hand-Maintained Context Files
10
-
11
- The active context for an agent is assembled from multiple layers:
12
-
13
- - repository source and the wave's owned files
14
- - wave markdown and shared plan docs
15
- - generated shared summary and per-agent inbox
16
- - saved project defaults such as `.wave/project-profile.json`
17
- - resolved repo-owned skills
18
- - selected Context7 snippets for external library truth
19
- - generated runtime overlays and launch artifacts
20
-
21
- Because of that, the question is not "which hand-written context file does this runtime use?" The question is "which context sources does this wave compile for the selected runtime right now?"
22
-
23
- Runtime-specific context is still real, but it is mostly generated:
24
-
25
- - Claude gets merged system-prompt and settings overlays
26
- - Codex gets executor flags plus runtime-projected skills
27
- - OpenCode gets generated config, attachments, and runtime instructions
28
-
29
- That keeps the context model unified even when the transport layer differs.
30
-
31
- ## Short Version
32
-
33
- - Context7
34
- Up-to-date third-party library or API context.
35
- - Skills
36
- Reusable guidance tailored to your repository, environments, roles, and runtime choices.
37
-
38
- ## Comparison
39
-
40
- | Surface | Context7 | Skills |
41
- | --- | --- | --- |
42
- | Primary purpose | External docs and SDK truth | Internal reusable operating guidance |
43
- | Typical source | `docs/context7/bundles.json` and fetched snippets | `skills/<skill-id>/skill.json` and `SKILL.md` |
44
- | Ownership | Package or repo operator config | Repository maintainers |
45
- | Scope | Library versions, APIs, setup syntax | Coding rules, deploy norms, repo conventions, workflow rules |
46
- | Selection | Wave defaults plus per-agent `### Context7` | Base plus role, runtime, deploy-kind, and per-agent `### Skills` |
47
- | Change rate | Often changes with external libraries | Changes when your repo or environment changes |
48
- | Projection | Injected as prompt context | Projected into runtime-specific overlays and prompt context |
49
-
50
- ## When To Use Context7
51
-
52
- Use Context7 when the agent needs information that lives outside the repo and can change over time, such as:
53
-
54
- - framework APIs
55
- - SDK method signatures
56
- - library setup syntax
57
- - version-specific behavior
58
- - hosted service docs
59
-
60
- Context7 is intentionally narrow. It is for third-party truth, not for your repo's own architecture or policies.
61
-
62
- ## When To Use Skills
63
-
64
- Use skills when the guidance is reusable, repo-owned, and should survive across waves, roles, or runtimes, such as:
65
-
66
- - coding norms
67
- - review expectations
68
- - environment-specific rules
69
- - Railway, Kubernetes, or GitHub release procedures
70
- - runtime-specific instructions for Codex, Claude, or OpenCode
71
- - role-oriented heuristics for implementation, deploy, cont-QA, or research agents
72
-
73
- ## What Remains Authoritative
74
-
75
- Neither Context7 nor skills replace the actual repo.
76
-
77
- The highest-authority sources are still:
78
-
79
- - repository source
80
- - `wave.config.json`
81
- - wave markdown
82
- - role prompts in `docs/agents/*.md`
83
- - shared plan docs
84
- - the generated shared summary and inboxes for the active run
85
-
86
- Skills are additive guidance. Context7 is non-canonical external context. The repo and wave artifacts remain authoritative.
87
-
88
- ## How They Work Together
89
-
90
- A typical deploy-focused wave might use both:
91
-
92
- - Context7
93
- For the latest official framework or platform docs.
94
- - Skills
95
- For repo-specific deploy rules, Railway conventions, and runtime-specific execution guidance.
96
-
97
- That combination keeps the agent grounded in both external truth and local operating rules.
98
-
99
- ## Runtime Behavior
100
-
101
- Both surfaces are runtime aware, but in different ways:
102
-
103
- - Context7 is fetched and injected into the compiled prompt.
104
- - Skills are resolved after executor selection and then projected into the runtime-specific overlay surface for that executor.
105
-
106
- Because of that:
107
-
108
- - changing Context7 selection changes the prompt fingerprint
109
- - changing resolved skills also changes the prompt fingerprint and trace metadata
110
-
111
- ## Best Practice
112
-
113
- - Put version-sensitive third-party docs into Context7.
114
- - Put stable repo or environment playbooks into skills.
115
- - Keep wave prompts focused on the specific assignment, not long-lived reusable rules.
116
- - If the same guidance is repeated across waves, promote it into a skill.
117
-
118
- For exact skill bundle layout and resolution order, see [reference/skills.md](../reference/skills.md).
@@ -1,91 +0,0 @@
1
- # Oversight, Dark-Factory, And Human Feedback
2
-
3
- Wave now has an explicit planning vocabulary for execution posture.
4
-
5
- Today that posture is captured in project profile memory and planner output. The deeper runtime policy attached to those modes is still roadmap work, so this page distinguishes what is already shipped from what is still a convention.
6
-
7
- ## The Two Postures
8
-
9
- - `oversight`
10
- Human review and intervention are expected parts of the operating model for risky work.
11
- - `dark-factory`
12
- The goal is end-to-end execution without routine human intervention.
13
-
14
- These values are stored in `.wave/project-profile.json` and emitted into planner-generated specs and wave markdown.
15
-
16
- ## What Ships Today
17
-
18
- Today the runtime ships:
19
-
20
- - project-profile memory for default oversight mode
21
- - planner prompts that ask for oversight mode
22
- - generated specs and waves that record the chosen mode
23
- - deploy-environment memory that helps infra and release planning
24
- - orchestrator-first clarification handling and human feedback queueing
25
-
26
- The runtime does not yet enforce a separate hard policy profile for `dark-factory` beyond what is already encoded in the wave itself.
27
-
28
- ## How To Interpret The Modes Right Now
29
-
30
- Treat them as planning posture:
31
-
32
- - `oversight`
33
- Default when a human operator should expect to inspect progress, answer questions, or approve risky transitions.
34
- - `dark-factory`
35
- Use only when the wave already has explicit environment modeling, validation, rollback posture, and clear closure signals.
36
-
37
- ## Human Feedback Is Not The Same Thing
38
-
39
- Human feedback is a runtime escalation mechanism, not an operating mode.
40
-
41
- The runtime flow is:
42
-
43
- 1. agent emits a clarification request or blocker
44
- 2. the orchestrator tries to resolve it from repo state, policy, ownership, or targeted rerouting
45
- 3. only unresolved items become human feedback tickets
46
- 4. those tickets stay visible in ledgers, summaries, and traces until resolved
47
-
48
- That means even `oversight` mode still tries to keep routine clarification inside the orchestration loop before escalating to a human.
49
-
50
- ## Oversight Mode Best Fit
51
-
52
- Choose `oversight` when:
53
-
54
- - deploy or infra mutation is live and risky
55
- - the environment model is incomplete
56
- - rollback steps are still implicit
57
- - legal, compliance, or release decisions need explicit human sign-off
58
- - the repo is still shaping its skills and closure rules
59
-
60
- ## Dark-Factory Best Fit
61
-
62
- Choose `dark-factory` only when all of these are already true:
63
-
64
- - deploy environments are typed and explicit
65
- - runtime and credential expectations are known
66
- - validation commands are concrete
67
- - rollback or recovery posture is documented
68
- - closure evidence is machine-checkable or strongly operator-visible
69
- - missing context would be treated as a planning failure, not something to improvise live
70
-
71
- ## Best Practice
72
-
73
- Default to `oversight` until the repo has earned `dark-factory`.
74
-
75
- That usually means:
76
-
77
- - stable skills for deploy and infra work
78
- - consistent deploy-environment naming
79
- - strong validation commands
80
- - reliable docs and trace review habits
81
- - low ambiguity about who owns live mutation
82
-
83
- ## Relationship To The Roadmap
84
-
85
- The roadmap still includes stronger explicit oversight vs dark-factory workflows. What is shipped today is the planning foundation:
86
-
87
- - stored project defaults
88
- - typed values in planner output
89
- - better environment modeling
90
-
91
- The stricter execution semantics are the next step, not a hidden already-finished feature.