create-yss-spec 3.4.4 → 3.4.6
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 +1 -1
- package/package.json +2 -2
- package/template/.agents/skills/.strategic-design-skills-manifest.json +1 -1
- package/template/.agents/skills/yss-application/SKILL.md +8 -6
- package/template/.agents/skills/yss-audit-log/SKILL.md +12 -7
- package/template/.agents/skills/yss-audit-log/references/source-index.boot2-java8.md +57 -0
- package/template/.agents/skills/yss-audit-log/references/source-index.boot3-java17.md +58 -0
- package/template/.agents/skills/yss-audit-log/references/source-index.md +6 -39
- package/template/.agents/skills/yss-cache/SKILL.md +5 -1
- package/template/.agents/skills/yss-cache/references/source-index.boot2-java8.md +81 -0
- package/template/.agents/skills/yss-cache/references/source-index.boot3-java17.md +83 -0
- package/template/.agents/skills/yss-cache/references/source-index.md +6 -63
- package/template/.agents/skills/yss-cache/scripts/check-skill-freshness.sh +20 -15
- package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +2 -2
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/engineering-baseline.md +53 -0
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +5 -51
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +3 -3
- package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +1 -1
- package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +2 -2
- package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -3
- package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
- package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +1 -1
- package/template/.agents/skills/yss-distributed-id/SKILL.md +4 -0
- package/template/.agents/skills/yss-distributed-id/references/source-index.boot2-java8.md +102 -0
- package/template/.agents/skills/yss-distributed-id/references/source-index.boot3-java17.md +90 -0
- package/template/.agents/skills/yss-distributed-id/references/source-index.md +6 -82
- package/template/.agents/skills/yss-dto/SKILL.md +2 -2
- package/template/.agents/skills/yss-dto/references/source-index.boot2-java8.md +67 -0
- package/template/.agents/skills/yss-dto/references/source-index.boot3-java17.md +70 -0
- package/template/.agents/skills/yss-dto/references/source-index.md +6 -51
- package/template/.agents/skills/yss-excel-mvc/SKILL.md +4 -0
- package/template/.agents/skills/yss-excel-mvc/references/source-index.boot2-java8.md +90 -0
- package/template/.agents/skills/yss-excel-mvc/references/source-index.boot3-java17.md +58 -0
- package/template/.agents/skills/yss-excel-mvc/references/source-index.md +6 -70
- package/template/.agents/skills/yss-exception/SKILL.md +12 -9
- package/template/.agents/skills/yss-exception/references/source-index.boot2-java8.md +50 -0
- package/template/.agents/skills/yss-exception/references/source-index.boot3-java17.md +50 -0
- package/template/.agents/skills/yss-exception/references/source-index.md +6 -31
- package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +2 -0
- package/template/.agents/skills/yss-implementation-contract-compiler/references/boundaries.md +3 -5
- package/template/.agents/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +27 -2
- package/template/.agents/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +2 -1
- package/template/.agents/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +60 -14
- package/template/.agents/skills/yss-layered-mvc-scaffold-generator/SKILL.md +6 -5
- package/template/.agents/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +2 -2
- package/template/.agents/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +2 -0
- package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/data-analysis-profile.mjs +82 -0
- package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +23 -9
- package/template/.agents/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +30 -6
- package/template/.agents/skills/yss-layered-mvc-scaffold-generator/tests/scaffold-generator.test.mjs +2 -0
- package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +5 -15
- package/template/.agents/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +9 -68
- package/template/.agents/skills/yss-mvc-design/SKILL.md +5 -9
- package/template/.agents/skills/yss-mvc-design/agents/openai.yaml +3 -3
- package/template/.agents/skills/yss-mybatis/SKILL.md +2 -2
- package/template/.agents/skills/yss-mybatis/references/source-index.boot2-java8.md +126 -0
- package/template/.agents/skills/yss-mybatis/references/source-index.boot3-java17.md +126 -0
- package/template/.agents/skills/yss-mybatis/references/source-index.md +6 -109
- package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +10 -8
- package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +2 -2
- package/template/.agents/skills/yss-repository/SKILL.md +1 -1
- package/template/.agents/skills/yss-resilience4j/SKILL.md +4 -0
- package/template/.agents/skills/yss-resilience4j/references/source-index.boot2-java8.md +48 -0
- package/template/.agents/skills/yss-resilience4j/references/source-index.boot3-java17.md +48 -0
- package/template/.agents/skills/yss-resilience4j/references/source-index.md +6 -29
- package/template/.agents/skills/yss-security-algorithm/SKILL.md +34 -10
- package/template/.agents/skills/yss-security-algorithm/references/source-index.boot2-java8.md +50 -0
- package/template/.agents/skills/yss-security-algorithm/references/source-index.boot3-java17.md +51 -0
- package/template/.agents/skills/yss-security-algorithm/references/source-index.md +6 -31
- package/template/.agents/skills/yss-skill-source-index-refresh/SKILL.md +12 -6
- package/template/.agents/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +27 -0
- package/template/.agents/skills/yss-skill-source-index-refresh/references/source-location.md +4 -4
- package/template/.agents/skills/yss-skill-source-index-refresh/references/source-map-config.md +10 -3
- package/template/.agents/skills/yss-skill-source-index-refresh/scripts/check-backend-skill-source-index.mjs +60 -0
- package/template/.agents/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +247 -54
- package/template/.agents/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.test.mjs +74 -7
- package/template/.agents/skills/yss-tactical-design/SKILL.md +1 -1
- package/template/.agents/skills/yss-tactical-design/references/output-template.md +1 -1
- package/template/.agents/skills/yss-technical-design/SKILL.md +3 -1
- package/template/.agents/skills/yss-technical-design/references/mvc-design.schema.json +315 -0
- package/template/.agents/skills/yss-technical-design/references/technical-design-contract.md +1 -1
- package/template/.agents/skills/yss-technical-design/scripts/generate-schema.mjs +1 -1
- package/template/.agents/skills/yss-technical-design/tests/run-scenarios.mjs +4 -1
- package/template/.agents/skills/yss-up-springboot3/SKILL.md +23 -9
- package/template/.agents/skills/yss-userinfo/SKILL.md +21 -14
- package/template/.agents/skills/yss-userinfo/references/source-index.boot2-java8.md +49 -0
- package/template/.agents/skills/yss-userinfo/references/source-index.boot3-java17.md +54 -0
- package/template/.agents/skills/yss-userinfo/references/source-index.md +6 -30
- package/template/.agents/skills/yss-validation/SKILL.md +12 -17
- package/template/.agents/skills/yss-validation/references/source-index.boot2-java8.md +47 -0
- package/template/.agents/skills/yss-validation/references/source-index.boot3-java17.md +47 -0
- package/template/.agents/skills/yss-validation/references/source-index.md +6 -29
- package/template/.agents/skills/yss-web-controller/SKILL.md +4 -4
- package/template/.agents/skills/yss-web-controller/scripts/generate_controller.test.mjs +1 -1
- package/template/.codex/skills/yss-application/SKILL.md +8 -6
- package/template/.codex/skills/yss-audit-log/SKILL.md +12 -7
- package/template/.codex/skills/yss-audit-log/references/source-index.boot2-java8.md +57 -0
- package/template/.codex/skills/yss-audit-log/references/source-index.boot3-java17.md +58 -0
- package/template/.codex/skills/yss-audit-log/references/source-index.md +6 -39
- package/template/.codex/skills/yss-cache/SKILL.md +5 -1
- package/template/.codex/skills/yss-cache/references/source-index.boot2-java8.md +81 -0
- package/template/.codex/skills/yss-cache/references/source-index.boot3-java17.md +83 -0
- package/template/.codex/skills/yss-cache/references/source-index.md +6 -63
- package/template/.codex/skills/yss-cache/scripts/check-skill-freshness.sh +20 -15
- package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +2 -2
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/engineering-baseline.md +53 -0
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +5 -51
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +3 -3
- package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +1 -1
- package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +2 -2
- package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -3
- package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
- package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +1 -1
- package/template/.codex/skills/yss-distributed-id/SKILL.md +4 -0
- package/template/.codex/skills/yss-distributed-id/references/source-index.boot2-java8.md +102 -0
- package/template/.codex/skills/yss-distributed-id/references/source-index.boot3-java17.md +90 -0
- package/template/.codex/skills/yss-distributed-id/references/source-index.md +6 -82
- package/template/.codex/skills/yss-dto/SKILL.md +2 -2
- package/template/.codex/skills/yss-dto/references/source-index.boot2-java8.md +67 -0
- package/template/.codex/skills/yss-dto/references/source-index.boot3-java17.md +70 -0
- package/template/.codex/skills/yss-dto/references/source-index.md +6 -51
- package/template/.codex/skills/yss-excel-mvc/SKILL.md +4 -0
- package/template/.codex/skills/yss-excel-mvc/references/source-index.boot2-java8.md +90 -0
- package/template/.codex/skills/yss-excel-mvc/references/source-index.boot3-java17.md +58 -0
- package/template/.codex/skills/yss-excel-mvc/references/source-index.md +6 -70
- package/template/.codex/skills/yss-exception/SKILL.md +12 -9
- package/template/.codex/skills/yss-exception/references/source-index.boot2-java8.md +50 -0
- package/template/.codex/skills/yss-exception/references/source-index.boot3-java17.md +50 -0
- package/template/.codex/skills/yss-exception/references/source-index.md +6 -31
- package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +2 -0
- package/template/.codex/skills/yss-implementation-contract-compiler/references/boundaries.md +3 -5
- package/template/.codex/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +27 -2
- package/template/.codex/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +2 -1
- package/template/.codex/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +60 -14
- package/template/.codex/skills/yss-layered-mvc-scaffold-generator/SKILL.md +6 -5
- package/template/.codex/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +2 -2
- package/template/.codex/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +2 -0
- package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/data-analysis-profile.mjs +82 -0
- package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +23 -9
- package/template/.codex/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +30 -6
- package/template/.codex/skills/yss-layered-mvc-scaffold-generator/tests/scaffold-generator.test.mjs +2 -0
- package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +5 -15
- package/template/.codex/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +9 -68
- package/template/.codex/skills/yss-mvc-design/SKILL.md +5 -9
- package/template/.codex/skills/yss-mvc-design/agents/openai.yaml +3 -3
- package/template/.codex/skills/yss-mybatis/SKILL.md +2 -2
- package/template/.codex/skills/yss-mybatis/references/source-index.boot2-java8.md +126 -0
- package/template/.codex/skills/yss-mybatis/references/source-index.boot3-java17.md +126 -0
- package/template/.codex/skills/yss-mybatis/references/source-index.md +6 -109
- package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +10 -8
- package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +2 -2
- package/template/.codex/skills/yss-repository/SKILL.md +1 -1
- package/template/.codex/skills/yss-resilience4j/SKILL.md +4 -0
- package/template/.codex/skills/yss-resilience4j/references/source-index.boot2-java8.md +48 -0
- package/template/.codex/skills/yss-resilience4j/references/source-index.boot3-java17.md +48 -0
- package/template/.codex/skills/yss-resilience4j/references/source-index.md +6 -29
- package/template/.codex/skills/yss-security-algorithm/SKILL.md +34 -10
- package/template/.codex/skills/yss-security-algorithm/references/source-index.boot2-java8.md +50 -0
- package/template/.codex/skills/yss-security-algorithm/references/source-index.boot3-java17.md +51 -0
- package/template/.codex/skills/yss-security-algorithm/references/source-index.md +6 -31
- package/template/.codex/skills/yss-skill-source-index-refresh/SKILL.md +12 -6
- package/template/.codex/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +27 -0
- package/template/.codex/skills/yss-skill-source-index-refresh/references/source-location.md +4 -4
- package/template/.codex/skills/yss-skill-source-index-refresh/references/source-map-config.md +10 -3
- package/template/.codex/skills/yss-skill-source-index-refresh/scripts/check-backend-skill-source-index.mjs +60 -0
- package/template/.codex/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +247 -54
- package/template/.codex/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.test.mjs +74 -7
- package/template/.codex/skills/yss-tactical-design/SKILL.md +1 -1
- package/template/.codex/skills/yss-tactical-design/references/output-template.md +1 -1
- package/template/.codex/skills/yss-technical-design/SKILL.md +3 -1
- package/template/.codex/skills/yss-technical-design/references/mvc-design.schema.json +315 -0
- package/template/.codex/skills/yss-technical-design/references/technical-design-contract.md +1 -1
- package/template/.codex/skills/yss-technical-design/scripts/generate-schema.mjs +1 -1
- package/template/.codex/skills/yss-technical-design/tests/run-scenarios.mjs +4 -1
- package/template/.codex/skills/yss-up-springboot3/SKILL.md +23 -9
- package/template/.codex/skills/yss-userinfo/SKILL.md +21 -14
- package/template/.codex/skills/yss-userinfo/references/source-index.boot2-java8.md +49 -0
- package/template/.codex/skills/yss-userinfo/references/source-index.boot3-java17.md +54 -0
- package/template/.codex/skills/yss-userinfo/references/source-index.md +6 -30
- package/template/.codex/skills/yss-validation/SKILL.md +12 -17
- package/template/.codex/skills/yss-validation/references/source-index.boot2-java8.md +47 -0
- package/template/.codex/skills/yss-validation/references/source-index.boot3-java17.md +47 -0
- package/template/.codex/skills/yss-validation/references/source-index.md +6 -29
- package/template/.codex/skills/yss-web-controller/SKILL.md +4 -4
- package/template/.codex/skills/yss-web-controller/scripts/generate_controller.test.mjs +1 -1
- package/template/.cursor/skills/yss-application/SKILL.md +8 -6
- package/template/.cursor/skills/yss-audit-log/SKILL.md +12 -7
- package/template/.cursor/skills/yss-audit-log/references/source-index.boot2-java8.md +57 -0
- package/template/.cursor/skills/yss-audit-log/references/source-index.boot3-java17.md +58 -0
- package/template/.cursor/skills/yss-audit-log/references/source-index.md +6 -39
- package/template/.cursor/skills/yss-cache/SKILL.md +5 -1
- package/template/.cursor/skills/yss-cache/references/source-index.boot2-java8.md +81 -0
- package/template/.cursor/skills/yss-cache/references/source-index.boot3-java17.md +83 -0
- package/template/.cursor/skills/yss-cache/references/source-index.md +6 -63
- package/template/.cursor/skills/yss-cache/scripts/check-skill-freshness.sh +20 -15
- package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +2 -2
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/engineering-baseline.md +53 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +5 -51
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +3 -3
- package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +1 -1
- package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +2 -2
- package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -3
- package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
- package/template/.cursor/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +1 -1
- package/template/.cursor/skills/yss-distributed-id/SKILL.md +4 -0
- package/template/.cursor/skills/yss-distributed-id/references/source-index.boot2-java8.md +102 -0
- package/template/.cursor/skills/yss-distributed-id/references/source-index.boot3-java17.md +90 -0
- package/template/.cursor/skills/yss-distributed-id/references/source-index.md +6 -82
- package/template/.cursor/skills/yss-dto/SKILL.md +2 -2
- package/template/.cursor/skills/yss-dto/references/source-index.boot2-java8.md +67 -0
- package/template/.cursor/skills/yss-dto/references/source-index.boot3-java17.md +70 -0
- package/template/.cursor/skills/yss-dto/references/source-index.md +6 -51
- package/template/.cursor/skills/yss-excel-mvc/SKILL.md +4 -0
- package/template/.cursor/skills/yss-excel-mvc/references/source-index.boot2-java8.md +90 -0
- package/template/.cursor/skills/yss-excel-mvc/references/source-index.boot3-java17.md +58 -0
- package/template/.cursor/skills/yss-excel-mvc/references/source-index.md +6 -70
- package/template/.cursor/skills/yss-exception/SKILL.md +12 -9
- package/template/.cursor/skills/yss-exception/references/source-index.boot2-java8.md +50 -0
- package/template/.cursor/skills/yss-exception/references/source-index.boot3-java17.md +50 -0
- package/template/.cursor/skills/yss-exception/references/source-index.md +6 -31
- package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +2 -0
- package/template/.cursor/skills/yss-implementation-contract-compiler/references/boundaries.md +3 -5
- package/template/.cursor/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +27 -2
- package/template/.cursor/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +2 -1
- package/template/.cursor/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +60 -14
- package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/SKILL.md +6 -5
- package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +2 -2
- package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +2 -0
- package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/data-analysis-profile.mjs +82 -0
- package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +23 -9
- package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +30 -6
- package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/tests/scaffold-generator.test.mjs +2 -0
- package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +5 -15
- package/template/.cursor/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +9 -68
- package/template/.cursor/skills/yss-mvc-design/SKILL.md +5 -9
- package/template/.cursor/skills/yss-mvc-design/agents/openai.yaml +3 -3
- package/template/.cursor/skills/yss-mybatis/SKILL.md +2 -2
- package/template/.cursor/skills/yss-mybatis/references/source-index.boot2-java8.md +126 -0
- package/template/.cursor/skills/yss-mybatis/references/source-index.boot3-java17.md +126 -0
- package/template/.cursor/skills/yss-mybatis/references/source-index.md +6 -109
- package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +10 -8
- package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +2 -2
- package/template/.cursor/skills/yss-repository/SKILL.md +1 -1
- package/template/.cursor/skills/yss-resilience4j/SKILL.md +4 -0
- package/template/.cursor/skills/yss-resilience4j/references/source-index.boot2-java8.md +48 -0
- package/template/.cursor/skills/yss-resilience4j/references/source-index.boot3-java17.md +48 -0
- package/template/.cursor/skills/yss-resilience4j/references/source-index.md +6 -29
- package/template/.cursor/skills/yss-security-algorithm/SKILL.md +34 -10
- package/template/.cursor/skills/yss-security-algorithm/references/source-index.boot2-java8.md +50 -0
- package/template/.cursor/skills/yss-security-algorithm/references/source-index.boot3-java17.md +51 -0
- package/template/.cursor/skills/yss-security-algorithm/references/source-index.md +6 -31
- package/template/.cursor/skills/yss-skill-source-index-refresh/SKILL.md +12 -6
- package/template/.cursor/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +27 -0
- package/template/.cursor/skills/yss-skill-source-index-refresh/references/source-location.md +4 -4
- package/template/.cursor/skills/yss-skill-source-index-refresh/references/source-map-config.md +10 -3
- package/template/.cursor/skills/yss-skill-source-index-refresh/scripts/check-backend-skill-source-index.mjs +60 -0
- package/template/.cursor/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +247 -54
- package/template/.cursor/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.test.mjs +74 -7
- package/template/.cursor/skills/yss-tactical-design/SKILL.md +1 -1
- package/template/.cursor/skills/yss-tactical-design/references/output-template.md +1 -1
- package/template/.cursor/skills/yss-technical-design/SKILL.md +3 -1
- package/template/.cursor/skills/yss-technical-design/references/mvc-design.schema.json +315 -0
- package/template/.cursor/skills/yss-technical-design/references/technical-design-contract.md +1 -1
- package/template/.cursor/skills/yss-technical-design/scripts/generate-schema.mjs +1 -1
- package/template/.cursor/skills/yss-technical-design/tests/run-scenarios.mjs +4 -1
- package/template/.cursor/skills/yss-up-springboot3/SKILL.md +23 -9
- package/template/.cursor/skills/yss-userinfo/SKILL.md +21 -14
- package/template/.cursor/skills/yss-userinfo/references/source-index.boot2-java8.md +49 -0
- package/template/.cursor/skills/yss-userinfo/references/source-index.boot3-java17.md +54 -0
- package/template/.cursor/skills/yss-userinfo/references/source-index.md +6 -30
- package/template/.cursor/skills/yss-validation/SKILL.md +12 -17
- package/template/.cursor/skills/yss-validation/references/source-index.boot2-java8.md +47 -0
- package/template/.cursor/skills/yss-validation/references/source-index.boot3-java17.md +47 -0
- package/template/.cursor/skills/yss-validation/references/source-index.md +6 -29
- package/template/.cursor/skills/yss-web-controller/SKILL.md +4 -4
- package/template/.cursor/skills/yss-web-controller/scripts/generate_controller.test.mjs +1 -1
- package/template/.pi/skills/yss-application/SKILL.md +8 -6
- package/template/.pi/skills/yss-audit-log/SKILL.md +12 -7
- package/template/.pi/skills/yss-audit-log/references/source-index.boot2-java8.md +57 -0
- package/template/.pi/skills/yss-audit-log/references/source-index.boot3-java17.md +58 -0
- package/template/.pi/skills/yss-audit-log/references/source-index.md +6 -39
- package/template/.pi/skills/yss-cache/SKILL.md +5 -1
- package/template/.pi/skills/yss-cache/references/source-index.boot2-java8.md +81 -0
- package/template/.pi/skills/yss-cache/references/source-index.boot3-java17.md +83 -0
- package/template/.pi/skills/yss-cache/references/source-index.md +6 -63
- package/template/.pi/skills/yss-cache/scripts/check-skill-freshness.sh +20 -15
- package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +2 -2
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/engineering-baseline.md +53 -0
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +5 -51
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/agents/openai.yaml +3 -3
- package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/first-slice-verification.test.mjs +1 -1
- package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.mjs +2 -2
- package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_first_slice_verification.mjs +2 -3
- package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/run_scaffold_verification.mjs +1 -1
- package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/scaffold-generator.test.mjs +1 -1
- package/template/.pi/skills/yss-distributed-id/SKILL.md +4 -0
- package/template/.pi/skills/yss-distributed-id/references/source-index.boot2-java8.md +102 -0
- package/template/.pi/skills/yss-distributed-id/references/source-index.boot3-java17.md +90 -0
- package/template/.pi/skills/yss-distributed-id/references/source-index.md +6 -82
- package/template/.pi/skills/yss-dto/SKILL.md +2 -2
- package/template/.pi/skills/yss-dto/references/source-index.boot2-java8.md +67 -0
- package/template/.pi/skills/yss-dto/references/source-index.boot3-java17.md +70 -0
- package/template/.pi/skills/yss-dto/references/source-index.md +6 -51
- package/template/.pi/skills/yss-excel-mvc/SKILL.md +4 -0
- package/template/.pi/skills/yss-excel-mvc/references/source-index.boot2-java8.md +90 -0
- package/template/.pi/skills/yss-excel-mvc/references/source-index.boot3-java17.md +58 -0
- package/template/.pi/skills/yss-excel-mvc/references/source-index.md +6 -70
- package/template/.pi/skills/yss-exception/SKILL.md +12 -9
- package/template/.pi/skills/yss-exception/references/source-index.boot2-java8.md +50 -0
- package/template/.pi/skills/yss-exception/references/source-index.boot3-java17.md +50 -0
- package/template/.pi/skills/yss-exception/references/source-index.md +6 -31
- package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +2 -0
- package/template/.pi/skills/yss-implementation-contract-compiler/references/boundaries.md +3 -5
- package/template/.pi/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml +27 -2
- package/template/.pi/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +2 -1
- package/template/.pi/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs +60 -14
- package/template/.pi/skills/yss-layered-mvc-scaffold-generator/SKILL.md +6 -5
- package/template/.pi/skills/yss-layered-mvc-scaffold-generator/agents/openai.yaml +2 -2
- package/template/.pi/skills/yss-layered-mvc-scaffold-generator/references/architecture.md +2 -0
- package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/data-analysis-profile.mjs +82 -0
- package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/generate_scaffold.mjs +23 -9
- package/template/.pi/skills/yss-layered-mvc-scaffold-generator/scripts/scaffold-generator.test.mjs +30 -6
- package/template/.pi/skills/yss-layered-mvc-scaffold-generator/tests/scaffold-generator.test.mjs +2 -0
- package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/SKILL.md +5 -15
- package/template/.pi/skills/yss-mvc-data-analysis-project-initializer/scripts/generate_project.mjs +9 -68
- package/template/.pi/skills/yss-mvc-design/SKILL.md +5 -9
- package/template/.pi/skills/yss-mvc-design/agents/openai.yaml +3 -3
- package/template/.pi/skills/yss-mybatis/SKILL.md +2 -2
- package/template/.pi/skills/yss-mybatis/references/source-index.boot2-java8.md +126 -0
- package/template/.pi/skills/yss-mybatis/references/source-index.boot3-java17.md +126 -0
- package/template/.pi/skills/yss-mybatis/references/source-index.md +6 -109
- package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +10 -8
- package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +2 -2
- package/template/.pi/skills/yss-repository/SKILL.md +1 -1
- package/template/.pi/skills/yss-resilience4j/SKILL.md +4 -0
- package/template/.pi/skills/yss-resilience4j/references/source-index.boot2-java8.md +48 -0
- package/template/.pi/skills/yss-resilience4j/references/source-index.boot3-java17.md +48 -0
- package/template/.pi/skills/yss-resilience4j/references/source-index.md +6 -29
- package/template/.pi/skills/yss-security-algorithm/SKILL.md +34 -10
- package/template/.pi/skills/yss-security-algorithm/references/source-index.boot2-java8.md +50 -0
- package/template/.pi/skills/yss-security-algorithm/references/source-index.boot3-java17.md +51 -0
- package/template/.pi/skills/yss-security-algorithm/references/source-index.md +6 -31
- package/template/.pi/skills/yss-skill-source-index-refresh/SKILL.md +12 -6
- package/template/.pi/skills/yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md +27 -0
- package/template/.pi/skills/yss-skill-source-index-refresh/references/source-location.md +4 -4
- package/template/.pi/skills/yss-skill-source-index-refresh/references/source-map-config.md +10 -3
- package/template/.pi/skills/yss-skill-source-index-refresh/scripts/check-backend-skill-source-index.mjs +60 -0
- package/template/.pi/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs +247 -54
- package/template/.pi/skills/yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.test.mjs +74 -7
- package/template/.pi/skills/yss-tactical-design/SKILL.md +1 -1
- package/template/.pi/skills/yss-tactical-design/references/output-template.md +1 -1
- package/template/.pi/skills/yss-technical-design/SKILL.md +3 -1
- package/template/.pi/skills/yss-technical-design/references/mvc-design.schema.json +315 -0
- package/template/.pi/skills/yss-technical-design/references/technical-design-contract.md +1 -1
- package/template/.pi/skills/yss-technical-design/scripts/generate-schema.mjs +1 -1
- package/template/.pi/skills/yss-technical-design/tests/run-scenarios.mjs +4 -1
- package/template/.pi/skills/yss-up-springboot3/SKILL.md +23 -9
- package/template/.pi/skills/yss-userinfo/SKILL.md +21 -14
- package/template/.pi/skills/yss-userinfo/references/source-index.boot2-java8.md +49 -0
- package/template/.pi/skills/yss-userinfo/references/source-index.boot3-java17.md +54 -0
- package/template/.pi/skills/yss-userinfo/references/source-index.md +6 -30
- package/template/.pi/skills/yss-validation/SKILL.md +12 -17
- package/template/.pi/skills/yss-validation/references/source-index.boot2-java8.md +47 -0
- package/template/.pi/skills/yss-validation/references/source-index.boot3-java17.md +47 -0
- package/template/.pi/skills/yss-validation/references/source-index.md +6 -29
- package/template/.pi/skills/yss-web-controller/SKILL.md +4 -4
- package/template/.pi/skills/yss-web-controller/scripts/generate_controller.test.mjs +1 -1
- package/template/docs/agents/backend-architecture-profiles.md +1 -1
- package/template/docs/agents/digital-human-roles.yaml +1 -1
- package/template/docs/agents/skill-migrations.md +23 -0
- package/template/docs/agents/yss-skill-registry.yaml +109 -40
- package/template/docs/api/templates/openapi-draft-review-checklist.md +1 -1
- package/template/docs/architecture/templates/engineering-baseline-review-template.md +3 -3
- package/template/docs/architecture/templates/system-overview-design-template.md +1 -1
- package/template/docs/engineering/backend-platforms.json +662 -9
- package/template/docs/engineering/backend-platforms.md +33 -7
- package/template/docs/process/schemas/backend-architecture-identity.schema.json +102 -0
- package/template/docs/process/schemas/project-scaffold-contract.schema.json +16 -4
- package/template/docs/process/schemas/scaffold-architecture-decisions.schema.json +7 -0
- package/template/docs/process/schemas/slice-implementation-contract-v3.schema.json +143 -0
- package/template/docs/process/strategic-handoff-package.md +1 -1
- package/template/docs/templates/implementation-routing-template.md +1 -1
- package/template/docs/user-guide//346/212/200/346/234/257/350/256/276/350/256/241/347/224/250/346/210/267/346/214/207/345/215/227.md +2 -2
- package/template/scripts/backend-platforms +77 -8
- package/template/scripts/lib/backend-platform.mjs +232 -5
- package/template/scripts/lib/existing-backend-architecture.mjs +3 -2
- package/template/scripts/lib/implementation-contract-compiler.mjs +93 -9
- package/template/scripts/lib/skill-registry.mjs +165 -12
- package/template/scripts/lib/slice-contract-preparation.mjs +6 -5
- package/template/scripts/verify-backend-platform-matrix +1 -1
- package/template/skills-lock.json +29 -29
- package/template.snapshot.json +5 -5
|
@@ -1,74 +1,10 @@
|
|
|
1
|
-
# yss-excel-mvc Source Index
|
|
1
|
+
# yss-excel-mvc Source Index Router
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
Source commit: `38b556a5081e6c66c0c538cbc1ef839b19996ed3`
|
|
5
|
-
Source worktree: `dirty`
|
|
6
|
-
Indexed source root: resolved at refresh time; set `YSS_SOURCE_ROOT` to reproduce or refresh.
|
|
3
|
+
Index schema: `backend-component-source-index-router-v1`
|
|
7
4
|
|
|
8
|
-
|
|
5
|
+
Select the source index from the approved `platform_configuration.component_platform_line`; do not infer a line from imports, a branch name or a requested upgrade.
|
|
9
6
|
|
|
10
|
-
|
|
7
|
+
- `boot2-java8` — [Spring Boot 2.7 / Java 8 maintenance line](source-index.boot2-java8.md)
|
|
8
|
+
- `boot3-java17` — [Spring Boot 3.5 / Java 17 mainline](source-index.boot3-java17.md)
|
|
11
9
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
- `yss-microservice-components/yss-component-excel-mvc` (existed when indexed)
|
|
15
|
-
- `yss-microservice-components/yss-component-excel-starter` (existed when indexed)
|
|
16
|
-
|
|
17
|
-
## Documentation Files
|
|
18
|
-
|
|
19
|
-
- `yss-microservice-components/yss-component-excel-mvc/README.md`
|
|
20
|
-
|
|
21
|
-
## Maven Modules
|
|
22
|
-
|
|
23
|
-
- `yss-microservice-components/yss-component-excel-mvc`
|
|
24
|
-
- `yss-microservice-components/yss-component-excel-starter`
|
|
25
|
-
|
|
26
|
-
## Key Java Entry Points
|
|
27
|
-
|
|
28
|
-
- `yss-microservice-components/yss-component-excel-mvc/src/main/java/com/yss/excel/mvc/annotation/EnableExcelMvc.java`
|
|
29
|
-
- `yss-microservice-components/yss-component-excel-mvc/src/main/java/com/yss/excel/mvc/annotation/RequestExcel.java`
|
|
30
|
-
- `yss-microservice-components/yss-component-excel-mvc/src/main/java/com/yss/excel/mvc/annotation/ResponseExcel.java`
|
|
31
|
-
- `yss-microservice-components/yss-component-excel-mvc/src/main/java/com/yss/excel/mvc/config/FastExcelAutoConfiguration.java`
|
|
32
|
-
- `yss-microservice-components/yss-component-excel-mvc/src/main/java/com/yss/excel/mvc/exception/ExcelDataValidationData.java`
|
|
33
|
-
- `yss-microservice-components/yss-component-excel-mvc/src/main/java/com/yss/excel/mvc/exception/ExcelDataValidationException.java`
|
|
34
|
-
- `yss-microservice-components/yss-component-excel-mvc/src/main/java/com/yss/excel/mvc/exception/ExcelMvcExceptionHandler.java`
|
|
35
|
-
- `yss-microservice-components/yss-component-excel-mvc/src/main/java/com/yss/excel/mvc/handler/RequestFastExcelArgumentResolver.java`
|
|
36
|
-
- `yss-microservice-components/yss-component-excel-mvc/src/main/java/com/yss/excel/mvc/handler/ResponseFastExcelReturnValueHandler.java`
|
|
37
|
-
- `yss-microservice-components/yss-component-excel-mvc/src/main/java/com/yss/excel/mvc/model/ExcelDynamicData.java`
|
|
38
|
-
- `yss-microservice-components/yss-component-excel-mvc/src/main/java/com/yss/excel/mvc/util/ExcelUtils.java`
|
|
39
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/ExcelAutoConfiguration.java`
|
|
40
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/ExcelControlProperties.java`
|
|
41
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/ExcelDataRequest.java`
|
|
42
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/ExcelResolverConfiguration.java`
|
|
43
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/annotation/EnableExcelControl.java`
|
|
44
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/annotation/ExcelDynamicSelect.java`
|
|
45
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/annotation/ExcelMeta.java`
|
|
46
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/annotation/ExcelNotation.java`
|
|
47
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/annotation/ExcelSelected.java`
|
|
48
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/annotation/RequestExcel.java`
|
|
49
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/annotation/ResponseExcel.java`
|
|
50
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/aop/DynamicExcelAspect.java`
|
|
51
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/handler/DynamicEasyHandler.java`
|
|
52
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/handler/ExcelCellWidthStyleStrategy.java`
|
|
53
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/handler/RequestExcelArgumentResolver.java`
|
|
54
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/handler/ResponseExcelReturnHandler.java`
|
|
55
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/handler/SelectedSheetWriteHandler.java`
|
|
56
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/handler/TitleHandler.java`
|
|
57
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/handler/WorkbookExcelWriteBuilder.java`
|
|
58
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/model/ExcelComment.java`
|
|
59
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/model/ExcelGeneralData.java`
|
|
60
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/model/ExcelMetaData.java`
|
|
61
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/model/ExcelSelectedResolve.java`
|
|
62
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/model/RowValidationInfo.java`
|
|
63
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/model/excel/CellType.java`
|
|
64
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/model/excel/ExcelCellStyle.java`
|
|
65
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/model/excel/ExcelColHeader.java`
|
|
66
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/model/excel/ExcelDisabled.java`
|
|
67
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/processor/DynamicEasyExcelProcessor.java`
|
|
68
|
-
- `yss-microservice-components/yss-component-excel-starter/src/main/java/com/yss/cloud/excel/processor/ExcelStyleParseProcessor.java`
|
|
69
|
-
|
|
70
|
-
## Recommended Next Reads
|
|
71
|
-
|
|
72
|
-
- Start with the documentation files above when learning component usage.
|
|
73
|
-
- Search the key Java entry points for annotations, auto configuration, properties, aspects, interceptors, handlers, and result objects before changing application code.
|
|
74
|
-
- Prefer existing component extension points over rewriting framework logic in business modules.
|
|
10
|
+
Run the freshness checker with the same explicit `--platform-line` and its matching clean source root before exact integration guidance.
|
|
@@ -27,12 +27,14 @@ Read `references/source-index.md` as a path-hint index whenever the task depends
|
|
|
27
27
|
6. In the `target-domain-model` profile, Domain owns stable error meaning and parameters but does not depend directly on YSS `BizException` or HTTP. Translate at the Web boundary after verifying the component handler precedence.
|
|
28
28
|
7. MVC Profile 的稳定业务错误归 service/core;Repository 保留 cause;server 持有 HTTP 映射与脱敏。不要为了复用错误码引入 Domain 层或让 core 依赖 client。分层依据 `docs/agents/backend-architecture-profiles.md`。
|
|
29
29
|
|
|
30
|
-
## Current Source Behavior
|
|
30
|
+
## Boot 3 Current Source Behavior
|
|
31
31
|
|
|
32
|
-
- `
|
|
33
|
-
-
|
|
34
|
-
- `
|
|
35
|
-
-
|
|
32
|
+
- 以下当前行为针对 `boot3-java17`;Boot 2 旧工程必须读取其独立索引,旧行为只用于迁移识别。
|
|
33
|
+
- `GlobalExceptionAdvice` maps `BizException` to HTTP 400. Unknown `Exception`, `RuntimeException`, and `NullPointerException` map to HTTP 500 and return a sanitized `SysException` with `ResultErrorCode.INTERNAL_ERROR` instead of raw exception text.
|
|
34
|
+
- `MaxUploadSizeExceededException` maps to HTTP 413 (`PAYLOAD_TOO_LARGE`) with `ResultErrorCode.MAX_UPLOAD_SIZE_EXCEEDED`.
|
|
35
|
+
- System and unknown failures are recorded with the SLF4J logger. `yss.exception.level=debug` adds a logger-backed debug stack trace; it never calls `Throwable#printStackTrace()`.
|
|
36
|
+
- Every handled response attaches or reuses a trace id in MDC and exposes it through the `X-Trace-Id` response header. The public body does not contain the raw localized exception or stack trace.
|
|
37
|
+
- Validation binding failures become `SysException(PARAM_VALIDATION_ERROR)`. Coordinate changes with `yss-validation` and contract tests.
|
|
36
38
|
|
|
37
39
|
## Source-Backed Exception Semantics
|
|
38
40
|
|
|
@@ -45,11 +47,12 @@ Read `references/source-index.md` as a path-hint index whenever the task depends
|
|
|
45
47
|
- Required dependency or starter module is present.
|
|
46
48
|
- Error code/message are meaningful to API consumers.
|
|
47
49
|
- Response messages are sanitized and do not expose raw RuntimeException or localized exception details.
|
|
50
|
+
- HTTP assertions cover business 4xx, unknown/runtime 5xx, upload 413, and `X-Trace-Id`.
|
|
48
51
|
- Business validation failures are not reported as unknown system errors.
|
|
49
|
-
- Stack traces are preserved for unknown/system failures.
|
|
52
|
+
- Stack traces are preserved in structured logger output for unknown/system failures, never printed directly to stderr or serialized to clients.
|
|
50
53
|
- Retry guidance matches exception type.
|
|
51
54
|
- Known system failures use `ExceptionFactory.sysException(..., cause)`; Application code does not replace them with ad-hoc `RuntimeException`.
|
|
52
|
-
- Endpoint contract tests cover business, known-system,
|
|
55
|
+
- Endpoint contract tests cover business, known-system, unknown/runtime, and upload-limit failures; unknown public messages never expose `getLocalizedMessage()`.
|
|
53
56
|
|
|
54
57
|
## Do Not
|
|
55
58
|
|
|
@@ -57,6 +60,6 @@ Read `references/source-index.md` as a path-hint index whenever the task depends
|
|
|
57
60
|
- Do not replace component extension points with business-local framework code.
|
|
58
61
|
- Do not broaden the task into unrelated YSS components unless the user asks.
|
|
59
62
|
|
|
60
|
-
##
|
|
63
|
+
## 平台与源码门禁
|
|
61
64
|
|
|
62
|
-
|
|
65
|
+
接入、修改、代码生成或给出精确类名/配置前,读取 [后端组件平台与源码门禁](../yss-skill-source-index-refresh/references/backend-component-platform-compatibility.md),从批准的 `platform_configuration.component_platform_line` 选择 `source-index.boot2-java8.md` 或 `source-index.boot3-java17.md`,并以 `--skill yss-exception --platform-line <line> --source-root <matching-root>` 运行统一 freshness 校验。平台线与源码根不匹配、组件 tree 不一致、组件子树 dirty、索引缺少平台信号,或 Manifest / 组件 GAV 缺少 verified 兼容证据时返回 `blocked`;不得回退另一代索引,也不在业务实现中升级、降级或替换 YSS 组件。既有工程只读分诊可继续,但不得据此宣称跨 Boot/JDK 兼容。
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# yss-exception Source Index
|
|
2
|
+
|
|
3
|
+
Index schema: `backend-component-source-index-v2`
|
|
4
|
+
Platform line: `boot2-java8`
|
|
5
|
+
Generated: 2026-09-18T18:40:26.031Z
|
|
6
|
+
Source commit: `a3be2b2e33dca4545782e2b31894aaa00d0305cd`
|
|
7
|
+
Component worktree: `clean`
|
|
8
|
+
Component tree `yss-microservice-components/yss-component-exception`: `e5d71e213f26cd7e52d419ded1c2f5e7b7fbf40b`
|
|
9
|
+
Indexed source root: resolved at refresh time; set `YSS_SOURCE_ROOT_BOOT2_JAVA8` to reproduce or refresh.
|
|
10
|
+
|
|
11
|
+
This file is generated by `yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs`. Do not hand-edit generated sections.
|
|
12
|
+
|
|
13
|
+
Paths are relocatable source hints. Exact guidance requires a matching component tree and a clean indexed component subtree; the repository commit is trace metadata and may differ when unrelated components change.
|
|
14
|
+
|
|
15
|
+
## Component Path Hints
|
|
16
|
+
|
|
17
|
+
- `yss-microservice-components/yss-component-exception` (existed when indexed)
|
|
18
|
+
|
|
19
|
+
## Documentation Files
|
|
20
|
+
|
|
21
|
+
- `yss-microservice-components/yss-component-exception/readme.md`
|
|
22
|
+
|
|
23
|
+
Component documentation is a discovery aid. For API signatures, conditions and defaults, prefer the indexed source facts below when documentation differs.
|
|
24
|
+
|
|
25
|
+
## Maven Modules
|
|
26
|
+
|
|
27
|
+
- `yss-microservice-components/yss-component-exception/pom.xml` — GAV `com.yss.cloud:yss-component-exception:2.0.0-SNAPSHOT`; parent `com.yss.cloud:yss-microservice-components:2.0.0-SNAPSHOT`
|
|
28
|
+
|
|
29
|
+
## Platform Signals
|
|
30
|
+
|
|
31
|
+
- Inherited Java signals: `1.8`.
|
|
32
|
+
- Inherited Spring Boot signals: `2.7.18`.
|
|
33
|
+
- Namespace source signals: `javax.*` in 1 main Java files; `jakarta.*` in 0 main Java files.
|
|
34
|
+
- Auto-configuration metadata: 1 `spring.factories`; 0 `AutoConfiguration.imports` files.
|
|
35
|
+
- These are source observations, not compatibility certification. Use the approved `platform_configuration` and verified compatibility evidence before integration or generation.
|
|
36
|
+
|
|
37
|
+
## Key Java Entry Points
|
|
38
|
+
|
|
39
|
+
- `yss-microservice-components/yss-component-exception/src/main/java/com/yss/cloud/exception/ExceptionFactory.java` — `sha256:871070981022984dc5e991bcc6a250fb9fdda31efe94a6e151bd86dfebc7162b`
|
|
40
|
+
- `yss-microservice-components/yss-component-exception/src/main/java/com/yss/cloud/exception/ResultErrorCode.java` — `sha256:cfc1ce146b99ba5d938bdc6bfb80758582e0c80cf1e37472967d5fdc334b8f81`
|
|
41
|
+
- `yss-microservice-components/yss-component-exception/src/main/java/com/yss/cloud/exception/YssGlobalExceptionProperties.java` — `sha256:706136214248b90965feadced7940fde2f649e9d5f19a3953d55756a7f56ea84`
|
|
42
|
+
- `yss-microservice-components/yss-component-exception/src/main/java/com/yss/cloud/exception/advice/GlobalExceptionAdvice.java` — `sha256:c4233e0fdfccb63330fc82d26e4defd8fb8985ba04cc23d8fa3d0e2cbc0183b5`
|
|
43
|
+
|
|
44
|
+
## Freshness and Use
|
|
45
|
+
|
|
46
|
+
- Locate the current source root using `YSS_SOURCE_ROOT_BOOT2_JAVA8`, CodeGraph, Maven artifact names or repository search.
|
|
47
|
+
- Compare each indexed `Component tree` with `git rev-parse HEAD:<component-path>` and require the current component subtree to be clean before exact guidance.
|
|
48
|
+
- Run `node ../yss-skill-source-index-refresh/scripts/check-backend-skill-source-index.mjs --skill <skill-id> --platform-line boot2-java8 --source-root <root>` from the canonical skill root before exact integration guidance.
|
|
49
|
+
- A repository commit difference alone is not stale when the component tree is unchanged; a component tree mismatch or component-local dirty state is stale.
|
|
50
|
+
- Read only the source entries needed for the current decision or troubleshooting path.
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# yss-exception Source Index
|
|
2
|
+
|
|
3
|
+
Index schema: `backend-component-source-index-v2`
|
|
4
|
+
Platform line: `boot3-java17`
|
|
5
|
+
Generated: 2026-09-18T18:40:26.031Z
|
|
6
|
+
Source commit: `5041c41fbe96c25821bbc15f688c0521b8c97a3d`
|
|
7
|
+
Component worktree: `clean`
|
|
8
|
+
Component tree `yss-microservice-components/yss-component-exception`: `4d83019be2ede902b69eb5fe9fdad8739f0f9933`
|
|
9
|
+
Indexed source root: resolved at refresh time; set `YSS_SOURCE_ROOT_BOOT3_JAVA17` to reproduce or refresh.
|
|
10
|
+
|
|
11
|
+
This file is generated by `yss-skill-source-index-refresh/scripts/refresh-yss-skill-index.mjs`. Do not hand-edit generated sections.
|
|
12
|
+
|
|
13
|
+
Paths are relocatable source hints. Exact guidance requires a matching component tree and a clean indexed component subtree; the repository commit is trace metadata and may differ when unrelated components change.
|
|
14
|
+
|
|
15
|
+
## Component Path Hints
|
|
16
|
+
|
|
17
|
+
- `yss-microservice-components/yss-component-exception` (existed when indexed)
|
|
18
|
+
|
|
19
|
+
## Documentation Files
|
|
20
|
+
|
|
21
|
+
- `yss-microservice-components/yss-component-exception/readme.md`
|
|
22
|
+
|
|
23
|
+
Component documentation is a discovery aid. For API signatures, conditions and defaults, prefer the indexed source facts below when documentation differs.
|
|
24
|
+
|
|
25
|
+
## Maven Modules
|
|
26
|
+
|
|
27
|
+
- `yss-microservice-components/yss-component-exception/pom.xml` — GAV `com.yss.cloud:yss-component-exception:3.0.0-SNAPSHOT`; parent `com.yss.cloud:yss-microservice-components:3.0.0-SNAPSHOT`
|
|
28
|
+
|
|
29
|
+
## Platform Signals
|
|
30
|
+
|
|
31
|
+
- Inherited Java signals: `17`.
|
|
32
|
+
- Inherited Spring Boot signals: `3.5.16`.
|
|
33
|
+
- Namespace source signals: `javax.*` in 0 main Java files; `jakarta.*` in 1 main Java files.
|
|
34
|
+
- Auto-configuration metadata: 0 `spring.factories`; 1 `AutoConfiguration.imports` files.
|
|
35
|
+
- These are source observations, not compatibility certification. Use the approved `platform_configuration` and verified compatibility evidence before integration or generation.
|
|
36
|
+
|
|
37
|
+
## Key Java Entry Points
|
|
38
|
+
|
|
39
|
+
- `yss-microservice-components/yss-component-exception/src/main/java/com/yss/cloud/exception/ExceptionFactory.java` — `sha256:871070981022984dc5e991bcc6a250fb9fdda31efe94a6e151bd86dfebc7162b`
|
|
40
|
+
- `yss-microservice-components/yss-component-exception/src/main/java/com/yss/cloud/exception/ResultErrorCode.java` — `sha256:cfc1ce146b99ba5d938bdc6bfb80758582e0c80cf1e37472967d5fdc334b8f81`
|
|
41
|
+
- `yss-microservice-components/yss-component-exception/src/main/java/com/yss/cloud/exception/YssGlobalExceptionProperties.java` — `sha256:706136214248b90965feadced7940fde2f649e9d5f19a3953d55756a7f56ea84`
|
|
42
|
+
- `yss-microservice-components/yss-component-exception/src/main/java/com/yss/cloud/exception/advice/GlobalExceptionAdvice.java` — `sha256:56c2025e65b314c30ba2f6c51bead345fe8d81da892c10f5d5c20663e7f38949`
|
|
43
|
+
|
|
44
|
+
## Freshness and Use
|
|
45
|
+
|
|
46
|
+
- Locate the current source root using `YSS_SOURCE_ROOT_BOOT3_JAVA17`, CodeGraph, Maven artifact names or repository search.
|
|
47
|
+
- Compare each indexed `Component tree` with `git rev-parse HEAD:<component-path>` and require the current component subtree to be clean before exact guidance.
|
|
48
|
+
- Run `node ../yss-skill-source-index-refresh/scripts/check-backend-skill-source-index.mjs --skill <skill-id> --platform-line boot3-java17 --source-root <root>` from the canonical skill root before exact integration guidance.
|
|
49
|
+
- A repository commit difference alone is not stale when the component tree is unchanged; a component tree mismatch or component-local dirty state is stale.
|
|
50
|
+
- Read only the source entries needed for the current decision or troubleshooting path.
|
|
@@ -1,35 +1,10 @@
|
|
|
1
|
-
# yss-exception Source Index
|
|
1
|
+
# yss-exception Source Index Router
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
Source commit: `38b556a5081e6c66c0c538cbc1ef839b19996ed3`
|
|
5
|
-
Source worktree: `dirty`
|
|
6
|
-
Indexed source root: resolved at refresh time; set `YSS_SOURCE_ROOT` to reproduce or refresh.
|
|
3
|
+
Index schema: `backend-component-source-index-router-v1`
|
|
7
4
|
|
|
8
|
-
|
|
5
|
+
Select the source index from the approved `platform_configuration.component_platform_line`; do not infer a line from imports, a branch name or a requested upgrade.
|
|
9
6
|
|
|
10
|
-
|
|
7
|
+
- `boot2-java8` — [Spring Boot 2.7 / Java 8 maintenance line](source-index.boot2-java8.md)
|
|
8
|
+
- `boot3-java17` — [Spring Boot 3.5 / Java 17 mainline](source-index.boot3-java17.md)
|
|
11
9
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
- `yss-microservice-components/yss-component-exception` (existed when indexed)
|
|
15
|
-
|
|
16
|
-
## Documentation Files
|
|
17
|
-
|
|
18
|
-
- `yss-microservice-components/yss-component-exception/readme.md`
|
|
19
|
-
|
|
20
|
-
## Maven Modules
|
|
21
|
-
|
|
22
|
-
- `yss-microservice-components/yss-component-exception`
|
|
23
|
-
|
|
24
|
-
## Key Java Entry Points
|
|
25
|
-
|
|
26
|
-
- `yss-microservice-components/yss-component-exception/src/main/java/com/yss/cloud/exception/ExceptionFactory.java`
|
|
27
|
-
- `yss-microservice-components/yss-component-exception/src/main/java/com/yss/cloud/exception/ResultErrorCode.java`
|
|
28
|
-
- `yss-microservice-components/yss-component-exception/src/main/java/com/yss/cloud/exception/YssGlobalExceptionProperties.java`
|
|
29
|
-
- `yss-microservice-components/yss-component-exception/src/main/java/com/yss/cloud/exception/advice/GlobalExceptionAdvice.java`
|
|
30
|
-
|
|
31
|
-
## Recommended Next Reads
|
|
32
|
-
|
|
33
|
-
- Start with the documentation files above when learning component usage.
|
|
34
|
-
- Search the key Java entry points for annotations, auto configuration, properties, aspects, interceptors, handlers, and result objects before changing application code.
|
|
35
|
-
- Prefer existing component extension points over rewriting framework logic in business modules.
|
|
10
|
+
Run the freshness checker with the same explicit `--platform-line` and its matching clean source root before exact integration guidance.
|
|
@@ -75,3 +75,5 @@ Slice v3 的任务进度、缺口和实时就绪结果不回写合同。源事
|
|
|
75
75
|
## 后端脚手架平台承接
|
|
76
76
|
|
|
77
77
|
消费生命周期已确认的架构与 `platform_configuration` v2;不得自行选择、批准或静默升级 Boot/Java。平台清单执行 `scripts/backend-platforms` 查询;只允许已验证 YSS 组合,新生成缺少配置或证据即阻断。决定、合同、Manifest 与下游架构身份须绑定同一平台及兼容摘要。详见 仓库共享合同 `docs/engineering/backend-platforms.md`。
|
|
78
|
+
|
|
79
|
+
后端 Slice 解析出 `component_binding: required` 的 capability 或其主 Skill 时,必须在同一平台兼容条目中逐项解析 `component_capabilities`。编译结果保存 `component_bindings` 与 `component_bindings_digest`;未登记、未验证、架构证据缺失、构件坐标冲突或摘要漂移均阻断。旧合同含组件 Skill 但没有组件绑定时直接 `stale`,重新编译并交生命周期批准,禁止自动补字段后沿用原批准。
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
| --- | --- | --- |
|
|
21
21
|
| `writing.lifecycle-document` | `i-have-adhd` | `guidance` |
|
|
22
22
|
| `architecture.technical-design` | `yss-technical-design` | `guidance`, `integration`, `review-input` |
|
|
23
|
-
| `architecture.mvc-design` | `yss-
|
|
23
|
+
| `architecture.mvc-design` | `yss-technical-design` | `guidance`, `integration`, `review-input` |
|
|
24
24
|
| `layer.mvc-service` | `yss-application` | `guidance`, `integration`, `slice-implementation`, `troubleshooting`, `review-input` |
|
|
25
25
|
| `layer.mvc-persistence` | `yss-repository` | `guidance`, `integration`, `slice-implementation`, `troubleshooting`, `review-input` |
|
|
26
26
|
| `layer.mvc-web` | `yss-web-controller` | `guidance`, `integration`, `slice-implementation`, `troubleshooting`, `review-input` |
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
| `scaffold.ddd` | `yss-ddd-scaffold-generator` | `integration`, `component-maintenance` |
|
|
49
49
|
| `scaffold.layered-mvc` | `yss-layered-mvc-scaffold-generator` | `integration`, `component-maintenance` |
|
|
50
50
|
| `scaffold.frontend-vue3` | `yss-frontend-scaffold-generator` | `integration`, `component-maintenance` |
|
|
51
|
-
| `project-init.mvc-data-analysis` | `yss-mvc-
|
|
51
|
+
| `project-init.mvc-data-analysis` | `yss-layered-mvc-scaffold-generator` | `component-maintenance` |
|
|
52
52
|
| `migration.springboot3` | `yss-up-springboot3` | `guidance`, `integration`, `troubleshooting`, `component-maintenance`, `review-input` |
|
|
53
53
|
|
|
54
54
|
## Narrow Recipes
|
|
@@ -118,7 +118,6 @@
|
|
|
118
118
|
| `yss-prototype-stage` | `i-have-adhd` | `context-conditional` | `lifecycle-document-output` |
|
|
119
119
|
| `yss-prototype-stage` | `prototype-review` | `review-only` | — |
|
|
120
120
|
| `yss-prototype-stage` | `yss-design-system` | `coordination-only` | — |
|
|
121
|
-
| `yss-ddd-scaffold-generator` | `yss-backend-scaffold-parent` | `context-required` | — |
|
|
122
121
|
| `yss-ddd-scaffold-generator` | `alibaba-java-code-style` | `context-required` | — |
|
|
123
122
|
| `yss-layered-mvc-scaffold-generator` | `alibaba-java-code-style` | `context-required` | — |
|
|
124
123
|
| `yss-domain` | `alibaba-java-code-style` | `context-required` | — |
|
|
@@ -127,8 +126,7 @@
|
|
|
127
126
|
| `yss-domain` | `lombok` | `context-conditional` | `pojo` |
|
|
128
127
|
| `yss-technical-design` | `i-have-adhd` | `context-conditional` | `lifecycle-document-output` |
|
|
129
128
|
| `yss-technical-design` | `yss-tactical-design` | `coordination-only` | `domain-driven` |
|
|
130
|
-
| `yss-technical-design` | `yss-
|
|
131
|
-
| `yss-mvc-design` | `yss-openapi-draft-review` | `review-only` | `api-impact` |
|
|
129
|
+
| `yss-technical-design` | `yss-openapi-draft-review` | `review-only` | `api-impact` |
|
|
132
130
|
| `yss-tactical-design` | `domain-modeling` | `coordination-only` | — |
|
|
133
131
|
| `yss-tactical-design` | `yss-openapi-draft-review` | `review-only` | `api-impact` |
|
|
134
132
|
| `yss-tactical-design` | `yss-repository` | `component-dependency` | `data-impact` |
|
package/template/.pi/skills/yss-implementation-contract-compiler/references/compiler-contract.yaml
CHANGED
|
@@ -143,6 +143,14 @@ resolution_contract:
|
|
|
143
143
|
deterministic_order: [recipe-declaration, dependency-topology, skill-id]
|
|
144
144
|
digest_change_status: stale
|
|
145
145
|
stale_action: recompile-and-return-to-lifecycle-approval
|
|
146
|
+
component_bindings:
|
|
147
|
+
when: any-required-capability-provider-kind-is-yss-component
|
|
148
|
+
platform_configuration: required-v2
|
|
149
|
+
catalog_source: docs/engineering/backend-platforms.json
|
|
150
|
+
required_fields: [component_bindings, component_bindings_digest]
|
|
151
|
+
exact_artifact_binding: [group_id, artifact_id, declared_version, resolved_version, pom_sha256, jar_sha256, source_tree]
|
|
152
|
+
digest_change_status: stale
|
|
153
|
+
old_contract_without_binding: stale-and-recompile-no-auto-upgrade
|
|
146
154
|
|
|
147
155
|
context_plan:
|
|
148
156
|
required: [required_context_refs, on_demand_context_refs, context_stop_rule, missing_context_action]
|
|
@@ -157,7 +165,7 @@ project_scaffold_contract_schema:
|
|
|
157
165
|
delivery_roles:
|
|
158
166
|
backend:
|
|
159
167
|
scaffold_kinds: [backend-ddd, backend-layered-mvc, backend-mvc-data-analysis]
|
|
160
|
-
generators: [yss-ddd-scaffold-generator, yss-layered-mvc-scaffold-generator
|
|
168
|
+
generators: [yss-ddd-scaffold-generator, yss-layered-mvc-scaffold-generator]
|
|
161
169
|
requires: [scaffold_request_id, architecture_family, decision_ref, decision_id, decision_digest, project_name, base_package, maven_coordinates, profiles, module_profile, design_prerequisites]
|
|
162
170
|
design_prerequisites:
|
|
163
171
|
required: [technical_design, data_architecture_decision, api_contract_decision, engineering_contract_approval_ref]
|
|
@@ -253,7 +261,7 @@ scaffold_contract_schema:
|
|
|
253
261
|
lifecycle_approves: [approved]
|
|
254
262
|
generator_consumes: []
|
|
255
263
|
after_generation:
|
|
256
|
-
domain-driven: [yss-
|
|
264
|
+
domain-driven: [yss-implementation-contract-compiler]
|
|
257
265
|
layered-mvc: [yss-implementation-contract-compiler]
|
|
258
266
|
work_unit:
|
|
259
267
|
required: [id, behavior, primary_skill, supporting_skills, tdd_mode, allowed_write_paths, expected_evidence, verification_commands, controlled_generation]
|
|
@@ -330,6 +338,7 @@ full_reroute_triggers:
|
|
|
330
338
|
- scaffold-architecture-decision-changed
|
|
331
339
|
- scaffold-profile-changed
|
|
332
340
|
- scaffold-module-resolution-changed
|
|
341
|
+
- component-binding-drift
|
|
333
342
|
- api-schema-impact
|
|
334
343
|
- database-schema-impact
|
|
335
344
|
- state-machine-impact
|
|
@@ -355,6 +364,7 @@ full_reroute_triggers:
|
|
|
355
364
|
|
|
356
365
|
reroute_destinations:
|
|
357
366
|
scaffold-baseline-drift: stage7-scaffold-revalidation
|
|
367
|
+
component-binding-drift: stage7-contract-recompile
|
|
358
368
|
api-schema-impact: system-data-architecture-and-contract-review
|
|
359
369
|
database-schema-impact: data-architecture-and-migration-review
|
|
360
370
|
state-machine-impact: spec-system-data-and-contract-review
|
|
@@ -410,6 +420,10 @@ execution_result_required:
|
|
|
410
420
|
- deviations
|
|
411
421
|
- new_impacts
|
|
412
422
|
- not_applicable_reason
|
|
423
|
+
execution_result_component_binding:
|
|
424
|
+
when: resolution.component_bindings-present
|
|
425
|
+
required: consumed_contract.component_bindings_digest
|
|
426
|
+
mismatch: component-binding-mismatch
|
|
413
427
|
seam_deferred_required: [risk, owner, follow_up_ticket, verification_plan, target_version_or_release_date]
|
|
414
428
|
deviation_required: [rule, reason, approval_ref]
|
|
415
429
|
not_applicable_required: [item, reason]
|
|
@@ -432,3 +446,14 @@ backend_platform_contract:
|
|
|
432
446
|
new_generation_requires: [exact-boot-java, confirmed-decision, matching-yss-coordinates, verified-compatibility-entry]
|
|
433
447
|
candidate_generation: maintenance-only
|
|
434
448
|
candidate_downstream: blocked
|
|
449
|
+
component_capabilities:
|
|
450
|
+
registry_marker: provider-kind-yss-component
|
|
451
|
+
mapping_key: provider-binding-id
|
|
452
|
+
foundational_capabilities: [contract.dto-wire, contract.request-validation, contract.error-mapping, framework.mybatis]
|
|
453
|
+
specialized_capabilities: [component.cache, component.current-user-context, component.audit-log, component.excel-import-export, component.distributed-id, component.security-algorithm, component.gateway-resilience]
|
|
454
|
+
exact_artifact_evidence: [group_id, artifact_id, declared_version, resolved_version, pom_sha256, jar_sha256, source_tree]
|
|
455
|
+
verified_architecture_required: true
|
|
456
|
+
unlisted_or_blocked: component-unavailable-for-platform
|
|
457
|
+
missing_evidence: component-evidence-missing
|
|
458
|
+
coordinate_conflict: component-artifact-coordinate-conflict
|
|
459
|
+
drift: component-binding-drift
|
|
@@ -17,6 +17,7 @@ execution_result:
|
|
|
17
17
|
contract_version:
|
|
18
18
|
registry_digest:
|
|
19
19
|
compiler_contract_digest:
|
|
20
|
+
component_bindings_digest: # 合同含 component_bindings 时必填
|
|
20
21
|
quality_baseline_ref:
|
|
21
22
|
context_plan_ref:
|
|
22
23
|
changed_files:
|
|
@@ -57,7 +58,7 @@ execution_result:
|
|
|
57
58
|
|
|
58
59
|
实现合同编译器必须验证:
|
|
59
60
|
|
|
60
|
-
1. `consumed_contract.contract_version`
|
|
61
|
+
1. `consumed_contract.contract_version` 与当前批准版本一致,Registry、编译器以及适用的 `component_bindings_digest` 与批准合同一致且保持 current。
|
|
61
62
|
2. `changed_files` 全部位于工作单元和切片允许路径内。
|
|
62
63
|
3. `expected_evidence_files` 全部存在并能回指行为。
|
|
63
64
|
4. 验证命令包含实际结果和时间;计划命令不算证据。
|
package/template/.pi/skills/yss-implementation-contract-compiler/tests/compiler-scenarios.test.mjs
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import assert from "node:assert/strict";
|
|
2
2
|
import test from "node:test";
|
|
3
|
+
import { readFileSync } from "node:fs";
|
|
3
4
|
import {
|
|
4
5
|
compileImplementationContract,
|
|
5
6
|
digestDocument,
|
|
@@ -8,6 +9,7 @@ import {
|
|
|
8
9
|
validateExecutionResult
|
|
9
10
|
} from "../../../../scripts/lib/implementation-contract-compiler.mjs";
|
|
10
11
|
import { loadSkillRegistry } from "../../../../scripts/lib/skill-registry.mjs";
|
|
12
|
+
import { loadBackendPlatforms, platformBinding } from "../../../../scripts/lib/backend-platform.mjs";
|
|
11
13
|
|
|
12
14
|
const registry = loadSkillRegistry();
|
|
13
15
|
const compilerContract = loadCompilerContract();
|
|
@@ -15,17 +17,18 @@ const fixed = "2026-09-04T00:00:00.000Z";
|
|
|
15
17
|
const identity = { architecture_family: "domain-driven", architecture_profile: "target-domain-model", generator_skill: "yss-ddd-scaffold-generator", requested_capabilities: [], resolved_modules: ["domain", "application", "infrastructure", "adapter", "bootstrap"], verification_database: "h2", production_database: "not-bound", contract_digest: "a".repeat(64) };
|
|
16
18
|
const architecture = { architecture_identity: identity, architecture_evidence: { engineering_baseline: identity, repository_registration: identity, manifest: identity } };
|
|
17
19
|
const compile = (input) => compileImplementationContract({ registry, compilerContract, compiledAt: fixed, ...architecture, ...input });
|
|
20
|
+
const stableComponentError = code => error => error?.code === code && new RegExp(`^component-capability: ${code}:`).test(error.message);
|
|
18
21
|
|
|
19
22
|
test("combines narrow recipes once and preserves deterministic output", () => {
|
|
20
23
|
const input = {
|
|
21
|
-
recipeIds: ["backend.ddd-
|
|
22
|
-
conditions: ["
|
|
24
|
+
recipeIds: ["backend.ddd-domain-behavior"],
|
|
25
|
+
conditions: ["conversion", "pojo"]
|
|
23
26
|
};
|
|
24
27
|
const first = compile(input);
|
|
25
28
|
const second = compile({ ...input, recipeIds: [...input.recipeIds].reverse(), conditions: [...input.conditions].reverse() });
|
|
26
29
|
assert.deepEqual(first, second);
|
|
27
|
-
assert.deepEqual(first.recipe_ids, ["backend.ddd-domain-behavior"
|
|
28
|
-
for (const skill of ["yss-domain", "yss-application", "
|
|
30
|
+
assert.deepEqual(first.recipe_ids, ["backend.ddd-domain-behavior"]);
|
|
31
|
+
for (const skill of ["yss-domain", "yss-application", "mapstruct", "lombok", "alibaba-java-code-style"]) {
|
|
29
32
|
assert.equal(first.required_skills.filter((candidate) => candidate === skill).length, 1, `${skill} should appear once`);
|
|
30
33
|
}
|
|
31
34
|
});
|
|
@@ -37,17 +40,43 @@ test("does not promote conditional or component dependencies without explicit in
|
|
|
37
40
|
assert.equal(persistence.required_skills.includes("mapstruct"), false);
|
|
38
41
|
assert.equal(persistence.required_skills.includes("lombok"), false);
|
|
39
42
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
assert.throws(
|
|
44
|
+
() => compile({ requiredCapabilities: ["contract.request-validation"], architecture_identity: undefined, architecture_evidence: undefined }),
|
|
45
|
+
/component-platform-binding-required/
|
|
46
|
+
);
|
|
44
47
|
});
|
|
45
48
|
|
|
46
49
|
test("loads only explicitly satisfied context-conditional dependencies", () => {
|
|
47
|
-
const
|
|
48
|
-
assert.equal(
|
|
49
|
-
assert.equal(
|
|
50
|
-
assert.equal(
|
|
50
|
+
const application = compile({ requiredCapabilities: ["layer.application"], conditions: ["conversion"] });
|
|
51
|
+
assert.equal(application.required_skills.includes("mapstruct"), true);
|
|
52
|
+
assert.equal(application.required_skills.includes("lombok"), false);
|
|
53
|
+
assert.equal(application.required_skills.includes("yss-mybatis"), false);
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
test("requires a platform binding for every backend component capability", () => {
|
|
57
|
+
for (const capability of ["contract.dto-wire", "contract.request-validation", "contract.error-mapping", "framework.mybatis", "component.cache", "component.current-user-context", "component.audit-log", "component.excel-import-export", "component.distributed-id", "component.security-algorithm", "component.gateway-resilience"]) {
|
|
58
|
+
assert.throws(
|
|
59
|
+
() => compile({ requiredCapabilities: [capability], architecture_identity: undefined, architecture_evidence: undefined }),
|
|
60
|
+
stableComponentError("component-platform-binding-required"),
|
|
61
|
+
capability
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
test("public compiler entry preserves stable component error codes", () => {
|
|
67
|
+
const catalog = loadBackendPlatforms();
|
|
68
|
+
const boot2Profile = catalog.profiles.find(item => item.id === "spring-boot-2.7-jdk8");
|
|
69
|
+
const boot2Entry = catalog.compatibility.find(item => item.profile_id === boot2Profile.id);
|
|
70
|
+
const boot2 = platformBinding(boot2Profile, boot2Entry);
|
|
71
|
+
const withPlatform = platform_configuration => {
|
|
72
|
+
const architecture_identity = { ...identity, platform_configuration };
|
|
73
|
+
return { architecture_identity, architecture_evidence: { engineering_baseline: architecture_identity, repository_registration: architecture_identity, manifest: architecture_identity } };
|
|
74
|
+
};
|
|
75
|
+
assert.throws(() => compile({ requiredCapabilities: ["contract.dto-wire"], ...withPlatform(boot2) }), stableComponentError("component-evidence-missing"));
|
|
76
|
+
assert.throws(() => compile({ requiredCapabilities: ["component.cache"], ...withPlatform(boot2) }), stableComponentError("component-platform-generation-mismatch"));
|
|
77
|
+
const boot3Profile = catalog.profiles.find(item => item.id === "spring-boot-3.5-jdk17");
|
|
78
|
+
const boot3 = { ...boot2, profile_id: boot3Profile.id, spring_boot_version: boot3Profile.spring_boot_version, java_version: boot3Profile.java_version, compatibility_id: "unavailable-boot3-components" };
|
|
79
|
+
assert.throws(() => compile({ requiredCapabilities: ["contract.dto-wire"], ...withPlatform(boot3) }), stableComponentError("component-unavailable-for-platform"));
|
|
51
80
|
});
|
|
52
81
|
|
|
53
82
|
test("rejects recipes that reference skills and context-required cycles", () => {
|
|
@@ -62,12 +91,12 @@ test("rejects recipes that reference skills and context-required cycles", () =>
|
|
|
62
91
|
|
|
63
92
|
test("rejects removed ids and schema v1 without compatibility", () => {
|
|
64
93
|
assert.throws(() => compile({ recipeIds: ["yss-router"] }), /已移除 skill id/);
|
|
65
|
-
assert.throws(() => compileImplementationContract({ registry: { ...registry, schema_version: 1 }, compilerContract, requiredCapabilities: ["layer.domain"] }), /schema v1 已停止支持/);
|
|
94
|
+
assert.throws(() => compileImplementationContract({ registry: { ...registry, schema_version: 1 }, compilerContract, requiredCapabilities: ["layer.domain"] }), /schema v1\/v2 已停止支持/);
|
|
66
95
|
assert.throws(() => compileImplementationContract({ registry, compilerContract: { ...compilerContract, schema_version: 1 }, requiredCapabilities: ["layer.domain"] }), /schema v1 已停止支持/);
|
|
67
96
|
});
|
|
68
97
|
|
|
69
98
|
test("marks digest drift stale and validates v2 execution evidence", () => {
|
|
70
|
-
const resolution = compile({ requiredCapabilities: ["
|
|
99
|
+
const resolution = compile({ requiredCapabilities: ["quality.java-code-style"], architecture_identity: undefined, architecture_evidence: undefined });
|
|
71
100
|
const contract = { schema_version: 2, contract_id: "slice-1", contract_version: 1, resolution };
|
|
72
101
|
assert.deepEqual(evaluateContractFreshness(contract, { registry, compilerContract }), { freshness: "current", reasons: [] });
|
|
73
102
|
const changedRegistry = structuredClone(registry);
|
|
@@ -89,3 +118,20 @@ test("marks digest drift stale and validates v2 execution evidence", () => {
|
|
|
89
118
|
assert.deepEqual(validateExecutionResult(result, contract, { registry, compilerContract }), { status: "accepted", blockers: [] });
|
|
90
119
|
assert.deepEqual(validateExecutionResult({ ...result, new_impacts: [{ impact_type: "cache" }] }, contract, { registry, compilerContract }), { status: "blocked", blockers: ["new-impacts"] });
|
|
91
120
|
});
|
|
121
|
+
|
|
122
|
+
test("marks legacy component contracts without component bindings stale", () => {
|
|
123
|
+
const resolution = compile({ requiredCapabilities: ["quality.java-code-style"], architecture_identity: undefined, architecture_evidence: undefined });
|
|
124
|
+
resolution.required_capabilities = ["contract.dto-wire"];
|
|
125
|
+
resolution.required_skills = ["yss-dto"];
|
|
126
|
+
const contract = { schema_version: 2, contract_id: "legacy-component", contract_version: 1, resolution };
|
|
127
|
+
assert.ok(evaluateContractFreshness(contract, { registry, compilerContract }).reasons.includes("component-binding-drift"));
|
|
128
|
+
});
|
|
129
|
+
|
|
130
|
+
test("current lifecycle scaffold contract delegates platform facts to the catalog", () => {
|
|
131
|
+
const source = readFileSync(new URL("../../yss-product-lifecycle/references/orchestration-contract.yaml", import.meta.url), "utf8");
|
|
132
|
+
const current = source.slice(source.indexOf("backend_scaffold:"), source.indexOf(" required_inputs:", source.indexOf("backend_scaffold:")));
|
|
133
|
+
assert.match(current, /platform_binding: platform_configuration-v2/);
|
|
134
|
+
assert.doesNotMatch(current, /yss_components_version:\s*2\.0\.0-SNAPSHOT/);
|
|
135
|
+
assert.doesNotMatch(current, /spring-boot-3/);
|
|
136
|
+
assert.doesNotMatch(current, /validation_namespace:\s*javax/);
|
|
137
|
+
});
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: yss-layered-mvc-scaffold-generator
|
|
3
|
-
description:
|
|
3
|
+
description: 在生命周期已批准的脚手架合同下生成通用 YSS 分层 MVC 后端,或按 mvc-data-analysis-v1 初始化六模块数据分析 project-instance。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# YSS Layered MVC Scaffold Generator
|
|
7
7
|
|
|
8
|
-
本 skill 只为已登记的全新 backend project
|
|
8
|
+
本 skill 只为已登记的全新 backend project 生成机械工程骨架,不生成业务 Controller、DTO、查询、状态机或 Mock 数据。普通 `layered-mvc-service` 不创建 `project-instance` 或初始化 Git;`mvc-data-analysis-v1` 按批准合同创建独立 project-instance、同级锁定 `skillUtils` 和未提交的 main Git。
|
|
9
9
|
|
|
10
10
|
## 进入条件
|
|
11
11
|
|
|
@@ -31,12 +31,13 @@ description: 用于在生命周期已批准的脚手架合同下生成按批准
|
|
|
31
31
|
|
|
32
32
|
## 架构与 Profile
|
|
33
33
|
|
|
34
|
-
- 固定核心模块:`server`、`service`、`repository`。
|
|
34
|
+
- `layered-mvc-service` 固定核心模块:`server`、`service`、`repository`。
|
|
35
35
|
- `external-integration` 增加 `adapter`。
|
|
36
36
|
- `published-client` 增加 `client`。
|
|
37
37
|
- `feign-client` 增加 `client`、`feign-client`。
|
|
38
38
|
- 平台来自批准的 `platform_configuration`;保留 YSS BOM、MyBatis-Plus,不固定单一 Boot/Java/Validation 命名空间。
|
|
39
|
-
- 固定
|
|
39
|
+
- `mvc-data-analysis-v1` 固定 `server/core/client/repository/adapter/feign-client` 六模块,要求 `context_handoff_ref`、摘要和 `init_git=true`,复制批准的根 `CONTEXT.md`、治理资产和锁定工具包;不得从交接内容创造术语。该 Profile 仍绑定平台目录与构件证据,不再通过历史初始化器绕过平台门禁。
|
|
40
|
+
- 两个 Profile 均固定 verification_database=h2、production_database=not-bound。测试使用 H2,本地运行显式启用 scaffold-local;不引入外部驱动/数据源。
|
|
40
41
|
|
|
41
42
|
能力解析规则、模块职责和依赖方向见 [architecture.md](references/architecture.md)。生成器必须同时校验 `requested_capabilities` 与 `resolved_modules`,不得自行补猜模块。
|
|
42
43
|
|
|
@@ -69,7 +70,7 @@ node scripts/generate_and_verify_scaffold.mjs \
|
|
|
69
70
|
## 硬约束
|
|
70
71
|
|
|
71
72
|
- 新生成只接受包含 API Contract Decision 的统一 schema v4;缺 API 字段的预发布 v4 不得静默接受。验证器可只读检查历史 Manifest v3,恢复必须另行完成所有权审计、技术/数据/API 设计补齐与当前批准。历史 v2/v3 均不用于新生成。
|
|
72
|
-
- `architecture_family` 必须为 `layered-mvc`,`generator_skill` 必须为本 skill
|
|
73
|
+
- `architecture_family` 必须为 `layered-mvc`,`generator_skill` 必须为本 skill。历史 `yss-mvc-data-analysis-project-initializer` 合同必须返回 `skill-deprecated`、标记 `stale` 并重编译,不自动替换或继承批准。
|
|
73
74
|
- 目标存在、`--force`、旧项目迁移、模板升级均为 `unsupported`。
|
|
74
75
|
- Harness 内只允许以 `apps/backend/` 为输出父容器;外部实现仓库使用已登记真实路径。
|
|
75
76
|
- 不生成业务示例。健康检查、上下文加载测试和架构测试只能验证机械工程能力,不定义用户可见 API。
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "YSS Layered MVC Scaffold Generator"
|
|
3
|
-
short_description: "Generate
|
|
4
|
-
default_prompt: "Use $yss-layered-mvc-scaffold-generator only after a user-confirmed architecture decision and a lifecycle-approved schema v4
|
|
3
|
+
short_description: "Generate approved MVC service or data-analysis profiles."
|
|
4
|
+
default_prompt: "Use $yss-layered-mvc-scaffold-generator only after a user-confirmed architecture decision and a lifecycle-approved schema v4 contract; generate layered-mvc-service or the native mvc-data-analysis-v1 project profile exactly as bound."
|
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
|
|
12
12
|
合同保存 `requested_capabilities`、`resolved_modules` 和 `resolution_version: 1`。模块按 `server`、`service`、`repository`、`adapter`、`client`、`feign-client` 的稳定顺序生成。
|
|
13
13
|
|
|
14
|
+
`mvc-data-analysis-v1` 是本生成器的固定 Profile,不使用上述可选闭包:模块严格为 `server`、`core`、`client`、`repository`、`adapter`、`feign-client`。`core` 承载薄应用编排,不能依赖 `client`、Spring Web 或生产数据库驱动;CONTEXT handoff、project-instance 治理信封、同级 `skillUtils` 与独立 Git 必须在最终 rename 前完成。
|
|
15
|
+
|
|
14
16
|
## 职责和依赖
|
|
15
17
|
|
|
16
18
|
| 模块 | 职责 | 允许依赖 |
|