create-yss-spec 2.1.3 → 2.1.5
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/code-review/SKILL.md +38 -10
- package/template/.agents/skills/high-fidelity-html-prototype/SKILL.md +16 -12
- package/template/.agents/skills/product-design-prototype/SKILL.md +6 -2
- package/template/.agents/skills/prototype-review/SKILL.md +6 -2
- package/template/.agents/skills/wireframe-prototype/SKILL.md +5 -1
- package/template/.agents/skills/yss-api-integration/SKILL.md +25 -7
- package/template/.agents/skills/yss-ddd-scaffold-generator/SKILL.md +3 -17
- package/template/.agents/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +0 -30
- package/template/.agents/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
- package/template/.agents/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.py +1 -21
- package/template/.agents/skills/yss-design-system/SKILL.md +6 -5
- package/template/.agents/skills/yss-frontend-scaffold-generator/SKILL.md +12 -6
- package/template/.agents/skills/yss-openapi-draft-review/SKILL.md +13 -17
- package/template/.agents/skills/yss-openapi-governance/SKILL.md +89 -114
- package/template/.agents/skills/yss-openapi-governance/agents/openai.yaml +2 -2
- package/template/.agents/skills/yss-product-lifecycle/SKILL.md +13 -7
- package/template/.agents/skills/yss-product-lifecycle/references/artifact-dependencies.md +2 -2
- package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +8 -2
- package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +77 -30
- package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +7 -2
- package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +8 -0
- package/template/.agents/skills/yss-prototype-stage/SKILL.md +40 -0
- package/template/.agents/skills/yss-router/SKILL.md +2 -2
- package/template/.agents/skills/yss-router/references/router-contract.yaml +9 -8
- package/template/.agents/skills/yss-router/references/slice-implementation-contract.md +4 -1
- package/template/.agents/skills/yss-router/references/yss-skill-execution-result.md +2 -1
- package/template/.claude/skills/code-review/SKILL.md +38 -10
- package/template/.claude/skills/high-fidelity-html-prototype/SKILL.md +16 -12
- package/template/.claude/skills/product-design-prototype/SKILL.md +6 -2
- package/template/.claude/skills/prototype-review/SKILL.md +6 -2
- package/template/.claude/skills/wireframe-prototype/SKILL.md +5 -1
- package/template/.claude/skills/yss-api-integration/SKILL.md +25 -7
- package/template/.claude/skills/yss-ddd-scaffold-generator/SKILL.md +3 -17
- package/template/.claude/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +0 -30
- package/template/.claude/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
- package/template/.claude/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.py +1 -21
- package/template/.claude/skills/yss-design-system/SKILL.md +6 -5
- package/template/.claude/skills/yss-frontend-scaffold-generator/SKILL.md +12 -6
- package/template/.claude/skills/yss-openapi-draft-review/SKILL.md +13 -17
- package/template/.claude/skills/yss-openapi-governance/SKILL.md +89 -114
- package/template/.claude/skills/yss-openapi-governance/agents/openai.yaml +2 -2
- package/template/.claude/skills/yss-product-lifecycle/SKILL.md +13 -7
- package/template/.claude/skills/yss-product-lifecycle/references/artifact-dependencies.md +2 -2
- package/template/.claude/skills/yss-product-lifecycle/references/matt-yss-adapter.md +8 -2
- package/template/.claude/skills/yss-product-lifecycle/references/orchestration-contract.yaml +77 -30
- package/template/.claude/skills/yss-product-lifecycle/references/orchestration.md +7 -2
- package/template/.claude/skills/yss-product-lifecycle/references/state-model.md +8 -0
- package/template/.claude/skills/yss-prototype-stage/SKILL.md +40 -0
- package/template/.claude/skills/yss-router/SKILL.md +2 -2
- package/template/.claude/skills/yss-router/references/router-contract.yaml +9 -8
- package/template/.claude/skills/yss-router/references/slice-implementation-contract.md +4 -1
- package/template/.claude/skills/yss-router/references/yss-skill-execution-result.md +2 -1
- package/template/.codex/skills/code-review/SKILL.md +38 -10
- package/template/.codex/skills/high-fidelity-html-prototype/SKILL.md +16 -12
- package/template/.codex/skills/product-design-prototype/SKILL.md +6 -2
- package/template/.codex/skills/prototype-review/SKILL.md +6 -2
- package/template/.codex/skills/wireframe-prototype/SKILL.md +5 -1
- package/template/.codex/skills/yss-api-integration/SKILL.md +25 -7
- package/template/.codex/skills/yss-ddd-scaffold-generator/SKILL.md +3 -17
- package/template/.codex/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +0 -30
- package/template/.codex/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
- package/template/.codex/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.py +1 -21
- package/template/.codex/skills/yss-design-system/SKILL.md +6 -5
- package/template/.codex/skills/yss-frontend-scaffold-generator/SKILL.md +12 -6
- package/template/.codex/skills/yss-openapi-draft-review/SKILL.md +13 -17
- package/template/.codex/skills/yss-openapi-governance/SKILL.md +89 -114
- package/template/.codex/skills/yss-openapi-governance/agents/openai.yaml +2 -2
- package/template/.codex/skills/yss-product-lifecycle/SKILL.md +13 -7
- package/template/.codex/skills/yss-product-lifecycle/references/artifact-dependencies.md +2 -2
- package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +8 -2
- package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +77 -30
- package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +7 -2
- package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +8 -0
- package/template/.codex/skills/yss-prototype-stage/SKILL.md +40 -0
- package/template/.codex/skills/yss-router/SKILL.md +2 -2
- package/template/.codex/skills/yss-router/references/router-contract.yaml +9 -8
- package/template/.codex/skills/yss-router/references/slice-implementation-contract.md +4 -1
- package/template/.codex/skills/yss-router/references/yss-skill-execution-result.md +2 -1
- package/template/.hermes/skills/code-review/SKILL.md +38 -10
- package/template/.hermes/skills/high-fidelity-html-prototype/SKILL.md +16 -12
- package/template/.hermes/skills/product-design-prototype/SKILL.md +6 -2
- package/template/.hermes/skills/prototype-review/SKILL.md +6 -2
- package/template/.hermes/skills/wireframe-prototype/SKILL.md +5 -1
- package/template/.hermes/skills/yss-api-integration/SKILL.md +25 -7
- package/template/.hermes/skills/yss-ddd-scaffold-generator/SKILL.md +3 -17
- package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +0 -30
- package/template/.hermes/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
- package/template/.hermes/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.py +1 -21
- package/template/.hermes/skills/yss-design-system/SKILL.md +6 -5
- package/template/.hermes/skills/yss-frontend-scaffold-generator/SKILL.md +12 -6
- package/template/.hermes/skills/yss-openapi-draft-review/SKILL.md +13 -17
- package/template/.hermes/skills/yss-openapi-governance/SKILL.md +89 -114
- package/template/.hermes/skills/yss-openapi-governance/agents/openai.yaml +2 -2
- package/template/.hermes/skills/yss-product-lifecycle/SKILL.md +13 -7
- package/template/.hermes/skills/yss-product-lifecycle/references/artifact-dependencies.md +2 -2
- package/template/.hermes/skills/yss-product-lifecycle/references/matt-yss-adapter.md +8 -2
- package/template/.hermes/skills/yss-product-lifecycle/references/orchestration-contract.yaml +77 -30
- package/template/.hermes/skills/yss-product-lifecycle/references/orchestration.md +7 -2
- package/template/.hermes/skills/yss-product-lifecycle/references/state-model.md +8 -0
- package/template/.hermes/skills/yss-prototype-stage/SKILL.md +40 -0
- package/template/.hermes/skills/yss-router/SKILL.md +2 -2
- package/template/.hermes/skills/yss-router/references/router-contract.yaml +9 -8
- package/template/.hermes/skills/yss-router/references/slice-implementation-contract.md +4 -1
- package/template/.hermes/skills/yss-router/references/yss-skill-execution-result.md +2 -1
- package/template/.pi/skills/code-review/SKILL.md +38 -10
- package/template/.pi/skills/high-fidelity-html-prototype/SKILL.md +16 -12
- package/template/.pi/skills/product-design-prototype/SKILL.md +6 -2
- package/template/.pi/skills/prototype-review/SKILL.md +6 -2
- package/template/.pi/skills/wireframe-prototype/SKILL.md +5 -1
- package/template/.pi/skills/yss-api-integration/SKILL.md +25 -7
- package/template/.pi/skills/yss-ddd-scaffold-generator/SKILL.md +3 -17
- package/template/.pi/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +0 -30
- package/template/.pi/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
- package/template/.pi/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.py +1 -21
- package/template/.pi/skills/yss-design-system/SKILL.md +6 -5
- package/template/.pi/skills/yss-frontend-scaffold-generator/SKILL.md +12 -6
- package/template/.pi/skills/yss-openapi-draft-review/SKILL.md +13 -17
- package/template/.pi/skills/yss-openapi-governance/SKILL.md +89 -114
- package/template/.pi/skills/yss-openapi-governance/agents/openai.yaml +2 -2
- package/template/.pi/skills/yss-product-lifecycle/SKILL.md +13 -7
- package/template/.pi/skills/yss-product-lifecycle/references/artifact-dependencies.md +2 -2
- package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +8 -2
- package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +77 -30
- package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +7 -2
- package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +8 -0
- package/template/.pi/skills/yss-prototype-stage/SKILL.md +40 -0
- package/template/.pi/skills/yss-router/SKILL.md +2 -2
- package/template/.pi/skills/yss-router/references/router-contract.yaml +9 -8
- package/template/.pi/skills/yss-router/references/slice-implementation-contract.md +4 -1
- package/template/.pi/skills/yss-router/references/yss-skill-execution-result.md +2 -1
- package/template/.qoder/skills/code-review/SKILL.md +38 -10
- package/template/.qoder/skills/high-fidelity-html-prototype/SKILL.md +16 -12
- package/template/.qoder/skills/product-design-prototype/SKILL.md +6 -2
- package/template/.qoder/skills/prototype-review/SKILL.md +6 -2
- package/template/.qoder/skills/wireframe-prototype/SKILL.md +5 -1
- package/template/.qoder/skills/yss-api-integration/SKILL.md +25 -7
- package/template/.qoder/skills/yss-ddd-scaffold-generator/SKILL.md +3 -17
- package/template/.qoder/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +0 -30
- package/template/.qoder/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
- package/template/.qoder/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.py +1 -21
- package/template/.qoder/skills/yss-design-system/SKILL.md +6 -5
- package/template/.qoder/skills/yss-frontend-scaffold-generator/SKILL.md +12 -6
- package/template/.qoder/skills/yss-openapi-draft-review/SKILL.md +13 -17
- package/template/.qoder/skills/yss-openapi-governance/SKILL.md +89 -114
- package/template/.qoder/skills/yss-openapi-governance/agents/openai.yaml +2 -2
- package/template/.qoder/skills/yss-product-lifecycle/SKILL.md +13 -7
- package/template/.qoder/skills/yss-product-lifecycle/references/artifact-dependencies.md +2 -2
- package/template/.qoder/skills/yss-product-lifecycle/references/matt-yss-adapter.md +8 -2
- package/template/.qoder/skills/yss-product-lifecycle/references/orchestration-contract.yaml +77 -30
- package/template/.qoder/skills/yss-product-lifecycle/references/orchestration.md +7 -2
- package/template/.qoder/skills/yss-product-lifecycle/references/state-model.md +8 -0
- package/template/.qoder/skills/yss-prototype-stage/SKILL.md +40 -0
- package/template/.qoder/skills/yss-router/SKILL.md +2 -2
- package/template/.qoder/skills/yss-router/references/router-contract.yaml +9 -8
- package/template/.qoder/skills/yss-router/references/slice-implementation-contract.md +4 -1
- package/template/.qoder/skills/yss-router/references/yss-skill-execution-result.md +2 -1
- package/template/.trae/skills/code-review/SKILL.md +38 -10
- package/template/.trae/skills/high-fidelity-html-prototype/SKILL.md +16 -12
- package/template/.trae/skills/product-design-prototype/SKILL.md +6 -2
- package/template/.trae/skills/prototype-review/SKILL.md +6 -2
- package/template/.trae/skills/wireframe-prototype/SKILL.md +5 -1
- package/template/.trae/skills/yss-api-integration/SKILL.md +25 -7
- package/template/.trae/skills/yss-ddd-scaffold-generator/SKILL.md +3 -17
- package/template/.trae/skills/yss-ddd-scaffold-generator/assets/templates/pom/bootstrap-pom.xml.template +0 -30
- package/template/.trae/skills/yss-ddd-scaffold-generator/references/yss-backend-scaffold-parent/SKILL.md +1 -1
- package/template/.trae/skills/yss-ddd-scaffold-generator/scripts/generate_scaffold.py +1 -21
- package/template/.trae/skills/yss-design-system/SKILL.md +6 -5
- package/template/.trae/skills/yss-frontend-scaffold-generator/SKILL.md +12 -6
- package/template/.trae/skills/yss-openapi-draft-review/SKILL.md +13 -17
- package/template/.trae/skills/yss-openapi-governance/SKILL.md +89 -114
- package/template/.trae/skills/yss-openapi-governance/agents/openai.yaml +2 -2
- package/template/.trae/skills/yss-product-lifecycle/SKILL.md +13 -7
- package/template/.trae/skills/yss-product-lifecycle/references/artifact-dependencies.md +2 -2
- package/template/.trae/skills/yss-product-lifecycle/references/matt-yss-adapter.md +8 -2
- package/template/.trae/skills/yss-product-lifecycle/references/orchestration-contract.yaml +77 -30
- package/template/.trae/skills/yss-product-lifecycle/references/orchestration.md +7 -2
- package/template/.trae/skills/yss-product-lifecycle/references/state-model.md +8 -0
- package/template/.trae/skills/yss-prototype-stage/SKILL.md +40 -0
- package/template/.trae/skills/yss-router/SKILL.md +2 -2
- package/template/.trae/skills/yss-router/references/router-contract.yaml +9 -8
- package/template/.trae/skills/yss-router/references/slice-implementation-contract.md +4 -1
- package/template/.trae/skills/yss-router/references/yss-skill-execution-result.md +2 -1
- package/template/AGENTS.md +7 -5
- package/template/CONTEXT.md +15 -1
- package/template/README.md +2 -1
- package/template/__yss_dotfile__.gitignore +4 -0
- package/template/docs/adr/0001-product-design-prototype-entrypoint.md +1 -1
- package/template/docs/adr/0003-machine-readable-lifecycle-registry.md +5 -0
- package/template/docs/adr/0004-split-lifecycle-and-router-registry-domains.md +5 -0
- package/template/docs/adr/0005-cross-repository-ecosystem-release-manifest.md +5 -0
- package/template/docs/adr/0006-stable-lifecycle-ids-and-generated-structure.md +5 -0
- package/template/docs/adr/0007-separate-skill-routing-registry-from-integrity-lock.md +5 -0
- package/template/docs/agents/issue-tracker.md +1 -0
- package/template/docs/api/templates/openapi-draft-review-checklist.md +8 -6
- package/template/docs/api/templates/openapi-freeze-record-template.md +8 -2
- package/template/docs/api/templates/openapi-json-export-record-template.md +60 -0
- package/template/docs/architecture/templates/architecture-review-checklist.md +6 -19
- package/template/docs/architecture/templates/functional-architecture-template.md +4 -4
- package/template/docs/architecture/templates/system-overview-design-template.md +10 -5
- package/template/docs/architecture/templates/tech-design-template.md +4 -11
- package/template/docs/design/README.md +4 -2
- package/template/docs/design/design.md +4 -0
- package/template/docs/design/templates/interaction-spec-template.md +3 -3
- package/template/docs/design/templates/prototype-confirmation-template.md +9 -6
- package/template/docs/design/templates/prototype-evidence-template.yaml +46 -0
- package/template/docs/design/templates/prototype-review-checklist.md +4 -4
- package/template/docs/discovery/templates/discovery-template.md +0 -1
- package/template/docs/implementation/create-yss-spec-repository-mode-contract.md +2 -2
- package/template/docs/process/harness-process-tailoring.md +2 -0
- package/template/docs/process/harness-work-unit-map.md +14 -10
- package/template/docs/process/lifecycle-artifact-map.md +84 -39
- package/template/docs/process/lifecycle-registry-baseline.json +70 -0
- package/template/docs/process/lifecycle-registry.yaml +289 -0
- package/template/docs/process/schemas/lifecycle-registry.schema.json +35 -0
- package/template/docs/reviews/lifecycle-registry-phase0-1-red-green-2026-08-17.md +61 -0
- package/template/docs/reviews/matt-yss-p0-ticket-review-git-red-green-2026-08-17.md +91 -0
- package/template/docs/reviews/openapi-skill-primary-source-research-2026-08-16.md +76 -0
- package/template/docs/reviews/openapi-yaml-first-independent-review-2026-08-16.md +121 -0
- package/template/docs/reviews/openapi-yaml-first-pressure-scenarios-2026-08-16.md +191 -0
- package/template/docs/reviews/openapi-yaml-first-red-green-2026-08-16.md +76 -0
- package/template/docs/reviews/openapi-yaml-json-output-independent-review-2026-08-16.md +30 -0
- package/template/docs/reviews/openapi-yaml-json-output-scope-red-green-2026-08-16.md +154 -0
- package/template/docs/reviews/research-create-yss-spec-refresh-2026-08-16.md +164 -0
- package/template/docs/reviews/security-permission-lifecycle-simplification-red-green-2026-08-16.md +43 -0
- package/template/docs/reviews/template-release-review-remediation-red-green-2026-08-17.md +41 -0
- package/template/docs/templates/agent-brief-template.md +2 -2
- package/template/docs/templates/build-architecture-checklist-template.md +3 -4
- package/template/docs/templates/implementation-repo-registry-template.md +0 -2
- package/template/docs/templates/implementation-routing-template.md +6 -6
- package/template/docs/templates/openapi-spec-template.yaml +0 -6
- package/template/docs/templates/review-report-template.md +2 -1
- package/template/docs/templates/spec-delta-template.md +1 -1
- package/template/docs/templates/spec-template.md +0 -1
- package/template/docs/templates/vertical-slice-ticket-template.md +2 -2
- package/template/docs/user-guide//344/272/247/345/223/201/347/224/237/345/221/275/345/221/250/346/234/237/345/267/245/344/275/234/346/265/201.md +6 -6
- package/template/docs/user-guide//344/272/247/345/223/201/347/240/224/345/217/221/345/205/250/347/224/237/345/221/275/345/221/250/346/234/237/346/234/200/344/275/263/345/256/236/350/267/265.md +3 -3
- package/template/docs/user-guide//345/244/226/351/203/250/345/221/275/344/273/244/350/241/214/345/267/245/345/205/267/345/256/236/350/267/265/346/214/207/345/215/227.md +1 -1
- package/template/docs/user-guide//347/224/237/345/221/275/345/221/250/346/234/237/346/234/200/344/275/263/345/256/236/350/267/265.md +1 -1
- package/template/scripts/generate-lifecycle-artifacts +26 -0
- package/template/scripts/lifecycle-registry.rb +194 -0
- package/template/scripts/sync-skills +1 -0
- package/template/scripts/test-export-yss-skills.rb +10 -6
- package/template/scripts/test-lifecycle-registry.rb +74 -0
- package/template/scripts/update-skill-lock +1 -0
- package/template/scripts/verify-governance-release +39 -0
- package/template/scripts/verify-lifecycle-registry +67 -0
- package/template/scripts/verify-lifecycle-scenarios +193 -23
- package/template/scripts/verify-matt-yss-integration-scenarios +297 -1
- package/template/scripts/verify-openapi-json-handoff-scenarios +270 -0
- package/template/scripts/verify-openapi-yaml-first-scenarios +120 -0
- package/template/scripts/verify-prototype-backend-scaffold-scenarios +26 -4
- package/template/scripts/verify-template +27 -3
- package/template/scripts/verify-yss-router-scenarios +51 -14
- package/template/skills-lock.json +25 -25
- package/template/wiki/raw/skills-lock.json +0 -15
- package/template/wiki/wiki/OpenAPI/345/245/221/347/272/246.md +1 -1
- package/template/wiki/wiki/YSS/345/267/245/347/250/213/346/212/200/350/203/275/344/275/223/347/263/273.md +1 -1
- package/template/yss-public-skills.json +5 -5
- package/template.snapshot.json +4 -4
- package/template/.agents/skills/yss-ddd-scaffold-generator/assets/templates/config/smart-doc.json.template +0 -17
- package/template/.agents/skills/yss-openapi/SKILL.md +0 -116
- package/template/.agents/skills/yss-openapi/agents/openai.yaml +0 -4
- package/template/.agents/skills/yss-openapi/img.png +0 -0
- package/template/.agents/skills/yss-openapi/img_1.png +0 -0
- package/template/.claude/skills/yss-ddd-scaffold-generator/assets/templates/config/smart-doc.json.template +0 -17
- package/template/.claude/skills/yss-openapi/SKILL.md +0 -116
- package/template/.claude/skills/yss-openapi/agents/openai.yaml +0 -4
- package/template/.claude/skills/yss-openapi/img.png +0 -0
- package/template/.claude/skills/yss-openapi/img_1.png +0 -0
- package/template/.codex/skills/yss-ddd-scaffold-generator/assets/templates/config/smart-doc.json.template +0 -17
- package/template/.codex/skills/yss-openapi/SKILL.md +0 -116
- package/template/.codex/skills/yss-openapi/agents/openai.yaml +0 -4
- package/template/.codex/skills/yss-openapi/img.png +0 -0
- package/template/.codex/skills/yss-openapi/img_1.png +0 -0
- package/template/.hermes/skills/yss-ddd-scaffold-generator/assets/templates/config/smart-doc.json.template +0 -17
- package/template/.hermes/skills/yss-openapi/SKILL.md +0 -116
- package/template/.hermes/skills/yss-openapi/agents/openai.yaml +0 -4
- package/template/.hermes/skills/yss-openapi/img.png +0 -0
- package/template/.hermes/skills/yss-openapi/img_1.png +0 -0
- package/template/.pi/skills/yss-ddd-scaffold-generator/assets/templates/config/smart-doc.json.template +0 -17
- package/template/.pi/skills/yss-openapi/SKILL.md +0 -116
- package/template/.pi/skills/yss-openapi/agents/openai.yaml +0 -4
- package/template/.pi/skills/yss-openapi/img.png +0 -0
- package/template/.pi/skills/yss-openapi/img_1.png +0 -0
- package/template/.qoder/skills/yss-ddd-scaffold-generator/assets/templates/config/smart-doc.json.template +0 -17
- package/template/.qoder/skills/yss-openapi/SKILL.md +0 -116
- package/template/.qoder/skills/yss-openapi/agents/openai.yaml +0 -4
- package/template/.qoder/skills/yss-openapi/img.png +0 -0
- package/template/.qoder/skills/yss-openapi/img_1.png +0 -0
- package/template/.trae/skills/yss-ddd-scaffold-generator/assets/templates/config/smart-doc.json.template +0 -17
- package/template/.trae/skills/yss-openapi/SKILL.md +0 -116
- package/template/.trae/skills/yss-openapi/agents/openai.yaml +0 -4
- package/template/.trae/skills/yss-openapi/img.png +0 -0
- package/template/.trae/skills/yss-openapi/img_1.png +0 -0
|
@@ -30,7 +30,7 @@ description: Use when a YSS vertical slice is entering implementation, spans mul
|
|
|
30
30
|
- API 变化必须回到生命周期 Draft/Review/Freeze;半成品 backend 不得冒充稳定 source of truth。
|
|
31
31
|
- 后端端到端切片必须包含 Application;对象/POJO 影响按契约自动补 `mapstruct`、`lombok`、`alibaba-java-code-style`。
|
|
32
32
|
- Harness 内实现路径必须落在 `apps/backend/<project>/` 或 `apps/frontend/<project>/` 的具体项目目录;`apps/backend/`、`apps/frontend/` 只能作为容器,`app/backend/`、`app/frontend/` 及其子路径一律阻断。外部实现仓库使用其登记的真实项目根路径。
|
|
33
|
-
- 当前用户、审计事件、普通技术日志、请求校验、错误映射或加解密命中时,必须按 `router-contract.yaml` 的 `component_impact_routing` 补齐长尾 skill;不能只在 `boundaries.md`
|
|
33
|
+
- 当前用户、审计事件、普通技术日志、请求校验、错误映射或加解密命中时,必须按 `router-contract.yaml` 的 `component_impact_routing` 补齐长尾 skill;不能只在 `boundaries.md` 中提及。仅复用已经验证的平台认证 / 授权能力不算 component impact,不自动增加权限专项 skill。
|
|
34
34
|
- 业务行为使用 `behavior-tdd`;只有机械脚手架/生成物可用 `controlled-generation`,并记录例外和验证。
|
|
35
35
|
- 原型确认后若 backend `scaffold_status=required`,先由本 Router 按 `scaffold_contract_schema` 编译 `yss-ddd-scaffold-generator` 的 `controlled-generation` 工作单元合同 draft;合同必须带 `contract_id`、`contract_version`、Router draft、生命周期批准、持久化引用、允许写路径、预期证据和验证命令。经生命周期编排器批准并持久化后才能运行生成器,再由受控工作单元实际执行固定的 `./mvnw validate`、`./mvnw test`、`./mvnw package` 并记录逐条结果,随后加载 `yss-backend-scaffold-parent` 并重新编译业务合同;脚手架不承载业务行为。
|
|
36
36
|
- 脚手架合同在 Router 阶段只能是 `draft` / `ready-for-lifecycle-review` / `blocked`;只有生命周期编排器可以把已持久化脚手架合同标记为 `approved`。脚手架合同只覆盖业务代码前的工程骨架工作单元;生成、基线校验和 Router 重编译完成后,它不能替代脚手架后的 Slice Implementation Contract。
|
|
@@ -42,7 +42,7 @@ description: Use when a YSS vertical slice is entering implementation, spans mul
|
|
|
42
42
|
|
|
43
43
|
- 切片基线路由:生成完整合同和技能闭包。
|
|
44
44
|
- 工作单元增量路由:绑定一个行为、主/辅 skills、TDD 模式、路径和证据。
|
|
45
|
-
- 完整重路由:API/schema
|
|
45
|
+
- 完整重路由:API/schema、状态机、数据模型、仓库、写路径、skill、测试 seam 或架构约束发生实质变化时触发。实现中出现未冻结的新行为(包括明确的权限业务行为)统一写入 `new_impacts`,由生命周期按普通影响面重新分诊。
|
|
46
46
|
|
|
47
47
|
## 输出
|
|
48
48
|
|
|
@@ -20,7 +20,7 @@ subcontract_statuses: [required, not-applicable]
|
|
|
20
20
|
|
|
21
21
|
readiness:
|
|
22
22
|
common: [spec, slice_ticket, architecture_review, build_architecture_checklist, implementation_repository, verification_commands]
|
|
23
|
-
ui_impact: [requirement_freeze, low_fidelity_review, high_fidelity_html, antd_cli_evidence, prototype_confirmation]
|
|
23
|
+
ui_impact: [requirement_freeze, low_fidelity_review, prototype_review, high_fidelity_html, prototype_verification, antd_cli_evidence, browser_verification_evidence, prototype_confirmation]
|
|
24
24
|
api_impact: [openapi_freeze]
|
|
25
25
|
no_api_impact: [no_api_impact_record]
|
|
26
26
|
data_impact: [data_architecture]
|
|
@@ -33,13 +33,13 @@ routing_input_required:
|
|
|
33
33
|
- lifecycle
|
|
34
34
|
- implementation
|
|
35
35
|
- acceptance
|
|
36
|
-
impact_flags_required: [ui_impact, api_impact, no_api_impact, data_impact, backend_impact, cross_repo]
|
|
36
|
+
impact_flags_required: [ui_impact, api_impact, no_api_impact, data_impact, backend_impact, cross_repo, existing_frozen_baseline]
|
|
37
37
|
exclusive_flags:
|
|
38
38
|
- [api_impact, no_api_impact]
|
|
39
39
|
|
|
40
40
|
slice_contract_required:
|
|
41
41
|
root: [schema_version, contract_id, contract_version, slice_id, status, lifecycle_refs, readiness, common, frontend, backend, contract, cross_repo, work_units]
|
|
42
|
-
lifecycle_refs: [spec, ticket, requirement_freeze, low_fidelity_review, high_fidelity_html, antd_cli_evidence, prototype_confirmation, openapi_freeze_or_no_impact, architecture_review, data_architecture, engineering_baseline, build_architecture_checklist, implementation_repository, frontend_repository, backend_repository, maven_wrapper]
|
|
42
|
+
lifecycle_refs: [spec, ticket, requirement_freeze, low_fidelity_review, prototype_review, high_fidelity_html, prototype_verification, antd_cli_evidence, browser_verification_evidence, prototype_confirmation, openapi_freeze_or_no_impact, architecture_review, data_architecture, engineering_baseline, build_architecture_checklist, implementation_repository, frontend_repository, backend_repository, maven_wrapper]
|
|
43
43
|
readiness: [blockers, stale_inputs, not_applicable]
|
|
44
44
|
common: [impacted_areas, implementation_path_policy, project_roots, required_skills, optional_skills, unavailable_skills, allowed_write_paths, forbidden_patterns, expected_evidence_files, verification_commands, human_review_points, full_reroute_triggers]
|
|
45
45
|
frontend: [status, required_skills, approved_prototype_ref, state_matrix_ref, allowed_write_paths, component_test_seams, e2e_paths]
|
|
@@ -55,8 +55,11 @@ lifecycle_ref_by_readiness:
|
|
|
55
55
|
implementation_repository: implementation_repository
|
|
56
56
|
requirement_freeze: requirement_freeze
|
|
57
57
|
low_fidelity_review: low_fidelity_review
|
|
58
|
+
prototype_review: prototype_review
|
|
58
59
|
high_fidelity_html: high_fidelity_html
|
|
60
|
+
prototype_verification: prototype_verification
|
|
59
61
|
antd_cli_evidence: antd_cli_evidence
|
|
62
|
+
browser_verification_evidence: browser_verification_evidence
|
|
60
63
|
prototype_confirmation: prototype_confirmation
|
|
61
64
|
openapi_freeze: openapi_freeze_or_no_impact
|
|
62
65
|
no_api_impact_record: openapi_freeze_or_no_impact
|
|
@@ -91,7 +94,7 @@ scaffold_contract_schema:
|
|
|
91
94
|
work_unit:
|
|
92
95
|
required: [id, behavior, primary_skill, supporting_skills, tdd_mode, allowed_write_paths, expected_evidence, verification_commands, controlled_generation]
|
|
93
96
|
generation_boundary:
|
|
94
|
-
allowed_for: [project_scaffold, pom, mechanical_config, wrapper
|
|
97
|
+
allowed_for: [project_scaffold, pom, mechanical_config, wrapper]
|
|
95
98
|
forbidden_when: [business_behavior, business_fields, business_state, permission, transaction, complex_query, error_mapping, business_example_crud]
|
|
96
99
|
verification:
|
|
97
100
|
commands: ["./mvnw validate", "./mvnw test", "./mvnw package"]
|
|
@@ -147,7 +150,7 @@ dependency_closure:
|
|
|
147
150
|
when_form: [yss-formily]
|
|
148
151
|
when_api: [api-integration]
|
|
149
152
|
api-integration:
|
|
150
|
-
when_regeneration: [yss-openapi]
|
|
153
|
+
when_regeneration: [yss-openapi-governance]
|
|
151
154
|
|
|
152
155
|
component_impact_values:
|
|
153
156
|
- current-user-context
|
|
@@ -191,7 +194,6 @@ full_reroute_triggers:
|
|
|
191
194
|
- scaffold-baseline-drift
|
|
192
195
|
- api-schema-impact
|
|
193
196
|
- database-schema-impact
|
|
194
|
-
- permission-impact
|
|
195
197
|
- state-machine-impact
|
|
196
198
|
- data-model-impact
|
|
197
199
|
- new-write-path
|
|
@@ -209,7 +211,6 @@ reroute_destinations:
|
|
|
209
211
|
scaffold-baseline-drift: stage7-scaffold-revalidation
|
|
210
212
|
api-schema-impact: system-data-architecture-and-contract-review
|
|
211
213
|
database-schema-impact: data-architecture-and-migration-review
|
|
212
|
-
permission-impact: spec-product-design-and-contract-review
|
|
213
214
|
state-machine-impact: spec-system-data-and-contract-review
|
|
214
215
|
data-model-impact: data-architecture-and-contract-review
|
|
215
216
|
new-write-path: stage7-contract-recompile
|
|
@@ -242,7 +243,7 @@ execution_result_required:
|
|
|
242
243
|
- deviations
|
|
243
244
|
- new_impacts
|
|
244
245
|
- not_applicable_reason
|
|
245
|
-
seam_deferred_required: [risk, owner, follow_up_ticket, verification_plan]
|
|
246
|
+
seam_deferred_required: [risk, owner, follow_up_ticket, verification_plan, target_version_or_release_date]
|
|
246
247
|
deviation_required: [rule, reason, approval_ref]
|
|
247
248
|
not_applicable_required: [item, reason]
|
|
248
249
|
unavailable_skill_required: [skill, provider, fallback, resolution]
|
|
@@ -14,8 +14,11 @@ slice_contract:
|
|
|
14
14
|
ticket:
|
|
15
15
|
requirement_freeze:
|
|
16
16
|
low_fidelity_review:
|
|
17
|
+
prototype_review:
|
|
17
18
|
high_fidelity_html:
|
|
19
|
+
prototype_verification:
|
|
18
20
|
antd_cli_evidence:
|
|
21
|
+
browser_verification_evidence:
|
|
19
22
|
prototype_confirmation:
|
|
20
23
|
openapi_freeze_or_no_impact:
|
|
21
24
|
architecture_review:
|
|
@@ -107,4 +110,4 @@ work_unit:
|
|
|
107
110
|
behavior_tests_after_generation: []
|
|
108
111
|
```
|
|
109
112
|
|
|
110
|
-
`controlled_generation` 仅在 `tdd_mode: controlled-generation` 时必填;其他模式标记 `not-applicable
|
|
113
|
+
`controlled_generation` 仅在 `tdd_mode: controlled-generation` 时必填;其他模式标记 `not-applicable`。明确写入需求的权限业务行为仍使用 `behavior-tdd`;API schema 与 database schema 分别触发契约或数据架构回退,不得用一个含糊的 schema 类型决定路线。
|
|
@@ -33,6 +33,7 @@ execution_result:
|
|
|
33
33
|
owner:
|
|
34
34
|
follow_up_ticket:
|
|
35
35
|
verification_plan:
|
|
36
|
+
target_version_or_release_date:
|
|
36
37
|
deviations:
|
|
37
38
|
- rule:
|
|
38
39
|
reason:
|
|
@@ -51,7 +52,7 @@ Router 必须验证:
|
|
|
51
52
|
2. `changed_files` 全部位于工作单元和切片允许路径内。
|
|
52
53
|
3. `expected_evidence_files` 全部存在并能回指行为。
|
|
53
54
|
4. 验证命令包含实际结果和时间;计划命令不算证据。
|
|
54
|
-
5. `seam_deferred` 有风险、责任人、补齐 Ticket
|
|
55
|
+
5. `seam_deferred` 有风险、责任人、补齐 Ticket、验证计划和目标版本 / 发布日期。
|
|
55
56
|
6. `new_impacts` 非空时暂停并重路由。
|
|
56
57
|
7. `drift` 触发 Architecture Re-check;`violation` 阻断 build。
|
|
57
58
|
8. `status: not-applicable` 必须填写 `not_applicable_reason`;其他状态保留字段但可为空。
|
package/template/AGENTS.md
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
| ----------------------- | ------------------------------------------- |
|
|
19
19
|
| 领域与流程词汇 | `CONTEXT.md` |
|
|
20
20
|
| Agent 入口、硬门禁、禁止事项 | `AGENTS.md` |
|
|
21
|
-
|
|
|
21
|
+
| 主阶段、门禁、产物、工作单元、证据和稳定 ID | `docs/process/lifecycle-registry.yaml`;`docs/process/lifecycle-artifact-map.md` 为派生阅读视图 |
|
|
22
22
|
| 影响面触发与 `not-applicable` | `docs/process/harness-process-tailoring.md` |
|
|
23
23
|
| 技能清单、来源、版本、哈希和投影目标 | `skills-lock.json` |
|
|
24
24
|
| | |
|
|
@@ -65,7 +65,9 @@ README、用户指南和其他说明文档只引用或解释上述事实,不
|
|
|
65
65
|
|
|
66
66
|
执行原则:
|
|
67
67
|
|
|
68
|
-
-
|
|
68
|
+
- 生命周期注册表中的条件门禁全部按影响面强制。命中触发条件时必须完成;未命中时只记录 `not-applicable` 及原因,不生成空文档;不得把产物、工作单元或证据统称为门禁。
|
|
69
|
+
- 安全 / 权限不设独立生命周期资料或专属门禁。日常功能不做额外登记、`not-applicable` 或推导校验;只有需求或冻结资产明确要求改变认证、授权、租户隔离、敏感数据或合规行为时,才把该行为写入普通 Spec、API、架构、验收和测试 seam,并仅按实际 UI、API、Backend、Data、High-risk 影响触发既有门禁。普通 action 注册、沿用既有认证中间件、未变化的 `401` / `403`、一般字段、SQL / DDL / 迁移和上传 / 下载本身不构成安全 / 权限专项。
|
|
70
|
+
- `seam-deferred` 只能显式记录风险、责任人、后续 Ticket、验证计划和目标版本或发布日期。
|
|
69
71
|
- 新功能或较大变更先用 `grill-with-docs` 澄清,再用 `to-spec` 形成 Spec。
|
|
70
72
|
- 只要进入 Spec 基线,必须产出产品总体设计或功能架构;只有 UI 变化触及主流程、导航、权限体验、异常 / 恢复状态、状态流转或 API 反推时,才构成产品设计影响并强制低保真页面草图、状态矩阵、Ant Design v6 高保真 HTML 原型和用户确认。文案、token、颜色、间距和无行为变化的孤立视觉修复记录 `not-applicable`。
|
|
71
73
|
- API 契约变更先形成 OpenAPI 3.1 Draft,经必要的工程基线、系统 / 数据架构和设计审查后 Freeze,再进入实现。
|
|
@@ -88,10 +90,10 @@ README、用户指南和其他说明文档只引用或解释上述事实,不
|
|
|
88
90
|
1. 确认受影响的 frontend / backend 工程是 `existing`、`required` 还是 `initialized`,并登记实现仓库、分支、CI、验证命令和回滚点。
|
|
89
91
|
2. 无可复用工程时,先确认外部目标仓库或输出目录,再分别使用 `yss-ddd-scaffold-generator` / `yss-frontend-scaffold-generator`;不因当前仓库缺少 frontend / backend 目录而绕过脚手架路由。
|
|
90
92
|
3. 原型确认后,若 backend 为 `scaffold_status=required`,先由 `yss-router` 编译结构化脚手架受控生成工作单元合同,经生命周期编排器批准并持久化为合同 JSON 后,才使用 `yss-ddd-scaffold-generator` 读取该文件生成骨架;随后由受控工作单元实际执行项目根目录的 `./mvnw validate`、`./mvnw test`、`./mvnw package` 并记录逐条结果,再用 `yss-backend-scaffold-parent` 做工程基线校验并重新进入 Router;不得在合同批准前、脚手架前或脚手架内写业务代码。
|
|
91
|
-
4. 使用 `yss-router` 选择最小 YSS skill 集合。后端领域、Application、Repository / Gateway、Web / DTO 分别路由到对应 YSS skill;涉及 POJO 样板或对象转换时必须加载 `lombok`、`mapstruct` 和 `alibaba-java-code-style
|
|
93
|
+
4. 使用 `yss-router` 选择最小 YSS skill 集合。后端领域、Application、Repository / Gateway、Web / DTO 分别路由到对应 YSS skill;涉及 POJO 样板或对象转换时必须加载 `lombok`、`mapstruct` 和 `alibaba-java-code-style`。复用已验证的平台认证 / 授权能力本身不增加专项 skill;只有真实触碰当前用户、审计、加密、权限行为或安全边界时才增加对应路由。
|
|
92
94
|
5. 所有正式垂直切片必须先由 `yss-router` 编译 Slice Implementation Contract 草案,再由生命周期编排器核验并持久化;合同至少包含 Common、Frontend、Backend、Contract、Cross-repo 子合同、工作单元、TDD 模式、允许写路径、禁止模式、证据和验证命令。Router 不得自行批准合同或设置 `ready-for-agent`。
|
|
93
95
|
6. 后端切片必须在统一合同中补齐 Backend Slice Implementation Contract,至少包含 `required_skills`、`allowed_write_paths`、`forbidden_patterns`、`expected_evidence_files`、`seam_deferred`、`verification_commands`。
|
|
94
|
-
7. 把系统 / 数据架构、ADR、工程基线、OpenAPI Freeze 和风险 / 回滚约束转译为 Build Architecture Checklist
|
|
96
|
+
7. 把系统 / 数据架构、ADR、工程基线、OpenAPI Freeze 和风险 / 回滚约束转译为 Build Architecture Checklist。明确写入需求的权限业务行为仍使用 `behavior-tdd`,且不放宽 `controlled-generation` 的禁止范围。
|
|
95
97
|
8. 脚手架输出消费批准的脚手架合同;所有后续生成的后端代码都必须消费批准且版本当前的 Slice Implementation Contract、YSS skill 依赖闭包、允许写路径、预期证据和 YSS Skill Execution Result;业务行为只能使用 `behavior-tdd`,路径越界、证据缺失、未执行验证、`drift`、`violation` 或 `new_impacts` 阻断继续实现或触发重路由。
|
|
96
98
|
|
|
97
99
|
禁止绕过上述合同、检查清单或专项 skill,直接在 `AGENTS.md` 中自行发明细则。详细实现约束以 YSS skills、`docs/process/implementation-repo-integration.md` 和对应模板为准。
|
|
@@ -102,7 +104,7 @@ README、用户指南和其他说明文档只引用或解释上述事实,不
|
|
|
102
104
|
|---|---|
|
|
103
105
|
| 技术事实、标准、第三方 API 或框架行为影响决策 | `research` 或等价的一手资料记录 |
|
|
104
106
|
| 竞品、市场或用户口碑事实 | `competitive-intelligence` |
|
|
105
|
-
| UI 设计、原型、组件或主题 | `yss-design-system`
|
|
107
|
+
| UI 设计、原型、组件或主题 | `yss-design-system` 后使用 `yss-prototype-stage`;Codex 再路由 `product-design:index`,其他 Agent 交付等价合同资产;产出前后用 `antd` CLI 记录 Ant Design v6 与浏览器验证事实 |
|
|
106
108
|
| Bug、测试失败或性能回退 | `diagnosing-bugs` 建立可复现反馈,再用 `tdd` |
|
|
107
109
|
| merge / rebase 冲突 | `resolving-merge-conflicts` |
|
|
108
110
|
| 架构治理、难测模块或深模块设计 | `improve-codebase-architecture` / `codebase-design` |
|
package/template/CONTEXT.md
CHANGED
|
@@ -30,12 +30,26 @@
|
|
|
30
30
|
| ADR | 架构决策记录,用于沉淀难以回滚、非显而易见且存在真实取舍的技术决策。 | 常规实现选择不要写 ADR。 |
|
|
31
31
|
| Fresh Verification | 完成前重新执行的验证证据,包括测试命令、契约校验、关键路径检查或人工审查结论。 | 不等同于“之前跑过”或实现者自述。 |
|
|
32
32
|
| 测试质量基线 | 项目实例明确采纳的覆盖率阈值、关键流程清单和受控例外。 | 模板推荐值本身不构成可执行门禁;未定义关键流程时,不得声称其 E2E 覆盖率达到 100%。 |
|
|
33
|
-
|
|
|
33
|
+
| 主阶段 | 对相邻研发目标、工作单元和退出条件的粗粒度生命周期分组。 | 不等同于门禁编号,也不因增加门禁而自动增加主阶段。 |
|
|
34
|
+
| 生命周期门禁(条件强制门禁) | 只有当影响面命中触发条件时才必须裁决的生命周期审查点。 | 未触发时记录 `not-applicable` 及原因,不生成空文档;门禁不是产物、工作单元或证据的统称。 |
|
|
35
|
+
| 生命周期产物 | 生命周期工作单元形成并持久化、可被审查和引用的业务或工程结果。 | 文件存在不代表产物已经批准或仍然新鲜。 |
|
|
36
|
+
| 工作单元 | 具有明确输入、输出、允许动作和完成条件的一次有界执行。 | 不等同于主阶段或门禁;一个主阶段可以包含多个工作单元。 |
|
|
37
|
+
| 执行证据 | 用于证明工作单元结果、门禁裁决或完成结论的可读取引用和实际验证记录。 | 口头声明、计划执行的命令或无法解析的引用不构成执行证据。 |
|
|
34
38
|
| 单一事实来源(Single Source of Truth) | 对某一类流程事实拥有唯一定义权的权威资产。 | 其他资产只引用或解释,不重复定义同一规则。 |
|
|
35
39
|
| 流程模板资产 | 可被不同项目复用的文档模板、技能说明、校验脚本、流程规范和目录占位文件。 | 不包含某个具体产品的 Spec、设计、OpenAPI 或 Ticket。 |
|
|
36
40
|
| 模板维护流程 | 用于评估影响、修改权威资产、同步投影、执行压力验证并审查模板演进的工作流。 | 面向模板源仓库,不默认生成具体产品的 Spec、原型、OpenAPI 或垂直切片 Ticket。 |
|
|
37
41
|
| 模板发布门禁 | 模板源发布前必须通过的结构、技能同步、流程语义和压力场景验证集合。 | 不等同于只检查文件存在、Markdown 链接或 YAML 语法。 |
|
|
38
42
|
| Harness 工程 | 串联研发生命周期阶段、门禁、产物、Agent/Skill 编排和追踪证据的工程化治理载体。 | 不等同于单个 CI 流水线或零散提示词集合。 |
|
|
43
|
+
| YSS 研发操作系统 | 由生命周期控制、通用工作流、YSS 专项技能、证据反馈和技能供应链共同构成的可版本化研发治理体系。 | 不等同于单个主控 skill、某个 Agent 客户端或运行时代码平台。 |
|
|
44
|
+
| 生命周期注册表 | 结构化定义主阶段、门禁、产物、工作单元、证据及其稳定标识和关系的机器可读权威资产。 | Markdown 地图、数量说明和验证 fixture 是其派生产物,不应分别维护同一结构事实。 |
|
|
45
|
+
| 生命周期稳定 ID | 以对象类型命名空间和英文标识唯一指向一个生命周期对象的兼容身份。 | 中文名称、展示顺序和数量可以变化;已发布 ID 不得复用来表达另一种语义。 |
|
|
46
|
+
| 派生产物 | 根据生命周期注册表确定性生成的结构表、数量、索引、依赖图或测试 fixture。 | 不承载需要人工解释的原理、取舍或实践建议,禁止脱离注册表分别维护。 |
|
|
47
|
+
| 核心技能(Core Skill) | 默认可发现、负责生命周期控制或通用研发入口的稳定技能。 | 不包含只在特定技术影响下才需要的专项实现规则。 |
|
|
48
|
+
| 专项技能(Specialist Skill) | 由 Router 根据影响面和实现合同按需选择的前端、后端、OpenAPI 或组件技能。 | 不作为所有任务的平级默认入口。 |
|
|
49
|
+
| 试验 / 兼容技能 | 尚未达到默认支持成熟度,或仅为旧流程迁移保留的受限技能。 | 必须显式授权使用,不得进入 Router 默认技能闭包。 |
|
|
50
|
+
| 技能成熟度 | 描述技能从 `draft`、`verified`、`supported` 到 `deprecated` 的治理状态。 | 不等同于文件存在、已被投影或能够安装。 |
|
|
51
|
+
| 技能注册表 | 记录技能身份、别名、分层、适用影响面、成熟度、新鲜度、验证和公开状态的机器可读路由资产。 | 不替代 `skills-lock.json` 的来源、hash 和投影完整性职责。 |
|
|
52
|
+
| 生态发布清单 | 关联模板 schema 与 commit、CLI 版本与快照、公开技能来源与导出 hash 的跨仓发布证据。 | 不要求尚未生成的仓库 commit 互相循环引用。 |
|
|
39
53
|
| 研发管理仓库 | 承载 Spec、OpenAPI、架构、Ticket、验证、发布和复盘等研发管理资产的仓库。 | 不等同于前端 / 后端代码 monorepo。 |
|
|
40
54
|
| 实现仓库 | 承载前端、后端或其他运行时代码及其 Git、CI、MR / PR、测试命令和发布流水线的仓库。 | 不要把实现仓库的源码所有权混入研发管理仓库。 |
|
|
41
55
|
| 跨仓库契约变更 | 需要两个或多个独立仓库协同实现、验证和按顺序发布的共享契约变化。 | 任一参与仓库未完成契约对齐和集成验证时,不得单独声称整体可发布。 |
|
package/template/README.md
CHANGED
|
@@ -105,7 +105,8 @@ scripts/verify-template
|
|
|
105
105
|
| [docs/user-guide/图示生成器使用指南.md](./docs/user-guide/图示生成器使用指南.md) | Excalidraw 可视化辅助 skill 使用手册 |
|
|
106
106
|
| [docs/process/PDCA-SCRUM.md](./docs/process/PDCA-SCRUM.md) | PDCA × Scrum × AI |
|
|
107
107
|
| [docs/process/MATT-POCOCK-ENGINEERING-SKILLS.md](./docs/process/MATT-POCOCK-ENGINEERING-SKILLS.md) | Matt Pocock Engineering Skills 集成与使用 |
|
|
108
|
-
| [docs/process/
|
|
108
|
+
| [docs/process/lifecycle-registry.yaml](./docs/process/lifecycle-registry.yaml) | 生命周期结构事实源:主阶段、门禁、产物、工作单元、证据与稳定 ID |
|
|
109
|
+
| [docs/process/harness-work-unit-map.md](./docs/process/harness-work-unit-map.md) | 由生命周期注册表派生的 Harness 工作单元地图 |
|
|
109
110
|
| [docs/process/harness-process-tailoring.md](./docs/process/harness-process-tailoring.md) | 小改动 / 中等变更 / 新模块的流程裁剪指南 |
|
|
110
111
|
| [docs/process/harness-executive-blueprint.md](./docs/process/harness-executive-blueprint.md) | 面向业务方和管理者的 Harness 一页式蓝图 |
|
|
111
112
|
| [docs/process/harness-optimization-backlog.md](./docs/process/harness-optimization-backlog.md) | Harness 工程优化调整待办 |
|
|
@@ -41,6 +41,10 @@ docs/process/*
|
|
|
41
41
|
!docs/process/templates/
|
|
42
42
|
!docs/process/templates/stage-checkpoint-template.md
|
|
43
43
|
!docs/process/lifecycle-artifact-map.md
|
|
44
|
+
!docs/process/lifecycle-registry.yaml
|
|
45
|
+
!docs/process/lifecycle-registry-baseline.json
|
|
46
|
+
!docs/process/schemas/
|
|
47
|
+
!docs/process/schemas/lifecycle-registry.schema.json
|
|
44
48
|
!docs/process/harness-process-tailoring.md
|
|
45
49
|
!docs/process/implementation-repo-integration.md
|
|
46
50
|
!docs/process/subagent-collaboration.md
|
|
@@ -48,7 +48,7 @@ YSS Harness 需要把有 UI 功能的产品原型产出收敛到一个稳定入
|
|
|
48
48
|
## 相关
|
|
49
49
|
|
|
50
50
|
- `AGENTS.md`
|
|
51
|
-
- `docs/
|
|
51
|
+
- `docs/design/README.md`
|
|
52
52
|
- `docs/process/lifecycle-artifact-map.md`
|
|
53
53
|
- `docs/design/README.md`
|
|
54
54
|
- `docs/design/templates/prototype-confirmation-template.md`
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# ADR-0003: 使用机器可读生命周期注册表作为结构化事实源
|
|
2
|
+
|
|
3
|
+
> 状态:部分实施(Phase 1)。本次发布只接受注册表、稳定 ID、结构表和工作单元表的 shadow 校验;数量、索引、依赖图和测试 fixture 的完整生成属于后续提案,未实现前不得作为模板发布能力宣称。
|
|
4
|
+
|
|
5
|
+
YSS 研发操作系统当前在 Markdown 生命周期地图、主控 skill、机器契约、用户指南和场景测试中重复表达阶段、门禁、产物与工作单元,已经出现门禁数量和工作单元数量漂移。Phase 1 引入生命周期注册表,集中保存这些结构事实及稳定标识,并由它派生当前 Markdown 结构表;Markdown 继续承担人工解释和审查,ADR 继续记录取舍,业务语义不被压缩成难读的配置。数量、索引、依赖图和测试 fixture 的自动生成必须在独立 Phase 中与生成器和校验器一并落地,不能只通过 ADR 宣告完成。
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# ADR-0004: 分离生命周期注册域与 Router 合同域并迁移到 schema v2
|
|
2
|
+
|
|
3
|
+
> 状态:proposed。当前仅有 `schema_version: 1` 的生命周期结构注册表 shadow 校验;v2 迁移尚未实施。
|
|
4
|
+
|
|
5
|
+
生命周期控制和实现合同编译具有不同的变化频率与责任边界,因此拟采用一套逻辑治理体系下的两个结构化职责域:生命周期注册域定义主阶段、门禁、产物、工作单元、证据、状态迁移和人工交互,Router 合同域定义实现子合同、技能闭包、写路径与验证约束,两者只通过稳定 ID 引用。后续 schema v2 迁移应提供 v1/v2 读取、dry-run 迁移和冲突时 fail closed;验证通过后才允许只写 v2,并保留来源版本、迁移证据和回滚引用。在上述运行时资产与迁移验证落地前,本 ADR 不构成已完成的发布能力。
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# ADR-0005: 使用生态发布清单协调模板、CLI 与公开技能
|
|
2
|
+
|
|
3
|
+
> 状态:proposed。生态发布清单、schema 与跨仓闭合校验尚未实现;当前发布只可声明模板仓库和 CLI 固定模板快照的双仓验证,不得宣称模板、CLI 与公开技能已形成生态级可发布闭环。
|
|
4
|
+
|
|
5
|
+
YSS 研发操作系统跨模板仓库、`create-yss-spec` 和公开技能仓库发布,单仓测试通过不能证明整体版本一致。提案是在后续 Phase 使用生态发布清单关联生命周期 schema、Matt snapshot、模板 commit/tree hash、CLI version/固定模板快照和公开技能来源 commit/导出 hash,并要求发布校验闭合这些引用;各仓只记录发布时已经存在的上游身份,避免循环引用未来 commit。该设计增加了发布记录和集成验证成本,但在 manifest、schema、校验器和跨仓测试同时落地前不构成当前发布门禁。
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# ADR-0006: 使用稳定命名空间 ID 并派生生命周期结构资产
|
|
2
|
+
|
|
3
|
+
> 状态:部分实施(Phase 1)。稳定 ID、发布基线和两份结构视图已受管;索引、依赖图和测试 fixture 的完整生成属于后续提案,未实现前不得把人工维护的场景断言称为派生产物。
|
|
4
|
+
|
|
5
|
+
生命周期对象的中文名称、展示顺序和数量会随流程演进而变化,不能继续用“第几个门禁”或表格行数作为兼容身份。Phase 1 为主阶段、门禁、产物、工作单元和证据分别使用 `stage.*`、`gate.*`、`artifact.*`、`work-unit.*`、`evidence.*` 稳定 ID,并由 `docs/process/lifecycle-registry.yaml` 生成当前结构表;用户指南、ADR 和实践说明继续人工维护并引用稳定 ID。数量、索引、依赖图和测试 fixture 必须在后续 Phase 通过同一生成器和 `--check` 一并交付。已发布 ID 不复用,语义变化通过弃用记录和 schema 迁移表达,以牺牲直接编辑派生表格的便利换取跨版本引用稳定性。
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
# ADR-0007: 分离技能路由注册表与完整性锁
|
|
2
|
+
|
|
3
|
+
> 状态:proposed。`docs/agents/yss-skill-registry.yaml`、schema、Router 消费与校验尚未实现;当前 Router 仍以 `router-contract.yaml` 和 `skills-lock.json` 的既有职责边界运行,不得把本 ADR 作为已生效的运行时入口规则。
|
|
4
|
+
|
|
5
|
+
`skills-lock.json` 负责技能来源、hash 和投影完整性,而生命周期阶段、影响面、Core/Specialist 分层、成熟度、新鲜度和 Router 默认可用性属于产品路由语义。提案是在后续 Phase 于 `docs/agents/yss-skill-registry.yaml` 中维护后者,并让每个 Agent 运行时只发现一个平台投影根;canonical `.agents/skills` 继续作为内容权威,但不与平台投影同时形成同权运行时入口。该分离增加了一份受 schema 校验的注册资产,却避免完整性锁不断吸收路由策略,也减少同名双入口和“能够安装即等于受支持”的歧义;在注册资产和 Router 消费尚未交付时,不能把该分离视为既有事实。
|
|
@@ -59,6 +59,7 @@ docs/.scratch/<feature>/
|
|
|
59
59
|
- 评论和对话追加在 `## Comments` 下;状态变化必须保留原因、证据引用和下一步。
|
|
60
60
|
- Wayfinder 的临时子问题可以沿用 Matt 的 `Status: claimed/resolved` 工作状态;它不是交付 Ticket 的五态角色,进入正式切片前必须转换为上述五态之一。
|
|
61
61
|
- Local 主 tracker 不要求远程 Ticket 存在;`ready-for-agent` 仍必须满足生命周期门禁、阻塞边关闭、实现上下文和 Slice Implementation Contract 要求。
|
|
62
|
+
- YSS active 调用 `to-tickets` 时,新建垂直切片的初始 `Status:` 固定为 `ready-for-human`;只有生命周期编排器核验完整就绪公式后才能改为 `ready-for-agent`。
|
|
62
63
|
- GitHub / GitLab 可以作为显式开启的镜像,在功能包中记录 URL、编号和最近同步时间;镜像失败不改变 Local 主 tracker 的权威性。
|
|
63
64
|
- 根目录 `.scratch/` 与 `docs/requirements/tickets/` 是旧路径,只允许用于只读迁移检查;不再作为新 Ticket 或阶段证据的写入目录。
|
|
64
65
|
- 仅发现旧路径资产时,readiness 不得进入 `ready`,必须保留 `migration_ref` 并先完成迁移;新旧路径同时存在时返回 `conflict`,不得静默覆盖或合并。
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# OpenAPI Draft 契约评审清单
|
|
2
2
|
|
|
3
3
|
> 用于 API 影响分析 / 契约草案 / OpenAPI Draft 进入 Engineering Baseline / YSS DDD Review 之前。
|
|
4
|
-
> OpenAPI Draft 在 OpenAPI Freeze
|
|
4
|
+
> OpenAPI Draft 在 OpenAPI Freeze 前仅用于评审和架构反审,不得作为前后端实现或生成客户端的稳定契约。`<feature>.yaml` 必须是唯一权威的单一 OAS 3.1 YAML document;JSON 只能在 Freeze 后由受锁定工具派生。
|
|
5
5
|
> 评审采用阻断项闭环:阻断项未关闭前,不进入架构 / 系统 / 数据架构设计。
|
|
6
6
|
|
|
7
7
|
## 输入资产
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
|
|
24
24
|
## P0 追踪矩阵
|
|
25
25
|
|
|
26
|
-
| P0 需求 / 页面动作 | Endpoint / Non-goal | Request | Response | Error |
|
|
26
|
+
| P0 需求 / 页面动作 | Endpoint / Non-goal | Request | Response | Error | actionKey / 显式认证授权行为 | Concurrency / Idempotency | Contract Test | 结论 |
|
|
27
27
|
|---|---|---|---|---|---|---|---|---|
|
|
28
28
|
| | | | | | | | | |
|
|
29
29
|
|
|
@@ -33,18 +33,20 @@
|
|
|
33
33
|
|---|---|---|---|
|
|
34
34
|
| Draft 成熟度 | 明确当前仅为 review-only;实现、生成 client、契约测试固化均等待 OpenAPI Freeze | | |
|
|
35
35
|
| OpenAPI 语法 | YAML、`$ref`、path 参数、lint 通过 | | |
|
|
36
|
+
| YAML 权威性 | 单一 OAS 3.1 document;未混入生命周期 frontmatter / 根字段;`operationId` 稳定 | | |
|
|
36
37
|
| P0 覆盖 | 每个 P0 需求有 endpoint/schema/error/test 或明确非目标 | | |
|
|
37
38
|
| 产品总体设计完整 | Draft 已依据 Spec 和产品总体设计 / 功能架构;缺产品总体设计时返回上游补齐 | | |
|
|
38
39
|
| 交互输入完整 | 有 UI 时,Draft 已同时依据交互说明、原型/线框、状态矩阵、prototype-review、Ant Design v6 高保真 HTML 原型、AntD CLI 校验证据和用户确认记录;无 UI 时需说明页面 / 交互资产不适用原因 | | |
|
|
39
40
|
| DDD 契约边界 | Endpoint/schema 归属的限界上下文清楚;术语与 `CONTEXT.md` 和功能架构一致;契约不直接暴露内部聚合、Repository 或持久化表结构 | | |
|
|
40
|
-
| 页面动作覆盖 | 每个按钮 / 抽屉 / 弹窗动作有 endpoint/non-goal、`actionKey
|
|
41
|
+
| 页面动作覆盖 | 每个按钮 / 抽屉 / 弹窗动作有 endpoint/non-goal、`actionKey` 和错误码;Spec 明确认认证 / 授权变化时同时映射该行为 | | |
|
|
41
42
|
| 对象生命周期 | manage/maintain/configure/create/update/archive/retry/cancel/publish/export/create-draft 语义闭环 | | |
|
|
42
43
|
| YSS 响应包装 | 单对象 `SingleResult<T>`;列表 `MultiResult<T>`;分页 `PageResult<T>` | | |
|
|
43
|
-
|
|
|
44
|
+
| 显式认证 / 授权行为 | 仅当 Spec 明确改变相关行为时,`401` / `403`、资源过滤和错误语义有契约表示 | | 未明确改变时不适用且无需额外记录 |
|
|
44
45
|
| 错误结构 | 模型级、字段级、行级错误可定位;关键 422 有 examples | | |
|
|
45
46
|
| 乐观锁 / 幂等 | 草稿写入有 draftVersion;关键命令有幂等键 | | |
|
|
46
|
-
| 风险 / 人工确认项 |
|
|
47
|
-
| 契约测试 |
|
|
47
|
+
| 风险 / 人工确认项 | 仅记录 Spec 或既有高风险分类已经明确的事项,不因 SQL / DDL、上传 / 下载或一般字段自动新增安全项 | | |
|
|
48
|
+
| 契约测试 | 导入、覆盖率、检查、评审、发布、导出和冲突场景可测;显式认证 / 授权行为按需加入 | | |
|
|
49
|
+
| JSON 派生准备 | 明确仅在 Freeze 后用锁定 Redocly CLI 生成 JSON;输出记录、SHA 和下游既有输入路径已定义 | | |
|
|
48
50
|
|
|
49
51
|
## 结论
|
|
50
52
|
|
|
@@ -15,6 +15,7 @@ owner: ai
|
|
|
15
15
|
| 资产 | 路径 / 链接 | 状态 | 备注 |
|
|
16
16
|
|------|-------------|------|------|
|
|
17
17
|
| OpenAPI Draft | | | |
|
|
18
|
+
| YAML SHA-256 / Git ref | | | 冻结时记录;YAML 是唯一权威 |
|
|
18
19
|
| OpenAPI Draft Review | | | |
|
|
19
20
|
| Spec / 需求冻结 | | | |
|
|
20
21
|
| 产品设计 / 状态矩阵 | | | |
|
|
@@ -35,22 +36,27 @@ owner: ai
|
|
|
35
36
|
| 请求 / 响应 schema 明确 | 通过 / 阻断 | |
|
|
36
37
|
| 错误结构和错误码明确 | 通过 / 阻断 | |
|
|
37
38
|
| 分页 / 排序 / 过滤明确 | 通过 / 阻断 / 不适用 | |
|
|
38
|
-
|
|
|
39
|
+
| 并发 / 幂等明确 | 通过 / 阻断 / 不适用 | |
|
|
39
40
|
| YSS 统一响应包装明确 | 通过 / 阻断 | |
|
|
40
41
|
| 契约测试 seam 明确 | 通过 / 阻断 | |
|
|
42
|
+
| YAML 为单一 OAS 3.1 document | 通过 / 阻断 | |
|
|
43
|
+
| JSON 仅作为 Freeze 后派生物 | 通过 / 阻断 | 使用受锁定的 Redocly CLI;不得手改 |
|
|
41
44
|
| 风险 / 人工确认项已处理 | 通过 / 阻断 / 不适用 | |
|
|
42
45
|
|
|
43
46
|
## 4. 冻结后变更规则
|
|
44
47
|
|
|
45
|
-
- 冻结后如需改变路径、请求 / 响应 schema
|
|
48
|
+
- 冻结后如需改变路径、请求 / 响应 schema、错误结构、分页规则,或 Spec 已明确的认证 / 授权行为,必须回到 OpenAPI Draft Review 和 Design Review。
|
|
46
49
|
- 行为规格变化影响接口时,必须同步回写 `docs/.scratch/<feature>/api/<feature>.yaml` 和 OpenAPI Draft 或 Spec 验收场景。
|
|
47
50
|
- 前后端实现必须以本记录引用的冻结版本为准。
|
|
51
|
+
- 前端代码生成前,必须从冻结 YAML 生成 JSON,并保留 `openapi-json-export-record-template.md` 对应的派生记录。
|
|
52
|
+
- 跨仓库前端仅可通过批准的交接脚本物化同 SHA-256 的 JSON 到其既有输入位置;目标前端项目按既有方式手动生成客户端,本模板不修改其生成配置,也不把生成动作加入 CI。
|
|
48
53
|
|
|
49
54
|
## 5. 完成标准
|
|
50
55
|
|
|
51
56
|
- [ ] OpenAPI Draft Review 无阻断项。
|
|
52
57
|
- [ ] Design Review 无阻断项。
|
|
53
58
|
- [ ] 前端、后端、API 契约测试均可消费冻结契约。
|
|
59
|
+
- [ ] YAML SHA-256、JSON 派生记录和锁定工具版本可追溯。
|
|
54
60
|
- [ ] Ticket 正式化 可引用本冻结记录。
|
|
55
61
|
|
|
56
62
|
## 6. 下一步门禁
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
pipeline: <feature-id>
|
|
3
|
+
stage: openapi-json-export
|
|
4
|
+
status: draft
|
|
5
|
+
owner: ai
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# <功能名称> OpenAPI JSON 派生记录
|
|
9
|
+
|
|
10
|
+
> 适用场景:冻结的 OpenAPI YAML 通过锁定的 Redocly CLI 派生 JSON,作为下游既有前端客户端生成流程的输入。
|
|
11
|
+
> YAML 是唯一权威;本记录和 JSON 都不能反向替代或修改 YAML。
|
|
12
|
+
|
|
13
|
+
## 1. 输入与冻结基线
|
|
14
|
+
|
|
15
|
+
| 项目 | 值 |
|
|
16
|
+
|---|---|
|
|
17
|
+
| 冻结 YAML | `docs/.scratch/<feature>/api/<feature>.yaml` |
|
|
18
|
+
| YAML SHA-256 | |
|
|
19
|
+
| OAS 版本 | 3.1.0 |
|
|
20
|
+
| OpenAPI Freeze 记录 | |
|
|
21
|
+
| Git ref(如适用) | |
|
|
22
|
+
|
|
23
|
+
## 2. 受控工具链
|
|
24
|
+
|
|
25
|
+
| 项目 | 值 |
|
|
26
|
+
|---|---|
|
|
27
|
+
| 包管理器 / lockfile | |
|
|
28
|
+
| `@redocly/cli` 固定版本 | |
|
|
29
|
+
| 执行脚本或完整命令 | `pnpm exec redocly bundle ... --ext json ...` |
|
|
30
|
+
| `$ref` 策略 / 批准例外 | |
|
|
31
|
+
| bundle metafile | |
|
|
32
|
+
|
|
33
|
+
## 3. 派生 JSON 与校验
|
|
34
|
+
|
|
35
|
+
| 项目 | 值 |
|
|
36
|
+
|---|---|
|
|
37
|
+
| 输出 JSON | `docs/.scratch/<feature>/api/<feature>.json` |
|
|
38
|
+
| JSON SHA-256 | |
|
|
39
|
+
| 受控交接 JSON | `<frontend>/openapi/openapi.json` |
|
|
40
|
+
| 交接后 SHA-256 | 必须与输出 JSON 相同 |
|
|
41
|
+
| JSON 解析 / lint 命令 | |
|
|
42
|
+
| 校验结果 | 通过 / 阻断 |
|
|
43
|
+
| 组件重名 / `$ref` 结果 | |
|
|
44
|
+
|
|
45
|
+
## 4. 下游前端交接
|
|
46
|
+
|
|
47
|
+
| 项目 | 值 |
|
|
48
|
+
|---|---|
|
|
49
|
+
| 下游既有输入路径 | `<frontend>/openapi/openapi.json` |
|
|
50
|
+
| 交接方式 / 项目脚本 | |
|
|
51
|
+
| 交接后 SHA-256 | 必须与输出 JSON 相同 |
|
|
52
|
+
| 目标前端项目的手动代码生成命令 | 仅记录,不在本模板执行 |
|
|
53
|
+
| 模板边界 | 不修改前端生成配置;不把生成动作加入 CI |
|
|
54
|
+
|
|
55
|
+
## 5. 结论与不可变约束
|
|
56
|
+
|
|
57
|
+
- 结论:Exported / Blocked
|
|
58
|
+
- JSON 是否由手工编辑:否;若无法确认则阻断。
|
|
59
|
+
- 后续 API 变更:回到 YAML Draft、评审和 Freeze,再重新派生 JSON。
|
|
60
|
+
- 阻断项:
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
- [ ] 业务架构清楚:用户旅程、价值流、业务能力、角色/组织模型、外部系统边界和 MVP 非目标范围已记录,或明确说明不适用。
|
|
10
10
|
- [ ] 功能架构清楚:功能域、模块边界、优先级、依赖关系和 Spec 回填项已记录。
|
|
11
|
-
- [ ]
|
|
11
|
+
- [ ] 系统总体架构清楚:服务/模块边界、部署、集成、性能、可靠性、可观测性、发布和回滚策略已记录。
|
|
12
12
|
- [ ] 数据架构清楚:概念/逻辑/物理模型、元模型、版本、血缘、查询/搜索、索引、存储和迁移约束已记录,或明确说明无持久化影响。
|
|
13
13
|
- [ ] 数据模型、元数据、版本或血缘类产品已在 Repository / MyBatis / 持久化开发前完成数据架构。
|
|
14
14
|
- [ ] 架构图如已生成,已引用明确上游文档,且图中发现的问题已回写到 Spec、OpenAPI、ADR、系统 / 数据架构设计 或 Ticket。
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
|
|
18
18
|
> DDD 检查嵌入现有阶段,不默认新增阶段或独立文档。只有当本节无法说明清楚时,才升级为独立 Strategic / Tactical DDD 设计文档。
|
|
19
19
|
|
|
20
|
-
- [ ] 若为小改动,已完成 DDD impact check,并确认不影响统一语言、上下文边界、聚合、API
|
|
20
|
+
- [ ] 若为小改动,已完成 DDD impact check,并确认不影响统一语言、上下文边界、聚合、API、数据或风险 / 回滚约束。
|
|
21
21
|
- [ ] Strategic DDD Check 已完成或明确不适用:统一语言、核心/支撑/通用子域、限界上下文、上下文映射和非目标范围清楚。
|
|
22
22
|
- [ ] Tactical DDD Check 已完成或明确不适用:聚合根、Entity、Value Object、领域服务、不变量、一致性边界和 Repository / Gateway seam 清楚。
|
|
23
23
|
- [ ] OpenAPI 契约使用上下文的公开语言,不直接暴露内部聚合、Repository 或持久化表结构。
|
|
@@ -31,20 +31,7 @@
|
|
|
31
31
|
- [ ] 服务边界是否合理(单一职责,不过大也不过度拆分)?
|
|
32
32
|
- [ ] 是否有服务发现 / 负载均衡方案?
|
|
33
33
|
|
|
34
|
-
## 2.
|
|
35
|
-
|
|
36
|
-
- [ ] 认证链路完整:用户 → API Gateway → Service → DB
|
|
37
|
-
- [ ] 授权模型明确:RBAC / ABAC / OAuth2 Scope
|
|
38
|
-
- [ ] 密码存储:bcrypt / argon2(禁止明文/SHA/MD5)
|
|
39
|
-
- [ ] Token 管理:JWT 含 exp / 支持 refresh / 黑名单机制
|
|
40
|
-
- [ ] API 输入校验:所有外部输入经过 Schema 校验
|
|
41
|
-
- [ ] SQL 注入防护:100% 参数化查询(禁止字符串拼接)
|
|
42
|
-
- [ ] XSS 防护:前端禁止 innerHTML / v-html 直接渲染用户输入
|
|
43
|
-
- [ ] CSRF 防护:SameSite Cookie / CSRF Token
|
|
44
|
-
- [ ] 敏感数据:PII 加密存储,日志脱敏
|
|
45
|
-
- [ ] 依赖安全:定期 npm audit / pip audit
|
|
46
|
-
|
|
47
|
-
## 3. 性能 (Performance)
|
|
34
|
+
## 2. 性能 (Performance)
|
|
48
35
|
|
|
49
36
|
- [ ] 数据库查询有索引计划(explain analyze 验证)
|
|
50
37
|
- [ ] 热点数据有缓存策略(Redis / 本地缓存 / CDN)
|
|
@@ -55,7 +42,7 @@
|
|
|
55
42
|
- [ ] 异步处理:耗时操作走消息队列(Kafka / Celery)
|
|
56
43
|
- [ ] 静态资源 CDN + 压缩 (gzip/brotli)
|
|
57
44
|
|
|
58
|
-
##
|
|
45
|
+
## 3. 可靠性 (Reliability)
|
|
59
46
|
|
|
60
47
|
- [ ] 关键路径有降级方案(服务不可用时的 fallback)
|
|
61
48
|
- [ ] 外部依赖有超时 + 重试 + 熔断
|
|
@@ -64,7 +51,7 @@
|
|
|
64
51
|
- [ ] 健康检查端点:/health 返回依赖状态
|
|
65
52
|
- [ ] 优雅关闭:SIGTERM 时完成进行中的请求
|
|
66
53
|
|
|
67
|
-
##
|
|
54
|
+
## 4. 可维护性 (Maintainability)
|
|
68
55
|
|
|
69
56
|
- [ ] 架构决策已记录为 ADR
|
|
70
57
|
- [ ] 契约草案 / OpenAPI Draft 已经工程基线、系统/数据架构和 Ticket 校验,并在开发前完成 OpenAPI Freeze
|
|
@@ -73,7 +60,7 @@
|
|
|
73
60
|
- [ ] 告警规则已配置 (P99 延迟、错误率、磁盘)
|
|
74
61
|
- [ ] 数据库迁移脚本可回滚 (含 downgrade)
|
|
75
62
|
|
|
76
|
-
##
|
|
63
|
+
## 5. 成本 (Cost)
|
|
77
64
|
|
|
78
65
|
- [ ] 是否引入了不必要的技术组件?(YAGNI)
|
|
79
66
|
- [ ] 云资源是否按需配置?(避免 over-provisioning)
|
|
@@ -40,9 +40,9 @@ owner: ai
|
|
|
40
40
|
|
|
41
41
|
## 5. 页面 / API / 数据影响
|
|
42
42
|
|
|
43
|
-
| 能力 | 页面影响 | API 影响 | 数据影响 |
|
|
44
|
-
|
|
45
|
-
| | | | |
|
|
43
|
+
| 能力 | 页面影响 | API 影响 | 数据影响 |
|
|
44
|
+
|------|----------|----------|----------|
|
|
45
|
+
| | | | |
|
|
46
46
|
|
|
47
47
|
## 6. 依赖与风险
|
|
48
48
|
|
|
@@ -60,7 +60,7 @@ owner: ai
|
|
|
60
60
|
|
|
61
61
|
- [ ] 功能域、模块边界、优先级和依赖清楚。
|
|
62
62
|
- [ ] MVP / 非目标范围与 Spec 一致。
|
|
63
|
-
- [ ] 页面、API
|
|
63
|
+
- [ ] 页面、API 和数据影响已显式标注。
|
|
64
64
|
- [ ] Spec 回填项已分清阻断项和非阻断项。
|
|
65
65
|
- [ ] 可进入产品设计 / Spec 校准。
|
|
66
66
|
|
|
@@ -85,21 +85,25 @@ owner: ai
|
|
|
85
85
|
|
|
86
86
|
| 维度 | 设计约束 | 验证方式 |
|
|
87
87
|
|------|----------|----------|
|
|
88
|
-
| 安全 | | |
|
|
89
|
-
| 权限 | | |
|
|
90
88
|
| 性能 | | |
|
|
91
89
|
| 可靠性 | | |
|
|
92
90
|
| 可观测性 | | |
|
|
93
91
|
| 发布 / 回滚 | | |
|
|
94
92
|
|
|
93
|
+
### 已明确的认证、授权、租户隔离、敏感数据或合规行为(条件适用)
|
|
94
|
+
|
|
95
|
+
仅当 Spec、冻结契约或既有架构约束明确改变上述行为时填写;沿用平台认证中间件、未变化的 `401` / `403`、普通字段、SQL / DDL / 迁移或上传 / 下载本身不触发本节,也不形成独立安全门禁。
|
|
96
|
+
|
|
97
|
+
| 行为 / 数据边界 | 架构约束与责任方 | API / 数据 / 审计影响 | 验证 seam / 回滚约束 |
|
|
98
|
+
|----------------|------------------|----------------------|----------------------|
|
|
99
|
+
| | | | |
|
|
100
|
+
|
|
95
101
|
## 10. 风险 / 回滚约束与人工确认
|
|
96
102
|
|
|
97
103
|
| 风险点 | 是否涉及 | 处理方式 | 状态 |
|
|
98
104
|
|--------|--------------|----------|------|
|
|
99
105
|
| 支付逻辑 | 否 | | |
|
|
100
106
|
| 数据库迁移脚本 | 否 | | |
|
|
101
|
-
| 认证 / 授权中间件 | 否 | | |
|
|
102
|
-
| 加密算法实现 | 否 | | |
|
|
103
107
|
| 公共基础库 API | 否 | | |
|
|
104
108
|
|
|
105
109
|
如存在需要人工确认的风险事项,必须在实现前写明确认结论。
|
|
@@ -113,10 +117,11 @@ owner: ai
|
|
|
113
117
|
## 12. 评审清单
|
|
114
118
|
|
|
115
119
|
- [ ] 系统边界、模块职责和调用方向符合 YSS DDD 分层。
|
|
116
|
-
- [ ] API 影响记录 / 契约草案 / OpenAPI Draft 的路径、schema
|
|
120
|
+
- [ ] API 影响记录 / 契约草案 / OpenAPI Draft 的路径、schema、错误结构、分页和契约测试已被架构反审,且可落地或已列出回改项。
|
|
117
121
|
- [ ] 状态流、失败路径、幂等、并发和回滚策略清楚。
|
|
118
122
|
- [ ] 数据架构需求已明确;涉及持久化、元模型、版本或血缘时已有数据架构。
|
|
119
123
|
- [ ] Tactical DDD Check 已完成,或明确说明本次变更不影响领域模型 / 聚合 / 持久化边界。
|
|
124
|
+
- [ ] 已明确的认证、授权、租户隔离、敏感数据或合规行为已写入普通架构约束、契约与验证 seam;未触发时不额外登记。
|
|
120
125
|
- [ ] 风险与人工审查点已标记。
|
|
121
126
|
- [ ] 需要 ADR 的决策已列出。
|
|
122
127
|
- [ ] 可进入 Design Review,或明确阻断项。
|
|
@@ -36,6 +36,10 @@
|
|
|
36
36
|
|
|
37
37
|
相关图:`docs/.scratch/<feature>/architecture/diagrams/<feature>-system-architecture.excalidraw`
|
|
38
38
|
|
|
39
|
+
### 已明确的认证、授权、租户隔离、敏感数据或合规行为(条件适用)
|
|
40
|
+
|
|
41
|
+
仅当 Spec、冻结契约或既有架构约束明确改变认证、授权、租户隔离、敏感数据或合规行为时,说明责任边界、数据/API 影响、审计或加密要求、验证 seam 与回滚策略。沿用既有中间件、未变化的 `401` / `403`、普通字段、SQL / DDL / 迁移或上传 / 下载本身不填写本节,也不新增独立安全审查。
|
|
42
|
+
|
|
39
43
|
### 数据模型
|
|
40
44
|
|
|
41
45
|
```sql
|
|
@@ -92,17 +96,6 @@ CREATE TABLE xxx (
|
|
|
92
96
|
|
|
93
97
|
---
|
|
94
98
|
|
|
95
|
-
## 安全审查
|
|
96
|
-
|
|
97
|
-
- [ ] 认证授权链路完整
|
|
98
|
-
- [ ] 敏感数据加密存储 (密码/payment info/PII)
|
|
99
|
-
- [ ] API 输入校验 (Pydantic v2 / TypeScript strict)
|
|
100
|
-
- [ ] SQL 注入防护 (参数化查询)
|
|
101
|
-
- [ ] XSS 防护 (textContent / DOMPurify)
|
|
102
|
-
- [ ] CSRF 防护 (SameSite Cookie / Token)
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
99
|
## 性能评估
|
|
107
100
|
|
|
108
101
|
| 指标 | 目标 | 方案 |
|