@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,51 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: signal-hygiene
|
|
3
|
-
description: Use for long-running resident or waiting agents that must stay idle until the orchestrator writes a new signal version, then acknowledge that change before acting.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Signal Hygiene
|
|
7
|
-
|
|
8
|
-
Use this skill only when the agent is intentionally long-running.
|
|
9
|
-
|
|
10
|
-
This is not a generic polling skill for normal one-shot implementation work.
|
|
11
|
-
|
|
12
|
-
## Core loop
|
|
13
|
-
|
|
14
|
-
- Treat the signal state file as the orchestrator-controlled wakeup surface.
|
|
15
|
-
- Treat the signal ack file as your durable confirmation that you observed a specific signal version.
|
|
16
|
-
- Stay idle while the signal version is unchanged.
|
|
17
|
-
- Act once when the signal version increases and the new signal is actionable.
|
|
18
|
-
|
|
19
|
-
## Required behavior
|
|
20
|
-
|
|
21
|
-
- Read the signal state path provided in the prompt before deciding whether to keep waiting or resume work.
|
|
22
|
-
- If the signal file is missing, assume the orchestrator has not published a new signal yet and keep waiting.
|
|
23
|
-
- Compare the signal file's `version` to the version already recorded in the signal ack file.
|
|
24
|
-
- When the signal version increases, write the ack file immediately before you act on the change.
|
|
25
|
-
- Write the ack file as JSON with exactly these keys:
|
|
26
|
-
- `agentId`
|
|
27
|
-
- `version`
|
|
28
|
-
- `signal`
|
|
29
|
-
- `observedAt`
|
|
30
|
-
- After acknowledging the new version, re-read the inbox, shared summary, message board, and any explicitly referenced artifacts before taking action.
|
|
31
|
-
- If the signal kind is `completed` or `failed`, stop the waiting loop and finish cleanly.
|
|
32
|
-
|
|
33
|
-
## Do not do this
|
|
34
|
-
|
|
35
|
-
- Do not busy-loop or emit repeated status chatter while the signal version is unchanged.
|
|
36
|
-
- Do not keep re-processing the same signal version.
|
|
37
|
-
- Do not invent your own wakeup surface when the orchestrator already provided signal and ack paths.
|
|
38
|
-
- Do not stay resident forever once the signal clearly becomes terminal.
|
|
39
|
-
|
|
40
|
-
## Actionability rule
|
|
41
|
-
|
|
42
|
-
Treat these signal kinds as actionable by default:
|
|
43
|
-
|
|
44
|
-
- `feedback-requested`
|
|
45
|
-
- `feedback-answered`
|
|
46
|
-
- `coordination-action`
|
|
47
|
-
- `resume-ready`
|
|
48
|
-
- `completed`
|
|
49
|
-
- `failed`
|
|
50
|
-
|
|
51
|
-
Treat `waiting` and `stable` as non-actionable until the version changes again.
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "signal-hygiene",
|
|
3
|
-
"title": "Long-Running Signal Hygiene",
|
|
4
|
-
"description": "Use for long-running resident or waiting agents that must stay idle until the orchestrator writes a new signal version, then acknowledge that change before acting.",
|
|
5
|
-
"activation": {
|
|
6
|
-
"when": "Attach explicitly when an agent is expected to stay resident, wait for human feedback or coordination changes, and react only when the orchestrator updates the signal state file.",
|
|
7
|
-
"roles": [],
|
|
8
|
-
"runtimes": [],
|
|
9
|
-
"deployKinds": []
|
|
10
|
-
},
|
|
11
|
-
"termination": "Stop when the signal reaches a terminal state or the agent is no longer expected to stay resident and wait for follow-up work.",
|
|
12
|
-
"permissions": {
|
|
13
|
-
"network": [],
|
|
14
|
-
"shell": [],
|
|
15
|
-
"mcpServers": []
|
|
16
|
-
},
|
|
17
|
-
"trust": {
|
|
18
|
-
"tier": "repo-owned"
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: tui-design
|
|
3
|
-
description: Reviews terminal UI and operator-surface design against world-class TUI principles for focus, trust, navigation, information architecture, and recovery. Use when designing or reviewing TUIs, operator shells, dashboards, keyboard flows, or live terminal UX.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# TUI Design
|
|
7
|
-
|
|
8
|
-
Use this skill when the work involves terminal UX, operator shells, dashboards, or live operator-facing review.
|
|
9
|
-
|
|
10
|
-
## Core stance
|
|
11
|
-
|
|
12
|
-
- Treat the TUI as an operating instrument, not a styled CLI.
|
|
13
|
-
- Optimize for observe, decide, act, verify loops rather than one-shot command execution.
|
|
14
|
-
- Keep the surface keyboard-first, focus-driven, interruptible, and operationally honest.
|
|
15
|
-
- Prefer stable information architecture over visual cleverness.
|
|
16
|
-
- Treat trust, recovery, and state visibility as first-class UX requirements.
|
|
17
|
-
|
|
18
|
-
## Review priorities
|
|
19
|
-
|
|
20
|
-
When reviewing or designing a TUI, check these in order:
|
|
21
|
-
|
|
22
|
-
1. **Operational honesty**
|
|
23
|
-
- Can the operator tell what is live, stale, partial, pending, failed, or only requested?
|
|
24
|
-
- Does the UI ever imply success before backend confirmation?
|
|
25
|
-
|
|
26
|
-
2. **Focus and keyboard flow**
|
|
27
|
-
- Is the focused pane or widget always obvious?
|
|
28
|
-
- Are navigation, action, command-entry, and escape keys separated cleanly?
|
|
29
|
-
- Is there always a safe back, cancel, help, and quit path?
|
|
30
|
-
|
|
31
|
-
3. **Information architecture**
|
|
32
|
-
- Are scope, identity, freshness, and top-level health always visible?
|
|
33
|
-
- Does the default view answer what changed, what is broken, and what needs action?
|
|
34
|
-
- Is detail one step away instead of dumped everywhere at once?
|
|
35
|
-
|
|
36
|
-
4. **Streaming and live-state behavior**
|
|
37
|
-
- Do updates preserve selection and focus?
|
|
38
|
-
- Can users pause or freeze moving views when they need to read?
|
|
39
|
-
- Are lag, dropped updates, or replay versus live mode visible?
|
|
40
|
-
|
|
41
|
-
5. **Recovery and trust**
|
|
42
|
-
- Are retries, resume paths, and error next steps explicit?
|
|
43
|
-
- Are destructive or high-risk actions confirmed and auditable?
|
|
44
|
-
|
|
45
|
-
## Design rules
|
|
46
|
-
|
|
47
|
-
- Keep layouts stable. Avoid reflow and selection jumps during streaming updates.
|
|
48
|
-
- Use color semantically, never decoratively or as the only signal.
|
|
49
|
-
- Prefer compact summaries with drill-down over dense unreadable dashboards.
|
|
50
|
-
- Use explicit action-state ladders such as requested, accepted, running, applied, failed.
|
|
51
|
-
- Make filters, scopes, and auth context visible at all times.
|
|
52
|
-
- Support narrow-terminal degradation gracefully instead of forcing broken split panes.
|
|
53
|
-
- Avoid ambiguous-width glyphs or emoji for alignment-critical UI.
|
|
54
|
-
|
|
55
|
-
## Output guidance
|
|
56
|
-
|
|
57
|
-
For design review, prefer findings shaped like:
|
|
58
|
-
|
|
59
|
-
- exact surface
|
|
60
|
-
- exact failure mode
|
|
61
|
-
- operator impact
|
|
62
|
-
- blocking or advisory status
|
|
63
|
-
- concrete fix direction
|
|
64
|
-
|
|
65
|
-
For design proposals, prefer:
|
|
66
|
-
|
|
67
|
-
- interaction model
|
|
68
|
-
- layout model
|
|
69
|
-
- keyboard model
|
|
70
|
-
- trust and recovery model
|
|
71
|
-
- drill-down model
|
|
72
|
-
|
|
73
|
-
## Reference
|
|
74
|
-
|
|
75
|
-
For the full TUI design guidance distilled for this repo, read:
|
|
76
|
-
|
|
77
|
-
- [references/tui-design.md](./references/tui-design.md)
|
|
@@ -1,259 +0,0 @@
|
|
|
1
|
-
# TUI Design Reference
|
|
2
|
-
|
|
3
|
-
This reference distills reusable design guidance for Wave's terminal UX and operator-review work.
|
|
4
|
-
|
|
5
|
-
## What a TUI is for
|
|
6
|
-
|
|
7
|
-
A TUI is for live operation of a changing system:
|
|
8
|
-
|
|
9
|
-
- observe
|
|
10
|
-
- decide
|
|
11
|
-
- act
|
|
12
|
-
- verify
|
|
13
|
-
- repeat
|
|
14
|
-
|
|
15
|
-
That means the UX must prioritize:
|
|
16
|
-
|
|
17
|
-
- stable state visibility
|
|
18
|
-
- continuous feedback
|
|
19
|
-
- keyboard throughput
|
|
20
|
-
- interruptibility
|
|
21
|
-
- recovery
|
|
22
|
-
|
|
23
|
-
It should not behave like:
|
|
24
|
-
|
|
25
|
-
- a one-shot CLI with colors
|
|
26
|
-
- a browser dashboard squeezed into a terminal
|
|
27
|
-
|
|
28
|
-
## Core operating principles
|
|
29
|
-
|
|
30
|
-
### Operational honesty
|
|
31
|
-
|
|
32
|
-
The TUI must make these obvious:
|
|
33
|
-
|
|
34
|
-
- what it knows
|
|
35
|
-
- how fresh that knowledge is
|
|
36
|
-
- what it is currently doing
|
|
37
|
-
- what is only requested versus confirmed
|
|
38
|
-
- what is partial, stale, blocked, or degraded
|
|
39
|
-
|
|
40
|
-
Never imply:
|
|
41
|
-
|
|
42
|
-
- "done" when the backend only accepted a request
|
|
43
|
-
- "live" when the data is cached or lagged
|
|
44
|
-
- "success" when verification has not happened
|
|
45
|
-
|
|
46
|
-
### Keyboard-first interaction
|
|
47
|
-
|
|
48
|
-
Good TUIs separate input into four lanes:
|
|
49
|
-
|
|
50
|
-
1. navigation
|
|
51
|
-
2. actions
|
|
52
|
-
3. command entry
|
|
53
|
-
4. escapes and cancellation
|
|
54
|
-
|
|
55
|
-
Required behaviors:
|
|
56
|
-
|
|
57
|
-
- visible focus
|
|
58
|
-
- predictable pane switching
|
|
59
|
-
- context-sensitive help
|
|
60
|
-
- cancel and back semantics that always work
|
|
61
|
-
|
|
62
|
-
### Stable information architecture
|
|
63
|
-
|
|
64
|
-
The screen should answer:
|
|
65
|
-
|
|
66
|
-
- where am I operating?
|
|
67
|
-
- what changed?
|
|
68
|
-
- what is wrong?
|
|
69
|
-
- what needs action now?
|
|
70
|
-
|
|
71
|
-
Use three state layers:
|
|
72
|
-
|
|
73
|
-
- global: scope, identity, connectivity, freshness
|
|
74
|
-
- session: filters, selected object, follow mode
|
|
75
|
-
- local: pane scroll, cursor, input buffer
|
|
76
|
-
|
|
77
|
-
### Progressive disclosure
|
|
78
|
-
|
|
79
|
-
Default views should summarize:
|
|
80
|
-
|
|
81
|
-
- what's broken
|
|
82
|
-
- what changed
|
|
83
|
-
- what is actionable
|
|
84
|
-
|
|
85
|
-
Details should be one step away:
|
|
86
|
-
|
|
87
|
-
- inspect
|
|
88
|
-
- drill down
|
|
89
|
-
- open logs
|
|
90
|
-
- open proof
|
|
91
|
-
- open events
|
|
92
|
-
|
|
93
|
-
### Recovery-first UX
|
|
94
|
-
|
|
95
|
-
Every serious TUI needs:
|
|
96
|
-
|
|
97
|
-
- retry
|
|
98
|
-
- resume
|
|
99
|
-
- replay or event history
|
|
100
|
-
- clear next-step messaging on failure
|
|
101
|
-
|
|
102
|
-
Errors should distinguish:
|
|
103
|
-
|
|
104
|
-
- what failed
|
|
105
|
-
- what scope it affected
|
|
106
|
-
- whether the system is safe
|
|
107
|
-
- what the operator can do next
|
|
108
|
-
|
|
109
|
-
## Focus and navigation heuristics
|
|
110
|
-
|
|
111
|
-
### Good focus rules
|
|
112
|
-
|
|
113
|
-
- the active pane is visually obvious
|
|
114
|
-
- the selected row is visually obvious
|
|
115
|
-
- streaming updates never steal focus
|
|
116
|
-
- selection stays pinned unless the operator changes it
|
|
117
|
-
|
|
118
|
-
### Good navigation rules
|
|
119
|
-
|
|
120
|
-
- tab and shift-tab always get the user unstuck
|
|
121
|
-
- direct hotkeys may exist, but there is always a universal path
|
|
122
|
-
- search and filter are first-class
|
|
123
|
-
- command palette or command bar is ideal for power actions
|
|
124
|
-
|
|
125
|
-
### Bad signs
|
|
126
|
-
|
|
127
|
-
- mode confusion
|
|
128
|
-
- accidental action keys
|
|
129
|
-
- focus ambiguity
|
|
130
|
-
- selection jumps during refresh
|
|
131
|
-
|
|
132
|
-
## Visual system guidance
|
|
133
|
-
|
|
134
|
-
### Use color semantically
|
|
135
|
-
|
|
136
|
-
Recommended semantic roles:
|
|
137
|
-
|
|
138
|
-
- critical
|
|
139
|
-
- warning
|
|
140
|
-
- success
|
|
141
|
-
- info
|
|
142
|
-
- muted
|
|
143
|
-
- focus
|
|
144
|
-
- selection
|
|
145
|
-
|
|
146
|
-
Rules:
|
|
147
|
-
|
|
148
|
-
- never rely on color alone
|
|
149
|
-
- support monochrome or no-color use
|
|
150
|
-
- avoid decorative rainbow dashboards
|
|
151
|
-
|
|
152
|
-
### Respect terminal constraints
|
|
153
|
-
|
|
154
|
-
Design for:
|
|
155
|
-
|
|
156
|
-
- limited width
|
|
157
|
-
- resizing
|
|
158
|
-
- unicode width issues
|
|
159
|
-
- non-uniform terminal support
|
|
160
|
-
|
|
161
|
-
Implications:
|
|
162
|
-
|
|
163
|
-
- keep glyph choices conservative
|
|
164
|
-
- use ASCII fallbacks where needed
|
|
165
|
-
- degrade gracefully on small terminals
|
|
166
|
-
|
|
167
|
-
## Live-system feedback rules
|
|
168
|
-
|
|
169
|
-
### Loading and streaming
|
|
170
|
-
|
|
171
|
-
The operator must be able to tell:
|
|
172
|
-
|
|
173
|
-
- loading
|
|
174
|
-
- syncing
|
|
175
|
-
- replaying
|
|
176
|
-
- paused
|
|
177
|
-
- lagging
|
|
178
|
-
- dropping updates
|
|
179
|
-
|
|
180
|
-
If the system is slow:
|
|
181
|
-
|
|
182
|
-
- say what is happening
|
|
183
|
-
- show progress if possible
|
|
184
|
-
- show completed-so-far if total work is unknown
|
|
185
|
-
- provide interruption
|
|
186
|
-
|
|
187
|
-
### Success and failure
|
|
188
|
-
|
|
189
|
-
For low-risk actions:
|
|
190
|
-
|
|
191
|
-
- a small confirmation is enough
|
|
192
|
-
|
|
193
|
-
For high-risk or asynchronous actions:
|
|
194
|
-
|
|
195
|
-
- show a receipt
|
|
196
|
-
- show the exact target
|
|
197
|
-
- show request versus applied versus verified state
|
|
198
|
-
|
|
199
|
-
## Layout patterns that work
|
|
200
|
-
|
|
201
|
-
### Best default pattern
|
|
202
|
-
|
|
203
|
-
For serious ops TUIs, prefer:
|
|
204
|
-
|
|
205
|
-
- dashboard or navigation pane
|
|
206
|
-
- list or queue pane
|
|
207
|
-
- inspector or detail pane
|
|
208
|
-
|
|
209
|
-
This supports:
|
|
210
|
-
|
|
211
|
-
- fast scanning
|
|
212
|
-
- stable orientation
|
|
213
|
-
- low-friction drill-down
|
|
214
|
-
|
|
215
|
-
### Good drill-down flow
|
|
216
|
-
|
|
217
|
-
The path should be predictable:
|
|
218
|
-
|
|
219
|
-
- summary
|
|
220
|
-
- selected entity
|
|
221
|
-
- details
|
|
222
|
-
- logs, proof, events, or raw view
|
|
223
|
-
|
|
224
|
-
### Narrow terminal fallback
|
|
225
|
-
|
|
226
|
-
When width collapses:
|
|
227
|
-
|
|
228
|
-
- reduce columns
|
|
229
|
-
- stack panels
|
|
230
|
-
- keep the same semantics
|
|
231
|
-
- prefer honest condensed output over broken split panes
|
|
232
|
-
|
|
233
|
-
## Trust checklist for operator surfaces
|
|
234
|
-
|
|
235
|
-
Before approving a TUI or operator UX, ask:
|
|
236
|
-
|
|
237
|
-
- Is scope always visible?
|
|
238
|
-
- Is freshness always visible?
|
|
239
|
-
- Are action states honest?
|
|
240
|
-
- Are filters and selection visible?
|
|
241
|
-
- Can the user recover from errors?
|
|
242
|
-
- Can the user cancel?
|
|
243
|
-
- Can the user tell replay from live?
|
|
244
|
-
- Can the user tell pending from complete?
|
|
245
|
-
- Can the user audit what happened?
|
|
246
|
-
|
|
247
|
-
## Anti-patterns
|
|
248
|
-
|
|
249
|
-
Reject designs that:
|
|
250
|
-
|
|
251
|
-
- flicker or constantly reflow
|
|
252
|
-
- hide scope or auth context
|
|
253
|
-
- overload color
|
|
254
|
-
- force memorization without help
|
|
255
|
-
- provide no cancel path
|
|
256
|
-
- show fake success
|
|
257
|
-
- use unstable alignment-critical glyphs
|
|
258
|
-
- stream in ways that steal focus
|
|
259
|
-
- hide blockers behind decorative dashboards
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "tui-design",
|
|
3
|
-
"title": "TUI Design Review",
|
|
4
|
-
"description": "Reviews terminal UI and operator-surface design against world-class TUI principles for focus, trust, navigation, information architecture, and recovery. Use when designing or reviewing TUIs, operator shells, dashboards, keyboard flows, or live terminal UX.",
|
|
5
|
-
"activation": {
|
|
6
|
-
"when": "Attach when the agent is designing or reviewing a TUI, operator shell, dashboard, keyboard interaction model, live status surface, or terminal-native information architecture.",
|
|
7
|
-
"roles": [
|
|
8
|
-
"design"
|
|
9
|
-
],
|
|
10
|
-
"runtimes": [],
|
|
11
|
-
"deployKinds": []
|
|
12
|
-
},
|
|
13
|
-
"termination": "Stop when the design work clearly states whether the TUI is operationally honest, keyboard-first, focus-safe, and aligned with the repo's terminal UX expectations.",
|
|
14
|
-
"permissions": {
|
|
15
|
-
"network": [],
|
|
16
|
-
"shell": [],
|
|
17
|
-
"mcpServers": []
|
|
18
|
-
},
|
|
19
|
-
"trust": {
|
|
20
|
-
"tier": "repo-owned"
|
|
21
|
-
},
|
|
22
|
-
"evalCases": [
|
|
23
|
-
{
|
|
24
|
-
"id": "tui-design-review",
|
|
25
|
-
"role": "design",
|
|
26
|
-
"runtime": "codex",
|
|
27
|
-
"expectActive": true
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
"id": "implementation-review",
|
|
31
|
-
"role": "implementation",
|
|
32
|
-
"runtime": "codex",
|
|
33
|
-
"expectActive": false
|
|
34
|
-
}
|
|
35
|
-
]
|
|
36
|
-
}
|
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
# Wave Core
|
|
2
|
-
|
|
3
|
-
<!-- CUSTOMIZE: Add project-specific coordination channels, artifact locations, or naming conventions below. -->
|
|
4
|
-
|
|
5
|
-
## Core Rules
|
|
6
|
-
|
|
7
|
-
- Re-read the compiled shared summary, inbox, and board projection before major decisions and before final output.
|
|
8
|
-
- Treat those summaries and projections as convenience views over canonical state, not as the only closure authority.
|
|
9
|
-
- Treat file ownership, exit contracts, and structured markers as hard requirements.
|
|
10
|
-
- Post coordination records for meaningful progress, blockers, decisions, and handoffs.
|
|
11
|
-
- Make gaps explicit with exact files, exact fields, and exact follow-up owners.
|
|
12
|
-
- Do not infer closure from intent alone. Closure requires proof artifacts and consistent shared state.
|
|
13
|
-
- Silence is not evidence. If a deliverable is not mentioned in landed artifacts, it is not done.
|
|
14
|
-
- When two sources conflict, prefer the one backed by landed code or durable proof over the one backed by prose.
|
|
15
|
-
|
|
16
|
-
## Coordination Protocol
|
|
17
|
-
|
|
18
|
-
1. Read the shared summary and your inbox at the start of every major step. Summaries and inboxes may refresh during execution, so re-read before major decisions.
|
|
19
|
-
2. Post a coordination record when any of these occur:
|
|
20
|
-
- meaningful progress on an exit contract deliverable
|
|
21
|
-
- a blocker is discovered or resolved
|
|
22
|
-
- a decision changes scope, ownership, or interface
|
|
23
|
-
- a handoff to another agent is needed
|
|
24
|
-
- a helper assignment is opened or resolved
|
|
25
|
-
- a clarification is routed or answered
|
|
26
|
-
3. Each coordination record must include: agent id, timestamp context, topic, and actionable detail.
|
|
27
|
-
4. Do not batch coordination. Post records as events occur so downstream agents see them promptly.
|
|
28
|
-
5. When a record references another agent, name that agent explicitly.
|
|
29
|
-
6. Coordination records are append-only. Do not edit or delete previous records; post corrections as new records.
|
|
30
|
-
7. When you receive an inbox message that requires action, acknowledge it with a coordination record before proceeding. Unacknowledged requests become overdue and may be rerouted.
|
|
31
|
-
|
|
32
|
-
## Coordination State
|
|
33
|
-
|
|
34
|
-
The canonical authority set for a wave is:
|
|
35
|
-
|
|
36
|
-
- wave definitions under `docs/plans/waves/`
|
|
37
|
-
- the coordination JSONL log under `.tmp/<lane>-wave-launcher/coordination/`
|
|
38
|
-
- the control-plane event log under `.tmp/<lane>-wave-launcher/control-plane/`
|
|
39
|
-
- immutable attempt-scoped result artifacts under `.tmp/<lane>-wave-launcher/results/`
|
|
40
|
-
|
|
41
|
-
The markdown board, shared summary, inboxes, ledgers, proof registries, retry overrides, and dashboards are projections over that state.
|
|
42
|
-
|
|
43
|
-
Operator tasks, rerun requests, proof bundles, attempt lifecycle, contradictions, facts, and human-input workflow state are tracked in the control-plane event log. Proof registries and retry overrides under `proof/` and `control/` are projections from this log.
|
|
44
|
-
|
|
45
|
-
Operators interact through `wave control`:
|
|
46
|
-
- `wave control status` — why the wave is blocked or retrying.
|
|
47
|
-
- `wave control task` — create, list, and act on coordination tasks.
|
|
48
|
-
- `wave control rerun` — targeted retry intent.
|
|
49
|
-
- `wave control proof` — authoritative proof bundle lifecycle.
|
|
50
|
-
|
|
51
|
-
Legacy `wave coord`, `wave retry`, and `wave proof` remain available as compatibility surfaces.
|
|
52
|
-
|
|
53
|
-
## Ownership & Boundaries
|
|
54
|
-
|
|
55
|
-
- Only modify files you own. File ownership is declared in the wave definition under each agent.
|
|
56
|
-
- If you need a change in a file you do not own, open a follow-up request naming the owning agent, the exact file, and the exact change needed.
|
|
57
|
-
- Shared-plan docs (current-state.md, component matrix, roadmap) are owned by the documentation steward, not implementation agents.
|
|
58
|
-
- Implementation-specific docs (inline comments, subsystem READMEs) stay with the implementation owner.
|
|
59
|
-
- When ownership is ambiguous, post a coordination record requesting clarification before editing.
|
|
60
|
-
- Helper assignments create temporary cross-boundary access. They remain blocking until the linked follow-up resolves.
|
|
61
|
-
- Cross-lane dependencies require explicit dependency tickets. Do not assume another lane's state without a resolved ticket.
|
|
62
|
-
|
|
63
|
-
## Proof Requirements
|
|
64
|
-
|
|
65
|
-
- Every exit contract deliverable must have a corresponding proof artifact: a passing test, a generated file, a durable summary, or an explicit structured marker.
|
|
66
|
-
- Generic claims ("tests pass", "works correctly") are not proof. Name the exact test file, command, or artifact.
|
|
67
|
-
- Component promotions require evidence that the component actually reached the declared level, not just that adjacent code landed.
|
|
68
|
-
- Runtime-facing proof must be real evidence (logs, health checks, build output), not future-work notes.
|
|
69
|
-
- Proof must be durable. Transient output (terminal scrollback, ephemeral logs) is not proof unless captured into a file.
|
|
70
|
-
- When proof cannot be produced within the wave, record the gap explicitly with the reason and the follow-up owner.
|
|
71
|
-
- When the wave declares `### Proof artifacts`, those machine-visible local artifacts are required for closure in addition to deliverables and structured markers.
|
|
72
|
-
- Operators may register authoritative proof bundles via `wave control proof register`. Registered proof has lifecycle state: `active`, `superseded`, or `revoked`. Only active bundles satisfy closure. Do not rely on proof that has been revoked or superseded.
|
|
73
|
-
|
|
74
|
-
## Closure Checklist
|
|
75
|
-
|
|
76
|
-
A wave is closable only when all nine conditions are satisfied:
|
|
77
|
-
|
|
78
|
-
1. **Exit contracts pass** -- every agent's declared exit contract deliverables are present and backed by proof artifacts.
|
|
79
|
-
2. **Deliverables exist within ownership** -- each deliverable lives in files owned by the agent that produced it.
|
|
80
|
-
3. **Component proof/promotions pass** -- promoted components reached their declared target level with evidence.
|
|
81
|
-
4. **Helper assignments resolved** -- every helper assignment posted during the wave has a linked resolution.
|
|
82
|
-
5. **Dependency tickets resolved** -- all inbound cross-lane dependency tickets are resolved or explicitly deferred.
|
|
83
|
-
6. **Clarification follow-ups resolved** -- every routed clarification chain has a linked follow-up that is closed.
|
|
84
|
-
7. **cont-EVAL satisfies targets** -- if the wave includes cont-EVAL, the eval marker shows `satisfied` with matching target and benchmark ids.
|
|
85
|
-
8. **Integration recommends closure** -- the integration result is `ready-for-doc-closure` and is not contradicted by later evidence.
|
|
86
|
-
9. **Documentation and cont-QA pass** -- documentation closure is `closed` or `no-change`, and the cont-QA verdict is `PASS` with a matching gate result.
|
|
87
|
-
|
|
88
|
-
If any condition is not met, the wave remains open. Do not approximate closure.
|
|
89
|
-
|
|
90
|
-
Closure runs in staged order:
|
|
91
|
-
1. Implementation and proof (all implementation agents).
|
|
92
|
-
2. Optional security review -- must report `clear` or `concerns` before integration.
|
|
93
|
-
3. cont-EVAL (if present) -- must report `satisfied` before integration runs.
|
|
94
|
-
4. Integration -- must report `ready-for-doc-closure` before documentation and cont-QA run.
|
|
95
|
-
5. Documentation -- must report `closed` or `no-change`.
|
|
96
|
-
6. cont-QA -- final verdict. Only PASS allows the wave to close.
|
|
97
|
-
|
|
98
|
-
Do not skip stages. Each stage depends on the prior stage completing.
|
|
99
|
-
|
|
100
|
-
An active rerun request blocks closure until consumed. If the operator has filed a rerun via `wave control rerun request`, the retry engine applies it on the next retry and clears it afterward.
|
|
101
|
-
|
|
102
|
-
## Structured Markers Reference
|
|
103
|
-
|
|
104
|
-
Emit markers exactly as shown. Parsers depend on the format.
|
|
105
|
-
|
|
106
|
-
| Marker | Format |
|
|
107
|
-
|---|---|
|
|
108
|
-
| `[wave-gate]` | `[wave-gate] architecture=<pass\|concerns\|blocked> integration=<pass\|concerns\|blocked> durability=<pass\|concerns\|blocked> live=<pass\|concerns\|blocked> docs=<pass\|concerns\|blocked> detail=<text>` |
|
|
109
|
-
| `[wave-eval]` | `[wave-eval] state=<satisfied\|needs-more-work\|blocked> targets=<n> benchmarks=<n> regressions=<n> target_ids=<csv> benchmark_ids=<csv> detail=<text>` |
|
|
110
|
-
| `[wave-integration]` | `[wave-integration] state=<ready-for-doc-closure\|needs-more-work> claims=<n> conflicts=<n> blockers=<n> detail=<text>` |
|
|
111
|
-
| `[wave-doc-closure]` | `[wave-doc-closure] state=<closed\|no-change\|delta> paths=<comma-separated-paths> detail=<text>` |
|
|
112
|
-
| `[infra-status]` | `[infra-status] kind=<conformance\|role-drift\|dependency\|identity\|admission\|action> target=<surface> state=<checking\|setup-required\|setup-in-progress\|conformant\|drift\|blocked\|failed\|action-required\|action-approved\|action-complete> detail=<text>` |
|
|
113
|
-
| `[deploy-status]` | `[deploy-status] state=<deploying\|healthy\|failed\|rolled-back> service=<name> detail=<text>` |
|
|
114
|
-
|
|
115
|
-
- Every marker must appear on a single line.
|
|
116
|
-
- The `detail` field is free text but should be concise (under 120 characters).
|
|
117
|
-
- Only the role that owns the marker type should emit it. Do not emit markers for other roles.
|
|
118
|
-
|
|
119
|
-
Marker ownership:
|
|
120
|
-
|
|
121
|
-
| Marker | Emitted by |
|
|
122
|
-
|---|---|
|
|
123
|
-
| `[wave-gate]` | cont-QA role |
|
|
124
|
-
| `[wave-eval]` | cont-EVAL role |
|
|
125
|
-
| `[wave-integration]` | Integration role |
|
|
126
|
-
| `[wave-doc-closure]` | Documentation role |
|
|
127
|
-
| `[infra-status]` | Infra role |
|
|
128
|
-
| `[deploy-status]` | Deploy role |
|
|
129
|
-
|
|
130
|
-
When you encounter a marker in the coordination log or a role report, treat it as a role-owned closure output and compatibility surface. If it conflicts with landed code, canonical state, or typed result artifacts, escalate the contradiction instead of treating the marker text as unchallengeable authority.
|
|
131
|
-
|
|
132
|
-
<!-- CUSTOMIZE: Add project-specific marker types or extend existing formats here. -->
|
|
133
|
-
|
|
134
|
-
## Customization
|
|
135
|
-
|
|
136
|
-
<!-- CUSTOMIZE: Override or extend any section above. Common additions:
|
|
137
|
-
- Project-specific coordination record format
|
|
138
|
-
- Additional closure conditions beyond the nine listed
|
|
139
|
-
- Custom marker types for project-specific workflows
|
|
140
|
-
- Ownership rules for monorepo sub-packages
|
|
141
|
-
-->
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
# Structured Marker Syntax Reference
|
|
2
|
-
|
|
3
|
-
This reference documents the exact format for all structured markers used in wave coordination.
|
|
4
|
-
|
|
5
|
-
## wave-gate (cont-QA closure)
|
|
6
|
-
Emitted by: cont-QA agent (A0)
|
|
7
|
-
Format:
|
|
8
|
-
`[wave-gate] architecture=<pass|concerns|blocked> integration=<pass|concerns|blocked> durability=<pass|concerns|blocked> live=<pass|concerns|blocked> docs=<pass|concerns|blocked> detail=<short-note>`
|
|
9
|
-
|
|
10
|
-
Must be accompanied by a verdict line:
|
|
11
|
-
`Verdict: PASS` or `Verdict: CONCERNS` or `Verdict: BLOCKED`
|
|
12
|
-
|
|
13
|
-
Example:
|
|
14
|
-
`[wave-gate] architecture=pass integration=pass durability=pass live=pass docs=pass detail=all-exit-contracts-met`
|
|
15
|
-
`Verdict: PASS`
|
|
16
|
-
|
|
17
|
-
## wave-eval (cont-EVAL closure)
|
|
18
|
-
Emitted by: cont-EVAL agent (E0)
|
|
19
|
-
Format:
|
|
20
|
-
`[wave-eval] state=<satisfied|needs-more-work|blocked> targets=<n> benchmarks=<n> regressions=<n> target_ids=<comma-separated-ids> benchmark_ids=<comma-separated-ids> detail=<short-note>`
|
|
21
|
-
|
|
22
|
-
Example:
|
|
23
|
-
`[wave-eval] state=satisfied targets=2 benchmarks=2 regressions=0 target_ids=prompt-quality,response-accuracy benchmark_ids=bench-01,bench-02 detail=all-targets-within-threshold`
|
|
24
|
-
|
|
25
|
-
## wave-integration (integration closure)
|
|
26
|
-
Emitted by: Integration steward (A8)
|
|
27
|
-
Format:
|
|
28
|
-
`[wave-integration] state=<ready-for-doc-closure|needs-more-work> claims=<n> conflicts=<n> blockers=<n> detail=<short-note>`
|
|
29
|
-
|
|
30
|
-
Example:
|
|
31
|
-
`[wave-integration] state=ready-for-doc-closure claims=0 conflicts=0 blockers=0 detail=all-agents-coherent-no-contradictions`
|
|
32
|
-
|
|
33
|
-
## wave-doc-closure (documentation closure)
|
|
34
|
-
Emitted by: Documentation steward (A9)
|
|
35
|
-
Format:
|
|
36
|
-
`[wave-doc-closure] state=<closed|no-change|delta> paths=<comma-separated-file-list> detail=<short-note>`
|
|
37
|
-
|
|
38
|
-
Example:
|
|
39
|
-
`[wave-doc-closure] state=closed paths=docs/plans/current-state.md,docs/plans/component-cutover-matrix.md detail=status-and-ownership-updated`
|
|
40
|
-
|
|
41
|
-
## wave-security (security review)
|
|
42
|
-
Emitted by: Security reviewer
|
|
43
|
-
Format:
|
|
44
|
-
`[wave-security] state=<clear|concerns|blocked> findings=<n> approvals=<n> detail=<short-note>`
|
|
45
|
-
|
|
46
|
-
Example:
|
|
47
|
-
`[wave-security] state=clear findings=0 approvals=0 detail=no-blocking-security-findings`
|
|
48
|
-
|
|
49
|
-
## infra-status (infrastructure verification)
|
|
50
|
-
Emitted by: Infra agent
|
|
51
|
-
Format:
|
|
52
|
-
`[infra-status] kind=<conformance|role-drift|dependency|identity|admission|action> target=<surface> state=<checking|setup-required|setup-in-progress|conformant|drift|blocked|failed|action-required|action-approved|action-complete> detail=<short-note>`
|
|
53
|
-
|
|
54
|
-
Example:
|
|
55
|
-
`[infra-status] kind=dependency target=node-22 state=conformant detail=node-v22.15.0-confirmed`
|
|
56
|
-
|
|
57
|
-
## deploy-status (deployment verification)
|
|
58
|
-
Emitted by: Deploy agent
|
|
59
|
-
Format:
|
|
60
|
-
`[deploy-status] state=<deploying|healthy|failed|rolled-back> service=<name> detail=<short-note>`
|
|
61
|
-
|
|
62
|
-
Example:
|
|
63
|
-
`[deploy-status] state=healthy service=api-server detail=health-endpoint-200-latency-under-50ms`
|
|
64
|
-
|
|
65
|
-
## Rules
|
|
66
|
-
- Markers must appear on a single line, not wrapped across lines.
|
|
67
|
-
- Field values must not contain spaces; use hyphens for compound values.
|
|
68
|
-
- Markers are machine-parsed; do not add extra fields or change field order.
|
|
69
|
-
- Each closure role emits exactly one final marker per wave attempt.
|
|
70
|
-
- Markers in agent output are role-owned compatibility and review surfaces. Live gate evaluation should prefer canonical state and typed result artifacts when they are available.
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "wave-core",
|
|
3
|
-
"title": "Wave Core",
|
|
4
|
-
"description": "Ensures every agent follows coordination protocol, respects ownership boundaries, produces durable proof, and meets closure requirements before claiming done.",
|
|
5
|
-
"activation": {
|
|
6
|
-
"when": "Attach to every agent to enforce Wave coordination, proof, and closure protocol.",
|
|
7
|
-
"roles": [],
|
|
8
|
-
"runtimes": [],
|
|
9
|
-
"deployKinds": []
|
|
10
|
-
},
|
|
11
|
-
"termination": "Stop when ownership boundaries, proof obligations, and required Wave markers are satisfied or explicitly handed off.",
|
|
12
|
-
"permissions": {
|
|
13
|
-
"network": [],
|
|
14
|
-
"shell": [],
|
|
15
|
-
"mcpServers": []
|
|
16
|
-
},
|
|
17
|
-
"trust": {
|
|
18
|
-
"tier": "repo-owned"
|
|
19
|
-
},
|
|
20
|
-
"evalCases": [
|
|
21
|
-
{
|
|
22
|
-
"id": "implementation-codex",
|
|
23
|
-
"role": "implementation",
|
|
24
|
-
"runtime": "codex",
|
|
25
|
-
"expectActive": true
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
"id": "documentation-opencode",
|
|
29
|
-
"role": "documentation",
|
|
30
|
-
"runtime": "opencode",
|
|
31
|
-
"deployKind": "railway-cli",
|
|
32
|
-
"expectActive": true
|
|
33
|
-
}
|
|
34
|
-
]
|
|
35
|
-
}
|