@design-ai/cli 4.55.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/.claude-plugin/plugin.json +164 -0
- package/AGENTS.ko.md +126 -0
- package/AGENTS.md +182 -0
- package/CHANGELOG.md +6883 -0
- package/CLAUDE.md +39 -0
- package/LICENSE +21 -0
- package/README.ko.md +245 -0
- package/README.md +277 -0
- package/agents/README.md +14 -0
- package/agents/a11y-reviewer.md +121 -0
- package/agents/component-architect.md +57 -0
- package/agents/design-critic.md +46 -0
- package/agents/token-extractor.md +63 -0
- package/cli/bin/design-ai-mcp.mjs +6 -0
- package/cli/bin/design-ai.mjs +40 -0
- package/cli/commands/audit.mjs +111 -0
- package/cli/commands/check.mjs +226 -0
- package/cli/commands/doctor.mjs +141 -0
- package/cli/commands/examples.mjs +58 -0
- package/cli/commands/help.mjs +271 -0
- package/cli/commands/install.mjs +161 -0
- package/cli/commands/learn.mjs +1871 -0
- package/cli/commands/list.mjs +143 -0
- package/cli/commands/mcp.mjs +27 -0
- package/cli/commands/pack.mjs +211 -0
- package/cli/commands/prompt.mjs +199 -0
- package/cli/commands/route.mjs +247 -0
- package/cli/commands/search.mjs +60 -0
- package/cli/commands/show.mjs +52 -0
- package/cli/commands/site.mjs +558 -0
- package/cli/commands/status.mjs +161 -0
- package/cli/commands/uninstall.mjs +119 -0
- package/cli/commands/update.mjs +184 -0
- package/cli/commands/version.mjs +94 -0
- package/cli/commands/workspace.mjs +176 -0
- package/cli/lib/brief.mjs +52 -0
- package/cli/lib/check.mjs +642 -0
- package/cli/lib/dispatch.mjs +109 -0
- package/cli/lib/doctor.mjs +505 -0
- package/cli/lib/examples.mjs +258 -0
- package/cli/lib/exec.mjs +63 -0
- package/cli/lib/help-flags.mjs +5 -0
- package/cli/lib/learn.mjs +3694 -0
- package/cli/lib/log.mjs +47 -0
- package/cli/lib/mcp-server.mjs +426 -0
- package/cli/lib/output.mjs +101 -0
- package/cli/lib/pack.mjs +599 -0
- package/cli/lib/paths.mjs +63 -0
- package/cli/lib/prompt.mjs +603 -0
- package/cli/lib/route.mjs +740 -0
- package/cli/lib/search.mjs +158 -0
- package/cli/lib/show.mjs +161 -0
- package/cli/lib/signals.mjs +2337 -0
- package/cli/lib/site.mjs +6617 -0
- package/cli/lib/skill-proposals.mjs +2046 -0
- package/cli/lib/suggest.mjs +66 -0
- package/cli/lib/workspace.mjs +1056 -0
- package/commands/README.md +25 -0
- package/commands/component-spec.md +34 -0
- package/commands/conversational.md +44 -0
- package/commands/design-from-brief.md +141 -0
- package/commands/design-review.md +62 -0
- package/commands/document-from-brief.md +47 -0
- package/commands/extract-tokens.md +38 -0
- package/commands/game-ui.md +40 -0
- package/commands/illustration.md +37 -0
- package/commands/iterate.md +167 -0
- package/commands/motion-design.md +54 -0
- package/commands/palette-from-brand.md +50 -0
- package/commands/print.md +49 -0
- package/commands/slide-deck.md +46 -0
- package/commands/spatial.md +47 -0
- package/commands/stability-review.md +74 -0
- package/commands/video.md +42 -0
- package/commands/website-improvement.md +77 -0
- package/docs/AGENT-DEVELOPMENT.md +658 -0
- package/docs/AI-LEARNING.md +429 -0
- package/docs/AIDER-INTEGRATION.md +224 -0
- package/docs/ARCHITECTURE.ko.md +183 -0
- package/docs/ARCHITECTURE.md +105 -0
- package/docs/CODEX-INTEGRATION.md +311 -0
- package/docs/COMPANY-WEBSITE-DOGFOOD.ko.md +144 -0
- package/docs/COMPANY-WEBSITE-DOGFOOD.md +150 -0
- package/docs/COMPANY-WEBSITE-INTAKE-TEMPLATE.ko.md +153 -0
- package/docs/COMPANY-WEBSITE-INTAKE-TEMPLATE.md +154 -0
- package/docs/CONTRIBUTING.ko.md +203 -0
- package/docs/CONTRIBUTING.md +242 -0
- package/docs/CURSOR-INTEGRATION.md +220 -0
- package/docs/DISTRIBUTION.ko.md +248 -0
- package/docs/DISTRIBUTION.md +253 -0
- package/docs/DOGFOOD-FINDINGS.md +180 -0
- package/docs/DOGFOOD-V4-FINDINGS.md +139 -0
- package/docs/DOGFOOD-V4-MKDOCS-FINDINGS.md +233 -0
- package/docs/DOGFOOD-V4-NPM-FINDINGS.md +157 -0
- package/docs/DOGFOOD-V4-VSCODE-FINDINGS.md +135 -0
- package/docs/FIGMA-INTEGRATION.md +222 -0
- package/docs/MCP-INTEGRATION.md +243 -0
- package/docs/MIGRATION-v4.md +121 -0
- package/docs/PLUGIN-PACKAGING.md +240 -0
- package/docs/PRODUCT-READINESS.md +66 -0
- package/docs/QUICKSTART.ko.md +178 -0
- package/docs/QUICKSTART.md +179 -0
- package/docs/RELEASE-CHECKLIST.md +292 -0
- package/docs/ROADMAP.md +19495 -0
- package/docs/SESSION-LOG.md +940 -0
- package/docs/TOKEN-SYNC.md +237 -0
- package/docs/USING.ko.md +206 -0
- package/docs/USING.md +218 -0
- package/docs/WEBSITE-IMPROVEMENT.ko.md +75 -0
- package/docs/WEBSITE-IMPROVEMENT.md +89 -0
- package/docs/announcements/README.md +56 -0
- package/docs/announcements/dev-to-korea.md +206 -0
- package/docs/announcements/hashnode-post.ko.md +232 -0
- package/docs/announcements/okky-post.ko.md +158 -0
- package/docs/announcements/press-kit.md +101 -0
- package/docs/announcements/reddit-r-korea.md +196 -0
- package/docs/announcements/show-hn.md +114 -0
- package/docs/announcements/twitter-thread.md +255 -0
- package/docs/external-status.md +34 -0
- package/docs/integrations/aider-walkthrough.ko.md +275 -0
- package/docs/integrations/aider-walkthrough.md +274 -0
- package/docs/integrations/codex-walkthrough.ko.md +297 -0
- package/docs/integrations/codex-walkthrough.md +297 -0
- package/docs/integrations/cursor-walkthrough.ko.md +281 -0
- package/docs/integrations/cursor-walkthrough.md +284 -0
- package/docs/integrations/design-ai-mcp-server.md +169 -0
- package/docs/integrations/figma-mcp.md +149 -0
- package/docs/integrations/github-mcp.md +178 -0
- package/docs/integrations/linear-mcp.md +215 -0
- package/docs/integrations/notion-mcp.md +174 -0
- package/docs/integrations/sdk-walkthrough.ko.md +375 -0
- package/docs/integrations/sdk-walkthrough.md +375 -0
- package/docs/integrations/slack-mcp.md +208 -0
- package/docs/integrations/vscode-walkthrough.ko.md +202 -0
- package/docs/integrations/vscode-walkthrough.md +205 -0
- package/docs/requirements.txt +16 -0
- package/docs/site-overrides/extra.css +83 -0
- package/docs/site-overrides/favicon.svg +4 -0
- package/docs/site-overrides/logo.svg +10 -0
- package/docs/site-overrides/main.html +18 -0
- package/docs/website-console/app.js +2540 -0
- package/docs/website-console/index.html +24 -0
- package/docs/website-console/styles.css +975 -0
- package/examples/README.md +252 -0
- package/examples/cases/dogfood-v4-korean-hr-onboarding.md +356 -0
- package/examples/component-accordion-actions.md +153 -0
- package/examples/component-accordion-details.md +147 -0
- package/examples/component-accordion-summary.md +180 -0
- package/examples/component-accordion.md +229 -0
- package/examples/component-account-card.md +284 -0
- package/examples/component-address-input.md +260 -0
- package/examples/component-affix.md +190 -0
- package/examples/component-alert-dialog.md +210 -0
- package/examples/component-alert-title.md +77 -0
- package/examples/component-alert.md +192 -0
- package/examples/component-amount-input.md +278 -0
- package/examples/component-anchor.md +198 -0
- package/examples/component-app-bar.md +249 -0
- package/examples/component-aspect-ratio.md +156 -0
- package/examples/component-auto-complete.md +199 -0
- package/examples/component-avatar-group.md +170 -0
- package/examples/component-avatar.md +191 -0
- package/examples/component-back-top.md +123 -0
- package/examples/component-backdrop.md +148 -0
- package/examples/component-badge.md +181 -0
- package/examples/component-banner.md +237 -0
- package/examples/component-biometric-gate.md +281 -0
- package/examples/component-blockquote.md +153 -0
- package/examples/component-border-beam.md +207 -0
- package/examples/component-bottom-navigation.md +226 -0
- package/examples/component-box.md +112 -0
- package/examples/component-breadcrumb.md +222 -0
- package/examples/component-button-base.md +190 -0
- package/examples/component-button-group.md +117 -0
- package/examples/component-button.md +213 -0
- package/examples/component-calendar.md +280 -0
- package/examples/component-callout.md +131 -0
- package/examples/component-card-actions.md +101 -0
- package/examples/component-card-content.md +90 -0
- package/examples/component-card-header.md +122 -0
- package/examples/component-card-media.md +79 -0
- package/examples/component-card.md +233 -0
- package/examples/component-carousel.md +266 -0
- package/examples/component-cascader.md +135 -0
- package/examples/component-category-picker.md +271 -0
- package/examples/component-chart.md +237 -0
- package/examples/component-chat-interface.md +399 -0
- package/examples/component-checkbox.md +149 -0
- package/examples/component-click-away-listener.md +87 -0
- package/examples/component-code.md +213 -0
- package/examples/component-collapsible.md +219 -0
- package/examples/component-color-picker.md +110 -0
- package/examples/component-combobox.md +267 -0
- package/examples/component-command.md +299 -0
- package/examples/component-config-provider.md +190 -0
- package/examples/component-context-menu.md +179 -0
- package/examples/component-css-baseline.md +148 -0
- package/examples/component-date-picker.md +249 -0
- package/examples/component-descriptions.md +242 -0
- package/examples/component-dialog-actions.md +111 -0
- package/examples/component-dialog-content-text.md +76 -0
- package/examples/component-dialog-content.md +105 -0
- package/examples/component-dialog-title.md +104 -0
- package/examples/component-dialog.md +176 -0
- package/examples/component-divider.md +182 -0
- package/examples/component-doc-page.md +217 -0
- package/examples/component-drawer.md +257 -0
- package/examples/component-dropdown.md +220 -0
- package/examples/component-email-layout.md +253 -0
- package/examples/component-empty-state.md +269 -0
- package/examples/component-empty.md +172 -0
- package/examples/component-fade.md +87 -0
- package/examples/component-feature-grid.md +201 -0
- package/examples/component-field.md +266 -0
- package/examples/component-filled-input.md +114 -0
- package/examples/component-flex.md +117 -0
- package/examples/component-float-button.md +214 -0
- package/examples/component-form-control-label.md +134 -0
- package/examples/component-form-control.md +113 -0
- package/examples/component-form-controls.md +251 -0
- package/examples/component-form-group.md +86 -0
- package/examples/component-form-helper-text.md +95 -0
- package/examples/component-form-label.md +98 -0
- package/examples/component-form.md +291 -0
- package/examples/component-game-hud.md +362 -0
- package/examples/component-game-menu.md +327 -0
- package/examples/component-grid.md +140 -0
- package/examples/component-grow.md +79 -0
- package/examples/component-hero-block.md +252 -0
- package/examples/component-hover-card.md +211 -0
- package/examples/component-icon-button.md +142 -0
- package/examples/component-icon.md +102 -0
- package/examples/component-illustration.md +280 -0
- package/examples/component-image-list.md +107 -0
- package/examples/component-image.md +282 -0
- package/examples/component-input-adornment.md +101 -0
- package/examples/component-input-base.md +134 -0
- package/examples/component-input-number.md +141 -0
- package/examples/component-input-otp.md +271 -0
- package/examples/component-input.md +213 -0
- package/examples/component-item.md +243 -0
- package/examples/component-kbd.md +197 -0
- package/examples/component-krw-amount.md +219 -0
- package/examples/component-label.md +118 -0
- package/examples/component-layout.md +217 -0
- package/examples/component-link.md +223 -0
- package/examples/component-list-item-avatar.md +72 -0
- package/examples/component-list-item-button.md +139 -0
- package/examples/component-list-item-icon.md +82 -0
- package/examples/component-list-item-text.md +98 -0
- package/examples/component-list-item.md +116 -0
- package/examples/component-list-subheader.md +70 -0
- package/examples/component-list.md +198 -0
- package/examples/component-loading-button.md +125 -0
- package/examples/component-loading-sequence.md +254 -0
- package/examples/component-lottie-player.md +279 -0
- package/examples/component-masonry.md +191 -0
- package/examples/component-mentions.md +189 -0
- package/examples/component-menu-item.md +102 -0
- package/examples/component-menu-list.md +98 -0
- package/examples/component-menu.md +139 -0
- package/examples/component-menubar.md +259 -0
- package/examples/component-message.md +162 -0
- package/examples/component-mobile-stepper.md +155 -0
- package/examples/component-modal.md +220 -0
- package/examples/component-navigation-menu.md +295 -0
- package/examples/component-notification.md +166 -0
- package/examples/component-otp-countdown.md +245 -0
- package/examples/component-outlined-input.md +145 -0
- package/examples/component-page-transition.md +281 -0
- package/examples/component-pagination.md +226 -0
- package/examples/component-paper.md +199 -0
- package/examples/component-pass-auth.md +265 -0
- package/examples/component-payment-brand-button.md +253 -0
- package/examples/component-payment-method-selector.md +272 -0
- package/examples/component-payment-receipt.md +277 -0
- package/examples/component-popconfirm.md +144 -0
- package/examples/component-popover.md +239 -0
- package/examples/component-popper.md +129 -0
- package/examples/component-pricing-cards.md +247 -0
- package/examples/component-progress.md +195 -0
- package/examples/component-qr-code.md +201 -0
- package/examples/component-radio.md +167 -0
- package/examples/component-rate.md +202 -0
- package/examples/component-resizable.md +163 -0
- package/examples/component-result.md +270 -0
- package/examples/component-scroll-area.md +199 -0
- package/examples/component-scroll-reveal.md +320 -0
- package/examples/component-segmented.md +178 -0
- package/examples/component-select.md +258 -0
- package/examples/component-separator.md +177 -0
- package/examples/component-sheet.md +277 -0
- package/examples/component-sidebar.md +257 -0
- package/examples/component-skeleton.md +178 -0
- package/examples/component-slide.md +89 -0
- package/examples/component-slider.md +208 -0
- package/examples/component-snackbar-content.md +92 -0
- package/examples/component-snackbar.md +121 -0
- package/examples/component-sonner.md +165 -0
- package/examples/component-space.md +125 -0
- package/examples/component-spatial-locomotion.md +373 -0
- package/examples/component-spatial-panel.md +330 -0
- package/examples/component-speed-dial-action.md +78 -0
- package/examples/component-speed-dial.md +177 -0
- package/examples/component-spin.md +173 -0
- package/examples/component-spinner.md +204 -0
- package/examples/component-splitter.md +210 -0
- package/examples/component-stack.md +130 -0
- package/examples/component-statistic.md +282 -0
- package/examples/component-step-button.md +157 -0
- package/examples/component-step-connector.md +157 -0
- package/examples/component-step-content.md +121 -0
- package/examples/component-step-icon.md +115 -0
- package/examples/component-step-label.md +101 -0
- package/examples/component-step.md +84 -0
- package/examples/component-steps.md +264 -0
- package/examples/component-stock-chart.md +251 -0
- package/examples/component-swipeable-drawer.md +149 -0
- package/examples/component-switch.md +99 -0
- package/examples/component-tab-scroll-button.md +180 -0
- package/examples/component-tab.md +120 -0
- package/examples/component-table-body.md +82 -0
- package/examples/component-table-cell.md +118 -0
- package/examples/component-table-container.md +75 -0
- package/examples/component-table-footer.md +72 -0
- package/examples/component-table-head.md +78 -0
- package/examples/component-table-pagination.md +137 -0
- package/examples/component-table-row.md +113 -0
- package/examples/component-table-sort-label.md +109 -0
- package/examples/component-table.md +202 -0
- package/examples/component-tabs.md +184 -0
- package/examples/component-tag-badge.md +309 -0
- package/examples/component-tag.md +102 -0
- package/examples/component-testimonial-carousel.md +218 -0
- package/examples/component-textarea-autosize.md +114 -0
- package/examples/component-textarea.md +173 -0
- package/examples/component-time-picker.md +205 -0
- package/examples/component-timeline.md +170 -0
- package/examples/component-toast.md +224 -0
- package/examples/component-toggle-button.md +129 -0
- package/examples/component-toggle.md +220 -0
- package/examples/component-toolbar.md +104 -0
- package/examples/component-tooltip.md +178 -0
- package/examples/component-tour.md +176 -0
- package/examples/component-transaction-list-item.md +243 -0
- package/examples/component-transfer.md +156 -0
- package/examples/component-tree-select.md +202 -0
- package/examples/component-tree.md +297 -0
- package/examples/component-typography.md +215 -0
- package/examples/component-upload.md +295 -0
- package/examples/component-video-hero.md +409 -0
- package/examples/component-video-player.md +340 -0
- package/examples/component-voice-input.md +408 -0
- package/examples/component-watermark.md +217 -0
- package/examples/component-zoom.md +92 -0
- package/examples/doc-explanation-example.md +196 -0
- package/examples/doc-how-to-example.md +205 -0
- package/examples/doc-tutorial-example.md +162 -0
- package/examples/dogfood-korean-fintech-system.md +433 -0
- package/examples/email-transactional-example.md +259 -0
- package/examples/palette-saas-violet.md +235 -0
- package/examples/print-business-card-spec.md +205 -0
- package/examples/print-packaging-spec.md +285 -0
- package/examples/report-example.md +228 -0
- package/examples/slide-deck-example.md +237 -0
- package/examples/website-improvement-report.md +128 -0
- package/examples/website-improvement-workspace.json +126 -0
- package/install.sh +189 -0
- package/knowledge/COVERAGE.md +740 -0
- package/knowledge/PRINCIPLES.md +108 -0
- package/knowledge/a11y/contrast.md +70 -0
- package/knowledge/a11y/keyboard-and-focus.md +108 -0
- package/knowledge/colors/color-theory.md +90 -0
- package/knowledge/colors/mui-palette-structure.md +105 -0
- package/knowledge/colors/palettes-by-product-type.md +876 -0
- package/knowledge/components/INDEX.md +231 -0
- package/knowledge/components/index.json +1470 -0
- package/knowledge/components/shadcn-registry.md +159 -0
- package/knowledge/conversational/ai-chat-interfaces.md +323 -0
- package/knowledge/conversational/chatbot-design.md +312 -0
- package/knowledge/conversational/conversational-ui-fundamentals.md +299 -0
- package/knowledge/conversational/korean-voice-conventions.md +281 -0
- package/knowledge/conversational/voice-ui-patterns.md +297 -0
- package/knowledge/design-tokens/ant-design.md +124 -0
- package/knowledge/design-tokens/material-3.md +235 -0
- package/knowledge/design-tokens/polaris-and-carbon.md +231 -0
- package/knowledge/design-tokens/tailwind-v4.md +284 -0
- package/knowledge/game-ui/game-accessibility.md +317 -0
- package/knowledge/game-ui/game-ui-fundamentals.md +281 -0
- package/knowledge/game-ui/hud-design.md +324 -0
- package/knowledge/game-ui/korean-gaming-conventions.md +312 -0
- package/knowledge/game-ui/menu-systems.md +388 -0
- package/knowledge/i18n/korean-app-store-visual.md +223 -0
- package/knowledge/i18n/korean-document-style.md +301 -0
- package/knowledge/i18n/korean-payments.md +211 -0
- package/knowledge/i18n/korean-product-conventions.md +96 -0
- package/knowledge/i18n/korean-publishing.md +139 -0
- package/knowledge/i18n/korean-typography.md +123 -0
- package/knowledge/icons/curated-sets.md +225 -0
- package/knowledge/illustration/hero-illustrations.md +234 -0
- package/knowledge/illustration/illustration-systems.md +221 -0
- package/knowledge/illustration/mascot-design.md +208 -0
- package/knowledge/illustration/spot-illustrations.md +246 -0
- package/knowledge/illustration/svg-optimization.md +308 -0
- package/knowledge/layout/spacing-and-grid.md +119 -0
- package/knowledge/motion/app-loading-sequences.md +277 -0
- package/knowledge/motion/choreography-depth.md +297 -0
- package/knowledge/motion/marketing-motion.md +223 -0
- package/knowledge/motion/micro-interactions.md +266 -0
- package/knowledge/motion/motion-tools.md +281 -0
- package/knowledge/motion/principles.md +126 -0
- package/knowledge/patterns/auth-flow-design.md +316 -0
- package/knowledge/patterns/b2b-onboarding-flows.md +182 -0
- package/knowledge/patterns/brand-identity.md +238 -0
- package/knowledge/patterns/brand-references.md +97 -0
- package/knowledge/patterns/chart-color-encoding.md +269 -0
- package/knowledge/patterns/chart-types.md +344 -0
- package/knowledge/patterns/dashboard-composition.md +299 -0
- package/knowledge/patterns/design-system-qa.md +356 -0
- package/knowledge/patterns/document-typography.md +248 -0
- package/knowledge/patterns/email-design.md +338 -0
- package/knowledge/patterns/empty-states.md +263 -0
- package/knowledge/patterns/error-states.md +318 -0
- package/knowledge/patterns/form-design.md +237 -0
- package/knowledge/patterns/information-architecture.md +341 -0
- package/knowledge/patterns/landing-hero-design.md +283 -0
- package/knowledge/patterns/landing-page-patterns.md +681 -0
- package/knowledge/patterns/list-and-feed.md +371 -0
- package/knowledge/patterns/mobile-navigation.md +278 -0
- package/knowledge/patterns/money-and-amount.md +301 -0
- package/knowledge/patterns/onboarding.md +300 -0
- package/knowledge/patterns/pricing-page-design.md +261 -0
- package/knowledge/patterns/realtime-data.md +280 -0
- package/knowledge/patterns/report-design.md +330 -0
- package/knowledge/patterns/search-ux.md +373 -0
- package/knowledge/patterns/settings-page.md +325 -0
- package/knowledge/patterns/slide-deck-design.md +316 -0
- package/knowledge/patterns/styles-catalog.md +2599 -0
- package/knowledge/patterns/technical-writing.md +306 -0
- package/knowledge/patterns/ui-reasoning.md +1853 -0
- package/knowledge/patterns/ux-guidelines.md +1454 -0
- package/knowledge/platforms/react-native.md +395 -0
- package/knowledge/print/brochures-and-flyers.md +276 -0
- package/knowledge/print/korean-print-conventions.md +284 -0
- package/knowledge/print/packaging.md +321 -0
- package/knowledge/print/print-fundamentals.md +238 -0
- package/knowledge/print/signage-and-posters.md +235 -0
- package/knowledge/print/stationery.md +262 -0
- package/knowledge/spatial/ar-patterns.md +253 -0
- package/knowledge/spatial/comfort-and-accessibility.md +245 -0
- package/knowledge/spatial/spatial-design-fundamentals.md +346 -0
- package/knowledge/spatial/spatial-ui-elements.md +343 -0
- package/knowledge/spatial/vr-patterns.md +302 -0
- package/knowledge/typography/font-pairings.md +332 -0
- package/knowledge/typography/mui-type-scale.md +57 -0
- package/knowledge/typography/type-scale-fundamentals.md +105 -0
- package/knowledge/video/in-product-video.md +277 -0
- package/knowledge/video/korean-video-conventions.md +247 -0
- package/knowledge/video/marketing-video.md +258 -0
- package/knowledge/video/social-and-short-form.md +257 -0
- package/knowledge/video/video-fundamentals.md +296 -0
- package/package.json +106 -0
- package/skills/README.md +39 -0
- package/skills/color-palette/PLAYBOOK.md +175 -0
- package/skills/color-palette/SKILL.md +6 -0
- package/skills/color-palette/TEMPLATE.md +103 -0
- package/skills/component-spec-writer/PLAYBOOK.md +169 -0
- package/skills/component-spec-writer/SKILL.md +6 -0
- package/skills/component-spec-writer/TEMPLATE.md +115 -0
- package/skills/conversational-ui-designer/PLAYBOOK.md +231 -0
- package/skills/conversational-ui-designer/SKILL.md +6 -0
- package/skills/design-broadcast/PLAYBOOK.md +146 -0
- package/skills/design-broadcast/SKILL.md +6 -0
- package/skills/design-critique/PLAYBOOK.md +137 -0
- package/skills/design-critique/SKILL.md +6 -0
- package/skills/design-pr-review/PLAYBOOK.md +171 -0
- package/skills/design-pr-review/SKILL.md +6 -0
- package/skills/design-system-builder/PLAYBOOK.md +218 -0
- package/skills/design-system-builder/SKILL.md +6 -0
- package/skills/design-system-qa/PLAYBOOK.md +163 -0
- package/skills/design-system-qa/SKILL.md +6 -0
- package/skills/document-author/PLAYBOOK.md +167 -0
- package/skills/document-author/SKILL.md +6 -0
- package/skills/figma-token-sync/PLAYBOOK.md +149 -0
- package/skills/figma-token-sync/SKILL.md +6 -0
- package/skills/game-ui-designer/PLAYBOOK.md +209 -0
- package/skills/game-ui-designer/SKILL.md +6 -0
- package/skills/handoff-spec/PLAYBOOK.md +170 -0
- package/skills/handoff-spec/SKILL.md +6 -0
- package/skills/illustration-designer/PLAYBOOK.md +166 -0
- package/skills/illustration-designer/SKILL.md +6 -0
- package/skills/motion-designer/PLAYBOOK.md +223 -0
- package/skills/motion-designer/SKILL.md +6 -0
- package/skills/print-designer/PLAYBOOK.md +209 -0
- package/skills/print-designer/SKILL.md +6 -0
- package/skills/slide-deck-author/PLAYBOOK.md +198 -0
- package/skills/slide-deck-author/SKILL.md +6 -0
- package/skills/spatial-designer/PLAYBOOK.md +238 -0
- package/skills/spatial-designer/SKILL.md +6 -0
- package/skills/ux-audit/PLAYBOOK.md +142 -0
- package/skills/ux-audit/SKILL.md +6 -0
- package/skills/video-designer/PLAYBOOK.md +240 -0
- package/skills/video-designer/SKILL.md +6 -0
- package/skills/website-improvement/PLAYBOOK.md +118 -0
- package/skills/website-improvement/SKILL.md +6 -0
- package/skills/website-improvement/TEMPLATE.md +103 -0
- package/tools/audit/changelog-generate.py +176 -0
- package/tools/audit/check-coverage.py +483 -0
- package/tools/audit/doctor_assertions.py +256 -0
- package/tools/audit/example-qa.py +108 -0
- package/tools/audit/frontmatter-check.py +199 -0
- package/tools/audit/integration-check.py +95 -0
- package/tools/audit/korean-copy-check.py +161 -0
- package/tools/audit/link-check.py +146 -0
- package/tools/audit/local-ci.py +558 -0
- package/tools/audit/package-contents.py +723 -0
- package/tools/audit/package-smoke.py +22443 -0
- package/tools/audit/raw-hex-check.py +252 -0
- package/tools/audit/registry-smoke.py +8188 -0
- package/tools/audit/release-metadata.py +9832 -0
- package/tools/audit/run-all.py +351 -0
- package/tools/audit/smoke_assertions.py +12742 -0
- package/tools/audit/stability-review.py +332 -0
- package/tools/audit/stale-check.py +156 -0
- package/tools/migrations/add-version-frontmatter.py +132 -0
- package/tools/migrations/bump-last-updated.py +131 -0
- package/tools/migrations/promote-stability.py +172 -0
- package/tools/preview/README.md +58 -0
- package/tools/preview/render-tokens.py +454 -0
|
@@ -0,0 +1,658 @@
|
|
|
1
|
+
# Agent development plan
|
|
2
|
+
|
|
3
|
+
This document tracks how design-ai should evolve its local AI learning and agent workflow surface after reviewing adjacent open-source agent projects. It is a product and engineering plan, not a mandate to copy code from those repositories.
|
|
4
|
+
|
|
5
|
+
## Reference baseline
|
|
6
|
+
|
|
7
|
+
| Reference | Useful pattern | design-ai decision |
|
|
8
|
+
|---|---|---|
|
|
9
|
+
| [NousResearch/hermes-agent](https://github.com/NousResearch/hermes-agent) | Closed learning loop, skills from experience, session search, scheduled automations, subagent delegation | Adopt the pattern as local deterministic learning, route evals, skill proposals, and explicit operator approval. Do not add autonomous background collection yet. |
|
|
10
|
+
| [harness/harness](https://github.com/harness/harness) | Pipeline, conformance tests, release evidence, local service readiness | Adopt evidence-first release gates and conformance-style CLI smoke checks. Do not build a DevOps platform in this repo. |
|
|
11
|
+
| [strands-agents/sdk-python](https://github.com/strands-agents/sdk-python) | Model/tool abstraction, MCP-native agent composition, lightweight SDK shape | Keep design-ai model-agnostic and add tool readiness metadata before adding provider adapters. |
|
|
12
|
+
| [obra/superpowers](https://github.com/obra/superpowers) | Skill-triggered workflow, planning before coding, test-first checkpoints | Adopt mandatory workflow checkpoints in skills and route evals. Keep user approval for destructive or external actions. |
|
|
13
|
+
| [affaan-m/ECC](https://github.com/affaan-m/ECC) | Cross-harness packaging, memory persistence, eval/checkpoint framing, security guardrails | Adopt cross-harness compatibility and eval checkpoint language. Avoid hidden hooks that mutate state without explicit CLI commands. |
|
|
14
|
+
| [anomalyco/opencode](https://github.com/anomalyco/opencode) | Separate plan/build agents and terminal-first agent UX | Add route/eval support for plan vs implementation prompts; no full coding agent runtime in design-ai. |
|
|
15
|
+
| [langflow-ai/langflow](https://github.com/langflow-ai/langflow) and [langgenius/dify](https://github.com/langgenius/dify) | Visual workflow builders, API/MCP deployment, observability | Future Website Console can export workflow JSON and reports. MVP stays static/local. |
|
|
16
|
+
| [anthropics/skills](https://github.com/anthropics/skills) | Self-contained `SKILL.md` folders with metadata, scripts, and resources | Keep skills self-contained and add validation for route/skill coverage. |
|
|
17
|
+
| [langchain-ai/langchain](https://github.com/langchain-ai/langchain) | Agent engineering layers, integrations, observability/evals | Adopt eval/observability concepts only; no dependency on LangChain. |
|
|
18
|
+
| [google-gemini/gemini-cli](https://github.com/google-gemini/gemini-cli) | Terminal-first CLI, MCP support, checkpointing, GitHub action workflows | Add CLI checkpoint reports and future CI smoke targets. |
|
|
19
|
+
| [TauricResearch/TradingAgents](https://github.com/TauricResearch/TradingAgents) | Role-specialized multi-agent debate and risk review | Use role debate as a prompt template for design decisions, not as financial-domain logic. |
|
|
20
|
+
| [farion1231/cc-switch](https://github.com/farion1231/cc-switch) | Cross-tool provider, MCP, and skill management | Future UI can manage provider/readiness metadata. Avoid API relay or provider switching inside this repo. |
|
|
21
|
+
| [Shubhamsaboo/awesome-llm-apps](https://github.com/Shubhamsaboo/awesome-llm-apps) | Runnable app examples and RAG/agent catalog | Use as inspiration for examples only. |
|
|
22
|
+
| [x1xhlol/system-prompts-and-models-of-ai-tools](https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools) | Prompt surface comparison | Do not copy prompts or code. Treat as a red-team/input hygiene reference because licensing and provenance are risky. |
|
|
23
|
+
|
|
24
|
+
## Architecture stance
|
|
25
|
+
|
|
26
|
+
design-ai should remain a local, deterministic control layer:
|
|
27
|
+
|
|
28
|
+
- It routes tasks to skills, commands, agents, examples, and checked knowledge files.
|
|
29
|
+
- It stores explicit local learning entries and usage metadata.
|
|
30
|
+
- It validates artifacts and captures warn/fail feedback only when requested.
|
|
31
|
+
- It produces prompts, packs, site handoff reports, and release evidence.
|
|
32
|
+
- It should not become a hosted model runtime, external telemetry system, or hidden background trainer.
|
|
33
|
+
|
|
34
|
+
## Phase plan
|
|
35
|
+
|
|
36
|
+
### Phase 271: route eval harness
|
|
37
|
+
|
|
38
|
+
Add `design-ai route --eval-template` and `design-ai route --eval` so route selection can be checked with deterministic fixtures. This protects agent routing before deeper learning features rely on it.
|
|
39
|
+
|
|
40
|
+
Example:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
design-ai route --eval-template --json > route-eval.json
|
|
44
|
+
design-ai route --eval --from-file route-eval.json --strict --json
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Phase 272: prompt/pack eval harness
|
|
48
|
+
|
|
49
|
+
Extend the eval pattern from route selection to prompt plans and context bundles:
|
|
50
|
+
|
|
51
|
+
- expected route id
|
|
52
|
+
- required files to read
|
|
53
|
+
- required checklist items
|
|
54
|
+
- required prompt fragments
|
|
55
|
+
- optional learning context expectations
|
|
56
|
+
- strict failure on missing playbook files, missing checklist items, route drift, or context bundle drift
|
|
57
|
+
|
|
58
|
+
Examples:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
design-ai prompt --eval-template --json > prompt-eval.json
|
|
62
|
+
design-ai prompt --eval --from-file prompt-eval.json --strict --json
|
|
63
|
+
|
|
64
|
+
design-ai pack --eval-template --json > pack-eval.json
|
|
65
|
+
design-ai pack --eval --from-file pack-eval.json --strict --json
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Prompt evals report the generated prompt plan. Pack evals report a context snapshot with file metadata, context status, and markdown byte counts without dumping full context file bodies into eval JSON.
|
|
69
|
+
|
|
70
|
+
### Phase 273: learning signal registry
|
|
71
|
+
|
|
72
|
+
Implemented `design-ai learn --signals` as a read-only registry report that joins:
|
|
73
|
+
|
|
74
|
+
- learning profile audit
|
|
75
|
+
- usage sidecar
|
|
76
|
+
- route/prompt/pack/learning eval signal files
|
|
77
|
+
- check learning capture entries
|
|
78
|
+
- deterministic agent development backlog actions
|
|
79
|
+
- workspace readiness
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
design-ai learn --signals --from-file . --json
|
|
83
|
+
design-ai learn --signals --from-file . --strict --json
|
|
84
|
+
design-ai learn --signals --from-file route-eval-report.json --usage-file learning.usage.json
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
This exposes drift without changing the learning profile, calling external AI APIs, adding dependencies, or storing raw brief text. Use `--strict` when the signal registry and agent development backlog should behave like a local deterministic gate.
|
|
88
|
+
|
|
89
|
+
### Phase 488: readiness check index
|
|
90
|
+
|
|
91
|
+
Added automation-friendly readiness indexes to `design-ai learn --signals` and `design-ai learn --agent-backlog` JSON:
|
|
92
|
+
|
|
93
|
+
- `requiredCheckIds`
|
|
94
|
+
- `optionalCheckIds`
|
|
95
|
+
- `checkStatusById`
|
|
96
|
+
- `checkRequiredById`
|
|
97
|
+
|
|
98
|
+
These fields keep the existing `checks` array intact while letting local runners branch on checks such as `check-capture` or `agent-development` without array scanning or prose parsing. The change remains deterministic, local, read-only, and dependency-free.
|
|
99
|
+
|
|
100
|
+
### Phase 274: skill evolution proposals
|
|
101
|
+
|
|
102
|
+
Implemented `design-ai learn --propose-skills` as a preview-only command that converts repeated learning/check issues into proposed skill edits:
|
|
103
|
+
|
|
104
|
+
- candidate skill
|
|
105
|
+
- evidence sources
|
|
106
|
+
- proposed instruction delta
|
|
107
|
+
- verification command
|
|
108
|
+
- risk level
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
design-ai learn --propose-skills --from-file . --json
|
|
112
|
+
design-ai learn --propose-skills --from-file route-eval-report.json --usage-file learning.usage.json
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
The command groups repeated `source: check:*` learning entries by candidate skill and category. It reports single-entry groups as skipped, rejects `--yes`, and does not change `learning.json`, edit `skills/*/SKILL.md`, call external AI APIs, or add dependencies. No skill file should be changed unless the operator runs an explicit apply command in a later phase.
|
|
116
|
+
|
|
117
|
+
### Phase 425: skill proposal patch handoffs
|
|
118
|
+
|
|
119
|
+
Added `design-ai learn --propose-skills --patch` as a preview-only handoff mode:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
design-ai learn --propose-skills --from-file . --patch
|
|
123
|
+
design-ai learn --propose-skills --from-file . --patch --out skill-proposals.patch
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
The patch output is a unified diff preview that appends proposal review notes to candidate `skills/*/SKILL.md` files for manual review. It still does not mutate `learning.json`, edit skill files, call external AI APIs, add embeddings/fine-tuning, or add dependencies.
|
|
127
|
+
|
|
128
|
+
### Phase 549: apply-plan decision manual apply status tones
|
|
129
|
+
|
|
130
|
+
Added selected-branch manual-apply status tones under `operatorRunbook.stageSelection.decision`:
|
|
131
|
+
|
|
132
|
+
- `decision.commandOutputArtifactManualApplyStatusToneByKey`
|
|
133
|
+
- `decision.nextCommandOutputArtifactManualApplyStatusTone`
|
|
134
|
+
|
|
135
|
+
Wrappers can now style apply badges without keeping a local status-to-tone map. Current tones are `neutral` for review-only artifacts, `warning` for blocked patch previews, and `success` for ready manual-apply artifacts.
|
|
136
|
+
|
|
137
|
+
### Phase 548: apply-plan decision manual apply status labels
|
|
138
|
+
|
|
139
|
+
Added selected-branch manual-apply status display labels under `operatorRunbook.stageSelection.decision`:
|
|
140
|
+
|
|
141
|
+
- `decision.commandOutputArtifactManualApplyStatusLabelByKey`
|
|
142
|
+
- `decision.nextCommandOutputArtifactManualApplyStatusLabel`
|
|
143
|
+
|
|
144
|
+
Wrappers can now render apply badges without keeping a local enum-to-label map. Current labels are `Review only`, `Blocked`, and `Ready to apply`.
|
|
145
|
+
|
|
146
|
+
### Phase 547: apply-plan decision manual apply status
|
|
147
|
+
|
|
148
|
+
Added selected-branch manual-apply status metadata under `operatorRunbook.stageSelection.decision`:
|
|
149
|
+
|
|
150
|
+
- `decision.commandOutputArtifactManualApplyStatusByKey`
|
|
151
|
+
- `decision.nextCommandOutputArtifactManualApplyStatus`
|
|
152
|
+
|
|
153
|
+
Wrappers can now render apply badges from one enum. The values are `not-applicable` for review-only artifacts, `blocked` for manual-apply candidates with pending required preconditions, and `ready` once a manual-apply candidate has no required pending preconditions.
|
|
154
|
+
|
|
155
|
+
### Phase 546: apply-plan decision manual apply blocked reasons
|
|
156
|
+
|
|
157
|
+
Added selected-branch manual-apply blocked reason metadata under `operatorRunbook.stageSelection.decision`:
|
|
158
|
+
|
|
159
|
+
- `decision.commandOutputArtifactManualApplyBlockedReasonByKey`
|
|
160
|
+
- `decision.commandOutputArtifactManualApplyBlockedReasonCodeByKey`
|
|
161
|
+
- `decision.nextCommandOutputArtifactManualApplyBlockedReason`
|
|
162
|
+
- `decision.nextCommandOutputArtifactManualApplyBlockedReasonCode`
|
|
163
|
+
|
|
164
|
+
Wrappers can now render disabled patch-apply copy from explicit reason fields. Current review reports return `not-manual-apply-candidate`, while patch previews return `required-preconditions-pending` until manual review and clean-workspace preconditions are satisfied.
|
|
165
|
+
|
|
166
|
+
### Phase 545: apply-plan decision manual apply readiness
|
|
167
|
+
|
|
168
|
+
Added selected-branch manual-apply readiness booleans under `operatorRunbook.stageSelection.decision`:
|
|
169
|
+
|
|
170
|
+
- `decision.commandOutputArtifactManualApplyReadyByKey`
|
|
171
|
+
- `decision.nextCommandOutputArtifactManualApplyReady`
|
|
172
|
+
|
|
173
|
+
Wrappers can now gate patch-apply affordances from one boolean. The field is true only when the artifact is a manual-apply candidate and all required apply preconditions are satisfied; current patch-preview output remains false until manual review and clean-workspace preconditions are explicitly satisfied.
|
|
174
|
+
|
|
175
|
+
### Phase 544: apply-plan decision apply precondition state counts
|
|
176
|
+
|
|
177
|
+
Added selected-branch apply-precondition state counts under `operatorRunbook.stageSelection.decision`:
|
|
178
|
+
|
|
179
|
+
- `decision.commandOutputArtifactSatisfiedApplyPreconditionCountByKey`
|
|
180
|
+
- `decision.commandOutputArtifactPendingApplyPreconditionCountByKey`
|
|
181
|
+
- `decision.commandOutputArtifactRequiredPendingApplyPreconditionCountByKey`
|
|
182
|
+
- `decision.nextCommandOutputArtifactSatisfiedApplyPreconditionCount`
|
|
183
|
+
- `decision.nextCommandOutputArtifactPendingApplyPreconditionCount`
|
|
184
|
+
- `decision.nextCommandOutputArtifactRequiredPendingApplyPreconditionCount`
|
|
185
|
+
|
|
186
|
+
Wrappers can now render checklist progress and disabled apply affordances without reducing row objects. Current patch-preview preconditions are pending by default; a precondition counts as satisfied only when it explicitly carries `satisfied: true`.
|
|
187
|
+
|
|
188
|
+
### Phase 543: apply-plan decision apply precondition counts
|
|
189
|
+
|
|
190
|
+
Added selected-branch apply-precondition summary counts under `operatorRunbook.stageSelection.decision`:
|
|
191
|
+
|
|
192
|
+
- `decision.commandOutputArtifactApplyPreconditionCountByKey`
|
|
193
|
+
- `decision.commandOutputArtifactRequiredApplyPreconditionCountByKey`
|
|
194
|
+
- `decision.nextCommandOutputArtifactApplyPreconditionCount`
|
|
195
|
+
- `decision.nextCommandOutputArtifactRequiredApplyPreconditionCount`
|
|
196
|
+
|
|
197
|
+
Wrappers can now render checklist summaries without iterating over compact precondition objects. Use the compact `{ id, label, required }` array for row rendering and these count fields for summary or disabled-state copy.
|
|
198
|
+
|
|
199
|
+
### Phase 542: apply-plan decision compact apply preconditions
|
|
200
|
+
|
|
201
|
+
Added selected-branch compact apply-precondition objects under `operatorRunbook.stageSelection.decision`:
|
|
202
|
+
|
|
203
|
+
- `decision.commandOutputArtifactApplyPreconditionsByKey.reviewCheckReport`
|
|
204
|
+
- `decision.commandOutputArtifactApplyPreconditionsByKey.proposalPatchPreview`
|
|
205
|
+
- `decision.nextCommandOutputArtifactApplyPreconditions`
|
|
206
|
+
|
|
207
|
+
Wrappers can now render checklist rows from `{ id, label, required }` objects without zipping parallel id and label arrays. Keep using split id/label arrays when a host needs separate automation and display surfaces.
|
|
208
|
+
|
|
209
|
+
### Phase 541: apply-plan decision apply precondition labels
|
|
210
|
+
|
|
211
|
+
Added selected-branch ordered apply-precondition labels under `operatorRunbook.stageSelection.decision`:
|
|
212
|
+
|
|
213
|
+
- `decision.commandOutputArtifactApplyPreconditionLabelsByKey.reviewCheckReport`
|
|
214
|
+
- `decision.commandOutputArtifactApplyPreconditionLabelsByKey.proposalPatchPreview`
|
|
215
|
+
- `decision.nextCommandOutputArtifactApplyPreconditionLabels`
|
|
216
|
+
|
|
217
|
+
Wrappers can now render checklist copy without maintaining a local label map for precondition ids. Use `decision.commandOutputArtifactApplyPreconditionIdsByKey.<key>` for stable automation ids and `decision.commandOutputArtifactApplyPreconditionLabelsByKey.<key>` for display copy in the same order.
|
|
218
|
+
|
|
219
|
+
### Phase 540: apply-plan decision apply precondition ids
|
|
220
|
+
|
|
221
|
+
Added selected-branch ordered apply-precondition ids under `operatorRunbook.stageSelection.decision`:
|
|
222
|
+
|
|
223
|
+
- `decision.commandOutputArtifactApplyPreconditionIdsByKey.reviewCheckReport`
|
|
224
|
+
- `decision.commandOutputArtifactApplyPreconditionIdsByKey.proposalPatchPreview`
|
|
225
|
+
- `decision.nextCommandOutputArtifactApplyPreconditionIds`
|
|
226
|
+
|
|
227
|
+
Wrappers can now render patch-apply checklist items from a stable array instead of recombining multiple booleans. Use `decision.commandOutputArtifactApplyPreconditionIdsByKey.proposalPatchPreview` for ordered apply checklist ids, then use the corresponding boolean fields for gate state and confirmation logic.
|
|
228
|
+
|
|
229
|
+
### Phase 539: apply-plan decision clean workspace apply gates
|
|
230
|
+
|
|
231
|
+
Added selected-branch clean-workspace apply gates under `operatorRunbook.stageSelection.decision`:
|
|
232
|
+
|
|
233
|
+
- `decision.commandOutputArtifactRequiresCleanWorkspaceBeforeApplyByKey.reviewCheckReport`
|
|
234
|
+
- `decision.commandOutputArtifactRequiresCleanWorkspaceBeforeApplyByKey.proposalPatchPreview`
|
|
235
|
+
- `decision.nextCommandOutputArtifactRequiresCleanWorkspaceBeforeApply`
|
|
236
|
+
|
|
237
|
+
Wrappers can now require a clean workspace before manually applying a patch preview without blocking the preview-generation command itself. Treat `decision.nextCommandSafety.requiresCleanWorkspace` as the safety requirement for running the selected command, and `decision.nextCommandOutputArtifactRequiresCleanWorkspaceBeforeApply` as the safety requirement for applying the generated artifact after review.
|
|
238
|
+
|
|
239
|
+
### Phase 538: apply-plan decision output artifact review instructions
|
|
240
|
+
|
|
241
|
+
Added selected-branch output artifact review guidance under `operatorRunbook.stageSelection.decision`:
|
|
242
|
+
|
|
243
|
+
- `decision.commandOutputArtifactReviewInstructionByKey.reviewCheckReport`
|
|
244
|
+
- `decision.commandOutputArtifactReviewInstructionByKey.proposalPatchPreview`
|
|
245
|
+
- `decision.nextCommandOutputArtifactReviewInstruction`
|
|
246
|
+
|
|
247
|
+
Wrappers can now render artifact-specific review guidance for Markdown reports and patch previews without hard-coding command keys, artifact names, or copy. Use `decision.commandOutputArtifactReviewInstructionByKey.<key>` for review copy, `decision.commandOutputArtifactRequiresManualReviewByKey.<key>` for review gates, and `decision.commandOutputArtifactManualApplyCandidateByKey.<key>` for boolean apply affordances.
|
|
248
|
+
|
|
249
|
+
### Phase 537: apply-plan decision manual review gates
|
|
250
|
+
|
|
251
|
+
Added selected-branch manual-review-required metadata under `operatorRunbook.stageSelection.decision`:
|
|
252
|
+
|
|
253
|
+
- `decision.commandOutputArtifactRequiresManualReviewByKey.reviewCheckReport`
|
|
254
|
+
- `decision.commandOutputArtifactRequiresManualReviewByKey.proposalPatchPreview`
|
|
255
|
+
- `decision.nextCommandOutputArtifactRequiresManualReview`
|
|
256
|
+
|
|
257
|
+
Wrappers can now require human review before enabling patch-preview apply affordances without parsing command keys, disposition strings, or manual-apply candidate flags. Use `decision.commandOutputArtifactRequiresManualReviewByKey.<key>` for review gates, `decision.commandOutputArtifactManualApplyCandidateByKey.<key>` for boolean apply affordances, and `decision.commandArgsByKey.<key>` for automation execution.
|
|
258
|
+
|
|
259
|
+
### Phase 536: apply-plan decision manual-apply candidate flags
|
|
260
|
+
|
|
261
|
+
Added selected-branch manual-apply candidate metadata under `operatorRunbook.stageSelection.decision`:
|
|
262
|
+
|
|
263
|
+
- `decision.commandOutputArtifactManualApplyCandidateByKey.reviewCheckReport`
|
|
264
|
+
- `decision.commandOutputArtifactManualApplyCandidateByKey.proposalPatchPreview`
|
|
265
|
+
- `decision.nextCommandOutputArtifactManualApplyCandidate`
|
|
266
|
+
|
|
267
|
+
Wrappers can now show manual-apply buttons, warnings, or confirmation affordances only for patch previews without parsing artifact disposition strings or hard-coding command keys. Use `decision.commandOutputArtifactManualApplyCandidateByKey.<key>` for boolean UI gates, `decision.commandOutputArtifactDispositionByKey.<key>` for post-render handling, and `decision.commandArgsByKey.<key>` for automation execution.
|
|
268
|
+
|
|
269
|
+
### Phase 535: apply-plan decision output artifact dispositions
|
|
270
|
+
|
|
271
|
+
Added selected-branch output artifact disposition metadata under `operatorRunbook.stageSelection.decision`:
|
|
272
|
+
|
|
273
|
+
- `decision.commandOutputArtifactDispositionByKey.reviewCheckReport`
|
|
274
|
+
- `decision.commandOutputArtifactDispositionByKey.proposalPatchPreview`
|
|
275
|
+
- `decision.nextCommandOutputArtifactDisposition`
|
|
276
|
+
|
|
277
|
+
Wrappers can now distinguish review-only artifacts from manual-apply previews without hard-coding command keys, parsing file names, or inferring behavior from media types. Use `decision.commandOutputArtifactDispositionByKey.<key>` for post-render handling, `decision.commandOutputArtifactMediaTypeByKey.<key>` for content type handling, `decision.commandOutputArtifactActionByKey.<key>` for preview behavior, and `decision.commandArgsByKey.<key>` for automation execution.
|
|
278
|
+
|
|
279
|
+
### Phase 534: apply-plan decision output artifact media types
|
|
280
|
+
|
|
281
|
+
Added selected-branch output artifact media type metadata under `operatorRunbook.stageSelection.decision`:
|
|
282
|
+
|
|
283
|
+
- `decision.commandOutputArtifactMediaTypeByKey.reviewCheckReport`
|
|
284
|
+
- `decision.commandOutputArtifactMediaTypeByKey.proposalPatchPreview`
|
|
285
|
+
- `decision.nextCommandOutputArtifactMediaType`
|
|
286
|
+
|
|
287
|
+
Wrappers can now configure Markdown and diff viewers, clipboard behavior, or download content types without parsing file extensions, artifact type strings, command strings, or argv arrays. Use `decision.commandOutputArtifactMediaTypeByKey.<key>` for content type handling, `decision.commandOutputArtifactActionByKey.<key>` for preview behavior, `decision.commandOutputArtifactTypeByKey.<key>` for artifact type, and `decision.commandArgsByKey.<key>` for automation execution.
|
|
288
|
+
|
|
289
|
+
### Phase 533: apply-plan decision output artifact actions
|
|
290
|
+
|
|
291
|
+
Added selected-branch output artifact action metadata under `operatorRunbook.stageSelection.decision`:
|
|
292
|
+
|
|
293
|
+
- `decision.commandOutputArtifactActionByKey.reviewCheckReport`
|
|
294
|
+
- `decision.commandOutputArtifactActionByKey.proposalPatchPreview`
|
|
295
|
+
- `decision.nextCommandOutputArtifactAction`
|
|
296
|
+
|
|
297
|
+
Wrappers can now choose Markdown report rendering or unified diff preview rendering without deriving UI behavior from artifact type strings, file names, command strings, or argv arrays. Use `decision.commandOutputArtifactActionByKey.<key>` for preview behavior, `decision.commandOutputArtifactTypeByKey.<key>` for artifact type, `decision.commandOutputArtifactByKey.<key>` for artifact names, and `decision.commandArgsByKey.<key>` for automation execution.
|
|
298
|
+
|
|
299
|
+
### Phase 532: apply-plan decision output artifact types
|
|
300
|
+
|
|
301
|
+
Added selected-branch output artifact type metadata under `operatorRunbook.stageSelection.decision`:
|
|
302
|
+
|
|
303
|
+
- `decision.commandOutputArtifactTypeByKey.reviewCheckReport`
|
|
304
|
+
- `decision.commandOutputArtifactTypeByKey.proposalPatchPreview`
|
|
305
|
+
- `decision.nextCommandOutputArtifactType`
|
|
306
|
+
|
|
307
|
+
Wrappers can now distinguish Markdown review reports from unified diff previews without parsing file extensions, command strings, or argv arrays. Use `decision.commandOutputArtifactTypeByKey.<key>` for preview/rendering type decisions, `decision.commandOutputArtifactByKey.<key>` for artifact names, `decision.commandDisplayLabelByKey.<key>` for UI labels, `decision.commandDescriptionByKey.<key>` for helper text, and `decision.commandArgsByKey.<key>` for automation execution.
|
|
308
|
+
|
|
309
|
+
### Phase 531: apply-plan decision output artifacts
|
|
310
|
+
|
|
311
|
+
Added selected-branch output artifact metadata under `operatorRunbook.stageSelection.decision`:
|
|
312
|
+
|
|
313
|
+
- `decision.commandOutputArtifactByKey.reviewCheckReport`
|
|
314
|
+
- `decision.commandOutputArtifactByKey.proposalPatchPreview`
|
|
315
|
+
- `decision.nextCommandOutputArtifact`
|
|
316
|
+
|
|
317
|
+
Wrappers can now display selected optional preview artifact targets without parsing `--out` arguments from command strings or argv arrays. Use `decision.commandOutputArtifactByKey.<key>` for UI/export artifact names, `decision.commandDisplayLabelByKey.<key>` for UI labels, `decision.commandDescriptionByKey.<key>` for helper text, `decision.commandStringByKey.<key>` for copy/display command strings, and `decision.commandArgsByKey.<key>` for automation execution.
|
|
318
|
+
|
|
319
|
+
### Phase 530: apply-plan decision command descriptions
|
|
320
|
+
|
|
321
|
+
Added selected-branch command description metadata under `operatorRunbook.stageSelection.decision`:
|
|
322
|
+
|
|
323
|
+
- `decision.commandDescriptionByKey.reviewCheckReport`
|
|
324
|
+
- `decision.commandDescriptionByKey.proposalPatchPreview`
|
|
325
|
+
- `decision.nextCommandDescription`
|
|
326
|
+
|
|
327
|
+
Wrappers can now render selected optional preview command tooltips or secondary descriptions without hard-coding command semantics or scanning `decision.commands`. Use `decision.commandDisplayLabelByKey.<key>` for UI labels, `decision.commandDescriptionByKey.<key>` for helper text, `decision.commandStringByKey.<key>` for copy/display command strings, and `decision.commandArgsByKey.<key>` for automation execution.
|
|
328
|
+
|
|
329
|
+
### Phase 529: apply-plan decision command display labels
|
|
330
|
+
|
|
331
|
+
Added selected-branch command display-label metadata under `operatorRunbook.stageSelection.decision`:
|
|
332
|
+
|
|
333
|
+
- `decision.commandDisplayLabelByKey.reviewCheckReport`
|
|
334
|
+
- `decision.commandDisplayLabelByKey.proposalPatchPreview`
|
|
335
|
+
- `decision.nextCommandDisplayLabel`
|
|
336
|
+
|
|
337
|
+
Wrappers can now render selected optional preview command labels without deriving UI copy from camelCase command keys or scanning `decision.commands`. Use `decision.commandDisplayLabelByKey.<key>` for UI labels, `decision.commandStringByKey.<key>` for copy/display command strings, and `decision.commandArgsByKey.<key>` for automation execution.
|
|
338
|
+
|
|
339
|
+
### Phase 528: apply-plan decision command string lookup
|
|
340
|
+
|
|
341
|
+
Added selected-branch command-string lookup metadata under `operatorRunbook.stageSelection.decision`:
|
|
342
|
+
|
|
343
|
+
- `decision.commandStringByKey.reviewCheckReport`
|
|
344
|
+
- `decision.commandStringByKey.proposalPatchPreview`
|
|
345
|
+
|
|
346
|
+
Wrappers can now display or copy selected optional preview command strings by key without scanning `decision.commands`, opening `decision.commandByKey`, or jumping to the top-level `commands` object. Use `decision.commandArgsByKey.<key>` for automation execution and `decision.commandStringByKey.<key>` for human-readable copy/display handoffs.
|
|
347
|
+
|
|
348
|
+
### Phase 527: apply-plan decision command args lookup
|
|
349
|
+
|
|
350
|
+
Added selected-branch command-args lookup metadata under `operatorRunbook.stageSelection.decision`:
|
|
351
|
+
|
|
352
|
+
- `decision.commandArgsByKey.reviewCheckReport`
|
|
353
|
+
- `decision.commandArgsByKey.proposalPatchPreview`
|
|
354
|
+
|
|
355
|
+
Wrappers can now retrieve selected optional preview command argv by key without scanning `decision.commands`, opening `decision.commandByKey`, or jumping to the top-level `commandArgs` object. The lookup currently maps both selected preview commands to their full structured argv arrays; use `decision.commandByKey.<key>` when a full command object is needed.
|
|
356
|
+
|
|
357
|
+
### Phase 526: apply-plan decision command safety-level lookup
|
|
358
|
+
|
|
359
|
+
Added selected-branch safety-level lookup metadata under `operatorRunbook.stageSelection.decision`:
|
|
360
|
+
|
|
361
|
+
- `decision.commandSafetyLevelByKey.reviewCheckReport`
|
|
362
|
+
- `decision.commandSafetyLevelByKey.proposalPatchPreview`
|
|
363
|
+
|
|
364
|
+
Wrappers can now validate selected optional preview command safety levels by key without scanning `decision.commands` or opening `decision.commandByKey`. The lookup currently maps both selected preview commands to `local-output`; use `decision.commandByKey.<key>.safety` when full mutation details are needed.
|
|
365
|
+
|
|
366
|
+
### Phase 525: apply-plan decision command run-policy lookup
|
|
367
|
+
|
|
368
|
+
Added selected-branch run-policy lookup metadata under `operatorRunbook.stageSelection.decision`:
|
|
369
|
+
|
|
370
|
+
- `decision.commandRunPolicyByKey.reviewCheckReport`
|
|
371
|
+
- `decision.commandRunPolicyByKey.proposalPatchPreview`
|
|
372
|
+
|
|
373
|
+
Wrappers can now validate the selected optional preview branch's execution policy by key without scanning `decision.commands` or reading the full `commandSequence`. The lookup currently maps both selected preview commands to `output-artifact`.
|
|
374
|
+
|
|
375
|
+
### Phase 524: apply-plan decision command step lookup
|
|
376
|
+
|
|
377
|
+
Added selected-branch step lookup metadata under `operatorRunbook.stageSelection.decision`:
|
|
378
|
+
|
|
379
|
+
- `decision.commandStepByKey.reviewCheckReport`
|
|
380
|
+
- `decision.commandStepByKey.proposalPatchPreview`
|
|
381
|
+
|
|
382
|
+
Wrappers can now validate the selected optional preview branch's original command order by key without scanning `decision.commands` or reading the full `commandSequence`. The lookup currently maps `reviewCheckReport` to `2` and `proposalPatchPreview` to `3`.
|
|
383
|
+
|
|
384
|
+
### Phase 523: apply-plan decision command step metadata
|
|
385
|
+
|
|
386
|
+
Added command-sequence step metadata under `operatorRunbook.stageSelection.decision`:
|
|
387
|
+
|
|
388
|
+
- `decision.commands[*].step`
|
|
389
|
+
- `decision.commandByKey.<key>.step`
|
|
390
|
+
- `decision.nextCommandEntry.step`
|
|
391
|
+
- `decision.nextCommandStep`
|
|
392
|
+
|
|
393
|
+
Wrappers can now preserve the selected optional preview branch's original command order without reading the full `commandSequence`. The selected next command currently reports `nextCommandStep: 2` for `reviewCheckReport`, after the read-only `reviewCheckJson` command at step 1.
|
|
394
|
+
|
|
395
|
+
### Phase 522: apply-plan decision next command safety
|
|
396
|
+
|
|
397
|
+
Added selected next-command safety metadata under `operatorRunbook.stageSelection.decision`:
|
|
398
|
+
|
|
399
|
+
- `decision.nextCommandSafety`: the full safety object for the command named by `decision.nextCommandKey`
|
|
400
|
+
|
|
401
|
+
This lets wrappers that already consume `decision.nextCommand`, `decision.nextCommandArgs`, and `decision.nextCommandRunPolicy` gate the selected optional preview command without reading `decision.nextCommandEntry`. The field mirrors `decision.nextCommandEntry.safety` and keeps the existing `decision.nextCommandSafetyLevel` string for compatibility.
|
|
402
|
+
|
|
403
|
+
### Phase 521: apply-plan decision command safety objects
|
|
404
|
+
|
|
405
|
+
Added nested command-level safety objects under `operatorRunbook.stageSelection.decision`:
|
|
406
|
+
|
|
407
|
+
- `decision.commands[*].safety`
|
|
408
|
+
- `decision.commandByKey.<key>.safety`
|
|
409
|
+
- `decision.nextCommandEntry.safety`
|
|
410
|
+
|
|
411
|
+
Wrappers can now inspect `level`, local-output writes, mutation boundaries, external-AI usage, clean-workspace requirements, and the command-specific `reason` directly from the selected decision command object. The older `safetyLevel` and flattened boolean flags remain for compatibility, while `commandSequenceByKey` remains the canonical full-command lookup.
|
|
412
|
+
|
|
413
|
+
### Phase 520: apply-plan decision next command entry
|
|
414
|
+
|
|
415
|
+
Added a compact full command object under `operatorRunbook.stageSelection.decision`:
|
|
416
|
+
|
|
417
|
+
- `nextCommandEntry`: the first selected optional preview command object, currently `reviewCheckReport`
|
|
418
|
+
|
|
419
|
+
Wrappers should prefer `decision.nextCommandEntry` when rendering or running the first optional preview handoff because it carries the command string, structured args, run policy, safety level, write/mutation flags, external-AI flags, and clean-workspace requirement in one object. The separate `decision.nextCommand*` fields remain for compatibility, while `decision.commandByKey` remains the lookup surface for explicit operator command choice.
|
|
420
|
+
|
|
421
|
+
### Phase 519: apply-plan decision command lookup
|
|
422
|
+
|
|
423
|
+
Added direct lookup fields under `operatorRunbook.stageSelection.decision`:
|
|
424
|
+
|
|
425
|
+
- `commandByKey`: compact lookup for selected-branch commands
|
|
426
|
+
- `nextCommandKey`: currently `reviewCheckReport`
|
|
427
|
+
- `nextCommand` / `nextCommandArgs`: executable first optional preview command handoff
|
|
428
|
+
- `nextCommandRunPolicy` / `nextCommandSafetyLevel`: quick gate metadata for the first command
|
|
429
|
+
|
|
430
|
+
Wrappers should use `decision.nextCommand*` when offering the first optional preview command and `decision.commandByKey` when the operator chooses a specific preview artifact. The full canonical command contract remains `commandSequenceByKey`.
|
|
431
|
+
|
|
432
|
+
### Phase 518: apply-plan decision command handoff
|
|
433
|
+
|
|
434
|
+
Added compact selected-branch command handoffs under `operatorRunbook.stageSelection.decision`:
|
|
435
|
+
|
|
436
|
+
- `commandCount`: currently `2`
|
|
437
|
+
- `commandKeys`: `reviewCheckReport`, `proposalPatchPreview`
|
|
438
|
+
- `commands`: compact command objects with command string, structured args, run policy, safety level, write/mutation flags, and external-AI flags
|
|
439
|
+
|
|
440
|
+
Wrappers can now branch on `decision.action`, gate on `decision.safety`, then offer or execute `decision.commands` for optional local preview artifacts. `commandSequenceByKey` remains the full canonical command lookup for later gates.
|
|
441
|
+
|
|
442
|
+
### Phase 517: apply-plan decision safety summary
|
|
443
|
+
|
|
444
|
+
Added `operatorRunbook.stageSelection.decision.safety` so wrappers can gate the selected decision directly:
|
|
445
|
+
|
|
446
|
+
- `level`: currently `local-output`
|
|
447
|
+
- `writesLocalFiles` / `writesOutputArtifacts`: true for optional preview artifacts
|
|
448
|
+
- `mutatesProfile` / `mutatesReviewFile` / `mutatesSkillFiles`: false
|
|
449
|
+
- `callsExternalAiApis`: false
|
|
450
|
+
- `requiresCleanWorkspace`: false
|
|
451
|
+
|
|
452
|
+
Wrappers should branch on `decision.action`, then inspect `decision.safety` before executing or offering commands. The selected-stage summaries remain available for fuller detail, but the decision object is now self-contained for first-branch gating.
|
|
453
|
+
|
|
454
|
+
### Phase 516: apply-plan stage decision enum
|
|
455
|
+
|
|
456
|
+
Added `operatorRunbook.stageSelection.decision` as the first branch decision for apply-plan wrappers:
|
|
457
|
+
|
|
458
|
+
- `action`: currently `offer-optional-preview`
|
|
459
|
+
- `stageKey` / `stageKind`: the selected optional preview branch
|
|
460
|
+
- `commandKeys` / `runPolicy`: the commands and execution policy for that branch
|
|
461
|
+
- `nextRequiredStageKey` / `nextRequiredCommandStageKey`: the mandatory path after optional preview
|
|
462
|
+
- `requiresOperatorActionBeforeRequiredCommands`: currently `true`, because accepted skill deltas remain manual
|
|
463
|
+
|
|
464
|
+
Wrappers should branch on `decision.action` before reading the selected-stage summaries. The decision enum is the routing surface; the summaries are the safety/detail surface.
|
|
465
|
+
|
|
466
|
+
### Phase 515: apply-plan selected stage summaries
|
|
467
|
+
|
|
468
|
+
Added compact selected-stage summaries under `operatorRunbook.stageSelection`:
|
|
469
|
+
|
|
470
|
+
- `nextStage`: the optional selected preview branch, currently `previewArtifacts`
|
|
471
|
+
- `nextRequiredStage`: the first mandatory branch, currently `manualSkillEdit`
|
|
472
|
+
- `nextRequiredCommandStage`: the first mandatory command-bearing branch, currently `reviewReadiness`
|
|
473
|
+
|
|
474
|
+
Each summary includes command count, command keys, optional/required state, stage kind, local-output flags, mutation flags, external-AI flags, clean-workspace requirement, and reason. Wrappers should use these summaries for branch safety checks before consulting `stageByKey` for full stage details.
|
|
475
|
+
|
|
476
|
+
### Phase 514: apply-plan stage selection summary
|
|
477
|
+
|
|
478
|
+
Added `operatorRunbook.stageSelection` to group the stage-selection policy in one object:
|
|
479
|
+
|
|
480
|
+
- `strategy`: currently `optional-preview-before-required-manual-edit`
|
|
481
|
+
- `stageOrder`: stable operator stage order
|
|
482
|
+
- `nextStageKey` / `nextStageCommandKeys`: optional preview artifacts
|
|
483
|
+
- `nextRequiredStageKey` / `nextRequiredStageCommandKeys`: required manual skill edit stage
|
|
484
|
+
- `nextRequiredCommandStageKey` / `nextRequiredCommandStageCommandKeys`: required read-only review gate
|
|
485
|
+
|
|
486
|
+
Wrappers should use this object when they need a single branch point for optional previews versus mandatory operator work. The top-level fields remain for backward compatibility, and invalid command contracts still return an empty `stageSelection` object.
|
|
487
|
+
|
|
488
|
+
### Phase 513: apply-plan required stage handoff
|
|
489
|
+
|
|
490
|
+
Added required-stage handoff fields to `operatorRunbook` so local AI/agent wrappers can distinguish optional local preview artifacts from required operator work:
|
|
491
|
+
|
|
492
|
+
- `nextRequiredStageKey`: the first required stage, currently `manualSkillEdit`
|
|
493
|
+
- `nextRequiredStageCommandKeys`: commands on that required stage, currently empty because skill-file edits remain manual
|
|
494
|
+
- `nextRequiredCommandStageKey`: the first required stage that has commands, currently `reviewReadiness`
|
|
495
|
+
- `nextRequiredCommandStageCommandKeys`: commands for that stage, currently `reviewCheckJson`
|
|
496
|
+
|
|
497
|
+
This lets automation offer optional `previewArtifacts` while still routing the mandatory path through manual skill edits and read-only review gates. Invalid command contracts stay fail-closed with empty required-stage fields.
|
|
498
|
+
|
|
499
|
+
### Phase 512: apply-plan runbook stage index
|
|
500
|
+
|
|
501
|
+
Added `operatorRunbook.stageKeys` and `operatorRunbook.stageByKey` to `design-ai learn --propose-skills --review-file skill-proposals.review.json --apply-plan` so local AI/agent wrappers can retrieve runbook stages by stable key without scanning the ordered `stages` array.
|
|
502
|
+
|
|
503
|
+
The index exposes the same four runbook stages:
|
|
504
|
+
|
|
505
|
+
- `previewArtifacts`
|
|
506
|
+
- `manualSkillEdit`
|
|
507
|
+
- `reviewReadiness`
|
|
508
|
+
- `strictGate`
|
|
509
|
+
|
|
510
|
+
Invalid command contracts stay fail-closed with an empty `stageKeys` list and empty `stageByKey` map. This mirrors the command-level `commandSequenceKeys` / `commandSequenceByKey` contract at the operator-runbook layer while preserving the same no-mutation boundary for learning profiles, review files, skill files, external AI APIs, embeddings, and fine-tuning jobs.
|
|
511
|
+
|
|
512
|
+
### Phase 511: apply-plan operator runbook
|
|
513
|
+
|
|
514
|
+
Added `operatorRunbook` to `design-ai learn --propose-skills --review-file skill-proposals.review.json --apply-plan` so local AI/agent wrappers can follow the accepted-proposal handoff at the operator stage level.
|
|
515
|
+
|
|
516
|
+
The runbook exposes four deterministic stages:
|
|
517
|
+
|
|
518
|
+
- `previewArtifacts`: optional local-output previews for `reviewCheckReport` and `proposalPatchPreview`
|
|
519
|
+
- `manualSkillEdit`: required manual review/edit of accepted skill deltas
|
|
520
|
+
- `reviewReadiness`: required read-only `reviewCheckJson` validation after manual edits
|
|
521
|
+
- `strictGate`: required read-only strict gate before marking proposals applied
|
|
522
|
+
|
|
523
|
+
Invalid command contracts stay fail-closed with `blocked: true`, zero stages, and no next stage. The runbook is additive and preserves the existing boundary: preview artifact commands may write explicit `--out` files, but apply-plan output still does not mutate `learning.json`, review files, skill files, external AI APIs, embeddings, or fine-tuning jobs.
|
|
524
|
+
|
|
525
|
+
### Phase 510: apply-plan sequence key index
|
|
526
|
+
|
|
527
|
+
Added `commandSequenceKeys` and `commandSequenceByKey` to `design-ai learn --propose-skills --review-file skill-proposals.review.json --apply-plan` so local AI/agent wrappers can retrieve named follow-up commands without scanning the ordered `commandSequence` array.
|
|
528
|
+
|
|
529
|
+
The index preserves the same validated command items:
|
|
530
|
+
|
|
531
|
+
- `reviewCheckJson`
|
|
532
|
+
- `reviewCheckReport`
|
|
533
|
+
- `proposalPatchPreview`
|
|
534
|
+
- `strictGate`
|
|
535
|
+
|
|
536
|
+
Invalid command contracts stay fail-closed with an empty key list and empty key map. The key index is additive and keeps the same boundary as the ordered sequence: local output previews may write requested `--out` artifacts, but the apply plan still does not mutate `learning.json`, review files, skill files, external AI APIs, embeddings, or fine-tuning jobs.
|
|
537
|
+
|
|
538
|
+
### Phase 509: apply-plan sequence safety summary
|
|
539
|
+
|
|
540
|
+
Added `commandSequenceSummary` to `design-ai learn --propose-skills --review-file skill-proposals.review.json --apply-plan` so local AI/agent wrappers can branch on the full follow-up handoff without reducing the full `commandSequence` array.
|
|
541
|
+
|
|
542
|
+
The summary reports:
|
|
543
|
+
|
|
544
|
+
- whether the sequence is executable or blocked
|
|
545
|
+
- total step count
|
|
546
|
+
- read-only vs local-output step counts
|
|
547
|
+
- local write/output artifact flags
|
|
548
|
+
- profile, review-file, and skill-file mutation flags
|
|
549
|
+
- external AI API and clean-workspace boundaries
|
|
550
|
+
- aggregate run policy
|
|
551
|
+
|
|
552
|
+
This keeps the apply-plan handoff deterministic and explicit: preview/report/patch artifacts may write local output files when requested with `--out`, but the sequence still does not mutate `learning.json`, review files, skill files, external AI APIs, embeddings, or fine-tuning jobs.
|
|
553
|
+
|
|
554
|
+
### Phase 275: Website Console MCP probes
|
|
555
|
+
|
|
556
|
+
Implemented `design-ai site --mcp-check --probes` and `design-ai site --mcp-plan --probes` as optional read-only probe overlays for the existing Website Console MCP readiness matrix:
|
|
557
|
+
|
|
558
|
+
- GitHub repo reference parseable through `github.com/<owner>/<repo>` or an existing local repo path
|
|
559
|
+
- Figma URL parseable for `design`, `file`, `board`, `slides`, or `make` handoff references
|
|
560
|
+
- Browser smoke target available from a valid live URL plus configured viewport set
|
|
561
|
+
- deployment provider reference configured with a valid live URL
|
|
562
|
+
|
|
563
|
+
The probes report as a separate `probes` JSON block so the default `--mcp-check` contract stays stable. They remain deterministic, local, and read-only: no external MCP calls, no writes to GitHub/Figma/deploy providers, no crawling, no Lighthouse/axe automation, and no new dependencies.
|
|
564
|
+
|
|
565
|
+
### Phase 276: workflow graph export
|
|
566
|
+
|
|
567
|
+
Implemented `design-ai site --graph [--json]` so website improvement workspaces and agent plans can be exported as portable graphs that are renderable later in the static console.
|
|
568
|
+
|
|
569
|
+
The graph includes deterministic nodes for:
|
|
570
|
+
|
|
571
|
+
- workspace intake
|
|
572
|
+
- site profile
|
|
573
|
+
- audit categories
|
|
574
|
+
- MCP readiness
|
|
575
|
+
- generated and retained refactor tasks
|
|
576
|
+
- prompt templates
|
|
577
|
+
- handoff report, local bundle, and target website repo boundary
|
|
578
|
+
|
|
579
|
+
Edges connect profile context, audit findings, MCP readiness, task execution, prompt generation, and handoff flow. The export remains deterministic, local, and read-only: no external MCP calls, no target-repo mutation, no workflow runtime dependency, no Lighthouse/axe/crawling, and no new dependencies.
|
|
580
|
+
|
|
581
|
+
### Phase 277: static workflow graph rendering
|
|
582
|
+
|
|
583
|
+
Implemented the static Website Console `Workflow Graph` tab so operators can inspect the workflow graph in the browser before exporting JSON or handing prompts to a target website repo.
|
|
584
|
+
|
|
585
|
+
The view renders:
|
|
586
|
+
|
|
587
|
+
- summary metrics for graph nodes, edges, tasks, and required MCPs
|
|
588
|
+
- lane-based node groups for intake, audit, MCP readiness, tasks, prompts, and handoff
|
|
589
|
+
- deterministic edge rows matching the portable graph contract
|
|
590
|
+
- boundary markers for local execution, no external MCP calls, no target-repo mutation, and no new dependencies
|
|
591
|
+
- copy/export actions for `website-workflow-graph.json`
|
|
592
|
+
|
|
593
|
+
This keeps the useful part of visual workflow builders in a dependency-free, local/read-only console. It does not add a workflow runtime, backend sync, crawling, Lighthouse/axe automation, or live MCP connection checks.
|
|
594
|
+
|
|
595
|
+
### Phase 278: handoff evidence tracking
|
|
596
|
+
|
|
597
|
+
Implemented browser-local Website Console evidence tracking for the handoff phase:
|
|
598
|
+
|
|
599
|
+
- executed target-repo work
|
|
600
|
+
- verification results from lint/typecheck/build, Browser QA, deployment checks, or manual QA
|
|
601
|
+
- remaining risks
|
|
602
|
+
- next actions
|
|
603
|
+
|
|
604
|
+
The Handoff Report tab stores those fields in the workspace JSON, shows compact evidence counts, and injects the evidence into copied/exported Markdown reports. This keeps the closed loop between generated prompts and final operator evidence without mutating the target repo, calling external MCPs, adding a backend, or adding dependencies.
|
|
605
|
+
|
|
606
|
+
### Phase 279: CLI handoff evidence export
|
|
607
|
+
|
|
608
|
+
Implemented `implementationEvidence` support in `design-ai site` so browser-captured evidence survives the file-first CLI workflow:
|
|
609
|
+
|
|
610
|
+
- `--json` reports evidence counts
|
|
611
|
+
- `--tasks` preserves the evidence block
|
|
612
|
+
- `--report` renders executed work, verification results, remaining risks, and next actions
|
|
613
|
+
- `--bundle` stores evidence in `website-workspace.tasks.json`, `website-handoff.md`, and `summary.json`
|
|
614
|
+
|
|
615
|
+
The CLI validates malformed evidence array shapes, but it does not verify target-repo claims automatically. Evidence remains operator-entered, deterministic, local, and dependency-free.
|
|
616
|
+
|
|
617
|
+
### Phase 280: evidence package smoke expansion
|
|
618
|
+
|
|
619
|
+
Expanded packed-tarball smoke coverage for Website Console evidence preservation:
|
|
620
|
+
|
|
621
|
+
- installed-bin `design-ai site --stdin --report` preserves non-empty handoff evidence in Markdown
|
|
622
|
+
- installed-bin `design-ai site --stdin --tasks` preserves the `implementationEvidence` JSON block
|
|
623
|
+
- installed-bin `design-ai site --stdin --bundle --out <dir>` preserves evidence in `summary.json`, `website-workspace.tasks.json`, and `website-handoff.md`
|
|
624
|
+
- one-shot `npm exec --package <tarball>` covers the same report, tasks, and bundle paths
|
|
625
|
+
- `package-smoke.py --self-test` now includes evidence payload and Markdown drift fixtures
|
|
626
|
+
|
|
627
|
+
This turns the Website Console evidence loop into a release-smoked distribution contract without adding dependencies, calling external MCPs, mutating target repos, or claiming that target-repo evidence is automatically verified.
|
|
628
|
+
|
|
629
|
+
## Current MVP boundary
|
|
630
|
+
|
|
631
|
+
In scope:
|
|
632
|
+
|
|
633
|
+
- deterministic route, prompt, learning, and site evals
|
|
634
|
+
- local JSON state
|
|
635
|
+
- explicit preview/apply boundaries
|
|
636
|
+
- release smoke coverage
|
|
637
|
+
- skill and command documentation
|
|
638
|
+
|
|
639
|
+
Out of scope:
|
|
640
|
+
|
|
641
|
+
- embeddings
|
|
642
|
+
- fine-tuning
|
|
643
|
+
- autonomous background learning
|
|
644
|
+
- external telemetry
|
|
645
|
+
- hosted sync
|
|
646
|
+
- provider/API relay management
|
|
647
|
+
- copying third-party system prompts
|
|
648
|
+
|
|
649
|
+
## Verification checklist
|
|
650
|
+
|
|
651
|
+
For every agent/AI phase:
|
|
652
|
+
|
|
653
|
+
- `node --test` for touched CLI modules
|
|
654
|
+
- `design-ai <command> --help` for public CLI surface
|
|
655
|
+
- JSON round-trip check for every machine-readable report
|
|
656
|
+
- strict-mode failure fixture for every eval
|
|
657
|
+
- `git diff --check`
|
|
658
|
+
- release metadata update only when the public smoke surface changes
|