create-yss-spec 3.4.8 → 3.4.9
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 +1 -1
- package/template/.agents/skills/.strategic-design-skills-manifest.json +5 -5
- package/template/.agents/skills/alibaba-java-code-style/SKILL.md +2 -2
- package/template/.agents/skills/archify/SKILL.md +2 -19
- package/template/.agents/skills/archify/references/geometry-and-routing.md +20 -0
- package/template/.agents/skills/code-review/SKILL.md +3 -33
- package/template/.agents/skills/code-review/references/candidate-capture.md +33 -0
- package/template/.agents/skills/code-review/references/yss-review-standards.md +3 -5
- package/template/.agents/skills/codebase-design/SKILL.md +2 -2
- package/template/.agents/skills/competitive-intelligence/SKILL.md +1 -1
- package/template/.agents/skills/diagnosing-bugs/SKILL.md +6 -2
- package/template/.agents/skills/formily-foundation/SKILL.md +1 -1
- package/template/.agents/skills/formily-step-flow/SKILL.md +3 -2
- package/template/.agents/skills/frontend-commit/SKILL.md +6 -6
- package/template/.agents/skills/grilling/SKILL.md +2 -2
- package/template/.agents/skills/implement/SKILL.md +1 -1
- package/template/.agents/skills/implementation-repo-onboarding/SKILL.md +3 -3
- package/template/.agents/skills/implementation-repo-onboarding/references/write-scope.md +5 -0
- package/template/.agents/skills/improve-codebase-architecture/SKILL.md +10 -6
- package/template/.agents/skills/java-backend-commit/SKILL.md +5 -5
- package/template/.agents/skills/llm-wiki/SKILL.md +1 -1
- package/template/.agents/skills/prototype/SKILL.md +1 -1
- package/template/.agents/skills/prototype-review/SKILL.md +1 -1
- package/template/.agents/skills/resolving-merge-conflicts/SKILL.md +2 -2
- package/template/.agents/skills/tdd/SKILL.md +1 -1
- package/template/.agents/skills/to-questionnaire/SKILL.md +4 -2
- package/template/.agents/skills/to-spec/SKILL.md +3 -3
- package/template/.agents/skills/to-tickets/SKILL.md +7 -7
- package/template/.agents/skills/using-git-worktrees/SKILL.md +13 -11
- package/template/.agents/skills/wait-what/SKILL.md +1 -1
- package/template/.agents/skills/wayfinder/SKILL.md +4 -2
- package/template/.agents/skills/writing-for-agents/SKILL.md +9 -73
- package/template/.agents/skills/writing-for-agents/references/writing-principles.md +76 -0
- package/template/.agents/skills/yss-api-integration/SKILL.md +2 -2
- package/template/.agents/skills/yss-application/SKILL.md +12 -0
- package/template/.agents/skills/yss-audit-log/SKILL.md +3 -1
- package/template/.agents/skills/yss-audit-log/assets/AuditLogAspect.java +1 -0
- package/template/.agents/skills/yss-audit-log/assets/YssAuditLogPrintSubscriberImpl.java +1 -0
- package/template/.agents/skills/yss-audit-log/assets/YssAuditLogSysManagerSubscriberImpl.java +1 -0
- package/template/.agents/skills/yss-audit-log/assets/YssAuditPublishService.java +1 -0
- package/template/.agents/skills/yss-backend-spec-review/SKILL.md +6 -0
- package/template/.agents/skills/yss-backend-spec-review/references/check-inputs.md +2 -2
- package/template/.agents/skills/yss-backend-spec-review/references/standards-coverage.md +39 -0
- package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +5 -34
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/command-examples.md +32 -0
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/generator-maintenance.md +7 -0
- package/template/.agents/skills/yss-design-system/SKILL.md +2 -2
- package/template/.agents/skills/yss-domain/SKILL.md +17 -5
- package/template/.agents/skills/yss-domain/references/domain-layer-guide.md +2 -2
- package/template/.agents/skills/yss-domain/references/existing-project.md +5 -0
- package/template/.agents/skills/yss-dto/SKILL.md +13 -10
- package/template/.agents/skills/yss-dto/references/wire-validation-checklist.md +14 -0
- package/template/.agents/skills/yss-exception/SKILL.md +2 -2
- package/template/.agents/skills/yss-formily-schema-generator/SKILL.md +12 -12
- package/template/.agents/skills/yss-hook/SKILL.md +8 -44
- package/template/.agents/skills/yss-hook/references/use-request.md +42 -0
- package/template/.agents/skills/yss-implementation-contract-compiler/SKILL.md +1 -5
- package/template/.agents/skills/yss-implementation-contract-compiler/references/strategic-handoff-routing.md +7 -0
- package/template/.agents/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +5 -1
- package/template/.agents/skills/yss-layered-mvc-scaffold-generator/SKILL.md +2 -2
- package/template/.agents/skills/yss-mybatis/SKILL.md +10 -0
- package/template/.agents/skills/yss-openapi-draft-review/SKILL.md +1 -1
- package/template/.agents/skills/yss-openapi-governance/SKILL.md +1 -32
- package/template/.agents/skills/yss-openapi-governance/references/governance-output.md +34 -0
- package/template/.agents/skills/yss-product-lifecycle/SKILL.md +1 -1
- package/template/.agents/skills/yss-prototype-stage/SKILL.md +1 -5
- package/template/.agents/skills/yss-prototype-stage/references/existing-ui-entry.md +7 -0
- package/template/.agents/skills/yss-repository/SKILL.md +13 -1
- package/template/.agents/skills/yss-repository/references/profiles/existing-domain-driven-maven.md +7 -0
- package/template/.agents/skills/yss-repository/references/profiles/existing-layered-mvc-maven.md +7 -0
- package/template/.agents/skills/yss-repository/tests/profile-routing.test.mjs +3 -1
- package/template/.agents/skills/yss-stage-decision/SKILL.md +1 -1
- package/template/.agents/skills/yss-stage-decision/references/strategic-handoff-routing.md +3 -0
- package/template/.agents/skills/yss-tactical-design/SKILL.md +1 -3
- package/template/.agents/skills/yss-tactical-design/references/strategic-handoff-routing.md +5 -0
- package/template/.agents/skills/yss-ui-business-page-generation/SKILL.md +5 -3
- package/template/.agents/skills/yss-validation/SKILL.md +1 -1
- package/template/.agents/skills/yss-web-controller/SKILL.md +16 -7
- package/template/.agents/skills/ytable-usage/SKILL.md +2 -2
- package/template/.codex/skills/alibaba-java-code-style/SKILL.md +2 -2
- package/template/.codex/skills/archify/SKILL.md +2 -19
- package/template/.codex/skills/archify/references/geometry-and-routing.md +20 -0
- package/template/.codex/skills/code-review/SKILL.md +3 -33
- package/template/.codex/skills/code-review/references/candidate-capture.md +33 -0
- package/template/.codex/skills/code-review/references/yss-review-standards.md +3 -5
- package/template/.codex/skills/codebase-design/SKILL.md +2 -2
- package/template/.codex/skills/competitive-intelligence/SKILL.md +1 -1
- package/template/.codex/skills/data-analytics/mcp/server.cjs +2 -1
- package/template/.codex/skills/data-analytics/skills/analyze-data-quality/SKILL.md +9 -32
- package/template/.codex/skills/data-analytics/skills/analyze-data-quality/references/quality-checks.md +29 -0
- package/template/.codex/skills/data-analytics/skills/build-dashboard/SKILL.md +1 -1
- package/template/.codex/skills/data-analytics/skills/build-report/SKILL.md +4 -4
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/SKILL.md +12 -22
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/cli.py +5 -10
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/scripts/report_to_google_doc/plan.py +47 -49
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-doc/tests/test_delivery_plan.py +45 -0
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-google-slides/SKILL.md +4 -5
- package/template/.codex/skills/data-analytics/skills/build-report/report-to-pdf/SKILL.md +1 -1
- package/template/.codex/skills/data-analytics/skills/build-report/specifications/mcp-app-report.md +1 -1
- package/template/.codex/skills/data-analytics/skills/design-kpis/SKILL.md +1 -1
- package/template/.codex/skills/data-analytics/skills/gather-business-context/SKILL.md +1 -1
- package/template/.codex/skills/data-analytics/skills/index/SKILL.md +4 -4
- package/template/.codex/skills/data-analytics/skills/jupyter-notebooks/SKILL.md +1 -1
- package/template/.codex/skills/data-analytics/skills/kpi-reporting/SKILL.md +2 -2
- package/template/.codex/skills/data-analytics/skills/market-sizing/SKILL.md +1 -1
- package/template/.codex/skills/data-analytics/skills/metric-diagnostics/SKILL.md +1 -1
- package/template/.codex/skills/data-analytics/skills/product-business-analysis/SKILL.md +1 -1
- package/template/.codex/skills/data-analytics/skills/spreadsheets/SKILL.md +4 -4
- package/template/.codex/skills/data-analytics/skills/user-context/SKILL.md +16 -14
- package/template/.codex/skills/data-analytics/skills/user-context/plugin-author-config/automation-config.md +1 -1
- package/template/.codex/skills/data-analytics/skills/user-context/references/onboarding-examples.md +1 -1
- package/template/.codex/skills/data-analytics/skills/user-context/references/onboarding.md +7 -7
- package/template/.codex/skills/data-analytics/skills/user-context/references/source-category-runtime.md +7 -7
- package/template/.codex/skills/data-analytics/skills/user-context/scripts/data_analytics_preflight.py +4 -2
- package/template/.codex/skills/data-analytics/skills/user-context/scripts/validate_user_context_preflight.py +5 -5
- package/template/.codex/skills/data-analytics/skills/user-context/tests/test_state_helpers.py +3 -3
- package/template/.codex/skills/data-analytics/skills/validate-data/SKILL.md +7 -71
- package/template/.codex/skills/data-analytics/skills/validate-data/references/validation-methods.md +70 -0
- package/template/.codex/skills/data-analytics/skills/visualize-data/SKILL.md +4 -4
- package/template/.codex/skills/data-analytics/src/analytics-app/App.tsx +1 -1
- package/template/.codex/skills/data-analytics/src/analytics-app-core.md +1 -1
- package/template/.codex/skills/diagnosing-bugs/SKILL.md +6 -2
- package/template/.codex/skills/formily-foundation/SKILL.md +1 -1
- package/template/.codex/skills/formily-step-flow/SKILL.md +3 -2
- package/template/.codex/skills/frontend-commit/SKILL.md +6 -6
- package/template/.codex/skills/grilling/SKILL.md +2 -2
- package/template/.codex/skills/implement/SKILL.md +1 -1
- package/template/.codex/skills/implementation-repo-onboarding/SKILL.md +3 -3
- package/template/.codex/skills/implementation-repo-onboarding/references/write-scope.md +5 -0
- package/template/.codex/skills/improve-codebase-architecture/SKILL.md +10 -6
- package/template/.codex/skills/java-backend-commit/SKILL.md +5 -5
- package/template/.codex/skills/llm-wiki/SKILL.md +1 -1
- package/template/.codex/skills/product-design/references/critical-overrides.md +3 -4
- package/template/.codex/skills/product-design/skills/audit/SKILL.md +1 -1
- package/template/.codex/skills/product-design/skills/design-qa/SKILL.md +1 -1
- package/template/.codex/skills/product-design/skills/get-context/SKILL.md +2 -1
- package/template/.codex/skills/product-design/skills/ideate/SKILL.md +2 -50
- package/template/.codex/skills/product-design/skills/ideate/references/image-prompt-patterns.md +51 -0
- package/template/.codex/skills/product-design/skills/image-to-code/SKILL.md +6 -6
- package/template/.codex/skills/product-design/skills/index/SKILL.md +2 -2
- package/template/.codex/skills/product-design/skills/prototype/SKILL.md +6 -6
- package/template/.codex/skills/product-design/skills/url-to-code/SKILL.md +1 -1
- package/template/.codex/skills/product-design/skills/user-context/SKILL.md +1 -1
- package/template/.codex/skills/prototype/SKILL.md +1 -1
- package/template/.codex/skills/prototype-review/SKILL.md +1 -1
- package/template/.codex/skills/resolving-merge-conflicts/SKILL.md +2 -2
- package/template/.codex/skills/tdd/SKILL.md +1 -1
- package/template/.codex/skills/to-questionnaire/SKILL.md +4 -2
- package/template/.codex/skills/to-spec/SKILL.md +3 -3
- package/template/.codex/skills/to-tickets/SKILL.md +7 -7
- package/template/.codex/skills/using-git-worktrees/SKILL.md +13 -11
- package/template/.codex/skills/wait-what/SKILL.md +1 -1
- package/template/.codex/skills/wayfinder/SKILL.md +4 -2
- package/template/.codex/skills/writing-for-agents/SKILL.md +9 -73
- package/template/.codex/skills/writing-for-agents/references/writing-principles.md +76 -0
- package/template/.codex/skills/yss-api-integration/SKILL.md +2 -2
- package/template/.codex/skills/yss-application/SKILL.md +12 -0
- package/template/.codex/skills/yss-audit-log/SKILL.md +3 -1
- package/template/.codex/skills/yss-audit-log/assets/AuditLogAspect.java +1 -0
- package/template/.codex/skills/yss-audit-log/assets/YssAuditLogPrintSubscriberImpl.java +1 -0
- package/template/.codex/skills/yss-audit-log/assets/YssAuditLogSysManagerSubscriberImpl.java +1 -0
- package/template/.codex/skills/yss-audit-log/assets/YssAuditPublishService.java +1 -0
- package/template/.codex/skills/yss-backend-spec-review/SKILL.md +6 -0
- package/template/.codex/skills/yss-backend-spec-review/references/check-inputs.md +2 -2
- package/template/.codex/skills/yss-backend-spec-review/references/standards-coverage.md +39 -0
- package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +5 -34
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/command-examples.md +32 -0
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/generator-maintenance.md +7 -0
- package/template/.codex/skills/yss-design-system/SKILL.md +2 -2
- package/template/.codex/skills/yss-domain/SKILL.md +17 -5
- package/template/.codex/skills/yss-domain/references/domain-layer-guide.md +2 -2
- package/template/.codex/skills/yss-domain/references/existing-project.md +5 -0
- package/template/.codex/skills/yss-dto/SKILL.md +13 -10
- package/template/.codex/skills/yss-dto/references/wire-validation-checklist.md +14 -0
- package/template/.codex/skills/yss-exception/SKILL.md +2 -2
- package/template/.codex/skills/yss-formily-schema-generator/SKILL.md +12 -12
- package/template/.codex/skills/yss-hook/SKILL.md +8 -44
- package/template/.codex/skills/yss-hook/references/use-request.md +42 -0
- package/template/.codex/skills/yss-implementation-contract-compiler/SKILL.md +1 -5
- package/template/.codex/skills/yss-implementation-contract-compiler/references/strategic-handoff-routing.md +7 -0
- package/template/.codex/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +5 -1
- package/template/.codex/skills/yss-layered-mvc-scaffold-generator/SKILL.md +2 -2
- package/template/.codex/skills/yss-mybatis/SKILL.md +10 -0
- package/template/.codex/skills/yss-openapi-draft-review/SKILL.md +1 -1
- package/template/.codex/skills/yss-openapi-governance/SKILL.md +1 -32
- package/template/.codex/skills/yss-openapi-governance/references/governance-output.md +34 -0
- package/template/.codex/skills/yss-product-lifecycle/SKILL.md +1 -1
- package/template/.codex/skills/yss-prototype-stage/SKILL.md +1 -5
- package/template/.codex/skills/yss-prototype-stage/references/existing-ui-entry.md +7 -0
- package/template/.codex/skills/yss-repository/SKILL.md +13 -1
- package/template/.codex/skills/yss-repository/references/profiles/existing-domain-driven-maven.md +7 -0
- package/template/.codex/skills/yss-repository/references/profiles/existing-layered-mvc-maven.md +7 -0
- package/template/.codex/skills/yss-repository/tests/profile-routing.test.mjs +3 -1
- package/template/.codex/skills/yss-stage-decision/SKILL.md +1 -1
- package/template/.codex/skills/yss-stage-decision/references/strategic-handoff-routing.md +3 -0
- package/template/.codex/skills/yss-tactical-design/SKILL.md +1 -3
- package/template/.codex/skills/yss-tactical-design/references/strategic-handoff-routing.md +5 -0
- package/template/.codex/skills/yss-ui-business-page-generation/SKILL.md +5 -3
- package/template/.codex/skills/yss-validation/SKILL.md +1 -1
- package/template/.codex/skills/yss-web-controller/SKILL.md +16 -7
- package/template/.codex/skills/ytable-usage/SKILL.md +2 -2
- package/template/.cursor/skills/alibaba-java-code-style/SKILL.md +2 -2
- package/template/.cursor/skills/archify/SKILL.md +2 -19
- package/template/.cursor/skills/archify/references/geometry-and-routing.md +20 -0
- package/template/.cursor/skills/code-review/SKILL.md +3 -33
- package/template/.cursor/skills/code-review/references/candidate-capture.md +33 -0
- package/template/.cursor/skills/code-review/references/yss-review-standards.md +3 -5
- package/template/.cursor/skills/codebase-design/SKILL.md +2 -2
- package/template/.cursor/skills/competitive-intelligence/SKILL.md +1 -1
- package/template/.cursor/skills/diagnosing-bugs/SKILL.md +6 -2
- package/template/.cursor/skills/formily-foundation/SKILL.md +1 -1
- package/template/.cursor/skills/formily-step-flow/SKILL.md +3 -2
- package/template/.cursor/skills/frontend-commit/SKILL.md +6 -6
- package/template/.cursor/skills/grilling/SKILL.md +2 -2
- package/template/.cursor/skills/implement/SKILL.md +1 -1
- package/template/.cursor/skills/implementation-repo-onboarding/SKILL.md +3 -3
- package/template/.cursor/skills/implementation-repo-onboarding/references/write-scope.md +5 -0
- package/template/.cursor/skills/improve-codebase-architecture/SKILL.md +10 -6
- package/template/.cursor/skills/java-backend-commit/SKILL.md +5 -5
- package/template/.cursor/skills/llm-wiki/SKILL.md +1 -1
- package/template/.cursor/skills/prototype/SKILL.md +1 -1
- package/template/.cursor/skills/prototype-review/SKILL.md +1 -1
- package/template/.cursor/skills/resolving-merge-conflicts/SKILL.md +2 -2
- package/template/.cursor/skills/tdd/SKILL.md +1 -1
- package/template/.cursor/skills/to-questionnaire/SKILL.md +4 -2
- package/template/.cursor/skills/to-spec/SKILL.md +3 -3
- package/template/.cursor/skills/to-tickets/SKILL.md +7 -7
- package/template/.cursor/skills/using-git-worktrees/SKILL.md +13 -11
- package/template/.cursor/skills/wait-what/SKILL.md +1 -1
- package/template/.cursor/skills/wayfinder/SKILL.md +4 -2
- package/template/.cursor/skills/writing-for-agents/SKILL.md +9 -73
- package/template/.cursor/skills/writing-for-agents/references/writing-principles.md +76 -0
- package/template/.cursor/skills/yss-api-integration/SKILL.md +2 -2
- package/template/.cursor/skills/yss-application/SKILL.md +12 -0
- package/template/.cursor/skills/yss-audit-log/SKILL.md +3 -1
- package/template/.cursor/skills/yss-audit-log/assets/AuditLogAspect.java +1 -0
- package/template/.cursor/skills/yss-audit-log/assets/YssAuditLogPrintSubscriberImpl.java +1 -0
- package/template/.cursor/skills/yss-audit-log/assets/YssAuditLogSysManagerSubscriberImpl.java +1 -0
- package/template/.cursor/skills/yss-audit-log/assets/YssAuditPublishService.java +1 -0
- package/template/.cursor/skills/yss-backend-spec-review/SKILL.md +6 -0
- package/template/.cursor/skills/yss-backend-spec-review/references/check-inputs.md +2 -2
- package/template/.cursor/skills/yss-backend-spec-review/references/standards-coverage.md +39 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/SKILL.md +5 -34
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/command-examples.md +32 -0
- package/template/.cursor/skills/yss-ddd-scaffold-generator/references/generator-maintenance.md +7 -0
- package/template/.cursor/skills/yss-design-system/SKILL.md +2 -2
- package/template/.cursor/skills/yss-domain/SKILL.md +17 -5
- package/template/.cursor/skills/yss-domain/references/domain-layer-guide.md +2 -2
- package/template/.cursor/skills/yss-domain/references/existing-project.md +5 -0
- package/template/.cursor/skills/yss-dto/SKILL.md +13 -10
- package/template/.cursor/skills/yss-dto/references/wire-validation-checklist.md +14 -0
- package/template/.cursor/skills/yss-exception/SKILL.md +2 -2
- package/template/.cursor/skills/yss-formily-schema-generator/SKILL.md +12 -12
- package/template/.cursor/skills/yss-hook/SKILL.md +8 -44
- package/template/.cursor/skills/yss-hook/references/use-request.md +42 -0
- package/template/.cursor/skills/yss-implementation-contract-compiler/SKILL.md +1 -5
- package/template/.cursor/skills/yss-implementation-contract-compiler/references/strategic-handoff-routing.md +7 -0
- package/template/.cursor/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +5 -1
- package/template/.cursor/skills/yss-layered-mvc-scaffold-generator/SKILL.md +2 -2
- package/template/.cursor/skills/yss-mybatis/SKILL.md +10 -0
- package/template/.cursor/skills/yss-openapi-draft-review/SKILL.md +1 -1
- package/template/.cursor/skills/yss-openapi-governance/SKILL.md +1 -32
- package/template/.cursor/skills/yss-openapi-governance/references/governance-output.md +34 -0
- package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +1 -1
- package/template/.cursor/skills/yss-prototype-stage/SKILL.md +1 -5
- package/template/.cursor/skills/yss-prototype-stage/references/existing-ui-entry.md +7 -0
- package/template/.cursor/skills/yss-repository/SKILL.md +13 -1
- package/template/.cursor/skills/yss-repository/references/profiles/existing-domain-driven-maven.md +7 -0
- package/template/.cursor/skills/yss-repository/references/profiles/existing-layered-mvc-maven.md +7 -0
- package/template/.cursor/skills/yss-repository/tests/profile-routing.test.mjs +3 -1
- package/template/.cursor/skills/yss-stage-decision/SKILL.md +1 -1
- package/template/.cursor/skills/yss-stage-decision/references/strategic-handoff-routing.md +3 -0
- package/template/.cursor/skills/yss-tactical-design/SKILL.md +1 -3
- package/template/.cursor/skills/yss-tactical-design/references/strategic-handoff-routing.md +5 -0
- package/template/.cursor/skills/yss-ui-business-page-generation/SKILL.md +5 -3
- package/template/.cursor/skills/yss-validation/SKILL.md +1 -1
- package/template/.cursor/skills/yss-web-controller/SKILL.md +16 -7
- package/template/.cursor/skills/ytable-usage/SKILL.md +2 -2
- package/template/.pi/skills/alibaba-java-code-style/SKILL.md +2 -2
- package/template/.pi/skills/archify/SKILL.md +2 -19
- package/template/.pi/skills/archify/references/geometry-and-routing.md +20 -0
- package/template/.pi/skills/code-review/SKILL.md +3 -33
- package/template/.pi/skills/code-review/references/candidate-capture.md +33 -0
- package/template/.pi/skills/code-review/references/yss-review-standards.md +3 -5
- package/template/.pi/skills/codebase-design/SKILL.md +2 -2
- package/template/.pi/skills/competitive-intelligence/SKILL.md +1 -1
- package/template/.pi/skills/diagnosing-bugs/SKILL.md +6 -2
- package/template/.pi/skills/formily-foundation/SKILL.md +1 -1
- package/template/.pi/skills/formily-step-flow/SKILL.md +3 -2
- package/template/.pi/skills/frontend-commit/SKILL.md +6 -6
- package/template/.pi/skills/grilling/SKILL.md +2 -2
- package/template/.pi/skills/implement/SKILL.md +1 -1
- package/template/.pi/skills/implementation-repo-onboarding/SKILL.md +3 -3
- package/template/.pi/skills/implementation-repo-onboarding/references/write-scope.md +5 -0
- package/template/.pi/skills/improve-codebase-architecture/SKILL.md +10 -6
- package/template/.pi/skills/java-backend-commit/SKILL.md +5 -5
- package/template/.pi/skills/llm-wiki/SKILL.md +1 -1
- package/template/.pi/skills/prototype/SKILL.md +1 -1
- package/template/.pi/skills/prototype-review/SKILL.md +1 -1
- package/template/.pi/skills/resolving-merge-conflicts/SKILL.md +2 -2
- package/template/.pi/skills/tdd/SKILL.md +1 -1
- package/template/.pi/skills/to-questionnaire/SKILL.md +4 -2
- package/template/.pi/skills/to-spec/SKILL.md +3 -3
- package/template/.pi/skills/to-tickets/SKILL.md +7 -7
- package/template/.pi/skills/using-git-worktrees/SKILL.md +13 -11
- package/template/.pi/skills/wait-what/SKILL.md +1 -1
- package/template/.pi/skills/wayfinder/SKILL.md +4 -2
- package/template/.pi/skills/writing-for-agents/SKILL.md +9 -73
- package/template/.pi/skills/writing-for-agents/references/writing-principles.md +76 -0
- package/template/.pi/skills/yss-api-integration/SKILL.md +2 -2
- package/template/.pi/skills/yss-application/SKILL.md +12 -0
- package/template/.pi/skills/yss-audit-log/SKILL.md +3 -1
- package/template/.pi/skills/yss-audit-log/assets/AuditLogAspect.java +1 -0
- package/template/.pi/skills/yss-audit-log/assets/YssAuditLogPrintSubscriberImpl.java +1 -0
- package/template/.pi/skills/yss-audit-log/assets/YssAuditLogSysManagerSubscriberImpl.java +1 -0
- package/template/.pi/skills/yss-audit-log/assets/YssAuditPublishService.java +1 -0
- package/template/.pi/skills/yss-backend-spec-review/SKILL.md +6 -0
- package/template/.pi/skills/yss-backend-spec-review/references/check-inputs.md +2 -2
- package/template/.pi/skills/yss-backend-spec-review/references/standards-coverage.md +39 -0
- package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +5 -34
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/command-examples.md +32 -0
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/generator-maintenance.md +7 -0
- package/template/.pi/skills/yss-design-system/SKILL.md +2 -2
- package/template/.pi/skills/yss-domain/SKILL.md +17 -5
- package/template/.pi/skills/yss-domain/references/domain-layer-guide.md +2 -2
- package/template/.pi/skills/yss-domain/references/existing-project.md +5 -0
- package/template/.pi/skills/yss-dto/SKILL.md +13 -10
- package/template/.pi/skills/yss-dto/references/wire-validation-checklist.md +14 -0
- package/template/.pi/skills/yss-exception/SKILL.md +2 -2
- package/template/.pi/skills/yss-formily-schema-generator/SKILL.md +12 -12
- package/template/.pi/skills/yss-hook/SKILL.md +8 -44
- package/template/.pi/skills/yss-hook/references/use-request.md +42 -0
- package/template/.pi/skills/yss-implementation-contract-compiler/SKILL.md +1 -5
- package/template/.pi/skills/yss-implementation-contract-compiler/references/strategic-handoff-routing.md +7 -0
- package/template/.pi/skills/yss-implementation-contract-compiler/references/yss-skill-execution-result.md +5 -1
- package/template/.pi/skills/yss-layered-mvc-scaffold-generator/SKILL.md +2 -2
- package/template/.pi/skills/yss-mybatis/SKILL.md +10 -0
- package/template/.pi/skills/yss-openapi-draft-review/SKILL.md +1 -1
- package/template/.pi/skills/yss-openapi-governance/SKILL.md +1 -32
- package/template/.pi/skills/yss-openapi-governance/references/governance-output.md +34 -0
- package/template/.pi/skills/yss-product-lifecycle/SKILL.md +1 -1
- package/template/.pi/skills/yss-prototype-stage/SKILL.md +1 -5
- package/template/.pi/skills/yss-prototype-stage/references/existing-ui-entry.md +7 -0
- package/template/.pi/skills/yss-repository/SKILL.md +13 -1
- package/template/.pi/skills/yss-repository/references/profiles/existing-domain-driven-maven.md +7 -0
- package/template/.pi/skills/yss-repository/references/profiles/existing-layered-mvc-maven.md +7 -0
- package/template/.pi/skills/yss-repository/tests/profile-routing.test.mjs +3 -1
- package/template/.pi/skills/yss-stage-decision/SKILL.md +1 -1
- package/template/.pi/skills/yss-stage-decision/references/strategic-handoff-routing.md +3 -0
- package/template/.pi/skills/yss-tactical-design/SKILL.md +1 -3
- package/template/.pi/skills/yss-tactical-design/references/strategic-handoff-routing.md +5 -0
- package/template/.pi/skills/yss-ui-business-page-generation/SKILL.md +5 -3
- package/template/.pi/skills/yss-validation/SKILL.md +1 -1
- package/template/.pi/skills/yss-web-controller/SKILL.md +16 -7
- package/template/.pi/skills/ytable-usage/SKILL.md +2 -2
- package/template/docs/process/schemas/digital-human-task-package.schema.json +60 -4
- package/template/scripts/backend-standards-coverage +26 -0
- package/template/scripts/lib/backend-review.mjs +58 -20
- package/template/scripts/lib/backend-standards-coverage.mjs +237 -0
- package/template/scripts/lib/first-slice-artifacts.mjs +1 -1
- package/template/scripts/lib/lifecycle-transition.mjs +4 -1
- package/template/scripts/lib/profile-skill-sync.mjs +46 -5
- package/template/skills-lock.json +64 -62
- package/template.snapshot.json +4 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: yss-design-system
|
|
3
|
-
description:
|
|
3
|
+
description: 建立或核验 YSS 设计系统、主题 Token 与页面视觉一致性;用于设计规范变更、原型评审及按当前设计基线验收。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# YSS Design System
|
|
@@ -18,7 +18,7 @@ description: Use when YSS 产品设计系统与 Ant Design 企业级 UI 风格
|
|
|
18
18
|
- Codex `$design-qa` 项目对照:`references/design-qa-theme.md`,不替代官方 `design-qa` 流程,也不改上游插件正文。
|
|
19
19
|
- 原型阶段合同:`yss-prototype-stage`,用于统一 H1/H2 原型资产和浏览器验证证据。H1/H2 默认使用项目 Token 驱动的 HTML/CSS/JavaScript 离线原型。
|
|
20
20
|
|
|
21
|
-
如果只需要快速判断,先读本文件。若要写 UI 规范、实现页面、评审设计或调整 Token,必须按 `DESIGN.md` → `docs/design/design.md`
|
|
21
|
+
如果只需要快速判断,先读本文件。若要写 UI 规范、实现页面、评审设计或调整 Token,必须按 `DESIGN.md` → `docs/design/design.md` 顺序读取,再按当前主题、密度与输出表面选择对应 Token 文件,不全量预读所有主题;若要执行评审或实现检查,再读 `references/design-system.md`。
|
|
22
22
|
|
|
23
23
|
## 使用流程
|
|
24
24
|
|
|
@@ -1,19 +1,21 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: yss-domain
|
|
3
|
-
description:
|
|
3
|
+
description: 按已批准的 DDD 技术设计实现或重构领域行为、不变量、状态机与 Gateway;不负责起草领域设计。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# yss-domain
|
|
7
7
|
|
|
8
8
|
这是一个领域实现 skill。核心目标是消费已批准的战术模型,将领域行为落实为代码;`yss-technical-design` 组织 DDD 分支,由 `yss-tactical-design` 设计、`yss-product-lifecycle` 维护批准。
|
|
9
9
|
|
|
10
|
+
既有工程先读取 `references/existing-project.md`,按登记的职责和批准边界审计或整改;只读审计不要求批准 Slice。
|
|
11
|
+
|
|
10
12
|
本 skill 在新脚手架链路只支持 `domain-driven` / `target-domain-model`。`layered-mvc-service` 与 `mvc-data-analysis-v1` 是独立 MVC Profile,不是失败的 DDD 工程;它们不加载本 skill,也不生成 Domain Gateway。既有旧架构不在本链路内迁移。
|
|
11
13
|
|
|
12
14
|
## 何时使用
|
|
13
15
|
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
16
|
+
- 当前已批准的 DDD Slice Contract 要求实现或修复领域行为、不变量或状态机。
|
|
17
|
+
- 在既有已确认领域边界内重构 Entity、Value Object、Domain Event 或 Gateway。
|
|
18
|
+
- 需要从需求、页面或 DDL 决定聚合及领域边界时,回交 `yss-technical-design` / `yss-tactical-design`,不先写领域代码。
|
|
17
19
|
|
|
18
20
|
## 不适用
|
|
19
21
|
|
|
@@ -36,17 +38,27 @@ description: 用于构建或重构 YSS 领域层代码。当用户要求设计
|
|
|
36
38
|
|
|
37
39
|
## 建模约束
|
|
38
40
|
|
|
41
|
+
<a id="domain.dependencies"></a>
|
|
42
|
+
<!-- yss-rule {"id":"domain.dependencies","when":"domain","level":"mandatory","evidence":"code-and-verification"} -->
|
|
39
43
|
- Domain 层不依赖 Repository、Mapper、Controller。
|
|
44
|
+
<a id="domain.behavior"></a>
|
|
45
|
+
<!-- yss-rule {"id":"domain.behavior","when":"domain","level":"mandatory","evidence":"code-and-verification"} -->
|
|
40
46
|
- 领域行为放在模型方法,不要放在 Web 层。
|
|
47
|
+
<a id="domain.gateway"></a>
|
|
48
|
+
<!-- yss-rule {"id":"domain.gateway","when":"domain","level":"mandatory","evidence":"code-and-verification"} -->
|
|
41
49
|
- Gateway 只暴露领域能力,不暴露持久化细节。
|
|
42
50
|
- 对关键状态流转给出明确方法,如 `publish()`、`cancel()`、`terminate()`。
|
|
51
|
+
<a id="domain.invariants"></a>
|
|
52
|
+
<!-- yss-rule {"id":"domain.invariants","when":"domain","level":"mandatory","evidence":"code-and-verification"} -->
|
|
43
53
|
- 明确 Aggregate Root、Entity identity、Value Object、不变量、Domain Event 和一致性边界;没有业务行为时不要伪造富领域模型。
|
|
44
|
-
-
|
|
54
|
+
- `unsupported` 只阻断不支持的生成方式。既有 DDD 按登记边界整改;目录差异不是领域违规。架构身份转换或公开契约迁移单独立项,MVC 不套用 DDD 规则。
|
|
45
55
|
|
|
46
56
|
## 质量要求
|
|
47
57
|
|
|
48
58
|
- 命名体现业务语义,不照抄表名缩写。
|
|
49
59
|
- 生成代码应可编译,且没有跨层依赖泄漏。
|
|
60
|
+
<a id="domain.gateway-owner"></a>
|
|
61
|
+
<!-- yss-rule {"id":"domain.gateway-owner","when":"domain","level":"mandatory","evidence":"code-and-verification"} -->
|
|
50
62
|
- Domain Gateway interface 由本 skill 唯一拥有;Infrastructure 只能实现,不得由 `yss-repository` 反向创建或改写其签名。
|
|
51
63
|
- 对不确定规则返回 `new_impacts` / `drift` 并暂停;不要把未批准假设或 TODO 写进实现冒充已确认事实。
|
|
52
64
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# YSS Domain Target Profile 指南
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
本指南的目录和生成布局只定义新 DDD `target-domain-model`。既有 DDD 通过 [既有工程边界](existing-project.md) 应用领域语义规则;历史目录或贫血对象不能单凭名称判违规。HTTP DTO/VO 穿入领域端口仍须按登记职责检查。架构迁移不属于生成器。
|
|
4
4
|
|
|
5
5
|
## 1. Domain 所有权
|
|
6
6
|
|
|
@@ -98,7 +98,7 @@ Web Exception Translator 再将它映射为批准的状态码、错误码和消
|
|
|
98
98
|
- 消费批准且当前的 Tactical Design 与 Slice Implementation Contract。
|
|
99
99
|
- 返回 YSS Skill Execution Result,包含 Domain 文件、行为测试、ArchUnit 结果及实际 `./mvnw ...` 证据。
|
|
100
100
|
- 新聚合、不变量、状态机或跨上下文影响进入 `new_impacts` 并暂停。
|
|
101
|
-
-
|
|
101
|
+
- 旧布局不走 scaffold 生成分支;既有 DDD 按登记整改。需改变架构或公开契约时单独评估并批准。
|
|
102
102
|
|
|
103
103
|
## 聚合创建与重建
|
|
104
104
|
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# 既有领域工程
|
|
2
|
+
|
|
3
|
+
只对 `existing-domain-driven-maven` 或登记为 DDD 的只读盘点范围应用领域语义。读取实际 build unit、role_paths、source roots 与工程基线;不要求 target 模块名、Entity 后缀或生成 Manifest。创建/重建、不变量、端口所有权和技术依赖边界仍按 domain-layer-guide 检查。MVC 不创建聚合或 Gateway。
|
|
4
|
+
|
|
5
|
+
只读审计允许缺设计资产,但记录 missing_evidence。修改消费当前批准 Slice 和已确认行为 seam;不得从历史代码伪造业务规则批准。新增聚合、改变一致性或架构身份回设计与合同编译器。
|
|
@@ -44,6 +44,8 @@ description: "实现或核验 YSS Result、PageResult、PageQuery、CommandDTO
|
|
|
44
44
|
|
|
45
45
|
- 写操作参数优先继承 `CommandDTO`。
|
|
46
46
|
- Application/Infrastructure 内部读参数可按项目 Profile 使用 `QueryDTO` 或 `PageQuery`。
|
|
47
|
+
<a id="dto.page-input"></a>
|
|
48
|
+
<!-- yss-rule {"id":"dto.page-input","when":"pagination","level":"mandatory","evidence":"code-and-verification"} -->
|
|
47
49
|
- 公开 HTTP Page Request 默认不继承 `PageQuery`,只复制冻结 OpenAPI 允许的分页字段,再由 WebConvertor 转为 Application Query;避免继承的 `offset`、`needTotalCount`、`tempTotalCount` 进入绑定面。
|
|
48
50
|
- Controller 返回优先使用项目既有的 `Result` 或派生结果对象。
|
|
49
51
|
- 单对象返回优先 `SingleResult`,列表返回优先 `MultiResult`,分页返回优先 `PageResult`,前提是当前项目已采用这套体系。
|
|
@@ -54,27 +56,24 @@ description: "实现或核验 YSS Result、PageResult、PageQuery、CommandDTO
|
|
|
54
56
|
- `PageResult` 当前稳定公共字段为 `totalCount/pageSize/pageIndex/data[]`;`totalPages` 是计算 getter,只有目标 HTTP mapper / contract fixture 证明后才能进入具体契约。
|
|
55
57
|
- `PageQuery` 客户端输入只允许 `pageIndex/pageSize/orderBy/orderDirection/groupBy`(后四项按 profile 的 optional / whitelist 规则);`orderDirection` 只能是 `ASC|DESC`。`offset`、`needTotalCount`、`tempTotalCount` 是计算或内部协作字段,禁止成为客户端输入。
|
|
56
58
|
- `buildSuccess(...)` 各重载设置 code 的行为并不一致;冻结契约必须测试 `success/code/message/tips/dataType`、nullability 和三种 data shape,不能只测试 data。
|
|
59
|
+
<a id="dto.wire-evidence"></a>
|
|
60
|
+
<!-- yss-rule {"id":"dto.wire-evidence","when":"wire","level":"mandatory","evidence":"code-and-verification"} -->
|
|
57
61
|
- Java getter、Lombok、`@JsonIgnore` 或默认 Jackson 结果都不是目标 HTTP wire fact;冻结前必须记录 mapper identity、代表性序列化 fixture 和 contract-test / 等价 HTTP 证据。
|
|
62
|
+
<a id="dto.boundary"></a>
|
|
63
|
+
<!-- yss-rule {"id":"dto.boundary","when":"wire","level":"mandatory","evidence":"code-and-verification"} -->
|
|
58
64
|
- DTO 只表达接口契约,不承载 Repository PO 或领域对象的持久化细节。
|
|
59
65
|
|
|
60
66
|
## 检查清单
|
|
61
67
|
|
|
62
|
-
-
|
|
63
|
-
- `orderBy` / `groupBy` 是否经过 Repository 白名单映射,禁止直接拼接 SQL。
|
|
64
|
-
- Application Query Port / Infrastructure 是否收到批准的分页语义;Domain Gateway 不接收 `PageQuery`。
|
|
65
|
-
- 新增 DTO 是否与现有序列化和校验方式兼容。
|
|
66
|
-
- 返回结构是否和前端或上游调用方契约一致。
|
|
67
|
-
- 是否通过 `scripts/verify-yss-dto-openapi-profile`,并引用 profile 版本。
|
|
68
|
-
- wrapper extension、`YssResultMeta`、`allOf`、具体 data schema 和方向性是否逐 endpoint 对齐。
|
|
69
|
-
- 是否有针对 `offset` / `needTotalCount` / `tempTotalCount` 的负向断言,以及对 `totalPages` 的目标 mapper 证据。
|
|
70
|
-
- Controller、Application Service、Domain、Repository 之间是否存在 DTO/VO/DO/PO 混穿。
|
|
71
|
-
- 前端 Orval 或调用方是否依赖当前返回包装结构。
|
|
68
|
+
仅在 DTO/OpenAPI wire shape 受影响时读取 [wire 验收清单](references/wire-validation-checklist.md),按当前平台和请求/响应方向执行;权威字段形状继续由 `references/openapi-wire-profile.yaml` 持有。
|
|
72
69
|
|
|
73
70
|
## 修改约束
|
|
74
71
|
|
|
75
72
|
- 不要在一个项目里混用多套返回包装类。
|
|
76
73
|
- 不要新建与 `PageQuery` 含义重叠的分页基类。
|
|
77
74
|
- 不要把 `com.yss.cloud.dto.response` 作为新 API 的 canonical 包,也不要从 Java getter 机械生成 wire schema。
|
|
75
|
+
<a id="dto.no-leak"></a>
|
|
76
|
+
<!-- yss-rule {"id":"dto.no-leak","when":"pagination","level":"mandatory","evidence":"code-and-verification"} -->
|
|
78
77
|
- 不要把 `offset`、`needTotalCount`、`tempTotalCount` 作为客户端分页输入;不要无证据把 `totalPages` 写入所有分页响应。
|
|
79
78
|
- 若项目已有 `SingleResult`、`PageResult`、`MultiResult` 体系,优先保持一致。
|
|
80
79
|
|
|
@@ -95,3 +94,7 @@ description: "实现或核验 YSS Result、PageResult、PageQuery、CommandDTO
|
|
|
95
94
|
## 平台与源码门禁
|
|
96
95
|
|
|
97
96
|
接入、修改、代码生成或给出精确类名/配置前,读取 [后端组件平台与源码门禁](../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-dto --platform-line <line> --source-root <matching-root>` 运行统一 freshness 校验。平台线与源码根不匹配、组件 tree 不一致、组件子树 dirty、索引缺少平台信号,或 Manifest / 组件 GAV 缺少 verified 兼容证据时返回 `blocked`;不得回退另一代索引,也不在业务实现中升级、降级或替换 YSS 组件。既有工程只读分诊可继续,但不得据此宣称跨 Boot/JDK 兼容。
|
|
97
|
+
|
|
98
|
+
## 既有契约与特殊协议
|
|
99
|
+
|
|
100
|
+
只读审计先辨认已锁定的 wire 契约。下载、流式和第三方回调按批准协议检查媒体类型、状态、Header、错误与权限边界;不强套 Result,也不因声称“特殊接口”豁免契约证据。普通已采用 YSS wrapper 的接口继续按 wire profile 检查。旧包/旧协议差距单列迁移,不静默改锁或改公开响应。
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
## 检查清单
|
|
2
|
+
|
|
3
|
+
- 分页字段名是否和框架约定一致。
|
|
4
|
+
<a id="dto.sort"></a>
|
|
5
|
+
<!-- yss-rule {"id":"dto.sort","when":"pagination","level":"mandatory","evidence":"code-and-verification"} -->
|
|
6
|
+
- `orderBy` / `groupBy` 是否经过 Repository 白名单映射,禁止直接拼接 SQL。
|
|
7
|
+
- Application Query Port / Infrastructure 是否收到批准的分页语义;Domain Gateway 不接收 `PageQuery`。
|
|
8
|
+
- 新增 DTO 是否与现有序列化和校验方式兼容。
|
|
9
|
+
- 返回结构是否和前端或上游调用方契约一致。
|
|
10
|
+
- 是否通过 `scripts/verify-yss-dto-openapi-profile`,并引用 profile 版本。
|
|
11
|
+
- wrapper extension、`YssResultMeta`、`allOf`、具体 data schema 和方向性是否逐 endpoint 对齐。
|
|
12
|
+
- 是否有针对 `offset` / `needTotalCount` / `tempTotalCount` 的负向断言,以及对 `totalPages` 的目标 mapper 证据。
|
|
13
|
+
- Controller、Application Service、Domain、Repository 之间是否存在 DTO/VO/DO/PO 混穿。
|
|
14
|
+
- 前端 Orval 或调用方是否依赖当前返回包装结构。
|
|
@@ -47,12 +47,12 @@ Read `references/source-index.md` as a path-hint index whenever the task depends
|
|
|
47
47
|
- Required dependency or starter module is present.
|
|
48
48
|
- Error code/message are meaningful to API consumers.
|
|
49
49
|
- Response messages are sanitized and do not expose raw RuntimeException or localized exception details.
|
|
50
|
-
- HTTP
|
|
50
|
+
- For affected boot3-java17 HTTP seams, assert the documented business 4xx, unknown/runtime 5xx and trace header behavior. Assert upload 413 only for upload-limit impact. Boot 2 assertions follow its own source and frozen contract; do not import Boot 3 behavior into it.
|
|
51
51
|
- Business validation failures are not reported as unknown system errors.
|
|
52
52
|
- Stack traces are preserved in structured logger output for unknown/system failures, never printed directly to stderr or serialized to clients.
|
|
53
53
|
- Retry guidance matches exception type.
|
|
54
54
|
- Known system failures use `ExceptionFactory.sysException(..., cause)`; Application code does not replace them with ad-hoc `RuntimeException`.
|
|
55
|
-
- Endpoint
|
|
55
|
+
- Endpoint tests cover the failure types actually affected by this change; upload-limit tests apply only to upload endpoints or changed upload handling. Public messages must follow the selected platform contract and never leak protected exception details.
|
|
56
56
|
|
|
57
57
|
## Do Not
|
|
58
58
|
|
|
@@ -3,9 +3,9 @@ name: yss-formily-schema-generator
|
|
|
3
3
|
description: "从需求或设计图生成 YFormily JSON Schema 与表单代码;仅用于生产表单实现。"
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# YFormily Schema Generator
|
|
7
7
|
|
|
8
|
-
Use this skill to turn upstream input into downstream
|
|
8
|
+
Use this skill to turn upstream input into downstream YFormily form artifacts.
|
|
9
9
|
|
|
10
10
|
Supported input forms:
|
|
11
11
|
|
|
@@ -16,13 +16,13 @@ Supported input forms:
|
|
|
16
16
|
|
|
17
17
|
Expected output forms:
|
|
18
18
|
|
|
19
|
-
- a
|
|
19
|
+
- a YFormily JSON Schema or `ISchema`
|
|
20
20
|
- a recommended `v-model` data shape
|
|
21
21
|
- optional `scope`, `effects`, and slot plan
|
|
22
|
-
- optional Vue render snippet showing how to mount `
|
|
22
|
+
- optional Vue render snippet showing how to mount `YFormily`
|
|
23
23
|
|
|
24
24
|
This skill designs the schema.
|
|
25
|
-
For implementation rules and exact
|
|
25
|
+
For implementation rules and exact YFormily behavior, also read:
|
|
26
26
|
|
|
27
27
|
- [yss-formily](../yss-formily/SKILL.md)
|
|
28
28
|
|
|
@@ -35,10 +35,10 @@ For conversion workflow and field mapping, read:
|
|
|
35
35
|
Use this skill when the request is any of the following:
|
|
36
36
|
|
|
37
37
|
- “根据需求描述生成表单 schema”
|
|
38
|
-
- “根据原型图生成
|
|
38
|
+
- “根据原型图生成 YFormily”
|
|
39
39
|
- “根据图片/截图还原表单”
|
|
40
40
|
- “根据 Figma 生成表单 JSON Schema”
|
|
41
|
-
- “把业务字段整理成
|
|
41
|
+
- “把业务字段整理成 YFormily schema”
|
|
42
42
|
- “输出 schema 和渲染代码”
|
|
43
43
|
|
|
44
44
|
## Core principle
|
|
@@ -50,7 +50,7 @@ Translate the input into a stable form model:
|
|
|
50
50
|
2. field semantics
|
|
51
51
|
3. validation and dependency rules
|
|
52
52
|
4. layout grouping
|
|
53
|
-
5.
|
|
53
|
+
5. YFormily schema
|
|
54
54
|
|
|
55
55
|
The schema must reflect business meaning, not just pixel arrangement.
|
|
56
56
|
|
|
@@ -88,7 +88,7 @@ If the image contains only visual cues and no validation semantics, generate a s
|
|
|
88
88
|
|
|
89
89
|
### Figma input
|
|
90
90
|
|
|
91
|
-
When a Figma link or node is provided, use
|
|
91
|
+
When a Figma link or node is provided, discover an available design-inspection capability first. If unavailable, use supplied design exports or screenshots; report the missing access when those cannot establish a required detail. Do not invent a tool name or claim inspection succeeded.
|
|
92
92
|
Extract:
|
|
93
93
|
|
|
94
94
|
- field labels
|
|
@@ -99,7 +99,7 @@ Extract:
|
|
|
99
99
|
- readonly versus editable patterns
|
|
100
100
|
- footer actions
|
|
101
101
|
|
|
102
|
-
Then convert that structure to
|
|
102
|
+
Then convert that structure to YFormily, following local YSS conventions instead of raw design-tool naming.
|
|
103
103
|
|
|
104
104
|
## Required outputs
|
|
105
105
|
|
|
@@ -120,7 +120,7 @@ If the user asks for code generation, also produce:
|
|
|
120
120
|
|
|
121
121
|
Always align with `yss-formily`:
|
|
122
122
|
|
|
123
|
-
- wrapper component is `YssFormily`
|
|
123
|
+
- wrapper component for new code is `YFormily`; the historical `YssFormily` alias is accepted only when an existing installed export is verified
|
|
124
124
|
- schema is `FormLayout -> FormGrid -> fields`
|
|
125
125
|
- use `FormItem` for ordinary fields
|
|
126
126
|
- prefer one shared schema for create/edit/detail when feasible
|
|
@@ -151,7 +151,7 @@ Follow this sequence every time:
|
|
|
151
151
|
4. Decide field types and components.
|
|
152
152
|
5. Decide sections and layout spans.
|
|
153
153
|
6. Identify validation, enum, and linkage requirements.
|
|
154
|
-
7. Produce
|
|
154
|
+
7. Produce YFormily schema.
|
|
155
155
|
8. Produce render snippet if requested.
|
|
156
156
|
9. Call out assumptions and uncertain inferences.
|
|
157
157
|
|
|
@@ -43,7 +43,7 @@ description: Use when YSS Vue 页面涉及 vue-hooks-plus/useRequest、分页、
|
|
|
43
43
|
```ts
|
|
44
44
|
export function useReportTable() {
|
|
45
45
|
const tableData = ref<any[]>([]);
|
|
46
|
-
const currentParams = ref({
|
|
46
|
+
const currentParams = ref({ pageIndex: 1, pageSize: 20 });
|
|
47
47
|
const pagination = reactive({
|
|
48
48
|
current: 1, pageSize: 20, total: 0,
|
|
49
49
|
showSizeChanger: true, showQuickJumper: true,
|
|
@@ -52,8 +52,8 @@ export function useReportTable() {
|
|
|
52
52
|
const { loading, run: fetchList } = useRequest(apiFn, {
|
|
53
53
|
manual: true,
|
|
54
54
|
onSuccess: (res) => {
|
|
55
|
-
tableData.value = res?.data
|
|
56
|
-
pagination.total = res?.
|
|
55
|
+
tableData.value = res?.data || [];
|
|
56
|
+
pagination.total = res?.totalCount || 0;
|
|
57
57
|
},
|
|
58
58
|
onError: () => {
|
|
59
59
|
tableData.value = [];
|
|
@@ -64,60 +64,24 @@ export function useReportTable() {
|
|
|
64
64
|
currentParams.value = { ...currentParams.value, ...params };
|
|
65
65
|
return fetchList(currentParams.value);
|
|
66
66
|
};
|
|
67
|
-
|
|
67
|
+
// YTable emits one object; adapt it at this boundary.
|
|
68
|
+
const handlePageChange = ({ current, pageSize }: { current: number; pageSize: number }) => {
|
|
68
69
|
pagination.current = current;
|
|
69
70
|
pagination.pageSize = pageSize;
|
|
70
|
-
return query({
|
|
71
|
+
return query({ pageIndex: current, pageSize });
|
|
71
72
|
};
|
|
72
73
|
return { loading, tableData, currentParams, pagination, query, handlePageChange };
|
|
73
74
|
}
|
|
74
75
|
```
|
|
75
76
|
|
|
76
77
|
- 仅当项目已批准的请求库支持时使用 `useRequest`;通常使用 `manual: true`,除非需求明确要求挂载即请求。
|
|
77
|
-
- `currentParams` 是唯一参数源。筛选变化重置 `
|
|
78
|
+
- `currentParams` 是唯一参数源。筛选变化重置 `pageIndex: 1`;翻页只改 `pageIndex/pageSize`;刷新、导出和编辑后重载复用它。
|
|
78
79
|
- 在 Hook 内处理成功、失败、空数据和响应映射;旧列表会误导时才在失败时清空。
|
|
79
80
|
- 树数据同样由 Hook 暴露 `treeData`、`treeLoading`、`selectedKey`、`handleSelect`,并在其中处理会触发加载的选中副作用。
|
|
80
81
|
|
|
81
82
|
## 3. `vue-hooks-plus/useRequest`(项目已批准时)
|
|
82
83
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
```ts
|
|
86
|
-
import { useRequest } from 'vue-hooks-plus';
|
|
87
|
-
|
|
88
|
-
const { data, error, loading, params, run, runAsync, refresh, mutate, cancel } = useRequest(
|
|
89
|
-
searchReports,
|
|
90
|
-
{
|
|
91
|
-
manual: true,
|
|
92
|
-
debounceWait: 300,
|
|
93
|
-
onSuccess: (result, requestParams) => {
|
|
94
|
-
tableData.value = result.list;
|
|
95
|
-
pagination.total = result.total;
|
|
96
|
-
},
|
|
97
|
-
onError: (cause) => { requestError.value = cause; },
|
|
98
|
-
},
|
|
99
|
-
);
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
- `run` 会捕获异常并交给 `onError`;`runAsync` 返回 `Promise`,调用处必须自行 `catch`。`refresh` / `refreshAsync` 使用上一次 `params` 重发请求;不要在页面重拼参数。
|
|
103
|
-
- `mutate(nextData | updater)` 用于乐观更新;启用 `rollbackOnError` 时,远端失败会恢复更新前数据。先保存局部错误 / 刷新策略,不能只依赖乐观 UI。
|
|
104
|
-
- `cancel()` 会忽略当前 Promise 的结果和错误,并会取消仍在等待执行的防抖调用;它**不会**终止底层 Promise。若 transport 支持真正中止,service 才能额外使用其已验证的 `AbortSignal` 支持。
|
|
105
|
-
- 搜索场景优先 `debounceWait`(毫秒),并按需要配置 `debounceLeading`、`debounceTrailing`、`debounceMaxWait`。组件卸载与后一次请求的竞态响应会被库忽略;需要提前停止时调用 `cancel()`。不要再叠加自定义 timer / 序号,除非已验证当前版本或 transport 存在库无法覆盖的缺口。
|
|
106
|
-
- `useRequest` 的并发语义在文档版本间出现差异:页面说明从 v2.4.0 起手动调用可独立执行,而 Options 表仍列出 `concurrent`(默认 `false`)控制新旧请求关系。启用并发前,必须以项目锁定版本的类型、测试与行为为准;搜索和同一资源写入默认采用单一最新请求策略。
|
|
107
|
-
|
|
108
|
-
### 3.1 缓存、刷新与重试
|
|
109
|
-
|
|
110
|
-
- `cacheKey` 成功后会全局共享 data 和 params:同 key 的并发实例共用 Promise、数据同步。因此 key 必须包含稳定的业务身份与影响结果的参数;不同租户、用户、筛选条件或权限视图不能共用 key。副作用、实时性强或权限敏感结果默认不启用共享缓存。
|
|
111
|
-
- `staleTime` 内数据视为新鲜,不重新请求;`cacheTime` 到期清除缓存。没有 `staleTime` 时,重新挂载会先展示缓存、再后台请求(SWR)。编辑 / 提交成功后的显式 `refresh` 优先于等待 SWR。
|
|
112
|
-
- `refreshOnWindowFocus: true` 在 `visibilitychange` / `focus` 后刷新,使用 `focusTimespan`(默认 5000ms)限频。只给允许后台重取的读模型开启;编辑中的表单、一次性动作和高成本查询默认关闭。
|
|
113
|
-
- `retryCount` 控制失败后的重试次数,`-1` 为无限重试;未设 `retryInterval` 时按 2s、4s…且最高 30s 的指数退避。仅对暂时性网络 / 可恢复服务错误设置有限重试;认证授权、参数校验、业务拒绝、显式取消和非幂等写操作禁止自动重试。`cancel()` 可停止正在等待的重试。
|
|
114
|
-
- `loadingDelay` 可延迟 loading 变为 `true`,避免短请求闪烁;它不延迟请求,也不能作为防抖替代。
|
|
115
|
-
|
|
116
|
-
### 3.2 请求轮询与依赖刷新
|
|
117
|
-
|
|
118
|
-
- `pollingInterval > 0` 启用请求轮询;每次请求完成后等待间隔再发下一次。`manual: true` 时,先 `run/runAsync` 才启动。`pollingWhenHidden` 默认 `true`;仅在业务允许后台继续请求时保留,需暂停则显式设为 `false`。`pollingErrorRetryCount` 默认 `-1`,必须为生产读模型配置有限值或明确停止条件。
|
|
119
|
-
- 同一数据源只能选择 `useRequest` 轮询或 YSS `usePollingTask` 之一,禁止嵌套或同时运行。手动刷新前 `cancel()` 当前请求 / 轮询,执行带 loading 的 `refresh`,再依据明确业务规则恢复轮询。
|
|
120
|
-
- `refreshDeps` 仅在非 manual 自动模式生效;传入 `WatchSource[]` 精确声明依赖,或在理解捕获范围后用 `true` 自动收集。筛选列表通常使用显式 `query` 并在筛选变化时重置页码,不以 `refreshDeps` 隐式驱动复杂参数。
|
|
84
|
+
仅项目已批准且当前任务使用该库时,读取 [useRequest 实现细则](references/use-request.md),覆盖返回值、错误处理、取消、缓存、刷新、重试和轮询。不得因技能示例引入未批准依赖;调用 `runAsync` 必须捕获拒绝,业务失败提示遵循 mutator 的唯一所有权。
|
|
121
85
|
|
|
122
86
|
## 4. 单一异步动作:`useLoading`
|
|
123
87
|
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# 已批准的 useRequest 实现细则
|
|
2
|
+
|
|
3
|
+
仅项目已批准 `vue-hooks-plus/useRequest` 且当前任务使用它时读取。版本事实以项目锁定依赖为准。
|
|
4
|
+
|
|
5
|
+
`useRequest` 接收返回 `Promise<TData>` 的 service,并以插件组合管理 `loading`、`data`、`error`、`params`。自动模式默认在组件初始化时执行;`manual: true` 时用 `run` 或 `runAsync` 发起请求。
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
import { useRequest } from 'vue-hooks-plus';
|
|
9
|
+
|
|
10
|
+
const { data, error, loading, params, run, runAsync, refresh, mutate, cancel } = useRequest(
|
|
11
|
+
searchReports,
|
|
12
|
+
{
|
|
13
|
+
manual: true,
|
|
14
|
+
debounceWait: 300,
|
|
15
|
+
onSuccess: (result, requestParams) => {
|
|
16
|
+
tableData.value = result.list;
|
|
17
|
+
pagination.total = result.total;
|
|
18
|
+
},
|
|
19
|
+
onError: (cause) => { requestError.value = cause; },
|
|
20
|
+
},
|
|
21
|
+
);
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
- `run` 会捕获异常并交给 `onError`;`runAsync` 返回 `Promise`,调用处必须自行 `catch`。`refresh` / `refreshAsync` 使用上一次 `params` 重发请求;不要在页面重拼参数。
|
|
25
|
+
- `mutate(nextData | updater)` 用于乐观更新;启用 `rollbackOnError` 时,远端失败会恢复更新前数据。先保存局部错误 / 刷新策略,不能只依赖乐观 UI。
|
|
26
|
+
- `cancel()` 会忽略当前 Promise 的结果和错误,并会取消仍在等待执行的防抖调用;它**不会**终止底层 Promise。若 transport 支持真正中止,service 才能额外使用其已验证的 `AbortSignal` 支持。
|
|
27
|
+
- 搜索场景优先 `debounceWait`(毫秒),并按需要配置 `debounceLeading`、`debounceTrailing`、`debounceMaxWait`。组件卸载与后一次请求的竞态响应会被库忽略;需要提前停止时调用 `cancel()`。不要再叠加自定义 timer / 序号,除非已验证当前版本或 transport 存在库无法覆盖的缺口。
|
|
28
|
+
- `useRequest` 的并发语义在文档版本间出现差异:页面说明从 v2.4.0 起手动调用可独立执行,而 Options 表仍列出 `concurrent`(默认 `false`)控制新旧请求关系。启用并发前,必须以项目锁定版本的类型、测试与行为为准;搜索和同一资源写入默认采用单一最新请求策略。
|
|
29
|
+
|
|
30
|
+
### 3.1 缓存、刷新与重试
|
|
31
|
+
|
|
32
|
+
- `cacheKey` 成功后会全局共享 data 和 params:同 key 的并发实例共用 Promise、数据同步。因此 key 必须包含稳定的业务身份与影响结果的参数;不同租户、用户、筛选条件或权限视图不能共用 key。副作用、实时性强或权限敏感结果默认不启用共享缓存。
|
|
33
|
+
- `staleTime` 内数据视为新鲜,不重新请求;`cacheTime` 到期清除缓存。没有 `staleTime` 时,重新挂载会先展示缓存、再后台请求(SWR)。编辑 / 提交成功后的显式 `refresh` 优先于等待 SWR。
|
|
34
|
+
- `refreshOnWindowFocus: true` 在 `visibilitychange` / `focus` 后刷新,使用 `focusTimespan`(默认 5000ms)限频。只给允许后台重取的读模型开启;编辑中的表单、一次性动作和高成本查询默认关闭。
|
|
35
|
+
- `retryCount` 控制失败后的重试次数,`-1` 为无限重试;未设 `retryInterval` 时按 2s、4s…且最高 30s 的指数退避。仅对暂时性网络 / 可恢复服务错误设置有限重试;认证授权、参数校验、业务拒绝、显式取消和非幂等写操作禁止自动重试。`cancel()` 可停止正在等待的重试。
|
|
36
|
+
- `loadingDelay` 可延迟 loading 变为 `true`,避免短请求闪烁;它不延迟请求,也不能作为防抖替代。
|
|
37
|
+
|
|
38
|
+
### 3.2 请求轮询与依赖刷新
|
|
39
|
+
|
|
40
|
+
- `pollingInterval > 0` 启用请求轮询;每次请求完成后等待间隔再发下一次。`manual: true` 时,先 `run/runAsync` 才启动。`pollingWhenHidden` 默认 `true`;仅在业务允许后台继续请求时保留,需暂停则显式设为 `false`。`pollingErrorRetryCount` 默认 `-1`,必须为生产读模型配置有限值或明确停止条件。
|
|
41
|
+
- 同一数据源只能选择 `useRequest` 轮询或 YSS `usePollingTask` 之一,禁止嵌套或同时运行。手动刷新前 `cancel()` 当前请求 / 轮询,执行带 loading 的 `refresh`,再依据明确业务规则恢复轮询。
|
|
42
|
+
- `refreshDeps` 仅在非 manual 自动模式生效;传入 `WatchSource[]` 精确声明依赖,或在理解捕获范围后用 `true` 自动收集。筛选列表通常使用显式 `query` 并在筛选变化时重置页码,不以 `refreshDeps` 隐式驱动复杂参数。
|
|
@@ -66,11 +66,7 @@ description: "编译或重验 YSS Slice Implementation Contract、最小 Skill
|
|
|
66
66
|
|
|
67
67
|
## 战略交接快照包
|
|
68
68
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
来自战略交接包的技术设计合同(DDD / MVC)必须绑定 `strategic_handoff` 导入收据、包摘要、正式目标对账及逐条承接 rows。来自导入包时禁止仅填 `upstream_current: true`。批准前执行 `scripts/verify-strategic-handoff-consumption --root <target> <tactical>`;存在受控延期时按切片执行 `--slice <slice-id>`,实际核验通过且合同批准后才可继续相关切片。最新源规则、关键场景或资产变化使依赖项 stale;未知依赖扩大阻断,业务冲突回交战略方。结果绑定当前包与战术摘要,不能复用旧输出宣布 ready-for-agent。
|
|
72
|
-
|
|
73
|
-
Slice v3 的任务进度、缺口和实时就绪结果不回写合同。源事实集中在 basis,Skill 闭包只在 resolution 保存,工作单元继承共同约束;独立工程审查与已有用户确认共同交生命周期批准。详见合同引用。
|
|
69
|
+
消费战略包时必须绑定导入收据、包摘要、目标对账和逐条承接。按 [跨仓承接核验](references/strategic-handoff-routing.md) 执行;源变化使依赖项 stale,未知依赖扩大阻断,编译器不能补字段后沿用旧批准。
|
|
74
70
|
|
|
75
71
|
## 后端脚手架平台承接
|
|
76
72
|
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
## 战略交接快照包
|
|
2
|
+
|
|
3
|
+
跨仓交接使用 `scripts/strategic-handoff export / verify / import`。正式导出前补齐源战略的稳定规则 ID、关键场景和当前批准绑定;源资产原字节冻结、包内路径通过清单解析。目标导入只产生快照和对账/承接草案,正式 reconciliation 通过后才能进入战术设计。流程与字段见 `docs/process/strategic-handoff-package.md`。
|
|
4
|
+
|
|
5
|
+
来自战略交接包的技术设计合同(DDD / MVC)必须绑定 `strategic_handoff` 导入收据、包摘要、正式目标对账及逐条承接 rows。来自导入包时禁止仅填 `upstream_current: true`。批准前执行 `scripts/verify-strategic-handoff-consumption --root <target> <tactical>`;存在受控延期时按切片执行 `--slice <slice-id>`,实际核验通过且合同批准后才可继续相关切片。最新源规则、关键场景或资产变化使依赖项 stale;未知依赖扩大阻断,业务冲突回交战略方。结果绑定当前包与战术摘要,不能复用旧输出宣布 ready-for-agent。
|
|
6
|
+
|
|
7
|
+
Slice v3 的任务进度、缺口和实时就绪结果不回写合同。源事实集中在 basis,Skill 闭包只在 resolution 保存,工作单元继承共同约束;独立工程审查与已有用户确认共同交生命周期批准。详见合同引用。
|
|
@@ -32,7 +32,9 @@ execution_result:
|
|
|
32
32
|
result:
|
|
33
33
|
executed_at:
|
|
34
34
|
constraint_results:
|
|
35
|
-
-
|
|
35
|
+
- constraint_id: # 后端审查时为 canonical 稳定 ID
|
|
36
|
+
applicability_basis: [] # 后端覆盖工具派生依据
|
|
37
|
+
constraint:
|
|
36
38
|
status: passed | failed | not-applicable
|
|
37
39
|
evidence_ref:
|
|
38
40
|
doubt_driven_review:
|
|
@@ -70,3 +72,5 @@ execution_result:
|
|
|
70
72
|
专项 skill 自报 `implemented` 不等于最终通过,生命周期编排器和独立 Reviewer 必须复核。
|
|
71
73
|
|
|
72
74
|
`verification_results` 不得为空,每项必须包含非空 `command`、`result` 和 `executed_at`。路径校验按完整目录边界判断,`apps/backend/project1-escape` 不属于 `apps/backend/project1/`;Harness 内路径还必须通过项目路径策略。完整重路由时旧合同必须标记 `stale`,新合同版本递增并保留旧合同引用、失效原因和触发器。
|
|
75
|
+
|
|
76
|
+
后端独立审查在既有 constraint_results 中消费稳定规则 ID、规则/代码/证据摘要与完整适用性集合;输入增加 scope_kind 与 standards_coverage_ref/digest。见 yss-backend-spec-review/references/standards-coverage.md。实现者结果不代替独立 code-review;历史未携带新字段的报告只读兼容。
|
|
@@ -20,11 +20,11 @@ description: 在生命周期已批准的脚手架合同下生成通用 YSS 分
|
|
|
20
20
|
|
|
21
21
|
调用本技能前由生命周期编排器展示 `scripts/backend-platforms` 的精确版本清单及兼容状态,并通过 `gate.backend-architecture-platform-approved` 把架构、Spring Boot、Java 和 YSS 父 POM/BOM 合并展示、取得真实用户确认;生成器不提问、不猜版本、不使用 `x` 或 `latest`。已有批准且当前的选择展示摘要后复用;既有工程核验并复用登记值,不触发该门禁。
|
|
22
22
|
|
|
23
|
-
-
|
|
23
|
+
- 精确候选版本与可选状态只读取 `scripts/backend-platforms` 和共享平台清单,不在此复制版本表;候选不等于可生成。
|
|
24
24
|
- 独立子项目可继承主项目组合或覆盖,必须逐项目确认(允许一次确认明确列出的项目);同一 Maven Reactor 使用一个平台。
|
|
25
25
|
- 只开放共享兼容清单中已有真实 YSS 构建、依赖和启动证据的组合。缺少兼容父 POM、BOM、starter 或相应能力证据即 `blocked`;不替换官方组件、不降级回退。
|
|
26
26
|
- 新生成合同必须有 `platform_configuration` v2,与架构决策、Maven 坐标及兼容条目摘要一致。Boot、Java、YSS 坐标或依赖配方变化时回生命周期重新确认并编译合同;仅追加同配置验证记录不重复确认,仍核验证据有效性。
|
|
27
|
-
- Spring MVC、Servlet、Validation、Jackson 和 starter 坐标消费共享平台清单;
|
|
27
|
+
- Spring MVC、Servlet、Validation、Jackson 和 starter 坐标消费共享平台清单;Java 下限和允许组合由当前平台条目决定。Jakarta 转换不包括 `javax.sql` 等 Java SE API。
|
|
28
28
|
- 平台候选维护验证产物标记 `platform_verification=candidate`,不能交给业务生成、升级完成等级或进入首切片验证。测试夹具不证明 YSS 兼容。
|
|
29
29
|
|
|
30
30
|
版本清单、合同字段、候选验证和支持晋级规则见 仓库共享合同 `docs/engineering/backend-platforms.md`。
|
|
@@ -16,11 +16,21 @@ description: 用于 YSS MyBatis / MyBatis-Plus 组件能力核验、接入决策
|
|
|
16
16
|
|
|
17
17
|
## 稳定决策规则
|
|
18
18
|
|
|
19
|
+
<a id="mybatis.binding"></a>
|
|
20
|
+
<!-- yss-rule {"id":"mybatis.binding","when":"mybatis","level":"mandatory","evidence":"code-and-verification"} -->
|
|
19
21
|
- 基类、Mapper 注解、XML 位置和扫描范围以批准 Profile、当前工程基线及当前组件源码共同决定;不得在既有体系外再造 Mapper 抽象。
|
|
22
|
+
<a id="mybatis.pagination"></a>
|
|
23
|
+
<!-- yss-rule {"id":"mybatis.pagination","when":"pagination","level":"mandatory","evidence":"code-and-verification"} -->
|
|
20
24
|
- 一条查询 seam 只能有一个分页责任模型。核对实际插件/切面开关、拦截范围、参数绑定条件和返回 total 的责任,不以“依赖已引入”代替行为验证。
|
|
25
|
+
<a id="mybatis.batch"></a>
|
|
26
|
+
<!-- yss-rule {"id":"mybatis.batch","when":"batch","level":"mandatory","evidence":"code-and-verification"} -->
|
|
21
27
|
- 批量写入必须证明是组件当前支持的 SQL 级批量能力,并验证分批大小、字段填充、主键和数据库方言;循环单条写入不能冒充批量 SQL。
|
|
22
28
|
- 多数据源实例创建不等于动态路由、线程上下文切换或事务传播。先做 capability check;组件未提供的路由能力必须由批准的上层适配承担。
|
|
29
|
+
<a id="mybatis.mapping"></a>
|
|
30
|
+
<!-- yss-rule {"id":"mybatis.mapping","when":"mybatis","level":"mandatory","evidence":"code-and-verification"} -->
|
|
23
31
|
- Mapper/XML、逻辑删除、审计字段、主键策略、动态排序/分组白名单和参数绑定必须与数据合同一致;任何 SQL/DDL/索引新影响返回 `new_impacts`。
|
|
32
|
+
<a id="mybatis.transaction"></a>
|
|
33
|
+
<!-- yss-rule {"id":"mybatis.transaction","when":"mybatis","level":"mandatory","evidence":"code-and-verification"} -->
|
|
24
34
|
- 事务边界归批准的 Application 用例或 MVC service/core;Repository 不临时声明新的业务事务。
|
|
25
35
|
|
|
26
36
|
## 任务分流
|
|
@@ -51,7 +51,7 @@ Block if any of these are true:
|
|
|
51
51
|
- Pagination does not align with the `PageResult` profile or documented exception, or exposes `offset` / `needTotalCount` / `tempTotalCount` as client input.
|
|
52
52
|
- A response omits `x-yss-response-wrapper`, uses the compatibility `com.yss.cloud.dto.response` package for a new contract, writes Java generic notation as an OAS schema, or fails `YssResultMeta` + `allOf` + concrete `data` mapping.
|
|
53
53
|
- `code` is modeled as arbitrary object, `dataType` loses explicit nullability, or computed fields such as `totalPages` lack target wire evidence.
|
|
54
|
-
-
|
|
54
|
+
- An in-scope behavior lacks a contract-test seam. Select import, mapping coverage, validation, review, publish, export or optimistic-locking seams only when the Spec/API actually includes that behavior; record a reasoned not-applicable for absent operations. A read-only query does not acquire write/import/publish requirements.
|
|
55
55
|
- YAML contains lifecycle frontmatter / root metadata, or the proposed JSON client input is not explicitly deferred until Freeze and governance export.
|
|
56
56
|
|
|
57
57
|
## Output Contract
|
|
@@ -113,35 +113,4 @@ pnpm exec redocly bundle \
|
|
|
113
113
|
|
|
114
114
|
## 输出契约
|
|
115
115
|
|
|
116
|
-
|
|
117
|
-
### Governance Result
|
|
118
|
-
<Draft / Approved for Freeze / Blocked / JSON Exported>
|
|
119
|
-
|
|
120
|
-
### YAML Authority
|
|
121
|
-
- YAML: <docs/.scratch/<feature>/api/<feature>.yaml>
|
|
122
|
-
- OAS: 3.1.0
|
|
123
|
-
- YAML SHA-256: <sha256>
|
|
124
|
-
- Freeze record: <path / ref>
|
|
125
|
-
|
|
126
|
-
### Validation
|
|
127
|
-
- Lint command and result: <locked pnpm command / result>
|
|
128
|
-
- Validation record: <docs/.scratch/<feature>/api/<feature>-validation.yaml / verifier result / matching YAML SHA-256>
|
|
129
|
-
- YSS DTO wire profile: <`.agents/skills/yss-dto/references/openapi-wire-profile.yaml`, schema_version, verifier result>
|
|
130
|
-
- P0 field traceability: <source / operationId / schema / property path / shape / requiredness / constraints / error-test summary>
|
|
131
|
-
- Wrapper conformance: <`x-yss-response-wrapper`, `YssResultMeta`, `allOf`, concrete data schema, direction and forbidden-field result>
|
|
132
|
-
- `$ref` policy / approved exceptions: <details>
|
|
133
|
-
- Blocking findings: <file:line grounded finding>
|
|
134
|
-
|
|
135
|
-
### JSON Derivative
|
|
136
|
-
- JSON: <docs/.scratch/<feature>/api/<feature>.json>
|
|
137
|
-
- JSON SHA-256: <sha256>
|
|
138
|
-
- Redocly CLI / lockfile: <version and lock reference>
|
|
139
|
-
- Bundle command and metafile: <command / path>
|
|
140
|
-
- JSON validation result: <pass / blocked>
|
|
141
|
-
|
|
142
|
-
### Downstream Handoff
|
|
143
|
-
- Canonical JSON / frontend materialization SHA-256: <same sha / blocked>
|
|
144
|
-
- Frontend materialization path: <frontend/openapi/openapi.json / blocked>
|
|
145
|
-
- Existing frontend code generation: <manual command in target repository / blocked reason>
|
|
146
|
-
- Template boundary: <no frontend configuration, code-generation execution, or CI change>
|
|
147
|
-
```
|
|
116
|
+
执行治理或导出时,按 [输出契约](references/governance-output.md) 记录 YAML 权威、当前校验证据、JSON 派生与交接。不能只给自然语言完成声明;未冻结时不生成可供实现消费的 JSON。
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
## 输出契约
|
|
2
|
+
|
|
3
|
+
```markdown
|
|
4
|
+
### Governance Result
|
|
5
|
+
<Draft / Approved for Freeze / Blocked / JSON Exported>
|
|
6
|
+
|
|
7
|
+
### YAML Authority
|
|
8
|
+
- YAML: <docs/.scratch/<feature>/api/<feature>.yaml>
|
|
9
|
+
- OAS: 3.1.0
|
|
10
|
+
- YAML SHA-256: <sha256>
|
|
11
|
+
- Freeze record: <path / ref>
|
|
12
|
+
|
|
13
|
+
### Validation
|
|
14
|
+
- Lint command and result: <locked pnpm command / result>
|
|
15
|
+
- Validation record: <docs/.scratch/<feature>/api/<feature>-validation.yaml / verifier result / matching YAML SHA-256>
|
|
16
|
+
- YSS DTO wire profile: <`.agents/skills/yss-dto/references/openapi-wire-profile.yaml`, schema_version, verifier result>
|
|
17
|
+
- P0 field traceability: <source / operationId / schema / property path / shape / requiredness / constraints / error-test summary>
|
|
18
|
+
- Wrapper conformance: <`x-yss-response-wrapper`, `YssResultMeta`, `allOf`, concrete data schema, direction and forbidden-field result>
|
|
19
|
+
- `$ref` policy / approved exceptions: <details>
|
|
20
|
+
- Blocking findings: <file:line grounded finding>
|
|
21
|
+
|
|
22
|
+
### JSON Derivative
|
|
23
|
+
- JSON: <docs/.scratch/<feature>/api/<feature>.json>
|
|
24
|
+
- JSON SHA-256: <sha256>
|
|
25
|
+
- Redocly CLI / lockfile: <version and lock reference>
|
|
26
|
+
- Bundle command and metafile: <command / path>
|
|
27
|
+
- JSON validation result: <pass / blocked>
|
|
28
|
+
|
|
29
|
+
### Downstream Handoff
|
|
30
|
+
- Canonical JSON / frontend materialization SHA-256: <same sha / blocked>
|
|
31
|
+
- Frontend materialization path: <frontend/openapi/openapi.json / blocked>
|
|
32
|
+
- Existing frontend code generation: <manual command in target repository / blocked reason>
|
|
33
|
+
- Template boundary: <no frontend configuration, code-generation execution, or CI change>
|
|
34
|
+
```
|
|
@@ -67,7 +67,7 @@ Plan 入口读取 `docs/plan/README.md` 和 `docs/process/plan-migration.md`,
|
|
|
67
67
|
1. 从真实资产重建当前状态,查询当前 mode、stage、work-unit 及必要合同子树。
|
|
68
68
|
2. 评估影响面、上游新鲜度、门禁和阻塞,选择第一个未阻塞工作单元;不把 `not-applicable` 当作豁免。
|
|
69
69
|
3. 原生工作单元由主控持有正式资产;专项工作通过结构化任务包派发,只调用编排合同允许的 model-invoked skill。
|
|
70
|
-
4.
|
|
70
|
+
4. `grill-with-docs`、`to-spec`、`to-tickets`、`implement` 等兼容入口只可由用户显式调用。主控先预检输入、路径和门禁;入口按 `matt_invocation_boundary` 写入其产物并回交验收,不批准或改变 Ticket 就绪状态。原生资产仍归主控。
|
|
71
71
|
5. 先对照用户目标逐项验收,检查遗漏诉求、错误假设与尚未解决的问题,再验收 `Workflow Execution Result`:工作单元、合同、允许写路径、`context_reconciliation`、证据、实际验证、延期 seam、漂移和下一路由必须可核验。实现派发额外绑定当前 Slice Implementation Contract v3;其他阶段不得伪造该合同。
|
|
72
72
|
6. 在授权边界内继续下一工作单元;遇到人工决定、新授权、证据冲突、专项失败或合并/发布结论时暂停。暂停不得阻断无依赖的独立工作。
|
|
73
73
|
|
|
@@ -66,11 +66,7 @@ Design QA 合并 visual、layout、interaction、content、accessibility、cross
|
|
|
66
66
|
|
|
67
67
|
## 既有 UI 的交接入口
|
|
68
68
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
通过 `gate.product-design-approved` 的现有用户决定协议确认当前基线 manifest 原字节,Handoff v5 明确声明 `ui_baseline_kind: existing-ui-baseline`。截图、代码可运行或旧原型批准都不能替代该确认;本技能只能准备审阅资产,不代答或批准。发现任何 UI 改动,包括后端行为导致的体验变化,回到上述原型流程;新设计继续保留现有原型与验证要求。
|
|
72
|
-
|
|
73
|
-
消费者以 `scripts/preflight-delivery` 检查交付前提,再由 `scripts/lib/ui-baseline.mjs` 分派原型与既有基线。前端使用 Strategic Preflight v2 和 Delivery Acceptance v3 的通用 `baseline_case_ids` 承接;通过仅说明输入可核验,不授予写代码权限。
|
|
69
|
+
确认 UI、交互、状态和权限体验均无改动的跨仓既有工程,读取 [既有 UI 分支](references/existing-ui-entry.md),使用 existing-ui-baseline v1 和当前真实用户确认。任何 UI 改动回到上面的原型流程;输入核验不授予实现权限。
|
|
74
70
|
|
|
75
71
|
## AntD 组件补充
|
|
76
72
|
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
## 既有 UI 的交接入口
|
|
2
|
+
|
|
3
|
+
现有工程需要跨仓交接且确认 UI、交互、状态和权限体验均无改动时,先读取 `docs/process/existing-ui-baseline.md`,使用独立 `existing-ui-baseline` v1,不进入 H1/H2 原型构建。绑定固定源码、锁文件、实际构建、原始动作、PNG 截图和真实 API 交换证据;可离线审阅不等于可离线运行原型。
|
|
4
|
+
|
|
5
|
+
通过 `gate.product-design-approved` 的现有用户决定协议确认当前基线 manifest 原字节,Handoff v5 明确声明 `ui_baseline_kind: existing-ui-baseline`。截图、代码可运行或旧原型批准都不能替代该确认;本技能只能准备审阅资产,不代答或批准。发现任何 UI 改动,包括后端行为导致的体验变化,回到上述原型流程;新设计继续保留现有原型与验证要求。
|
|
6
|
+
|
|
7
|
+
消费者以 `scripts/preflight-delivery` 检查交付前提,再由 `scripts/lib/ui-baseline.mjs` 分派原型与既有基线。前端使用 Strategic Preflight v2 和 Delivery Acceptance v3 的通用 `baseline_case_ids` 承接;通过仅说明输入可核验,不授予写代码权限。
|