@williambeto/ai-workflow 1.19.1 → 2.1.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 +56 -838
- package/PUBLISH_MANIFEST.json +34 -0
- package/README.md +70 -149
- package/{packages/ai-workflow/bin → bin}/ai-workflow.js +0 -0
- package/dist-assets/AGENTS.md +27 -0
- package/dist-assets/agents/astra.md +63 -0
- package/dist-assets/agents/atlas.md +169 -0
- package/dist-assets/agents/nexus.md +42 -0
- package/dist-assets/agents/orion.md +44 -0
- package/dist-assets/agents/phoenix.md +42 -0
- package/dist-assets/agents/sage.md +54 -0
- package/dist-assets/commands/README.md +14 -0
- package/dist-assets/commands/atlas.md +12 -0
- package/dist-assets/commands/audit.md +10 -0
- package/dist-assets/commands/deploy.md +12 -0
- package/dist-assets/commands/discover.md +10 -0
- package/dist-assets/commands/implement.md +28 -0
- package/dist-assets/commands/optimize-tokens.md +10 -0
- package/dist-assets/commands/plan.md +10 -0
- package/dist-assets/commands/release.md +12 -0
- package/dist-assets/commands/run.md +26 -0
- package/dist-assets/commands/spec-create.md +10 -0
- package/dist-assets/commands/spec-implement.md +10 -0
- package/dist-assets/commands/spec-review.md +10 -0
- package/dist-assets/commands/update-memory.md +10 -0
- package/dist-assets/commands/validate.md +12 -0
- package/dist-assets/docs/INDEX.md +21 -0
- package/dist-assets/docs/QUICKSTART.md +23 -0
- package/dist-assets/docs/adr/ADR-0000.md +19 -0
- package/dist-assets/docs/adr/ADR-0001.md +45 -0
- package/dist-assets/docs/adr/ADR-0002.md +62 -0
- package/dist-assets/docs/adr/ADR-0003.md +60 -0
- package/dist-assets/docs/adr/ADR-0004.md +71 -0
- package/dist-assets/docs/adr/ADR-0005.md +22 -0
- package/dist-assets/docs/adr/ADR-0006.md +82 -0
- package/dist-assets/docs/adr/ADR-0007.md +78 -0
- package/dist-assets/docs/api-engine-reference.md +7 -0
- package/{docs → dist-assets/docs}/architecture-policy.md +1 -1
- package/dist-assets/docs/cli-reference.md +27 -0
- package/dist-assets/docs/compatibility/provider-usage.md +38 -0
- package/dist-assets/docs/compatibility/runtime-matrix.md +30 -0
- package/dist-assets/docs/consumer-onboarding.md +17 -0
- package/dist-assets/docs/contributing-guide.md +11 -0
- package/{docs → dist-assets/docs}/design-patterns-policy.md +2 -2
- package/dist-assets/docs/full-documentation.md +113 -0
- package/{docs → dist-assets/docs}/npm-consumer-quickstart.md +18 -46
- package/dist-assets/docs/opencode-readme.md +8 -0
- package/dist-assets/docs/policies/01-BRANCH_GATE.md +63 -0
- package/dist-assets/docs/policies/02-SDD_METHODOLOGY.md +95 -0
- package/dist-assets/docs/policies/03-QUALITY_GATE.md +22 -0
- package/dist-assets/docs/policies/05-AGENT_CONTRACT.md +7 -0
- package/dist-assets/docs/policies/06-FINAL_EVIDENCE_CONTRACT.md +31 -0
- package/dist-assets/docs/policies/07-RELEASE_GATE.md +47 -0
- package/dist-assets/docs/policies/08-PRODUCT_TRUTHFULNESS_AND_PROJECT_DOCS.md +18 -0
- package/dist-assets/docs/policies/09-SPEC_VISIBILITY_AND_PUBLICATION.md +28 -0
- package/dist-assets/docs/policies/10-BEHAVIORAL_CONTRACT_HARDENING.md +9 -0
- package/dist-assets/docs/policies/11-EXECUTABLE_DELEGATION_AND_TRUTHFULNESS.md +7 -0
- package/dist-assets/docs/policies/ORCHESTRATION_PROTOCOL.md +15 -0
- package/dist-assets/docs/policies/PROCEDURE_DELIVERY_ARTIFACTS.md +21 -0
- package/dist-assets/docs/policies/PROCEDURE_DOCUMENTATION_CHECKLIST.md +24 -0
- package/dist-assets/docs/policies/PROCEDURE_UI_CHECKLIST.md +54 -0
- package/dist-assets/docs/profiles/README.md +19 -0
- package/dist-assets/docs/profiles/backend-api.md +5 -0
- package/dist-assets/docs/profiles/documentation.md +3 -0
- package/dist-assets/docs/profiles/frontend-product.md +19 -0
- package/dist-assets/docs/profiles/frontend-utility.md +19 -0
- package/dist-assets/docs/profiles/refactor.md +3 -0
- package/dist-assets/docs/profiles/security-review.md +3 -0
- package/dist-assets/docs/references/frontend-quality/landing-page-quality-checklist.md +11 -0
- package/dist-assets/docs/references/frontend-quality/product-copy-truthfulness.md +7 -0
- package/dist-assets/docs/references/frontend-quality/quality-failure-examples.md +20 -0
- package/dist-assets/docs/references/frontend-quality/visual-composition-patterns.md +10 -0
- package/dist-assets/docs/specs/runtime-operational-contract.md +39 -0
- package/dist-assets/docs/troubleshooting-guide.md +21 -0
- package/dist-assets/examples/README.md +10 -0
- package/dist-assets/examples/autopilot-cycle/00-CONTEXT.md +3 -0
- package/dist-assets/examples/autopilot-cycle/01-requirement.md +16 -0
- package/dist-assets/examples/autopilot-cycle/02-gate-a-check.md +23 -0
- package/dist-assets/examples/autopilot-cycle/03-orion-planning.md +20 -0
- package/dist-assets/examples/autopilot-cycle/04-astra-implementation.md +17 -0
- package/dist-assets/examples/autopilot-cycle/05-sage-validation.md +15 -0
- package/dist-assets/examples/autopilot-cycle/06-phoenix-healing.md +12 -0
- package/dist-assets/examples/autopilot-cycle/07-orchestration-report.md +18 -0
- package/dist-assets/examples/backend-api/00-CONTEXT.md +12 -0
- package/dist-assets/examples/backend-api/01-requirement.md +19 -0
- package/dist-assets/examples/backend-api/02-functional-spec.md +20 -0
- package/dist-assets/examples/backend-api/03-technical-plan.md +15 -0
- package/dist-assets/examples/backend-api/04-pr-breakdown.md +10 -0
- package/dist-assets/examples/backend-api/05-execution-handoff.md +13 -0
- package/dist-assets/examples/backend-api/06-validation-report.md +11 -0
- package/dist-assets/examples/backend-api/07-orchestration-report.md +7 -0
- package/dist-assets/examples/blocked-scenarios/00-CONTEXT.md +9 -0
- package/dist-assets/examples/blocked-scenarios/01-branch-gate-block.md +12 -0
- package/dist-assets/examples/blocked-scenarios/02-quality-gate-block.md +13 -0
- package/dist-assets/examples/blocked-scenarios/03-scope-creep-block.md +13 -0
- package/dist-assets/examples/blocked-scenarios/04-unblock-resolution.md +9 -0
- package/dist-assets/examples/blocked-scenarios/05-orchestration-decision-log.md +11 -0
- package/dist-assets/examples/bugfix-critical/00-CONTEXT.md +12 -0
- package/dist-assets/examples/bugfix-critical/01-bug-report.md +11 -0
- package/dist-assets/examples/bugfix-critical/02-diagnosis-hypothesis.md +11 -0
- package/dist-assets/examples/bugfix-critical/03-technical-plan.md +12 -0
- package/dist-assets/examples/bugfix-critical/04-implementation-handoff.md +8 -0
- package/dist-assets/examples/bugfix-critical/05-validation-report.md +10 -0
- package/dist-assets/examples/bugfix-critical/06-orchestration-report.md +7 -0
- package/dist-assets/examples/cli-package/00-CONTEXT.md +9 -0
- package/dist-assets/examples/cli-package/01-requirement.md +14 -0
- package/dist-assets/examples/cli-package/02-technical-spec.md +16 -0
- package/dist-assets/examples/cli-package/03-technical-plan.md +12 -0
- package/dist-assets/examples/cli-package/04-pr-breakdown.md +9 -0
- package/dist-assets/examples/cli-package/05-release-report.md +15 -0
- package/dist-assets/examples/docs-only-repo/01-requirement.md +31 -0
- package/dist-assets/examples/docs-only-repo/02-functional-spec.md +25 -0
- package/dist-assets/examples/docs-only-repo/03-technical-plan.md +21 -0
- package/dist-assets/examples/docs-only-repo/04-pr-breakdown.md +13 -0
- package/dist-assets/examples/docs-only-repo/05-execution-handoff.md +17 -0
- package/dist-assets/examples/docs-only-repo/06-validation-report.md +16 -0
- package/dist-assets/examples/docs-only-repo/README.md +26 -0
- package/dist-assets/examples/full-stack-checkout/00-CONTEXT.md +9 -0
- package/dist-assets/examples/full-stack-checkout/01-requirement.md +12 -0
- package/dist-assets/examples/full-stack-checkout/02-functional-spec.md +15 -0
- package/dist-assets/examples/full-stack-checkout/03-technical-plan.md +15 -0
- package/dist-assets/examples/full-stack-checkout/04-pr-breakdown.md +8 -0
- package/dist-assets/examples/full-stack-checkout/05-execution-handoff.md +14 -0
- package/dist-assets/examples/full-stack-checkout/06-validation-report.md +12 -0
- package/dist-assets/examples/healing-cycle/00-CONTEXT.md +15 -0
- package/dist-assets/examples/healing-cycle/01-broken-implementation.md +10 -0
- package/dist-assets/examples/healing-cycle/02-sage-fails.md +14 -0
- package/dist-assets/examples/healing-cycle/03-phoenix-diagnosis.md +17 -0
- package/dist-assets/examples/healing-cycle/04-phoenix-fix.md +18 -0
- package/dist-assets/examples/healing-cycle/05-sage-revalidation.md +12 -0
- package/dist-assets/examples/healing-cycle/06-orchestration-log.md +14 -0
- package/dist-assets/examples/infra-deploy/00-CONTEXT.md +9 -0
- package/dist-assets/examples/infra-deploy/01-operational-goal.md +12 -0
- package/dist-assets/examples/infra-deploy/02-architecture-specs.md +15 -0
- package/dist-assets/examples/infra-deploy/03-implementation-plan.md +14 -0
- package/dist-assets/examples/infra-deploy/04-step-breakdown.md +9 -0
- package/dist-assets/examples/infra-deploy/05-execution-handoff.md +13 -0
- package/dist-assets/examples/infra-deploy/06-operational-report.md +11 -0
- package/dist-assets/examples/multi-pr-release/00-CONTEXT.md +9 -0
- package/dist-assets/examples/multi-pr-release/01-requirement.md +13 -0
- package/dist-assets/examples/multi-pr-release/02-strategic-plan.md +13 -0
- package/dist-assets/examples/multi-pr-release/03-pr-breakdown.md +14 -0
- package/dist-assets/examples/multi-pr-release/04-release-plan.md +12 -0
- package/dist-assets/examples/multi-pr-release/05-orchestration-report.md +7 -0
- package/dist-assets/examples/nuxt-dashboard/01-requirement.md +81 -0
- package/dist-assets/examples/nuxt-dashboard/02-functional-spec.md +88 -0
- package/dist-assets/examples/nuxt-dashboard/03-technical-plan.md +76 -0
- package/dist-assets/examples/nuxt-dashboard/04-pr-breakdown.md +219 -0
- package/dist-assets/examples/nuxt-dashboard/05-execution-handoff.md +88 -0
- package/dist-assets/examples/nuxt-dashboard/06-validation-report.md +56 -0
- package/dist-assets/examples/nuxt-dashboard/07-orchestration-report.md +79 -0
- package/dist-assets/examples/nuxt-dashboard/README.md +52 -0
- package/dist-assets/examples/react-dashboard/01-requirement.md +84 -0
- package/dist-assets/examples/react-dashboard/02-functional-spec.md +88 -0
- package/dist-assets/examples/react-dashboard/03-technical-plan.md +76 -0
- package/dist-assets/examples/react-dashboard/04-pr-breakdown.md +218 -0
- package/dist-assets/examples/react-dashboard/05-execution-handoff.md +13 -0
- package/dist-assets/examples/react-dashboard/06-validation-report.md +12 -0
- package/dist-assets/examples/react-dashboard/07-orchestration-report.md +7 -0
- package/dist-assets/examples/react-dashboard/README.md +70 -0
- package/dist-assets/examples/refactoring-service/00-CONTEXT.md +9 -0
- package/dist-assets/examples/refactoring-service/01-debt-report.md +12 -0
- package/dist-assets/examples/refactoring-service/02-behavior-spec.md +11 -0
- package/dist-assets/examples/refactoring-service/03-technical-plan.md +13 -0
- package/dist-assets/examples/refactoring-service/04-pr-breakdown.md +9 -0
- package/dist-assets/examples/refactoring-service/05-execution-handoff.md +14 -0
- package/dist-assets/examples/refactoring-service/06-stability-report.md +12 -0
- package/dist-assets/examples/sdd-cycle/00-CONTEXT.md +12 -0
- package/dist-assets/examples/sdd-cycle/01-raw-request.md +13 -0
- package/dist-assets/examples/sdd-cycle/02-spec-creation.md +18 -0
- package/dist-assets/examples/sdd-cycle/03-spec-review.md +12 -0
- package/dist-assets/examples/sdd-cycle/04-technical-plan.md +16 -0
- package/dist-assets/examples/sdd-cycle/05-pr-breakdown.md +9 -0
- package/dist-assets/examples/sdd-cycle/06-spec-implement.md +13 -0
- package/dist-assets/examples/sdd-cycle/07-validation-against-spec.md +13 -0
- package/dist-assets/examples/wordpress-theme/01-requirement.md +29 -0
- package/dist-assets/examples/wordpress-theme/02-functional-spec.md +22 -0
- package/dist-assets/examples/wordpress-theme/03-technical-plan.md +22 -0
- package/dist-assets/examples/wordpress-theme/04-pr-breakdown.md +14 -0
- package/dist-assets/examples/wordpress-theme/05-execution-handoff.md +17 -0
- package/dist-assets/examples/wordpress-theme/06-validation-report.md +16 -0
- package/dist-assets/examples/wordpress-theme/README.md +32 -0
- package/{harness → dist-assets/harness}/handoffs/HANDOFF.template.md +2 -2
- package/{harness → dist-assets/harness}/workflows/agent-evaluation-checklist.md +5 -5
- package/{harness → dist-assets/harness}/workflows/implement-review-validate.md +24 -0
- package/{harness → dist-assets/harness}/workflows/multi-agent-handoff.md +4 -4
- package/{harness → dist-assets/harness}/workflows/planner-executor-workflow.md +5 -5
- package/{harness → dist-assets/harness}/workflows/requirement-to-pr.md +1 -1
- package/dist-assets/runbooks/agent-delegation-workflow.md +50 -0
- package/dist-assets/runbooks/apply-starter-to-real-project.md +45 -0
- package/dist-assets/runbooks/commands-cheatsheet.md +44 -0
- package/dist-assets/runbooks/how-to-use-skills.md +44 -0
- package/dist-assets/runbooks/private-spec-publication-safety.md +35 -0
- package/{runbooks → dist-assets/runbooks}/spec-driven-development.md +3 -6
- package/dist-assets/runbooks/tutorial-walkthroughs.md +23 -0
- package/dist-assets/runbooks/use-linear-for-operational-planning.md +45 -0
- package/dist-assets/runbooks/use-napkin-project-memory.md +33 -0
- package/dist-assets/skills/architecture/SKILL.md +166 -0
- package/dist-assets/skills/backend-development/SKILL.md +166 -0
- package/dist-assets/skills/deployment/SKILL.md +166 -0
- package/dist-assets/skills/design-principles/SKILL.md +166 -0
- package/dist-assets/skills/documentation/SKILL.md +171 -0
- package/dist-assets/skills/frontend-development/SKILL.md +225 -0
- package/dist-assets/skills/full-stack-development/SKILL.md +166 -0
- package/dist-assets/skills/optimize-tokens/SKILL.md +166 -0
- package/dist-assets/skills/pr-workflow/SKILL.md +166 -0
- package/dist-assets/skills/product-discovery/SKILL.md +166 -0
- package/dist-assets/skills/product-planning/SKILL.md +166 -0
- package/dist-assets/skills/project-memory/SKILL.md +166 -0
- package/dist-assets/skills/prompt-engineer/SKILL.md +166 -0
- package/dist-assets/skills/qa-workflow/SKILL.md +186 -0
- package/dist-assets/skills/refactoring/SKILL.md +166 -0
- package/dist-assets/skills/release-workflow/SKILL.md +166 -0
- package/dist-assets/skills/spec-driven-development/SKILL.md +166 -0
- package/dist-assets/skills/technical-leadership/SKILL.md +166 -0
- package/dist-assets/skills/ui-ux-design/SKILL.md +202 -0
- package/dist-assets/templates/.geminiignore.template +8 -0
- package/dist-assets/templates/CLAUDE.md.template +20 -0
- package/dist-assets/templates/CODEX.md.template +20 -0
- package/dist-assets/templates/GEMINI.md.template +20 -0
- package/dist-assets/templates/HANDOFF.template.md +45 -0
- package/dist-assets/templates/SPEC.template.md +38 -0
- package/dist-assets/templates/change-proposal.template.md +14 -0
- package/dist-assets/templates/owner-evidence/astra-implementation.json +10 -0
- package/dist-assets/templates/owner-evidence/phoenix-remediation.json +8 -0
- package/dist-assets/templates/owner-evidence/sage-revalidation.json +8 -0
- package/dist-assets/templates/owner-evidence/sage-validation.json +8 -0
- package/dist-assets/templates/specs/deep.md +48 -0
- package/dist-assets/templates/specs/standard.md +38 -0
- package/dist-assets/templates/specs/tiny.md +19 -0
- package/package.json +42 -47
- package/src/adapters/index.js +3 -0
- package/src/adapters/platforms/claude.js +126 -0
- package/src/adapters/platforms/codex.js +100 -0
- package/src/adapters/platforms/gemini.js +232 -0
- package/src/cli.js +96 -0
- package/src/commands/collect-evidence.js +61 -0
- package/src/commands/doctor.js +186 -0
- package/{packages/ai-workflow/src → src}/commands/init.js +119 -20
- package/src/commands/run.js +111 -0
- package/src/core/completion-contract.js +35 -0
- package/src/core/gates/branch-gate.js +113 -0
- package/src/core/handoff/handoff-engine.js +78 -0
- package/src/core/healing/cli-remediation-executor.js +151 -0
- package/src/core/healing/healer-engine.js +179 -0
- package/src/core/identity.js +43 -0
- package/{packages/ai-workflow/src → src}/core/install-plan.js +3 -3
- package/src/core/opencode-merge.js +149 -0
- package/{packages/ai-workflow/src → src}/core/package-assets.js +29 -10
- package/src/core/sdd/validator.js +67 -0
- package/src/core/statuses.js +29 -0
- package/src/core/symlink-layout.js +93 -0
- package/src/core/templates.js +218 -0
- package/src/core/validation/canonical-finalization.js +43 -0
- package/src/core/validation/evidence-collector.js +109 -0
- package/src/core/validation/quality-guard.js +243 -0
- package/src/core/workflow-profiles.js +107 -0
- package/.agents/napkin.md +0 -89
- package/.agents/skills/backend-implementer/SKILL.md +0 -490
- package/.agents/skills/build-and-validate/SKILL.md +0 -442
- package/.agents/skills/deploy-engineer/SKILL.md +0 -541
- package/.agents/skills/docs-writer/SKILL.md +0 -430
- package/.agents/skills/frontend-implementer/SKILL.md +0 -488
- package/.agents/skills/interface-design/SKILL.md +0 -428
- package/.agents/skills/interface-design/references/critique.md +0 -67
- package/.agents/skills/interface-design/references/example.md +0 -86
- package/.agents/skills/interface-design/references/principles.md +0 -235
- package/.agents/skills/interface-design/references/validation.md +0 -48
- package/.agents/skills/minimal-context/SKILL.md +0 -177
- package/.agents/skills/napkin/SKILL.md +0 -84
- package/.agents/skills/opencode-agent-design/SKILL.md +0 -77
- package/.agents/skills/playwright-cli/SKILL.md +0 -62
- package/.agents/skills/pr-orchestrator/SKILL.md +0 -366
- package/.agents/skills/product-manager/SKILL.md +0 -519
- package/.agents/skills/seo-audit/SKILL.md +0 -176
- package/.agents/skills/stack-variant-creator/SKILL.md +0 -265
- package/.agents/skills/tech-lead/SKILL.md +0 -453
- package/.agents/skills/tester/SKILL.md +0 -399
- package/.agents/skills/token-economy/SKILL.md +0 -137
- package/.agents/skills/vue-nuxt/SKILL.md +0 -102
- package/.agents/skills/wordpress-engineer/SKILL.md +0 -75
- package/.codex/prompts/README.md +0 -44
- package/.codex/prompts/autopilot.md +0 -50
- package/.codex/prompts/deploy.md +0 -33
- package/.codex/prompts/execute-selected-pr.md +0 -35
- package/.codex/prompts/fix-issue.md +0 -34
- package/.codex/prompts/minimal-context-mode.md +0 -55
- package/.codex/prompts/orchestrate-next.md +0 -33
- package/.codex/prompts/plan-from-requirement.md +0 -37
- package/.codex/prompts/review-implementation.md +0 -33
- package/.codex/prompts/roadmap-audit.md +0 -22
- package/.codex/prompts/specs/create-spec-from-requirement.md +0 -26
- package/.codex/prompts/specs/review-spec.md +0 -29
- package/.codex/prompts/specs/spec-to-pr-breakdown.md +0 -23
- package/.codex/prompts/specs/spec-to-technical-plan.md +0 -28
- package/.codex/prompts/start-project.md +0 -29
- package/.codex/prompts/token-economy-mode.md +0 -48
- package/.codex/prompts/validate-work.md +0 -28
- package/checklists/change-spec-readiness-checklist.md +0 -34
- package/docs/full-documentation.md +0 -661
- package/docs/setup-codex-opencode.md +0 -313
- package/harness/README.md +0 -106
- package/opencode/README.md +0 -84
- package/opencode/agents/README.md +0 -113
- package/opencode/agents/atlas.md +0 -127
- package/opencode/agents/discovery.md +0 -61
- package/opencode/agents/fixer.md +0 -51
- package/opencode/agents/implementer.md +0 -61
- package/opencode/agents/orchestrator.md +0 -145
- package/opencode/agents/planner.md +0 -60
- package/opencode/agents/prompt-engineer.md +0 -50
- package/opencode/agents/release-manager.md +0 -50
- package/opencode/agents/reviewer.md +0 -51
- package/opencode/agents/spec-engineer.md +0 -85
- package/opencode/agents/validator.md +0 -50
- package/opencode/agents/wordpress-engineer.md +0 -49
- package/opencode/commands/README.md +0 -48
- package/opencode/commands/autopilot.md +0 -50
- package/opencode/commands/deploy.md +0 -35
- package/opencode/commands/execute.md +0 -47
- package/opencode/commands/orchestrate.md +0 -37
- package/opencode/commands/plan.md +0 -39
- package/opencode/commands/review.md +0 -33
- package/opencode/commands/roadmap-audit.md +0 -30
- package/opencode/commands/ship.md +0 -48
- package/opencode/commands/specs/create-spec-from-request.md +0 -27
- package/opencode/commands/specs/create-spec-from-requirement.md +0 -25
- package/opencode/commands/specs/review-spec.md +0 -26
- package/opencode/commands/specs/spec-to-pr-breakdown.md +0 -19
- package/opencode/commands/specs/spec-to-tasks.md +0 -26
- package/opencode/commands/specs/spec-to-technical-plan.md +0 -27
- package/opencode/commands/start.md +0 -45
- package/opencode/commands/token-economy.md +0 -29
- package/opencode/commands/validate.md +0 -33
- package/opencode.jsonc +0 -235
- package/packages/ai-workflow/README.md +0 -82
- package/packages/ai-workflow/src/cli.js +0 -70
- package/packages/ai-workflow/src/commands/codex.js +0 -37
- package/packages/ai-workflow/src/commands/doctor.js +0 -168
- package/packages/ai-workflow/src/commands/guide.js +0 -194
- package/packages/ai-workflow/src/core/opencode-merge.js +0 -172
- package/packages/ai-workflow/src/core/symlink-layout.js +0 -54
- package/packages/ai-workflow/src/core/templates.js +0 -276
- package/runbooks/agent-delegation-workflow.md +0 -111
- package/runbooks/apply-starter-to-real-project.md +0 -445
- package/runbooks/commands-cheatsheet.md +0 -71
- package/runbooks/how-to-use-skills.md +0 -713
- package/runbooks/quick-start-guide.md +0 -213
- package/runbooks/tutorial-walkthroughs.md +0 -416
- package/runbooks/use-linear-for-operational-planning.md +0 -185
- package/runbooks/use-napkin-project-memory.md +0 -77
- package/templates/AGENTS.template.md +0 -397
- package/templates/DESIGN.template.md +0 -484
- package/templates/PR-PLAN.template.md +0 -172
- package/templates/README.template.md +0 -293
- package/templates/REQUIREMENT.template.md +0 -165
- package/templates/SPEC.template.md +0 -397
- package/templates/TECH-PLAN.template.md +0 -244
- package/templates/change-proposal.template.md +0 -97
- /package/{checklists/spec-readiness-checklist.md → dist-assets/docs/policies/SPEC_READINESS.md} +0 -0
- /package/{prompts → dist-assets/prompts}/00-bootstrap-project.md +0 -0
- /package/{prompts → dist-assets/prompts}/01-create-requirement.md +0 -0
- /package/{prompts → dist-assets/prompts}/02-create-spec.md +0 -0
- /package/{prompts → dist-assets/prompts}/03-create-tech-plan.md +0 -0
- /package/{prompts → dist-assets/prompts}/04-breakdown-prs.md +0 -0
- /package/{prompts → dist-assets/prompts}/05-implement-pr.md +0 -0
- /package/{prompts → dist-assets/prompts}/06-review-and-fix.md +0 -0
- /package/{prompts → dist-assets/prompts}/07-apply-design.md +0 -0
- /package/{prompts → dist-assets/prompts}/08-validate.md +0 -0
- /package/{prompts → dist-assets/prompts}/09-deploy.md +0 -0
- /package/{prompts → dist-assets/prompts}/commands/implement.md +0 -0
- /package/{prompts → dist-assets/prompts}/commands/requirement.md +0 -0
- /package/{prompts → dist-assets/prompts}/commands/spec.md +0 -0
- /package/{prompts → dist-assets/prompts}/commands/tech-plan.md +0 -0
- /package/{prompts → dist-assets/prompts}/commands/validate.md +0 -0
- /package/{runbooks → dist-assets/runbooks}/branch-cleanup.md +0 -0
- /package/{runbooks → dist-assets/runbooks}/deploy-checklist.md +0 -0
- /package/{runbooks → dist-assets/runbooks}/publication-readiness-checklist.md +0 -0
- /package/{runbooks → dist-assets/runbooks}/publish-package-checklist.md +0 -0
- /package/{runbooks → dist-assets/runbooks}/team-governance-pr-readiness.md +0 -0
- /package/{runbooks → dist-assets/runbooks}/validate-starter-in-real-project.md +0 -0
- /package/{runbooks → dist-assets/runbooks}/validation-checklist.md +0 -0
- /package/{schemas → dist-assets/schemas}/README.md +0 -0
- /package/{schemas → dist-assets/schemas}/functional-spec.schema.json +0 -0
- /package/{schemas → dist-assets/schemas}/handoff.schema.json +0 -0
- /package/{schemas → dist-assets/schemas}/pr-breakdown.schema.json +0 -0
- /package/{schemas → dist-assets/schemas}/requirement.schema.json +0 -0
- /package/{schemas → dist-assets/schemas}/technical-plan.schema.json +0 -0
- /package/{schemas → dist-assets/schemas}/validation-report.schema.json +0 -0
- /package/{packages/ai-workflow/src → src}/core/backup.js +0 -0
- /package/{packages/ai-workflow/src → src}/core/filesystem.js +0 -0
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
# PR Breakdown: Products Dashboard Area
|
|
2
|
+
|
|
3
|
+
## Strategy
|
|
4
|
+
|
|
5
|
+
Build the products area through small PRs that separate data contracts, list behavior, detail behavior, placeholder actions, and validation hardening. Each PR should preserve existing dashboard behavior and avoid implementing future PR scope.
|
|
6
|
+
|
|
7
|
+
## PR 1 — Products Domain Contracts And Repository
|
|
8
|
+
|
|
9
|
+
Goal:
|
|
10
|
+
|
|
11
|
+
Create the typed products domain boundary for DummyJSON access.
|
|
12
|
+
|
|
13
|
+
Scope:
|
|
14
|
+
|
|
15
|
+
- Define product and product list types.
|
|
16
|
+
- Add repository functions for list/search/pagination and detail fetches.
|
|
17
|
+
- Add response mapping only if DummyJSON fields need normalization.
|
|
18
|
+
|
|
19
|
+
Likely files:
|
|
20
|
+
|
|
21
|
+
- `domains/products/types.ts`
|
|
22
|
+
- `domains/products/repository.ts`
|
|
23
|
+
- `domains/products/mappers.ts`
|
|
24
|
+
- Existing shared HTTP utility files if already present
|
|
25
|
+
|
|
26
|
+
Validation:
|
|
27
|
+
|
|
28
|
+
- Run `npm run typecheck`.
|
|
29
|
+
- Run `npm run lint`.
|
|
30
|
+
- Add or run focused repository tests if the project has test infrastructure.
|
|
31
|
+
|
|
32
|
+
Risks:
|
|
33
|
+
|
|
34
|
+
- Response contracts may not match DummyJSON exactly.
|
|
35
|
+
- Repository helpers may duplicate existing HTTP utilities.
|
|
36
|
+
|
|
37
|
+
Dependencies:
|
|
38
|
+
|
|
39
|
+
- Existing HTTP helper conventions.
|
|
40
|
+
|
|
41
|
+
Estimated size:
|
|
42
|
+
|
|
43
|
+
```txt
|
|
44
|
+
small
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## PR 2 — Products List Page With Search And Pagination
|
|
48
|
+
|
|
49
|
+
Goal:
|
|
50
|
+
|
|
51
|
+
Add the protected products list page with search, pagination, and core list states.
|
|
52
|
+
|
|
53
|
+
Scope:
|
|
54
|
+
|
|
55
|
+
- Add the products list dashboard route.
|
|
56
|
+
- Render product rows or cards using existing dashboard components.
|
|
57
|
+
- Wire search and pagination to the products repository.
|
|
58
|
+
- Show loading, empty, and error states.
|
|
59
|
+
|
|
60
|
+
Likely files:
|
|
61
|
+
|
|
62
|
+
- `app/pages/dashboard/products/index.vue`
|
|
63
|
+
- `components/dashboard/products/ProductList.vue`
|
|
64
|
+
- `components/dashboard/products/ProductSearch.vue`
|
|
65
|
+
- `domains/products/repository.ts`
|
|
66
|
+
|
|
67
|
+
Validation:
|
|
68
|
+
|
|
69
|
+
- Run `npm run typecheck`.
|
|
70
|
+
- Run `npm run lint`.
|
|
71
|
+
- Run `npm run test` if available.
|
|
72
|
+
- Run `npm run build`.
|
|
73
|
+
- Manually verify protected route access, search, pagination, loading, empty, and error states.
|
|
74
|
+
|
|
75
|
+
Risks:
|
|
76
|
+
|
|
77
|
+
- Query state may become inconsistent when search changes.
|
|
78
|
+
- Long product names or missing thumbnails may affect layout.
|
|
79
|
+
|
|
80
|
+
Dependencies:
|
|
81
|
+
|
|
82
|
+
- PR 1.
|
|
83
|
+
|
|
84
|
+
Estimated size:
|
|
85
|
+
|
|
86
|
+
```txt
|
|
87
|
+
medium
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## PR 3 — Product Detail Page
|
|
91
|
+
|
|
92
|
+
Goal:
|
|
93
|
+
|
|
94
|
+
Add a protected product detail route for individual product inspection.
|
|
95
|
+
|
|
96
|
+
Scope:
|
|
97
|
+
|
|
98
|
+
- Add the product detail page.
|
|
99
|
+
- Fetch product by ID through the products repository.
|
|
100
|
+
- Render key product attributes and navigation back to the list.
|
|
101
|
+
- Handle loading, not found, and error states.
|
|
102
|
+
|
|
103
|
+
Likely files:
|
|
104
|
+
|
|
105
|
+
- `app/pages/dashboard/products/[id].vue`
|
|
106
|
+
- `app/pages/dashboard/products/[id]/index.vue`
|
|
107
|
+
- `components/dashboard/products/ProductDetail.vue`
|
|
108
|
+
- `domains/products/repository.ts`
|
|
109
|
+
|
|
110
|
+
Validation:
|
|
111
|
+
|
|
112
|
+
- Run `npm run typecheck`.
|
|
113
|
+
- Run `npm run lint`.
|
|
114
|
+
- Run `npm run test` if available.
|
|
115
|
+
- Run `npm run build`.
|
|
116
|
+
- Manually verify valid, invalid, and failing product detail states.
|
|
117
|
+
|
|
118
|
+
Risks:
|
|
119
|
+
|
|
120
|
+
- Dynamic route pattern may differ from the target project.
|
|
121
|
+
- Invalid IDs may show a generic error instead of a useful not found state.
|
|
122
|
+
|
|
123
|
+
Dependencies:
|
|
124
|
+
|
|
125
|
+
- PR 1.
|
|
126
|
+
- PR 2 for list-to-detail navigation.
|
|
127
|
+
|
|
128
|
+
Estimated size:
|
|
129
|
+
|
|
130
|
+
```txt
|
|
131
|
+
small
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## PR 4 — Create, Edit, Delete Placeholders And UX States
|
|
135
|
+
|
|
136
|
+
Goal:
|
|
137
|
+
|
|
138
|
+
Expose CRUD-style entry points without implementing persistence.
|
|
139
|
+
|
|
140
|
+
Scope:
|
|
141
|
+
|
|
142
|
+
- Add create entry point from the list page.
|
|
143
|
+
- Add edit and delete entry points from detail or list actions.
|
|
144
|
+
- Make placeholder behavior explicit and non-persistent.
|
|
145
|
+
- Refine empty and error state copy if needed.
|
|
146
|
+
|
|
147
|
+
Likely files:
|
|
148
|
+
|
|
149
|
+
- `app/pages/dashboard/products/index.vue`
|
|
150
|
+
- Product detail route file selected in PR 3
|
|
151
|
+
- `components/dashboard/products/`
|
|
152
|
+
|
|
153
|
+
Validation:
|
|
154
|
+
|
|
155
|
+
- Run `npm run typecheck`.
|
|
156
|
+
- Run `npm run lint`.
|
|
157
|
+
- Run `npm run test` if available.
|
|
158
|
+
- Confirm no mutation requests are sent.
|
|
159
|
+
- Manually verify placeholder copy is clear.
|
|
160
|
+
|
|
161
|
+
Risks:
|
|
162
|
+
|
|
163
|
+
- Users may mistake placeholder actions for real persistence.
|
|
164
|
+
- Delete controls may look destructive even though no mutation exists.
|
|
165
|
+
|
|
166
|
+
Dependencies:
|
|
167
|
+
|
|
168
|
+
- PR 2.
|
|
169
|
+
- PR 3.
|
|
170
|
+
|
|
171
|
+
Estimated size:
|
|
172
|
+
|
|
173
|
+
```txt
|
|
174
|
+
small
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
## PR 5 — Tests And Validation Hardening
|
|
178
|
+
|
|
179
|
+
Goal:
|
|
180
|
+
|
|
181
|
+
Strengthen confidence that the products workflow is stable and ready for future backend integration.
|
|
182
|
+
|
|
183
|
+
Scope:
|
|
184
|
+
|
|
185
|
+
- Add missing tests for repository behavior, list states, and detail states where the project supports tests.
|
|
186
|
+
- Confirm build, lint, typecheck, and existing tests pass.
|
|
187
|
+
- Document validation evidence and remaining risks.
|
|
188
|
+
|
|
189
|
+
Likely files:
|
|
190
|
+
|
|
191
|
+
- Existing test folders used by the target project
|
|
192
|
+
- `domains/products/`
|
|
193
|
+
- `components/dashboard/products/`
|
|
194
|
+
- PR validation notes or pull request description
|
|
195
|
+
|
|
196
|
+
Validation:
|
|
197
|
+
|
|
198
|
+
- Run `npm run typecheck`.
|
|
199
|
+
- Run `npm run lint`.
|
|
200
|
+
- Run `npm run test`.
|
|
201
|
+
- Run `npm run build`.
|
|
202
|
+
|
|
203
|
+
Risks:
|
|
204
|
+
|
|
205
|
+
- The target project may not have test infrastructure yet.
|
|
206
|
+
- Tests may need to mock DummyJSON to stay deterministic.
|
|
207
|
+
|
|
208
|
+
Dependencies:
|
|
209
|
+
|
|
210
|
+
- PR 1.
|
|
211
|
+
- PR 2.
|
|
212
|
+
- PR 3.
|
|
213
|
+
- PR 4.
|
|
214
|
+
|
|
215
|
+
Estimated size:
|
|
216
|
+
|
|
217
|
+
```txt
|
|
218
|
+
medium
|
|
219
|
+
```
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Handoff: PR 2 Products List Page
|
|
2
|
+
|
|
3
|
+
## Source Agent
|
|
4
|
+
|
|
5
|
+
Planner
|
|
6
|
+
|
|
7
|
+
## Target Agent
|
|
8
|
+
|
|
9
|
+
Executor
|
|
10
|
+
|
|
11
|
+
## Objective
|
|
12
|
+
|
|
13
|
+
Implement PR 2: add the protected products list page with search, pagination, and core list states.
|
|
14
|
+
|
|
15
|
+
## Context
|
|
16
|
+
|
|
17
|
+
The Nuxt Dashboard Boilerplate already has a protected dashboard area, a dashboard shell, and products domain contracts from PR 1. The products list should use DummyJSON through the products repository instead of calling the API directly from unrelated UI code.
|
|
18
|
+
|
|
19
|
+
This handoff covers only the list page. Product detail and real CRUD behavior are separate PRs.
|
|
20
|
+
|
|
21
|
+
## Decisions Already Made
|
|
22
|
+
|
|
23
|
+
- Use DummyJSON as the demo product data source.
|
|
24
|
+
- Keep product API access behind `domains/products/`.
|
|
25
|
+
- Reuse existing dashboard layout, route middleware, Nuxt UI, and Tailwind conventions.
|
|
26
|
+
- Implement create, edit, and delete behavior in a later PR.
|
|
27
|
+
- Keep search and pagination simple unless the existing app already has a query-state convention.
|
|
28
|
+
|
|
29
|
+
## Files In Scope
|
|
30
|
+
|
|
31
|
+
- `app/pages/dashboard/products/index.vue` — add or update the protected products list route.
|
|
32
|
+
- `components/dashboard/products/` — add small list, search, pagination, empty, or error components only if the page becomes too large.
|
|
33
|
+
- `domains/products/repository.ts` — use or lightly adjust list/search/pagination fetch functions from PR 1.
|
|
34
|
+
- `domains/products/types.ts` — use existing product contracts and adjust only if PR 1 missed a required list field.
|
|
35
|
+
- Existing dashboard navigation file — add a products link only if navigation is centrally configured.
|
|
36
|
+
|
|
37
|
+
## Files Out Of Scope
|
|
38
|
+
|
|
39
|
+
- `app/pages/dashboard/products/[id].vue` — product detail belongs to PR 3.
|
|
40
|
+
- `app/pages/dashboard/products/[id]/index.vue` — product detail belongs to PR 3.
|
|
41
|
+
- Authentication middleware files — existing protected route behavior should be reused.
|
|
42
|
+
- Global design system files — layout rules should be followed, not redesigned.
|
|
43
|
+
- Backend API routes — DummyJSON access should remain client or repository level for this example.
|
|
44
|
+
|
|
45
|
+
## Constraints
|
|
46
|
+
|
|
47
|
+
- Preserve existing behavior unless explicitly changed.
|
|
48
|
+
- Keep the change small and reviewable.
|
|
49
|
+
- Do not implement future PRs.
|
|
50
|
+
- Do not introduce unrelated dependencies or tooling.
|
|
51
|
+
- Follow existing repository patterns.
|
|
52
|
+
- Do not add real create, edit, or delete mutation behavior.
|
|
53
|
+
- Keep DummyJSON-specific code inside the products domain or existing shared HTTP utility.
|
|
54
|
+
|
|
55
|
+
## Validation Required
|
|
56
|
+
|
|
57
|
+
- Run `npm run typecheck` and record the result.
|
|
58
|
+
- Run `npm run lint` and record the result.
|
|
59
|
+
- Run `npm run test` if the target project defines it.
|
|
60
|
+
- Run `npm run build`.
|
|
61
|
+
- Manually verify authenticated access to the products route.
|
|
62
|
+
- Manually verify list loading, search, pagination, empty state, and error state.
|
|
63
|
+
- Confirm the list page does not call real mutation endpoints.
|
|
64
|
+
|
|
65
|
+
## Known Risks
|
|
66
|
+
|
|
67
|
+
- Search and pagination state can become inconsistent if the query changes while a page request is pending.
|
|
68
|
+
- Missing thumbnails or long product names can break compact dashboard layouts.
|
|
69
|
+
- DummyJSON response shape may require a small mapper update.
|
|
70
|
+
- The target project may not have test infrastructure for page-level states.
|
|
71
|
+
|
|
72
|
+
## Stop Conditions
|
|
73
|
+
|
|
74
|
+
- Stop if the dashboard route protection pattern cannot be identified.
|
|
75
|
+
- Stop if PR 1 products repository contracts are missing or incompatible.
|
|
76
|
+
- Stop if implementing list behavior requires changing auth, global layout, or unrelated navigation architecture.
|
|
77
|
+
- Stop if new dependencies appear necessary.
|
|
78
|
+
- Stop if DummyJSON is unavailable and no approved mock strategy exists.
|
|
79
|
+
|
|
80
|
+
## Expected Output
|
|
81
|
+
|
|
82
|
+
- Summary of implemented list behavior.
|
|
83
|
+
- Files changed.
|
|
84
|
+
- Behavior preserved and behavior changed.
|
|
85
|
+
- Validation commands with results.
|
|
86
|
+
- Manual checks performed.
|
|
87
|
+
- Untested areas and remaining risks.
|
|
88
|
+
- Final recommendation using the repository approval labels.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Validation Report: PR 2 Products List Page
|
|
2
|
+
|
|
3
|
+
## Status
|
|
4
|
+
|
|
5
|
+
```txt
|
|
6
|
+
Example expected validation report, not actual results from this repository.
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
The target Nuxt project should run these checks after implementing PR 2. This repository does not contain the Nuxt application, so the commands below are illustrative expected commands for that project.
|
|
10
|
+
|
|
11
|
+
## Commands Run
|
|
12
|
+
|
|
13
|
+
| Command | Result | Evidence |
|
|
14
|
+
| ------- | ------ | -------- |
|
|
15
|
+
| `npm run typecheck` | Example expected pass | Confirms products list types, repository contracts, and page usage are valid |
|
|
16
|
+
| `npm run lint` | Example expected pass | Confirms the changed Vue and TypeScript files follow project lint rules |
|
|
17
|
+
| `npm run test` | Example expected pass or not configured | Confirms product list behavior if the target project has tests |
|
|
18
|
+
| `npm run build` | Example expected pass | Confirms the Nuxt app can build with the products list route |
|
|
19
|
+
|
|
20
|
+
## Checks
|
|
21
|
+
|
|
22
|
+
| Check | Result | Evidence |
|
|
23
|
+
| ----- | ------ | -------- |
|
|
24
|
+
| Protected route behavior | Example expected pass | Authenticated user can open `/dashboard/products`; unauthenticated behavior follows existing middleware |
|
|
25
|
+
| Product list rendering | Example expected pass | Products show title, price, category, stock, and thumbnail when available |
|
|
26
|
+
| Search | Example expected pass | Search input updates product results and handles empty query |
|
|
27
|
+
| Pagination | Example expected pass | Next and previous page controls update displayed results |
|
|
28
|
+
| Loading state | Example expected pass | Loading indicator appears while product data is requested |
|
|
29
|
+
| Empty state | Example expected pass | Empty message appears when no product matches the query |
|
|
30
|
+
| Error state | Example expected pass | Request failure shows a recoverable error message |
|
|
31
|
+
| Scope control | Example expected pass | Detail page and CRUD mutations are not implemented in PR 2 |
|
|
32
|
+
|
|
33
|
+
## Issues
|
|
34
|
+
|
|
35
|
+
No confirmed issues in this example report.
|
|
36
|
+
|
|
37
|
+
Potential observations to record in a real PR:
|
|
38
|
+
|
|
39
|
+
- If `npm run test` is not configured, mark tests as not run and explain the project gap.
|
|
40
|
+
- If DummyJSON cannot be reached during manual validation, record the network failure and use a deterministic mock only if the project already supports one.
|
|
41
|
+
- If URL query synchronization is deferred, list it as a follow-up rather than expanding PR 2.
|
|
42
|
+
|
|
43
|
+
## Remaining Risks
|
|
44
|
+
|
|
45
|
+
- DummyJSON availability can affect manual validation.
|
|
46
|
+
- Search and pagination behavior may need more automated coverage in a later PR.
|
|
47
|
+
- Missing thumbnail and long text layout should be checked across common viewport widths.
|
|
48
|
+
- Placeholder CRUD actions are not covered until PR 4.
|
|
49
|
+
|
|
50
|
+
## Recommendation
|
|
51
|
+
|
|
52
|
+
```txt
|
|
53
|
+
Approved with notes
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
PR 2 can move forward when the target project records passing typecheck, lint, build, relevant tests, and manual evidence for protected access, search, pagination, loading, empty, and error states.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Orchestration Report
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Demonstrate that gate-based automatic orchestration works for both success and blocked transitions.
|
|
6
|
+
|
|
7
|
+
References:
|
|
8
|
+
|
|
9
|
+
```txt
|
|
10
|
+
harness/workflows/multi-agent-handoff.md
|
|
11
|
+
opencode/commands/Atlas.md
|
|
12
|
+
harness/handoffs/HANDOFF.template.md
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Scenario A — PASS path
|
|
16
|
+
|
|
17
|
+
### Context
|
|
18
|
+
|
|
19
|
+
- Selected PR: `PR-1 — Add products list page`
|
|
20
|
+
- Existing artifacts: requirement, functional spec, technical plan, PR breakdown, execution handoff
|
|
21
|
+
- Expected chain: `Orion -> Astra -> Sage -> Orion`
|
|
22
|
+
|
|
23
|
+
### Gate results
|
|
24
|
+
|
|
25
|
+
| Gate | Input status | Result | Next agent |
|
|
26
|
+
| ---- | ------------ | ------ | ---------- |
|
|
27
|
+
| A (`Orion -> Astra`) | Selected PR scope + handoff complete | Pass | `Astra` |
|
|
28
|
+
| B (`Astra -> Sage`) | Scoped implementation + branch gate evidence + validation notes present | Pass | `Sage` |
|
|
29
|
+
| C (`Sage -> Orion`) | Findings severity-ranked; no unresolved High/Medium blockers | Pass | `Orion` |
|
|
30
|
+
|
|
31
|
+
### Autopilot output sample
|
|
32
|
+
|
|
33
|
+
```md
|
|
34
|
+
Current workflow step: Sage
|
|
35
|
+
Gate result: Pass
|
|
36
|
+
Next agent to run: Orion
|
|
37
|
+
Required handoff packet:
|
|
38
|
+
- validation report with commands and evidence
|
|
39
|
+
- merge recommendation
|
|
40
|
+
- remaining risks (if any)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Scenario B — BLOCKED path
|
|
44
|
+
|
|
45
|
+
### Context
|
|
46
|
+
|
|
47
|
+
- Selected PR: `PR-2 — Add product filters`
|
|
48
|
+
- Implementation manager delivered implementation notes but omitted branch gate evidence
|
|
49
|
+
- Current branch during execution was not proven outside `main`
|
|
50
|
+
|
|
51
|
+
### Gate result
|
|
52
|
+
|
|
53
|
+
| Gate | Block reason | Result | Return owner |
|
|
54
|
+
| ---- | ------------ | ------ | ------------ |
|
|
55
|
+
| B (`Astra -> Sage`) | Missing branch gate evidence (`git status -sb` before edits) | Blocked | `Astra` |
|
|
56
|
+
|
|
57
|
+
### Autopilot output sample
|
|
58
|
+
|
|
59
|
+
```md
|
|
60
|
+
Current workflow step: Astra
|
|
61
|
+
Gate result: Blocked
|
|
62
|
+
Blocking reason: branch gate evidence missing for execution step
|
|
63
|
+
Next agent to run: Astra
|
|
64
|
+
Required input packet for retry:
|
|
65
|
+
- execution summary including branch evidence
|
|
66
|
+
- explicit note that implementation was not performed on `main`
|
|
67
|
+
- updated validation evidence
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## Expected behavior confirmed
|
|
71
|
+
|
|
72
|
+
- Orchestrator advances only when gate criteria are satisfied.
|
|
73
|
+
- Orchestrator blocks escalation when required evidence is missing.
|
|
74
|
+
- Blocked transitions return to the previous owner with a smallest safe fix request.
|
|
75
|
+
- Validation gate is mandatory before release recommendation.
|
|
76
|
+
|
|
77
|
+
## Final note
|
|
78
|
+
|
|
79
|
+
This report is a workflow proof artifact. It does not claim application deployment or production behavior.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Nuxt Dashboard Example
|
|
2
|
+
|
|
3
|
+
## Context
|
|
4
|
+
|
|
5
|
+
Project:
|
|
6
|
+
|
|
7
|
+
```txt
|
|
8
|
+
Nuxt Dashboard Boilerplate
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Stack:
|
|
12
|
+
|
|
13
|
+
```txt
|
|
14
|
+
Nuxt 4
|
|
15
|
+
Vue 3
|
|
16
|
+
TypeScript
|
|
17
|
+
Nuxt UI
|
|
18
|
+
Tailwind CSS
|
|
19
|
+
DummyJSON
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Objective:
|
|
23
|
+
|
|
24
|
+
Evolve a controlled dashboard boilerplate through small PRs, using the OpenCode-first workflow to plan, implement, review, and validate one scoped change at a time.
|
|
25
|
+
|
|
26
|
+
## Workflow
|
|
27
|
+
|
|
28
|
+
Read the files in order:
|
|
29
|
+
|
|
30
|
+
```txt
|
|
31
|
+
01-requirement.md
|
|
32
|
+
02-functional-spec.md
|
|
33
|
+
03-technical-plan.md
|
|
34
|
+
04-pr-breakdown.md
|
|
35
|
+
05-execution-handoff.md
|
|
36
|
+
06-validation-report.md
|
|
37
|
+
07-orchestration-report.md
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
The example follows this path:
|
|
41
|
+
|
|
42
|
+
```txt
|
|
43
|
+
requirement
|
|
44
|
+
→ functional spec
|
|
45
|
+
→ technical plan
|
|
46
|
+
→ PR breakdown
|
|
47
|
+
→ handoff
|
|
48
|
+
→ validation report
|
|
49
|
+
→ orchestration report
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
This is not a Nuxt starter project. It is a workflow example for planning and validating dashboard work in a real Nuxt repository.
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# Requirement: Products Dashboard Area
|
|
2
|
+
|
|
3
|
+
## Problem
|
|
4
|
+
|
|
5
|
+
The dashboard boilerplate needs a realistic protected products area so developers can exercise authenticated data workflows, list filtering, navigation, and CRUD-style UI decisions without connecting to a production backend.
|
|
6
|
+
|
|
7
|
+
## Goal
|
|
8
|
+
|
|
9
|
+
Build a protected products CRUD-style dashboard area backed by DummyJSON, with list, search, pagination, product detail, create/edit/delete placeholders, loading states, empty states, error states, and a layout aligned with the existing dashboard design rules.
|
|
10
|
+
|
|
11
|
+
## Users
|
|
12
|
+
|
|
13
|
+
- Authenticated dashboard users who need to browse product records.
|
|
14
|
+
- Developers extending the dashboard boilerplate.
|
|
15
|
+
- Reviewers validating that dashboard workflows stay scoped and consistent.
|
|
16
|
+
|
|
17
|
+
## Scope
|
|
18
|
+
|
|
19
|
+
- Add a protected products list page.
|
|
20
|
+
- Fetch product data from DummyJSON.
|
|
21
|
+
- Support search and pagination on the list page.
|
|
22
|
+
- Add a product detail page.
|
|
23
|
+
- Add create, edit, and delete entry points as placeholders.
|
|
24
|
+
- Show loading, empty, and error states.
|
|
25
|
+
- Keep the layout consistent with the existing dashboard shell.
|
|
26
|
+
- Preserve authentication behavior.
|
|
27
|
+
|
|
28
|
+
## Out Of Scope
|
|
29
|
+
|
|
30
|
+
- Real product persistence.
|
|
31
|
+
- Real create, edit, or delete mutations.
|
|
32
|
+
- Role-based product permissions.
|
|
33
|
+
- Offline caching.
|
|
34
|
+
- Bulk actions.
|
|
35
|
+
- Analytics dashboards.
|
|
36
|
+
- Replacing the existing dashboard design system.
|
|
37
|
+
- Replacing existing auth or layout patterns.
|
|
38
|
+
|
|
39
|
+
## Assumptions
|
|
40
|
+
|
|
41
|
+
- The Next.js app already has an authenticated dashboard shell.
|
|
42
|
+
- Middleware already protects dashboard routes.
|
|
43
|
+
- DummyJSON is acceptable for demo data.
|
|
44
|
+
- Existing components or UI primitives (e.g., shadcn/ui, Tailwind CSS) should be reused before adding new abstractions.
|
|
45
|
+
- Product mutations can be represented as disabled or non-persistent placeholders.
|
|
46
|
+
- Standard Next.js App Router conventions apply (`app/dashboard/products/page.tsx`, `app/dashboard/products/[id]/page.tsx`).
|
|
47
|
+
|
|
48
|
+
## Constraints
|
|
49
|
+
|
|
50
|
+
- Keep changes split into small PRs.
|
|
51
|
+
- Do not introduce new frontend frameworks.
|
|
52
|
+
- Do not add a backend service.
|
|
53
|
+
- Do not store secrets or credentials.
|
|
54
|
+
- Preserve existing dashboard navigation and layout behavior.
|
|
55
|
+
- Keep DummyJSON-specific code inside the products domain or API layer.
|
|
56
|
+
- Use React Server Components and client components appropriately.
|
|
57
|
+
|
|
58
|
+
## Acceptance Criteria
|
|
59
|
+
|
|
60
|
+
- Authenticated users can open a products list route under the dashboard.
|
|
61
|
+
- The list displays product title, price, category, stock, and thumbnail when available.
|
|
62
|
+
- Users can search products and see updated results.
|
|
63
|
+
- Users can move through paginated results.
|
|
64
|
+
- Users can open a product detail route from the list.
|
|
65
|
+
- Loading, empty, and error states are visible and understandable.
|
|
66
|
+
- Create, edit, and delete controls are present as placeholders without claiming persistence.
|
|
67
|
+
- Unauthenticated users remain blocked by existing dashboard protection.
|
|
68
|
+
- Validation evidence is recorded before each PR is considered complete.
|
|
69
|
+
|
|
70
|
+
## Risks
|
|
71
|
+
|
|
72
|
+
| Risk | Impact | Mitigation |
|
|
73
|
+
| ---- | ------ | ---------- |
|
|
74
|
+
| DummyJSON behavior differs from a real API | Future backend migration may require data mapping changes | Keep API access behind a small products repository or server actions |
|
|
75
|
+
| Search and pagination can become coupled to page UI | Harder to test or reuse | Keep query state and fetch behavior simple and explicit |
|
|
76
|
+
| Placeholder CRUD actions may mislead users | Users may think data is persisted | Label placeholders clearly in UI and validation notes |
|
|
77
|
+
| Dashboard design may drift | Boilerplate becomes inconsistent | Reuse existing shell and component conventions |
|
|
78
|
+
|
|
79
|
+
## Open Questions
|
|
80
|
+
|
|
81
|
+
- Should product search update the URL query string (`?q=keyword`)?
|
|
82
|
+
- Should pagination default to 10, 12, or 20 items per page?
|
|
83
|
+
- Should product detail pages use `app/dashboard/products/[id]/page.tsx`?
|
|
84
|
+
- Should placeholder create and edit routes exist, or should actions open disabled dialogs?
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# Functional Specification: Products Dashboard Area
|
|
2
|
+
|
|
3
|
+
## Summary
|
|
4
|
+
|
|
5
|
+
The dashboard will include a protected products section backed by DummyJSON. Users can browse products, search by keyword, paginate results, open product details, and see create/edit/delete controls that are explicitly placeholders.
|
|
6
|
+
|
|
7
|
+
## User Stories
|
|
8
|
+
|
|
9
|
+
- As an authenticated dashboard user, I want to view products so I can inspect available catalog data.
|
|
10
|
+
- As an authenticated dashboard user, I want to search products so I can find relevant records quickly.
|
|
11
|
+
- As an authenticated dashboard user, I want to paginate products so large result sets remain manageable.
|
|
12
|
+
- As an authenticated dashboard user, I want to open a product detail page so I can inspect one product.
|
|
13
|
+
- As a developer, I want CRUD placeholders so I can see where future persistence work belongs without implementing it now.
|
|
14
|
+
|
|
15
|
+
## Functional Requirements
|
|
16
|
+
|
|
17
|
+
- The products area must live under the protected dashboard route group.
|
|
18
|
+
- The list page must fetch products from DummyJSON.
|
|
19
|
+
- The list page must display product title, price, category, stock, and thumbnail when present.
|
|
20
|
+
- The list page must support keyword search.
|
|
21
|
+
- The list page must support pagination.
|
|
22
|
+
- Search and pagination state must be understandable to the user.
|
|
23
|
+
- The detail page must fetch and display one product by ID.
|
|
24
|
+
- Create, edit, and delete controls must be visible but non-persistent.
|
|
25
|
+
- Loading states must appear while product data is being fetched.
|
|
26
|
+
- Empty states must appear when no products match the current query.
|
|
27
|
+
- Error states must appear when the product request fails.
|
|
28
|
+
|
|
29
|
+
## Screens And States
|
|
30
|
+
|
|
31
|
+
### Products List
|
|
32
|
+
|
|
33
|
+
- Default state with paginated products.
|
|
34
|
+
- Search state with filtered results.
|
|
35
|
+
- Loading state during fetch.
|
|
36
|
+
- Empty state when no results match the query.
|
|
37
|
+
- Error state when DummyJSON fails or returns an unexpected response.
|
|
38
|
+
|
|
39
|
+
### Product Detail
|
|
40
|
+
|
|
41
|
+
- Default state with product summary and key attributes.
|
|
42
|
+
- Loading state during fetch.
|
|
43
|
+
- Not found state for an invalid product ID.
|
|
44
|
+
- Error state for request failures.
|
|
45
|
+
|
|
46
|
+
### Placeholder Actions
|
|
47
|
+
|
|
48
|
+
- Create action appears from the products list.
|
|
49
|
+
- Edit action appears from the detail page or row action.
|
|
50
|
+
- Delete action appears where destructive actions are expected.
|
|
51
|
+
- Placeholder actions must not send real mutation requests.
|
|
52
|
+
|
|
53
|
+
## Errors
|
|
54
|
+
|
|
55
|
+
- Network request fails.
|
|
56
|
+
- DummyJSON returns an unexpected response shape.
|
|
57
|
+
- Product ID is missing, invalid, or not found.
|
|
58
|
+
- Search returns no products.
|
|
59
|
+
- Pagination points beyond the available result range.
|
|
60
|
+
|
|
61
|
+
## Edge Cases
|
|
62
|
+
|
|
63
|
+
- Empty search query should return the default product list.
|
|
64
|
+
- Fast search changes should not leave stale loading indicators.
|
|
65
|
+
- Pagination should reset or remain coherent when the search query changes.
|
|
66
|
+
- Missing thumbnails should not break the product card or row layout.
|
|
67
|
+
- Long product names should not overflow the layout.
|
|
68
|
+
- API errors should not break dashboard navigation.
|
|
69
|
+
|
|
70
|
+
## Acceptance Criteria
|
|
71
|
+
|
|
72
|
+
- The list route is protected by existing dashboard auth behavior.
|
|
73
|
+
- Product list data loads from DummyJSON and renders key fields.
|
|
74
|
+
- Search changes the displayed product results.
|
|
75
|
+
- Pagination changes the displayed product page.
|
|
76
|
+
- Product detail navigation works for a valid product.
|
|
77
|
+
- Invalid product IDs show a not found or error state.
|
|
78
|
+
- Loading, empty, and error states are implemented for list and detail views.
|
|
79
|
+
- CRUD placeholders are visible and clearly non-persistent.
|
|
80
|
+
- Validation commands are run and reported for each PR.
|
|
81
|
+
|
|
82
|
+
## Out Of Scope
|
|
83
|
+
|
|
84
|
+
- Real create, update, or delete API calls.
|
|
85
|
+
- Custom backend API routes (use server actions or route handlers only for demo data).
|
|
86
|
+
- Authentication redesign.
|
|
87
|
+
- Persistent filters (URL params are acceptable but not required).
|
|
88
|
+
- Advanced table features such as sorting, column customization, exports, and bulk selection.
|