@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.
- package/README.md +44 -104
- package/package.json +66 -15
- package/src/api/public-types.ts +1 -1
- package/src/compare/diff-engine.ts +530 -0
- package/src/compare/export-redlines.ts +162 -0
- package/src/compare/snapshot.ts +37 -0
- package/src/core/commands/index.ts +1 -1
- package/src/core/state/editor-state.ts +2 -2
- package/src/index.ts +45 -0
- package/src/legal/bookmarks.ts +196 -0
- package/src/legal/cross-references.ts +356 -0
- package/src/legal/defined-terms.ts +203 -0
- package/src/runtime/document-runtime.ts +3 -5
- package/src/runtime/table-commands.ts +4 -1
- package/src/runtime/table-schema.ts +17 -2
- package/src/runtime/virtualized-rendering.ts +258 -0
- package/src/ui/WordReviewEditor.tsx +256 -35
- package/src/ui-tailwind/editor-surface/tw-editor-surface.tsx +2 -2
- package/src/ui-tailwind/editor-surface/tw-table-node-view.tsx +16 -2
- 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/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,231 +0,0 @@
|
|
|
1
|
-
# Wave 31 - Realtime Collaboration
|
|
2
|
-
|
|
3
|
-
**Commit message**: `Build: Yjs collaborative editing with cursors and awareness`
|
|
4
|
-
|
|
5
|
-
## Project profile
|
|
6
|
-
|
|
7
|
-
- project: React Word Editor
|
|
8
|
-
- new-project: no
|
|
9
|
-
- oversight-mode: dark-factory
|
|
10
|
-
- lane: main
|
|
11
|
-
|
|
12
|
-
## Sequencing note
|
|
13
|
-
|
|
14
|
-
- Final parity wave. Adds Yjs-based collaborative editing. This is additive — the editor must work identically in single-user mode when no ydoc/provider is supplied.
|
|
15
|
-
|
|
16
|
-
## Reference rule
|
|
17
|
-
|
|
18
|
-
- Read the reference collaboration module before execution. Preserve single-user mode.
|
|
19
|
-
|
|
20
|
-
## Component promotions
|
|
21
|
-
|
|
22
|
-
- realtime-collaboration: baseline-proved
|
|
23
|
-
|
|
24
|
-
## Context7 defaults
|
|
25
|
-
|
|
26
|
-
- bundle: word-editor-testing
|
|
27
|
-
- query: "Yjs, y-prosemirror, ySyncPlugin, yCursorPlugin, yUndoPlugin, awareness protocol, collaborative editing"
|
|
28
|
-
|
|
29
|
-
## Agent A0: cont-QA
|
|
30
|
-
|
|
31
|
-
### Role prompts
|
|
32
|
-
|
|
33
|
-
- docs/agents/wave-cont-qa-role.md
|
|
34
|
-
|
|
35
|
-
### Executor
|
|
36
|
-
|
|
37
|
-
- profile: deep-review
|
|
38
|
-
|
|
39
|
-
### Context7
|
|
40
|
-
|
|
41
|
-
- bundle: none
|
|
42
|
-
- query: "Architecture evaluation only; repository docs remain canonical"
|
|
43
|
-
|
|
44
|
-
### Deliverables
|
|
45
|
-
|
|
46
|
-
- docs/plans/waves/reviews/wave-31-cont-qa.md
|
|
47
|
-
|
|
48
|
-
### Prompt
|
|
49
|
-
|
|
50
|
-
```text
|
|
51
|
-
Primary goal:
|
|
52
|
-
- Verify collaboration works and single-user mode is not broken.
|
|
53
|
-
|
|
54
|
-
Required context before coding:
|
|
55
|
-
- docs/reference/repository-guidance.md
|
|
56
|
-
- docs/research/agent-context-sources.md
|
|
57
|
-
|
|
58
|
-
File ownership (only touch these paths):
|
|
59
|
-
- docs/plans/waves/reviews/wave-31-cont-qa.md
|
|
60
|
-
|
|
61
|
-
Output:
|
|
62
|
-
- Summarize the cont-QA verdict.
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
## Agent A8: Integration Steward
|
|
66
|
-
|
|
67
|
-
### Role prompts
|
|
68
|
-
|
|
69
|
-
- docs/agents/wave-integration-role.md
|
|
70
|
-
|
|
71
|
-
### Executor
|
|
72
|
-
|
|
73
|
-
- profile: deep-review
|
|
74
|
-
|
|
75
|
-
### Context7
|
|
76
|
-
|
|
77
|
-
- bundle: none
|
|
78
|
-
- query: "Integration synthesis only; repository docs remain canonical"
|
|
79
|
-
|
|
80
|
-
### Capabilities
|
|
81
|
-
|
|
82
|
-
- integration
|
|
83
|
-
- docs-shared-plan
|
|
84
|
-
|
|
85
|
-
### Deliverables
|
|
86
|
-
|
|
87
|
-
- .tmp/main-wave-launcher/integration/wave-31.md
|
|
88
|
-
- .tmp/main-wave-launcher/integration/wave-31.json
|
|
89
|
-
|
|
90
|
-
### Prompt
|
|
91
|
-
|
|
92
|
-
```text
|
|
93
|
-
Primary goal:
|
|
94
|
-
- Verify collaboration integrates without breaking runtime-first architecture.
|
|
95
|
-
|
|
96
|
-
Required context before coding:
|
|
97
|
-
- docs/reference/repository-guidance.md
|
|
98
|
-
- docs/research/agent-context-sources.md
|
|
99
|
-
- docs/plans/current-state.md
|
|
100
|
-
|
|
101
|
-
File ownership (only touch these paths):
|
|
102
|
-
- .tmp/main-wave-launcher/integration/wave-31.md
|
|
103
|
-
- .tmp/main-wave-launcher/integration/wave-31.json
|
|
104
|
-
|
|
105
|
-
Output:
|
|
106
|
-
- Integration verdict and closure recommendation.
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
## Agent A9: Documentation Steward
|
|
110
|
-
|
|
111
|
-
### Role prompts
|
|
112
|
-
|
|
113
|
-
- docs/agents/wave-documentation-role.md
|
|
114
|
-
|
|
115
|
-
### Executor
|
|
116
|
-
|
|
117
|
-
- profile: docs-pass
|
|
118
|
-
|
|
119
|
-
### Context7
|
|
120
|
-
|
|
121
|
-
- bundle: none
|
|
122
|
-
- query: "Shared plan documentation only; repository docs remain canonical"
|
|
123
|
-
|
|
124
|
-
### Deliverables
|
|
125
|
-
|
|
126
|
-
- docs/roadmap.md
|
|
127
|
-
- docs/plans/current-state.md
|
|
128
|
-
- docs/plans/master-plan.md
|
|
129
|
-
- docs/plans/migration.md
|
|
130
|
-
- docs/plans/component-cutover-matrix.md
|
|
131
|
-
- docs/plans/component-cutover-matrix.json
|
|
132
|
-
|
|
133
|
-
### Prompt
|
|
134
|
-
|
|
135
|
-
```text
|
|
136
|
-
Primary goal:
|
|
137
|
-
- Update shared plan docs for collaboration feature.
|
|
138
|
-
|
|
139
|
-
Required context before coding:
|
|
140
|
-
- docs/reference/repository-guidance.md
|
|
141
|
-
- docs/research/agent-context-sources.md
|
|
142
|
-
- docs/plans/current-state.md
|
|
143
|
-
|
|
144
|
-
File ownership (only touch these paths):
|
|
145
|
-
- docs/roadmap.md
|
|
146
|
-
- docs/plans/current-state.md
|
|
147
|
-
- docs/plans/master-plan.md
|
|
148
|
-
- docs/plans/migration.md
|
|
149
|
-
- docs/plans/component-cutover-matrix.md
|
|
150
|
-
- docs/plans/component-cutover-matrix.json
|
|
151
|
-
|
|
152
|
-
Output:
|
|
153
|
-
- Summarize shared doc updates.
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
## Agent A1: Yjs Collaboration Integration
|
|
157
|
-
|
|
158
|
-
### Executor
|
|
159
|
-
|
|
160
|
-
- profile: implement-claude
|
|
161
|
-
|
|
162
|
-
### Context7
|
|
163
|
-
|
|
164
|
-
- bundle: word-editor-testing
|
|
165
|
-
- query: "Yjs, y-prosemirror, ySyncPlugin, yCursorPlugin, yUndoPlugin, XmlFragment, awareness, collaborative cursors"
|
|
166
|
-
|
|
167
|
-
### Components
|
|
168
|
-
|
|
169
|
-
- realtime-collaboration
|
|
170
|
-
|
|
171
|
-
### Deliverables
|
|
172
|
-
|
|
173
|
-
- src/collaboration/yjs-plugins.ts
|
|
174
|
-
- src/collaboration/cursor-builder.ts
|
|
175
|
-
- src/ui/WordReviewEditor.tsx
|
|
176
|
-
- src/api/public-types.ts
|
|
177
|
-
- test/collaboration/yjs-integration.test.ts
|
|
178
|
-
- .tmp/wave-31-collab-proof/yjs-integration.json
|
|
179
|
-
|
|
180
|
-
### Proof artifacts
|
|
181
|
-
|
|
182
|
-
- path: .tmp/wave-31-collab-proof/yjs-integration.json | kind: proof-bundle | required-for: baseline-proved
|
|
183
|
-
|
|
184
|
-
### Exit contract
|
|
185
|
-
|
|
186
|
-
- completion: authoritative
|
|
187
|
-
- durability: durable
|
|
188
|
-
- proof: unit
|
|
189
|
-
- doc-impact: owned
|
|
190
|
-
|
|
191
|
-
### Prompt
|
|
192
|
-
|
|
193
|
-
```text
|
|
194
|
-
Primary goal:
|
|
195
|
-
- Add Yjs collaborative editing support.
|
|
196
|
-
|
|
197
|
-
Reference: bwllaming/code (joakim/docx branch) src/collaboration/index.ts
|
|
198
|
-
Access: gh api repos/bwllaming/code/contents/src/ts/packages/docx-editor/src/collaboration/index.ts?ref=joakim/docx --jq '.content' | base64 -d
|
|
199
|
-
|
|
200
|
-
Required context before coding:
|
|
201
|
-
- docs/reference/repository-guidance.md
|
|
202
|
-
- docs/research/agent-context-sources.md
|
|
203
|
-
- Read src/ui/WordReviewEditor.tsx for current editor setup.
|
|
204
|
-
|
|
205
|
-
File ownership (only touch these paths):
|
|
206
|
-
- src/collaboration/yjs-plugins.ts
|
|
207
|
-
- src/collaboration/cursor-builder.ts
|
|
208
|
-
- src/ui/WordReviewEditor.tsx
|
|
209
|
-
- src/api/public-types.ts
|
|
210
|
-
- test/collaboration/yjs-integration.test.ts
|
|
211
|
-
- .tmp/wave-31-collab-proof/yjs-integration.json
|
|
212
|
-
- package.json
|
|
213
|
-
|
|
214
|
-
Requirements:
|
|
215
|
-
1) Add yjs, y-prosemirror, y-protocols as dependencies.
|
|
216
|
-
2) createCollaborationPlugins(config): returns ySyncPlugin, yCursorPlugin, yUndoPlugin.
|
|
217
|
-
3) Cursor builder: render remote cursors with user name and color.
|
|
218
|
-
4) WordReviewEditor: accept optional ydoc, provider, user props.
|
|
219
|
-
5) When ydoc+provider provided: use Yjs plugins instead of prosemirror-history.
|
|
220
|
-
6) When not provided: single-user mode works exactly as before.
|
|
221
|
-
7) Add DocxEditorUser, CollaborationConfig types to public-types.
|
|
222
|
-
8) Tests: create two Yjs docs, sync changes, verify convergence.
|
|
223
|
-
9) CSS for cursor display and selection highlighting.
|
|
224
|
-
10) CRITICAL: Single-user mode must not change behavior at all.
|
|
225
|
-
|
|
226
|
-
Validation:
|
|
227
|
-
- pnpm test:repo
|
|
228
|
-
|
|
229
|
-
Output:
|
|
230
|
-
- Summarize implementation and gaps.
|
|
231
|
-
```
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
# Wave 32 - OOXML Property Completeness
|
|
2
|
-
|
|
3
|
-
**Commit message**: `Build: complete paragraph and run property parsing`
|
|
4
|
-
|
|
5
|
-
## Project profile
|
|
6
|
-
|
|
7
|
-
- project: React Word Editor
|
|
8
|
-
- new-project: no
|
|
9
|
-
- oversight-mode: dark-factory
|
|
10
|
-
- lane: main
|
|
11
|
-
|
|
12
|
-
## Sequencing note
|
|
13
|
-
|
|
14
|
-
- Group A: 13 simple properties that need parse + serialize. No new PM nodes.
|
|
15
|
-
|
|
16
|
-
## Component promotions
|
|
17
|
-
|
|
18
|
-
- ooxml-property-completeness: baseline-proved
|
|
19
|
-
|
|
20
|
-
## Context7 defaults
|
|
21
|
-
|
|
22
|
-
- bundle: word-editor-testing
|
|
23
|
-
- query: "OOXML paragraph properties, run properties, borders, shading, kerning"
|
|
24
|
-
|
|
25
|
-
## Agent A0: cont-QA
|
|
26
|
-
|
|
27
|
-
### Role prompts
|
|
28
|
-
- docs/agents/wave-cont-qa-role.md
|
|
29
|
-
### Executor
|
|
30
|
-
- profile: deep-review
|
|
31
|
-
### Context7
|
|
32
|
-
- bundle: none
|
|
33
|
-
- query: "Architecture evaluation only"
|
|
34
|
-
### Deliverables
|
|
35
|
-
- docs/plans/waves/reviews/wave-32-cont-qa.md
|
|
36
|
-
### Prompt
|
|
37
|
-
```text
|
|
38
|
-
Primary goal: Verify all property round-trips work and existing tests pass.
|
|
39
|
-
Required context before coding:
|
|
40
|
-
- docs/reference/repository-guidance.md
|
|
41
|
-
- docs/research/agent-context-sources.md
|
|
42
|
-
File ownership (only touch these paths):
|
|
43
|
-
- docs/plans/waves/reviews/wave-32-cont-qa.md
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## Agent A8: Integration Steward
|
|
47
|
-
|
|
48
|
-
### Role prompts
|
|
49
|
-
- docs/agents/wave-integration-role.md
|
|
50
|
-
### Executor
|
|
51
|
-
- profile: deep-review
|
|
52
|
-
### Context7
|
|
53
|
-
- bundle: none
|
|
54
|
-
- query: "Integration synthesis only"
|
|
55
|
-
### Capabilities
|
|
56
|
-
- integration
|
|
57
|
-
- docs-shared-plan
|
|
58
|
-
### Deliverables
|
|
59
|
-
- .tmp/main-wave-launcher/integration/wave-32.md
|
|
60
|
-
- .tmp/main-wave-launcher/integration/wave-32.json
|
|
61
|
-
### Prompt
|
|
62
|
-
```text
|
|
63
|
-
Primary goal: Verify property extensions integrate with preservation and export.
|
|
64
|
-
Required context before coding:
|
|
65
|
-
- docs/reference/repository-guidance.md
|
|
66
|
-
- docs/research/agent-context-sources.md
|
|
67
|
-
- docs/plans/current-state.md
|
|
68
|
-
File ownership (only touch these paths):
|
|
69
|
-
- .tmp/main-wave-launcher/integration/wave-32.md
|
|
70
|
-
- .tmp/main-wave-launcher/integration/wave-32.json
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
## Agent A9: Documentation Steward
|
|
74
|
-
|
|
75
|
-
### Role prompts
|
|
76
|
-
- docs/agents/wave-documentation-role.md
|
|
77
|
-
### Executor
|
|
78
|
-
- profile: docs-pass
|
|
79
|
-
### Context7
|
|
80
|
-
- bundle: none
|
|
81
|
-
- query: "Shared plan documentation only"
|
|
82
|
-
### Deliverables
|
|
83
|
-
- docs/roadmap.md
|
|
84
|
-
- docs/plans/current-state.md
|
|
85
|
-
- docs/plans/master-plan.md
|
|
86
|
-
- docs/plans/migration.md
|
|
87
|
-
- docs/plans/component-cutover-matrix.md
|
|
88
|
-
- docs/plans/component-cutover-matrix.json
|
|
89
|
-
### Prompt
|
|
90
|
-
```text
|
|
91
|
-
Primary goal: Update shared plan docs.
|
|
92
|
-
Required context before coding:
|
|
93
|
-
- docs/reference/repository-guidance.md
|
|
94
|
-
- docs/research/agent-context-sources.md
|
|
95
|
-
- docs/plans/current-state.md
|
|
96
|
-
File ownership (only touch these paths):
|
|
97
|
-
- docs/roadmap.md
|
|
98
|
-
- docs/plans/current-state.md
|
|
99
|
-
- docs/plans/master-plan.md
|
|
100
|
-
- docs/plans/migration.md
|
|
101
|
-
- docs/plans/component-cutover-matrix.md
|
|
102
|
-
- docs/plans/component-cutover-matrix.json
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
## Agent A1: Paragraph And Run Property Extensions
|
|
106
|
-
|
|
107
|
-
### Executor
|
|
108
|
-
- profile: implement-claude
|
|
109
|
-
### Context7
|
|
110
|
-
- bundle: word-editor-testing
|
|
111
|
-
- query: "OOXML w:pPr widow control borders shading bidi, w:rPr charSpacing kerning emboss shadow, latent styles, tblLook"
|
|
112
|
-
### Components
|
|
113
|
-
- ooxml-property-completeness
|
|
114
|
-
### Deliverables
|
|
115
|
-
- src/model/canonical-document.ts
|
|
116
|
-
- src/io/ooxml/parse-main-document.ts
|
|
117
|
-
- src/io/export/serialize-main-document.ts
|
|
118
|
-
- test/io/property-completeness.test.ts
|
|
119
|
-
- .tmp/wave-32-props-proof/all-props.json
|
|
120
|
-
### Proof artifacts
|
|
121
|
-
- path: .tmp/wave-32-props-proof/all-props.json | kind: proof-bundle | required-for: baseline-proved
|
|
122
|
-
### Exit contract
|
|
123
|
-
- completion: authoritative
|
|
124
|
-
- durability: durable
|
|
125
|
-
- proof: integration
|
|
126
|
-
- doc-impact: none
|
|
127
|
-
### Prompt
|
|
128
|
-
```text
|
|
129
|
-
Primary goal: Parse and serialize all remaining paragraph and run properties.
|
|
130
|
-
|
|
131
|
-
Required context before coding:
|
|
132
|
-
- docs/reference/repository-guidance.md
|
|
133
|
-
- docs/research/agent-context-sources.md
|
|
134
|
-
- docs/architecture/ooxml-upgrade-analysis.md
|
|
135
|
-
- Read src/model/canonical-document.ts and src/io/ooxml/parse-main-document.ts.
|
|
136
|
-
|
|
137
|
-
File ownership (only touch these paths):
|
|
138
|
-
- src/model/canonical-document.ts
|
|
139
|
-
- src/io/ooxml/parse-main-document.ts
|
|
140
|
-
- src/io/export/serialize-main-document.ts
|
|
141
|
-
- test/io/property-completeness.test.ts
|
|
142
|
-
- .tmp/wave-32-props-proof/all-props.json
|
|
143
|
-
|
|
144
|
-
Requirements:
|
|
145
|
-
1) ParagraphNode: widowControl, borders (pBdr), shading, bidi, suppressLineNumbers, cnfStyle.
|
|
146
|
-
2) TextMark: charSpacing, kerning, emboss, imprint, shadow, position.
|
|
147
|
-
3) Parse w14:textFill as preserved XML string.
|
|
148
|
-
4) Latent styles in style catalog. tblLook on table model.
|
|
149
|
-
5) Column breaks and symbols as inline types.
|
|
150
|
-
6) Round-trip tests for each property.
|
|
151
|
-
7) CRITICAL: All existing tests must pass.
|
|
152
|
-
```
|
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
# Wave 33 - Document Sub-Parts
|
|
2
|
-
|
|
3
|
-
**Commit message**: `Build: headers, footers, footnotes, endnotes, theme parsing`
|
|
4
|
-
|
|
5
|
-
## Project profile
|
|
6
|
-
- project: React Word Editor
|
|
7
|
-
- new-project: no
|
|
8
|
-
- oversight-mode: dark-factory
|
|
9
|
-
- lane: main
|
|
10
|
-
|
|
11
|
-
## Sequencing note
|
|
12
|
-
- Group B: Parse separate XML parts, link from body, render in UI zones.
|
|
13
|
-
|
|
14
|
-
## Component promotions
|
|
15
|
-
- document-sub-parts: baseline-proved
|
|
16
|
-
|
|
17
|
-
## Context7 defaults
|
|
18
|
-
- bundle: word-editor-testing
|
|
19
|
-
- query: "OOXML headers footers footnotes endnotes theme section references"
|
|
20
|
-
|
|
21
|
-
## Agent A0: cont-QA
|
|
22
|
-
### Role prompts
|
|
23
|
-
- docs/agents/wave-cont-qa-role.md
|
|
24
|
-
### Executor
|
|
25
|
-
- profile: deep-review
|
|
26
|
-
### Context7
|
|
27
|
-
- bundle: none
|
|
28
|
-
- query: "Architecture evaluation only"
|
|
29
|
-
### Deliverables
|
|
30
|
-
- docs/plans/waves/reviews/wave-33-cont-qa.md
|
|
31
|
-
### Prompt
|
|
32
|
-
```text
|
|
33
|
-
Primary goal: Verify sub-parts parse and round-trip correctly.
|
|
34
|
-
Required context: docs/reference/repository-guidance.md, docs/research/agent-context-sources.md
|
|
35
|
-
File ownership (only touch these paths):
|
|
36
|
-
- docs/plans/waves/reviews/wave-33-cont-qa.md
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Agent A8: Integration Steward
|
|
40
|
-
### Role prompts
|
|
41
|
-
- docs/agents/wave-integration-role.md
|
|
42
|
-
### Executor
|
|
43
|
-
- profile: deep-review
|
|
44
|
-
### Context7
|
|
45
|
-
- bundle: none
|
|
46
|
-
- query: "Integration synthesis only"
|
|
47
|
-
### Capabilities
|
|
48
|
-
- integration
|
|
49
|
-
- docs-shared-plan
|
|
50
|
-
### Deliverables
|
|
51
|
-
- .tmp/main-wave-launcher/integration/wave-33.md
|
|
52
|
-
- .tmp/main-wave-launcher/integration/wave-33.json
|
|
53
|
-
### Prompt
|
|
54
|
-
```text
|
|
55
|
-
Primary goal: Verify sub-parts integrate with preservation.
|
|
56
|
-
Required context: docs/reference/repository-guidance.md, docs/research/agent-context-sources.md, docs/plans/current-state.md
|
|
57
|
-
File ownership (only touch these paths):
|
|
58
|
-
- .tmp/main-wave-launcher/integration/wave-33.md
|
|
59
|
-
- .tmp/main-wave-launcher/integration/wave-33.json
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## Agent A9: Documentation Steward
|
|
63
|
-
### Role prompts
|
|
64
|
-
- docs/agents/wave-documentation-role.md
|
|
65
|
-
### Executor
|
|
66
|
-
- profile: docs-pass
|
|
67
|
-
### Context7
|
|
68
|
-
- bundle: none
|
|
69
|
-
- query: "Shared plan documentation only"
|
|
70
|
-
### Deliverables
|
|
71
|
-
- docs/roadmap.md
|
|
72
|
-
- docs/plans/current-state.md
|
|
73
|
-
- docs/plans/master-plan.md
|
|
74
|
-
- docs/plans/migration.md
|
|
75
|
-
- docs/plans/component-cutover-matrix.md
|
|
76
|
-
- docs/plans/component-cutover-matrix.json
|
|
77
|
-
### Prompt
|
|
78
|
-
```text
|
|
79
|
-
Primary goal: Update shared plan docs.
|
|
80
|
-
Required context: docs/reference/repository-guidance.md, docs/research/agent-context-sources.md, docs/plans/current-state.md
|
|
81
|
-
File ownership (only touch these paths):
|
|
82
|
-
- docs/roadmap.md
|
|
83
|
-
- docs/plans/current-state.md
|
|
84
|
-
- docs/plans/master-plan.md
|
|
85
|
-
- docs/plans/migration.md
|
|
86
|
-
- docs/plans/component-cutover-matrix.md
|
|
87
|
-
- docs/plans/component-cutover-matrix.json
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
## Agent A1: Headers, Footers, Footnotes, Endnotes, Theme
|
|
91
|
-
### Executor
|
|
92
|
-
- profile: implement-claude
|
|
93
|
-
### Context7
|
|
94
|
-
- bundle: word-editor-testing
|
|
95
|
-
- query: "OOXML headerN.xml footerN.xml footnotes.xml endnotes.xml theme1.xml section references theme colors"
|
|
96
|
-
### Components
|
|
97
|
-
- document-sub-parts
|
|
98
|
-
### Deliverables
|
|
99
|
-
- src/io/ooxml/parse-headers-footers.ts
|
|
100
|
-
- src/io/ooxml/parse-footnotes.ts
|
|
101
|
-
- src/io/ooxml/parse-theme.ts
|
|
102
|
-
- src/io/export/serialize-headers-footers.ts
|
|
103
|
-
- src/io/export/serialize-footnotes.ts
|
|
104
|
-
- src/model/canonical-document.ts
|
|
105
|
-
- src/io/docx-session.ts
|
|
106
|
-
- test/io/headers-footers-roundtrip.test.ts
|
|
107
|
-
- test/io/footnotes-roundtrip.test.ts
|
|
108
|
-
- .tmp/wave-33-subparts-proof/all-subparts.json
|
|
109
|
-
### Proof artifacts
|
|
110
|
-
- path: .tmp/wave-33-subparts-proof/all-subparts.json | kind: proof-bundle | required-for: baseline-proved
|
|
111
|
-
### Exit contract
|
|
112
|
-
- completion: authoritative
|
|
113
|
-
- durability: durable
|
|
114
|
-
- proof: integration
|
|
115
|
-
- doc-impact: none
|
|
116
|
-
### Prompt
|
|
117
|
-
```text
|
|
118
|
-
Primary goal: Parse headers, footers, footnotes, endnotes, and theme from their XML parts.
|
|
119
|
-
|
|
120
|
-
Required context:
|
|
121
|
-
- docs/reference/repository-guidance.md
|
|
122
|
-
- docs/research/agent-context-sources.md
|
|
123
|
-
- docs/architecture/ooxml-upgrade-analysis.md
|
|
124
|
-
- src/io/docx-session.ts, src/io/export/export-session.ts
|
|
125
|
-
|
|
126
|
-
File ownership (only touch these paths):
|
|
127
|
-
- src/io/ooxml/parse-headers-footers.ts
|
|
128
|
-
- src/io/ooxml/parse-footnotes.ts
|
|
129
|
-
- src/io/ooxml/parse-theme.ts
|
|
130
|
-
- src/io/export/serialize-headers-footers.ts
|
|
131
|
-
- src/io/export/serialize-footnotes.ts
|
|
132
|
-
- src/model/canonical-document.ts
|
|
133
|
-
- src/io/docx-session.ts
|
|
134
|
-
- test/io/headers-footers-roundtrip.test.ts
|
|
135
|
-
- test/io/footnotes-roundtrip.test.ts
|
|
136
|
-
- .tmp/wave-33-subparts-proof/all-subparts.json
|
|
137
|
-
|
|
138
|
-
Requirements:
|
|
139
|
-
1) HeaderDocument/FooterDocument types. Parse headerN.xml/footerN.xml.
|
|
140
|
-
2) Link via w:headerReference/footerReference in section properties.
|
|
141
|
-
3) Handle default, first-page, even/odd variants.
|
|
142
|
-
4) FootnoteCollection type. Parse footnotes.xml/endnotes.xml.
|
|
143
|
-
5) FootnoteRefNode inline type with superscript number rendering.
|
|
144
|
-
6) ThemeDefinition: parse theme colors and fonts. Resolve in style inheritance.
|
|
145
|
-
7) Add owned paths in export. Serialize all parts.
|
|
146
|
-
8) Round-trip tests. CRITICAL: Do not break existing tests.
|
|
147
|
-
```
|
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
# Wave 34 - Structural Block Types
|
|
2
|
-
|
|
3
|
-
**Commit message**: `Build: content controls, custom XML, nested tables, floating images`
|
|
4
|
-
|
|
5
|
-
## Project profile
|
|
6
|
-
- project: React Word Editor
|
|
7
|
-
- new-project: no
|
|
8
|
-
- oversight-mode: dark-factory
|
|
9
|
-
- lane: main
|
|
10
|
-
|
|
11
|
-
## Sequencing note
|
|
12
|
-
- Group C+D: New block containers and inline types.
|
|
13
|
-
|
|
14
|
-
## Component promotions
|
|
15
|
-
- structural-block-types: baseline-proved
|
|
16
|
-
|
|
17
|
-
## Context7 defaults
|
|
18
|
-
- bundle: word-editor-testing
|
|
19
|
-
- query: "OOXML w:sdt content controls w:customXml nested tables floating images wp:anchor"
|
|
20
|
-
|
|
21
|
-
## Agent A0: cont-QA
|
|
22
|
-
### Role prompts
|
|
23
|
-
- docs/agents/wave-cont-qa-role.md
|
|
24
|
-
### Executor
|
|
25
|
-
- profile: deep-review
|
|
26
|
-
### Context7
|
|
27
|
-
- bundle: none
|
|
28
|
-
- query: "Architecture evaluation only"
|
|
29
|
-
### Deliverables
|
|
30
|
-
- docs/plans/waves/reviews/wave-34-cont-qa.md
|
|
31
|
-
### Prompt
|
|
32
|
-
```text
|
|
33
|
-
Primary goal: Verify structural types work and existing tests pass.
|
|
34
|
-
Required context: docs/reference/repository-guidance.md, docs/research/agent-context-sources.md
|
|
35
|
-
File ownership (only touch these paths):
|
|
36
|
-
- docs/plans/waves/reviews/wave-34-cont-qa.md
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
## Agent A8: Integration Steward
|
|
40
|
-
### Role prompts
|
|
41
|
-
- docs/agents/wave-integration-role.md
|
|
42
|
-
### Executor
|
|
43
|
-
- profile: deep-review
|
|
44
|
-
### Context7
|
|
45
|
-
- bundle: none
|
|
46
|
-
- query: "Integration synthesis only"
|
|
47
|
-
### Capabilities
|
|
48
|
-
- integration
|
|
49
|
-
- docs-shared-plan
|
|
50
|
-
### Deliverables
|
|
51
|
-
- .tmp/main-wave-launcher/integration/wave-34.md
|
|
52
|
-
- .tmp/main-wave-launcher/integration/wave-34.json
|
|
53
|
-
### Prompt
|
|
54
|
-
```text
|
|
55
|
-
Primary goal: Verify structural types integrate with preservation.
|
|
56
|
-
Required context: docs/reference/repository-guidance.md, docs/research/agent-context-sources.md, docs/plans/current-state.md
|
|
57
|
-
File ownership (only touch these paths):
|
|
58
|
-
- .tmp/main-wave-launcher/integration/wave-34.md
|
|
59
|
-
- .tmp/main-wave-launcher/integration/wave-34.json
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
## Agent A9: Documentation Steward
|
|
63
|
-
### Role prompts
|
|
64
|
-
- docs/agents/wave-documentation-role.md
|
|
65
|
-
### Executor
|
|
66
|
-
- profile: docs-pass
|
|
67
|
-
### Context7
|
|
68
|
-
- bundle: none
|
|
69
|
-
- query: "Shared plan documentation only"
|
|
70
|
-
### Deliverables
|
|
71
|
-
- docs/roadmap.md
|
|
72
|
-
- docs/plans/current-state.md
|
|
73
|
-
- docs/plans/master-plan.md
|
|
74
|
-
- docs/plans/migration.md
|
|
75
|
-
- docs/plans/component-cutover-matrix.md
|
|
76
|
-
- docs/plans/component-cutover-matrix.json
|
|
77
|
-
### Prompt
|
|
78
|
-
```text
|
|
79
|
-
Primary goal: Update shared plan docs.
|
|
80
|
-
Required context: docs/reference/repository-guidance.md, docs/research/agent-context-sources.md, docs/plans/current-state.md
|
|
81
|
-
File ownership (only touch these paths):
|
|
82
|
-
- docs/roadmap.md
|
|
83
|
-
- docs/plans/current-state.md
|
|
84
|
-
- docs/plans/master-plan.md
|
|
85
|
-
- docs/plans/migration.md
|
|
86
|
-
- docs/plans/component-cutover-matrix.md
|
|
87
|
-
- docs/plans/component-cutover-matrix.json
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
## Agent A1: SDT, Custom XML, AltChunk, Nested Tables, Floating Images
|
|
91
|
-
### Executor
|
|
92
|
-
- profile: implement-claude
|
|
93
|
-
### Context7
|
|
94
|
-
- bundle: word-editor-testing
|
|
95
|
-
- query: "OOXML w:sdt sdtPr sdtContent w:customXml altChunk nested tables wp:anchor floating position wrapping"
|
|
96
|
-
### Components
|
|
97
|
-
- structural-block-types
|
|
98
|
-
### Deliverables
|
|
99
|
-
- src/model/canonical-document.ts
|
|
100
|
-
- src/io/ooxml/parse-main-document.ts
|
|
101
|
-
- src/io/ooxml/parse-tables.ts
|
|
102
|
-
- src/io/ooxml/parse-inline-media.ts
|
|
103
|
-
- src/io/export/serialize-main-document.ts
|
|
104
|
-
- src/io/export/serialize-tables.ts
|
|
105
|
-
- src/runtime/surface-projection.ts
|
|
106
|
-
- src/ui-tailwind/editor-surface/pm-schema.ts
|
|
107
|
-
- src/ui-tailwind/editor-surface/pm-state-from-snapshot.ts
|
|
108
|
-
- test/io/structural-blocks.test.ts
|
|
109
|
-
- .tmp/wave-34-blocks-proof/structural.json
|
|
110
|
-
### Proof artifacts
|
|
111
|
-
- path: .tmp/wave-34-blocks-proof/structural.json | kind: proof-bundle | required-for: baseline-proved
|
|
112
|
-
### Exit contract
|
|
113
|
-
- completion: authoritative
|
|
114
|
-
- durability: durable
|
|
115
|
-
- proof: integration
|
|
116
|
-
- doc-impact: none
|
|
117
|
-
### Prompt
|
|
118
|
-
```text
|
|
119
|
-
Primary goal: Parse SDT, custom XML, altChunk, nested tables, and floating images.
|
|
120
|
-
|
|
121
|
-
Required context:
|
|
122
|
-
- docs/reference/repository-guidance.md
|
|
123
|
-
- docs/research/agent-context-sources.md
|
|
124
|
-
- docs/architecture/ooxml-upgrade-analysis.md
|
|
125
|
-
|
|
126
|
-
File ownership (only touch these paths):
|
|
127
|
-
- src/model/canonical-document.ts
|
|
128
|
-
- src/io/ooxml/parse-main-document.ts
|
|
129
|
-
- src/io/ooxml/parse-tables.ts
|
|
130
|
-
- src/io/ooxml/parse-inline-media.ts
|
|
131
|
-
- src/io/export/serialize-main-document.ts
|
|
132
|
-
- src/io/export/serialize-tables.ts
|
|
133
|
-
- src/runtime/surface-projection.ts
|
|
134
|
-
- src/ui-tailwind/editor-surface/pm-schema.ts
|
|
135
|
-
- src/ui-tailwind/editor-surface/pm-state-from-snapshot.ts
|
|
136
|
-
- test/io/structural-blocks.test.ts
|
|
137
|
-
- .tmp/wave-34-blocks-proof/structural.json
|
|
138
|
-
|
|
139
|
-
Requirements:
|
|
140
|
-
1) SdtNode: { type, properties: {sdtType, alias, tag, lock}, children: BlockNode[] }
|
|
141
|
-
2) CustomXmlNode: { type, uri, element, children: BlockNode[] }
|
|
142
|
-
3) AltChunkNode: read-only block with relationship reference
|
|
143
|
-
4) Nested tables: recursive TableNode in TableCellNode children
|
|
144
|
-
5) FloatingImageNode: parse wp:anchor, position/wrap props, fallback to inline display
|
|
145
|
-
6) PM schema: sdt_block (content: block+), nested table support
|
|
146
|
-
7) Surface projection for all new types
|
|
147
|
-
8) Round-trip tests. CRITICAL: Do not break existing tests.
|
|
148
|
-
```
|