openplanr 3.2.0 → 3.4.0
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/CHANGELOG.md +73 -0
- package/dist/cli/commands/artifact-design-share.d.ts +9 -0
- package/dist/cli/commands/artifact-design-share.d.ts.map +1 -0
- package/dist/cli/commands/artifact-design-share.js +200 -0
- package/dist/cli/commands/artifact-design-share.js.map +1 -0
- package/dist/cli/commands/artifact.d.ts.map +1 -1
- package/dist/cli/commands/artifact.js +5 -18
- package/dist/cli/commands/artifact.js.map +1 -1
- package/dist/cli/commands/ship.d.ts.map +1 -1
- package/dist/cli/commands/ship.js +2 -0
- package/dist/cli/commands/ship.js.map +1 -1
- package/dist/cli/commands/spec.d.ts +2 -1
- package/dist/cli/commands/spec.d.ts.map +1 -1
- package/dist/cli/commands/spec.js +45 -5
- package/dist/cli/commands/spec.js.map +1 -1
- package/dist/dashboard/.vite/manifest.json +2 -2
- package/dist/dashboard/assets/index-Cv4Vwhuw.css +2 -0
- package/dist/dashboard/assets/index-CvQAlBy3.js +75 -0
- package/dist/dashboard/assets/index-CvQAlBy3.js.map +1 -0
- package/dist/dashboard/dashboard-manifest.json +14 -14
- package/dist/dashboard/index.html +2 -2
- package/dist/services/claude-plugin-service.d.ts +5 -0
- package/dist/services/claude-plugin-service.d.ts.map +1 -1
- package/dist/services/claude-plugin-service.js +18 -2
- package/dist/services/claude-plugin-service.js.map +1 -1
- package/dist/services/codex-plugin-service.d.ts.map +1 -1
- package/dist/services/codex-plugin-service.js +11 -3
- package/dist/services/codex-plugin-service.js.map +1 -1
- package/dist/services/design-artifact-service.d.ts +20 -1
- package/dist/services/design-artifact-service.d.ts.map +1 -1
- package/dist/services/design-artifact-service.js +137 -18
- package/dist/services/design-artifact-service.js.map +1 -1
- package/dist/services/runtime-manager/codex-discovery.d.ts +1 -3
- package/dist/services/runtime-manager/codex-discovery.d.ts.map +1 -1
- package/dist/services/runtime-manager/codex-discovery.js +3 -16
- package/dist/services/runtime-manager/codex-discovery.js.map +1 -1
- package/dist/services/runtime-manager/doctor.d.ts +25 -0
- package/dist/services/runtime-manager/doctor.d.ts.map +1 -1
- package/dist/services/runtime-manager/doctor.js +480 -0
- package/dist/services/runtime-manager/doctor.js.map +1 -1
- package/dist/services/runtime-manager/errors.d.ts +12 -0
- package/dist/services/runtime-manager/errors.d.ts.map +1 -0
- package/dist/services/runtime-manager/errors.js +14 -0
- package/dist/services/runtime-manager/errors.js.map +1 -0
- package/dist/services/runtime-manager/global-state.d.ts +7 -0
- package/dist/services/runtime-manager/global-state.d.ts.map +1 -1
- package/dist/services/runtime-manager/global-state.js +116 -0
- package/dist/services/runtime-manager/global-state.js.map +1 -1
- package/dist/services/runtime-manager/host-version-probe.d.ts +8 -0
- package/dist/services/runtime-manager/host-version-probe.d.ts.map +1 -0
- package/dist/services/runtime-manager/host-version-probe.js +14 -0
- package/dist/services/runtime-manager/host-version-probe.js.map +1 -0
- package/dist/services/runtime-manager/install-plan.d.ts +25 -0
- package/dist/services/runtime-manager/install-plan.d.ts.map +1 -1
- package/dist/services/runtime-manager/install-plan.js +305 -0
- package/dist/services/runtime-manager/install-plan.js.map +1 -1
- package/dist/services/runtime-manager/inventory.d.ts +6 -0
- package/dist/services/runtime-manager/inventory.d.ts.map +1 -1
- package/dist/services/runtime-manager/inventory.js +16 -1
- package/dist/services/runtime-manager/inventory.js.map +1 -1
- package/dist/services/runtime-manager/legacy-adapters.d.ts +9 -0
- package/dist/services/runtime-manager/legacy-adapters.d.ts.map +1 -0
- package/dist/services/runtime-manager/legacy-adapters.js +187 -0
- package/dist/services/runtime-manager/legacy-adapters.js.map +1 -0
- package/dist/services/runtime-manager/paths.d.ts +18 -0
- package/dist/services/runtime-manager/paths.d.ts.map +1 -0
- package/dist/services/runtime-manager/paths.js +83 -0
- package/dist/services/runtime-manager/paths.js.map +1 -0
- package/dist/services/runtime-manager/runtime-package.d.ts +21 -0
- package/dist/services/runtime-manager/runtime-package.d.ts.map +1 -1
- package/dist/services/runtime-manager/runtime-package.js +77 -0
- package/dist/services/runtime-manager/runtime-package.js.map +1 -1
- package/dist/services/runtime-manager/storage.d.ts +47 -0
- package/dist/services/runtime-manager/storage.d.ts.map +1 -0
- package/dist/services/runtime-manager/storage.js +604 -0
- package/dist/services/runtime-manager/storage.js.map +1 -0
- package/dist/services/runtime-manager-service.d.ts +7 -17
- package/dist/services/runtime-manager-service.d.ts.map +1 -1
- package/dist/services/runtime-manager-service.js +32 -1695
- package/dist/services/runtime-manager-service.js.map +1 -1
- package/dist/services/ship-checks/contract.d.ts +15 -1
- package/dist/services/ship-checks/contract.d.ts.map +1 -1
- package/dist/services/ship-checks/contract.js +1 -1
- package/dist/services/ship-checks/contract.js.map +1 -1
- package/dist/services/ship-checks/coverage.d.ts +4 -0
- package/dist/services/ship-checks/coverage.d.ts.map +1 -0
- package/dist/services/ship-checks/coverage.js +113 -0
- package/dist/services/ship-checks/coverage.js.map +1 -0
- package/dist/services/ship-checks/discover.d.ts.map +1 -1
- package/dist/services/ship-checks/discover.js +5 -1
- package/dist/services/ship-checks/discover.js.map +1 -1
- package/dist/services/ship-checks/package-contents.d.ts +4 -0
- package/dist/services/ship-checks/package-contents.d.ts.map +1 -0
- package/dist/services/ship-checks/package-contents.js +91 -0
- package/dist/services/ship-checks/package-contents.js.map +1 -0
- package/dist/services/ship-checks/packages.d.ts +2 -0
- package/dist/services/ship-checks/packages.d.ts.map +1 -1
- package/dist/services/ship-checks/packages.js +4 -0
- package/dist/services/ship-checks/packages.js.map +1 -1
- package/dist/services/ship-checks/scope.js +2 -1
- package/dist/services/ship-checks/scope.js.map +1 -1
- package/dist/services/spec-service.d.ts +18 -0
- package/dist/services/spec-service.d.ts.map +1 -1
- package/dist/services/spec-service.js +174 -9
- package/dist/services/spec-service.js.map +1 -1
- package/dist/templates/spec/spec-shaped.md.hbs +1 -1
- package/dist/templates/spec/spec.md.hbs +2 -2
- package/dist/utils/splice-managed-block.js +1 -1
- package/dist/utils/splice-managed-block.js.map +1 -1
- package/docs/CLI.md +86 -2
- package/lib/host-packages/adapter-registry.json +5 -5
- package/lib/host-packages/capability-map.json +3 -3
- package/lib/host-packages/claude/.claude-plugin/marketplace.json +3 -3
- package/lib/host-packages/claude/openplanr/.claude-plugin/plugin.json +6 -6
- package/lib/host-packages/claude/openplanr/.openplanr-content.json +94 -146
- package/lib/host-packages/claude/openplanr/README.md +12 -12
- package/lib/host-packages/claude/openplanr/agents/planr-qa.md +5 -3
- package/lib/host-packages/claude/openplanr/references/agents/shared/modes/shared/task-context-resolution.md +4 -4
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-artifact-shell.mjs +2 -4
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-document.mjs +110 -25
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-handoff.mjs +851 -57
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-review-state-store.mjs +45 -0
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-review.mjs +65 -74
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-runtime-home.mjs +0 -1
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-share-cli-bridge.mjs +321 -0
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-d707e49b.mjs +1652 -0
- package/lib/host-packages/{openai/openplanr/runtime/design/scripts/design-shared-artifact-support-protocol-contracts-ea2cd15e.mjs → claude/openplanr/runtime/design/scripts/design-shared-artifact-support-protocol-contracts-9f6918b0.mjs} +537 -5
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-shared-design-support-0bac378d.mjs +137 -0
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design.mjs +374 -61
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/notices/THIRD_PARTY_NOTICES.txt +32 -59
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/02-artifact-review-ui.js +138 -133
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/03-protocol-contracts.js +1 -5608
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/04-artifact-review-ui.js +2568 -0
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json +10 -74
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/package.json +4 -4
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +8 -2
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/02-react.js +2 -2
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/09-react-dom-client-public-roots.js +5 -5
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-protocol-contracts.js +72 -2
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-design-review-experience.js +14 -7
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-canvas-engine.js +71 -34
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/21-design-studio.js +28 -14
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +12 -12
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +6 -2
- package/lib/host-packages/{openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.20.0 → claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0}/design-document.schema.json +131 -4
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0/design-review-bundle.schema.json +822 -0
- package/lib/host-packages/claude/openplanr/runtime/plan/scripts/design-protocol-contracts.mjs +616 -4775
- package/lib/host-packages/claude/openplanr/runtime/plan/scripts/design.mjs +219 -424
- package/lib/host-packages/claude/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +6 -2
- package/lib/host-packages/claude/openplanr/skills/delegate/SKILL.md +2 -1
- package/lib/host-packages/claude/openplanr/skills/delegate/references/integration-review.md +26 -20
- package/lib/host-packages/claude/openplanr/skills/delegate/references/operator-guide.md +25 -1
- package/lib/host-packages/claude/openplanr/skills/delegate/references/run-handoff.md +2 -2
- package/lib/host-packages/claude/openplanr/skills/delegate/references/worktree-custody.md +17 -9
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/adapters/claude.mjs +15 -3
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/adapters/codex.mjs +38 -2
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/adapters/native.mjs +5 -0
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/custody.mjs +217 -10
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/handoff.mjs +1080 -0
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/integrate.mjs +96 -201
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/integration-files.mjs +3 -382
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/presentation.mjs +29 -12
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-contract.mjs +11 -0
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-execution.mjs +1 -1
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-lifecycle.mjs +14 -10
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-preparation.mjs +4 -0
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/run-record.mjs +2 -2
- package/lib/host-packages/claude/openplanr/skills/design/references/design-system.md +17 -2
- package/lib/host-packages/claude/openplanr/skills/design/references/generation.md +60 -2
- package/lib/host-packages/claude/openplanr/skills/design/references/utilities.md +23 -7
- package/lib/host-packages/claude/openplanr/skills/design/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/claude/openplanr/skills/design-loop/references/design-system.md +17 -2
- package/lib/host-packages/claude/openplanr/skills/design-loop/references/generation.md +60 -2
- package/lib/host-packages/claude/openplanr/skills/design-loop/references/utilities.md +23 -7
- package/lib/host-packages/claude/openplanr/skills/design-loop/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/claude/openplanr/skills/design-review/references/design-system.md +17 -2
- package/lib/host-packages/claude/openplanr/skills/design-review/references/generation.md +60 -2
- package/lib/host-packages/claude/openplanr/skills/design-review/references/utilities.md +23 -7
- package/lib/host-packages/claude/openplanr/skills/design-review/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/claude/openplanr/skills/investigate/SKILL.md +2 -1
- package/lib/host-packages/claude/openplanr/skills/investigate/references/fail-first.md +40 -0
- package/lib/host-packages/claude/openplanr/skills/plan/SKILL.md +21 -11
- package/lib/host-packages/claude/openplanr/skills/plan/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/claude/openplanr/skills/ship/SKILL.md +51 -18
- package/lib/host-packages/claude/openplanr/skills/ship/references/fail-first.md +40 -0
- package/lib/host-packages/claude/openplanr/skills/ship/references/result-contract.md +7 -3
- package/lib/host-packages/claude/openplanr/skills/spec/SKILL.md +6 -0
- package/lib/host-packages/claude/openplanr/skills/spec/references/specification-contract.md +3 -1
- package/lib/host-packages/cursor/openplanr/.openplanr-content.json +91 -143
- package/lib/host-packages/cursor/openplanr/manifest.json +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/integration-review.md +26 -20
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/operator-guide.md +25 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/run-handoff.md +2 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/references/worktree-custody.md +17 -9
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/adapters/claude.mjs +15 -3
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/adapters/codex.mjs +38 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/adapters/native.mjs +5 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/custody.mjs +217 -10
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/handoff.mjs +1080 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/integrate.mjs +96 -201
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/integration-files.mjs +3 -382
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/presentation.mjs +29 -12
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-contract.mjs +11 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-execution.mjs +1 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-lifecycle.mjs +14 -10
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-preparation.mjs +4 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/run-record.mjs +2 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate.mdc +2 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-design/references/design-system.md +17 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-design/references/generation.md +60 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-design/references/utilities.md +23 -7
- package/lib/host-packages/cursor/openplanr/rules/planr-design/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/design-system.md +17 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/generation.md +60 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/references/utilities.md +23 -7
- package/lib/host-packages/cursor/openplanr/rules/planr-design-loop/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/design-system.md +17 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/generation.md +60 -2
- package/lib/host-packages/cursor/openplanr/rules/planr-design-review/references/utilities.md +23 -7
- package/lib/host-packages/cursor/openplanr/rules/planr-design-review/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-investigate/references/fail-first.md +40 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-investigate.mdc +2 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-plan/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/cursor/openplanr/rules/planr-plan.mdc +21 -11
- package/lib/host-packages/cursor/openplanr/rules/planr-ship/references/fail-first.md +40 -0
- package/lib/host-packages/cursor/openplanr/rules/planr-ship/references/result-contract.md +7 -3
- package/lib/host-packages/cursor/openplanr/rules/planr-ship.mdc +51 -18
- package/lib/host-packages/cursor/openplanr/rules/planr-spec/references/specification-contract.md +3 -1
- package/lib/host-packages/cursor/openplanr/rules/planr-spec.mdc +6 -0
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-artifact-shell.mjs +2 -4
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-document.mjs +110 -25
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-handoff.mjs +851 -57
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-review-state-store.mjs +45 -0
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-review.mjs +65 -74
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-runtime-home.mjs +0 -1
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-share-cli-bridge.mjs +321 -0
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-d707e49b.mjs +1652 -0
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/{design-shared-artifact-support-protocol-contracts-ea2cd15e.mjs → design-shared-artifact-support-protocol-contracts-9f6918b0.mjs} +537 -5
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-shared-design-support-0bac378d.mjs +137 -0
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design.mjs +374 -61
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/notices/THIRD_PARTY_NOTICES.txt +32 -59
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/02-artifact-review-ui.js +138 -133
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/03-protocol-contracts.js +1 -5608
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/04-artifact-review-ui.js +2568 -0
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json +10 -74
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/package.json +4 -4
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +8 -2
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/02-react.js +2 -2
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/09-react-dom-client-public-roots.js +5 -5
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-protocol-contracts.js +72 -2
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-design-review-experience.js +14 -7
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-canvas-engine.js +71 -34
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/21-design-studio.js +28 -14
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +12 -12
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +6 -2
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/{v1.20.0 → v1.22.0}/design-document.schema.json +131 -4
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0/design-review-bundle.schema.json +822 -0
- package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/design-protocol-contracts.mjs +616 -4775
- package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/design.mjs +219 -424
- package/lib/host-packages/cursor/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +6 -2
- package/lib/host-packages/openai/.claude-plugin/marketplace.json +3 -3
- package/lib/host-packages/openai/openplanr/.codex-plugin/plugin.json +2 -2
- package/lib/host-packages/openai/openplanr/.openplanr-content.json +98 -150
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-artifact-shell.mjs +2 -4
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-document.mjs +110 -25
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-handoff.mjs +851 -57
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-review-state-store.mjs +45 -0
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-review.mjs +65 -74
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-runtime-home.mjs +0 -1
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-share-cli-bridge.mjs +321 -0
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-d707e49b.mjs +1652 -0
- package/lib/host-packages/{claude/openplanr/runtime/design/scripts/design-shared-artifact-support-protocol-contracts-ea2cd15e.mjs → openai/openplanr/runtime/design/scripts/design-shared-artifact-support-protocol-contracts-9f6918b0.mjs} +537 -5
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-shared-design-support-0bac378d.mjs +137 -0
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design.mjs +374 -61
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/notices/THIRD_PARTY_NOTICES.txt +32 -59
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/02-artifact-review-ui.js +138 -133
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/03-protocol-contracts.js +1 -5608
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/04-artifact-review-ui.js +2568 -0
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources.json +10 -74
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/package.json +4 -4
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/share.js +8 -2
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/02-react.js +2 -2
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/09-react-dom-client-public-roots.js +5 -5
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/12-protocol-contracts.js +72 -2
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/13-design-review-experience.js +14 -7
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/15-canvas-engine.js +71 -34
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources/21-design-studio.js +28 -14
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/design/templates/studio/studio.js.sources.json +12 -12
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/package.json +6 -2
- package/lib/host-packages/{claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.20.0 → openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0}/design-document.schema.json +131 -4
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.22.0/design-review-bundle.schema.json +822 -0
- package/lib/host-packages/openai/openplanr/runtime/plan/scripts/design-protocol-contracts.mjs +616 -4775
- package/lib/host-packages/openai/openplanr/runtime/plan/scripts/design.mjs +219 -424
- package/lib/host-packages/openai/openplanr/runtime/plan/scripts/runtime/packages/protocol/package.json +6 -2
- package/lib/host-packages/openai/openplanr/skills/delegate/SKILL.md +2 -1
- package/lib/host-packages/openai/openplanr/skills/delegate/openplanr.skill.json +1 -1
- package/lib/host-packages/openai/openplanr/skills/delegate/references/integration-review.md +26 -20
- package/lib/host-packages/openai/openplanr/skills/delegate/references/operator-guide.md +25 -1
- package/lib/host-packages/openai/openplanr/skills/delegate/references/run-handoff.md +2 -2
- package/lib/host-packages/openai/openplanr/skills/delegate/references/worktree-custody.md +17 -9
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/adapters/claude.mjs +15 -3
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/adapters/codex.mjs +38 -2
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/adapters/native.mjs +5 -0
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/custody.mjs +217 -10
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/handoff.mjs +1080 -0
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/integrate.mjs +96 -201
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/integration-files.mjs +3 -382
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/presentation.mjs +29 -12
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-contract.mjs +11 -0
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-execution.mjs +1 -1
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-lifecycle.mjs +14 -10
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-preparation.mjs +4 -0
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/run-record.mjs +2 -2
- package/lib/host-packages/openai/openplanr/skills/design/references/design-system.md +17 -2
- package/lib/host-packages/openai/openplanr/skills/design/references/generation.md +60 -2
- package/lib/host-packages/openai/openplanr/skills/design/references/utilities.md +23 -7
- package/lib/host-packages/openai/openplanr/skills/design/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/openai/openplanr/skills/design-loop/references/design-system.md +17 -2
- package/lib/host-packages/openai/openplanr/skills/design-loop/references/generation.md +60 -2
- package/lib/host-packages/openai/openplanr/skills/design-loop/references/utilities.md +23 -7
- package/lib/host-packages/openai/openplanr/skills/design-loop/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/openai/openplanr/skills/design-review/references/design-system.md +17 -2
- package/lib/host-packages/openai/openplanr/skills/design-review/references/generation.md +60 -2
- package/lib/host-packages/openai/openplanr/skills/design-review/references/utilities.md +23 -7
- package/lib/host-packages/openai/openplanr/skills/design-review/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/openai/openplanr/skills/investigate/SKILL.md +2 -1
- package/lib/host-packages/openai/openplanr/skills/investigate/agents/openai.yaml +1 -1
- package/lib/host-packages/openai/openplanr/skills/investigate/openplanr.skill.json +12 -1
- package/lib/host-packages/openai/openplanr/skills/investigate/references/fail-first.md +40 -0
- package/lib/host-packages/openai/openplanr/skills/plan/SKILL.md +21 -11
- package/lib/host-packages/openai/openplanr/skills/plan/openplanr.skill.json +1 -1
- package/lib/host-packages/openai/openplanr/skills/plan/schemas/design-document.schema.json +131 -4
- package/lib/host-packages/openai/openplanr/skills/ship/SKILL.md +51 -18
- package/lib/host-packages/openai/openplanr/skills/ship/agents/openai.yaml +1 -1
- package/lib/host-packages/openai/openplanr/skills/ship/openplanr.skill.json +12 -1
- package/lib/host-packages/openai/openplanr/skills/ship/references/fail-first.md +40 -0
- package/lib/host-packages/openai/openplanr/skills/ship/references/result-contract.md +7 -3
- package/lib/host-packages/openai/openplanr/skills/spec/SKILL.md +6 -0
- package/lib/host-packages/openai/openplanr/skills/spec/openplanr.skill.json +1 -1
- package/lib/host-packages/openai/openplanr/skills/spec/references/specification-contract.md +3 -1
- package/lib/json-schema.mjs +4 -0
- package/package.json +16 -16
- package/dist/dashboard/assets/index-BU5fzjyz.css +0 -1
- package/dist/dashboard/assets/index-L8qtwqv6.js +0 -572
- package/dist/dashboard/assets/index-L8qtwqv6.js.map +0 -1
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-chunked-workspace-client.mjs +0 -555
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-compression.mjs +0 -4180
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-encrypted-workspace-client.mjs +0 -647
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-owner-custody.mjs +0 -129
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-resource-pack.mjs +0 -698
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-runtime-support-6774fd3d5d02.mjs +0 -24
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-share.mjs +0 -1993
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-3d9b1a86.mjs +0 -1020
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-shared-protocol-contracts-75a938cc.mjs +0 -222
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-shared-protocol-contracts-b5f28f94.mjs +0 -5778
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/design-upload-spool.mjs +0 -198
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/04-compression.js +0 -4175
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/05-artifact-sharing.js +0 -65
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/06-artifact-review-ui.js +0 -1755
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/07-artifact-sharing.js +0 -62
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/08-artifact-review-ui.js +0 -2633
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.1.0/artifact-paste.schema.json +0 -49
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-review-workspace.schema.json +0 -108
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-create.schema.json +0 -170
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-event.schema.json +0 -97
- package/lib/host-packages/claude/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-revision.schema.json +0 -56
- package/lib/host-packages/claude/openplanr/skills/delegate/scripts/integration-transaction.mjs +0 -958
- package/lib/host-packages/cursor/openplanr/rules/planr-delegate/scripts/integration-transaction.mjs +0 -958
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-chunked-workspace-client.mjs +0 -555
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-compression.mjs +0 -4180
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-encrypted-workspace-client.mjs +0 -647
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-owner-custody.mjs +0 -129
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-resource-pack.mjs +0 -698
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-runtime-support-6774fd3d5d02.mjs +0 -24
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-share.mjs +0 -1993
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-3d9b1a86.mjs +0 -1020
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-shared-protocol-contracts-75a938cc.mjs +0 -222
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-shared-protocol-contracts-b5f28f94.mjs +0 -5778
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/design-upload-spool.mjs +0 -198
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/04-compression.js +0 -4175
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/05-artifact-sharing.js +0 -65
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/06-artifact-review-ui.js +0 -1755
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/07-artifact-sharing.js +0 -62
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/08-artifact-review-ui.js +0 -2633
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.1.0/artifact-paste.schema.json +0 -49
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-review-workspace.schema.json +0 -108
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-create.schema.json +0 -170
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-event.schema.json +0 -97
- package/lib/host-packages/cursor/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-revision.schema.json +0 -56
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-chunked-workspace-client.mjs +0 -555
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-compression.mjs +0 -4180
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-encrypted-workspace-client.mjs +0 -647
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-owner-custody.mjs +0 -129
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-resource-pack.mjs +0 -698
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-runtime-support-6774fd3d5d02.mjs +0 -24
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-share.mjs +0 -1993
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-shared-artifact-support-dependencies-design-support-protocol-contracts-3d9b1a86.mjs +0 -1020
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-shared-protocol-contracts-75a938cc.mjs +0 -222
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-shared-protocol-contracts-b5f28f94.mjs +0 -5778
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/design-upload-spool.mjs +0 -198
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/04-compression.js +0 -4175
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/05-artifact-sharing.js +0 -65
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/06-artifact-review-ui.js +0 -1755
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/07-artifact-sharing.js +0 -62
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/artifact/templates/artifact-review-stage.js.sources/08-artifact-review-ui.js +0 -2633
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.1.0/artifact-paste.schema.json +0 -49
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-review-workspace.schema.json +0 -108
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-create.schema.json +0 -170
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-event.schema.json +0 -97
- package/lib/host-packages/openai/openplanr/runtime/design/scripts/runtime/packages/protocol/schemas/v1.9.0/design-workspace-revision.schema.json +0 -56
- package/lib/host-packages/openai/openplanr/skills/delegate/scripts/integration-transaction.mjs +0 -958
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "Implement an OpenPlanr plan, specification, task, or clearly stated request end to end in the current repository. Use when the user asks to build, implement, fix, finish, or ship local work."
|
|
2
|
+
description: "Implement an OpenPlanr plan, specification, task, or clearly stated request end to end in the current repository. Use when the user asks to build, implement, fix, finish, or ship local work, or to plan and implement an accepted change. Invoke before editing files for the requested change. Not for planning only, landing, release, or work handed to another coding agent."
|
|
3
3
|
alwaysApply: false
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# OpenPlanr Ship
|
|
7
7
|
|
|
8
|
-
Produce an implementation-complete local repository in this active coding
|
|
9
|
-
|
|
8
|
+
Produce an implementation-complete local repository in this active coding session.
|
|
9
|
+
Landing and release preparation belong to `planr-land`. Ordinary
|
|
10
10
|
Ship stays host-native. Do not delegate implementation to a command-line or model subprocess. If the user explicitly asks another coding agent to implement,
|
|
11
11
|
hand off to `planr-delegate` before implementation. That separate opt-in workflow
|
|
12
12
|
previews the selected context, writable repository, profile, and destination;
|
|
@@ -18,7 +18,8 @@ For a selector, locate exactly one task and read it completely. Then follow its
|
|
|
18
18
|
`storyId` and `specId` to the parent story, acceptance criteria, Gherkin file
|
|
19
19
|
when present, and specification. Also read repository instructions, ADRs,
|
|
20
20
|
planning rules, applicable stack guidance, relevant design/database context,
|
|
21
|
-
implementation code, tests, and interfaces produced by declared dependencies.
|
|
21
|
+
implementation code, tests, and interfaces produced by declared dependencies. Read any
|
|
22
|
+
`.planr/conventions/<area>.md`, indexed from AGENTS.md, for the areas this task touches.
|
|
22
23
|
|
|
23
24
|
Read [the design lineage contract](planr-ship/references/design-lineage.md). If the selected
|
|
24
25
|
planning root contains `design-lineage.json`, load only the selected task's mapped
|
|
@@ -39,17 +40,40 @@ context is sufficient; missing planning files do not create a gate.
|
|
|
39
40
|
|
|
40
41
|
## Implement with native roles
|
|
41
42
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
The main session owns scope, decisions, integration, and final verification.
|
|
44
|
+
Use the host's read, edit, shell, browser, and test capabilities inside this session.
|
|
45
|
+
Keep small coherent changes in this session. Delegate only a self-contained
|
|
46
|
+
outcome that benefits from context isolation, a distinct capability boundary,
|
|
47
|
+
or independent parallel work; agent availability alone is not a reason to dispatch.
|
|
48
|
+
|
|
49
|
+
Frontend and backend own substantial bounded implementation assignments.
|
|
50
|
+
Persistence implementation, including a task carrying the legacy `db-agent`
|
|
51
|
+
identity, belongs to backend with the relevant database guidance; preserve the
|
|
52
|
+
task's recorded identity. Database is optional read-only introspection when
|
|
53
|
+
repository schemas are insufficient, never migration implementation. Keep small
|
|
54
|
+
documentation updates with their implementation; delegate substantial documentation
|
|
55
|
+
or requested configuration work separately. DevOps never deploys. Entity
|
|
56
|
+
scaffolding remains manual, on explicit request.
|
|
57
|
+
|
|
58
|
+
Use a separate QA reviewer for authorization, credentials, data-loss risk,
|
|
59
|
+
migrations, public contracts, release behavior, or substantial delegated
|
|
60
|
+
implementation. Small low-risk edits use focused verification in the main session.
|
|
61
|
+
QA retains verification tools, subject to role policy and session permissions.
|
|
62
|
+
|
|
63
|
+
Select the exact registered identity from the host's roster; Claude plugin
|
|
64
|
+
agents use names such as `planr:planr-backend` and `planr:planr-qa`. Give each worker
|
|
65
|
+
its outcome, the absolute task path with `MODE` and, in spec-driven mode, `SPEC_DIR`,
|
|
66
|
+
authoritative paths, relevant decisions, file ownership, verification requirements,
|
|
67
|
+
and concise return expectations. Parallel workers need disjoint
|
|
68
|
+
writes or an agreed interface. Explain the delegation's purpose briefly in
|
|
69
|
+
commentary. Host-native workers do not invoke the separate `planr-delegate` helper.
|
|
70
|
+
When the host lacks the native role, perform the work sequentially in this session
|
|
71
|
+
and disclose capability limitations; never claim an unavailable specialist ran.
|
|
49
72
|
|
|
50
73
|
Integrate the complete change, then verify behavior. `reviewRisks` and
|
|
51
74
|
`browserSurfaces` select useful checks; empty arrays are normal and neither field
|
|
52
|
-
is a workflow gate.
|
|
75
|
+
is a workflow gate. Re-run the cheap checks a worker reports as passed, and compare
|
|
76
|
+
its `changed` list with `git diff --name-only` plus untracked files; report any difference.
|
|
53
77
|
|
|
54
78
|
## Discover and run verification
|
|
55
79
|
|
|
@@ -64,9 +88,14 @@ Run `openplanr ship checks --json --task <task-path>` (omit `--task` for a direc
|
|
|
64
88
|
request; add `--tier story` or `--tier push` before pushing) and run its `checks`
|
|
65
89
|
from each `cwd`. The command never executes checks or writes files. When
|
|
66
90
|
`complete` is `false`, report its error diagnostics and treat the check set as
|
|
67
|
-
incomplete: a pass is not CI-equivalent.
|
|
68
|
-
|
|
69
|
-
|
|
91
|
+
incomplete: a pass is not CI-equivalent. Act on warning diagnostics too; each names
|
|
92
|
+
the files or checks it affects. A diagnostic that a check could not run, such as
|
|
93
|
+
`TYPESCRIPT_UNAVAILABLE`, is not a pass: name that check in `checks` and verify its
|
|
94
|
+
concern yourself where you can (for a new test file, confirm some tsconfig includes
|
|
95
|
+
it). For a `package-contents` check, account for every `expectFiles` entry in the
|
|
96
|
+
tarball's `files`: packed or deliberately left out. Without
|
|
97
|
+
the CLI, the packaged read-only [verification discovery helper](planr-ship/scripts/discover-verification.mjs)
|
|
98
|
+
may list candidates. Resolve it relative to this `SKILL.md` and run
|
|
70
99
|
`node <helper> --project <repository-root> --task <task-path>`; omit `--task` for a
|
|
71
100
|
direct request. It never executes checks or writes files. If both are unavailable,
|
|
72
101
|
inspect those four sources directly. Missing commands are diagnostics, not a
|
|
@@ -76,6 +105,8 @@ Run the strongest applicable focused checks while working, then the relevant
|
|
|
76
105
|
regression checks. Run each check on its own or under `set -o pipefail`, and judge
|
|
77
106
|
it by its own exit code; to shorten output, write it to a log and read the tail.
|
|
78
107
|
Fix failures caused by the change and rerun affected checks.
|
|
108
|
+
For an acceptance check written or changed for this task, follow
|
|
109
|
+
[fail-first](planr-ship/references/fail-first.md) and report what it proved in that check's result.
|
|
79
110
|
Read [the result contract](planr-ship/references/result-contract.md) before reporting.
|
|
80
111
|
|
|
81
112
|
Report defects you notice outside the task as [findings](planr-ship/references/findings.md),
|
|
@@ -94,10 +125,12 @@ behavior, link material changes by purpose, and summarize actual verification.
|
|
|
94
125
|
Retain complete file inventories and command diagnostics in their existing
|
|
95
126
|
results instead of reproducing them in chat.
|
|
96
127
|
|
|
97
|
-
- **Outcome:** `completed`, `partial`,
|
|
128
|
+
- **Outcome:** `completed`, `partial`, `blocked`, or `awaiting-acceptance` (repository
|
|
129
|
+
work done; acceptance needs a run only the owner can do), followed by what now works.
|
|
98
130
|
- **Task:** task ID and path, or `direct-request`.
|
|
99
|
-
- **Changed:** material paths grouped by purpose.
|
|
100
|
-
- **Checks:** command, `passed`, `failed`, or `not-run`, plus a concise result
|
|
131
|
+
- **Changed:** material paths grouped by purpose, files outside Create and Modify apart.
|
|
132
|
+
- **Checks:** command, `passed`, `failed`, or `not-run`, plus a concise result and the
|
|
133
|
+
acceptance IDs it covers; list acceptance criteria no check covers.
|
|
101
134
|
- **Issues:** blockers with problem, impact, and next action, or `none`; then
|
|
102
135
|
findings outside the task, each with its disposition.
|
|
103
136
|
|
package/lib/host-packages/cursor/openplanr/rules/planr-spec/references/specification-contract.md
CHANGED
|
@@ -30,7 +30,9 @@ template:
|
|
|
30
30
|
|
|
31
31
|
Keep evidence and rollback as useful planning context, not approval gates or
|
|
32
32
|
receipt requirements. A risk-specialist section may be empty when no specialist
|
|
33
|
-
lens applies.
|
|
33
|
+
lens applies. Under `## Notes for Decomposition`, list each decision made without
|
|
34
|
+
an answer as a bullet starting `Assumption:` that names the decision and the
|
|
35
|
+
alternative not taken.
|
|
34
36
|
|
|
35
37
|
For a repository intentionally using default mode, write
|
|
36
38
|
`input/specs/spec-{slug}.md` and preserve its active schema. Do not create a
|
|
@@ -22,6 +22,12 @@ mutually exclusive questions at once and put the recommended option first. If
|
|
|
22
22
|
the host lacks that interface, ask one concise chat question. Do not present a
|
|
23
23
|
long prose questionnaire.
|
|
24
24
|
|
|
25
|
+
If no one can answer, as in a headless run, do not ask: choose the
|
|
26
|
+
repository-backed default, or the recommended one when the repository does not
|
|
27
|
+
settle it, and record each such choice as a bullet starting `Assumption:` under
|
|
28
|
+
`## Notes for Decomposition`, naming the decision and the alternative not taken.
|
|
29
|
+
Record a decision you settle inside a functional requirement the same way.
|
|
30
|
+
|
|
25
31
|
When native agents are available, use the specification role to consolidate the
|
|
26
32
|
contract and dispatch database or designer roles only when their lens affects
|
|
27
33
|
the decision. Otherwise perform those lenses sequentially in the active agent.
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
|
-
digestArtifactEnvelope
|
|
3
|
-
} from "./design-shared-artifact-support-protocol-contracts-ea2cd15e.mjs";
|
|
4
|
-
import {
|
|
2
|
+
digestArtifactEnvelope,
|
|
5
3
|
validateJson
|
|
6
|
-
} from "./design-shared-protocol-contracts-
|
|
4
|
+
} from "./design-shared-artifact-support-protocol-contracts-9f6918b0.mjs";
|
|
7
5
|
|
|
8
6
|
// packages/artifact/lib/artifact/ui/shell.mjs
|
|
9
7
|
import { readFileSync as readFileSync2 } from "node:fs";
|
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DESIGN_DOCUMENT_SCHEMA,
|
|
3
|
+
assertDesignDocument,
|
|
4
|
+
bundleLocalDocument,
|
|
5
|
+
initialFrameHeight,
|
|
6
|
+
inspectLocalDocumentBody,
|
|
7
|
+
loadReviewContext,
|
|
8
|
+
parse,
|
|
9
|
+
parseFragment,
|
|
10
|
+
resolveLocalDocumentFile,
|
|
11
|
+
reviewDigest,
|
|
12
|
+
reviewFingerprints,
|
|
13
|
+
serialize,
|
|
14
|
+
validateDesignProps
|
|
15
|
+
} from "./design-shared-artifact-support-dependencies-design-support-protocol-contracts-d707e49b.mjs";
|
|
1
16
|
import {
|
|
2
17
|
AA_NORMAL,
|
|
3
18
|
contrastRatio,
|
|
@@ -6,6 +21,15 @@ import {
|
|
|
6
21
|
renderArtifactShellDocument,
|
|
7
22
|
renderPlanrMark
|
|
8
23
|
} from "./design-artifact-shell.mjs";
|
|
24
|
+
import {
|
|
25
|
+
ARTIFACT_ERROR_CODES,
|
|
26
|
+
ARTIFACT_MAX_SOURCES,
|
|
27
|
+
ARTIFACT_MAX_VIEWS,
|
|
28
|
+
PipelineError,
|
|
29
|
+
createSharedArtifactEnvelope,
|
|
30
|
+
digestArtifactEnvelope,
|
|
31
|
+
resolveArtifactHtml
|
|
32
|
+
} from "./design-shared-artifact-support-protocol-contracts-9f6918b0.mjs";
|
|
9
33
|
import {
|
|
10
34
|
ARTIFACT_FRAME_GUARD_TEMPLATE,
|
|
11
35
|
ARTIFACT_HOST_GUARD_TEMPLATE,
|
|
@@ -14,38 +38,16 @@ import {
|
|
|
14
38
|
import {
|
|
15
39
|
atomicBytes,
|
|
16
40
|
atomicJson,
|
|
17
|
-
bundleLocalDocument,
|
|
18
41
|
currentDesign,
|
|
19
42
|
designSpecPath,
|
|
20
43
|
hash,
|
|
21
44
|
json,
|
|
22
|
-
loadReviewContext,
|
|
23
|
-
parse,
|
|
24
|
-
parseFragment,
|
|
25
45
|
readJson,
|
|
26
|
-
recoverDesignPublication
|
|
27
|
-
|
|
28
|
-
reviewDigest,
|
|
29
|
-
reviewFingerprints,
|
|
30
|
-
serialize
|
|
31
|
-
} from "./design-shared-artifact-support-dependencies-design-support-protocol-contracts-3d9b1a86.mjs";
|
|
46
|
+
recoverDesignPublication
|
|
47
|
+
} from "./design-shared-design-support-0bac378d.mjs";
|
|
32
48
|
import {
|
|
33
49
|
acquireStartLock
|
|
34
50
|
} from "./design-loopback-server.mjs";
|
|
35
|
-
import {
|
|
36
|
-
ARTIFACT_ERROR_CODES,
|
|
37
|
-
ARTIFACT_MAX_SOURCES,
|
|
38
|
-
ARTIFACT_MAX_VIEWS,
|
|
39
|
-
PipelineError,
|
|
40
|
-
createSharedArtifactEnvelope,
|
|
41
|
-
digestArtifactEnvelope,
|
|
42
|
-
resolveArtifactHtml
|
|
43
|
-
} from "./design-shared-artifact-support-protocol-contracts-ea2cd15e.mjs";
|
|
44
|
-
import {
|
|
45
|
-
DESIGN_DOCUMENT_SCHEMA,
|
|
46
|
-
assertDesignDocument,
|
|
47
|
-
initialFrameHeight
|
|
48
|
-
} from "./design-shared-protocol-contracts-b5f28f94.mjs";
|
|
49
51
|
|
|
50
52
|
// packages/design/lib/design/frame-size.mjs
|
|
51
53
|
function designFrameLabel(frame) {
|
|
@@ -1620,6 +1622,15 @@ function lintDesign(html, opts = {}) {
|
|
|
1620
1622
|
const { designSystem = null } = opts;
|
|
1621
1623
|
const errors = [];
|
|
1622
1624
|
const warnings = [];
|
|
1625
|
+
if (opts.screen) {
|
|
1626
|
+
const values = Object.hasOwn(opts.variant?.props ?? {}, opts.screen.id) ? opts.variant.props[opts.screen.id] : {};
|
|
1627
|
+
errors.push(
|
|
1628
|
+
...validateDesignProps({
|
|
1629
|
+
screens: [opts.screen],
|
|
1630
|
+
variants: [{ props: { [opts.screen.id]: values } }]
|
|
1631
|
+
}).map((message) => ({ rule: "invalid-instance-prop", level: "error", message }))
|
|
1632
|
+
);
|
|
1633
|
+
}
|
|
1623
1634
|
const decls = [...styleBlockDecls(html), ...inlineStyleDecls(html)];
|
|
1624
1635
|
for (const d of decls) {
|
|
1625
1636
|
if (SPACING_PROP.test(d.prop)) {
|
|
@@ -1693,6 +1704,57 @@ function lintDesign(html, opts = {}) {
|
|
|
1693
1704
|
summary: `${errors.length} error(s), ${warnings.length} warning(s)`
|
|
1694
1705
|
};
|
|
1695
1706
|
}
|
|
1707
|
+
function withoutRootTheme(html) {
|
|
1708
|
+
if (!/theme-(?:light|dark)|data-theme/iu.test(html)) return null;
|
|
1709
|
+
const body = inspectLocalDocumentBody(html);
|
|
1710
|
+
if (!body) return null;
|
|
1711
|
+
const edits = [];
|
|
1712
|
+
for (const { name, value } of body.attrs) {
|
|
1713
|
+
const location = body.location.attrs?.[name];
|
|
1714
|
+
if (!location) continue;
|
|
1715
|
+
let replacement;
|
|
1716
|
+
if (name === "data-theme" && ["light", "dark"].includes(value)) replacement = "";
|
|
1717
|
+
if (name === "class") {
|
|
1718
|
+
const raw = html.slice(location.startOffset, location.endOffset);
|
|
1719
|
+
const quoted = /^(class\s*=\s*)(["'])([\s\S]*)\2$/iu.exec(raw);
|
|
1720
|
+
if (quoted) {
|
|
1721
|
+
const kept = quoted[3].replace(/(^|\s)theme-(?:light|dark)(?=\s|$)/gu, "$1");
|
|
1722
|
+
if (kept !== quoted[3]) replacement = `${quoted[1]}${quoted[2]}${kept}${quoted[2]}`;
|
|
1723
|
+
} else if (/^class\s*=\s*theme-(?:light|dark)$/iu.test(raw)) replacement = "";
|
|
1724
|
+
}
|
|
1725
|
+
if (replacement !== void 0) edits.push({ ...location, replacement });
|
|
1726
|
+
}
|
|
1727
|
+
if (!edits.length) return null;
|
|
1728
|
+
let normalized = html;
|
|
1729
|
+
for (const { startOffset, endOffset, replacement } of edits.sort(
|
|
1730
|
+
(a, b) => b.startOffset - a.startOffset
|
|
1731
|
+
))
|
|
1732
|
+
normalized = normalized.slice(0, startOffset) + replacement + normalized.slice(endOffset);
|
|
1733
|
+
return normalized;
|
|
1734
|
+
}
|
|
1735
|
+
function lintThemeOnlySources(sources) {
|
|
1736
|
+
const warnings = [];
|
|
1737
|
+
const seen = /* @__PURE__ */ new Map();
|
|
1738
|
+
for (const { screenId, source, html } of sources) {
|
|
1739
|
+
const normalized = withoutRootTheme(html);
|
|
1740
|
+
if (normalized === null) continue;
|
|
1741
|
+
const key = JSON.stringify({
|
|
1742
|
+
html: normalized,
|
|
1743
|
+
styles: source.styles ?? [],
|
|
1744
|
+
scripts: source.scripts ?? []
|
|
1745
|
+
});
|
|
1746
|
+
const previous = seen.get(key);
|
|
1747
|
+
if (previous && previous.screenId !== screenId && previous.source !== source.html && previous.html !== html)
|
|
1748
|
+
warnings.push({
|
|
1749
|
+
rule: "theme-only-source",
|
|
1750
|
+
level: "warn",
|
|
1751
|
+
screenId,
|
|
1752
|
+
message: `Screens ${previous.screenId} (${previous.source}) and ${screenId} (${source.html}) differ only by a root theme marker; declare a theme prop and share one source.`
|
|
1753
|
+
});
|
|
1754
|
+
else seen.set(key, { screenId, source: source.html, html });
|
|
1755
|
+
}
|
|
1756
|
+
return warnings;
|
|
1757
|
+
}
|
|
1696
1758
|
function lintCanvasData(data, { frames } = {}) {
|
|
1697
1759
|
const errors = [];
|
|
1698
1760
|
for (const section of data?.sections || []) {
|
|
@@ -2434,8 +2496,19 @@ function prepareDesignDocument(file, { readSource, passive = false, maxBytes } =
|
|
|
2434
2496
|
])
|
|
2435
2497
|
);
|
|
2436
2498
|
for (const variant of document2.variants.filter((item) => item.status === "ready")) {
|
|
2499
|
+
const themeWarnings = lintThemeOnlySources(
|
|
2500
|
+
document2.screens.map((screen) => {
|
|
2501
|
+
const source = variant.sources?.[screen.id] ?? screen.source;
|
|
2502
|
+
return {
|
|
2503
|
+
screenId: screen.id,
|
|
2504
|
+
source,
|
|
2505
|
+
html: sourceContents.get(source.html).toString("utf8")
|
|
2506
|
+
};
|
|
2507
|
+
})
|
|
2508
|
+
);
|
|
2437
2509
|
for (const screenId of document2.screenOrder) {
|
|
2438
2510
|
const screen = document2.screens.find((item) => item.id === screenId);
|
|
2511
|
+
const values = Object.hasOwn(variant.props ?? {}, screenId) ? variant.props[screenId] : {};
|
|
2439
2512
|
const bundled = bundleLocalDocument({
|
|
2440
2513
|
root,
|
|
2441
2514
|
source: variant.sources?.[screenId] ?? screen.source,
|
|
@@ -2443,6 +2516,14 @@ function prepareDesignDocument(file, { readSource, passive = false, maxBytes } =
|
|
|
2443
2516
|
screenId,
|
|
2444
2517
|
readSource,
|
|
2445
2518
|
passive,
|
|
2519
|
+
...screen.props ? {
|
|
2520
|
+
screenProps: Object.fromEntries(
|
|
2521
|
+
Object.entries(screen.props).map(([name, declaration]) => [
|
|
2522
|
+
name,
|
|
2523
|
+
Object.hasOwn(values, name) ? values[name] : declaration.default
|
|
2524
|
+
])
|
|
2525
|
+
)
|
|
2526
|
+
} : {},
|
|
2446
2527
|
...maxBytes === void 0 ? {} : { maxBytes }
|
|
2447
2528
|
});
|
|
2448
2529
|
if (document2.frames.some(({ height }) => height === "auto"))
|
|
@@ -2465,8 +2546,12 @@ function prepareDesignDocument(file, { readSource, passive = false, maxBytes } =
|
|
|
2465
2546
|
);
|
|
2466
2547
|
}
|
|
2467
2548
|
const report = lintDesign(bundled.html, {
|
|
2468
|
-
designSystem: document2.designSystem
|
|
2549
|
+
designSystem: document2.designSystem,
|
|
2550
|
+
screen,
|
|
2551
|
+
variant
|
|
2469
2552
|
});
|
|
2553
|
+
report.warnings.push(...themeWarnings.filter((item) => item.screenId === screenId));
|
|
2554
|
+
report.summary = `${report.errors.length} error(s), ${report.warnings.length} warning(s)`;
|
|
2470
2555
|
lint.push({ variantId: variant.id, screenId, ...report });
|
|
2471
2556
|
for (const anchor of screen.anchors ?? []) {
|
|
2472
2557
|
if (!bundled.html.includes(`data-planr-id="${anchor}"`) && !bundled.html.includes(`id="${anchor}"`))
|