@beyondwork/docx-react-component 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-32W6IVQE.js +7725 -0
- package/dist/chunk-32W6IVQE.js.map +1 -0
- package/dist/index.cjs +23722 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +7 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +16011 -0
- package/dist/index.js.map +1 -0
- package/dist/public-types-DqCURAz8.d.cts +1152 -0
- package/dist/public-types-DqCURAz8.d.ts +1152 -0
- package/dist/tailwind.cjs +8295 -0
- package/dist/tailwind.cjs.map +1 -0
- package/dist/tailwind.d.cts +323 -0
- package/dist/tailwind.d.ts +323 -0
- package/dist/tailwind.js +553 -0
- package/dist/tailwind.js.map +1 -0
- package/package.json +52 -31
- package/.codex/config.toml +0 -5
- package/.corepack/v1/pnpm/10.30.3/.corepack +0 -1
- package/.corepack/v1/pnpm/10.30.3/LICENSE +0 -22
- package/.corepack/v1/pnpm/10.30.3/README.md +0 -240
- package/.corepack/v1/pnpm/10.30.3/dist/node-gyp-bin/node-gyp +0 -6
- package/.corepack/v1/pnpm/10.30.3/dist/node-gyp-bin/node-gyp.cmd +0 -5
- package/.corepack/v1/pnpm/10.30.3/dist/pnpm.cjs +0 -195400
- package/.corepack/v1/pnpm/10.30.3/dist/pnpmrc +0 -2
- package/.corepack/v1/pnpm/10.30.3/dist/reflink.darwin-arm64-2HJ4WGO6.node +0 -0
- package/.corepack/v1/pnpm/10.30.3/dist/reflink.darwin-x64-3G3H6IW4.node +0 -0
- package/.corepack/v1/pnpm/10.30.3/dist/reflink.win32-arm64-msvc-Q6BARPPB.node +0 -0
- package/.corepack/v1/pnpm/10.30.3/dist/reflink.win32-x64-msvc-J2TZHRQI.node +0 -0
- package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.bash +0 -31
- package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.fish +0 -22
- package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.ps1 +0 -193
- package/.corepack/v1/pnpm/10.30.3/dist/templates/completion.zsh +0 -27
- package/.corepack/v1/pnpm/10.30.3/dist/vendor/fastlist-0.3.0-x64.exe +0 -0
- package/.corepack/v1/pnpm/10.30.3/dist/vendor/fastlist-0.3.0-x86.exe +0 -0
- package/.corepack/v1/pnpm/10.30.3/dist/worker.js +0 -10119
- package/.corepack/v1/pnpm/10.30.3/package.json +0 -192
- package/.cursor/mcp.json +0 -7
- package/.github/workflows/ci.yml +0 -35
- package/.mcp.json +0 -7
- package/.openclaw/workspace-state.json +0 -4
- package/.pnpmrc.json +0 -1
- package/.wave-launch.sh +0 -7
- package/.workspace-marker +0 -1
- package/AGENTS.md +0 -78
- package/CHANGELOG.md +0 -177
- package/DESIGN.md +0 -929
- package/HEARTBEAT.md +0 -7
- package/IDENTITY.md +0 -23
- package/SOUL.md +0 -36
- package/TOOLS.md +0 -40
- package/USER.md +0 -17
- package/docs/README.md +0 -107
- package/docs/agents/wave-cont-eval-role.md +0 -36
- package/docs/agents/wave-cont-qa-role.md +0 -52
- package/docs/agents/wave-deploy-verifier-role.md +0 -34
- package/docs/agents/wave-design-role.md +0 -47
- package/docs/agents/wave-documentation-role.md +0 -34
- package/docs/agents/wave-infra-role.md +0 -34
- package/docs/agents/wave-integration-role.md +0 -37
- package/docs/agents/wave-launcher-role.md +0 -41
- package/docs/agents/wave-orchestrator-role.md +0 -52
- package/docs/agents/wave-planner-role.md +0 -39
- package/docs/agents/wave-security-role.md +0 -40
- package/docs/architecture/docx/README.md +0 -10
- package/docs/architecture/future/README.md +0 -8
- package/docs/architecture/ooxml-upgrade-analysis.md +0 -134
- package/docs/architecture/platform/shared-openxml-editor-platform.md +0 -153
- package/docs/architecture/xlsx/canonical-workbook-model-and-commands.md +0 -187
- package/docs/architecture/xlsx/spreadsheet-editor-frontend-architecture.md +0 -150
- package/docs/comment-redline-overview.md +0 -350
- package/docs/concepts/context7-vs-skills.md +0 -118
- package/docs/concepts/operating-modes.md +0 -91
- package/docs/concepts/runtime-agnostic-orchestration.md +0 -111
- package/docs/concepts/what-is-a-wave.md +0 -217
- package/docs/context7/bundles.json +0 -222
- package/docs/context7/planner-agent/README.md +0 -28
- package/docs/context7/planner-agent/manifest.json +0 -83
- package/docs/context7/planner-agent/papers/cooperbench-why-coding-agents-cannot-be-your-teammates-yet.md +0 -3283
- package/docs/context7/planner-agent/papers/dova-deliberation-first-multi-agent-orchestration-for-autonomous-research-automation.md +0 -1699
- package/docs/context7/planner-agent/papers/dpbench-large-language-models-struggle-with-simultaneous-coordination.md +0 -2251
- package/docs/context7/planner-agent/papers/incremental-planning-to-control-a-blackboard-based-problem-solver.md +0 -1729
- package/docs/context7/planner-agent/papers/silo-bench-a-scalable-environment-for-evaluating-distributed-coordination-in-multi-agent-llm-systems.md +0 -3747
- package/docs/context7/planner-agent/papers/todoevolve-learning-to-architect-agent-planning-systems.md +0 -1675
- package/docs/context7/planner-agent/papers/verified-multi-agent-orchestration-a-plan-execute-verify-replan-framework-for-complex-query-resolution.md +0 -1173
- package/docs/context7/planner-agent/papers/why-do-multi-agent-llm-systems-fail.md +0 -5211
- package/docs/context7/planner-agent/topics/planning-and-orchestration.md +0 -24
- package/docs/evals/arm-templates/README.md +0 -13
- package/docs/evals/arm-templates/full-wave.json +0 -15
- package/docs/evals/arm-templates/single-agent.json +0 -15
- package/docs/evals/benchmark-catalog.json +0 -670
- package/docs/evals/cases/README.md +0 -47
- package/docs/evals/cases/wave-blackboard-inbox-targeting.json +0 -73
- package/docs/evals/cases/wave-contradiction-conflict.json +0 -104
- package/docs/evals/cases/wave-expert-routing-preservation.json +0 -69
- package/docs/evals/cases/wave-hidden-profile-private-evidence.json +0 -81
- package/docs/evals/cases/wave-premature-closure-guard.json +0 -71
- package/docs/evals/cases/wave-silo-cross-agent-state.json +0 -77
- package/docs/evals/cases/wave-simultaneous-lockstep.json +0 -92
- package/docs/evals/external-benchmarks.json +0 -85
- package/docs/evals/external-command-config.sample.json +0 -9
- package/docs/evals/external-command-config.swe-bench-pro.json +0 -8
- package/docs/evals/pilots/README.md +0 -47
- package/docs/evals/pilots/swe-bench-pro-public-full-wave-review-10.json +0 -64
- package/docs/evals/pilots/swe-bench-pro-public-pilot.json +0 -111
- package/docs/evals/wave-benchmark-program.md +0 -302
- package/docs/guides/planner.md +0 -220
- package/docs/guides/recommendations-0.8.9.md +0 -133
- package/docs/guides/signal-wrappers.md +0 -165
- package/docs/guides/terminal-surfaces.md +0 -96
- package/docs/image copy.png +0 -0
- package/docs/image.png +0 -0
- package/docs/images/image.png +0 -0
- package/docs/legal-feedback-architecture.md +0 -498
- package/docs/plans/component-cutover-matrix.json +0 -1072
- package/docs/plans/component-cutover-matrix.md +0 -307
- package/docs/plans/context7-wave-orchestrator.md +0 -155
- package/docs/plans/current-state.md +0 -198
- package/docs/plans/docx/README.md +0 -9
- package/docs/plans/examples/wave-benchmark-improvement.md +0 -108
- package/docs/plans/examples/wave-example-live-proof.md +0 -435
- package/docs/plans/master-plan.md +0 -224
- package/docs/plans/migration.md +0 -538
- package/docs/plans/operations/README.md +0 -7
- package/docs/plans/operations/wave-10-word-certification.md +0 -87
- package/docs/plans/operations/wave-8-railway-staging.md +0 -153
- package/docs/plans/operations/wave-9-manual-certification.md +0 -73
- package/docs/plans/platform/README.md +0 -9
- package/docs/plans/reference/legal-checklist-coverage.md +0 -258
- package/docs/plans/wave-orchestrator.md +0 -423
- package/docs/plans/waves/README.md +0 -75
- package/docs/plans/waves/completed/wave-0.md +0 -195
- package/docs/plans/waves/completed/wave-1.md +0 -379
- package/docs/plans/waves/completed/wave-10.md +0 -670
- package/docs/plans/waves/completed/wave-11.md +0 -335
- package/docs/plans/waves/completed/wave-12.md +0 -417
- package/docs/plans/waves/completed/wave-13.md +0 -316
- package/docs/plans/waves/completed/wave-14.md +0 -319
- package/docs/plans/waves/completed/wave-15.md +0 -321
- package/docs/plans/waves/completed/wave-16.md +0 -316
- package/docs/plans/waves/completed/wave-17.md +0 -331
- package/docs/plans/waves/completed/wave-18.md +0 -328
- package/docs/plans/waves/completed/wave-2.md +0 -438
- package/docs/plans/waves/completed/wave-3.md +0 -435
- package/docs/plans/waves/completed/wave-4.md +0 -430
- package/docs/plans/waves/completed/wave-5.md +0 -430
- package/docs/plans/waves/completed/wave-6.md +0 -430
- package/docs/plans/waves/completed/wave-7.md +0 -526
- package/docs/plans/waves/completed/wave-8.md +0 -596
- package/docs/plans/waves/completed/wave-9.md +0 -552
- package/docs/plans/waves/deferred/README.md +0 -14
- package/docs/plans/waves/deferred/encrypted-intake-contracts.md +0 -282
- package/docs/plans/waves/deferred/legal-feedback-wave-expansion.md +0 -308
- package/docs/plans/waves/deferred/wave-encrypted-intake.md +0 -451
- package/docs/plans/waves/design/README.md +0 -5
- package/docs/plans/waves/design/wave-1-a1.md +0 -309
- package/docs/plans/waves/reviews/README.md +0 -5
- package/docs/plans/waves/reviews/wave-0-cont-qa.md +0 -151
- package/docs/plans/waves/reviews/wave-1-cont-qa.md +0 -46
- package/docs/plans/waves/reviews/wave-10-accessibility-and-design.md +0 -51
- package/docs/plans/waves/reviews/wave-10-cont-qa.md +0 -24
- package/docs/plans/waves/reviews/wave-10-dashboard-proof.md +0 -46
- package/docs/plans/waves/reviews/wave-10-performance-signoff.md +0 -55
- package/docs/plans/waves/reviews/wave-10-regression-proof.md +0 -23
- package/docs/plans/waves/reviews/wave-10-release-audit.md +0 -31
- package/docs/plans/waves/reviews/wave-10-service-proof.md +0 -83
- package/docs/plans/waves/reviews/wave-10-word-certification.md +0 -31
- package/docs/plans/waves/reviews/wave-18-ai-contract-closure.md +0 -277
- package/docs/plans/waves/reviews/wave-18-cont-qa.md +0 -255
- package/docs/plans/waves/reviews/wave-18-parity-proof.md +0 -271
- package/docs/plans/waves/reviews/wave-19-cont-qa.md +0 -59
- package/docs/plans/waves/reviews/wave-2-cont-qa.md +0 -72
- package/docs/plans/waves/reviews/wave-20-cont-qa.md +0 -60
- package/docs/plans/waves/reviews/wave-25-cont-qa.md +0 -48
- package/docs/plans/waves/reviews/wave-28-cont-qa.md +0 -46
- package/docs/plans/waves/reviews/wave-29-cont-qa.md +0 -53
- package/docs/plans/waves/reviews/wave-3-cont-qa.md +0 -53
- package/docs/plans/waves/reviews/wave-3-core-proof.md +0 -77
- package/docs/plans/waves/reviews/wave-3-validator-proof.md +0 -73
- package/docs/plans/waves/reviews/wave-32-cont-qa.md +0 -43
- package/docs/plans/waves/reviews/wave-33-cont-qa.md +0 -526
- package/docs/plans/waves/reviews/wave-34-cont-qa.md +0 -100
- package/docs/plans/waves/reviews/wave-35-cont-qa.md +0 -145
- package/docs/plans/waves/reviews/wave-4-cont-qa.md +0 -47
- package/docs/plans/waves/reviews/wave-4-structure-proof.md +0 -69
- package/docs/plans/waves/reviews/wave-5-comment-proof.md +0 -158
- package/docs/plans/waves/reviews/wave-5-cont-qa.md +0 -68
- package/docs/plans/waves/reviews/wave-6-cont-qa.md +0 -416
- package/docs/plans/waves/reviews/wave-6-redline-proof.md +0 -130
- package/docs/plans/waves/reviews/wave-7-cont-qa.md +0 -82
- package/docs/plans/waves/reviews/wave-7-ooxml-compliance.md +0 -85
- package/docs/plans/waves/reviews/wave-7-preservation-proof.md +0 -119
- package/docs/plans/waves/reviews/wave-7-trust-ux.md +0 -87
- package/docs/plans/waves/reviews/wave-8-accessibility-and-design.md +0 -128
- package/docs/plans/waves/reviews/wave-8-cont-qa.md +0 -92
- package/docs/plans/waves/reviews/wave-8-live-proof.md +0 -140
- package/docs/plans/waves/reviews/wave-8-security.md +0 -47
- package/docs/plans/waves/reviews/wave-9-editor-embedding.md +0 -39
- package/docs/plans/waves/reviews/wave-9-fixture-runner.md +0 -56
- package/docs/plans/waves/reviews/wave-9-live-proof.md +0 -105
- package/docs/plans/waves/reviews/wave-9-usability-and-performance.md +0 -152
- package/docs/plans/waves/specs/README.md +0 -5
- package/docs/plans/waves/specs/wave-1-component-boundaries.md +0 -322
- package/docs/plans/waves/specs/wave-1-ooxml-contracts.md +0 -323
- package/docs/plans/waves/specs/wave-1-review-and-ui-contracts.md +0 -339
- package/docs/plans/waves/specs/wave-1-runtime-contracts.md +0 -509
- package/docs/plans/waves/wave-19.md +0 -341
- package/docs/plans/waves/wave-20.md +0 -308
- package/docs/plans/waves/wave-21.md +0 -289
- package/docs/plans/waves/wave-22.md +0 -221
- package/docs/plans/waves/wave-23.md +0 -295
- package/docs/plans/waves/wave-24.md +0 -286
- package/docs/plans/waves/wave-25.md +0 -313
- package/docs/plans/waves/wave-26.md +0 -300
- package/docs/plans/waves/wave-27.md +0 -299
- package/docs/plans/waves/wave-28.md +0 -368
- package/docs/plans/waves/wave-29.md +0 -303
- package/docs/plans/waves/wave-30.md +0 -307
- package/docs/plans/waves/wave-31.md +0 -231
- package/docs/plans/waves/wave-32.md +0 -152
- package/docs/plans/waves/wave-33.md +0 -147
- package/docs/plans/waves/wave-34.md +0 -148
- package/docs/plans/waves/wave-35.md +0 -141
- package/docs/plans/waves/wave-36.md +0 -146
- package/docs/plans/xlsx/README.md +0 -14
- package/docs/plans/xlsx/xlsx-fixture-corpus-and-certification-plan.md +0 -126
- package/docs/reference/cli-reference.md +0 -600
- package/docs/reference/coordination-and-closure.md +0 -487
- package/docs/reference/deep-research-report (15).md +0 -25
- package/docs/reference/docx/README.md +0 -10
- package/docs/reference/legal-checklist.md +0 -445
- package/docs/reference/live-proof-waves.md +0 -199
- package/docs/reference/ooxml-compliance.md +0 -129
- package/docs/reference/ooxml-feature-parity-matrix.md +0 -172
- package/docs/reference/platform/shared-ooxml-platform-guidance.md +0 -77
- package/docs/reference/prototype-agent-prompt-legal-fidelity.md +0 -155
- package/docs/reference/public-api.md +0 -456
- package/docs/reference/repository-guidance.md +0 -58
- package/docs/reference/runtime-config/README.md +0 -182
- package/docs/reference/runtime-config/claude.md +0 -110
- package/docs/reference/runtime-config/codex.md +0 -82
- package/docs/reference/runtime-config/opencode.md +0 -93
- package/docs/reference/sample-waves.md +0 -105
- package/docs/reference/skills.md +0 -237
- package/docs/reference/templates/AGENTS.md +0 -78
- package/docs/reference/templates/HEARTBEAT.md +0 -7
- package/docs/reference/templates/IDENTITY.md +0 -23
- package/docs/reference/templates/SOUL.md +0 -36
- package/docs/reference/templates/TOOLS.md +0 -40
- package/docs/reference/templates/USER.md +0 -17
- package/docs/reference/wave-control.md +0 -184
- package/docs/reference/wave-planning-lessons.md +0 -167
- package/docs/reference/word-review-editor-frontend-architecture.md +0 -479
- package/docs/reference/word-review-editor-ux-guide.md +0 -253
- package/docs/reference/xlsx/xlsx-ooxml-compliance.md +0 -137
- package/docs/research/agent-context-sources.md +0 -178
- package/docs/research/coordination-failure-review.md +0 -290
- package/docs/research/docx-react-component/Canonical Document Schema Specification for a React-based Word-compatible Editor.md +0 -2317
- package/docs/research/docx-react-component/Feature Compatibility Matrix for a React Word Compatible Legal Editor v1.md +0 -219
- package/docs/research/docx-react-component/React Component Architecture and Front-End Structure Specification for a Word-Compatible Legal Review Editor.md +0 -1112
- package/docs/research/docx-react-component/document_compatibility_and_testing_spec.md +0 -751
- package/docs/research/xlsx/raw/README.md +0 -13
- package/docs/roadmap.md +0 -174
- package/docs/superpowers/plans/2026-03-28-harness-control-bar.md +0 -677
- package/docs/superpowers/specs/2026-03-28-harness-control-bar-design.md +0 -274
- package/docs/xlsx-react/README.md +0 -38
- package/docs/xlsx-react/agent-llm-interaction-layer-docx-xlsx.md +0 -621
- package/docs/xlsx-react/canonical-workbook-model-and-commands.md +0 -948
- package/docs/xlsx-react/shared-openxml-editor-platform-docx-xlsx.md +0 -228
- package/docs/xlsx-react/spreadsheet-editor-component-architecture.md +0 -809
- package/docs/xlsx-react/spreadsheet-editor-frontend-architecture.md +0 -537
- package/docs/xlsx-react/spreadsheet-editor-ux-guide.md +0 -520
- package/docs/xlsx-react/xlsx-editor-research-pack.md +0 -871
- package/docs/xlsx-react/xlsx-fixture-corpus-and-certification-plan.md +0 -436
- package/docs/xlsx-react/xlsx-ooxml-compliance.md +0 -320
- package/examples/README.md +0 -16
- package/memory/MEMORY.md +0 -24
- package/pnpm-workspace.yaml +0 -4
- package/scripts/check-no-authored-js.sh +0 -13
- package/scripts/context7-api-check.sh +0 -65
- package/scripts/context7-export-env.sh +0 -42
- package/scripts/run-context7-mcp.sh +0 -8
- package/scripts/run-workspace-tests.sh +0 -15
- package/scripts/start-wave-10-local.sh +0 -189
- package/scripts/wave-agent-attach.sh +0 -47
- package/scripts/wave-auto-answer.sh +0 -118
- package/scripts/wave-dashboard-attach.sh +0 -13
- package/scripts/wave-launch.sh +0 -273
- package/scripts/wave-overnight-supervisor.sh +0 -145
- package/scripts/wave-status.sh +0 -379
- package/scripts/wave-watch.sh +0 -231
- package/services/README.md +0 -17
- package/services/openxml-validator/Dockerfile +0 -29
- package/services/openxml-validator/OpenXmlValidator.Api.csproj +0 -12
- package/services/openxml-validator/Program.cs +0 -436
- package/services/openxml-validator/README.md +0 -152
- package/services/openxml-validator/railway.json +0 -16
- package/services/react-word-editor/.tmp-a4/src/api/public-types.ts +0 -318
- package/services/react-word-editor/.tmp-a4/src/ui/WordReviewEditor.tsx +0 -1302
- package/services/react-word-editor/.tmp-a4/src/ui/editor-surface/editor-surface.tsx +0 -546
- package/services/react-word-editor/.tmp-a4/test/ui/word-review-editor.test.tsx +0 -146
- package/services/react-word-editor/.tmp-a4-build/src/api/public-types.js +0 -2
- package/services/react-word-editor/.tmp-a4-build/src/ui/WordReviewEditor.js +0 -818
- package/services/react-word-editor/.tmp-a4-build/src/ui/editor-surface/editor-surface.js +0 -229
- package/services/react-word-editor/.tmp-a4-build/test/ui/word-review-editor.test.js +0 -121
- package/services/react-word-editor/.tmp-wave-4-a3-tsconfig.json +0 -21
- package/services/react-word-editor/.tmp-wave-4-a3-tsconfig.tsbuildinfo +0 -1
- package/services/react-word-editor/Dockerfile +0 -26
- package/services/react-word-editor/README.md +0 -254
- package/services/react-word-editor/app/api/certification/route.ts +0 -79
- package/services/react-word-editor/app/api/demo-sessions/route.ts +0 -109
- package/services/react-word-editor/app/api/deploy-health/route.ts +0 -23
- package/services/react-word-editor/app/api/exports/[exportId]/route.ts +0 -34
- package/services/react-word-editor/app/api/exports/route.ts +0 -81
- package/services/react-word-editor/app/api/fixtures/[fixtureId]/run/route.ts +0 -100
- package/services/react-word-editor/app/api/health/route.ts +0 -70
- package/services/react-word-editor/app/api/runs/[runId]/route.ts +0 -36
- package/services/react-word-editor/app/api/scenarios/[scenarioId]/run/route.ts +0 -85
- package/services/react-word-editor/app/api/sessions/[sessionId]/route.ts +0 -199
- package/services/react-word-editor/app/api/sessions/[sessionId]/source/route.ts +0 -45
- package/services/react-word-editor/app/api/uploads/route.ts +0 -70
- package/services/react-word-editor/app/api/validate/route.ts +0 -310
- package/services/react-word-editor/app/certification/[runId]/page.tsx +0 -14
- package/services/react-word-editor/app/certification/page.tsx +0 -32
- package/services/react-word-editor/app/dashboard/page.tsx +0 -7
- package/services/react-word-editor/app/demo/page.tsx +0 -30
- package/services/react-word-editor/app/demo/prototype-client.tsx +0 -1080
- package/services/react-word-editor/app/editor/[sessionId]/page.tsx +0 -33
- package/services/react-word-editor/app/fixtures/page.tsx +0 -7
- package/services/react-word-editor/app/globals.css +0 -121
- package/services/react-word-editor/app/layout.tsx +0 -32
- package/services/react-word-editor/app/page.tsx +0 -30
- package/services/react-word-editor/app/runs/[runId]/page.tsx +0 -34
- package/services/react-word-editor/app/wave-10-word-review/page.tsx +0 -7
- package/services/react-word-editor/components/harness-control-bar.tsx +0 -289
- package/services/react-word-editor/components/harness-editor-session-client.tsx +0 -1214
- package/services/react-word-editor/components/harness-workspace-page.tsx +0 -715
- package/services/react-word-editor/components/reduced-motion-toggle.tsx +0 -79
- package/services/react-word-editor/components/workspace-certification-panel.tsx +0 -307
- package/services/react-word-editor/lib/certification-bundle.ts +0 -796
- package/services/react-word-editor/lib/certification-store.ts +0 -661
- package/services/react-word-editor/lib/demo-fixtures.test.mjs +0 -195
- package/services/react-word-editor/lib/demo-fixtures.ts +0 -1519
- package/services/react-word-editor/lib/editor-session-summary.test.mjs +0 -68
- package/services/react-word-editor/lib/editor-session-summary.ts +0 -14
- package/services/react-word-editor/lib/editor-session.ts +0 -228
- package/services/react-word-editor/lib/exports-route.test.mjs +0 -32
- package/services/react-word-editor/lib/harness-client.ts +0 -347
- package/services/react-word-editor/lib/harness-config.json +0 -30
- package/services/react-word-editor/lib/harness-config.test.mjs +0 -31
- package/services/react-word-editor/lib/harness-config.ts +0 -21
- package/services/react-word-editor/lib/harness-editor-datastore.test.mjs +0 -220
- package/services/react-word-editor/lib/harness-editor-datastore.ts +0 -161
- package/services/react-word-editor/lib/private-mode.test.mjs +0 -42
- package/services/react-word-editor/lib/private-mode.ts +0 -61
- package/services/react-word-editor/lib/regression-report.test.mjs +0 -352
- package/services/react-word-editor/lib/regression-report.ts +0 -896
- package/services/react-word-editor/lib/run-artifacts.ts +0 -934
- package/services/react-word-editor/lib/run-history.ts +0 -755
- package/services/react-word-editor/lib/scenario-artifacts.test.mjs +0 -41
- package/services/react-word-editor/lib/scenario-artifacts.ts +0 -44
- package/services/react-word-editor/lib/storage.ts +0 -953
- package/services/react-word-editor/lib/validator-client.test.mjs +0 -54
- package/services/react-word-editor/lib/validator-client.ts +0 -95
- package/services/react-word-editor/lib/workspace-navigation.ts +0 -79
- package/services/react-word-editor/middleware.ts +0 -35
- package/services/react-word-editor/next-env.d.ts +0 -6
- package/services/react-word-editor/next.config.mjs +0 -15
- package/services/react-word-editor/package.json +0 -38
- package/services/react-word-editor/postcss.config.mjs +0 -8
- package/services/react-word-editor/railway.json +0 -21
- package/services/react-word-editor/scripts/wave-10-certification.mjs +0 -101
- package/services/react-word-editor/scripts/wave-9-live-usability-pilot.mjs +0 -911
- package/services/react-word-editor/tsconfig.json +0 -39
- package/services/react-word-editor/tsconfig.tsbuildinfo +0 -1
- package/skills/README.md +0 -48
- package/skills/domain-docx-compatibility/SKILL.md +0 -44
- package/skills/domain-docx-compatibility/skill.json +0 -19
- package/skills/domain-editor-architecture/SKILL.md +0 -49
- package/skills/domain-editor-architecture/skill.json +0 -19
- package/skills/domain-legal-review/SKILL.md +0 -39
- package/skills/domain-legal-review/skill.json +0 -19
- package/skills/provider-aws/SKILL.md +0 -117
- package/skills/provider-aws/adapters/claude.md +0 -1
- package/skills/provider-aws/adapters/codex.md +0 -1
- package/skills/provider-aws/references/service-verification.md +0 -39
- package/skills/provider-aws/skill.json +0 -54
- package/skills/provider-custom-deploy/SKILL.md +0 -64
- package/skills/provider-custom-deploy/skill.json +0 -50
- package/skills/provider-docker-compose/SKILL.md +0 -96
- package/skills/provider-docker-compose/adapters/local.md +0 -1
- package/skills/provider-docker-compose/skill.json +0 -53
- package/skills/provider-github-release/SKILL.md +0 -121
- package/skills/provider-github-release/adapters/claude.md +0 -1
- package/skills/provider-github-release/adapters/codex.md +0 -1
- package/skills/provider-github-release/skill.json +0 -55
- package/skills/provider-kubernetes/SKILL.md +0 -143
- package/skills/provider-kubernetes/adapters/claude.md +0 -1
- package/skills/provider-kubernetes/adapters/codex.md +0 -1
- package/skills/provider-kubernetes/references/kubectl-patterns.md +0 -58
- package/skills/provider-kubernetes/skill.json +0 -52
- package/skills/provider-railway/SKILL.md +0 -123
- package/skills/provider-railway/adapters/claude.md +0 -1
- package/skills/provider-railway/adapters/codex.md +0 -1
- package/skills/provider-railway/adapters/local.md +0 -1
- package/skills/provider-railway/adapters/opencode.md +0 -1
- package/skills/provider-railway/references/verification-commands.md +0 -39
- package/skills/provider-railway/skill.json +0 -71
- package/skills/provider-ssh-manual/SKILL.md +0 -97
- package/skills/provider-ssh-manual/skill.json +0 -54
- package/skills/repo-coding-rules/SKILL.md +0 -55
- package/skills/repo-coding-rules/skill.json +0 -34
- package/skills/role-cont-eval/SKILL.md +0 -91
- package/skills/role-cont-eval/adapters/codex.md +0 -1
- package/skills/role-cont-eval/skill.json +0 -36
- package/skills/role-cont-qa/SKILL.md +0 -100
- package/skills/role-cont-qa/adapters/claude.md +0 -1
- package/skills/role-cont-qa/skill.json +0 -36
- package/skills/role-deploy/SKILL.md +0 -97
- package/skills/role-deploy/skill.json +0 -36
- package/skills/role-design/SKILL.md +0 -50
- package/skills/role-design/skill.json +0 -36
- package/skills/role-documentation/SKILL.md +0 -76
- package/skills/role-documentation/skill.json +0 -36
- package/skills/role-implementation/SKILL.md +0 -45
- package/skills/role-implementation/skill.json +0 -36
- package/skills/role-infra/SKILL.md +0 -81
- package/skills/role-infra/skill.json +0 -36
- package/skills/role-integration/SKILL.md +0 -91
- package/skills/role-integration/skill.json +0 -36
- package/skills/role-planner/SKILL.md +0 -39
- package/skills/role-planner/skill.json +0 -21
- package/skills/role-research/SKILL.md +0 -65
- package/skills/role-research/skill.json +0 -36
- package/skills/role-security/SKILL.md +0 -60
- package/skills/role-security/skill.json +0 -36
- package/skills/runtime-claude/SKILL.md +0 -66
- package/skills/runtime-claude/skill.json +0 -36
- package/skills/runtime-codex/SKILL.md +0 -58
- package/skills/runtime-codex/skill.json +0 -36
- package/skills/runtime-local/SKILL.md +0 -46
- package/skills/runtime-local/skill.json +0 -36
- package/skills/runtime-opencode/SKILL.md +0 -58
- package/skills/runtime-opencode/skill.json +0 -36
- package/skills/signal-hygiene/SKILL.md +0 -51
- package/skills/signal-hygiene/skill.json +0 -20
- package/skills/tui-design/SKILL.md +0 -77
- package/skills/tui-design/references/tui-design.md +0 -259
- package/skills/tui-design/skill.json +0 -36
- package/skills/wave-core/SKILL.md +0 -141
- package/skills/wave-core/references/marker-syntax.md +0 -70
- package/skills/wave-core/skill.json +0 -35
- package/src/README.md +0 -85
- package/src/api/README.md +0 -22
- package/src/api/public-types.ts +0 -525
- package/src/component-inventory.md +0 -99
- package/src/core/README.md +0 -10
- package/src/core/commands/README.md +0 -3
- package/src/core/commands/formatting-commands.ts +0 -161
- package/src/core/commands/image-commands.ts +0 -144
- package/src/core/commands/index.ts +0 -1013
- package/src/core/commands/list-commands.ts +0 -370
- package/src/core/commands/review-commands.ts +0 -108
- package/src/core/commands/text-commands.ts +0 -119
- package/src/core/schema/README.md +0 -3
- package/src/core/schema/text-schema.ts +0 -512
- package/src/core/selection/README.md +0 -3
- package/src/core/selection/mapping.ts +0 -238
- package/src/core/selection/review-anchors.ts +0 -94
- package/src/core/state/README.md +0 -3
- package/src/core/state/editor-state.ts +0 -580
- package/src/core/state/text-transaction.ts +0 -276
- package/src/formats/xlsx/io/parse-shared-strings.ts +0 -41
- package/src/formats/xlsx/io/parse-sheet.ts +0 -289
- package/src/formats/xlsx/io/parse-styles.ts +0 -57
- package/src/formats/xlsx/io/parse-workbook.ts +0 -75
- package/src/formats/xlsx/io/xlsx-session.ts +0 -306
- package/src/formats/xlsx/model/cell.ts +0 -189
- package/src/formats/xlsx/model/sheet.ts +0 -244
- package/src/formats/xlsx/model/styles.ts +0 -118
- package/src/formats/xlsx/model/workbook.ts +0 -449
- package/src/io/README.md +0 -10
- package/src/io/docx-session.ts +0 -1763
- package/src/io/export/README.md +0 -3
- package/src/io/export/export-session.ts +0 -165
- package/src/io/export/minimal-docx.ts +0 -115
- package/src/io/export/reattach-preserved-parts.ts +0 -54
- package/src/io/export/serialize-comments.ts +0 -876
- package/src/io/export/serialize-footnotes.ts +0 -217
- package/src/io/export/serialize-headers-footers.ts +0 -200
- package/src/io/export/serialize-main-document.ts +0 -982
- package/src/io/export/serialize-numbering.ts +0 -97
- package/src/io/export/serialize-revisions.ts +0 -389
- package/src/io/export/serialize-runtime-revisions.ts +0 -265
- package/src/io/export/serialize-tables.ts +0 -147
- package/src/io/export/split-review-boundaries.ts +0 -194
- package/src/io/normalize/README.md +0 -3
- package/src/io/normalize/normalize-text.ts +0 -437
- package/src/io/ooxml/README.md +0 -3
- package/src/io/ooxml/parse-comments.ts +0 -779
- package/src/io/ooxml/parse-complex-content.ts +0 -287
- package/src/io/ooxml/parse-fields.ts +0 -438
- package/src/io/ooxml/parse-footnotes.ts +0 -403
- package/src/io/ooxml/parse-headers-footers.ts +0 -483
- package/src/io/ooxml/parse-inline-media.ts +0 -431
- package/src/io/ooxml/parse-main-document.ts +0 -1846
- package/src/io/ooxml/parse-numbering.ts +0 -425
- package/src/io/ooxml/parse-revisions.ts +0 -658
- package/src/io/ooxml/parse-shapes.ts +0 -271
- package/src/io/ooxml/parse-tables.ts +0 -568
- package/src/io/ooxml/parse-theme.ts +0 -314
- package/src/io/ooxml/part-manifest.ts +0 -136
- package/src/io/ooxml/revision-boundaries.ts +0 -351
- package/src/io/opc/README.md +0 -3
- package/src/io/opc/corrupt-package.ts +0 -166
- package/src/io/opc/docx-package.ts +0 -74
- package/src/io/opc/package-reader.ts +0 -320
- package/src/io/opc/package-writer.ts +0 -273
- package/src/model/README.md +0 -3
- package/src/model/canonical-document.ts +0 -1911
- package/src/model/cds-1.0.0.ts +0 -196
- package/src/model/snapshot.ts +0 -393
- package/src/preservation/README.md +0 -3
- package/src/preservation/markup-compatibility.ts +0 -48
- package/src/preservation/opaque-fragment-store.ts +0 -89
- package/src/preservation/opaque-region.ts +0 -233
- package/src/preservation/package-preservation.ts +0 -120
- package/src/preservation/preserved-part-manifest.ts +0 -56
- package/src/preservation/relationship-retention.ts +0 -57
- package/src/preservation/store.ts +0 -185
- package/src/review/README.md +0 -16
- package/src/review/store/README.md +0 -3
- package/src/review/store/comment-anchors.ts +0 -70
- package/src/review/store/comment-remapping.ts +0 -154
- package/src/review/store/comment-store.ts +0 -331
- package/src/review/store/comment-thread.ts +0 -109
- package/src/review/store/revision-actions.ts +0 -394
- package/src/review/store/revision-store.ts +0 -303
- package/src/review/store/revision-types.ts +0 -168
- package/src/review/store/runtime-comment-store.ts +0 -43
- package/src/runtime/README.md +0 -3
- package/src/runtime/ai-action-policy.ts +0 -764
- package/src/runtime/document-runtime.ts +0 -969
- package/src/runtime/read-only-diagnostics-runtime.ts +0 -232
- package/src/runtime/review-runtime.ts +0 -44
- package/src/runtime/revision-runtime.ts +0 -107
- package/src/runtime/session-capabilities.ts +0 -138
- package/src/runtime/surface-projection.ts +0 -570
- package/src/runtime/table-commands.ts +0 -84
- package/src/runtime/table-schema.ts +0 -125
- package/src/ui/README.md +0 -30
- package/src/ui/WordReviewEditor.tsx +0 -1283
- package/src/ui/comments/README.md +0 -3
- package/src/ui/compatibility/README.md +0 -3
- package/src/ui/editor-surface/README.md +0 -3
- package/src/ui/headless/comment-decoration-model.ts +0 -124
- package/src/ui/headless/revision-decoration-model.ts +0 -128
- package/src/ui/headless/selection-helpers.ts +0 -34
- package/src/ui/headless/use-editor-keyboard.ts +0 -98
- package/src/ui/review/README.md +0 -3
- package/src/ui/shared/revision-filters.ts +0 -31
- package/src/ui/status/README.md +0 -3
- package/src/ui/theme/README.md +0 -3
- package/src/ui/toolbar/README.md +0 -3
- package/src/ui-tailwind/chrome/tw-alert-banner.tsx +0 -48
- package/src/ui-tailwind/chrome/tw-selection-toolbar.tsx +0 -44
- package/src/ui-tailwind/chrome/tw-unsaved-modal.tsx +0 -58
- package/src/ui-tailwind/chrome/use-before-unload.ts +0 -20
- package/src/ui-tailwind/editor-surface/pm-command-bridge.ts +0 -139
- package/src/ui-tailwind/editor-surface/pm-decorations.ts +0 -98
- package/src/ui-tailwind/editor-surface/pm-position-map.ts +0 -123
- package/src/ui-tailwind/editor-surface/pm-schema.ts +0 -452
- package/src/ui-tailwind/editor-surface/pm-state-from-snapshot.ts +0 -327
- package/src/ui-tailwind/editor-surface/search-plugin.ts +0 -157
- package/src/ui-tailwind/editor-surface/tw-caret.tsx +0 -12
- package/src/ui-tailwind/editor-surface/tw-editor-surface.tsx +0 -150
- package/src/ui-tailwind/editor-surface/tw-inline-token.tsx +0 -118
- package/src/ui-tailwind/editor-surface/tw-opaque-block.tsx +0 -52
- package/src/ui-tailwind/editor-surface/tw-paragraph-block.tsx +0 -151
- package/src/ui-tailwind/editor-surface/tw-prosemirror-surface.tsx +0 -215
- package/src/ui-tailwind/editor-surface/tw-segment-view.tsx +0 -111
- package/src/ui-tailwind/editor-surface/tw-table-node-view.tsx +0 -108
- package/src/ui-tailwind/index.ts +0 -61
- package/src/ui-tailwind/review/tw-comment-sidebar.tsx +0 -276
- package/src/ui-tailwind/review/tw-health-panel.tsx +0 -120
- package/src/ui-tailwind/review/tw-review-rail.tsx +0 -120
- package/src/ui-tailwind/review/tw-revision-sidebar.tsx +0 -164
- package/src/ui-tailwind/status/tw-status-bar.tsx +0 -58
- package/src/ui-tailwind/theme/editor-theme.css +0 -190
- package/src/ui-tailwind/toolbar/tw-toolbar-icon-button.tsx +0 -48
- package/src/ui-tailwind/toolbar/tw-toolbar.tsx +0 -231
- package/src/ui-tailwind/tw-review-workspace.tsx +0 -140
- package/src/validation/README.md +0 -3
- package/src/validation/compatibility-engine.ts +0 -317
- package/src/validation/compatibility-report.ts +0 -160
- package/src/validation/diagnostics.ts +0 -203
- package/src/validation/import-diagnostics.ts +0 -128
- package/src/validation/low-priority-word-surfaces.ts +0 -373
- package/test/README.md +0 -16
- package/test/core/formatting-commands.test.ts +0 -285
- package/test/core/image-commands.test.ts +0 -298
- package/test/core/mapping.test.ts +0 -186
- package/test/core/text-commands.test.ts +0 -176
- package/test/fixtures/docx/F01-basic-contract.docx +0 -0
- package/test/fixtures/docx/F01-basic-contract.md +0 -33
- package/test/fixtures/docx/F02-headings-styles.docx +0 -0
- package/test/fixtures/docx/F02-headings-styles.md +0 -33
- package/test/fixtures/docx/F03-legal-outline-numbering.docx +0 -0
- package/test/fixtures/docx/F03-legal-outline-numbering.md +0 -34
- package/test/fixtures/docx/F04-restart-numbering-schedules.docx +0 -0
- package/test/fixtures/docx/F04-restart-numbering-schedules.md +0 -33
- package/test/fixtures/docx/F05-table-heavy-agreement.docx +0 -0
- package/test/fixtures/docx/F05-table-heavy-agreement.md +0 -34
- package/test/fixtures/docx/F06-merged-cells-signature-table.docx +0 -0
- package/test/fixtures/docx/F06-merged-cells-signature-table.md +0 -34
- package/test/fixtures/docx/F07-inline-images-exhibit.docx +0 -0
- package/test/fixtures/docx/F07-inline-images-exhibit.md +0 -34
- package/test/fixtures/docx/F08-hyperlinks.docx +0 -0
- package/test/fixtures/docx/F08-hyperlinks.md +0 -33
- package/test/fixtures/docx/F09-comments-single-paragraph.docx +0 -0
- package/test/fixtures/docx/F09-comments-single-paragraph.md +0 -33
- package/test/fixtures/docx/F10-threaded-comments-resolve.docx +0 -0
- package/test/fixtures/docx/F10-threaded-comments-resolve.md +0 -33
- package/test/fixtures/docx/F11-redlines-basic.docx +0 -0
- package/test/fixtures/docx/F11-redlines-basic.md +0 -33
- package/test/fixtures/docx/F12-redlines-paragraph-joins-splits.docx +0 -0
- package/test/fixtures/docx/F12-redlines-paragraph-joins-splits.md +0 -33
- package/test/fixtures/docx/F13-comments-on-deleted-text.docx +0 -0
- package/test/fixtures/docx/F13-comments-on-deleted-text.md +0 -33
- package/test/fixtures/docx/F14-revisions-in-tables-and-lists.docx +0 -0
- package/test/fixtures/docx/F14-revisions-in-tables-and-lists.md +0 -33
- package/test/fixtures/docx/F15-sections-headers-footers.docx +0 -0
- package/test/fixtures/docx/F15-sections-headers-footers.md +0 -33
- package/test/fixtures/docx/F16-footnotes-endnotes.docx +0 -0
- package/test/fixtures/docx/F16-footnotes-endnotes.md +0 -33
- package/test/fixtures/docx/F17-fields-and-toc.docx +0 -0
- package/test/fixtures/docx/F17-fields-and-toc.md +0 -33
- package/test/fixtures/docx/F18-content-controls-template.docx +0 -0
- package/test/fixtures/docx/F18-content-controls-template.md +0 -33
- package/test/fixtures/docx/F19-custom-xml-doc-assembly.docx +0 -0
- package/test/fixtures/docx/F19-custom-xml-doc-assembly.md +0 -35
- package/test/fixtures/docx/F20-unknown-ooxml-and-alternatecontent.docx +0 -0
- package/test/fixtures/docx/F20-unknown-ooxml-and-alternatecontent.md +0 -33
- package/test/fixtures/docx/F21-malformed-broken-docx.docx +0 -0
- package/test/fixtures/docx/F21-malformed-broken-docx.md +0 -33
- package/test/fixtures/docx/README.md +0 -74
- package/test/fixtures/docx/certification-manifest.json +0 -104
- package/test/fixtures/docx/fixtures.manifest.json +0 -196
- package/test/fixtures/encrypted-docx/README.md +0 -27
- package/test/fixtures/encrypted-docx/certification-manifest.json +0 -9
- package/test/fixtures/encrypted-docx/fixtures.manifest.json +0 -47
- package/test/fixtures/scenarios/docx/README.md +0 -25
- package/test/fixtures/scenarios/docx/S01-sow-template.docx +0 -0
- package/test/fixtures/scenarios/docx/S01-sow-template.md +0 -30
- package/test/fixtures/scenarios/docx/S02-bw-partner-user-licence-agreement-redlines.docx +0 -0
- package/test/fixtures/scenarios/docx/S02-bw-partner-user-licence-agreement-redlines.md +0 -32
- package/test/fixtures/scenarios/docx/scenario-manifest.json +0 -53
- package/test/formats/xlsx/io/xlsx-import.test.ts +0 -766
- package/test/formats/xlsx/model/workbook.test.ts +0 -669
- package/test/helpers/dom-setup.ts +0 -124
- package/test/io/comment-roundtrip.test.ts +0 -272
- package/test/io/complex-content-roundtrip.test.ts +0 -632
- package/test/io/docx-compatibility-regression.test.ts +0 -199
- package/test/io/docx-session.test.ts +0 -1495
- package/test/io/footnotes-roundtrip.test.ts +0 -318
- package/test/io/headers-footers-roundtrip.test.ts +0 -547
- package/test/io/numbering-roundtrip.test.ts +0 -234
- package/test/io/package-reader.test.ts +0 -199
- package/test/io/paragraph-properties-roundtrip.test.ts +0 -129
- package/test/io/preserved-package-roundtrip.test.ts +0 -365
- package/test/io/property-completeness.test.ts +0 -292
- package/test/io/revision-roundtrip.test.ts +0 -347
- package/test/io/structural-blocks.test.ts +0 -202
- package/test/io/table-media-roundtrip.test.ts +0 -448
- package/test/io/table-properties-roundtrip.test.ts +0 -569
- package/test/io/table-roundtrip.test.ts +0 -302
- package/test/io/text-roundtrip.test.ts +0 -344
- package/test/model/canonical-document.test.ts +0 -285
- package/test/preservation/opaque-fragment-store.test.ts +0 -121
- package/test/preservation/package-preservation.test.ts +0 -395
- package/test/preservation/store.test.ts +0 -84
- package/test/review/comment-remapping.test.ts +0 -220
- package/test/review/comment-store.test.ts +0 -180
- package/test/review/move-revisions.test.ts +0 -143
- package/test/review/property-change-revisions.test.ts +0 -225
- package/test/review/revision-actions.test.ts +0 -330
- package/test/review/revision-store.test.ts +0 -193
- package/test/runtime/session-capabilities.test.ts +0 -260
- package/test/runtime/table-commands.test.ts +0 -356
- package/test/runtime/table-schema.test.ts +0 -221
- package/test/runtime/tracked-changes-toggle.test.ts +0 -107
- package/test/ui/comment-review-surface.test.tsx +0 -114
- package/test/ui/reduced-motion-toggle.test.tsx +0 -137
- package/test/ui/word-review-editor.imported-scenarios.test.tsx +0 -169
- package/test/ui/word-review-editor.interaction.test.tsx +0 -1198
- package/test/ui/word-review-editor.test.js +0 -188
- package/test/ui/word-review-editor.test.tsx +0 -280
- package/test/ui-tailwind/search-plugin.test.ts +0 -286
- package/test/validation/compatibility-engine.test.ts +0 -336
- package/test/validation/compatibility-report.test.ts +0 -189
- package/test/validation/low-priority-word-surfaces.test.ts +0 -282
- package/test/validation/malformed-doc.test.ts +0 -113
- package/test-results/.last-run.json +0 -4
- 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.
|