@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,55 +0,0 @@
|
|
|
1
|
-
# Wave 10 Performance Budget And Large-Document Signoff
|
|
2
|
-
|
|
3
|
-
Generated on `2026-03-27T10:10:00Z` for Wave 10 / A6.
|
|
4
|
-
|
|
5
|
-
Status: `passed`
|
|
6
|
-
|
|
7
|
-
## Scope
|
|
8
|
-
|
|
9
|
-
- Owner: A6
|
|
10
|
-
- Proof artifacts:
|
|
11
|
-
- `.tmp/wave-10-certification/performance-budget.json`
|
|
12
|
-
- `.tmp/wave-10-certification/large-doc-smoke.json`
|
|
13
|
-
- `.tmp/wave-10-certification/performance-raw-results.json`
|
|
14
|
-
|
|
15
|
-
This signoff covers the mounted editor path on the local harness surface. It does not widen Wave 10 support claims.
|
|
16
|
-
|
|
17
|
-
## Measured Results
|
|
18
|
-
|
|
19
|
-
### `F10` threaded comments and resolve
|
|
20
|
-
|
|
21
|
-
- load: `623 ms`
|
|
22
|
-
- comment navigation: `58 ms`
|
|
23
|
-
- export: `117 ms`
|
|
24
|
-
- result: pass
|
|
25
|
-
|
|
26
|
-
### `S01` SOW template
|
|
27
|
-
|
|
28
|
-
- load: `656 ms`
|
|
29
|
-
- export: `162 ms`
|
|
30
|
-
- result: pass
|
|
31
|
-
|
|
32
|
-
### `S02` BW Partner User Licence Agreement with review markup
|
|
33
|
-
|
|
34
|
-
- load: `3464 ms`
|
|
35
|
-
- single-item accept latency: `771 ms`
|
|
36
|
-
- export after accept: intentionally blocked
|
|
37
|
-
- result: pass under the bounded v1 contract
|
|
38
|
-
|
|
39
|
-
The current runtime still refuses export after that review action with:
|
|
40
|
-
|
|
41
|
-
> DOCX export is blocked because 1 preserve-only comment anchors cannot be safely remapped after runtime edits.
|
|
42
|
-
|
|
43
|
-
That is no longer treated as a performance failure. The current scenario note and Wave 10 contract now judge this as the expected fail-closed outcome for a path that would otherwise destructively rewrite preserve-only anchors.
|
|
44
|
-
|
|
45
|
-
## Judgement
|
|
46
|
-
|
|
47
|
-
Wave 10 performance signoff now passes on the current worktree because:
|
|
48
|
-
|
|
49
|
-
- all measured interactive latencies stay inside the declared Wave 10 ceilings
|
|
50
|
-
- `S02` load and single-item accept stay inside budget
|
|
51
|
-
- the `S02` post-accept export guard is explicit, fast-failing, and consistent with the bounded v1 contract rather than a hidden runtime regression
|
|
52
|
-
|
|
53
|
-
## Remaining Closure Work
|
|
54
|
-
|
|
55
|
-
This signoff does not close Wave 10 overall. The remaining blockers are outside A6 scope: pending manual Word notes and the need to rerun the bundle on a commit-fresh tree.
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# Wave 10 Regression Proof
|
|
2
|
-
|
|
3
|
-
status: blocked
|
|
4
|
-
|
|
5
|
-
## Scope
|
|
6
|
-
|
|
7
|
-
Wave 10 A1 owns the machine-visible regression gate for the frozen `F01` through `F21` fixture corpus and the representative `S01` and `S02` scenario bundle.
|
|
8
|
-
|
|
9
|
-
## Current Evidence
|
|
10
|
-
|
|
11
|
-
- `test/fixtures/docx/certification-manifest.json` keeps `F01` through `F21` as the frozen release-gate corpus, requires `S01` and `S02` as representative scenarios, removes `S02` from the manual Word subset, and marks `S02` as an expected blocked-before-export scenario.
|
|
12
|
-
- Fresh source-run artifacts under `.tmp/wave-10-certification/` now show `F09` and `F13` validator-clean again.
|
|
13
|
-
- `S02` still records `blocked-before-export`, but that outcome is now judged as explicit fail-closed proof rather than as an unresolved export bug.
|
|
14
|
-
- `pnpm --dir services/react-word-editor test` passes on the refreshed worktree.
|
|
15
|
-
|
|
16
|
-
## Current Blocking Set
|
|
17
|
-
|
|
18
|
-
- the working tree is still dirty, so the bundle is not commit-fresh
|
|
19
|
-
- required manual Word notes are still pending for `F01`, `F03`, `F05`, `F09`, `F11`, `F12`, `F15`, `F20`, and `S01`
|
|
20
|
-
|
|
21
|
-
## Conclusion
|
|
22
|
-
|
|
23
|
-
Wave 10 regression machinery is now aligned to the bounded v1 contract, but the wave still stays blocked until the remaining manual notes are attached and the bundle is rerun on a clean commit.
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# Wave 10 Release Audit
|
|
2
|
-
|
|
3
|
-
Generated on `2026-03-27T10:10:00Z` for Wave 10 / A7.
|
|
4
|
-
|
|
5
|
-
Verdict: `BLOCKED`
|
|
6
|
-
|
|
7
|
-
[wave-gate] architecture=pass integration=blocked durability=blocked live=blocked docs=pass detail=Wave 10 no longer carries the stale F09/F13 validator failures or the stale S02 exportability claim, but it still needs fresh manual Word notes and a commit-fresh rerun before qa-proved can be claimed honestly.
|
|
8
|
-
|
|
9
|
-
## Current Findings
|
|
10
|
-
|
|
11
|
-
1. The machine-backed blocker set is now smaller and current.
|
|
12
|
-
|
|
13
|
-
- `F09` and `F13` are validator-clean in the stored Wave 10 run artifacts.
|
|
14
|
-
- `S02` remains in the bundle as an explicit fail-closed scenario instead of a required exportable review path.
|
|
15
|
-
- Accessibility, DESIGN, and performance signoff have been refreshed on the current worktree.
|
|
16
|
-
|
|
17
|
-
2. Wave 10 is still not ready to promote.
|
|
18
|
-
|
|
19
|
-
- `word-desktop-certification.md` and `word-web-certification.md` remain `pending`.
|
|
20
|
-
- The remaining manual subset is `F01`, `F03`, `F05`, `F09`, `F11`, `F12`, `F15`, `F20`, and `S01`.
|
|
21
|
-
- The current working tree is still dirty, so the existing bundle cannot yet satisfy the commit-fresh closure requirement.
|
|
22
|
-
|
|
23
|
-
## Smallest Remaining Set
|
|
24
|
-
|
|
25
|
-
- attach fresh Word Desktop notes for the remaining manual subset
|
|
26
|
-
- attach fresh Word Web notes for the remaining manual subset
|
|
27
|
-
- rerun the Wave 10 bundle on a commit-fresh tree
|
|
28
|
-
|
|
29
|
-
## Closure Recommendation
|
|
30
|
-
|
|
31
|
-
Keep Wave 10 blocked until those three items are complete. Do not widen scope into Wave 11 or Wave 12.
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
# Wave 10 Service Proof
|
|
2
|
-
|
|
3
|
-
## Scope
|
|
4
|
-
|
|
5
|
-
- Owned components:
|
|
6
|
-
- `openxml-sdk-validator-service`
|
|
7
|
-
- `railway-test-harness`
|
|
8
|
-
- Owned deliverables:
|
|
9
|
-
- [Program.cs](/home/coder/docx-react-component/services/openxml-validator/Program.cs)
|
|
10
|
-
- [README.md](/home/coder/docx-react-component/services/openxml-validator/README.md)
|
|
11
|
-
- [README.md](/home/coder/docx-react-component/services/react-word-editor/README.md)
|
|
12
|
-
- Proof artifacts:
|
|
13
|
-
- [service-health-matrix.json](/home/coder/docx-react-component/.tmp/wave-10-certification/service-health-matrix.json)
|
|
14
|
-
- [service-proof-summary.md](/home/coder/docx-react-component/.tmp/wave-10-certification/service-proof-summary.md)
|
|
15
|
-
|
|
16
|
-
This pass hardens the internal QA service contract without changing the product runtime boundary:
|
|
17
|
-
the validator remains validation-only, and the harness remains an internal-only surface that fronts
|
|
18
|
-
the validator over server-side networking.
|
|
19
|
-
|
|
20
|
-
## Landed Changes
|
|
21
|
-
|
|
22
|
-
### Validator service
|
|
23
|
-
|
|
24
|
-
[Program.cs](/home/coder/docx-react-component/services/openxml-validator/Program.cs) now exposes a
|
|
25
|
-
machine-readable readiness payload and structured failure payloads:
|
|
26
|
-
|
|
27
|
-
- `GET /health` returns `service`, `status`, `sdk`, `privateMode`, `limits`, and `endpoints`
|
|
28
|
-
- `POST /validate` now returns structured JSON for `400`, `413`, and private-mode `503` errors
|
|
29
|
-
- the error contract includes exact upload limits and accepted `.docx` metadata so the harness and
|
|
30
|
-
QA bundle can surface deterministic diagnostics
|
|
31
|
-
|
|
32
|
-
[README.md](/home/coder/docx-react-component/services/openxml-validator/README.md) now matches the
|
|
33
|
-
runtime contract and explicitly records the remaining fleet-ready gaps: env-var-only admission,
|
|
34
|
-
request-scoped diagnostics only, and no validator-side audit store or SLO bundle.
|
|
35
|
-
|
|
36
|
-
### Harness documentation
|
|
37
|
-
|
|
38
|
-
[README.md](/home/coder/docx-react-component/services/react-word-editor/README.md) now documents the
|
|
39
|
-
actual private-mode gate (`HARNESS_PRIVATE_MODE=enabled`), the redacted health payload shape, the
|
|
40
|
-
volume-backed retention assumptions, and the remaining fleet-ready blockers around identity,
|
|
41
|
-
retention workflow, and single-dependency validator bridging.
|
|
42
|
-
|
|
43
|
-
## Proof
|
|
44
|
-
|
|
45
|
-
The authoritative integration proof for this turn is in
|
|
46
|
-
[service-health-matrix.json](/home/coder/docx-react-component/.tmp/wave-10-certification/service-health-matrix.json).
|
|
47
|
-
|
|
48
|
-
Key observations from the captured matrix:
|
|
49
|
-
|
|
50
|
-
- validator build passed locally
|
|
51
|
-
- harness build and tests passed locally
|
|
52
|
-
- validator health succeeded with `VALIDATOR_PRIVATE_MODE=enabled`
|
|
53
|
-
- validator rejected a missing multipart file with structured JSON instead of a bare status code
|
|
54
|
-
- validator accepted `F12-redlines-paragraph-joins-splits.docx` with zero package and SDK findings
|
|
55
|
-
- harness returned `503 private_mode_required` when `HARNESS_PRIVATE_MODE` was unset
|
|
56
|
-
- harness health succeeded once private mode and the validator bridge were configured
|
|
57
|
-
- harness `/api/validate` successfully proxied the same `F12` fixture to the validator and
|
|
58
|
-
returned the validator report plus current storage assumptions
|
|
59
|
-
|
|
60
|
-
## Validation Commands
|
|
61
|
-
|
|
62
|
-
- `dotnet build services/openxml-validator/OpenXmlValidator.Api.csproj`
|
|
63
|
-
- `pnpm --filter @docx-react-component/react-word-editor-harness test`
|
|
64
|
-
- `pnpm --filter @docx-react-component/react-word-editor-harness build`
|
|
65
|
-
- `VALIDATOR_PRIVATE_MODE=enabled dotnet run --project services/openxml-validator/OpenXmlValidator.Api.csproj --urls http://127.0.0.1:5081`
|
|
66
|
-
- `PORT=3403 HARNESS_PRIVATE_MODE=enabled OPENXML_VALIDATOR_BASE_URL=http://127.0.0.1:5081 HARNESS_STORAGE_DIR=/home/coder/docx-react-component/.tmp/wave-10-certification/harness-storage pnpm --filter @docx-react-component/react-word-editor-harness start`
|
|
67
|
-
- `curl -s http://127.0.0.1:5081/health`
|
|
68
|
-
- `curl -s -X POST http://127.0.0.1:5081/validate`
|
|
69
|
-
- `curl -s -F "file=@test/fixtures/docx/F12-redlines-paragraph-joins-splits.docx" http://127.0.0.1:5081/validate`
|
|
70
|
-
- `curl -s http://127.0.0.1:3403/api/health`
|
|
71
|
-
- `curl -s -F "file=@test/fixtures/docx/F12-redlines-paragraph-joins-splits.docx" http://127.0.0.1:3403/api/validate`
|
|
72
|
-
|
|
73
|
-
## Closure Line
|
|
74
|
-
|
|
75
|
-
Wave 10 service QA hardening is met for local authoritative integration proof and owned
|
|
76
|
-
documentation.
|
|
77
|
-
|
|
78
|
-
This is not a fleet-ready claim. The remaining service posture gaps are deliberate and documented:
|
|
79
|
-
|
|
80
|
-
- env-var-only admission for both services
|
|
81
|
-
- manual/count-based storage retention on the harness
|
|
82
|
-
- no persistent validator-side audit or replay surface
|
|
83
|
-
- no fresh Railway live redeploy captured in this turn
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# Wave 10 Word Certification Review
|
|
2
|
-
|
|
3
|
-
Generated on `2026-03-27T10:10:00Z` for Wave 10 / A2.
|
|
4
|
-
|
|
5
|
-
Status: `blocked`
|
|
6
|
-
|
|
7
|
-
## Current Manual Word Subset
|
|
8
|
-
|
|
9
|
-
Wave 10 still requires fresh Word Desktop and Word Web notes for:
|
|
10
|
-
|
|
11
|
-
- `F01`
|
|
12
|
-
- `F03`
|
|
13
|
-
- `F05`
|
|
14
|
-
- `F09`
|
|
15
|
-
- `F11`
|
|
16
|
-
- `F12`
|
|
17
|
-
- `F15`
|
|
18
|
-
- `F20`
|
|
19
|
-
- `S01`
|
|
20
|
-
|
|
21
|
-
`S02` remains visible in the bundle, but it is no longer part of the manual reopen subset because the bounded v1 contract intentionally blocks export when preserve-only comment anchors cannot be remapped safely.
|
|
22
|
-
|
|
23
|
-
## Current Evidence
|
|
24
|
-
|
|
25
|
-
- `F09` is now validator-clean again and remains in the manual subset as supported-roundtrip Word proof, not as a validator blocker.
|
|
26
|
-
- `S01` remains the only representative scenario that still requires Word reopen notes.
|
|
27
|
-
- `word-desktop-certification.md` and `word-web-certification.md` now point at the reduced manual subset and no longer carry the stale `F09` validator-failure language.
|
|
28
|
-
|
|
29
|
-
## Remaining Blocker
|
|
30
|
-
|
|
31
|
-
Wave 10 still lacks fresh human Word Desktop and Word Web observations for the remaining manual subset. Until those notes exist, the wave cannot honestly claim `qa-proved`.
|
|
@@ -1,277 +0,0 @@
|
|
|
1
|
-
# Wave 18 AI Contract Closure
|
|
2
|
-
|
|
3
|
-
## Executive Summary
|
|
4
|
-
|
|
5
|
-
Wave 18 establishes the comprehensive AI action policy matrix and low-priority Word surfaces stance for the legal document review editor. This document provides the definitive boundaries between allowed AI actions, those requiring confirmation, blocked operations, and unsupported functionality.
|
|
6
|
-
|
|
7
|
-
**Key Achievements:**
|
|
8
|
-
- ✅ Complete AI action policy matrix with 23 defined actions across 10 categories
|
|
9
|
-
- ✅ Explicit low-priority Word surfaces stance for 12 surface types
|
|
10
|
-
- ✅ Security-focused boundaries that protect legal review workflows
|
|
11
|
-
- ✅ Clear preserve-only vs. blocked distinctions for complex Word features
|
|
12
|
-
|
|
13
|
-
## AI Action Policy Matrix
|
|
14
|
-
|
|
15
|
-
### Policy Framework
|
|
16
|
-
|
|
17
|
-
The AI action policy is built on four support levels:
|
|
18
|
-
- **Allowed**: Actions can proceed without confirmation (low risk, analytical)
|
|
19
|
-
- **Confirmation Required**: Actions require explicit user approval (content-changing)
|
|
20
|
-
- **Blocked**: Actions are blocked by policy (security/integrity risks)
|
|
21
|
-
- **Unsupported**: Actions are not implemented (future consideration)
|
|
22
|
-
|
|
23
|
-
### Action Categories and Support Levels
|
|
24
|
-
|
|
25
|
-
| Category | Total Actions | Allowed | Confirmation Required | Blocked | Risk Profile |
|
|
26
|
-
|----------|---------------|---------|----------------------|---------|--------------|
|
|
27
|
-
| Text Editing | 5 | 1 | 4 | 0 | Low-Medium |
|
|
28
|
-
| Content Generation | 5 | 1 | 4 | 0 | Low-High |
|
|
29
|
-
| Review Assistance | 5 | 5 | 0 | 0 | Low |
|
|
30
|
-
| Document Analysis | 5 | 5 | 0 | 0 | Low |
|
|
31
|
-
| Formatting Assistance | 5 | 0 | 5 | 0 | Medium |
|
|
32
|
-
| Validation Assistance | 5 | 5 | 0 | 0 | Low |
|
|
33
|
-
| Workflow Automation | 5 | 0 | 1 | 4 | High-Critical |
|
|
34
|
-
| Data Extraction | 5 | 5 | 0 | 0 | Low |
|
|
35
|
-
| External Integration | 5 | 0 | 0 | 5 | Critical |
|
|
36
|
-
| System Modification | 5 | 0 | 0 | 5 | Critical |
|
|
37
|
-
|
|
38
|
-
### Security Boundaries
|
|
39
|
-
|
|
40
|
-
**Completely Blocked Actions** (10 actions):
|
|
41
|
-
- All workflow automation that bypasses review (auto-accept changes)
|
|
42
|
-
- All external integrations (data lookup, system sync, external approval)
|
|
43
|
-
- All system modifications (permission changes, security bypasses)
|
|
44
|
-
|
|
45
|
-
**Rationale**: These actions either compromise security, bypass necessary legal review processes, or risk data integrity in ways incompatible with legal document workflows.
|
|
46
|
-
|
|
47
|
-
### Allowed Actions (Analysis and Read-Only)
|
|
48
|
-
|
|
49
|
-
**Low-Risk Allowed Actions** (16 actions):
|
|
50
|
-
- Document analysis (summarization, risk identification, structure analysis)
|
|
51
|
-
- Review assistance (comment suggestions, change analysis)
|
|
52
|
-
- Validation assistance (compliance checking, compatibility validation)
|
|
53
|
-
- Data extraction (metadata extraction, comment exports)
|
|
54
|
-
- Basic text corrections (grammar fixes with minimal semantic impact)
|
|
55
|
-
|
|
56
|
-
**Key Principle**: Actions that provide analytical insights or mechanical corrections without modifying legal meaning or bypassing review processes.
|
|
57
|
-
|
|
58
|
-
### Confirmation-Required Actions (Content Changes)
|
|
59
|
-
|
|
60
|
-
**Content-Modifying Actions** (14 actions):
|
|
61
|
-
- Text editing with semantic impact (rewrites, tone adjustments)
|
|
62
|
-
- Content generation (text generation, boilerplate creation)
|
|
63
|
-
- Formatting changes (style application, bulk formatting)
|
|
64
|
-
- Selective workflow automation (batch comment resolution with review)
|
|
65
|
-
|
|
66
|
-
**Safeguards**:
|
|
67
|
-
- Explicit user confirmation required
|
|
68
|
-
- Original content preservation
|
|
69
|
-
- Undo support mandatory
|
|
70
|
-
- Audit logging required
|
|
71
|
-
- Compatibility validation enforced
|
|
72
|
-
|
|
73
|
-
## Low-Priority Word Surfaces Policy
|
|
74
|
-
|
|
75
|
-
### Surface Classification Matrix
|
|
76
|
-
|
|
77
|
-
| Surface Type | Stance | Rationale | Fixture Evidence | Word Compatible |
|
|
78
|
-
|--------------|---------|-----------|------------------|-----------------|
|
|
79
|
-
| **Security-Blocked Surfaces** | | | | |
|
|
80
|
-
| Macros | Blocked | Security risk, executable code | None | No |
|
|
81
|
-
| VBA Scripts | Blocked | Security risk, executable code | None | No |
|
|
82
|
-
| ActiveX Controls | Blocked | Deprecated, security risk | None | No |
|
|
83
|
-
| External Data Connections | Blocked | Security, dependency risk | None | No |
|
|
84
|
-
| **Preserve-Only Surfaces** | | | | |
|
|
85
|
-
| OLE Objects | Preserve-Only | Complex binary, compatibility focus | F20 | Yes |
|
|
86
|
-
| Embedded Objects | Preserve-Only | Format-specific, out of scope | F20 | Yes |
|
|
87
|
-
| Mail Merge Fields | Preserve-Only | Static preservation adequate | F17 | Yes |
|
|
88
|
-
| Legacy Form Fields | Preserve-Only | SDTs preferred, compatibility | F18 | Yes |
|
|
89
|
-
| Custom Ribbons | Preserve-Only | UI customization, not content | F20 | Yes |
|
|
90
|
-
| Word Add-ins | Preserve-Only | Application-level, not document | F20 | Yes |
|
|
91
|
-
| External Links | Preserve-Only | Security boundary, preserve only | F20 | Yes |
|
|
92
|
-
| **Unsupported-Fatal Surfaces** | | | | |
|
|
93
|
-
| Advanced Word Automation | Unsupported-Fatal | Complex, use Word directly | None | No |
|
|
94
|
-
|
|
95
|
-
### Preserve-Only Implementation
|
|
96
|
-
|
|
97
|
-
**Technical Approach**:
|
|
98
|
-
- Import: Content preserved in package-backed opaque placeholders
|
|
99
|
-
- Edit: Locked regions prevent accidental modification
|
|
100
|
-
- Export: Original content reattached during serialization
|
|
101
|
-
- Warning: Users informed about preservation limitations
|
|
102
|
-
|
|
103
|
-
**Word Compatibility**: All preserve-only surfaces maintain round-trip safety with Microsoft Word, ensuring no data loss and no repair prompts on reopen.
|
|
104
|
-
|
|
105
|
-
### Security Boundaries
|
|
106
|
-
|
|
107
|
-
**Blocked for Security**:
|
|
108
|
-
- **Executable Content**: Macros, VBA scripts, ActiveX controls
|
|
109
|
-
- **External Dependencies**: Data connections, external system integrations
|
|
110
|
-
- **Rationale**: Legal document workflows require contained, auditable content without external dependencies or executable code that could compromise security or introduce non-deterministic behavior.
|
|
111
|
-
|
|
112
|
-
**Preserve-Only for Compatibility**:
|
|
113
|
-
- **Complex Binary Content**: OLE objects, embedded media
|
|
114
|
-
- **Application Features**: Custom ribbons, add-in definitions
|
|
115
|
-
- **Rationale**: These features can be safely preserved without editing to maintain Word compatibility while keeping the editor focused on core text and review workflows.
|
|
116
|
-
|
|
117
|
-
## AI Action Validation Framework
|
|
118
|
-
|
|
119
|
-
### Context-Aware Validation
|
|
120
|
-
|
|
121
|
-
The AI action policy includes context validation that considers:
|
|
122
|
-
|
|
123
|
-
```typescript
|
|
124
|
-
interface AIActionContext {
|
|
125
|
-
documentId: string;
|
|
126
|
-
userId: string;
|
|
127
|
-
selection?: { from: number; to: number; text: string };
|
|
128
|
-
preservedContent: {
|
|
129
|
-
hasPreservedElements: boolean;
|
|
130
|
-
preservedTypes: string[];
|
|
131
|
-
};
|
|
132
|
-
compatibility: {
|
|
133
|
-
hasWarnings: boolean;
|
|
134
|
-
blockingIssues: string[];
|
|
135
|
-
};
|
|
136
|
-
permissions: {
|
|
137
|
-
canEdit: boolean;
|
|
138
|
-
canExport: boolean;
|
|
139
|
-
isReadOnly: boolean;
|
|
140
|
-
};
|
|
141
|
-
}
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
### Validation Rules
|
|
145
|
-
|
|
146
|
-
1. **Permission Checks**: Content-modifying actions require edit permissions
|
|
147
|
-
2. **Compatibility Constraints**: Actions requiring validation cannot proceed with blocking compatibility issues
|
|
148
|
-
3. **Preserved Content Respect**: Actions must respect preserve-only boundaries
|
|
149
|
-
4. **Scope Limitations**: Actions are limited to appropriate document scopes (selection, paragraph, document)
|
|
150
|
-
|
|
151
|
-
### Error Handling
|
|
152
|
-
|
|
153
|
-
- **Blocked Actions**: Clear error messages with policy rationale
|
|
154
|
-
- **Permission Failures**: Explicit permission requirement notifications
|
|
155
|
-
- **Context Constraints**: Specific guidance on resolving context issues
|
|
156
|
-
- **Graceful Degradation**: Fallback behaviors that maintain editor stability
|
|
157
|
-
|
|
158
|
-
## Integration with Legal Review Workflow
|
|
159
|
-
|
|
160
|
-
### Review-Centric Design
|
|
161
|
-
|
|
162
|
-
**Core Principle**: AI actions support legal review workflows without replacing human judgment or bypassing necessary review processes.
|
|
163
|
-
|
|
164
|
-
**Supported Workflows**:
|
|
165
|
-
- Document analysis and risk identification
|
|
166
|
-
- Comment response suggestions and thread analysis
|
|
167
|
-
- Change impact assessment and validation
|
|
168
|
-
- Compliance checking and compatibility verification
|
|
169
|
-
- Formatting consistency and style validation
|
|
170
|
-
|
|
171
|
-
**Blocked Workflows**:
|
|
172
|
-
- Automatic acceptance of changes without review
|
|
173
|
-
- Content generation without explicit user confirmation
|
|
174
|
-
- External data integration that could compromise security
|
|
175
|
-
- System modifications that bypass established controls
|
|
176
|
-
|
|
177
|
-
### Audit and Compliance
|
|
178
|
-
|
|
179
|
-
**Audit Logging**:
|
|
180
|
-
- All AI actions logged with user, action, timestamp, and outcome
|
|
181
|
-
- Blocked actions logged for security monitoring
|
|
182
|
-
- Content changes tracked through normal revision system
|
|
183
|
-
- Context validation failures recorded for analysis
|
|
184
|
-
|
|
185
|
-
**Compliance Support**:
|
|
186
|
-
- AI actions align with legal document integrity requirements
|
|
187
|
-
- No bypass of established Word compatibility validation
|
|
188
|
-
- Preserve-only content boundaries respected by all AI operations
|
|
189
|
-
- User confirmation required for all content-changing proposals
|
|
190
|
-
|
|
191
|
-
## Implementation Architecture
|
|
192
|
-
|
|
193
|
-
### Policy Enforcement
|
|
194
|
-
|
|
195
|
-
**Runtime Validation**:
|
|
196
|
-
- `validateAIAction(action, context)` provides comprehensive validation
|
|
197
|
-
- Policy lookup with fallback to secure defaults for unknown actions
|
|
198
|
-
- Context-aware constraint checking with detailed error reporting
|
|
199
|
-
- Graceful degradation with user-facing guidance
|
|
200
|
-
|
|
201
|
-
**Security-First Design**:
|
|
202
|
-
- Unknown actions blocked by default
|
|
203
|
-
- Critical risk actions always blocked regardless of context
|
|
204
|
-
- No bypass mechanisms for security-sensitive operations
|
|
205
|
-
- Audit logging for all policy decisions
|
|
206
|
-
|
|
207
|
-
### Integration Points
|
|
208
|
-
|
|
209
|
-
**Document Model Integration**:
|
|
210
|
-
- AI actions respect canonical document model boundaries
|
|
211
|
-
- Preserve-only regions remain protected from AI modifications
|
|
212
|
-
- Change tracking and comment systems work normally with AI-generated content
|
|
213
|
-
- Export validation applies to AI-modified content
|
|
214
|
-
|
|
215
|
-
**User Interface Integration**:
|
|
216
|
-
- Confirmation dialogs for content-changing actions
|
|
217
|
-
- Clear warnings for actions affecting preserved content
|
|
218
|
-
- Progress indication for long-running analysis actions
|
|
219
|
-
- Undo support for all reversible AI actions
|
|
220
|
-
|
|
221
|
-
## Future Extension Points
|
|
222
|
-
|
|
223
|
-
### Planned Enhancements
|
|
224
|
-
|
|
225
|
-
**Post-V1 Considerations**:
|
|
226
|
-
- Additional analysis actions as legal workflows evolve
|
|
227
|
-
- Enhanced content generation with legal-specific templates
|
|
228
|
-
- Integration with legal knowledge bases (with appropriate security controls)
|
|
229
|
-
- Advanced validation against regulatory requirements
|
|
230
|
-
|
|
231
|
-
**Extension Principles**:
|
|
232
|
-
- Maintain security-first approach for all new actions
|
|
233
|
-
- Require explicit policy definition for new action categories
|
|
234
|
-
- Preserve Word compatibility as primary constraint
|
|
235
|
-
- Keep legal review human judgment as ultimate authority
|
|
236
|
-
|
|
237
|
-
### API Evolution
|
|
238
|
-
|
|
239
|
-
**Planned API Shape** (reserved for future waves):
|
|
240
|
-
|
|
241
|
-
```typescript
|
|
242
|
-
interface PlannedWordReviewEditorAiAdapter {
|
|
243
|
-
runAction(request: PlannedWordReviewEditorAiRequest): Promise<{
|
|
244
|
-
kind: "proposal" | "workflow" | "rejected";
|
|
245
|
-
summary?: string;
|
|
246
|
-
requiresConfirmation?: boolean;
|
|
247
|
-
reason?: string;
|
|
248
|
-
}>;
|
|
249
|
-
}
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
**Key Constraints** (preserved in future API):
|
|
253
|
-
- No built-in model client in WordReviewEditor
|
|
254
|
-
- No direct DOM or canonical state mutation from AI
|
|
255
|
-
- No bypass of permissions, compatibility, or export validation
|
|
256
|
-
- No implication that unsupported features become editable through AI
|
|
257
|
-
|
|
258
|
-
## Conclusion
|
|
259
|
-
|
|
260
|
-
Wave 18 establishes a comprehensive and security-focused framework for AI integration in the legal document review editor. The policy matrix provides clear boundaries that:
|
|
261
|
-
|
|
262
|
-
1. **Enable Valuable AI Assistance**: Analysis, validation, and review support actions
|
|
263
|
-
2. **Require Appropriate Confirmation**: Content-changing actions with user oversight
|
|
264
|
-
3. **Block Security Risks**: External integrations, system modifications, and executable content
|
|
265
|
-
4. **Preserve Legal Workflow Integrity**: No bypass of review processes or compatibility requirements
|
|
266
|
-
|
|
267
|
-
The low-priority Word surfaces policy complements this by providing explicit stances on complex Word features, ensuring users understand what can be edited, what is preserved, and what is blocked for security reasons.
|
|
268
|
-
|
|
269
|
-
This framework provides a solid foundation for AI-assisted legal document workflows while maintaining the security, integrity, and Word compatibility that are essential for legal review processes.
|
|
270
|
-
|
|
271
|
-
---
|
|
272
|
-
|
|
273
|
-
**Implementation Status**: ✅ **Complete**
|
|
274
|
-
- Source code implemented in `src/runtime/ai-action-policy.ts` and `src/validation/low-priority-word-surfaces.ts`
|
|
275
|
-
- Comprehensive test coverage in `test/validation/low-priority-word-surfaces.test.ts`
|
|
276
|
-
- Machine-readable policy artifacts generated for integration validation
|
|
277
|
-
- Documentation provides clear guidance for future AI feature development
|