create-yss-spec 3.0.1 → 3.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/README.md +2 -2
- package/package.json +1 -1
- package/template/.agents/rules/yss-ai-skills.md +3 -55
- package/template/.agents/skills/.strategic-design-skills-manifest.json +11 -6
- package/template/.agents/skills/.yss-skills-manifest.json +1 -3
- package/template/.agents/skills/alibaba-java-code-style/SKILL.md +1 -0
- package/template/.agents/skills/code-review/references/yss-review-standards.md +1 -1
- package/template/.agents/skills/domain-modeling/CONTEXT-FORMAT.md +37 -42
- package/template/.agents/skills/domain-modeling/SKILL.md +10 -26
- package/template/.agents/skills/grill-with-docs/SKILL.md +6 -5
- package/template/.agents/skills/lombok/SKILL.md +2 -1
- package/template/.agents/skills/mapstruct/SKILL.md +3 -2
- package/template/.agents/skills/setup-matt-pocock-skills/SKILL.md +5 -6
- package/template/.agents/skills/setup-matt-pocock-skills/domain.md +6 -20
- package/template/.agents/skills/wait-what/SKILL.md +1 -1
- package/template/.agents/skills/yss-antdv-next-design/SKILL.md +48 -0
- package/template/.agents/skills/yss-antdv-next-design/references/boundaries.md +25 -0
- package/template/.agents/skills/yss-antdv-next-design/references/cli-matrix.md +34 -0
- package/template/.agents/skills/yss-antdv-next-design/references/fact-pack.md +38 -0
- package/template/.agents/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +213 -0
- package/template/.agents/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +168 -0
- package/template/.agents/skills/yss-antdv-next-design/tests/run-scenarios.mjs +139 -0
- package/template/.agents/skills/yss-application/SKILL.md +6 -0
- package/template/.agents/skills/yss-application/references/profiles/layered-mvc-service.md +3 -0
- package/template/.agents/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +3 -0
- package/template/.agents/skills/yss-application/references/profiles/target-domain-model.md +3 -0
- package/template/.agents/skills/yss-components/SKILL.md +1 -1
- package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +3 -4
- package/template/.agents/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -13
- package/template/.agents/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +13 -0
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -4
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
- package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +21 -7
- package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +37 -15
- package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +22 -10
- package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +14 -2
- package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +41 -12
- package/template/.agents/skills/yss-design-system/SKILL.md +25 -22
- package/template/.agents/skills/yss-design-system/references/design-qa-theme.md +22 -24
- package/template/.agents/skills/yss-design-system/references/design-system.md +39 -56
- package/template/.agents/skills/yss-domain/SKILL.md +1 -1
- package/template/.agents/skills/yss-dto/SKILL.md +1 -0
- package/template/.agents/skills/yss-exception/SKILL.md +1 -0
- package/template/.agents/skills/yss-frontend-scaffold-generator/SKILL.md +1 -1
- package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +8 -2
- package/template/.agents/skills/yss-implementation-contract-compiler/references/boundaries.md +16 -8
- package/template/.agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +72 -19
- package/template/.agents/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +5 -1
- package/template/.agents/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +2 -0
- package/template/.agents/skills/yss-implementation-contract-compiler/tests/backend-profiles.test.mjs +45 -0
- package/template/.agents/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +8 -6
- package/template/.agents/skills/yss-layered-mvc-scaffold-generator/SKILL.md +64 -0
- package/template/.agents/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +4 -0
- package/template/.agents/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +29 -0
- package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +61 -0
- package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +315 -0
- package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +30 -0
- package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +159 -0
- package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +22 -0
- package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +77 -0
- package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +9 -0
- package/template/.agents/skills/yss-mvc-scaffold-generator/SKILL.md +3 -82
- package/template/.agents/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +137 -0
- package/template/.agents/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +341 -0
- package/template/.agents/skills/yss-mvc-scaffold-generator/references/history/skill.md +87 -0
- package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +2 -135
- package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +4 -332
- package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +11 -3
- package/template/.agents/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +36 -0
- package/template/.agents/skills/yss-mybatis/SKILL.md +2 -2
- package/template/.agents/skills/yss-product-lifecycle/SKILL.md +31 -7
- package/template/.agents/skills/yss-product-lifecycle/references/artifact-dependencies.md +3 -0
- package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +4 -6
- package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +119 -46
- package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +9 -3
- package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +7 -2
- package/template/.agents/skills/yss-product-lifecycle/references/user-decisions.md +56 -0
- package/template/.agents/skills/yss-prototype-stage/SKILL.md +9 -8
- package/template/.agents/skills/yss-prototype-stage/references/product-design-adapter.md +33 -10
- package/template/.agents/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -8
- package/template/.agents/skills/yss-prototype-stage/scripts/prototype-contract.mjs +129 -22
- package/template/.agents/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +314 -0
- package/template/.agents/skills/yss-prototype-stage/tests/run-scenarios.mjs +96 -17
- package/template/.agents/skills/yss-repository/SKILL.md +6 -0
- package/template/.agents/skills/yss-repository/references/profiles/layered-mvc-service.md +3 -0
- package/template/.agents/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +3 -0
- package/template/.agents/skills/yss-repository/references/profiles/target-domain-model.md +3 -0
- package/template/.agents/skills/yss-skill-source-index-refresh/references/source-map-config.md +0 -1
- package/template/.agents/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +1 -1
- package/template/.agents/skills/yss-stage-decision/SKILL.md +16 -12
- package/template/.agents/skills/yss-stage-decision/references/domain-strategy-contract.md +16 -10
- package/template/.agents/skills/yss-stage-decision/references/domain-strategy.schema.json +23 -5
- package/template/.agents/skills/yss-stage-decision/references/stage-decision-package-contract.md +5 -2
- package/template/.agents/skills/yss-stage-decision/references/stage-decision-package.schema.json +16 -4
- package/template/.agents/skills/yss-stage-decision/references/validation-rules.md +1 -1
- package/template/.agents/skills/yss-stage-decision/scripts/migrate-context-references.mjs +62 -0
- package/template/.agents/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +18 -7
- package/template/.agents/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +20 -9
- package/template/.agents/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +1 -1
- package/template/.agents/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +1 -1
- package/template/.agents/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +12 -7
- package/template/.agents/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +9 -4
- package/template/.agents/skills/yss-stage-decision/tests/run-scenarios.mjs +134 -56
- package/template/.agents/skills/yss-tactical-design/SKILL.md +8 -2
- package/template/.agents/skills/yss-tactical-design/references/output-template.md +3 -0
- package/template/.agents/skills/yss-tactical-design/references/tactical-design-contract.md +3 -1
- package/template/.agents/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +10 -2
- package/template/.agents/skills/yss-ui/SKILL.md +1 -2
- package/template/.agents/skills/yss-ui-business-page-generation/SKILL.md +3 -3
- package/template/.agents/skills/yss-validation/SKILL.md +1 -0
- package/template/.agents/skills/yss-web-controller/SKILL.md +6 -0
- package/template/.agents/skills/yss-web-controller/references/profiles/layered-mvc-service.md +3 -0
- package/template/.agents/skills/yss-web-controller/references/profiles/mvc-data-analysis-v1.md +3 -0
- package/template/.agents/skills/yss-web-controller/references/profiles/target-domain-model.md +3 -0
- package/template/.agents/skills/yss-web-controller/references/web-generation-contract.schema.json +3 -2
- package/template/.agents/skills/yss-web-controller/scripts/generate_controller.mjs +27 -10
- package/template/.agents/skills/yss-web-controller/scripts/generate_controller.test.mjs +29 -1
- package/template/.claude/skills/alibaba-java-code-style/SKILL.md +1 -0
- package/template/.claude/skills/code-review/references/yss-review-standards.md +1 -1
- package/template/.claude/skills/domain-modeling/CONTEXT-FORMAT.md +37 -42
- package/template/.claude/skills/domain-modeling/SKILL.md +10 -26
- package/template/.claude/skills/grill-with-docs/SKILL.md +6 -5
- package/template/.claude/skills/lombok/SKILL.md +2 -1
- package/template/.claude/skills/mapstruct/SKILL.md +3 -2
- package/template/.claude/skills/setup-matt-pocock-skills/SKILL.md +5 -6
- package/template/.claude/skills/setup-matt-pocock-skills/domain.md +6 -20
- package/template/.claude/skills/wait-what/SKILL.md +1 -1
- package/template/.claude/skills/yss-antdv-next-design/SKILL.md +48 -0
- package/template/.claude/skills/yss-antdv-next-design/references/boundaries.md +25 -0
- package/template/.claude/skills/yss-antdv-next-design/references/cli-matrix.md +34 -0
- package/template/.claude/skills/yss-antdv-next-design/references/fact-pack.md +38 -0
- package/template/.claude/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +213 -0
- package/template/.claude/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +168 -0
- package/template/.claude/skills/yss-antdv-next-design/tests/run-scenarios.mjs +139 -0
- package/template/.claude/skills/yss-application/SKILL.md +6 -0
- package/template/.claude/skills/yss-application/references/profiles/layered-mvc-service.md +3 -0
- package/template/.claude/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +3 -0
- package/template/.claude/skills/yss-application/references/profiles/target-domain-model.md +3 -0
- package/template/.claude/skills/yss-components/SKILL.md +1 -1
- package/template/.claude/skills/yss-ddd-scaffold-generator/SKILL.md +3 -4
- package/template/.claude/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -13
- package/template/.claude/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +13 -0
- package/template/.claude/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -4
- package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
- package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +21 -7
- package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +37 -15
- package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +22 -10
- package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +14 -2
- package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +41 -12
- package/template/.claude/skills/yss-design-system/SKILL.md +25 -22
- package/template/.claude/skills/yss-design-system/references/design-qa-theme.md +22 -24
- package/template/.claude/skills/yss-design-system/references/design-system.md +39 -56
- package/template/.claude/skills/yss-domain/SKILL.md +1 -1
- package/template/.claude/skills/yss-dto/SKILL.md +1 -0
- package/template/.claude/skills/yss-exception/SKILL.md +1 -0
- package/template/.claude/skills/yss-frontend-scaffold-generator/SKILL.md +1 -1
- package/template/.claude/skills/yss-implementation-contract-compiler/SKILL.md +8 -2
- package/template/.claude/skills/yss-implementation-contract-compiler/references/boundaries.md +16 -8
- package/template/.claude/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +72 -19
- package/template/.claude/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +5 -1
- package/template/.claude/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +2 -0
- package/template/.claude/skills/yss-implementation-contract-compiler/tests/backend-profiles.test.mjs +45 -0
- package/template/.claude/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +8 -6
- package/template/.claude/skills/yss-layered-mvc-scaffold-generator/SKILL.md +64 -0
- package/template/.claude/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +4 -0
- package/template/.claude/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +29 -0
- package/template/.claude/skills/yss-layered-mvc-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +61 -0
- package/template/.claude/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +315 -0
- package/template/.claude/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +30 -0
- package/template/.claude/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +159 -0
- package/template/.claude/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +22 -0
- package/template/.claude/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +77 -0
- package/template/.claude/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +9 -0
- package/template/.claude/skills/yss-mvc-scaffold-generator/SKILL.md +3 -82
- package/template/.claude/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +137 -0
- package/template/.claude/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +341 -0
- package/template/.claude/skills/yss-mvc-scaffold-generator/references/history/skill.md +87 -0
- package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +2 -135
- package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +4 -332
- package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +11 -3
- package/template/.claude/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +36 -0
- package/template/.claude/skills/yss-mybatis/SKILL.md +2 -2
- package/template/.claude/skills/yss-product-lifecycle/SKILL.md +31 -7
- package/template/.claude/skills/yss-product-lifecycle/references/artifact-dependencies.md +3 -0
- package/template/.claude/skills/yss-product-lifecycle/references/matt-yss-adapter.md +4 -6
- package/template/.claude/skills/yss-product-lifecycle/references/orchestration-contract.yaml +119 -46
- package/template/.claude/skills/yss-product-lifecycle/references/orchestration.md +9 -3
- package/template/.claude/skills/yss-product-lifecycle/references/state-model.md +7 -2
- package/template/.claude/skills/yss-product-lifecycle/references/user-decisions.md +56 -0
- package/template/.claude/skills/yss-prototype-stage/SKILL.md +9 -8
- package/template/.claude/skills/yss-prototype-stage/references/product-design-adapter.md +33 -10
- package/template/.claude/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -8
- package/template/.claude/skills/yss-prototype-stage/scripts/prototype-contract.mjs +129 -22
- package/template/.claude/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +314 -0
- package/template/.claude/skills/yss-prototype-stage/tests/run-scenarios.mjs +96 -17
- package/template/.claude/skills/yss-repository/SKILL.md +6 -0
- package/template/.claude/skills/yss-repository/references/profiles/layered-mvc-service.md +3 -0
- package/template/.claude/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +3 -0
- package/template/.claude/skills/yss-repository/references/profiles/target-domain-model.md +3 -0
- package/template/.claude/skills/yss-skill-source-index-refresh/references/source-map-config.md +0 -1
- package/template/.claude/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +1 -1
- package/template/.claude/skills/yss-stage-decision/SKILL.md +16 -12
- package/template/.claude/skills/yss-stage-decision/references/domain-strategy-contract.md +16 -10
- package/template/.claude/skills/yss-stage-decision/references/domain-strategy.schema.json +23 -5
- package/template/.claude/skills/yss-stage-decision/references/stage-decision-package-contract.md +5 -2
- package/template/.claude/skills/yss-stage-decision/references/stage-decision-package.schema.json +16 -4
- package/template/.claude/skills/yss-stage-decision/references/validation-rules.md +1 -1
- package/template/.claude/skills/yss-stage-decision/scripts/migrate-context-references.mjs +62 -0
- package/template/.claude/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +18 -7
- package/template/.claude/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +20 -9
- package/template/.claude/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +1 -1
- package/template/.claude/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +1 -1
- package/template/.claude/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +12 -7
- package/template/.claude/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +9 -4
- package/template/.claude/skills/yss-stage-decision/tests/run-scenarios.mjs +134 -56
- package/template/.claude/skills/yss-tactical-design/SKILL.md +8 -2
- package/template/.claude/skills/yss-tactical-design/references/output-template.md +3 -0
- package/template/.claude/skills/yss-tactical-design/references/tactical-design-contract.md +3 -1
- package/template/.claude/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +10 -2
- package/template/.claude/skills/yss-ui/SKILL.md +1 -2
- package/template/.claude/skills/yss-ui-business-page-generation/SKILL.md +3 -3
- package/template/.claude/skills/yss-validation/SKILL.md +1 -0
- package/template/.claude/skills/yss-web-controller/SKILL.md +6 -0
- package/template/.claude/skills/yss-web-controller/references/profiles/layered-mvc-service.md +3 -0
- package/template/.claude/skills/yss-web-controller/references/profiles/mvc-data-analysis-v1.md +3 -0
- package/template/.claude/skills/yss-web-controller/references/profiles/target-domain-model.md +3 -0
- package/template/.claude/skills/yss-web-controller/references/web-generation-contract.schema.json +3 -2
- package/template/.claude/skills/yss-web-controller/scripts/generate_controller.mjs +27 -10
- package/template/.claude/skills/yss-web-controller/scripts/generate_controller.test.mjs +29 -1
- package/template/.codex/skills/alibaba-java-code-style/SKILL.md +1 -0
- package/template/.codex/skills/code-review/references/yss-review-standards.md +1 -1
- package/template/.codex/skills/domain-modeling/CONTEXT-FORMAT.md +37 -42
- package/template/.codex/skills/domain-modeling/SKILL.md +10 -26
- package/template/.codex/skills/grill-with-docs/SKILL.md +6 -5
- package/template/.codex/skills/lombok/SKILL.md +2 -1
- package/template/.codex/skills/mapstruct/SKILL.md +3 -2
- package/template/.codex/skills/setup-matt-pocock-skills/SKILL.md +5 -6
- package/template/.codex/skills/setup-matt-pocock-skills/domain.md +6 -20
- package/template/.codex/skills/wait-what/SKILL.md +1 -1
- package/template/.codex/skills/yss-antdv-next-design/SKILL.md +48 -0
- package/template/.codex/skills/yss-antdv-next-design/references/boundaries.md +25 -0
- package/template/.codex/skills/yss-antdv-next-design/references/cli-matrix.md +34 -0
- package/template/.codex/skills/yss-antdv-next-design/references/fact-pack.md +38 -0
- package/template/.codex/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +213 -0
- package/template/.codex/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +168 -0
- package/template/.codex/skills/yss-antdv-next-design/tests/run-scenarios.mjs +139 -0
- package/template/.codex/skills/yss-application/SKILL.md +6 -0
- package/template/.codex/skills/yss-application/references/profiles/layered-mvc-service.md +3 -0
- package/template/.codex/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +3 -0
- package/template/.codex/skills/yss-application/references/profiles/target-domain-model.md +3 -0
- package/template/.codex/skills/yss-components/SKILL.md +1 -1
- package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +3 -4
- package/template/.codex/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -13
- package/template/.codex/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +13 -0
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -4
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
- package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +21 -7
- package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +37 -15
- package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +22 -10
- package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +14 -2
- package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +41 -12
- package/template/.codex/skills/yss-design-system/SKILL.md +25 -22
- package/template/.codex/skills/yss-design-system/references/design-qa-theme.md +22 -24
- package/template/.codex/skills/yss-design-system/references/design-system.md +39 -56
- package/template/.codex/skills/yss-domain/SKILL.md +1 -1
- package/template/.codex/skills/yss-dto/SKILL.md +1 -0
- package/template/.codex/skills/yss-exception/SKILL.md +1 -0
- package/template/.codex/skills/yss-frontend-scaffold-generator/SKILL.md +1 -1
- package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +8 -2
- package/template/.codex/skills/yss-implementation-contract-compiler/references/boundaries.md +16 -8
- package/template/.codex/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +72 -19
- package/template/.codex/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +5 -1
- package/template/.codex/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +2 -0
- package/template/.codex/skills/yss-implementation-contract-compiler/tests/backend-profiles.test.mjs +45 -0
- package/template/.codex/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +8 -6
- package/template/.codex/skills/yss-layered-mvc-scaffold-generator/SKILL.md +64 -0
- package/template/.codex/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +4 -0
- package/template/.codex/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +29 -0
- package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +61 -0
- package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +315 -0
- package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +30 -0
- package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +159 -0
- package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +22 -0
- package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +77 -0
- package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +9 -0
- package/template/.codex/skills/yss-mvc-scaffold-generator/SKILL.md +3 -82
- package/template/.codex/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +137 -0
- package/template/.codex/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +341 -0
- package/template/.codex/skills/yss-mvc-scaffold-generator/references/history/skill.md +87 -0
- package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +2 -135
- package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +4 -332
- package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +11 -3
- package/template/.codex/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +36 -0
- package/template/.codex/skills/yss-mybatis/SKILL.md +2 -2
- package/template/.codex/skills/yss-product-lifecycle/SKILL.md +31 -7
- package/template/.codex/skills/yss-product-lifecycle/references/artifact-dependencies.md +3 -0
- package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +4 -6
- package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +119 -46
- package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +9 -3
- package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +7 -2
- package/template/.codex/skills/yss-product-lifecycle/references/user-decisions.md +56 -0
- package/template/.codex/skills/yss-prototype-stage/SKILL.md +9 -8
- package/template/.codex/skills/yss-prototype-stage/references/product-design-adapter.md +33 -10
- package/template/.codex/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -8
- package/template/.codex/skills/yss-prototype-stage/scripts/prototype-contract.mjs +129 -22
- package/template/.codex/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +314 -0
- package/template/.codex/skills/yss-prototype-stage/tests/run-scenarios.mjs +96 -17
- package/template/.codex/skills/yss-repository/SKILL.md +6 -0
- package/template/.codex/skills/yss-repository/references/profiles/layered-mvc-service.md +3 -0
- package/template/.codex/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +3 -0
- package/template/.codex/skills/yss-repository/references/profiles/target-domain-model.md +3 -0
- package/template/.codex/skills/yss-skill-source-index-refresh/references/source-map-config.md +0 -1
- package/template/.codex/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +1 -1
- package/template/.codex/skills/yss-stage-decision/SKILL.md +16 -12
- package/template/.codex/skills/yss-stage-decision/references/domain-strategy-contract.md +16 -10
- package/template/.codex/skills/yss-stage-decision/references/domain-strategy.schema.json +23 -5
- package/template/.codex/skills/yss-stage-decision/references/stage-decision-package-contract.md +5 -2
- package/template/.codex/skills/yss-stage-decision/references/stage-decision-package.schema.json +16 -4
- package/template/.codex/skills/yss-stage-decision/references/validation-rules.md +1 -1
- package/template/.codex/skills/yss-stage-decision/scripts/migrate-context-references.mjs +62 -0
- package/template/.codex/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +18 -7
- package/template/.codex/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +20 -9
- package/template/.codex/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +1 -1
- package/template/.codex/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +1 -1
- package/template/.codex/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +12 -7
- package/template/.codex/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +9 -4
- package/template/.codex/skills/yss-stage-decision/tests/run-scenarios.mjs +134 -56
- package/template/.codex/skills/yss-tactical-design/SKILL.md +8 -2
- package/template/.codex/skills/yss-tactical-design/references/output-template.md +3 -0
- package/template/.codex/skills/yss-tactical-design/references/tactical-design-contract.md +3 -1
- package/template/.codex/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +10 -2
- package/template/.codex/skills/yss-ui/SKILL.md +1 -2
- package/template/.codex/skills/yss-ui-business-page-generation/SKILL.md +3 -3
- package/template/.codex/skills/yss-validation/SKILL.md +1 -0
- package/template/.codex/skills/yss-web-controller/SKILL.md +6 -0
- package/template/.codex/skills/yss-web-controller/references/profiles/layered-mvc-service.md +3 -0
- package/template/.codex/skills/yss-web-controller/references/profiles/mvc-data-analysis-v1.md +3 -0
- package/template/.codex/skills/yss-web-controller/references/profiles/target-domain-model.md +3 -0
- package/template/.codex/skills/yss-web-controller/references/web-generation-contract.schema.json +3 -2
- package/template/.codex/skills/yss-web-controller/scripts/generate_controller.mjs +27 -10
- package/template/.codex/skills/yss-web-controller/scripts/generate_controller.test.mjs +29 -1
- package/template/.cursor/skills/alibaba-java-code-style/SKILL.md +1 -0
- package/template/.cursor/skills/code-review/references/yss-review-standards.md +1 -1
- package/template/.cursor/skills/domain-modeling/CONTEXT-FORMAT.md +37 -42
- package/template/.cursor/skills/domain-modeling/SKILL.md +10 -26
- package/template/.cursor/skills/grill-with-docs/SKILL.md +6 -5
- package/template/.cursor/skills/lombok/SKILL.md +2 -1
- package/template/.cursor/skills/mapstruct/SKILL.md +3 -2
- package/template/.cursor/skills/setup-matt-pocock-skills/SKILL.md +5 -6
- package/template/.cursor/skills/setup-matt-pocock-skills/domain.md +6 -20
- package/template/.cursor/skills/wait-what/SKILL.md +1 -1
- package/template/.cursor/skills/yss-antdv-next-design/SKILL.md +48 -0
- package/template/.cursor/skills/yss-antdv-next-design/references/boundaries.md +25 -0
- package/template/.cursor/skills/yss-antdv-next-design/references/cli-matrix.md +34 -0
- package/template/.cursor/skills/yss-antdv-next-design/references/fact-pack.md +38 -0
- package/template/.cursor/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +213 -0
- package/template/.cursor/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +168 -0
- package/template/.cursor/skills/yss-antdv-next-design/tests/run-scenarios.mjs +139 -0
- package/template/.cursor/skills/yss-application/SKILL.md +6 -0
- package/template/.cursor/skills/yss-application/references/profiles/layered-mvc-service.md +3 -0
- package/template/.cursor/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +3 -0
- package/template/.cursor/skills/yss-application/references/profiles/target-domain-model.md +3 -0
- package/template/.cursor/skills/yss-components/SKILL.md +1 -1
- package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +3 -4
- package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -13
- package/template/.cursor/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +13 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -4
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
- package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +21 -7
- package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +37 -15
- package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +22 -10
- package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +14 -2
- package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +41 -12
- package/template/.cursor/skills/yss-design-system/SKILL.md +25 -22
- package/template/.cursor/skills/yss-design-system/references/design-qa-theme.md +22 -24
- package/template/.cursor/skills/yss-design-system/references/design-system.md +39 -56
- package/template/.cursor/skills/yss-domain/SKILL.md +1 -1
- package/template/.cursor/skills/yss-dto/SKILL.md +1 -0
- package/template/.cursor/skills/yss-exception/SKILL.md +1 -0
- package/template/.cursor/skills/yss-frontend-scaffold-generator/SKILL.md +1 -1
- package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +8 -2
- package/template/.cursor/skills/yss-implementation-contract-compiler/references/boundaries.md +16 -8
- package/template/.cursor/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +72 -19
- package/template/.cursor/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +5 -1
- package/template/.cursor/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +2 -0
- package/template/.cursor/skills/yss-implementation-contract-compiler/tests/backend-profiles.test.mjs +45 -0
- package/template/.cursor/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +8 -6
- package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/SKILL.md +64 -0
- package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +4 -0
- package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +29 -0
- package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +61 -0
- package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +315 -0
- package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +30 -0
- package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +159 -0
- package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +22 -0
- package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +77 -0
- package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +9 -0
- package/template/.cursor/skills/yss-mvc-scaffold-generator/SKILL.md +3 -82
- package/template/.cursor/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +137 -0
- package/template/.cursor/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +341 -0
- package/template/.cursor/skills/yss-mvc-scaffold-generator/references/history/skill.md +87 -0
- package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +2 -135
- package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +4 -332
- package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +11 -3
- package/template/.cursor/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +36 -0
- package/template/.cursor/skills/yss-mybatis/SKILL.md +2 -2
- package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +31 -7
- package/template/.cursor/skills/yss-product-lifecycle/references/artifact-dependencies.md +3 -0
- package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +4 -6
- package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +119 -46
- package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +9 -3
- package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +7 -2
- package/template/.cursor/skills/yss-product-lifecycle/references/user-decisions.md +56 -0
- package/template/.cursor/skills/yss-prototype-stage/SKILL.md +9 -8
- package/template/.cursor/skills/yss-prototype-stage/references/product-design-adapter.md +33 -10
- package/template/.cursor/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -8
- package/template/.cursor/skills/yss-prototype-stage/scripts/prototype-contract.mjs +129 -22
- package/template/.cursor/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +314 -0
- package/template/.cursor/skills/yss-prototype-stage/tests/run-scenarios.mjs +96 -17
- package/template/.cursor/skills/yss-repository/SKILL.md +6 -0
- package/template/.cursor/skills/yss-repository/references/profiles/layered-mvc-service.md +3 -0
- package/template/.cursor/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +3 -0
- package/template/.cursor/skills/yss-repository/references/profiles/target-domain-model.md +3 -0
- package/template/.cursor/skills/yss-skill-source-index-refresh/references/source-map-config.md +0 -1
- package/template/.cursor/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +1 -1
- package/template/.cursor/skills/yss-stage-decision/SKILL.md +16 -12
- package/template/.cursor/skills/yss-stage-decision/references/domain-strategy-contract.md +16 -10
- package/template/.cursor/skills/yss-stage-decision/references/domain-strategy.schema.json +23 -5
- package/template/.cursor/skills/yss-stage-decision/references/stage-decision-package-contract.md +5 -2
- package/template/.cursor/skills/yss-stage-decision/references/stage-decision-package.schema.json +16 -4
- package/template/.cursor/skills/yss-stage-decision/references/validation-rules.md +1 -1
- package/template/.cursor/skills/yss-stage-decision/scripts/migrate-context-references.mjs +62 -0
- package/template/.cursor/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +18 -7
- package/template/.cursor/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +20 -9
- package/template/.cursor/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +1 -1
- package/template/.cursor/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +1 -1
- package/template/.cursor/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +12 -7
- package/template/.cursor/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +9 -4
- package/template/.cursor/skills/yss-stage-decision/tests/run-scenarios.mjs +134 -56
- package/template/.cursor/skills/yss-tactical-design/SKILL.md +8 -2
- package/template/.cursor/skills/yss-tactical-design/references/output-template.md +3 -0
- package/template/.cursor/skills/yss-tactical-design/references/tactical-design-contract.md +3 -1
- package/template/.cursor/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +10 -2
- package/template/.cursor/skills/yss-ui/SKILL.md +1 -2
- package/template/.cursor/skills/yss-ui-business-page-generation/SKILL.md +3 -3
- package/template/.cursor/skills/yss-validation/SKILL.md +1 -0
- package/template/.cursor/skills/yss-web-controller/SKILL.md +6 -0
- package/template/.cursor/skills/yss-web-controller/references/profiles/layered-mvc-service.md +3 -0
- package/template/.cursor/skills/yss-web-controller/references/profiles/mvc-data-analysis-v1.md +3 -0
- package/template/.cursor/skills/yss-web-controller/references/profiles/target-domain-model.md +3 -0
- package/template/.cursor/skills/yss-web-controller/references/web-generation-contract.schema.json +3 -2
- package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.mjs +27 -10
- package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.test.mjs +29 -1
- package/template/.cursorrules +6 -34
- package/template/.pi/skills/alibaba-java-code-style/SKILL.md +1 -0
- package/template/.pi/skills/code-review/references/yss-review-standards.md +1 -1
- package/template/.pi/skills/domain-modeling/CONTEXT-FORMAT.md +37 -42
- package/template/.pi/skills/domain-modeling/SKILL.md +10 -26
- package/template/.pi/skills/grill-with-docs/SKILL.md +6 -5
- package/template/.pi/skills/lombok/SKILL.md +2 -1
- package/template/.pi/skills/mapstruct/SKILL.md +3 -2
- package/template/.pi/skills/setup-matt-pocock-skills/SKILL.md +5 -6
- package/template/.pi/skills/setup-matt-pocock-skills/domain.md +6 -20
- package/template/.pi/skills/wait-what/SKILL.md +1 -1
- package/template/.pi/skills/yss-antdv-next-design/SKILL.md +48 -0
- package/template/.pi/skills/yss-antdv-next-design/references/boundaries.md +25 -0
- package/template/.pi/skills/yss-antdv-next-design/references/cli-matrix.md +34 -0
- package/template/.pi/skills/yss-antdv-next-design/references/fact-pack.md +38 -0
- package/template/.pi/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +213 -0
- package/template/.pi/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +168 -0
- package/template/.pi/skills/yss-antdv-next-design/tests/run-scenarios.mjs +139 -0
- package/template/.pi/skills/yss-application/SKILL.md +6 -0
- package/template/.pi/skills/yss-application/references/profiles/layered-mvc-service.md +3 -0
- package/template/.pi/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +3 -0
- package/template/.pi/skills/yss-application/references/profiles/target-domain-model.md +3 -0
- package/template/.pi/skills/yss-components/SKILL.md +1 -1
- package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +3 -4
- package/template/.pi/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -13
- package/template/.pi/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +13 -0
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -4
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
- package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +21 -7
- package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +37 -15
- package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +22 -10
- package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +14 -2
- package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +41 -12
- package/template/.pi/skills/yss-design-system/SKILL.md +25 -22
- package/template/.pi/skills/yss-design-system/references/design-qa-theme.md +22 -24
- package/template/.pi/skills/yss-design-system/references/design-system.md +39 -56
- package/template/.pi/skills/yss-domain/SKILL.md +1 -1
- package/template/.pi/skills/yss-dto/SKILL.md +1 -0
- package/template/.pi/skills/yss-exception/SKILL.md +1 -0
- package/template/.pi/skills/yss-frontend-scaffold-generator/SKILL.md +1 -1
- package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +8 -2
- package/template/.pi/skills/yss-implementation-contract-compiler/references/boundaries.md +16 -8
- package/template/.pi/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +72 -19
- package/template/.pi/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +5 -1
- package/template/.pi/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +2 -0
- package/template/.pi/skills/yss-implementation-contract-compiler/tests/backend-profiles.test.mjs +45 -0
- package/template/.pi/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +8 -6
- package/template/.pi/skills/yss-layered-mvc-scaffold-generator/SKILL.md +64 -0
- package/template/.pi/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +4 -0
- package/template/.pi/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +29 -0
- package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +61 -0
- package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +315 -0
- package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +30 -0
- package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +159 -0
- package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +22 -0
- package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +77 -0
- package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +9 -0
- package/template/.pi/skills/yss-mvc-scaffold-generator/SKILL.md +3 -82
- package/template/.pi/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +137 -0
- package/template/.pi/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +341 -0
- package/template/.pi/skills/yss-mvc-scaffold-generator/references/history/skill.md +87 -0
- package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +2 -135
- package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +4 -332
- package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +11 -3
- package/template/.pi/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +36 -0
- package/template/.pi/skills/yss-mybatis/SKILL.md +2 -2
- package/template/.pi/skills/yss-product-lifecycle/SKILL.md +31 -7
- package/template/.pi/skills/yss-product-lifecycle/references/artifact-dependencies.md +3 -0
- package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +4 -6
- package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +119 -46
- package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +9 -3
- package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +7 -2
- package/template/.pi/skills/yss-product-lifecycle/references/user-decisions.md +56 -0
- package/template/.pi/skills/yss-prototype-stage/SKILL.md +9 -8
- package/template/.pi/skills/yss-prototype-stage/references/product-design-adapter.md +33 -10
- package/template/.pi/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -8
- package/template/.pi/skills/yss-prototype-stage/scripts/prototype-contract.mjs +129 -22
- package/template/.pi/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +314 -0
- package/template/.pi/skills/yss-prototype-stage/tests/run-scenarios.mjs +96 -17
- package/template/.pi/skills/yss-repository/SKILL.md +6 -0
- package/template/.pi/skills/yss-repository/references/profiles/layered-mvc-service.md +3 -0
- package/template/.pi/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +3 -0
- package/template/.pi/skills/yss-repository/references/profiles/target-domain-model.md +3 -0
- package/template/.pi/skills/yss-skill-source-index-refresh/references/source-map-config.md +0 -1
- package/template/.pi/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +1 -1
- package/template/.pi/skills/yss-stage-decision/SKILL.md +16 -12
- package/template/.pi/skills/yss-stage-decision/references/domain-strategy-contract.md +16 -10
- package/template/.pi/skills/yss-stage-decision/references/domain-strategy.schema.json +23 -5
- package/template/.pi/skills/yss-stage-decision/references/stage-decision-package-contract.md +5 -2
- package/template/.pi/skills/yss-stage-decision/references/stage-decision-package.schema.json +16 -4
- package/template/.pi/skills/yss-stage-decision/references/validation-rules.md +1 -1
- package/template/.pi/skills/yss-stage-decision/scripts/migrate-context-references.mjs +62 -0
- package/template/.pi/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +18 -7
- package/template/.pi/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +20 -9
- package/template/.pi/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +1 -1
- package/template/.pi/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +1 -1
- package/template/.pi/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +12 -7
- package/template/.pi/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +9 -4
- package/template/.pi/skills/yss-stage-decision/tests/run-scenarios.mjs +134 -56
- package/template/.pi/skills/yss-tactical-design/SKILL.md +8 -2
- package/template/.pi/skills/yss-tactical-design/references/output-template.md +3 -0
- package/template/.pi/skills/yss-tactical-design/references/tactical-design-contract.md +3 -1
- package/template/.pi/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +10 -2
- package/template/.pi/skills/yss-ui/SKILL.md +1 -2
- package/template/.pi/skills/yss-ui-business-page-generation/SKILL.md +3 -3
- package/template/.pi/skills/yss-validation/SKILL.md +1 -0
- package/template/.pi/skills/yss-web-controller/SKILL.md +6 -0
- package/template/.pi/skills/yss-web-controller/references/profiles/layered-mvc-service.md +3 -0
- package/template/.pi/skills/yss-web-controller/references/profiles/mvc-data-analysis-v1.md +3 -0
- package/template/.pi/skills/yss-web-controller/references/profiles/target-domain-model.md +3 -0
- package/template/.pi/skills/yss-web-controller/references/web-generation-contract.schema.json +3 -2
- package/template/.pi/skills/yss-web-controller/scripts/generate_controller.mjs +27 -10
- package/template/.pi/skills/yss-web-controller/scripts/generate_controller.test.mjs +29 -1
- package/template/.qoder/skills/alibaba-java-code-style/SKILL.md +1 -0
- package/template/.qoder/skills/code-review/references/yss-review-standards.md +1 -1
- package/template/.qoder/skills/domain-modeling/CONTEXT-FORMAT.md +37 -42
- package/template/.qoder/skills/domain-modeling/SKILL.md +10 -26
- package/template/.qoder/skills/grill-with-docs/SKILL.md +6 -5
- package/template/.qoder/skills/lombok/SKILL.md +2 -1
- package/template/.qoder/skills/mapstruct/SKILL.md +3 -2
- package/template/.qoder/skills/setup-matt-pocock-skills/SKILL.md +5 -6
- package/template/.qoder/skills/setup-matt-pocock-skills/domain.md +6 -20
- package/template/.qoder/skills/wait-what/SKILL.md +1 -1
- package/template/.qoder/skills/yss-antdv-next-design/SKILL.md +48 -0
- package/template/.qoder/skills/yss-antdv-next-design/references/boundaries.md +25 -0
- package/template/.qoder/skills/yss-antdv-next-design/references/cli-matrix.md +34 -0
- package/template/.qoder/skills/yss-antdv-next-design/references/fact-pack.md +38 -0
- package/template/.qoder/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +213 -0
- package/template/.qoder/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +168 -0
- package/template/.qoder/skills/yss-antdv-next-design/tests/run-scenarios.mjs +139 -0
- package/template/.qoder/skills/yss-application/SKILL.md +6 -0
- package/template/.qoder/skills/yss-application/references/profiles/layered-mvc-service.md +3 -0
- package/template/.qoder/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +3 -0
- package/template/.qoder/skills/yss-application/references/profiles/target-domain-model.md +3 -0
- package/template/.qoder/skills/yss-components/SKILL.md +1 -1
- package/template/.qoder/skills/yss-ddd-scaffold-generator/SKILL.md +3 -4
- package/template/.qoder/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -13
- package/template/.qoder/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +13 -0
- package/template/.qoder/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -4
- package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
- package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +21 -7
- package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +37 -15
- package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +22 -10
- package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +14 -2
- package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +41 -12
- package/template/.qoder/skills/yss-design-system/SKILL.md +25 -22
- package/template/.qoder/skills/yss-design-system/references/design-qa-theme.md +22 -24
- package/template/.qoder/skills/yss-design-system/references/design-system.md +39 -56
- package/template/.qoder/skills/yss-domain/SKILL.md +1 -1
- package/template/.qoder/skills/yss-dto/SKILL.md +1 -0
- package/template/.qoder/skills/yss-exception/SKILL.md +1 -0
- package/template/.qoder/skills/yss-frontend-scaffold-generator/SKILL.md +1 -1
- package/template/.qoder/skills/yss-implementation-contract-compiler/SKILL.md +8 -2
- package/template/.qoder/skills/yss-implementation-contract-compiler/references/boundaries.md +16 -8
- package/template/.qoder/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +72 -19
- package/template/.qoder/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +5 -1
- package/template/.qoder/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +2 -0
- package/template/.qoder/skills/yss-implementation-contract-compiler/tests/backend-profiles.test.mjs +45 -0
- package/template/.qoder/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +8 -6
- package/template/.qoder/skills/yss-layered-mvc-scaffold-generator/SKILL.md +64 -0
- package/template/.qoder/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +4 -0
- package/template/.qoder/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +29 -0
- package/template/.qoder/skills/yss-layered-mvc-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +61 -0
- package/template/.qoder/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +315 -0
- package/template/.qoder/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +30 -0
- package/template/.qoder/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +159 -0
- package/template/.qoder/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +22 -0
- package/template/.qoder/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +77 -0
- package/template/.qoder/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +9 -0
- package/template/.qoder/skills/yss-mvc-scaffold-generator/SKILL.md +3 -82
- package/template/.qoder/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +137 -0
- package/template/.qoder/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +341 -0
- package/template/.qoder/skills/yss-mvc-scaffold-generator/references/history/skill.md +87 -0
- package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +2 -135
- package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +4 -332
- package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +11 -3
- package/template/.qoder/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +36 -0
- package/template/.qoder/skills/yss-mybatis/SKILL.md +2 -2
- package/template/.qoder/skills/yss-product-lifecycle/SKILL.md +31 -7
- package/template/.qoder/skills/yss-product-lifecycle/references/artifact-dependencies.md +3 -0
- package/template/.qoder/skills/yss-product-lifecycle/references/matt-yss-adapter.md +4 -6
- package/template/.qoder/skills/yss-product-lifecycle/references/orchestration-contract.yaml +119 -46
- package/template/.qoder/skills/yss-product-lifecycle/references/orchestration.md +9 -3
- package/template/.qoder/skills/yss-product-lifecycle/references/state-model.md +7 -2
- package/template/.qoder/skills/yss-product-lifecycle/references/user-decisions.md +56 -0
- package/template/.qoder/skills/yss-prototype-stage/SKILL.md +9 -8
- package/template/.qoder/skills/yss-prototype-stage/references/product-design-adapter.md +33 -10
- package/template/.qoder/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -8
- package/template/.qoder/skills/yss-prototype-stage/scripts/prototype-contract.mjs +129 -22
- package/template/.qoder/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +314 -0
- package/template/.qoder/skills/yss-prototype-stage/tests/run-scenarios.mjs +96 -17
- package/template/.qoder/skills/yss-repository/SKILL.md +6 -0
- package/template/.qoder/skills/yss-repository/references/profiles/layered-mvc-service.md +3 -0
- package/template/.qoder/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +3 -0
- package/template/.qoder/skills/yss-repository/references/profiles/target-domain-model.md +3 -0
- package/template/.qoder/skills/yss-skill-source-index-refresh/references/source-map-config.md +0 -1
- package/template/.qoder/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +1 -1
- package/template/.qoder/skills/yss-stage-decision/SKILL.md +16 -12
- package/template/.qoder/skills/yss-stage-decision/references/domain-strategy-contract.md +16 -10
- package/template/.qoder/skills/yss-stage-decision/references/domain-strategy.schema.json +23 -5
- package/template/.qoder/skills/yss-stage-decision/references/stage-decision-package-contract.md +5 -2
- package/template/.qoder/skills/yss-stage-decision/references/stage-decision-package.schema.json +16 -4
- package/template/.qoder/skills/yss-stage-decision/references/validation-rules.md +1 -1
- package/template/.qoder/skills/yss-stage-decision/scripts/migrate-context-references.mjs +62 -0
- package/template/.qoder/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +18 -7
- package/template/.qoder/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +20 -9
- package/template/.qoder/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +1 -1
- package/template/.qoder/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +1 -1
- package/template/.qoder/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +12 -7
- package/template/.qoder/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +9 -4
- package/template/.qoder/skills/yss-stage-decision/tests/run-scenarios.mjs +134 -56
- package/template/.qoder/skills/yss-tactical-design/SKILL.md +8 -2
- package/template/.qoder/skills/yss-tactical-design/references/output-template.md +3 -0
- package/template/.qoder/skills/yss-tactical-design/references/tactical-design-contract.md +3 -1
- package/template/.qoder/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +10 -2
- package/template/.qoder/skills/yss-ui/SKILL.md +1 -2
- package/template/.qoder/skills/yss-ui-business-page-generation/SKILL.md +3 -3
- package/template/.qoder/skills/yss-validation/SKILL.md +1 -0
- package/template/.qoder/skills/yss-web-controller/SKILL.md +6 -0
- package/template/.qoder/skills/yss-web-controller/references/profiles/layered-mvc-service.md +3 -0
- package/template/.qoder/skills/yss-web-controller/references/profiles/mvc-data-analysis-v1.md +3 -0
- package/template/.qoder/skills/yss-web-controller/references/profiles/target-domain-model.md +3 -0
- package/template/.qoder/skills/yss-web-controller/references/web-generation-contract.schema.json +3 -2
- package/template/.qoder/skills/yss-web-controller/scripts/generate_controller.mjs +27 -10
- package/template/.qoder/skills/yss-web-controller/scripts/generate_controller.test.mjs +29 -1
- package/template/.trae/skills/alibaba-java-code-style/SKILL.md +1 -0
- package/template/.trae/skills/code-review/references/yss-review-standards.md +1 -1
- package/template/.trae/skills/domain-modeling/CONTEXT-FORMAT.md +37 -42
- package/template/.trae/skills/domain-modeling/SKILL.md +10 -26
- package/template/.trae/skills/grill-with-docs/SKILL.md +6 -5
- package/template/.trae/skills/lombok/SKILL.md +2 -1
- package/template/.trae/skills/mapstruct/SKILL.md +3 -2
- package/template/.trae/skills/setup-matt-pocock-skills/SKILL.md +5 -6
- package/template/.trae/skills/setup-matt-pocock-skills/domain.md +6 -20
- package/template/.trae/skills/wait-what/SKILL.md +1 -1
- package/template/.trae/skills/yss-antdv-next-design/SKILL.md +48 -0
- package/template/.trae/skills/yss-antdv-next-design/references/boundaries.md +25 -0
- package/template/.trae/skills/yss-antdv-next-design/references/cli-matrix.md +34 -0
- package/template/.trae/skills/yss-antdv-next-design/references/fact-pack.md +38 -0
- package/template/.trae/skills/yss-antdv-next-design/scripts/collect-antdv-next-facts.mjs +213 -0
- package/template/.trae/skills/yss-antdv-next-design/scripts/validate-fact-pack.mjs +168 -0
- package/template/.trae/skills/yss-antdv-next-design/tests/run-scenarios.mjs +139 -0
- package/template/.trae/skills/yss-application/SKILL.md +6 -0
- package/template/.trae/skills/yss-application/references/profiles/layered-mvc-service.md +3 -0
- package/template/.trae/skills/yss-application/references/profiles/mvc-data-analysis-v1.md +3 -0
- package/template/.trae/skills/yss-application/references/profiles/target-domain-model.md +3 -0
- package/template/.trae/skills/yss-components/SKILL.md +1 -1
- package/template/.trae/skills/yss-ddd-scaffold-generator/SKILL.md +3 -4
- package/template/.trae/skills/yss-ddd-scaffold-generator/assets/templates/config/application.yml.template +0 -13
- package/template/.trae/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +13 -0
- package/template/.trae/skills/yss-ddd-scaffold-generator/references/USAGE_EXAMPLES.md +13 -4
- package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
- package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/first-slice-compatibility.test.mjs +21 -7
- package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +37 -15
- package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +22 -10
- package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +14 -2
- package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +41 -12
- package/template/.trae/skills/yss-design-system/SKILL.md +25 -22
- package/template/.trae/skills/yss-design-system/references/design-qa-theme.md +22 -24
- package/template/.trae/skills/yss-design-system/references/design-system.md +39 -56
- package/template/.trae/skills/yss-domain/SKILL.md +1 -1
- package/template/.trae/skills/yss-dto/SKILL.md +1 -0
- package/template/.trae/skills/yss-exception/SKILL.md +1 -0
- package/template/.trae/skills/yss-frontend-scaffold-generator/SKILL.md +1 -1
- package/template/.trae/skills/yss-implementation-contract-compiler/SKILL.md +8 -2
- package/template/.trae/skills/yss-implementation-contract-compiler/references/boundaries.md +16 -8
- package/template/.trae/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +72 -19
- package/template/.trae/skills/yss-implementation-contract-compiler/references/slice-implementation-contract.md +5 -1
- package/template/.trae/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +2 -0
- package/template/.trae/skills/yss-implementation-contract-compiler/tests/backend-profiles.test.mjs +45 -0
- package/template/.trae/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +8 -6
- package/template/.trae/skills/yss-layered-mvc-scaffold-generator/SKILL.md +64 -0
- package/template/.trae/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +4 -0
- package/template/.trae/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +29 -0
- package/template/.trae/skills/yss-layered-mvc-scaffold-generator/scripts/generate_and_verify_scaffold.mjs +61 -0
- package/template/.trae/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +315 -0
- package/template/.trae/skills/yss-layered-mvc-scaffold-generator/scripts/run_scaffold_verification.mjs +30 -0
- package/template/.trae/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +159 -0
- package/template/.trae/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +22 -0
- package/template/.trae/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +77 -0
- package/template/.trae/skills/yss-mvc-data-analysis-project-initializer/scripts/run_scaffold_verification.mjs +9 -0
- package/template/.trae/skills/yss-mvc-scaffold-generator/SKILL.md +3 -82
- package/template/.trae/skills/yss-mvc-scaffold-generator/references/history/generate_project.mjs.txt +137 -0
- package/template/.trae/skills/yss-mvc-scaffold-generator/references/history/generate_project.test.mjs.txt +341 -0
- package/template/.trae/skills/yss-mvc-scaffold-generator/references/history/skill.md +87 -0
- package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/generate_project.mjs +2 -135
- package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/generate_project.test.mjs +4 -332
- package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.mjs +11 -3
- package/template/.trae/skills/yss-mvc-scaffold-generator/scripts/lib/envelope.test.mjs +36 -0
- package/template/.trae/skills/yss-mybatis/SKILL.md +2 -2
- package/template/.trae/skills/yss-product-lifecycle/SKILL.md +31 -7
- package/template/.trae/skills/yss-product-lifecycle/references/artifact-dependencies.md +3 -0
- package/template/.trae/skills/yss-product-lifecycle/references/matt-yss-adapter.md +4 -6
- package/template/.trae/skills/yss-product-lifecycle/references/orchestration-contract.yaml +119 -46
- package/template/.trae/skills/yss-product-lifecycle/references/orchestration.md +9 -3
- package/template/.trae/skills/yss-product-lifecycle/references/state-model.md +7 -2
- package/template/.trae/skills/yss-product-lifecycle/references/user-decisions.md +56 -0
- package/template/.trae/skills/yss-prototype-stage/SKILL.md +9 -8
- package/template/.trae/skills/yss-prototype-stage/references/product-design-adapter.md +33 -10
- package/template/.trae/skills/yss-prototype-stage/references/prototype-profile-routing.md +10 -8
- package/template/.trae/skills/yss-prototype-stage/scripts/prototype-contract.mjs +129 -22
- package/template/.trae/skills/yss-prototype-stage/scripts/visual-baseline-contract.mjs +314 -0
- package/template/.trae/skills/yss-prototype-stage/tests/run-scenarios.mjs +96 -17
- package/template/.trae/skills/yss-repository/SKILL.md +6 -0
- package/template/.trae/skills/yss-repository/references/profiles/layered-mvc-service.md +3 -0
- package/template/.trae/skills/yss-repository/references/profiles/mvc-data-analysis-v1.md +3 -0
- package/template/.trae/skills/yss-repository/references/profiles/target-domain-model.md +3 -0
- package/template/.trae/skills/yss-skill-source-index-refresh/references/source-map-config.md +0 -1
- package/template/.trae/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +1 -1
- package/template/.trae/skills/yss-stage-decision/SKILL.md +16 -12
- package/template/.trae/skills/yss-stage-decision/references/domain-strategy-contract.md +16 -10
- package/template/.trae/skills/yss-stage-decision/references/domain-strategy.schema.json +23 -5
- package/template/.trae/skills/yss-stage-decision/references/stage-decision-package-contract.md +5 -2
- package/template/.trae/skills/yss-stage-decision/references/stage-decision-package.schema.json +16 -4
- package/template/.trae/skills/yss-stage-decision/references/validation-rules.md +1 -1
- package/template/.trae/skills/yss-stage-decision/scripts/migrate-context-references.mjs +62 -0
- package/template/.trae/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +18 -7
- package/template/.trae/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +20 -9
- package/template/.trae/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +1 -1
- package/template/.trae/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +1 -1
- package/template/.trae/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +12 -7
- package/template/.trae/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +9 -4
- package/template/.trae/skills/yss-stage-decision/tests/run-scenarios.mjs +134 -56
- package/template/.trae/skills/yss-tactical-design/SKILL.md +8 -2
- package/template/.trae/skills/yss-tactical-design/references/output-template.md +3 -0
- package/template/.trae/skills/yss-tactical-design/references/tactical-design-contract.md +3 -1
- package/template/.trae/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +10 -2
- package/template/.trae/skills/yss-ui/SKILL.md +1 -2
- package/template/.trae/skills/yss-ui-business-page-generation/SKILL.md +3 -3
- package/template/.trae/skills/yss-validation/SKILL.md +1 -0
- package/template/.trae/skills/yss-web-controller/SKILL.md +6 -0
- package/template/.trae/skills/yss-web-controller/references/profiles/layered-mvc-service.md +3 -0
- package/template/.trae/skills/yss-web-controller/references/profiles/mvc-data-analysis-v1.md +3 -0
- package/template/.trae/skills/yss-web-controller/references/profiles/target-domain-model.md +3 -0
- package/template/.trae/skills/yss-web-controller/references/web-generation-contract.schema.json +3 -2
- package/template/.trae/skills/yss-web-controller/scripts/generate_controller.mjs +27 -10
- package/template/.trae/skills/yss-web-controller/scripts/generate_controller.test.mjs +29 -1
- package/template/AGENTS.md +52 -91
- package/template/CONTEXT.md +15 -5
- package/template/DESIGN.md +85 -41
- package/template/__yss_dotfile__.gitignore +1 -0
- package/template/docs/agents/backend-architecture-profiles.md +25 -0
- package/template/docs/agents/digital-human-roles.md +3 -3
- package/template/docs/agents/digital-human-roles.yaml +46 -13
- package/template/docs/agents/domain.md +7 -6
- package/template/docs/agents/skill-migrations.md +20 -2
- package/template/docs/agents/skills-maintenance.md +3 -3
- package/template/docs/agents/strategic-design-skills-integration.md +6 -1
- package/template/docs/agents/yss-skill-registry.yaml +78 -94
- package/template/docs/agents/yss-ui-skills-integration.md +3 -3
- package/template/docs/api/templates/openapi-draft-review-checklist.md +2 -2
- package/template/docs/architecture/templates/engineering-baseline-review-template.md +18 -6
- package/template/docs/design/README.md +9 -6
- package/template/docs/design/design-system-sync.yaml +1 -1
- package/template/docs/design/design.md +86 -118
- package/template/docs/design/facts/antdv-next/1.5.2/cli-help.txt +38 -0
- package/template/docs/design/facts/antdv-next/1.5.2/component-list.json +434 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Alert/demo-basic.json +7 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Alert/info.json +246 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Alert/semantic.json +40 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Alert/token.json +32 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Button/demo-basic.json +7 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Button/info.json +190 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Button/semantic.json +20 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Button/token.json +256 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Input/demo-basic.json +7 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Input/info.json +460 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Input/semantic.json +70 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Input/token.json +123 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Modal/demo-basic.json +7 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Modal/info.json +646 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Modal/semantic.json +50 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Modal/token.json +130 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Select/demo-basic.json +7 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Select/info.json +640 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Select/semantic.json +70 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Select/token.json +172 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Table/demo-basic.json +7 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Table/info.json +1010 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Table/semantic.json +70 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Table/token.json +263 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Tag/demo-basic.json +7 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Tag/info.json +321 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Tag/semantic.json +25 -0
- package/template/docs/design/facts/antdv-next/1.5.2/components/Tag/token.json +25 -0
- package/template/docs/design/facts/antdv-next/1.5.2/design-md.json +3 -0
- package/template/docs/design/facts/antdv-next/1.5.2/manifest.json +215 -0
- package/template/docs/design/facts/antdv-next/1.5.2/resolution-probe.json +5 -0
- package/template/docs/design/preview-dark.html +170 -7
- package/template/docs/design/preview.css +730 -0
- package/template/docs/design/preview.html +168 -10
- package/template/docs/design/preview.js +71 -0
- package/template/docs/design/schemas/visual-baseline.schema.json +66 -0
- package/template/docs/design/templates/interaction-spec-template.md +1 -1
- package/template/docs/design/templates/product-overview-design-template.md +6 -6
- package/template/docs/design/templates/prototype-evidence-template.yaml +21 -8
- package/template/docs/design/templates/prototype-review-checklist.md +1 -1
- package/template/docs/design/templates/visual-baseline-template.yaml +70 -0
- package/template/docs/design/tokens/.design-md-projection.json +3 -3
- package/template/docs/design/tokens/theme.json +2 -2
- package/template/docs/design/tokens/variables.css +5 -0
- package/template/docs/process/harness-executive-blueprint.md +1 -1
- package/template/docs/process/harness-process-tailoring.md +1 -0
- package/template/docs/process/lifecycle-artifact-map.md +5 -4
- package/template/docs/process/lifecycle-registry-baseline.json +7 -5
- package/template/docs/process/lifecycle-registry.yaml +22 -0
- package/template/docs/process/schemas/backend-architecture-identity.schema.json +19 -0
- package/template/docs/process/schemas/context-reconciliation.schema.json +57 -0
- package/template/docs/process/schemas/digital-human-task-package.schema.json +10 -0
- package/template/docs/process/schemas/frontend-implementation-evidence.schema.json +62 -29
- package/template/docs/process/schemas/lifecycle-checkpoint.schema.json +16 -2
- package/template/docs/process/schemas/lifecycle-registry.schema.json +4 -4
- package/template/docs/process/schemas/scaffold-architecture-decisions.schema.json +68 -0
- package/template/docs/process/schemas/strategic-design-handoff.schema.json +670 -0
- package/template/docs/process/schemas/strategic-handoff-domain-strategy.schema.json +146 -0
- package/template/docs/process/schemas/strategic-handoff-export.schema.json +295 -0
- package/template/docs/process/schemas/strategic-handoff-package.schema.json +97 -0
- package/template/docs/process/schemas/strategic-handoff-stage-decision-package.schema.json +98 -0
- package/template/docs/process/schemas/user-decision.schema.json +357 -0
- package/template/docs/process/strategic-handoff-package.md +56 -0
- package/template/docs/process/template-verification-profiles.yaml +60 -1
- package/template/docs/process/templates/context-reconciliation-template.yaml +18 -0
- package/template/docs/process/templates/frontend-implementation-plan-template.yaml +11 -5
- package/template/docs/process/templates/frontend-implementation-verification-template.yaml +25 -5
- package/template/docs/process/templates/lifecycle-checkpoint-template.yaml +9 -0
- package/template/docs/process/templates/scaffold-architecture-decisions-template.yaml +32 -0
- package/template/docs/process/templates/stage-checkpoint-template.md +5 -0
- package/template/docs/process/templates/user-decision-template.yaml +30 -0
- package/template/docs/templates/approval-record-template.yaml +4 -0
- package/template/docs/templates/build-architecture-checklist-template.md +3 -3
- package/template/docs/templates/implementation-repo-registry-template.md +3 -1
- package/template/docs/templates/implementation-routing-template.md +8 -6
- package/template/docs/templates/requirement-freeze-template.md +1 -1
- package/template/docs/templates/review-report-template.md +1 -1
- package/template/docs/templates/spec-template.md +5 -5
- package/template/docs/user-guide//346/210/230/346/234/257/350/256/276/350/256/241/345/255/220/351/241/271/347/233/256/347/224/250/346/210/267/346/211/213/345/206/214.md +3 -1
- package/template/docs/user-guide//347/224/250/346/210/267/346/211/213/345/206/214.md +1 -1
- package/template/scripts/fixtures/strategic-handoff/base-stage.json +91 -0
- package/template/scripts/fixtures/strategic-handoff/base-strategy.json +205 -0
- package/template/scripts/fixtures/strategic-handoff/fixture.mjs +57 -0
- package/template/scripts/fixtures/strategic-handoff/source-roles.json +528 -0
- package/template/scripts/fixtures/user-decision/build-fixture.mjs +61 -0
- package/template/scripts/lib/approval-record.mjs +32 -1
- package/template/scripts/lib/backend-architecture.mjs +43 -0
- package/template/scripts/lib/context-contract.mjs +203 -0
- package/template/scripts/lib/digital-human-roles.mjs +21 -3
- package/template/scripts/lib/first-slice-architecture.mjs +23 -0
- package/template/scripts/lib/implementation-contract-compiler.mjs +34 -1
- package/template/scripts/lib/lifecycle-registry.mjs +14 -6
- package/template/scripts/lib/lifecycle-transition.mjs +19 -4
- package/template/scripts/lib/scaffold-local-database.mjs +26 -0
- package/template/scripts/lib/scenario-checks.mjs +25 -12
- package/template/scripts/lib/skill-governance.mjs +25 -10
- package/template/scripts/lib/skill-registry.mjs +1 -1
- package/template/scripts/lib/skill-supply-chain.mjs +1 -1
- package/template/scripts/lib/strategic-handoff-consumption.mjs +76 -0
- package/template/scripts/lib/strategic-handoff-io.mjs +75 -0
- package/template/scripts/lib/strategic-handoff-rules.mjs +37 -0
- package/template/scripts/lib/strategic-handoff-zip.py +52 -0
- package/template/scripts/lib/strategic-handoff.mjs +259 -0
- package/template/scripts/lib/task-package.mjs +10 -2
- package/template/scripts/lib/user-decision.mjs +210 -0
- package/template/scripts/strategic-handoff +14 -0
- package/template/scripts/sync-strategic-handoff-tools +18 -0
- package/template/scripts/verify-approval-record +5 -4
- package/template/scripts/verify-business-language-scenarios +59 -0
- package/template/scripts/verify-context-contract +15 -0
- package/template/scripts/verify-context-contract-scenarios +105 -0
- package/template/scripts/verify-context-reconciliation +58 -0
- package/template/scripts/verify-context-reconciliation-scenarios +69 -0
- package/template/scripts/verify-digital-human-roles-scenarios +1 -1
- package/template/scripts/verify-frontend-implementation-evidence +31 -8
- package/template/scripts/verify-frontend-implementation-evidence-scenarios +56 -0
- package/template/scripts/verify-grill-with-docs-context-scenarios +15 -0
- package/template/scripts/verify-lifecycle-checkpoint +9 -1
- package/template/scripts/verify-lifecycle-transition-scenarios +13 -3
- package/template/scripts/verify-retired-skill-ids +30 -4
- package/template/scripts/verify-scaffold-architecture-decision-scenarios +30 -0
- package/template/scripts/verify-scaffold-architecture-decisions +61 -0
- package/template/scripts/verify-scaffold-generator-scenarios +74 -3
- package/template/scripts/verify-strategic-context-import +65 -0
- package/template/scripts/verify-strategic-context-import-scenarios +50 -0
- package/template/scripts/verify-strategic-handoff-consumption +10 -0
- package/template/scripts/verify-strategic-handoff-package-scenarios +102 -0
- package/template/scripts/verify-subagent-task-package-scenarios +17 -3
- package/template/scripts/verify-template-verification-scenarios +6 -1
- package/template/scripts/verify-user-decision +17 -0
- package/template/scripts/verify-user-decision-scenarios +103 -0
- package/template/skills-lock.json +77 -270
- package/template/yss-public-skills.json +4 -4
- package/template.snapshot.json +4 -4
- package/template/.agents/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
- package/template/.agents/skills/ask-matt/SKILL.md +0 -95
- package/template/.agents/skills/ask-matt/agents/openai.yaml +0 -5
- package/template/.agents/skills/dispatching-parallel-agents/SKILL.md +0 -185
- package/template/.agents/skills/loop-me/SKILL.md +0 -32
- package/template/.agents/skills/loop-me/agents/openai.yaml +0 -5
- package/template/.agents/skills/migrate-to-shoehorn/SKILL.md +0 -118
- package/template/.agents/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
- package/template/.agents/skills/prototype-page-acceptance/SKILL.md +0 -62
- package/template/.agents/skills/scaffold-exercises/SKILL.md +0 -106
- package/template/.agents/skills/scaffold-exercises/agents/openai.yaml +0 -3
- package/template/.agents/skills/setup-pre-commit/SKILL.md +0 -91
- package/template/.agents/skills/setup-pre-commit/agents/openai.yaml +0 -3
- package/template/.agents/skills/setup-ts-deep-modules/SKILL.md +0 -102
- package/template/.agents/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
- package/template/.agents/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
- package/template/.agents/skills/teach/GLOSSARY-FORMAT.md +0 -35
- package/template/.agents/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
- package/template/.agents/skills/teach/MISSION-FORMAT.md +0 -31
- package/template/.agents/skills/teach/RESOURCES-FORMAT.md +0 -32
- package/template/.agents/skills/teach/SKILL.md +0 -140
- package/template/.agents/skills/teach/agents/openai.yaml +0 -5
- package/template/.agents/skills/writing-beats/SKILL.md +0 -67
- package/template/.agents/skills/writing-beats/agents/openai.yaml +0 -5
- package/template/.agents/skills/writing-fragments/SKILL.md +0 -79
- package/template/.agents/skills/writing-fragments/agents/openai.yaml +0 -5
- package/template/.agents/skills/writing-shape/SKILL.md +0 -79
- package/template/.agents/skills/writing-shape/agents/openai.yaml +0 -5
- package/template/.agents/skills/yss-microapp-commit/SKILL.md +0 -201
- package/template/.agents/skills/yss-microapp-commit/agents/openai.yaml +0 -5
- package/template/.agents/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
- package/template/.agents/skills/yss-page-module-development/SKILL.md +0 -165
- package/template/.agents/skills/yss-page-module-development/agents/openai.yaml +0 -5
- package/template/.agents/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
- package/template/.agents/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
- package/template/.agents/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
- package/template/.agents/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
- package/template/.agents/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
- package/template/.agents/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
- package/template/.agents/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
- package/template/.agents/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
- package/template/.agents/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
- package/template/.agents/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
- package/template/.agents/skills/yss-page-module-development/references/component-map.md +0 -34
- package/template/.agents/skills/yss-page-module-development/references/frontend-docs.md +0 -11
- package/template/.agents/skills/yss-page-module-development/references/hooks-map.md +0 -11
- package/template/.agents/skills/yss-page-module-development/references/utils-map.md +0 -14
- package/template/.claude/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
- package/template/.claude/skills/ask-matt/SKILL.md +0 -95
- package/template/.claude/skills/ask-matt/agents/openai.yaml +0 -5
- package/template/.claude/skills/dispatching-parallel-agents/SKILL.md +0 -185
- package/template/.claude/skills/loop-me/SKILL.md +0 -32
- package/template/.claude/skills/loop-me/agents/openai.yaml +0 -5
- package/template/.claude/skills/migrate-to-shoehorn/SKILL.md +0 -118
- package/template/.claude/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
- package/template/.claude/skills/prototype-page-acceptance/SKILL.md +0 -62
- package/template/.claude/skills/scaffold-exercises/SKILL.md +0 -106
- package/template/.claude/skills/scaffold-exercises/agents/openai.yaml +0 -3
- package/template/.claude/skills/setup-pre-commit/SKILL.md +0 -91
- package/template/.claude/skills/setup-pre-commit/agents/openai.yaml +0 -3
- package/template/.claude/skills/setup-ts-deep-modules/SKILL.md +0 -102
- package/template/.claude/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
- package/template/.claude/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
- package/template/.claude/skills/teach/GLOSSARY-FORMAT.md +0 -35
- package/template/.claude/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
- package/template/.claude/skills/teach/MISSION-FORMAT.md +0 -31
- package/template/.claude/skills/teach/RESOURCES-FORMAT.md +0 -32
- package/template/.claude/skills/teach/SKILL.md +0 -140
- package/template/.claude/skills/teach/agents/openai.yaml +0 -5
- package/template/.claude/skills/writing-beats/SKILL.md +0 -67
- package/template/.claude/skills/writing-beats/agents/openai.yaml +0 -5
- package/template/.claude/skills/writing-fragments/SKILL.md +0 -79
- package/template/.claude/skills/writing-fragments/agents/openai.yaml +0 -5
- package/template/.claude/skills/writing-shape/SKILL.md +0 -79
- package/template/.claude/skills/writing-shape/agents/openai.yaml +0 -5
- package/template/.claude/skills/yss-microapp-commit/SKILL.md +0 -201
- package/template/.claude/skills/yss-microapp-commit/agents/openai.yaml +0 -5
- package/template/.claude/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
- package/template/.claude/skills/yss-page-module-development/SKILL.md +0 -165
- package/template/.claude/skills/yss-page-module-development/agents/openai.yaml +0 -5
- package/template/.claude/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
- package/template/.claude/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
- package/template/.claude/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
- package/template/.claude/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
- package/template/.claude/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
- package/template/.claude/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
- package/template/.claude/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
- package/template/.claude/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
- package/template/.claude/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
- package/template/.claude/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
- package/template/.claude/skills/yss-page-module-development/references/component-map.md +0 -34
- package/template/.claude/skills/yss-page-module-development/references/frontend-docs.md +0 -11
- package/template/.claude/skills/yss-page-module-development/references/hooks-map.md +0 -11
- package/template/.claude/skills/yss-page-module-development/references/utils-map.md +0 -14
- package/template/.codex/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
- package/template/.codex/skills/ask-matt/SKILL.md +0 -95
- package/template/.codex/skills/ask-matt/agents/openai.yaml +0 -5
- package/template/.codex/skills/dispatching-parallel-agents/SKILL.md +0 -185
- package/template/.codex/skills/loop-me/SKILL.md +0 -32
- package/template/.codex/skills/loop-me/agents/openai.yaml +0 -5
- package/template/.codex/skills/migrate-to-shoehorn/SKILL.md +0 -118
- package/template/.codex/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
- package/template/.codex/skills/prototype-page-acceptance/SKILL.md +0 -62
- package/template/.codex/skills/scaffold-exercises/SKILL.md +0 -106
- package/template/.codex/skills/scaffold-exercises/agents/openai.yaml +0 -3
- package/template/.codex/skills/setup-pre-commit/SKILL.md +0 -91
- package/template/.codex/skills/setup-pre-commit/agents/openai.yaml +0 -3
- package/template/.codex/skills/setup-ts-deep-modules/SKILL.md +0 -102
- package/template/.codex/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
- package/template/.codex/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
- package/template/.codex/skills/teach/GLOSSARY-FORMAT.md +0 -35
- package/template/.codex/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
- package/template/.codex/skills/teach/MISSION-FORMAT.md +0 -31
- package/template/.codex/skills/teach/RESOURCES-FORMAT.md +0 -32
- package/template/.codex/skills/teach/SKILL.md +0 -140
- package/template/.codex/skills/teach/agents/openai.yaml +0 -5
- package/template/.codex/skills/writing-beats/SKILL.md +0 -67
- package/template/.codex/skills/writing-beats/agents/openai.yaml +0 -5
- package/template/.codex/skills/writing-fragments/SKILL.md +0 -79
- package/template/.codex/skills/writing-fragments/agents/openai.yaml +0 -5
- package/template/.codex/skills/writing-shape/SKILL.md +0 -79
- package/template/.codex/skills/writing-shape/agents/openai.yaml +0 -5
- package/template/.codex/skills/yss-microapp-commit/SKILL.md +0 -201
- package/template/.codex/skills/yss-microapp-commit/agents/openai.yaml +0 -5
- package/template/.codex/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
- package/template/.codex/skills/yss-page-module-development/SKILL.md +0 -165
- package/template/.codex/skills/yss-page-module-development/agents/openai.yaml +0 -5
- package/template/.codex/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
- package/template/.codex/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
- package/template/.codex/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
- package/template/.codex/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
- package/template/.codex/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
- package/template/.codex/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
- package/template/.codex/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
- package/template/.codex/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
- package/template/.codex/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
- package/template/.codex/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
- package/template/.codex/skills/yss-page-module-development/references/component-map.md +0 -34
- package/template/.codex/skills/yss-page-module-development/references/frontend-docs.md +0 -11
- package/template/.codex/skills/yss-page-module-development/references/hooks-map.md +0 -11
- package/template/.codex/skills/yss-page-module-development/references/utils-map.md +0 -14
- package/template/.cursor/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
- package/template/.cursor/skills/ask-matt/SKILL.md +0 -95
- package/template/.cursor/skills/ask-matt/agents/openai.yaml +0 -5
- package/template/.cursor/skills/dispatching-parallel-agents/SKILL.md +0 -185
- package/template/.cursor/skills/loop-me/SKILL.md +0 -32
- package/template/.cursor/skills/loop-me/agents/openai.yaml +0 -5
- package/template/.cursor/skills/migrate-to-shoehorn/SKILL.md +0 -118
- package/template/.cursor/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
- package/template/.cursor/skills/prototype-page-acceptance/SKILL.md +0 -62
- package/template/.cursor/skills/scaffold-exercises/SKILL.md +0 -106
- package/template/.cursor/skills/scaffold-exercises/agents/openai.yaml +0 -3
- package/template/.cursor/skills/setup-pre-commit/SKILL.md +0 -91
- package/template/.cursor/skills/setup-pre-commit/agents/openai.yaml +0 -3
- package/template/.cursor/skills/setup-ts-deep-modules/SKILL.md +0 -102
- package/template/.cursor/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
- package/template/.cursor/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
- package/template/.cursor/skills/teach/GLOSSARY-FORMAT.md +0 -35
- package/template/.cursor/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
- package/template/.cursor/skills/teach/MISSION-FORMAT.md +0 -31
- package/template/.cursor/skills/teach/RESOURCES-FORMAT.md +0 -32
- package/template/.cursor/skills/teach/SKILL.md +0 -140
- package/template/.cursor/skills/teach/agents/openai.yaml +0 -5
- package/template/.cursor/skills/writing-beats/SKILL.md +0 -67
- package/template/.cursor/skills/writing-beats/agents/openai.yaml +0 -5
- package/template/.cursor/skills/writing-fragments/SKILL.md +0 -79
- package/template/.cursor/skills/writing-fragments/agents/openai.yaml +0 -5
- package/template/.cursor/skills/writing-shape/SKILL.md +0 -79
- package/template/.cursor/skills/writing-shape/agents/openai.yaml +0 -5
- package/template/.cursor/skills/yss-microapp-commit/SKILL.md +0 -201
- package/template/.cursor/skills/yss-microapp-commit/agents/openai.yaml +0 -5
- package/template/.cursor/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
- package/template/.cursor/skills/yss-page-module-development/SKILL.md +0 -165
- package/template/.cursor/skills/yss-page-module-development/agents/openai.yaml +0 -5
- package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
- package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
- package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
- package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
- package/template/.cursor/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
- package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
- package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
- package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
- package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
- package/template/.cursor/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
- package/template/.cursor/skills/yss-page-module-development/references/component-map.md +0 -34
- package/template/.cursor/skills/yss-page-module-development/references/frontend-docs.md +0 -11
- package/template/.cursor/skills/yss-page-module-development/references/hooks-map.md +0 -11
- package/template/.cursor/skills/yss-page-module-development/references/utils-map.md +0 -14
- package/template/.pi/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
- package/template/.pi/skills/ask-matt/SKILL.md +0 -95
- package/template/.pi/skills/ask-matt/agents/openai.yaml +0 -5
- package/template/.pi/skills/dispatching-parallel-agents/SKILL.md +0 -185
- package/template/.pi/skills/loop-me/SKILL.md +0 -32
- package/template/.pi/skills/loop-me/agents/openai.yaml +0 -5
- package/template/.pi/skills/migrate-to-shoehorn/SKILL.md +0 -118
- package/template/.pi/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
- package/template/.pi/skills/prototype-page-acceptance/SKILL.md +0 -62
- package/template/.pi/skills/scaffold-exercises/SKILL.md +0 -106
- package/template/.pi/skills/scaffold-exercises/agents/openai.yaml +0 -3
- package/template/.pi/skills/setup-pre-commit/SKILL.md +0 -91
- package/template/.pi/skills/setup-pre-commit/agents/openai.yaml +0 -3
- package/template/.pi/skills/setup-ts-deep-modules/SKILL.md +0 -102
- package/template/.pi/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
- package/template/.pi/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
- package/template/.pi/skills/teach/GLOSSARY-FORMAT.md +0 -35
- package/template/.pi/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
- package/template/.pi/skills/teach/MISSION-FORMAT.md +0 -31
- package/template/.pi/skills/teach/RESOURCES-FORMAT.md +0 -32
- package/template/.pi/skills/teach/SKILL.md +0 -140
- package/template/.pi/skills/teach/agents/openai.yaml +0 -5
- package/template/.pi/skills/writing-beats/SKILL.md +0 -67
- package/template/.pi/skills/writing-beats/agents/openai.yaml +0 -5
- package/template/.pi/skills/writing-fragments/SKILL.md +0 -79
- package/template/.pi/skills/writing-fragments/agents/openai.yaml +0 -5
- package/template/.pi/skills/writing-shape/SKILL.md +0 -79
- package/template/.pi/skills/writing-shape/agents/openai.yaml +0 -5
- package/template/.pi/skills/yss-microapp-commit/SKILL.md +0 -201
- package/template/.pi/skills/yss-microapp-commit/agents/openai.yaml +0 -5
- package/template/.pi/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
- package/template/.pi/skills/yss-page-module-development/SKILL.md +0 -165
- package/template/.pi/skills/yss-page-module-development/agents/openai.yaml +0 -5
- package/template/.pi/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
- package/template/.pi/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
- package/template/.pi/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
- package/template/.pi/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
- package/template/.pi/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
- package/template/.pi/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
- package/template/.pi/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
- package/template/.pi/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
- package/template/.pi/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
- package/template/.pi/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
- package/template/.pi/skills/yss-page-module-development/references/component-map.md +0 -34
- package/template/.pi/skills/yss-page-module-development/references/frontend-docs.md +0 -11
- package/template/.pi/skills/yss-page-module-development/references/hooks-map.md +0 -11
- package/template/.pi/skills/yss-page-module-development/references/utils-map.md +0 -14
- package/template/.qoder/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
- package/template/.qoder/skills/ask-matt/SKILL.md +0 -95
- package/template/.qoder/skills/ask-matt/agents/openai.yaml +0 -5
- package/template/.qoder/skills/dispatching-parallel-agents/SKILL.md +0 -185
- package/template/.qoder/skills/loop-me/SKILL.md +0 -32
- package/template/.qoder/skills/loop-me/agents/openai.yaml +0 -5
- package/template/.qoder/skills/migrate-to-shoehorn/SKILL.md +0 -118
- package/template/.qoder/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
- package/template/.qoder/skills/prototype-page-acceptance/SKILL.md +0 -62
- package/template/.qoder/skills/scaffold-exercises/SKILL.md +0 -106
- package/template/.qoder/skills/scaffold-exercises/agents/openai.yaml +0 -3
- package/template/.qoder/skills/setup-pre-commit/SKILL.md +0 -91
- package/template/.qoder/skills/setup-pre-commit/agents/openai.yaml +0 -3
- package/template/.qoder/skills/setup-ts-deep-modules/SKILL.md +0 -102
- package/template/.qoder/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
- package/template/.qoder/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
- package/template/.qoder/skills/teach/GLOSSARY-FORMAT.md +0 -35
- package/template/.qoder/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
- package/template/.qoder/skills/teach/MISSION-FORMAT.md +0 -31
- package/template/.qoder/skills/teach/RESOURCES-FORMAT.md +0 -32
- package/template/.qoder/skills/teach/SKILL.md +0 -140
- package/template/.qoder/skills/teach/agents/openai.yaml +0 -5
- package/template/.qoder/skills/writing-beats/SKILL.md +0 -67
- package/template/.qoder/skills/writing-beats/agents/openai.yaml +0 -5
- package/template/.qoder/skills/writing-fragments/SKILL.md +0 -79
- package/template/.qoder/skills/writing-fragments/agents/openai.yaml +0 -5
- package/template/.qoder/skills/writing-shape/SKILL.md +0 -79
- package/template/.qoder/skills/writing-shape/agents/openai.yaml +0 -5
- package/template/.qoder/skills/yss-microapp-commit/SKILL.md +0 -201
- package/template/.qoder/skills/yss-microapp-commit/agents/openai.yaml +0 -5
- package/template/.qoder/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
- package/template/.qoder/skills/yss-page-module-development/SKILL.md +0 -165
- package/template/.qoder/skills/yss-page-module-development/agents/openai.yaml +0 -5
- package/template/.qoder/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
- package/template/.qoder/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
- package/template/.qoder/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
- package/template/.qoder/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
- package/template/.qoder/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
- package/template/.qoder/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
- package/template/.qoder/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
- package/template/.qoder/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
- package/template/.qoder/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
- package/template/.qoder/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
- package/template/.qoder/skills/yss-page-module-development/references/component-map.md +0 -34
- package/template/.qoder/skills/yss-page-module-development/references/frontend-docs.md +0 -11
- package/template/.qoder/skills/yss-page-module-development/references/hooks-map.md +0 -11
- package/template/.qoder/skills/yss-page-module-development/references/utils-map.md +0 -14
- package/template/.trae/skills/ask-matt/PHASE-BOUNDARIES.md +0 -55
- package/template/.trae/skills/ask-matt/SKILL.md +0 -95
- package/template/.trae/skills/ask-matt/agents/openai.yaml +0 -5
- package/template/.trae/skills/dispatching-parallel-agents/SKILL.md +0 -185
- package/template/.trae/skills/loop-me/SKILL.md +0 -32
- package/template/.trae/skills/loop-me/agents/openai.yaml +0 -5
- package/template/.trae/skills/migrate-to-shoehorn/SKILL.md +0 -118
- package/template/.trae/skills/migrate-to-shoehorn/agents/openai.yaml +0 -3
- package/template/.trae/skills/prototype-page-acceptance/SKILL.md +0 -62
- package/template/.trae/skills/scaffold-exercises/SKILL.md +0 -106
- package/template/.trae/skills/scaffold-exercises/agents/openai.yaml +0 -3
- package/template/.trae/skills/setup-pre-commit/SKILL.md +0 -91
- package/template/.trae/skills/setup-pre-commit/agents/openai.yaml +0 -3
- package/template/.trae/skills/setup-ts-deep-modules/SKILL.md +0 -102
- package/template/.trae/skills/setup-ts-deep-modules/agents/openai.yaml +0 -5
- package/template/.trae/skills/setup-ts-deep-modules/dependency-cruiser.config.cjs +0 -95
- package/template/.trae/skills/teach/GLOSSARY-FORMAT.md +0 -35
- package/template/.trae/skills/teach/LEARNING-RECORD-FORMAT.md +0 -46
- package/template/.trae/skills/teach/MISSION-FORMAT.md +0 -31
- package/template/.trae/skills/teach/RESOURCES-FORMAT.md +0 -32
- package/template/.trae/skills/teach/SKILL.md +0 -140
- package/template/.trae/skills/teach/agents/openai.yaml +0 -5
- package/template/.trae/skills/writing-beats/SKILL.md +0 -67
- package/template/.trae/skills/writing-beats/agents/openai.yaml +0 -5
- package/template/.trae/skills/writing-fragments/SKILL.md +0 -79
- package/template/.trae/skills/writing-fragments/agents/openai.yaml +0 -5
- package/template/.trae/skills/writing-shape/SKILL.md +0 -79
- package/template/.trae/skills/writing-shape/agents/openai.yaml +0 -5
- package/template/.trae/skills/yss-microapp-commit/SKILL.md +0 -201
- package/template/.trae/skills/yss-microapp-commit/agents/openai.yaml +0 -5
- package/template/.trae/skills/yss-microapp-commit/references/scope-mapping.md +0 -204
- package/template/.trae/skills/yss-page-module-development/SKILL.md +0 -165
- package/template/.trae/skills/yss-page-module-development/agents/openai.yaml +0 -5
- package/template/.trae/skills/yss-page-module-development/examples/AdvancedFormPage/constant.ts +0 -32
- package/template/.trae/skills/yss-page-module-development/examples/AdvancedFormPage/hooks/useRuleConfig.ts +0 -158
- package/template/.trae/skills/yss-page-module-development/examples/AdvancedFormPage/index.vue +0 -188
- package/template/.trae/skills/yss-page-module-development/examples/AdvancedFormPage/schemas/ruleConfigSchema.ts +0 -256
- package/template/.trae/skills/yss-page-module-development/examples/AdvancedFormPage/style.less +0 -76
- package/template/.trae/skills/yss-page-module-development/examples/StandardListPage/constant.ts +0 -128
- package/template/.trae/skills/yss-page-module-development/examples/StandardListPage/hooks/useQualityRuleList.ts +0 -144
- package/template/.trae/skills/yss-page-module-development/examples/StandardListPage/hooks/useRuleActions.ts +0 -141
- package/template/.trae/skills/yss-page-module-development/examples/StandardListPage/index.vue +0 -175
- package/template/.trae/skills/yss-page-module-development/examples/StandardListPage/style.less +0 -83
- package/template/.trae/skills/yss-page-module-development/references/component-map.md +0 -34
- package/template/.trae/skills/yss-page-module-development/references/frontend-docs.md +0 -11
- package/template/.trae/skills/yss-page-module-development/references/hooks-map.md +0 -11
- package/template/.trae/skills/yss-page-module-development/references/utils-map.md +0 -14
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: yss-stage-decision
|
|
3
|
-
description: 编排 Discovery 到 Spec
|
|
3
|
+
description: 编排 Discovery 到 Spec 入口的方案决策与业务边界、协作和规则设计;当需求、业务责任区、统一业务词汇或下游影响尚未稳定时使用。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# YSS Stage Decision
|
|
7
7
|
|
|
8
|
-
`yss-stage-decision`
|
|
8
|
+
`yss-stage-decision` 是由生命周期主控调度的上游决策技能,负责把需求、产品、商务输入和业务边界与规则设计结果整理成可审查、可版本化、可被下游消费的方案决策包。它不替代生命周期主控,也不生成产品代码、原型、OpenAPI 或垂直切片 Ticket。
|
|
9
9
|
|
|
10
10
|
## 适用边界
|
|
11
11
|
|
|
12
12
|
- 适用于 `project-instance` 的 Discovery → Spec 入口。
|
|
13
13
|
- `template-source` 只维护本技能、Schema、验证器和合成 Fixture,不生成具体产品领域资产。
|
|
14
|
-
-
|
|
14
|
+
- 业务边界与协作工作单元只回答:有哪些业务板块、每个业务责任区负责什么、不同责任区如何交接、使用哪些统一业务词汇、发生哪些业务事实、有哪些待确认的关键业务对象和不可违反的业务规则。
|
|
15
15
|
- Entity、Aggregate、Repository、Java 类、数据库表和 OpenAPI Freeze 留给下游工作单元。
|
|
16
16
|
|
|
17
17
|
## 执行顺序
|
|
18
18
|
|
|
19
19
|
1. 读取 `yss-project.yaml`、`CONTEXT.md`、既有 Discovery/Spec、ADR 和父 Ticket/checkpoint。
|
|
20
20
|
2. 分离事实、决策、假设、约束和未决项;技术事实走 `yss-research` 的 `technical-evidence`,领域边界、业务规则、MVP、非目标、成功标准或阶段推进依据等决策证据走 `strategy-evidence`,市场/竞品事实走 `competitive-intelligence`。
|
|
21
|
-
3.
|
|
22
|
-
4.
|
|
23
|
-
5.
|
|
24
|
-
6. 生成 `domain_strategy` 和 `stage_decision_package
|
|
25
|
-
7. 运行 Schema
|
|
21
|
+
3. 从业务故事、已发生的事实、规则、责任人和失败路径识别业务板块与业务责任区,不从数据库表或调用链直接反推边界。
|
|
22
|
+
4. 为每个业务责任区建立统一业务词汇;对跨责任区协作记录规则提供方、规则使用方、业务决策权、信息传递方向和口径转换负责人。
|
|
23
|
+
5. 记录待确认的关键业务对象,不提前指定技术模型。
|
|
24
|
+
6. 生成 schema v2 `domain_strategy` 和 `stage_decision_package`,使用 `context_snapshot` 绑定根 `CONTEXT.md`、术语身份、完整文档 digest、引用术语 digest、证据和下游影响映射。
|
|
25
|
+
7. 运行 Schema、根路径、术语引用、digest、语义一致性和传播验证;发现关键冲突时返回 `blocked`,不得生成 `approved` 包。v1 字符串引用只读并返回 `migration-required`;可唯一定位的旧锚点用 `scripts/migrate-context-references.mjs` 迁移,歧义引用不得猜测。
|
|
26
26
|
|
|
27
27
|
## 语义方向规则
|
|
28
28
|
|
|
29
|
-
`semantic_upstream`
|
|
29
|
+
内部字段 `semantic_upstream` 表示规则提供方,`semantic_downstream` 表示规则使用方。二者不等于 HTTP、消息或数据库的技术方向。每条协作关系必须独立记录 `transport_direction` 和 `translation_responsibility`;同一对业务责任区可以存在多条相反方向的信息关系。
|
|
30
30
|
|
|
31
31
|
## 产物与批准
|
|
32
32
|
|
|
33
|
-
-
|
|
33
|
+
- 业务边界与规则设计是本类事实的权威资产,方案决策包只通过内部字段 `domain_strategy_ref` 引用它。两个合同的 `context_snapshot.context_ref` 必须精确为仓库根 `CONTEXT.md`,禁止子目录、`CONTEXT-MAP.md`、绝对路径和 Markdown 伪锚点。
|
|
34
34
|
- 进入 `gate.domain-strategy-approved` 或 `gate.stage-decision-package-approved` 的外部决策证据必须引用通过校验的 `yss-research` `evidence-audited` 研究包;研究包只提供证据,不得直接修改本技能资产或批准门禁。
|
|
35
35
|
- `stage_decision_package` 必须经过 `draft → ready-for-human → approved`;起草者不得自签。
|
|
36
36
|
- 建议门禁为 `gate.domain-strategy-approved` 和 `gate.stage-decision-package-approved`,实际状态由 `yss-product-lifecycle` 维护;阶段包批准引用必须通过 `scripts/verify-approval-record`,不得用不可读路径或聊天确认替代。
|
|
@@ -42,10 +42,14 @@ description: 编排 Discovery 到 Spec 入口的阶段决策与 DDD 战略设计
|
|
|
42
42
|
|
|
43
43
|
## 禁止事项
|
|
44
44
|
|
|
45
|
-
-
|
|
45
|
+
- 不把方案决策包当作第二套业务事实源。
|
|
46
46
|
- 不按数据库、微服务、菜单或 HTTP 调用方向自动划分上下文。
|
|
47
47
|
- 不把同名术语强行合并为全局概念。
|
|
48
|
-
-
|
|
48
|
+
- 不在业务方案设计阶段生成技术模型、生产代码或 API 契约。
|
|
49
49
|
- 不把模板 Fixture 当作具体项目的业务事实。
|
|
50
50
|
|
|
51
51
|
详细合同、字段和验证规则见 `references/domain-strategy-contract.md`、`references/stage-decision-package-contract.md` 与 `references/validation-rules.md`。机器可读合同分别为 `references/domain-strategy.schema.json` 和 `references/stage-decision-package.schema.json`;对应验证器为 `scripts/validate-domain-strategy.mjs` 与 `scripts/validate-stage-decision-package.mjs`。
|
|
52
|
+
|
|
53
|
+
## 战略交接快照包
|
|
54
|
+
|
|
55
|
+
跨仓交接使用 `scripts/strategic-handoff export / verify / import`。正式导出前补齐源战略的稳定规则 ID、关键场景和当前批准绑定;源资产原字节冻结、包内路径通过清单解析。目标导入只产生快照和对账/承接草案,正式 reconciliation 通过后才能进入战术设计。流程与字段见 `docs/process/strategic-handoff-package.md`。
|
|
@@ -1,26 +1,32 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 业务边界与规则设计合同
|
|
2
2
|
|
|
3
3
|
## 顶层结构
|
|
4
4
|
|
|
5
5
|
机器可读合同使用 `references/domain-strategy.schema.json`。顶层必须包含:
|
|
6
6
|
|
|
7
|
-
- `schema_version`、`domain_strategy_id`、`domain_version`、`status`;
|
|
7
|
+
- `schema_version: 2`、`domain_strategy_id`、`domain_version`、`status`;
|
|
8
8
|
- `contexts`、`subdomains`、`relationships`、`scenarios`;
|
|
9
|
-
- `concept_candidates`、`invariants`、`
|
|
9
|
+
- `concept_candidates`、`invariants`、`context_snapshot`;
|
|
10
10
|
- `downstream_mapping`、`evidence_refs`、`approval`。
|
|
11
11
|
|
|
12
|
-
##
|
|
12
|
+
## 业务责任区
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
每个业务责任区声明内部 `context_id`、职责边界、非职责、业务板块分类、责任人、关键场景和本地词汇引用。`context_id` 是稳定身份,由 Agent 维护;不得使用代码模块、数据库 schema 或菜单路径替代。
|
|
15
|
+
|
|
16
|
+
`context_snapshot.context_ref` 固定为 `CONTEXT.md`,`term_refs` 使用 `<ContextId>/<EnglishIdentifier>` 或 `Global/<EnglishIdentifier>`;同时记录完整文档 `document_digest` 与引用术语集 `referenced_terms_digest`。v1 `terminology_refs` 只读并进入迁移检查,只有唯一映射时才可确定性迁移。
|
|
15
17
|
|
|
16
18
|
## 关系
|
|
17
19
|
|
|
18
|
-
|
|
20
|
+
协作关系必须声明内部字段 `relationship_pattern`、`semantic_upstream`、`semantic_downstream`、`business_authority`、`model_change_impact`、`transport_direction` 和 `translation_responsibility`。业务人员只需确认协作方式、规则提供方和使用方、业务决策权、信息方向与口径转换负责人;Agent 再映射到合同允许值。
|
|
21
|
+
|
|
22
|
+
## 待确认的关键业务对象
|
|
23
|
+
|
|
24
|
+
使用内部类型 `domain_concept_candidate` 表达待确认的关键业务对象,记录识别特征、生命周期、不可违反规则引用、可能的技术映射和置信度。不得在该合同中直接批准技术模型。
|
|
19
25
|
|
|
20
|
-
##
|
|
26
|
+
## 方案决策包
|
|
21
27
|
|
|
22
|
-
|
|
28
|
+
方案决策包应通过内部字段 `domain_strategy_ref` 引用本合同的当前版本和 digest,并使用 `domain_to_downstream_mapping` 描述业务变化对 Spec、设计、API、数据、Ticket 和测试 seam 的传播。
|
|
23
29
|
|
|
24
|
-
##
|
|
30
|
+
## 便携交付的逐条追溯
|
|
25
31
|
|
|
26
|
-
|
|
32
|
+
正式导出要求 `traceability_version: 1`、`rule_catalog`、场景 `rule_refs / critical / success_results` 和不变量 `rule_ref`。已有 v2 文档继续只读兼容;缺稳定规则 ID 或未重新批准时禁止正式导出。具体合同见 `docs/process/strategic-handoff-package.md`,不得由导出器发明业务身份。
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "https://yss.local/schemas/domain-strategy-
|
|
4
|
-
"title": "YSS
|
|
3
|
+
"$id": "https://yss.local/schemas/domain-strategy-v2.json",
|
|
4
|
+
"title": "YSS 业务边界与规则设计",
|
|
5
5
|
"type": "object",
|
|
6
|
-
"required": ["schema_version", "domain_strategy_id", "domain_version", "status", "contexts", "subdomains", "relationships", "scenarios", "concept_candidates", "invariants", "
|
|
6
|
+
"required": ["schema_version", "domain_strategy_id", "domain_version", "status", "contexts", "subdomains", "relationships", "scenarios", "concept_candidates", "invariants", "context_snapshot", "downstream_mapping", "evidence_refs", "approval"],
|
|
7
7
|
"properties": {
|
|
8
|
-
"
|
|
8
|
+
"traceability_version": {"const": 1},
|
|
9
|
+
"rule_catalog": {"type": "array", "items": {"type": "object", "additionalProperties": false, "required": ["rule_id", "statement", "responsible_context", "status"], "properties": {"rule_id": {"type": "string", "pattern": "^rule\\.[a-z0-9][a-z0-9-]*$"}, "statement": {"type": "string", "minLength": 1}, "responsible_context": {"type": "string", "minLength": 1}, "status": {"const": "confirmed"}}}, "minItems": 1},
|
|
10
|
+
"schema_version": {"const": 2},
|
|
9
11
|
"domain_strategy_id": {"type": "string", "pattern": "^domain-strategy\\.[a-z0-9][a-z0-9-]*$"},
|
|
10
12
|
"domain_version": {"type": "string", "pattern": "^v[0-9]+$"},
|
|
11
13
|
"status": {"enum": ["draft", "ready-for-human", "approved", "stale", "blocked"]},
|
|
@@ -15,12 +17,24 @@
|
|
|
15
17
|
"scenarios": {"type": "array", "minItems": 1, "items": {"$ref": "#/$defs/scenario"}},
|
|
16
18
|
"concept_candidates": {"type": "array", "items": {"$ref": "#/$defs/concept"}},
|
|
17
19
|
"invariants": {"type": "array", "items": {"$ref": "#/$defs/invariant"}},
|
|
18
|
-
"
|
|
20
|
+
"context_snapshot": {"$ref": "#/$defs/contextSnapshot"},
|
|
19
21
|
"downstream_mapping": {"type": "array", "items": {"$ref": "#/$defs/mapping"}},
|
|
20
22
|
"evidence_refs": {"type": "array", "minItems": 1, "items": {"type": "string", "minLength": 1}},
|
|
21
23
|
"approval": {"$ref": "#/$defs/approval"}
|
|
22
24
|
},
|
|
23
25
|
"$defs": {
|
|
26
|
+
"contextSnapshot": {
|
|
27
|
+
"type": "object",
|
|
28
|
+
"additionalProperties": false,
|
|
29
|
+
"required": ["context_ref", "context_schema_version", "document_digest", "referenced_terms_digest", "term_refs"],
|
|
30
|
+
"properties": {
|
|
31
|
+
"context_ref": {"const": "CONTEXT.md"},
|
|
32
|
+
"context_schema_version": {"const": 1},
|
|
33
|
+
"document_digest": {"type": "string", "pattern": "^sha256:[0-9a-f]{64}$"},
|
|
34
|
+
"referenced_terms_digest": {"type": "string", "pattern": "^sha256:[0-9a-f]{64}$"},
|
|
35
|
+
"term_refs": {"type": "array", "items": {"type": "string", "pattern": "^(Global|[A-Z][A-Za-z0-9]+)/[A-Z][A-Za-z0-9]+$"}, "uniqueItems": true}
|
|
36
|
+
}
|
|
37
|
+
},
|
|
24
38
|
"context": {
|
|
25
39
|
"type": "object",
|
|
26
40
|
"required": ["context_id", "name", "responsibilities", "non_responsibilities", "subdomain_type", "owner", "status"],
|
|
@@ -66,6 +80,9 @@
|
|
|
66
80
|
"type": "object",
|
|
67
81
|
"required": ["scenario_id", "actor", "preconditions", "commands", "rules", "events", "failure_results", "responsible_context", "consumers", "status"],
|
|
68
82
|
"properties": {
|
|
83
|
+
"rule_refs": {"type": "array", "items": {"type": "string", "minLength": 1}, "minItems": 1},
|
|
84
|
+
"critical": {"type": "boolean"},
|
|
85
|
+
"success_results": {"type": "array", "items": {"type": "string", "minLength": 1}, "minItems": 1},
|
|
69
86
|
"scenario_id": {"type": "string", "pattern": "^scenario\\.[a-z0-9][a-z0-9-]*$"},
|
|
70
87
|
"actor": {"type": "string", "minLength": 1},
|
|
71
88
|
"preconditions": {"type": "array", "items": {"type": "string"}},
|
|
@@ -97,6 +114,7 @@
|
|
|
97
114
|
"type": "object",
|
|
98
115
|
"required": ["invariant_id", "statement", "responsible_context", "scenario_refs", "verification_method"],
|
|
99
116
|
"properties": {
|
|
117
|
+
"rule_ref": {"type": "string", "minLength": 1},
|
|
100
118
|
"invariant_id": {"type": "string", "pattern": "^invariant\\.[a-z0-9][a-z0-9-]*$"},
|
|
101
119
|
"statement": {"type": "string", "minLength": 1},
|
|
102
120
|
"responsible_context": {"type": "string", "pattern": "^[A-Z][A-Za-z0-9]+$"},
|
package/template/.qoder/skills/yss-stage-decision/references/stage-decision-package-contract.md
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
#
|
|
1
|
+
# 方案决策包合同
|
|
2
2
|
|
|
3
|
-
`stage_decision_package` 是 Discovery
|
|
3
|
+
内部对象 `stage_decision_package` 是 Discovery、需求/产品/商务决策与业务边界和规则设计之间的冻结入口。它记录“做什么、为什么做、范围是什么、哪些仍未决”,不复制业务边界与规则事实。
|
|
4
4
|
|
|
5
5
|
## 必须包含
|
|
6
6
|
|
|
7
7
|
- 问题陈述、目标用户、MVP、非目标、成功标准和可执行的测试 seam;
|
|
8
8
|
- 已确认决策、假设、约束和未决项;
|
|
9
|
+
- `context_snapshot`:只引用根 `CONTEXT.md`,并绑定结构化术语身份、全文摘要和引用集摘要;
|
|
9
10
|
- `domain_strategy_ref`:领域战略合同的稳定 ID、版本、digest 和批准状态;
|
|
10
11
|
- UI/API/Data/Backend/Frontend/跨仓/高风险影响面布尔值;
|
|
11
12
|
- 每个下游消费者的传播方式、重新批准条件、证据引用和批准记录。`approval.approval_ref` 必须指向可读取且通过 `scripts/verify-approval-record` 的 `gate.stage-decision-package-approved` 会签记录;`approval.approver` 必须与记录中的 `role_id` 一致。
|
|
@@ -17,3 +18,5 @@
|
|
|
17
18
|
## 下游消费规则
|
|
18
19
|
|
|
19
20
|
只有 `approved` 且引用的领域战略为 `approved`、版本当前的阶段包,才可以进入 Spec synthesis。任何领域战略 digest、版本或影响面变化都使阶段包 `stale`,并要求重新评估。
|
|
21
|
+
|
|
22
|
+
阶段包使用 `schema_version: 2`。旧版字符串路径或 Markdown 锚点只能通过迁移器读取;无法唯一映射到 `<ContextId>/<EnglishIdentifier>` 时返回 `migration-required`,不得猜测。
|
package/template/.qoder/skills/yss-stage-decision/references/stage-decision-package.schema.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
-
"$id": "https://yss.local/schemas/stage-decision-package-
|
|
3
|
+
"$id": "https://yss.local/schemas/stage-decision-package-v2.json",
|
|
4
4
|
"title": "YSS Stage Decision Package",
|
|
5
5
|
"type": "object",
|
|
6
|
-
"required": ["schema_version", "stage_decision_id", "package_version", "status", "problem_statement", "target_users", "mvp", "non_goals", "success_criteria", "test_seams", "confirmed_decisions", "assumptions", "constraints", "unresolved_items", "
|
|
6
|
+
"required": ["schema_version", "stage_decision_id", "package_version", "status", "problem_statement", "target_users", "mvp", "non_goals", "success_criteria", "test_seams", "confirmed_decisions", "assumptions", "constraints", "unresolved_items", "context_snapshot", "domain_strategy_ref", "impact_assessment", "downstream_mapping", "evidence_refs", "approval"],
|
|
7
7
|
"properties": {
|
|
8
|
-
"schema_version": {"const":
|
|
8
|
+
"schema_version": {"const": 2},
|
|
9
9
|
"stage_decision_id": {"type": "string", "pattern": "^stage-decision\\.[a-z0-9][a-z0-9-]*$"},
|
|
10
10
|
"package_version": {"type": "string", "pattern": "^v[0-9]+$"},
|
|
11
11
|
"status": {"enum": ["draft", "ready-for-human", "approved", "stale", "blocked"]},
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"assumptions": {"type": "array", "items": {"type": "string", "minLength": 1}},
|
|
20
20
|
"constraints": {"type": "array", "items": {"type": "string", "minLength": 1}},
|
|
21
21
|
"unresolved_items": {"type": "array", "items": {"$ref": "#/$defs/unresolved"}},
|
|
22
|
-
"
|
|
22
|
+
"context_snapshot": {"$ref": "#/$defs/contextSnapshot"},
|
|
23
23
|
"domain_strategy_ref": {"$ref": "#/$defs/domainRef"},
|
|
24
24
|
"impact_assessment": {"$ref": "#/$defs/impact"},
|
|
25
25
|
"downstream_mapping": {"type": "array", "minItems": 1, "items": {"$ref": "#/$defs/mapping"}},
|
|
@@ -27,6 +27,18 @@
|
|
|
27
27
|
"approval": {"$ref": "#/$defs/approval"}
|
|
28
28
|
},
|
|
29
29
|
"$defs": {
|
|
30
|
+
"contextSnapshot": {
|
|
31
|
+
"type": "object",
|
|
32
|
+
"additionalProperties": false,
|
|
33
|
+
"required": ["context_ref", "context_schema_version", "document_digest", "referenced_terms_digest", "term_refs"],
|
|
34
|
+
"properties": {
|
|
35
|
+
"context_ref": {"const": "CONTEXT.md"},
|
|
36
|
+
"context_schema_version": {"const": 1},
|
|
37
|
+
"document_digest": {"type": "string", "pattern": "^sha256:[0-9a-f]{64}$"},
|
|
38
|
+
"referenced_terms_digest": {"type": "string", "pattern": "^sha256:[0-9a-f]{64}$"},
|
|
39
|
+
"term_refs": {"type": "array", "items": {"type": "string", "pattern": "^(Global|[A-Z][A-Za-z0-9]+)/[A-Z][A-Za-z0-9]+$"}, "uniqueItems": true}
|
|
40
|
+
}
|
|
41
|
+
},
|
|
30
42
|
"unresolved": {
|
|
31
43
|
"type": "object",
|
|
32
44
|
"required": ["item", "type", "owner", "next_action", "target_version"],
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
验证分为结构、引用和语义三层:
|
|
4
4
|
|
|
5
5
|
1. **结构**:Schema 版本、稳定 ID、状态枚举、必填字段、条件字段和证据格式。
|
|
6
|
-
2.
|
|
6
|
+
2. **引用**:上下文端点、场景、不变量、`context_snapshot.term_refs` 和下游资产引用必须可解析;`context_ref` 必须精确为根 `CONTEXT.md`,双摘要必须与当前内容一致。
|
|
7
7
|
3. **语义**:禁止关系自环、未知上下文、未批准 Shared Kernel、未解释的语义/技术方向差异、职责重叠、无责任人的不变量和跨上下文直接共享实体。
|
|
8
8
|
|
|
9
9
|
以下情况必须 `blocked`:关键规则所有权未知、关键术语冲突、上下文边界未定、关键失败场景缺失、事件语义无法解释、领域专家确认缺失。
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { readFile } from "node:fs/promises";
|
|
3
|
+
import process from "node:process";
|
|
4
|
+
import { parseArgs } from "node:util";
|
|
5
|
+
import { parseDocument } from "../../../../scripts/vendor/yaml.mjs";
|
|
6
|
+
import { parseContextContract, resolveContextTermRefs } from "../../../../scripts/lib/context-contract.mjs";
|
|
7
|
+
|
|
8
|
+
function migrationRequired(message) {
|
|
9
|
+
const error = new TypeError(`migration-required: ${message}`);
|
|
10
|
+
error.code = "migration-required";
|
|
11
|
+
throw error;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
function migrateReference(reference, context) {
|
|
15
|
+
if (typeof reference !== "string") migrationRequired(`术语引用必须是字符串: ${String(reference)}`);
|
|
16
|
+
const scoped = reference.match(/^contexts\/([A-Z][A-Za-z0-9]+)\/CONTEXT\.md#([A-Z][A-Za-z0-9]+)$/);
|
|
17
|
+
if (scoped) {
|
|
18
|
+
const termRef = `${scoped[1]}/${scoped[2]}`;
|
|
19
|
+
if (!context.terms_by_ref.has(termRef)) migrationRequired(`旧引用无法唯一定位根 CONTEXT.md 术语: ${reference}`);
|
|
20
|
+
return termRef;
|
|
21
|
+
}
|
|
22
|
+
const root = reference.match(/^CONTEXT\.md#([A-Z][A-Za-z0-9]+)$/);
|
|
23
|
+
if (root) {
|
|
24
|
+
const matches = context.business_terms.filter((term) => term.english_identifier === root[1]);
|
|
25
|
+
if (matches.length !== 1) migrationRequired(`旧引用无法唯一定位根 CONTEXT.md 术语: ${reference}`);
|
|
26
|
+
return matches[0].term_ref;
|
|
27
|
+
}
|
|
28
|
+
migrationRequired(`旧引用无法唯一定位根 CONTEXT.md 术语: ${reference}`);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
try {
|
|
32
|
+
const { values, positionals } = parseArgs({ options: { root: { type: "string", default: process.cwd() } }, allowPositionals: true, strict: true });
|
|
33
|
+
const file = positionals[0];
|
|
34
|
+
if (!file) migrationRequired("用法: migrate-context-references.mjs <contract.yaml> [--root <project-root>]");
|
|
35
|
+
const source = await readFile(file, "utf8");
|
|
36
|
+
const document = parseDocument(source, { maxAliasCount: 0, uniqueKeys: true });
|
|
37
|
+
if (document.errors.length) migrationRequired(`YAML 非法: ${document.errors[0].message}`);
|
|
38
|
+
const value = document.toJS({ maxAliasCount: 0 });
|
|
39
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) migrationRequired("合同必须是对象");
|
|
40
|
+
if (value.schema_version !== 1) migrationRequired("只迁移 schema_version: 1 合同");
|
|
41
|
+
if (!Array.isArray(value.terminology_refs)) migrationRequired("v1 合同缺少 terminology_refs");
|
|
42
|
+
|
|
43
|
+
const context = parseContextContract({ root: values.root });
|
|
44
|
+
const termRefs = [...new Set(value.terminology_refs.map((reference) => migrateReference(reference, context)))].sort();
|
|
45
|
+
const resolved = resolveContextTermRefs(context, termRefs);
|
|
46
|
+
const migrated = {
|
|
47
|
+
...value,
|
|
48
|
+
schema_version: 2,
|
|
49
|
+
context_snapshot: {
|
|
50
|
+
context_ref: "CONTEXT.md",
|
|
51
|
+
context_schema_version: 1,
|
|
52
|
+
document_digest: context.document_digest,
|
|
53
|
+
referenced_terms_digest: resolved.referenced_terms_digest,
|
|
54
|
+
term_refs: termRefs,
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
delete migrated.terminology_refs;
|
|
58
|
+
process.stdout.write(`${JSON.stringify(migrated, null, 2)}\n`);
|
|
59
|
+
} catch (error) {
|
|
60
|
+
process.stderr.write(`${JSON.stringify({ result: "blocked", reason_code: error.code || "migration-required", errors: [error.message] }, null, 2)}\n`);
|
|
61
|
+
process.exitCode = 1;
|
|
62
|
+
}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { readFile } from "node:fs/promises";
|
|
3
3
|
import process from "node:process";
|
|
4
|
+
import { parseArgs } from "node:util";
|
|
4
5
|
import { parseDocument } from "../../../../scripts/vendor/yaml.mjs";
|
|
5
6
|
import { loadApprovalRecord, resolveApprovalRef, validateApprovalRecordFile } from "../../../../scripts/lib/approval-record.mjs";
|
|
7
|
+
import { verifyContextSnapshot } from "../../../../scripts/lib/context-contract.mjs";
|
|
6
8
|
|
|
7
|
-
|
|
9
|
+
import { extractTraceability } from "../../../../scripts/lib/strategic-handoff-rules.mjs";
|
|
10
|
+
|
|
11
|
+
const required = ["schema_version", "domain_strategy_id", "domain_version", "status", "contexts", "subdomains", "relationships", "scenarios", "concept_candidates", "invariants", "context_snapshot", "downstream_mapping", "evidence_refs", "approval"];
|
|
8
12
|
const idPatterns = {
|
|
9
13
|
context_id: /^[A-Z][A-Za-z0-9]+$/,
|
|
10
14
|
domain_strategy_id: /^domain-strategy\.[a-z0-9][a-z0-9-]*$/,
|
|
@@ -43,11 +47,13 @@ function requireArray(object, field, path, errors, min = 0, itemKind = "string")
|
|
|
43
47
|
if (field in object && list(object[field]) && itemKind === "string") object[field].forEach((item, index) => { if (!nonEmpty(item)) errors.push(`${path}.${field}[${index}] 必须是非空字符串`); });
|
|
44
48
|
}
|
|
45
49
|
|
|
46
|
-
function validate(data) {
|
|
50
|
+
function validate(data, contextRoot) {
|
|
47
51
|
const errors = [];
|
|
52
|
+
if (data?.traceability_version !== undefined) { try { extractTraceability(data); } catch(error) { errors.push(error.message); } }
|
|
48
53
|
if (!data || typeof data !== "object" || Array.isArray(data)) return ["合同必须是对象"];
|
|
54
|
+
if (data.schema_version === 1) return ["migration-required: domain strategy v1 必须迁移到 v2 context_snapshot"];
|
|
49
55
|
for (const field of required) requireField(data, field, "root", errors);
|
|
50
|
-
if (data.schema_version !==
|
|
56
|
+
if (data.schema_version !== 2) errors.push("schema_version 必须为 2");
|
|
51
57
|
if (!idPatterns.domain_strategy_id.test(String(data.domain_strategy_id ?? ""))) errors.push("domain_strategy_id 格式非法");
|
|
52
58
|
if (!/^v[0-9]+$/.test(String(data.domain_version ?? ""))) errors.push("domain_version 必须形如 v1");
|
|
53
59
|
if (!["draft", "ready-for-human", "approved", "stale", "blocked"].includes(data.status)) errors.push("status 非法");
|
|
@@ -128,7 +134,11 @@ function validate(data) {
|
|
|
128
134
|
for (const reference of invariant?.scenario_refs ?? []) if (!scenarioIds.includes(reference)) errors.push(`${path}.scenario_refs 引用了未声明场景: ${reference}`);
|
|
129
135
|
}
|
|
130
136
|
|
|
131
|
-
|
|
137
|
+
try {
|
|
138
|
+
verifyContextSnapshot(data.context_snapshot, { root: contextRoot, allowedContextIds: contextIds });
|
|
139
|
+
} catch (error) {
|
|
140
|
+
errors.push(...(error.problems ?? [error.message]));
|
|
141
|
+
}
|
|
132
142
|
requireArray(data, "evidence_refs", "root", errors, 1);
|
|
133
143
|
const mappings = list(data.downstream_mapping) ? data.downstream_mapping : [];
|
|
134
144
|
for (const [index, mapping] of mappings.entries()) {
|
|
@@ -153,15 +163,16 @@ function validate(data) {
|
|
|
153
163
|
return errors;
|
|
154
164
|
}
|
|
155
165
|
|
|
156
|
-
const
|
|
157
|
-
|
|
166
|
+
const { values, positionals } = parseArgs({ options: { root: { type: "string", default: process.cwd() } }, allowPositionals: true, strict: true });
|
|
167
|
+
const file = positionals[0];
|
|
168
|
+
if (!file) fail(["用法: validate-domain-strategy.mjs <contract.yaml> [--root <project-root>]"]);
|
|
158
169
|
else {
|
|
159
170
|
try {
|
|
160
171
|
const source = await readFile(file, "utf8");
|
|
161
172
|
const document = parseDocument(source, { maxAliasCount: 0, uniqueKeys: true });
|
|
162
173
|
if (document.errors.length) fail([document.errors[0].message]);
|
|
163
174
|
else {
|
|
164
|
-
const errors = validate(document.toJS({ maxAliasCount: 0 }));
|
|
175
|
+
const errors = validate(document.toJS({ maxAliasCount: 0 }), values.root);
|
|
165
176
|
if (errors.length) fail(errors);
|
|
166
177
|
else process.stdout.write(JSON.stringify({ result: "completed", contract: file }, null, 2) + "\n");
|
|
167
178
|
}
|
package/template/.qoder/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs
CHANGED
|
@@ -3,10 +3,12 @@ import { readFile } from "node:fs/promises";
|
|
|
3
3
|
import { createHash } from "node:crypto";
|
|
4
4
|
import { resolve } from "node:path";
|
|
5
5
|
import process from "node:process";
|
|
6
|
+
import { parseArgs } from "node:util";
|
|
6
7
|
import { parseDocument } from "../../../../scripts/vendor/yaml.mjs";
|
|
7
8
|
import { loadApprovalRecord, resolveApprovalRef, validateApprovalRecordFile } from "../../../../scripts/lib/approval-record.mjs";
|
|
9
|
+
import { verifyContextSnapshot } from "../../../../scripts/lib/context-contract.mjs";
|
|
8
10
|
|
|
9
|
-
const required = ["schema_version", "stage_decision_id", "package_version", "status", "problem_statement", "target_users", "mvp", "non_goals", "success_criteria", "test_seams", "confirmed_decisions", "assumptions", "constraints", "unresolved_items", "
|
|
11
|
+
const required = ["schema_version", "stage_decision_id", "package_version", "status", "problem_statement", "target_users", "mvp", "non_goals", "success_criteria", "test_seams", "confirmed_decisions", "assumptions", "constraints", "unresolved_items", "context_snapshot", "domain_strategy_ref", "impact_assessment", "downstream_mapping", "evidence_refs", "approval"];
|
|
10
12
|
const idPattern = /^stage-decision\.[a-z0-9][a-z0-9-]*$/;
|
|
11
13
|
|
|
12
14
|
function fail(errors) {
|
|
@@ -20,16 +22,17 @@ function requireArray(object, field, path, errors, min = 0) { requireField(objec
|
|
|
20
22
|
function canonical(value) { if (Array.isArray(value)) return value.map(canonical); if (value && typeof value === "object") return Object.fromEntries(Object.keys(value).sort().map((key) => [key, canonical(value[key])])); return value; }
|
|
21
23
|
function digest(value) { return `sha256:${createHash("sha256").update(JSON.stringify(canonical(value))).digest("hex")}`; }
|
|
22
24
|
|
|
23
|
-
async function validate(data) {
|
|
25
|
+
async function validate(data, contextRoot) {
|
|
24
26
|
const errors = [];
|
|
25
27
|
if (!data || typeof data !== "object" || Array.isArray(data)) return ["合同必须是对象"];
|
|
28
|
+
if (data.schema_version === 1) return ["migration-required: stage decision package v1 必须迁移到 v2 context_snapshot"];
|
|
26
29
|
for (const field of required) requireField(data, field, "root", errors);
|
|
27
|
-
if (data.schema_version !==
|
|
30
|
+
if (data.schema_version !== 2) errors.push("schema_version 必须为 2");
|
|
28
31
|
if (!idPattern.test(String(data.stage_decision_id ?? ""))) errors.push("stage_decision_id 格式非法");
|
|
29
32
|
if (!/^v[0-9]+$/.test(String(data.package_version ?? ""))) errors.push("package_version 必须形如 v1");
|
|
30
33
|
if (!["draft", "ready-for-human", "approved", "stale", "blocked"].includes(data.status)) errors.push("status 非法");
|
|
31
34
|
for (const field of ["problem_statement"]) requireString(data, field, "root", errors);
|
|
32
|
-
for (const field of ["target_users", "mvp", "non_goals", "success_criteria", "test_seams", "confirmed_decisions", "assumptions", "constraints", "
|
|
35
|
+
for (const field of ["target_users", "mvp", "non_goals", "success_criteria", "test_seams", "confirmed_decisions", "assumptions", "constraints", "evidence_refs"]) requireArray(data, field, "root", errors, ["target_users", "mvp", "success_criteria", "test_seams", "confirmed_decisions", "evidence_refs"].includes(field) ? 1 : 0);
|
|
33
36
|
|
|
34
37
|
const unresolved = Array.isArray(data.unresolved_items) ? data.unresolved_items : [];
|
|
35
38
|
for (const [index, item] of unresolved.entries()) {
|
|
@@ -41,13 +44,14 @@ async function validate(data) {
|
|
|
41
44
|
for (const field of ["domain_strategy_id", "domain_version", "digest", "status", "persisted_ref"]) requireString(domainRef, field, "domain_strategy_ref", errors);
|
|
42
45
|
if (domainRef.status && !["approved", "stale", "blocked"].includes(domainRef.status)) errors.push("domain_strategy_ref.status 非法");
|
|
43
46
|
if (data.status === "approved" && domainRef.status !== "approved") errors.push("approved 阶段包必须引用 approved 的 domain strategy");
|
|
47
|
+
let strategy;
|
|
44
48
|
if (nonEmpty(domainRef.persisted_ref)) {
|
|
45
49
|
try {
|
|
46
|
-
const strategySource = await readFile(resolve(
|
|
50
|
+
const strategySource = await readFile(resolve(contextRoot, domainRef.persisted_ref), "utf8");
|
|
47
51
|
const strategyDocument = parseDocument(strategySource, { maxAliasCount: 0, uniqueKeys: true });
|
|
48
52
|
if (strategyDocument.errors.length) errors.push(`domain_strategy_ref.persisted_ref YAML 非法: ${strategyDocument.errors[0].message}`);
|
|
49
53
|
else {
|
|
50
|
-
|
|
54
|
+
strategy = strategyDocument.toJS({ maxAliasCount: 0 });
|
|
51
55
|
if (strategy.domain_strategy_id !== domainRef.domain_strategy_id) errors.push("domain_strategy_ref.domain_strategy_id 与实际文件不一致");
|
|
52
56
|
if (strategy.domain_version !== domainRef.domain_version) errors.push("domain_strategy_ref.domain_version 与实际文件不一致");
|
|
53
57
|
if (strategy.status !== domainRef.status) errors.push("domain_strategy_ref.status 与实际文件不一致");
|
|
@@ -55,6 +59,12 @@ async function validate(data) {
|
|
|
55
59
|
}
|
|
56
60
|
} catch (error) { errors.push(`domain_strategy_ref.persisted_ref 无法读取: ${error.message}`); }
|
|
57
61
|
}
|
|
62
|
+
try {
|
|
63
|
+
const contextIds = Array.isArray(strategy?.contexts) ? strategy.contexts.map((item) => item?.context_id).filter(Boolean) : [];
|
|
64
|
+
verifyContextSnapshot(data.context_snapshot, { root: contextRoot, allowedContextIds: contextIds });
|
|
65
|
+
} catch (error) {
|
|
66
|
+
errors.push(...(error.problems ?? [error.message]));
|
|
67
|
+
}
|
|
58
68
|
|
|
59
69
|
const impact = data.impact_assessment ?? {};
|
|
60
70
|
for (const field of ["ui", "api", "data", "backend", "frontend", "cross_repo", "high_risk"]) {
|
|
@@ -84,15 +94,16 @@ async function validate(data) {
|
|
|
84
94
|
return errors;
|
|
85
95
|
}
|
|
86
96
|
|
|
87
|
-
const
|
|
88
|
-
|
|
97
|
+
const { values, positionals } = parseArgs({ options: { root: { type: "string", default: process.cwd() } }, allowPositionals: true, strict: true });
|
|
98
|
+
const file = positionals[0];
|
|
99
|
+
if (!file) fail(["用法: validate-stage-decision-package.mjs <package.yaml> [--root <project-root>]"]);
|
|
89
100
|
else {
|
|
90
101
|
try {
|
|
91
102
|
const source = await readFile(file, "utf8");
|
|
92
103
|
const document = parseDocument(source, { maxAliasCount: 0, uniqueKeys: true });
|
|
93
104
|
if (document.errors.length) fail([document.errors[0].message]);
|
|
94
105
|
else {
|
|
95
|
-
const errors = await validate(document.toJS({ maxAliasCount: 0 }));
|
|
106
|
+
const errors = await validate(document.toJS({ maxAliasCount: 0 }), values.root);
|
|
96
107
|
if (errors.length) fail(errors);
|
|
97
108
|
else process.stdout.write(JSON.stringify({ result: "completed", contract: file }, null, 2) + "\n");
|
|
98
109
|
}
|
package/template/.qoder/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
schema_version:
|
|
1
|
+
schema_version: 2
|
|
2
2
|
stage_decision_id: stage-decision.supplier-admission
|
|
3
|
-
package_version:
|
|
3
|
+
package_version: v2
|
|
4
4
|
status: approved
|
|
5
5
|
problem_statement: 合规准入决定分散,采购无法稳定判断当前有效资格。
|
|
6
6
|
target_users: [采购专员、合规专员]
|
|
@@ -17,13 +17,18 @@ unresolved_items:
|
|
|
17
17
|
owner: role.product-manager
|
|
18
18
|
next_action: 在 Spec synthesis 前完成数据盘点
|
|
19
19
|
target_version: 2026-Q4
|
|
20
|
-
|
|
20
|
+
context_snapshot:
|
|
21
|
+
context_ref: CONTEXT.md
|
|
22
|
+
context_schema_version: 1
|
|
23
|
+
document_digest: <document-digest>
|
|
24
|
+
referenced_terms_digest: <referenced-terms-digest>
|
|
25
|
+
term_refs: [Global/Supplier, ComplianceReview/AdmissionDecision]
|
|
21
26
|
domain_strategy_ref:
|
|
22
27
|
domain_strategy_id: domain-strategy.supplier-admission
|
|
23
|
-
domain_version:
|
|
24
|
-
digest:
|
|
28
|
+
domain_version: v2
|
|
29
|
+
digest: <domain-strategy-digest>
|
|
25
30
|
status: approved
|
|
26
|
-
persisted_ref:
|
|
31
|
+
persisted_ref: domain-strategy.yaml
|
|
27
32
|
impact_assessment:
|
|
28
33
|
ui: true
|
|
29
34
|
api: true
|
|
@@ -46,4 +51,4 @@ approval:
|
|
|
46
51
|
approval_ref: .agents/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml
|
|
47
52
|
approver: role.product-manager
|
|
48
53
|
persisted_ref: docs/.scratch/supplier/stage-decision/stage-decision-package-v1.yaml
|
|
49
|
-
current_version:
|
|
54
|
+
current_version: v2
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
schema_version:
|
|
1
|
+
schema_version: 2
|
|
2
2
|
domain_strategy_id: domain-strategy.supplier-admission
|
|
3
|
-
domain_version:
|
|
3
|
+
domain_version: v2
|
|
4
4
|
status: approved
|
|
5
5
|
contexts:
|
|
6
6
|
- context_id: SupplierManagement
|
|
@@ -94,7 +94,12 @@ invariants:
|
|
|
94
94
|
responsible_context: ComplianceReview
|
|
95
95
|
scenario_refs: [scenario.admission-expires]
|
|
96
96
|
verification_method: 领域场景测试和事件版本校验
|
|
97
|
-
|
|
97
|
+
context_snapshot:
|
|
98
|
+
context_ref: CONTEXT.md
|
|
99
|
+
context_schema_version: 1
|
|
100
|
+
document_digest: <document-digest>
|
|
101
|
+
referenced_terms_digest: <referenced-terms-digest>
|
|
102
|
+
term_refs: [Global/Supplier, ComplianceReview/AdmissionDecision]
|
|
98
103
|
downstream_mapping:
|
|
99
104
|
- domain_change: admission-decision-validity
|
|
100
105
|
impacts: [spec, openapi, procurement-acceptance-tests]
|
|
@@ -105,4 +110,4 @@ approval:
|
|
|
105
110
|
approval_ref: .agents/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml
|
|
106
111
|
approver: role.product-manager
|
|
107
112
|
persisted_ref: docs/.scratch/supplier/domain/domain-strategy-v1.yaml
|
|
108
|
-
current_version:
|
|
113
|
+
current_version: v2
|