@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,110 +0,0 @@
|
|
|
1
|
-
# Claude Runtime Configuration
|
|
2
|
-
|
|
3
|
-
Wave launches Claude headlessly with `claude -p --no-session-persistence`.
|
|
4
|
-
|
|
5
|
-
## Supported Configuration
|
|
6
|
-
|
|
7
|
-
| Behavior | `wave.config.json` / profile key | Wave `### Executor` key | Launch effect |
|
|
8
|
-
| --- | --- | --- | --- |
|
|
9
|
-
| Command | `executors.claude.command`, `executors.profiles.<name>.claude.command` | `claude.command` | Selects the executable |
|
|
10
|
-
| Default model | `executors.claude.model`, `executors.profiles.<name>.model` | `model` | Adds `--model <name>` |
|
|
11
|
-
| Agent | `executors.claude.agent`, `executors.profiles.<name>.claude.agent` | `claude.agent` | Adds `--agent <name>` |
|
|
12
|
-
| Prompt mode | `executors.claude.appendSystemPromptMode` | n/a | Uses `--append-system-prompt-file` or `--system-prompt-file` |
|
|
13
|
-
| Permission mode | `executors.claude.permissionMode`, `executors.profiles.<name>.claude.permissionMode` | `claude.permission_mode` | Adds `--permission-mode <mode>` |
|
|
14
|
-
| Permission prompt tool | `executors.claude.permissionPromptTool`, `executors.profiles.<name>.claude.permissionPromptTool` | `claude.permission_prompt_tool` | Adds `--permission-prompt-tool <tool>` |
|
|
15
|
-
| Effort | `executors.claude.effort`, `executors.profiles.<name>.claude.effort` | `claude.effort` | Adds `--effort low|medium|high|max` |
|
|
16
|
-
| Max turns | `executors.claude.maxTurns`, `executors.profiles.<name>.claude.maxTurns` | `claude.max_turns` | Adds `--max-turns <n>` |
|
|
17
|
-
| MCP config | `executors.claude.mcpConfig`, `executors.profiles.<name>.claude.mcpConfig` | `claude.mcp_config` | Adds repeated `--mcp-config <path>` |
|
|
18
|
-
| Strict MCP mode | `executors.claude.strictMcpConfig`, `executors.profiles.<name>.claude.strictMcpConfig` | n/a | Adds `--strict-mcp-config` |
|
|
19
|
-
| Base settings file | `executors.claude.settings`, `executors.profiles.<name>.claude.settings` | `claude.settings` | Passed through `--settings` when no inline overlay is generated, or used as the base for the generated overlay |
|
|
20
|
-
| Inline settings JSON | `executors.claude.settingsJson`, `executors.profiles.<name>.claude.settingsJson` | `claude.settings_json` | Merged into generated settings overlay |
|
|
21
|
-
| Inline hooks JSON | `executors.claude.hooksJson`, `executors.profiles.<name>.claude.hooksJson` | `claude.hooks_json` | Written under top-level `hooks` in the generated settings overlay |
|
|
22
|
-
| Allowed HTTP hook URLs | `executors.claude.allowedHttpHookUrls`, `executors.profiles.<name>.claude.allowedHttpHookUrls` | `claude.allowed_http_hook_urls` | Written under top-level `allowedHttpHookUrls` in the generated settings overlay |
|
|
23
|
-
| Output format | `executors.claude.outputFormat`, `executors.profiles.<name>.claude.outputFormat` | `claude.output_format` | Adds `--output-format text|json|stream-json` |
|
|
24
|
-
| Allowed tools | `executors.claude.allowedTools`, `executors.profiles.<name>.claude.allowedTools` | `claude.allowed_tools` | Adds repeated `--allowedTools <tool>` |
|
|
25
|
-
| Disallowed tools | `executors.claude.disallowedTools`, `executors.profiles.<name>.claude.disallowedTools` | `claude.disallowed_tools` | Adds repeated `--disallowedTools <tool>` |
|
|
26
|
-
|
|
27
|
-
## Overlay Behavior
|
|
28
|
-
|
|
29
|
-
Wave always writes `claude-system-prompt.txt` for the harness runtime instructions.
|
|
30
|
-
|
|
31
|
-
Wave validates the effort enum only. Model-specific compatibility for values such as `max` remains enforced by Claude Code itself.
|
|
32
|
-
|
|
33
|
-
Wave writes `claude-settings.json` only when at least one inline overlay input is present:
|
|
34
|
-
|
|
35
|
-
- `settingsJson`
|
|
36
|
-
- `hooksJson`
|
|
37
|
-
- `allowedHttpHookUrls`
|
|
38
|
-
|
|
39
|
-
Merge order:
|
|
40
|
-
|
|
41
|
-
1. base `claude.settings` JSON file, if provided
|
|
42
|
-
2. inline `settingsJson`
|
|
43
|
-
3. inline `hooksJson` under top-level `hooks`
|
|
44
|
-
4. inline `allowedHttpHookUrls` under top-level `allowedHttpHookUrls`
|
|
45
|
-
|
|
46
|
-
If no inline overlay data is present, Wave passes the base `claude.settings` file directly through `--settings` without generating `claude-settings.json`.
|
|
47
|
-
|
|
48
|
-
## Example: `wave.config.json`
|
|
49
|
-
|
|
50
|
-
```json
|
|
51
|
-
{
|
|
52
|
-
"executors": {
|
|
53
|
-
"profiles": {
|
|
54
|
-
"deep-review": {
|
|
55
|
-
"id": "claude",
|
|
56
|
-
"model": "claude-sonnet-4-6",
|
|
57
|
-
"budget": {
|
|
58
|
-
"turns": 10,
|
|
59
|
-
"minutes": 30
|
|
60
|
-
},
|
|
61
|
-
"claude": {
|
|
62
|
-
"agent": "reviewer",
|
|
63
|
-
"effort": "high",
|
|
64
|
-
"permissionMode": "plan",
|
|
65
|
-
"allowedTools": ["Read"],
|
|
66
|
-
"disallowedTools": ["Edit"]
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
},
|
|
70
|
-
"claude": {
|
|
71
|
-
"command": "claude",
|
|
72
|
-
"appendSystemPromptMode": "append",
|
|
73
|
-
"outputFormat": "text",
|
|
74
|
-
"settingsJson": {
|
|
75
|
-
"permissions": {
|
|
76
|
-
"allow": ["Read"]
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
## Example: Wave `### Executor`
|
|
85
|
-
|
|
86
|
-
````md
|
|
87
|
-
### Executor
|
|
88
|
-
|
|
89
|
-
- id: claude
|
|
90
|
-
- model: claude-sonnet-4-6
|
|
91
|
-
- claude.effort: high
|
|
92
|
-
- claude.permission_mode: plan
|
|
93
|
-
- claude.max_turns: 4
|
|
94
|
-
- claude.settings_json: {"permissions":{"allow":["Read"]}}
|
|
95
|
-
- claude.hooks_json: {"Stop":[{"command":"echo stop"}]}
|
|
96
|
-
- claude.allowed_http_hook_urls: https://example.com/hooks
|
|
97
|
-
- claude.output_format: json
|
|
98
|
-
- claude.allowed_tools: Read
|
|
99
|
-
- claude.disallowed_tools: Edit
|
|
100
|
-
````
|
|
101
|
-
|
|
102
|
-
## Dry-Run Output
|
|
103
|
-
|
|
104
|
-
For a dry run, inspect:
|
|
105
|
-
|
|
106
|
-
- `claude-system-prompt.txt`
|
|
107
|
-
- `claude-settings.json`, when generated
|
|
108
|
-
- `launch-preview.json`
|
|
109
|
-
|
|
110
|
-
`launch-preview.json` shows the final `claude -p` invocation, whether `--effort`, `--settings`, `--allowedTools`, `--disallowedTools`, `--mcp-config`, or `--system-prompt-file` were included, and the resolved `limits` block for attempt timeout plus known turn ceiling.
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
# Codex Runtime Configuration
|
|
2
|
-
|
|
3
|
-
Wave launches Codex with `codex exec` and pipes the generated task prompt through stdin.
|
|
4
|
-
|
|
5
|
-
## Supported Configuration
|
|
6
|
-
|
|
7
|
-
| Behavior | `wave.config.json` / profile key | Wave `### Executor` key | Launch effect |
|
|
8
|
-
| --- | --- | --- | --- |
|
|
9
|
-
| Command | `executors.codex.command`, `executors.profiles.<name>.codex.command` | `codex.command` | Selects the executable |
|
|
10
|
-
| Sandbox | `executors.codex.sandbox`, `executors.profiles.<name>.codex.sandbox` | `codex.sandbox` | Sets `--sandbox`; if absent on a selected Codex agent, launcher `--codex-sandbox` can supply the runtime default |
|
|
11
|
-
| CLI profile | `executors.codex.profileName`, `executors.profiles.<name>.codex.profileName` | `codex.profile_name` | Adds `--profile <name>` |
|
|
12
|
-
| Inline config overrides | `executors.codex.config`, `executors.profiles.<name>.codex.config` | `codex.config` | Adds repeated `-c key=value` |
|
|
13
|
-
| Search | `executors.codex.search`, `executors.profiles.<name>.codex.search` | `codex.search` | Adds `--search` |
|
|
14
|
-
| Images | `executors.codex.images`, `executors.profiles.<name>.codex.images` | `codex.images` | Adds repeated `--image <path>` |
|
|
15
|
-
| Extra directories | `executors.codex.addDirs`, `executors.profiles.<name>.codex.addDirs` | `codex.add_dirs` | Adds repeated `--add-dir <path>` |
|
|
16
|
-
| JSON mode | `executors.codex.json`, `executors.profiles.<name>.codex.json` | `codex.json` | Adds `--json` |
|
|
17
|
-
| Ephemeral session | `executors.codex.ephemeral`, `executors.profiles.<name>.codex.ephemeral` | `codex.ephemeral` | Adds `--ephemeral` |
|
|
18
|
-
| Model | `executors.profiles.<name>.model` | `model` | Adds `--model <name>` |
|
|
19
|
-
|
|
20
|
-
## Notes
|
|
21
|
-
|
|
22
|
-
- There is no `executors.codex.model` key today. Use profile `model` or per-agent `model`.
|
|
23
|
-
- Generic `budget.turns` does not set a Codex turn limit. If Codex stops on a turn ceiling, that limit came from the selected Codex profile or upstream Codex runtime, not from a Wave-emitted CLI flag.
|
|
24
|
-
- Live runs still write `launch-preview.json`. If Codex later logs `Reached max turns (N)`, Wave records that observed ceiling under `limits.observedTurnLimit` with source `runtime-log`.
|
|
25
|
-
- `codex.images`, `codex.add_dirs`, and `codex.config` accept either a string array in `wave.config.json` or a comma-separated list in a wave file.
|
|
26
|
-
- Relative paths are passed to Codex relative to the repository root because Wave launches the executor from the repo workspace.
|
|
27
|
-
|
|
28
|
-
## Example: `wave.config.json`
|
|
29
|
-
|
|
30
|
-
```json
|
|
31
|
-
{
|
|
32
|
-
"executors": {
|
|
33
|
-
"default": "codex",
|
|
34
|
-
"profiles": {
|
|
35
|
-
"implement-fast": {
|
|
36
|
-
"id": "codex",
|
|
37
|
-
"model": "gpt-5-codex",
|
|
38
|
-
"fallbacks": ["claude", "opencode"],
|
|
39
|
-
"budget": {
|
|
40
|
-
"minutes": 45
|
|
41
|
-
},
|
|
42
|
-
"codex": {
|
|
43
|
-
"profileName": "review",
|
|
44
|
-
"config": ["model_reasoning_effort=medium"],
|
|
45
|
-
"search": true
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
"codex": {
|
|
50
|
-
"command": "codex",
|
|
51
|
-
"sandbox": "danger-full-access",
|
|
52
|
-
"json": false,
|
|
53
|
-
"ephemeral": false
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
```
|
|
58
|
-
|
|
59
|
-
## Example: Wave `### Executor`
|
|
60
|
-
|
|
61
|
-
````md
|
|
62
|
-
### Executor
|
|
63
|
-
|
|
64
|
-
- id: codex
|
|
65
|
-
- model: gpt-5-codex
|
|
66
|
-
- codex.profile_name: review
|
|
67
|
-
- codex.config: model_reasoning_effort=high,model_verbosity=low
|
|
68
|
-
- codex.search: true
|
|
69
|
-
- codex.images: docs/mock-ui.png
|
|
70
|
-
- codex.add_dirs: ../shared,../infra
|
|
71
|
-
- codex.json: true
|
|
72
|
-
- codex.ephemeral: true
|
|
73
|
-
````
|
|
74
|
-
|
|
75
|
-
## Dry-Run Output
|
|
76
|
-
|
|
77
|
-
For a dry run, inspect:
|
|
78
|
-
|
|
79
|
-
- `launch-preview.json` for the final `codex exec` command
|
|
80
|
-
- any referenced prompt file under `.tmp/<lane>-wave-launcher/dry-run/prompts/`
|
|
81
|
-
|
|
82
|
-
The preview records the exact `--profile`, repeated `-c`, `--image`, and `--add-dir` flags that Wave would use in a live launch. It also includes a `limits` block that makes Wave's Codex visibility explicit: `turnLimitSource: "not-set-by-wave"` means Wave emitted no Codex turn-limit flag, so any effective ceiling is external to the Wave CLI invocation. On a live run, that same preview file may later gain `observedTurnLimit` if the Codex runtime reports the ceiling in its log output.
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
# OpenCode Runtime Configuration
|
|
2
|
-
|
|
3
|
-
Wave launches OpenCode with `opencode run` and points `OPENCODE_CONFIG` at a generated overlay.
|
|
4
|
-
|
|
5
|
-
## Supported Configuration
|
|
6
|
-
|
|
7
|
-
| Behavior | `wave.config.json` / profile key | Wave `### Executor` key | Launch effect |
|
|
8
|
-
| --- | --- | --- | --- |
|
|
9
|
-
| Command | `executors.opencode.command`, `executors.profiles.<name>.opencode.command` | `opencode.command` | Selects the executable |
|
|
10
|
-
| Default model | `executors.opencode.model`, `executors.profiles.<name>.model` | `model` | Adds `--model <name>` |
|
|
11
|
-
| Agent name | `executors.opencode.agent`, `executors.profiles.<name>.opencode.agent` | `opencode.agent` | Selects the injected agent name used with `--agent <name>` |
|
|
12
|
-
| Single attachment | `executors.opencode.attach`, `executors.profiles.<name>.opencode.attach` | `opencode.attach` | Adds `--attach <path>` |
|
|
13
|
-
| Multiple files | `executors.opencode.files`, `executors.profiles.<name>.opencode.files` | `opencode.files` | Adds repeated `--file <path>` |
|
|
14
|
-
| Output format | `executors.opencode.format`, `executors.profiles.<name>.opencode.format` | `opencode.format` | Adds `--format default|json` |
|
|
15
|
-
| Step limit | `executors.opencode.steps`, `executors.profiles.<name>.opencode.steps` | `opencode.steps` | Stored in the generated agent config |
|
|
16
|
-
| Instructions | `executors.opencode.instructions`, `executors.profiles.<name>.opencode.instructions` | `opencode.instructions` | Merged into top-level `instructions` in the generated overlay |
|
|
17
|
-
| Permission JSON | `executors.opencode.permission`, `executors.profiles.<name>.opencode.permission` | `opencode.permission` | Stored in the generated agent config |
|
|
18
|
-
| Config overlay JSON | `executors.opencode.configJson`, `executors.profiles.<name>.opencode.configJson` | `opencode.config_json` | Deep-merged into the generated `opencode.json` |
|
|
19
|
-
|
|
20
|
-
## Overlay Behavior
|
|
21
|
-
|
|
22
|
-
Wave always writes:
|
|
23
|
-
|
|
24
|
-
- `opencode-agent-prompt.txt`
|
|
25
|
-
- `opencode.json`
|
|
26
|
-
|
|
27
|
-
Merge order for `opencode.json`:
|
|
28
|
-
|
|
29
|
-
1. inline `configJson` from config, profile, and agent resolution
|
|
30
|
-
2. generated `$schema` if the merged config does not already define one
|
|
31
|
-
3. merged top-level `instructions`
|
|
32
|
-
4. generated or merged `agent.<resolved-name>` entry that points to `opencode-agent-prompt.txt`
|
|
33
|
-
|
|
34
|
-
Wave then exports `OPENCODE_CONFIG=<generated-path>` for the run.
|
|
35
|
-
|
|
36
|
-
## Example: `wave.config.json`
|
|
37
|
-
|
|
38
|
-
```json
|
|
39
|
-
{
|
|
40
|
-
"executors": {
|
|
41
|
-
"profiles": {
|
|
42
|
-
"ops-triage": {
|
|
43
|
-
"id": "opencode",
|
|
44
|
-
"model": "anthropic/claude-sonnet-4-20250514",
|
|
45
|
-
"budget": {
|
|
46
|
-
"turns": 8,
|
|
47
|
-
"minutes": 20
|
|
48
|
-
},
|
|
49
|
-
"opencode": {
|
|
50
|
-
"instructions": ["Keep findings concise."],
|
|
51
|
-
"permission": {
|
|
52
|
-
"task": "ask"
|
|
53
|
-
},
|
|
54
|
-
"configJson": {
|
|
55
|
-
"plugins": ["./plugins/runtime.mjs"]
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
},
|
|
60
|
-
"opencode": {
|
|
61
|
-
"command": "opencode",
|
|
62
|
-
"format": "default"
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
```
|
|
67
|
-
|
|
68
|
-
## Example: Wave `### Executor`
|
|
69
|
-
|
|
70
|
-
````md
|
|
71
|
-
### Executor
|
|
72
|
-
|
|
73
|
-
- id: opencode
|
|
74
|
-
- model: anthropic/claude-sonnet-4-20250514
|
|
75
|
-
- opencode.agent: docs-runner
|
|
76
|
-
- opencode.attach: docs/plans/current-state.md
|
|
77
|
-
- opencode.files: README.md,docs/plans/current-state.md
|
|
78
|
-
- opencode.format: json
|
|
79
|
-
- opencode.steps: 6
|
|
80
|
-
- opencode.instructions: Keep shared-plan edits concise.
|
|
81
|
-
- opencode.permission: {"task":"ask"}
|
|
82
|
-
- opencode.config_json: {"plugins":["./plugins/runtime.mjs"]}
|
|
83
|
-
````
|
|
84
|
-
|
|
85
|
-
## Dry-Run Output
|
|
86
|
-
|
|
87
|
-
For a dry run, inspect:
|
|
88
|
-
|
|
89
|
-
- `opencode-agent-prompt.txt`
|
|
90
|
-
- `opencode.json`
|
|
91
|
-
- `launch-preview.json`
|
|
92
|
-
|
|
93
|
-
`launch-preview.json` shows the final `opencode run` command, the exported `OPENCODE_CONFIG` path, and the resolved `limits` block for attempt timeout plus known step ceiling.
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: "Sample Waves"
|
|
3
|
-
summary: "Showcase-first sample waves that demonstrate the shipped 0.8.9 authored surface, including the optional design-role path."
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Sample Waves
|
|
7
|
-
|
|
8
|
-
This guide points to showcase-first sample waves that demonstrate the shipped `0.8.9` authored Wave surface.
|
|
9
|
-
|
|
10
|
-
The examples are intentionally denser than typical production waves. Their job is to teach the current authoring and runtime surface quickly, not to be the smallest possible launch-ready files.
|
|
11
|
-
|
|
12
|
-
## Canonical Examples
|
|
13
|
-
|
|
14
|
-
- [High-fidelity repo-landed rollout wave](../plans/examples/wave-example-rollout-fidelity.md)
|
|
15
|
-
Shows what a good `repo-landed` outcome looks like when one promoted component only closes honestly if desired-state records, reconcile-loop substrate, and cluster-view surfaces land together. It emphasizes maturity discipline, explicit deliverables, and shared-plan closure without drifting into `pilot-live` claims.
|
|
16
|
-
|
|
17
|
-
- [Full modern sample wave](../plans/examples/wave-example-live-proof.md)
|
|
18
|
-
Shows the combined `0.8.9` authored surface in one file: closure roles, `E0`, optional security review, delegated and pinned benchmark targets, richer executor config, `### Skills`, `### Capabilities`, `### Deliverables`, `### Exit contract`, `### Proof artifacts`, sticky retry, deploy environments, and proof-first live-wave structure.
|
|
19
|
-
|
|
20
|
-
- [Optional design-steward handoff wave](../plans/examples/wave-example-design-handoff.md)
|
|
21
|
-
Shows the shipped design-role surface: one pre-implementation design steward publishes a design packet, downstream implementation owners read that packet before coding, and normal closure roles still decide final completion. For terminal or operator-surface work, pair that shape with explicit `tui-design` in the design steward's `### Skills`. For the hybrid variant, explicitly give that same design agent implementation-owned paths and the normal implementation contract sections.
|
|
22
|
-
|
|
23
|
-
## What These Examples Teach
|
|
24
|
-
|
|
25
|
-
- the standard closure-role structure with `A0`, `A8`, and `A9`
|
|
26
|
-
- `E0` and wave-level `## Eval targets` in the full modern sample
|
|
27
|
-
- honest `repo-landed` maturity framing without `pilot-live` drift
|
|
28
|
-
- multi-slice component promotion where all sibling owners must land together
|
|
29
|
-
- shared-plan and component-matrix closure as part of the architecture truth
|
|
30
|
-
- delegated versus pinned benchmark selection
|
|
31
|
-
- coordination benchmark families from `docs/evals/benchmark-catalog.json`
|
|
32
|
-
- richer executor blocks, runtime budgets, and retry policy
|
|
33
|
-
- cross-runtime `### Skills`
|
|
34
|
-
- helper-routing hints via `### Capabilities`
|
|
35
|
-
- `### Deliverables`
|
|
36
|
-
- `### Exit contract`
|
|
37
|
-
- proof-first `### Proof artifacts`
|
|
38
|
-
- sticky retry for proof-bearing owners
|
|
39
|
-
- deploy environments and provider-skill examples
|
|
40
|
-
- infra and deploy-verifier specialist slices
|
|
41
|
-
- optional pre-implementation design packets and design-to-implementation handoff
|
|
42
|
-
|
|
43
|
-
## Feature Coverage Map
|
|
44
|
-
|
|
45
|
-
Together these samples cover the main surfaces added or hardened through `0.8.9`:
|
|
46
|
-
|
|
47
|
-
- repo-landed maturity discipline and anti-overclaim framing
|
|
48
|
-
- explicit shared-plan closure for future-wave safety
|
|
49
|
-
- coordinated component slices with per-agent deliverables
|
|
50
|
-
- planner-era authored wave structure
|
|
51
|
-
- cross-runtime `### Skills`
|
|
52
|
-
- richer `### Executor` blocks and runtime budgets
|
|
53
|
-
- `cont-EVAL` plus `## Eval targets`
|
|
54
|
-
- delegated and pinned benchmark selection
|
|
55
|
-
- coordination benchmark families from `docs/evals/benchmark-catalog.json`
|
|
56
|
-
- helper-routing hints through `### Capabilities`
|
|
57
|
-
- `### Deliverables`
|
|
58
|
-
- `### Proof artifacts`
|
|
59
|
-
- sticky retry for proof-bearing owners
|
|
60
|
-
- proof-first live-wave prompts
|
|
61
|
-
- deploy environments and deploy-kind-aware skills
|
|
62
|
-
- integration, documentation, and cont-QA closure-role structure
|
|
63
|
-
- optional `design` worker role and `design-pass` executor profile
|
|
64
|
-
|
|
65
|
-
## When To Copy Literally Vs Adapt
|
|
66
|
-
|
|
67
|
-
Copy more literally when:
|
|
68
|
-
|
|
69
|
-
- you need the section layout
|
|
70
|
-
- you want a concrete example of what good repo-landed wave fidelity looks like
|
|
71
|
-
- you want concrete wording for delegated versus pinned benchmark targets
|
|
72
|
-
- you want a proof-first owner example with local artifact bundles and sticky retry
|
|
73
|
-
|
|
74
|
-
Adapt more aggressively when:
|
|
75
|
-
|
|
76
|
-
- your repo has different role ids or role prompts
|
|
77
|
-
- your component promotions and maturity levels differ
|
|
78
|
-
- your runtime policy uses different executor profiles or runtime mix targets
|
|
79
|
-
- your deploy environments or provider skills differ from the example
|
|
80
|
-
|
|
81
|
-
## How This Example Maps To Other Docs
|
|
82
|
-
|
|
83
|
-
- Use [docs/guides/planner.md](../guides/planner.md) for the planner-generated baseline, then use these samples to see how a human would enrich the generated draft for either repo-landed or proof-first work.
|
|
84
|
-
- Use [Optional design-steward handoff wave](../plans/examples/wave-example-design-handoff.md) when the wave should start with a reusable design packet before implementation begins.
|
|
85
|
-
- Use [docs/evals/README.md](../evals/README.md) with the full modern sample when you need to see delegated and pinned benchmark targets in a real wave.
|
|
86
|
-
- Use [docs/reference/live-proof-waves.md](./live-proof-waves.md) with the full modern sample when you need proof-first authoring for `pilot-live` and above.
|
|
87
|
-
- Use [docs/plans/wave-orchestrator.md](../plans/wave-orchestrator.md) for the operational runbook that explains how the launcher interprets these sections.
|
|
88
|
-
|
|
89
|
-
## Suggested Reading Order
|
|
90
|
-
|
|
91
|
-
1. Start with [High-fidelity repo-landed rollout wave](../plans/examples/wave-example-rollout-fidelity.md) if you want the clearest example of good closure-ready wave fidelity for a repo-only outcome.
|
|
92
|
-
2. Read [Full modern sample wave](../plans/examples/wave-example-live-proof.md) if you want the denser proof-first and eval-heavy `0.8.9` surface.
|
|
93
|
-
3. Read [Optional design-steward handoff wave](../plans/examples/wave-example-design-handoff.md) if the task needs a design packet before implementation fan-out.
|
|
94
|
-
4. Read [docs/evals/README.md](../evals/README.md) if you want more background on benchmark target selection.
|
|
95
|
-
5. Read [docs/reference/live-proof-waves.md](./live-proof-waves.md) if you want more detail on proof-first `pilot-live` authoring.
|
|
96
|
-
|
|
97
|
-
## Why These Examples Live In `docs/plans/examples/`
|
|
98
|
-
|
|
99
|
-
The examples live outside `docs/plans/waves/` on purpose.
|
|
100
|
-
|
|
101
|
-
That keeps it:
|
|
102
|
-
|
|
103
|
-
- easy to browse as teaching material
|
|
104
|
-
- clearly separate from the repo's real launcher-facing wave sequence
|
|
105
|
-
- safe to evolve as reference material without implying that they are part of the current lane's actual plan history
|
package/docs/reference/skills.md
DELETED
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
# Skills Reference
|
|
2
|
-
|
|
3
|
-
Skills are repo-owned reusable instruction bundles. Wave resolves them by config layer, then filters them through each bundle's activation metadata before projecting them into the selected runtime.
|
|
4
|
-
They shape runtime behavior, but they are not part of the canonical authority set.
|
|
5
|
-
|
|
6
|
-
## Canonical Bundle Layout
|
|
7
|
-
|
|
8
|
-
Each bundle lives under `skills/<skill-id>/` and requires:
|
|
9
|
-
|
|
10
|
-
- `skill.json`
|
|
11
|
-
- `SKILL.md`
|
|
12
|
-
|
|
13
|
-
Optional files:
|
|
14
|
-
|
|
15
|
-
- `adapters/codex.md`
|
|
16
|
-
- `adapters/claude.md`
|
|
17
|
-
- `adapters/opencode.md`
|
|
18
|
-
- `adapters/local.md`
|
|
19
|
-
- `references/**` for on-demand reference material
|
|
20
|
-
|
|
21
|
-
Minimal example:
|
|
22
|
-
|
|
23
|
-
```text
|
|
24
|
-
skills/provider-railway/
|
|
25
|
-
skill.json
|
|
26
|
-
SKILL.md
|
|
27
|
-
adapters/
|
|
28
|
-
codex.md
|
|
29
|
-
claude.md
|
|
30
|
-
opencode.md
|
|
31
|
-
references/
|
|
32
|
-
verification-commands.md
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
## `skill.json`
|
|
36
|
-
|
|
37
|
-
Required fields:
|
|
38
|
-
|
|
39
|
-
- `id`
|
|
40
|
-
- `title`
|
|
41
|
-
- `description`
|
|
42
|
-
- `activation.when`
|
|
43
|
-
|
|
44
|
-
Optional fields:
|
|
45
|
-
|
|
46
|
-
- `version`
|
|
47
|
-
- `tags`
|
|
48
|
-
- `activation.roles`
|
|
49
|
-
- `activation.runtimes`
|
|
50
|
-
- `activation.deployKinds`
|
|
51
|
-
- `termination.when`
|
|
52
|
-
- `permissions.network`
|
|
53
|
-
- `permissions.shell`
|
|
54
|
-
- `permissions.mcpServers`
|
|
55
|
-
- `trust.tier`
|
|
56
|
-
- `evalCases[]`
|
|
57
|
-
|
|
58
|
-
Example:
|
|
59
|
-
|
|
60
|
-
```json
|
|
61
|
-
{
|
|
62
|
-
"id": "provider-railway",
|
|
63
|
-
"title": "Railway",
|
|
64
|
-
"description": "Provider-aware Railway verification and rollback guidance.",
|
|
65
|
-
"activation": {
|
|
66
|
-
"when": "Attach when the wave deploy surface is Railway and the agent is acting in deploy, infra, integration, or cont-qa scope.",
|
|
67
|
-
"roles": ["deploy", "infra", "integration", "cont-qa"],
|
|
68
|
-
"runtimes": [],
|
|
69
|
-
"deployKinds": ["railway-cli", "railway-mcp"]
|
|
70
|
-
},
|
|
71
|
-
"termination": "Stop when Railway evidence is recorded or the blocking surface is explicit.",
|
|
72
|
-
"permissions": {
|
|
73
|
-
"network": ["railway.app"],
|
|
74
|
-
"shell": ["railway"],
|
|
75
|
-
"mcpServers": ["railway"]
|
|
76
|
-
},
|
|
77
|
-
"trust": {
|
|
78
|
-
"tier": "repo-owned"
|
|
79
|
-
},
|
|
80
|
-
"evalCases": [
|
|
81
|
-
{
|
|
82
|
-
"id": "deploy-railway-cli",
|
|
83
|
-
"role": "deploy",
|
|
84
|
-
"runtime": "opencode",
|
|
85
|
-
"deployKind": "railway-cli",
|
|
86
|
-
"expectActive": true
|
|
87
|
-
}
|
|
88
|
-
]
|
|
89
|
-
}
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
The bundle directory name and manifest `id` must match the normalized skill id.
|
|
93
|
-
|
|
94
|
-
## `SKILL.md`
|
|
95
|
-
|
|
96
|
-
`SKILL.md` is the canonical instruction body. Keep it reusable and procedural:
|
|
97
|
-
|
|
98
|
-
- reusable across many waves
|
|
99
|
-
- free of assignment-specific details that belong in the wave prompt
|
|
100
|
-
- compact enough that long catalogs and command references can move into `references/`
|
|
101
|
-
|
|
102
|
-
## `wave.config.json` Surface
|
|
103
|
-
|
|
104
|
-
Top-level and lane-local skill attachment use the same shape:
|
|
105
|
-
|
|
106
|
-
```json
|
|
107
|
-
{
|
|
108
|
-
"skills": {
|
|
109
|
-
"dir": "skills",
|
|
110
|
-
"base": ["wave-core", "repo-coding-rules"],
|
|
111
|
-
"byRole": {
|
|
112
|
-
"design": ["role-design"],
|
|
113
|
-
"deploy": ["role-deploy"]
|
|
114
|
-
},
|
|
115
|
-
"byRuntime": {
|
|
116
|
-
"claude": ["runtime-claude"]
|
|
117
|
-
},
|
|
118
|
-
"byDeployKind": {
|
|
119
|
-
"railway-mcp": ["provider-railway"]
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
Lane-local `lanes.<lane>.skills` extends the global config instead of replacing it.
|
|
126
|
-
|
|
127
|
-
Optional design workers in the shipped `0.8.9` surface normally attach `role-design`. That bundle is intended for docs/spec-first design packets and explicit implementation handoff work before implementation starts. When the design packet covers terminal UX, dashboards, or other operator surfaces, add `tui-design` explicitly in the wave's `### Skills`.
|
|
128
|
-
|
|
129
|
-
## Resolution Order
|
|
130
|
-
|
|
131
|
-
Resolved skills are gathered in this order:
|
|
132
|
-
|
|
133
|
-
1. global `skills.base`
|
|
134
|
-
2. lane `skills.base`
|
|
135
|
-
3. global `skills.byRole[resolvedRole]`
|
|
136
|
-
4. lane `skills.byRole[resolvedRole]`
|
|
137
|
-
5. global `skills.byRuntime[resolvedExecutorId]`
|
|
138
|
-
6. lane `skills.byRuntime[resolvedExecutorId]`
|
|
139
|
-
7. global `skills.byDeployKind[defaultDeployEnvironmentKind]`
|
|
140
|
-
8. lane `skills.byDeployKind[defaultDeployEnvironmentKind]`
|
|
141
|
-
9. agent `### Skills`
|
|
142
|
-
|
|
143
|
-
Then Wave applies manifest activation filtering:
|
|
144
|
-
|
|
145
|
-
- configured skills only stay active if their `activation.roles`, `activation.runtimes`, and `activation.deployKinds` match the agent context
|
|
146
|
-
- explicit agent `### Skills` still attach even if activation metadata would not auto-match
|
|
147
|
-
|
|
148
|
-
Duplicates are removed while preserving first-seen order.
|
|
149
|
-
|
|
150
|
-
## Deploy-Kind Attachment
|
|
151
|
-
|
|
152
|
-
Deploy-kind mapping uses the wave's default deploy environment from `## Deploy environments`.
|
|
153
|
-
|
|
154
|
-
If the wave declares:
|
|
155
|
-
|
|
156
|
-
````md
|
|
157
|
-
## Deploy environments
|
|
158
|
-
|
|
159
|
-
- `prod`: `railway-mcp` default
|
|
160
|
-
````
|
|
161
|
-
|
|
162
|
-
then `byDeployKind.railway-mcp` skills become eligible for that wave. Whether they actually attach still depends on each bundle's activation metadata.
|
|
163
|
-
|
|
164
|
-
Config-time validation rules:
|
|
165
|
-
|
|
166
|
-
- `skills.byRole` keys must be supported Wave roles
|
|
167
|
-
- `skills.byRuntime` keys must be supported runtimes
|
|
168
|
-
- `skills.byDeployKind` keys are validated by `wave doctor` against built-in kinds plus kinds declared in wave files
|
|
169
|
-
|
|
170
|
-
Built-in deploy kinds shipped by the starter profile are:
|
|
171
|
-
|
|
172
|
-
- `railway-cli`
|
|
173
|
-
- `railway-mcp`
|
|
174
|
-
- `docker-compose`
|
|
175
|
-
- `kubernetes`
|
|
176
|
-
- `ssh-manual`
|
|
177
|
-
- `custom`
|
|
178
|
-
- `aws`
|
|
179
|
-
- `github-release`
|
|
180
|
-
|
|
181
|
-
## Runtime Projection
|
|
182
|
-
|
|
183
|
-
Wave now projects skills metadata-first:
|
|
184
|
-
|
|
185
|
-
- `skills.resolved.md` is a compact catalog with bundle summaries, activation scope, permissions, manifest paths, adapter paths, and available references
|
|
186
|
-
- `skills.expanded.md` contains the full canonical `SKILL.md` bodies plus runtime adapters for debugging and audit
|
|
187
|
-
|
|
188
|
-
Runtime delivery:
|
|
189
|
-
|
|
190
|
-
- Codex
|
|
191
|
-
Bundle directories become `--add-dir` inputs. The compact catalog stays in the compiled prompt, and the agent can read bundle files directly from disk.
|
|
192
|
-
- Claude
|
|
193
|
-
The compact catalog is appended to the generated system-prompt overlay.
|
|
194
|
-
- OpenCode
|
|
195
|
-
The compact catalog is injected into `opencode.json`, and `skill.json`, `SKILL.md`, the selected adapter, and every recursive `references/**` file are attached through `--file`.
|
|
196
|
-
- Local
|
|
197
|
-
The compact catalog stays prompt-only.
|
|
198
|
-
|
|
199
|
-
These runtime projections are guidance surfaces. They should stay aligned with the canonical authority model, but they are not replay inputs or decision state on their own.
|
|
200
|
-
|
|
201
|
-
For the optional `design` worker role, the default pattern is:
|
|
202
|
-
|
|
203
|
-
- `role-design` for the design packet contract
|
|
204
|
-
- `tui-design` only when the packet covers terminal UX, dashboards, or other operator surfaces
|
|
205
|
-
- no runtime-specific coding bundle unless the wave explicitly gives the design steward code ownership and makes it a hybrid design steward
|
|
206
|
-
|
|
207
|
-
## Generated Artifacts
|
|
208
|
-
|
|
209
|
-
Executor overlay directories can contain:
|
|
210
|
-
|
|
211
|
-
- `skills.resolved.md`
|
|
212
|
-
- `skills.expanded.md`
|
|
213
|
-
- `skills.metadata.json`
|
|
214
|
-
- `<runtime>-skills.txt`
|
|
215
|
-
|
|
216
|
-
Dry-run `launch-preview.json` and live trace metadata also record the resolved skill ids, bundle metadata, hashes, activation metadata, and artifact paths.
|
|
217
|
-
|
|
218
|
-
## Validation
|
|
219
|
-
|
|
220
|
-
`wave doctor` validates the skill surface end to end:
|
|
221
|
-
|
|
222
|
-
- referenced bundles exist and load
|
|
223
|
-
- every bundle under the skills directory has a valid manifest and `SKILL.md`
|
|
224
|
-
- `skills.byRole`, `skills.byRuntime`, and `skills.byDeployKind` selectors are valid
|
|
225
|
-
- config mapping does not contradict manifest activation metadata
|
|
226
|
-
- every shipped `evalCases[]` route resolves to the expected active or inactive outcome
|
|
227
|
-
|
|
228
|
-
Missing or malformed bundles are configuration errors, not silent no-ops.
|
|
229
|
-
|
|
230
|
-
## Best Practices
|
|
231
|
-
|
|
232
|
-
- Keep `SKILL.md` procedural and move long catalogs into `references/`.
|
|
233
|
-
- Put routing intent into `activation.*`, not only prose.
|
|
234
|
-
- Use explicit per-agent `### Skills` for true exceptions, not as a substitute for missing activation metadata.
|
|
235
|
-
- Keep provider skills role-scoped unless every role genuinely needs the provider context.
|
|
236
|
-
- Keep bundle ids stable so traces and prompt fingerprints remain intelligible across runs.
|
|
237
|
-
- Keep `role-design` docs/spec-first by default; add `tui-design` when terminal or operator-surface work is in scope, and only attach broader coding bundles when the wave explicitly assigns code ownership and expects the same design steward to return for implementation.
|