create-yss-spec 2.2.3 → 2.2.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 +17 -1
- package/package.json +1 -1
- package/src/cli.js +15 -1
- package/src/self-update.js +277 -0
- package/template/.agents/skills/yss-domain/SKILL.md +5 -4
- package/template/.agents/skills/yss-product-lifecycle/SKILL.md +15 -14
- package/template/.agents/skills/yss-product-lifecycle/references/artifact-dependencies.md +4 -0
- package/template/.agents/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
- package/template/.agents/skills/yss-product-lifecycle/references/orchestration-contract.yaml +139 -4
- package/template/.agents/skills/yss-product-lifecycle/references/orchestration.md +6 -3
- package/template/.agents/skills/yss-product-lifecycle/references/state-model.md +7 -2
- package/template/.agents/skills/yss-router/SKILL.md +4 -2
- package/template/.agents/skills/yss-router/references/router-contract.yaml +18 -3
- package/template/.agents/skills/yss-router/references/slice-implementation-contract.md +58 -1
- package/template/.agents/skills/yss-stage-decision/SKILL.md +50 -0
- package/template/.agents/skills/yss-stage-decision/references/domain-strategy-contract.md +26 -0
- package/template/.agents/skills/yss-stage-decision/references/domain-strategy.schema.json +128 -0
- package/template/.agents/skills/yss-stage-decision/references/stage-decision-package-contract.md +19 -0
- package/template/.agents/skills/yss-stage-decision/references/stage-decision-package.schema.json +86 -0
- package/template/.agents/skills/yss-stage-decision/references/validation-rules.md +18 -0
- package/template/.agents/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +169 -0
- package/template/.agents/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +100 -0
- package/template/.agents/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +15 -0
- package/template/.agents/skills/yss-stage-decision/tests/fixtures/invalid-direction.yaml +58 -0
- package/template/.agents/skills/yss-stage-decision/tests/fixtures/invalid-stage-decision-blocker.yaml +44 -0
- package/template/.agents/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +15 -0
- package/template/.agents/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +49 -0
- package/template/.agents/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +108 -0
- package/template/.agents/skills/yss-stage-decision/tests/run-scenarios.mjs +68 -0
- package/template/.agents/skills/yss-tactical-design/SKILL.md +33 -0
- package/template/.agents/skills/yss-tactical-design/agents/openai.yaml +4 -0
- package/template/.agents/skills/yss-tactical-design/references/output-template.md +28 -0
- package/template/.agents/skills/yss-tactical-design/references/tactical-design-contract.md +41 -0
- package/template/.agents/skills/yss-tactical-design/references/tactical-design.schema.json +31 -0
- package/template/.agents/skills/yss-tactical-design/references/validation-rules.md +13 -0
- package/template/.agents/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +213 -0
- package/template/.agents/skills/yss-tactical-design/tests/fixtures/invalid-api-leaks-aggregate.yaml +21 -0
- package/template/.agents/skills/yss-tactical-design/tests/fixtures/invalid-missing-consistency-policy.yaml +21 -0
- package/template/.agents/skills/yss-tactical-design/tests/fixtures/invalid-missing-invariant.yaml +21 -0
- package/template/.agents/skills/yss-tactical-design/tests/fixtures/invalid-stale-upstream-ref.yaml +21 -0
- package/template/.agents/skills/yss-tactical-design/tests/fixtures/invalid-strategic-as-tactical.yaml +21 -0
- package/template/.agents/skills/yss-tactical-design/tests/fixtures/valid-tactical-design.yaml +80 -0
- package/template/.agents/skills/yss-tactical-design/tests/run-scenarios.mjs +47 -0
- package/template/.claude/skills/yss-domain/SKILL.md +5 -4
- package/template/.claude/skills/yss-product-lifecycle/SKILL.md +15 -14
- package/template/.claude/skills/yss-product-lifecycle/references/artifact-dependencies.md +4 -0
- package/template/.claude/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
- package/template/.claude/skills/yss-product-lifecycle/references/orchestration-contract.yaml +139 -4
- package/template/.claude/skills/yss-product-lifecycle/references/orchestration.md +6 -3
- package/template/.claude/skills/yss-product-lifecycle/references/state-model.md +7 -2
- package/template/.claude/skills/yss-router/SKILL.md +4 -2
- package/template/.claude/skills/yss-router/references/router-contract.yaml +18 -3
- package/template/.claude/skills/yss-router/references/slice-implementation-contract.md +58 -1
- package/template/.claude/skills/yss-stage-decision/SKILL.md +50 -0
- package/template/.claude/skills/yss-stage-decision/references/domain-strategy-contract.md +26 -0
- package/template/.claude/skills/yss-stage-decision/references/domain-strategy.schema.json +128 -0
- package/template/.claude/skills/yss-stage-decision/references/stage-decision-package-contract.md +19 -0
- package/template/.claude/skills/yss-stage-decision/references/stage-decision-package.schema.json +86 -0
- package/template/.claude/skills/yss-stage-decision/references/validation-rules.md +18 -0
- package/template/.claude/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +169 -0
- package/template/.claude/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +100 -0
- package/template/.claude/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +15 -0
- package/template/.claude/skills/yss-stage-decision/tests/fixtures/invalid-direction.yaml +58 -0
- package/template/.claude/skills/yss-stage-decision/tests/fixtures/invalid-stage-decision-blocker.yaml +44 -0
- package/template/.claude/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +15 -0
- package/template/.claude/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +49 -0
- package/template/.claude/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +108 -0
- package/template/.claude/skills/yss-stage-decision/tests/run-scenarios.mjs +68 -0
- package/template/.claude/skills/yss-tactical-design/SKILL.md +33 -0
- package/template/.claude/skills/yss-tactical-design/agents/openai.yaml +4 -0
- package/template/.claude/skills/yss-tactical-design/references/output-template.md +28 -0
- package/template/.claude/skills/yss-tactical-design/references/tactical-design-contract.md +41 -0
- package/template/.claude/skills/yss-tactical-design/references/tactical-design.schema.json +31 -0
- package/template/.claude/skills/yss-tactical-design/references/validation-rules.md +13 -0
- package/template/.claude/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +213 -0
- package/template/.claude/skills/yss-tactical-design/tests/fixtures/invalid-api-leaks-aggregate.yaml +21 -0
- package/template/.claude/skills/yss-tactical-design/tests/fixtures/invalid-missing-consistency-policy.yaml +21 -0
- package/template/.claude/skills/yss-tactical-design/tests/fixtures/invalid-missing-invariant.yaml +21 -0
- package/template/.claude/skills/yss-tactical-design/tests/fixtures/invalid-stale-upstream-ref.yaml +21 -0
- package/template/.claude/skills/yss-tactical-design/tests/fixtures/invalid-strategic-as-tactical.yaml +21 -0
- package/template/.claude/skills/yss-tactical-design/tests/fixtures/valid-tactical-design.yaml +80 -0
- package/template/.claude/skills/yss-tactical-design/tests/run-scenarios.mjs +47 -0
- package/template/.codex/skills/yss-domain/SKILL.md +5 -4
- package/template/.codex/skills/yss-product-lifecycle/SKILL.md +15 -14
- package/template/.codex/skills/yss-product-lifecycle/references/artifact-dependencies.md +4 -0
- package/template/.codex/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
- package/template/.codex/skills/yss-product-lifecycle/references/orchestration-contract.yaml +139 -4
- package/template/.codex/skills/yss-product-lifecycle/references/orchestration.md +6 -3
- package/template/.codex/skills/yss-product-lifecycle/references/state-model.md +7 -2
- package/template/.codex/skills/yss-router/SKILL.md +4 -2
- package/template/.codex/skills/yss-router/references/router-contract.yaml +18 -3
- package/template/.codex/skills/yss-router/references/slice-implementation-contract.md +58 -1
- package/template/.codex/skills/yss-stage-decision/SKILL.md +50 -0
- package/template/.codex/skills/yss-stage-decision/references/domain-strategy-contract.md +26 -0
- package/template/.codex/skills/yss-stage-decision/references/domain-strategy.schema.json +128 -0
- package/template/.codex/skills/yss-stage-decision/references/stage-decision-package-contract.md +19 -0
- package/template/.codex/skills/yss-stage-decision/references/stage-decision-package.schema.json +86 -0
- package/template/.codex/skills/yss-stage-decision/references/validation-rules.md +18 -0
- package/template/.codex/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +169 -0
- package/template/.codex/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +100 -0
- package/template/.codex/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +15 -0
- package/template/.codex/skills/yss-stage-decision/tests/fixtures/invalid-direction.yaml +58 -0
- package/template/.codex/skills/yss-stage-decision/tests/fixtures/invalid-stage-decision-blocker.yaml +44 -0
- package/template/.codex/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +15 -0
- package/template/.codex/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +49 -0
- package/template/.codex/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +108 -0
- package/template/.codex/skills/yss-stage-decision/tests/run-scenarios.mjs +68 -0
- package/template/.codex/skills/yss-tactical-design/SKILL.md +33 -0
- package/template/.codex/skills/yss-tactical-design/agents/openai.yaml +4 -0
- package/template/.codex/skills/yss-tactical-design/references/output-template.md +28 -0
- package/template/.codex/skills/yss-tactical-design/references/tactical-design-contract.md +41 -0
- package/template/.codex/skills/yss-tactical-design/references/tactical-design.schema.json +31 -0
- package/template/.codex/skills/yss-tactical-design/references/validation-rules.md +13 -0
- package/template/.codex/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +213 -0
- package/template/.codex/skills/yss-tactical-design/tests/fixtures/invalid-api-leaks-aggregate.yaml +21 -0
- package/template/.codex/skills/yss-tactical-design/tests/fixtures/invalid-missing-consistency-policy.yaml +21 -0
- package/template/.codex/skills/yss-tactical-design/tests/fixtures/invalid-missing-invariant.yaml +21 -0
- package/template/.codex/skills/yss-tactical-design/tests/fixtures/invalid-stale-upstream-ref.yaml +21 -0
- package/template/.codex/skills/yss-tactical-design/tests/fixtures/invalid-strategic-as-tactical.yaml +21 -0
- package/template/.codex/skills/yss-tactical-design/tests/fixtures/valid-tactical-design.yaml +80 -0
- package/template/.codex/skills/yss-tactical-design/tests/run-scenarios.mjs +47 -0
- package/template/.cursor/skills/yss-domain/SKILL.md +5 -4
- package/template/.cursor/skills/yss-product-lifecycle/SKILL.md +15 -14
- package/template/.cursor/skills/yss-product-lifecycle/references/artifact-dependencies.md +4 -0
- package/template/.cursor/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
- package/template/.cursor/skills/yss-product-lifecycle/references/orchestration-contract.yaml +139 -4
- package/template/.cursor/skills/yss-product-lifecycle/references/orchestration.md +6 -3
- package/template/.cursor/skills/yss-product-lifecycle/references/state-model.md +7 -2
- package/template/.cursor/skills/yss-router/SKILL.md +4 -2
- package/template/.cursor/skills/yss-router/references/router-contract.yaml +18 -3
- package/template/.cursor/skills/yss-router/references/slice-implementation-contract.md +58 -1
- package/template/.cursor/skills/yss-stage-decision/SKILL.md +50 -0
- package/template/.cursor/skills/yss-stage-decision/references/domain-strategy-contract.md +26 -0
- package/template/.cursor/skills/yss-stage-decision/references/domain-strategy.schema.json +128 -0
- package/template/.cursor/skills/yss-stage-decision/references/stage-decision-package-contract.md +19 -0
- package/template/.cursor/skills/yss-stage-decision/references/stage-decision-package.schema.json +86 -0
- package/template/.cursor/skills/yss-stage-decision/references/validation-rules.md +18 -0
- package/template/.cursor/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +169 -0
- package/template/.cursor/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +100 -0
- package/template/.cursor/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +15 -0
- package/template/.cursor/skills/yss-stage-decision/tests/fixtures/invalid-direction.yaml +58 -0
- package/template/.cursor/skills/yss-stage-decision/tests/fixtures/invalid-stage-decision-blocker.yaml +44 -0
- package/template/.cursor/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +15 -0
- package/template/.cursor/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +49 -0
- package/template/.cursor/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +108 -0
- package/template/.cursor/skills/yss-stage-decision/tests/run-scenarios.mjs +68 -0
- package/template/.cursor/skills/yss-tactical-design/SKILL.md +33 -0
- package/template/.cursor/skills/yss-tactical-design/agents/openai.yaml +4 -0
- package/template/.cursor/skills/yss-tactical-design/references/output-template.md +28 -0
- package/template/.cursor/skills/yss-tactical-design/references/tactical-design-contract.md +41 -0
- package/template/.cursor/skills/yss-tactical-design/references/tactical-design.schema.json +31 -0
- package/template/.cursor/skills/yss-tactical-design/references/validation-rules.md +13 -0
- package/template/.cursor/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +213 -0
- package/template/.cursor/skills/yss-tactical-design/tests/fixtures/invalid-api-leaks-aggregate.yaml +21 -0
- package/template/.cursor/skills/yss-tactical-design/tests/fixtures/invalid-missing-consistency-policy.yaml +21 -0
- package/template/.cursor/skills/yss-tactical-design/tests/fixtures/invalid-missing-invariant.yaml +21 -0
- package/template/.cursor/skills/yss-tactical-design/tests/fixtures/invalid-stale-upstream-ref.yaml +21 -0
- package/template/.cursor/skills/yss-tactical-design/tests/fixtures/invalid-strategic-as-tactical.yaml +21 -0
- package/template/.cursor/skills/yss-tactical-design/tests/fixtures/valid-tactical-design.yaml +80 -0
- package/template/.cursor/skills/yss-tactical-design/tests/run-scenarios.mjs +47 -0
- package/template/.hermes/skills/yss-domain/SKILL.md +5 -4
- package/template/.hermes/skills/yss-product-lifecycle/SKILL.md +15 -14
- package/template/.hermes/skills/yss-product-lifecycle/references/artifact-dependencies.md +4 -0
- package/template/.hermes/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
- package/template/.hermes/skills/yss-product-lifecycle/references/orchestration-contract.yaml +139 -4
- package/template/.hermes/skills/yss-product-lifecycle/references/orchestration.md +6 -3
- package/template/.hermes/skills/yss-product-lifecycle/references/state-model.md +7 -2
- package/template/.hermes/skills/yss-router/SKILL.md +4 -2
- package/template/.hermes/skills/yss-router/references/router-contract.yaml +18 -3
- package/template/.hermes/skills/yss-router/references/slice-implementation-contract.md +58 -1
- package/template/.hermes/skills/yss-stage-decision/SKILL.md +50 -0
- package/template/.hermes/skills/yss-stage-decision/references/domain-strategy-contract.md +26 -0
- package/template/.hermes/skills/yss-stage-decision/references/domain-strategy.schema.json +128 -0
- package/template/.hermes/skills/yss-stage-decision/references/stage-decision-package-contract.md +19 -0
- package/template/.hermes/skills/yss-stage-decision/references/stage-decision-package.schema.json +86 -0
- package/template/.hermes/skills/yss-stage-decision/references/validation-rules.md +18 -0
- package/template/.hermes/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +169 -0
- package/template/.hermes/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +100 -0
- package/template/.hermes/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +15 -0
- package/template/.hermes/skills/yss-stage-decision/tests/fixtures/invalid-direction.yaml +58 -0
- package/template/.hermes/skills/yss-stage-decision/tests/fixtures/invalid-stage-decision-blocker.yaml +44 -0
- package/template/.hermes/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +15 -0
- package/template/.hermes/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +49 -0
- package/template/.hermes/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +108 -0
- package/template/.hermes/skills/yss-stage-decision/tests/run-scenarios.mjs +68 -0
- package/template/.hermes/skills/yss-tactical-design/SKILL.md +33 -0
- package/template/.hermes/skills/yss-tactical-design/agents/openai.yaml +4 -0
- package/template/.hermes/skills/yss-tactical-design/references/output-template.md +28 -0
- package/template/.hermes/skills/yss-tactical-design/references/tactical-design-contract.md +41 -0
- package/template/.hermes/skills/yss-tactical-design/references/tactical-design.schema.json +31 -0
- package/template/.hermes/skills/yss-tactical-design/references/validation-rules.md +13 -0
- package/template/.hermes/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +213 -0
- package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-api-leaks-aggregate.yaml +21 -0
- package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-missing-consistency-policy.yaml +21 -0
- package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-missing-invariant.yaml +21 -0
- package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-stale-upstream-ref.yaml +21 -0
- package/template/.hermes/skills/yss-tactical-design/tests/fixtures/invalid-strategic-as-tactical.yaml +21 -0
- package/template/.hermes/skills/yss-tactical-design/tests/fixtures/valid-tactical-design.yaml +80 -0
- package/template/.hermes/skills/yss-tactical-design/tests/run-scenarios.mjs +47 -0
- package/template/.pi/skills/yss-domain/SKILL.md +5 -4
- package/template/.pi/skills/yss-product-lifecycle/SKILL.md +15 -14
- package/template/.pi/skills/yss-product-lifecycle/references/artifact-dependencies.md +4 -0
- package/template/.pi/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
- package/template/.pi/skills/yss-product-lifecycle/references/orchestration-contract.yaml +139 -4
- package/template/.pi/skills/yss-product-lifecycle/references/orchestration.md +6 -3
- package/template/.pi/skills/yss-product-lifecycle/references/state-model.md +7 -2
- package/template/.pi/skills/yss-router/SKILL.md +4 -2
- package/template/.pi/skills/yss-router/references/router-contract.yaml +18 -3
- package/template/.pi/skills/yss-router/references/slice-implementation-contract.md +58 -1
- package/template/.pi/skills/yss-stage-decision/SKILL.md +50 -0
- package/template/.pi/skills/yss-stage-decision/references/domain-strategy-contract.md +26 -0
- package/template/.pi/skills/yss-stage-decision/references/domain-strategy.schema.json +128 -0
- package/template/.pi/skills/yss-stage-decision/references/stage-decision-package-contract.md +19 -0
- package/template/.pi/skills/yss-stage-decision/references/stage-decision-package.schema.json +86 -0
- package/template/.pi/skills/yss-stage-decision/references/validation-rules.md +18 -0
- package/template/.pi/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +169 -0
- package/template/.pi/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +100 -0
- package/template/.pi/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +15 -0
- package/template/.pi/skills/yss-stage-decision/tests/fixtures/invalid-direction.yaml +58 -0
- package/template/.pi/skills/yss-stage-decision/tests/fixtures/invalid-stage-decision-blocker.yaml +44 -0
- package/template/.pi/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +15 -0
- package/template/.pi/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +49 -0
- package/template/.pi/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +108 -0
- package/template/.pi/skills/yss-stage-decision/tests/run-scenarios.mjs +68 -0
- package/template/.pi/skills/yss-tactical-design/SKILL.md +33 -0
- package/template/.pi/skills/yss-tactical-design/agents/openai.yaml +4 -0
- package/template/.pi/skills/yss-tactical-design/references/output-template.md +28 -0
- package/template/.pi/skills/yss-tactical-design/references/tactical-design-contract.md +41 -0
- package/template/.pi/skills/yss-tactical-design/references/tactical-design.schema.json +31 -0
- package/template/.pi/skills/yss-tactical-design/references/validation-rules.md +13 -0
- package/template/.pi/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +213 -0
- package/template/.pi/skills/yss-tactical-design/tests/fixtures/invalid-api-leaks-aggregate.yaml +21 -0
- package/template/.pi/skills/yss-tactical-design/tests/fixtures/invalid-missing-consistency-policy.yaml +21 -0
- package/template/.pi/skills/yss-tactical-design/tests/fixtures/invalid-missing-invariant.yaml +21 -0
- package/template/.pi/skills/yss-tactical-design/tests/fixtures/invalid-stale-upstream-ref.yaml +21 -0
- package/template/.pi/skills/yss-tactical-design/tests/fixtures/invalid-strategic-as-tactical.yaml +21 -0
- package/template/.pi/skills/yss-tactical-design/tests/fixtures/valid-tactical-design.yaml +80 -0
- package/template/.pi/skills/yss-tactical-design/tests/run-scenarios.mjs +47 -0
- package/template/.qoder/skills/yss-domain/SKILL.md +5 -4
- package/template/.qoder/skills/yss-product-lifecycle/SKILL.md +15 -14
- package/template/.qoder/skills/yss-product-lifecycle/references/artifact-dependencies.md +4 -0
- package/template/.qoder/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
- package/template/.qoder/skills/yss-product-lifecycle/references/orchestration-contract.yaml +139 -4
- package/template/.qoder/skills/yss-product-lifecycle/references/orchestration.md +6 -3
- package/template/.qoder/skills/yss-product-lifecycle/references/state-model.md +7 -2
- package/template/.qoder/skills/yss-router/SKILL.md +4 -2
- package/template/.qoder/skills/yss-router/references/router-contract.yaml +18 -3
- package/template/.qoder/skills/yss-router/references/slice-implementation-contract.md +58 -1
- package/template/.qoder/skills/yss-stage-decision/SKILL.md +50 -0
- package/template/.qoder/skills/yss-stage-decision/references/domain-strategy-contract.md +26 -0
- package/template/.qoder/skills/yss-stage-decision/references/domain-strategy.schema.json +128 -0
- package/template/.qoder/skills/yss-stage-decision/references/stage-decision-package-contract.md +19 -0
- package/template/.qoder/skills/yss-stage-decision/references/stage-decision-package.schema.json +86 -0
- package/template/.qoder/skills/yss-stage-decision/references/validation-rules.md +18 -0
- package/template/.qoder/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +169 -0
- package/template/.qoder/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +100 -0
- package/template/.qoder/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +15 -0
- package/template/.qoder/skills/yss-stage-decision/tests/fixtures/invalid-direction.yaml +58 -0
- package/template/.qoder/skills/yss-stage-decision/tests/fixtures/invalid-stage-decision-blocker.yaml +44 -0
- package/template/.qoder/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +15 -0
- package/template/.qoder/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +49 -0
- package/template/.qoder/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +108 -0
- package/template/.qoder/skills/yss-stage-decision/tests/run-scenarios.mjs +68 -0
- package/template/.qoder/skills/yss-tactical-design/SKILL.md +33 -0
- package/template/.qoder/skills/yss-tactical-design/agents/openai.yaml +4 -0
- package/template/.qoder/skills/yss-tactical-design/references/output-template.md +28 -0
- package/template/.qoder/skills/yss-tactical-design/references/tactical-design-contract.md +41 -0
- package/template/.qoder/skills/yss-tactical-design/references/tactical-design.schema.json +31 -0
- package/template/.qoder/skills/yss-tactical-design/references/validation-rules.md +13 -0
- package/template/.qoder/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +213 -0
- package/template/.qoder/skills/yss-tactical-design/tests/fixtures/invalid-api-leaks-aggregate.yaml +21 -0
- package/template/.qoder/skills/yss-tactical-design/tests/fixtures/invalid-missing-consistency-policy.yaml +21 -0
- package/template/.qoder/skills/yss-tactical-design/tests/fixtures/invalid-missing-invariant.yaml +21 -0
- package/template/.qoder/skills/yss-tactical-design/tests/fixtures/invalid-stale-upstream-ref.yaml +21 -0
- package/template/.qoder/skills/yss-tactical-design/tests/fixtures/invalid-strategic-as-tactical.yaml +21 -0
- package/template/.qoder/skills/yss-tactical-design/tests/fixtures/valid-tactical-design.yaml +80 -0
- package/template/.qoder/skills/yss-tactical-design/tests/run-scenarios.mjs +47 -0
- package/template/.trae/skills/yss-domain/SKILL.md +5 -4
- package/template/.trae/skills/yss-product-lifecycle/SKILL.md +15 -14
- package/template/.trae/skills/yss-product-lifecycle/references/artifact-dependencies.md +4 -0
- package/template/.trae/skills/yss-product-lifecycle/references/matt-yss-adapter.md +2 -2
- package/template/.trae/skills/yss-product-lifecycle/references/orchestration-contract.yaml +139 -4
- package/template/.trae/skills/yss-product-lifecycle/references/orchestration.md +6 -3
- package/template/.trae/skills/yss-product-lifecycle/references/state-model.md +7 -2
- package/template/.trae/skills/yss-router/SKILL.md +4 -2
- package/template/.trae/skills/yss-router/references/router-contract.yaml +18 -3
- package/template/.trae/skills/yss-router/references/slice-implementation-contract.md +58 -1
- package/template/.trae/skills/yss-stage-decision/SKILL.md +50 -0
- package/template/.trae/skills/yss-stage-decision/references/domain-strategy-contract.md +26 -0
- package/template/.trae/skills/yss-stage-decision/references/domain-strategy.schema.json +128 -0
- package/template/.trae/skills/yss-stage-decision/references/stage-decision-package-contract.md +19 -0
- package/template/.trae/skills/yss-stage-decision/references/stage-decision-package.schema.json +86 -0
- package/template/.trae/skills/yss-stage-decision/references/validation-rules.md +18 -0
- package/template/.trae/skills/yss-stage-decision/scripts/validate-domain-strategy.mjs +169 -0
- package/template/.trae/skills/yss-stage-decision/scripts/validate-stage-decision-package.mjs +100 -0
- package/template/.trae/skills/yss-stage-decision/tests/fixtures/domain-strategy-approval.yaml +15 -0
- package/template/.trae/skills/yss-stage-decision/tests/fixtures/invalid-direction.yaml +58 -0
- package/template/.trae/skills/yss-stage-decision/tests/fixtures/invalid-stage-decision-blocker.yaml +44 -0
- package/template/.trae/skills/yss-stage-decision/tests/fixtures/stage-decision-approval.yaml +15 -0
- package/template/.trae/skills/yss-stage-decision/tests/fixtures/valid-stage-decision-package.yaml +49 -0
- package/template/.trae/skills/yss-stage-decision/tests/fixtures/valid-supplier-domain.yaml +108 -0
- package/template/.trae/skills/yss-stage-decision/tests/run-scenarios.mjs +68 -0
- package/template/.trae/skills/yss-tactical-design/SKILL.md +33 -0
- package/template/.trae/skills/yss-tactical-design/agents/openai.yaml +4 -0
- package/template/.trae/skills/yss-tactical-design/references/output-template.md +28 -0
- package/template/.trae/skills/yss-tactical-design/references/tactical-design-contract.md +41 -0
- package/template/.trae/skills/yss-tactical-design/references/tactical-design.schema.json +31 -0
- package/template/.trae/skills/yss-tactical-design/references/validation-rules.md +13 -0
- package/template/.trae/skills/yss-tactical-design/scripts/validate-tactical-design.mjs +213 -0
- package/template/.trae/skills/yss-tactical-design/tests/fixtures/invalid-api-leaks-aggregate.yaml +21 -0
- package/template/.trae/skills/yss-tactical-design/tests/fixtures/invalid-missing-consistency-policy.yaml +21 -0
- package/template/.trae/skills/yss-tactical-design/tests/fixtures/invalid-missing-invariant.yaml +21 -0
- package/template/.trae/skills/yss-tactical-design/tests/fixtures/invalid-stale-upstream-ref.yaml +21 -0
- package/template/.trae/skills/yss-tactical-design/tests/fixtures/invalid-strategic-as-tactical.yaml +21 -0
- package/template/.trae/skills/yss-tactical-design/tests/fixtures/valid-tactical-design.yaml +80 -0
- package/template/.trae/skills/yss-tactical-design/tests/run-scenarios.mjs +47 -0
- package/template/AGENTS.md +22 -5
- package/template/CONTEXT.md +1 -1
- package/template/docs/agents/README.md +1 -1
- package/template/docs/agents/digital-human-roles.md +2 -2
- package/template/docs/agents/digital-human-roles.yaml +7 -1
- package/template/docs/agents/yss-skill-registry.yaml +12 -0
- package/template/docs/architecture/templates/system-overview-design-template.md +1 -0
- package/template/docs/process/lifecycle-artifact-map.md +8 -0
- package/template/docs/process/lifecycle-registry-baseline.json +11 -1
- package/template/docs/process/lifecycle-registry.yaml +46 -2
- package/template/docs/process/schemas/digital-human-task-package.schema.json +107 -0
- package/template/docs/process/schemas/subagent-task-package.schema.json +6 -0
- package/template/docs/process/subagent-collaboration.md +2 -2
- package/template/docs/templates/subagent-task-package-template.md +39 -1
- package/template/scripts/lib/lifecycle-transition.mjs +259 -0
- package/template/scripts/lib/scenario-checks.mjs +96 -2
- package/template/scripts/lib/task-package.mjs +214 -0
- package/template/scripts/verify-digital-human-task-package +14 -0
- package/template/scripts/verify-digital-human-task-package-scenarios +8 -0
- package/template/scripts/verify-lifecycle-transition-scenarios +105 -0
- package/template/scripts/verify-subagent-task-package +8 -0
- package/template/scripts/verify-subagent-task-package-scenarios +196 -0
- package/template/scripts/verify-template +13 -2
- package/template/skills-lock.json +36 -4
- package/template.snapshot.json +4 -4
package/template/AGENTS.md
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
| 影响面触发与 `not-applicable` | `docs/process/harness-process-tailoring.md` |
|
|
23
23
|
| 模板维护强度触发与最低等级 | `docs/process/maintenance-intensity.yaml` |
|
|
24
24
|
| 技能清单、来源、版本、哈希和投影目标 | `skills-lock.json` |
|
|
25
|
-
| 技能分层、别名、默认可发现性和运行时入口 | `docs/agents/yss-skill-registry.yaml`(当前 `status:
|
|
25
|
+
| 技能分层、别名、默认可发现性和运行时入口 | `docs/agents/yss-skill-registry.yaml`(当前 `status: active`;Router / 生命周期必须消费) |
|
|
26
26
|
| 数字人角色、阶段协作组、运行时绑定与生命周期会签 | `docs/agents/digital-human-roles.yaml`;`docs/agents/digital-human-roles.md` 为操作说明 |
|
|
27
27
|
|
|
28
28
|
README、用户指南、根目录 `CLAUDE.md` 和其他说明文档只引用或解释上述事实,不重复定义同一规则。`CLAUDE.md` 是 Claude Code 入口指针,不是第二套 Agent 规则。
|
|
@@ -32,7 +32,8 @@ README、用户指南、根目录 `CLAUDE.md` 和其他说明文档只引用或
|
|
|
32
32
|
- 所有面向业务、产品、架构、实施、审查、发布和复盘的落地文档,正文统一使用简体中文。
|
|
33
33
|
- 英文专有名词、代码标识、API 路径、schema、类名、方法名、枚举值、错误码、命令、文件名和协议 metadata 保持原样。
|
|
34
34
|
- 新流程统一使用 Spec、Ticket、`to-spec`、`to-tickets`。过时术语和技能名只能出现在迁移指南或明确标注的旧项目上下文。
|
|
35
|
-
-
|
|
35
|
+
- `CONTEXT.md` 是 Spec 构建及其落地工具链的统一语言输入,也是所有会创建或修改稳定业务、产品、架构、实施、审查、发布和复盘资产的强制前置上下文。`yss-product-lifecycle`、其原生 work unit,以及 `grill-with-docs`、`to-spec`、`to-tickets`、`implement` 等显式兼容入口,在规划、起草、评审、拆 Ticket 或实现前都必须读取并持续消费它;工具无法读取或消费时必须暂停并返回 `blocked`,不得凭临场翻译、同义词或局部上下文继续。
|
|
36
|
+
- 稳定业务术语必须先在 `CONTEXT.md` 中登记 PascalCase `英文标识`,再进入 Spec、原型、契约、Ticket、代码或验证资产;代码类型 / 字段与契约 property 使用该词干按 `CONTEXT.md` 文首规则变形。改中文术语或英文标识都先回写 `CONTEXT.md`,并重新检查受影响资产;与词汇或 ADR 冲突时立即指出并先解决冲突。
|
|
36
37
|
|
|
37
38
|
## 4. `template-source` 模板维护路由
|
|
38
39
|
|
|
@@ -46,6 +47,19 @@ README、用户指南、根目录 `CLAUDE.md` 和其他说明文档只引用或
|
|
|
46
47
|
|
|
47
48
|
先用 `docs/process/harness-process-tailoring.md` 判定变更类型、影响面和最近可信阶段,再按 `docs/process/lifecycle-registry.yaml` 执行命中的工作单元和条件门禁。
|
|
48
49
|
|
|
50
|
+
下表是与 `yss-product-lifecycle` 对齐的阶段级导航索引;阶段、工作单元、技能和门禁不是同一层,条件细节以注册表及 lifecycle skill references 为准。
|
|
51
|
+
|
|
52
|
+
| 主阶段(registry) | 原生工作单元 | 技能入口(按影响面裁剪) | 关键产物 / 门禁 |
|
|
53
|
+
|---|---|---|---|
|
|
54
|
+
| 入口分诊 `stage.entry-triage` | `work-unit.entry-triage` | `yss-product-lifecycle` | 仓库身份、影响面、最近可信阶段;`gate.repository-identity-valid` |
|
|
55
|
+
| Discovery `stage.discovery` | `work-unit.discovery-opportunity`、`work-unit.discovery-requirements`、`work-unit.domain-strategy-design`、`work-unit.stage-decision` | `yss-product-lifecycle`;按事实 / 领域影响使用 `competitive-intelligence`、`research`、`grilling`、`domain-modeling`、`yss-stage-decision` | Discovery、用户/MVP/非目标/成功标准、测试 seam;必要时 DDD 战略设计与阶段决策包;`gate.domain-strategy-approved`、`gate.stage-decision-package-approved` |
|
|
56
|
+
| Spec / 功能架构 `stage.spec-architecture` | `work-unit.spec-synthesis` | `yss-product-lifecycle`;`to-spec` 仅为显式兼容入口 | Spec、产品总体设计、功能架构;必要时 Spec Delta;`gate.spec-baseline-approved` |
|
|
57
|
+
| 产品设计 `stage.product-design` | `work-unit.prototype-design` | `yss-design-system` → `prototype-review` → `yss-prototype-stage` → `yss-antd-design` → Codex `product-design:index`;前端落地改用 `yss-ui` | 交互说明、低 / 高保真原型、状态矩阵;`gate.prototype-reviewed`、`gate.prototype-verified`、`gate.user-confirmation` |
|
|
58
|
+
| 系统 / 数据架构与工程契约 `stage.system-data-engineering` | `work-unit.technical-analysis` | `yss-router`;按影响使用 `yss-openapi-governance`、`yss-openapi-draft-review`、`codebase-design`、`implementation-repo-onboarding`、`yss-tactical-design` | OpenAPI Draft / Freeze、数据架构、工程基线、架构审查;无 API 影响记录;必要时 Tactical DDD Check;`gate.openapi-draft-reviewed`、`gate.design-reviewed`、`gate.openapi-frozen`、`gate.engineering-baseline-accepted`、`gate.architecture-reviewed` |
|
|
59
|
+
| Ticket 正式化 `stage.ticket-formalization` | `work-unit.ticket-decomposition` | `yss-product-lifecycle` + `yss-router`;`to-tickets` 仅为显式兼容入口 | 功能父 Ticket、垂直切片、Slice Implementation Contract;切片初始 `ready-for-human`;`gate.slice-contract-approved`、`gate.slice-ready-for-agent` |
|
|
60
|
+
| 垂直切片实现 `stage.vertical-slice-implementation` | `work-unit.slice-implementation` | `yss-router` + `tdd`;UI 影响追加 `yss-ui`、`yss-page-module-development` 及条件专项 skill;`implement` 仅为显式兼容入口 | 前后端代码、TDD、YSS Skill Execution Result;仅允许 `ready-for-agent` 且合同当前 |
|
|
61
|
+
| 验证 / 发布 / 复盘 `stage.verification-release-retrospective` | `work-unit.frontend-implementation-verification`、`work-unit.code-review`、`work-unit.release-and-retrospective` | `code-review`;UI 影响追加 `yss-ui` + `yss-design-system`;发布 / 复盘由 `yss-product-lifecycle` 持有 | 不可变候选快照、独立审查、fresh verification、发布 / 回滚证据、复盘;UI 影响追加 `gate.frontend-implementation-verified`;`gate.release-ready` |
|
|
62
|
+
|
|
49
63
|
- 生命周期注册表中的条件门禁全部按影响面强制。命中触发条件时必须完成;未命中时只记录 `not-applicable` 及原因,不生成空文档;不得把产物、工作单元或证据统称为门禁。
|
|
50
64
|
- 安全 / 权限不设独立生命周期资料或专属门禁。日常功能不做额外登记、`not-applicable` 或推导校验;只有需求或冻结资产明确要求改变认证、授权、租户隔离、敏感数据或合规行为时,才把该行为写入普通 Spec、API、架构、验收和测试 seam,并仅按实际 UI、API、Backend、Data、High-risk 影响触发既有门禁。普通 action 注册、沿用既有认证中间件、未变化的 `401` / `403`、一般字段、SQL / DDL / 迁移和上传 / 下载本身不构成安全 / 权限专项。
|
|
51
65
|
- `seam-deferred` 只能显式记录风险、责任人、后续 Ticket、验证计划和目标版本或发布日期。
|
|
@@ -68,6 +82,7 @@ README、用户指南、根目录 `CLAUDE.md` 和其他说明文档只引用或
|
|
|
68
82
|
- 无可复用工程时,先确认外部目标仓库或输出目录,再使用 `yss-ddd-scaffold-generator` / `yss-frontend-scaffold-generator`;当前仓库缺少 frontend / backend 目录不改变此路由。
|
|
69
83
|
- 脚手架只在 `scaffold_status=required` 且受控生成合同已持久化、获得生命周期批准后运行;它只产生机械骨架,业务行为回到 Router 并使用 `behavior-tdd`。
|
|
70
84
|
- 正式垂直切片必须消费已批准、已持久化且版本当前的 Slice Implementation Contract。Router 只生成草案,不批准合同、不设置 `ready-for-agent`、不宣布完成。合同 schema、Backend 子合同和证据字段以 `yss-router` references 为准。
|
|
85
|
+
- UI 影响切片必须在 `ready-for-agent` 前具备通过校验的 `frontend_implementation_plan`,实现完成后补齐 `frontend_implementation_verification`;截图 / 视觉回归、状态与交互、console warning 和实际 `pnpm` 退出码均须有证据,不能只做 type-check 或声称“已对齐”。
|
|
71
86
|
- 前端测试、type-check 与构建优先使用 `pnpm`;后端校验、测试与编译优先使用项目根 `./mvnw`。不要默认 `npm` / `yarn` 或裸 `mvn`。既有仓库确实没有 pnpm 或 Maven Wrapper 时,必须记录受控例外和实际命令。登记字段见 `docs/process/implementation-repo-integration.md`。
|
|
72
87
|
- 路径越界、证据缺失、未执行验证、`drift`、`violation` 或 `new_impacts` 时停止实现并重新路由。
|
|
73
88
|
|
|
@@ -75,19 +90,21 @@ README、用户指南、根目录 `CLAUDE.md` 和其他说明文档只引用或
|
|
|
75
90
|
|
|
76
91
|
## 8. 专项任务的强制入口
|
|
77
92
|
|
|
93
|
+
本表补充跨阶段的触发型技能;主阶段对应的原生工作单元和条件技能以第 5 节、`yss-product-lifecycle` 及 `orchestration-contract.yaml` 为准。
|
|
94
|
+
|
|
78
95
|
| 触发情形 | 必须使用 |
|
|
79
96
|
|---|---|
|
|
80
97
|
| 技术事实、标准、第三方 API 或框架行为影响决策 | `research` 或等价的一手资料记录 |
|
|
81
98
|
| 竞品、市场或用户口碑事实 | `competitive-intelligence` |
|
|
82
|
-
| UI 设计、原型、组件或主题 | `yss-design-system`
|
|
99
|
+
| UI 设计、原型、组件或主题 | `yss-design-system` → `prototype-review` → `yss-prototype-stage`;原型事实用 `yss-antd-design`,Codex 再路由 `product-design:index`,其他 Agent 交付等价合同资产。前端代码落地改用 `yss-ui`,不要继续调用 `yss-antd-design` |
|
|
83
100
|
| Bug、测试失败或性能回退 | `diagnosing-bugs` 建立可复现反馈,再用 `tdd` |
|
|
84
101
|
| merge / rebase 冲突 | `resolving-merge-conflicts` |
|
|
85
|
-
| 架构治理、难测模块或深模块设计 | `improve-codebase-architecture`
|
|
102
|
+
| 架构治理、难测模块或深模块设计 | `codebase-design`;`improve-codebase-architecture` 仅作为用户显式兼容入口 |
|
|
86
103
|
| 跨线程、跨仓库、上下文过长或原型结论回流 | `handoff` 或等价交接记录 |
|
|
87
104
|
| 数字人角色、Agent 运行时协同或生命周期会签 | 先读 `docs/agents/digital-human-roles.yaml`。职称实例叠加在编排器上,不另起生命周期,不批准 Slice 合同、不设 `ready-for-agent`、不宣布可发布 |
|
|
88
105
|
| 本地知识库 init / refresh / rebuild,或要把研究结果落成持久 wiki | `llm-wiki`(落成持久 wiki 用 `ingest`;已映射 live 源变了用 `refresh`)。`template-source` 的 wiki-root 为 `.template-source/wiki`;`project-instance` 不附带源仓库编译树,需要时在仓库根 `wiki/` 执行 `init` |
|
|
89
106
|
|
|
90
|
-
业务行为默认按 `tdd`
|
|
107
|
+
业务行为默认按 `tdd` 的 `behavior-tdd` 模式使用已确认的公开 seam 逐切片实现。一次性生成、纯配置或流程文档不适用代码 TDD 时,必须记录例外理由和可执行验证方式。
|
|
91
108
|
|
|
92
109
|
## 9. 工作区与实现仓库边界
|
|
93
110
|
|
package/template/CONTEXT.md
CHANGED
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
| 试验技能 | 尚未达到项目默认支持成熟度的技能。 | — | 只在明确试验范围内使用,不进入 Router 默认技能闭包。 |
|
|
76
76
|
| 显式兼容入口 | 为已有用户操作习惯保留的 user-invoked 工作流入口,写入前由生命周期编排器预检,结果回交其验收。 | — | 不是默认路径、过时别名或可以越过门禁的第二套生命周期。 |
|
|
77
77
|
| 技能成熟度 | 描述技能从 `draft`、`verified`、`supported` 到 `deprecated` 的治理状态。 | — | 不等同于文件存在、已被投影或能够安装。 |
|
|
78
|
-
| 技能注册表 | 记录技能身份、别名、分层、适用影响面、成熟度、默认可发现性和 Agent 运行时入口的机器可读路由资产。 | — | 不替代 `skills-lock.json` 的来源、hash 和投影完整性职责。当前 `docs/agents/yss-skill-registry.yaml` 为 `
|
|
78
|
+
| 技能注册表 | 记录技能身份、别名、分层、适用影响面、成熟度、默认可发现性和 Agent 运行时入口的机器可读路由资产。 | — | 不替代 `skills-lock.json` 的来源、hash 和投影完整性职责。当前 `docs/agents/yss-skill-registry.yaml` 为 `active`,Router、生命周期编排器和实例发现面必须消费通过校验的 canonical 技能及其 alias 解析结果。 |
|
|
79
79
|
| LLM Wiki | 由 `raw/`、`wiki/` 与 `.wiki-manifest.json` 组成的本地持久知识库。 | — | 不是 `research` 一次性笔记,也不替代权威源。`ingest` 只把用户点名的外源或已落盘研究笔记编进 IR,不改 live 权威文件。 |
|
|
80
80
|
| 生态发布清单 | 关联模板 schema 与 commit、CLI 版本与快照、公开技能来源与导出 hash 的跨仓发布证据。 | — | 不要求尚未生成的仓库 commit 互相循环引用。 |
|
|
81
81
|
| 研发管理仓库 | 承载 Spec、OpenAPI、架构、Ticket、验证、发布和复盘等研发管理资产的仓库。 | — | 不等同于前端 / 后端代码 monorepo。 |
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
| `triage-labels.md` | 标准五态 triage 标签与含义 |
|
|
20
20
|
| `domain.md` | 领域文档读取和维护规则 |
|
|
21
21
|
| `skills-maintenance.md` | Engineering Skills 的安装、升级和验证说明 |
|
|
22
|
-
| `yss-skill-registry.yaml` | 技能分层、别名与运行时入口(
|
|
22
|
+
| `yss-skill-registry.yaml` | 技能分层、别名与运行时入口(active;不替代锁文件) |
|
|
23
23
|
| `gitlab-workflow-skills.md` | GitLab、MR、CI 和自动 gitworks 的技能配置与使用规则 |
|
|
24
24
|
|
|
25
25
|
当 `AGENTS.md` 或某个 skill 提到本目录时,应优先把这里当作项目协作规则读取;真正的 skill 执行入口是各平台投影根,Cursor 为 `.cursor/skills`。
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
| 执行态 | Explorer / Drafter / Worker / Reviewer / Verifier | 数字人角色 |
|
|
17
17
|
| 运行时绑定 | 如何在 Cursor / Claude / Grok 等落地 | 角色职责本身 |
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
一次数字人任务包同时写明 `task_id`、`work_unit_id`、`actor_id`、数字人角色、执行态、当前 `runtime_id`,以及从角色表复制的 `core_skills` / `forbidden_skills`。可用 `taskPackageDefaults(roleId)`(`scripts/lib/digital-human-roles.mjs`)读取,禁止手写第二套技能包。任务包 canonical Schema 为 `docs/process/schemas/digital-human-task-package.schema.json`,按 `contract.kind` 选择生命周期、切片实现或模板维护合同。
|
|
20
20
|
|
|
21
21
|
## 会签人
|
|
22
22
|
|
|
@@ -80,4 +80,4 @@ Grok 专用操作见 `docs/templates/grok-bot-profile-template.md`。通用实
|
|
|
80
80
|
|
|
81
81
|
## 任务包最低字段
|
|
82
82
|
|
|
83
|
-
|
|
83
|
+
`task_id`、`work_unit_id`、`actor_id`、数字人角色 ID、`runtime_id`、执行态、从角色表复制的 `core_skills` / `forbidden_skills`、`contract.kind/id/version`、输入资产、允许写路径、禁止事项、验收、验证命令、证据、下游消费者和汇合方式。
|
|
@@ -157,7 +157,7 @@ roles:
|
|
|
157
157
|
title: YSS 后端工程师
|
|
158
158
|
stages: [stage.system-data-engineering, stage.ticket-formalization, stage.vertical-slice-implementation, stage.verification-release-retrospective]
|
|
159
159
|
draft_artifact_ids: [artifact.openapi-draft, artifact.data-architecture]
|
|
160
|
-
core_skills: [yss-router, yss-domain, yss-application, yss-repository, yss-mybatis, yss-web-controller, yss-dto, yss-exception, yss-validation, tdd, yss-ddd-scaffold-generator]
|
|
160
|
+
core_skills: [yss-router, yss-tactical-design, yss-domain, yss-application, yss-repository, yss-mybatis, yss-web-controller, yss-dto, yss-exception, yss-validation, tdd, yss-ddd-scaffold-generator]
|
|
161
161
|
forbidden_skills: [yss-ui, yss-page-module-development, yss-formily, yss-frontend-scaffold-generator, yss-antd-design, page-list-module, page-form-module]
|
|
162
162
|
description: >-
|
|
163
163
|
Own OpenAPI Draft, data-architecture contributions, and backend tests.
|
|
@@ -242,6 +242,12 @@ gate_policy:
|
|
|
242
242
|
- gate: gate.spec-baseline-approved
|
|
243
243
|
drafter: role.requirements-manager
|
|
244
244
|
countersigners: [role.product-manager]
|
|
245
|
+
- gate: gate.domain-strategy-approved
|
|
246
|
+
drafter: role.requirements-manager
|
|
247
|
+
countersigners: [role.product-manager]
|
|
248
|
+
- gate: gate.stage-decision-package-approved
|
|
249
|
+
drafter: role.requirements-manager
|
|
250
|
+
countersigners: [role.product-manager]
|
|
245
251
|
- gate: gate.openapi-frozen
|
|
246
252
|
drafter: role.backend-engineer
|
|
247
253
|
countersigners: [role.product-manager, role.test-engineer]
|
|
@@ -336,6 +336,12 @@ skills:
|
|
|
336
336
|
instance_default_discoverable: false
|
|
337
337
|
aliases: []
|
|
338
338
|
impacts: [backend]
|
|
339
|
+
- id: yss-tactical-design
|
|
340
|
+
layer: specialist
|
|
341
|
+
maturity: draft
|
|
342
|
+
instance_default_discoverable: false
|
|
343
|
+
aliases: []
|
|
344
|
+
impacts: [backend, lifecycle]
|
|
339
345
|
- id: yss-dto
|
|
340
346
|
layer: specialist
|
|
341
347
|
maturity: supported
|
|
@@ -438,6 +444,12 @@ skills:
|
|
|
438
444
|
instance_default_discoverable: true
|
|
439
445
|
aliases: []
|
|
440
446
|
impacts: [lifecycle, backend, frontend]
|
|
447
|
+
- id: yss-stage-decision
|
|
448
|
+
layer: core
|
|
449
|
+
maturity: draft
|
|
450
|
+
instance_default_discoverable: true
|
|
451
|
+
aliases: []
|
|
452
|
+
impacts: [discovery, lifecycle]
|
|
441
453
|
- id: yss-security-algorithm
|
|
442
454
|
layer: specialist
|
|
443
455
|
maturity: supported
|
|
@@ -67,6 +67,7 @@ owner: ai
|
|
|
67
67
|
## 8. Tactical DDD Check(轻量)
|
|
68
68
|
|
|
69
69
|
> 本节嵌入系统概要设计 / 数据架构,不新增独立阶段。只有当聚合边界、状态机、一致性或持久化映射复杂到无法在本节说明时,才升级为 `docs/.scratch/<feature>/architecture/<feature>-tactical-design.md`。
|
|
70
|
+
> 战术设计优先引用结构化 `tactical-design` contract(含 `version`、`digest` 和 `evidence.tactical-design-review`);独立文档只承载复杂场景的展开,不成为第二套事实源。
|
|
70
71
|
|
|
71
72
|
| 限界上下文 | 聚合根 | 业务不变量 | Entity / Value Object | 一致性边界 | Gateway / Repository | 主要测试 seam |
|
|
72
73
|
|------------|--------|------------|-----------------------|------------|----------------------|----------------|
|
|
@@ -27,6 +27,8 @@
|
|
|
27
27
|
| 稳定 ID | 门禁 | 所属阶段 | 触发条件 | 前置门禁 | 必须留下的证据 |
|
|
28
28
|
|---|---|---|---|---|---|
|
|
29
29
|
| `gate.repository-identity-valid` | 仓库身份校验 | `stage.entry-triage` | 每次进入流程。 | 无 | `evidence.repository-identity-check` |
|
|
30
|
+
| `gate.domain-strategy-approved` | DDD 战略设计批准 | `stage.discovery` | 存在 DDD 战略设计影响或需要确定领域边界、统一语言和核心规则。 | 无 | `evidence.domain-strategy-review`、`evidence.approval-record` |
|
|
31
|
+
| `gate.stage-decision-package-approved` | 阶段决策包批准 | `stage.discovery` | Discovery 到 Spec 入口需要稳定的阶段决策合同。 | `gate.domain-strategy-approved` | `evidence.stage-decision-package`、`evidence.approval-record` |
|
|
30
32
|
| `gate.spec-baseline-approved` | Spec 基线批准 | `stage.spec-architecture` | 新功能、行为变化或范围扩大进入 Spec 基线。 | 无 | `evidence.approval-record` |
|
|
31
33
|
| `gate.prototype-reviewed` | 原型评审 | `stage.product-design` | 命中产品设计影响,且低保真页面、流程、状态或 API 反推需要独立评审。 | 无 | `evidence.prototype-review-result` |
|
|
32
34
|
| `gate.prototype-verified` | 高保真原型验证 | `stage.product-design` | 需要高保真 HTML 原型进行视觉与交互校准。 | 无 | `evidence.antd-cli-validation`、`evidence.browser-prototype-verification` |
|
|
@@ -46,6 +48,8 @@
|
|
|
46
48
|
| 稳定 ID | 产物 | 所属阶段 | 触发条件 |
|
|
47
49
|
|---|---|---|---|
|
|
48
50
|
| `artifact.impact-assessment` | 影响面分析 | `stage.entry-triage` | 每次变更。 |
|
|
51
|
+
| `artifact.domain-strategy` | DDD 战略设计 | `stage.discovery` | 新产品/模块、跨上下文功能、统一语言冲突、服务边界或核心规则变化。 |
|
|
52
|
+
| `artifact.stage-decision-package` | 阶段决策包 | `stage.discovery` | Discovery 到 Spec 入口需要结构化上游决策。 |
|
|
49
53
|
| `artifact.discovery-record` | Discovery 记录 | `stage.discovery` | 新问题或边界不清。 |
|
|
50
54
|
| `artifact.spec` | Spec | `stage.spec-architecture` | 新功能、行为变化或范围扩大。 |
|
|
51
55
|
| `artifact.product-overview` | 产品总体设计 | `stage.spec-architecture` | 进入 Spec 基线。 |
|
|
@@ -61,6 +65,7 @@
|
|
|
61
65
|
| `artifact.data-architecture` | 数据架构 | `stage.system-data-engineering` | 数据模型、存储或一致性变化。 |
|
|
62
66
|
| `artifact.engineering-baseline` | 工程基线记录 | `stage.system-data-engineering` | 后端、前端或高风险工程变化。 |
|
|
63
67
|
| `artifact.architecture-review` | 架构审查记录 | `stage.system-data-engineering` | 高风险或跨边界变化。 |
|
|
68
|
+
| `artifact.tactical-design` | DDD 战术设计 | `stage.system-data-engineering` | 聚合边界、状态机、一致性或持久化映射复杂到无法在系统概要设计的 Tactical DDD Check 中清楚表达。 |
|
|
64
69
|
| `artifact.spec-delta` | Spec Delta | `stage.spec-architecture` | 已有冻结 Spec 的高风险行为变化。 |
|
|
65
70
|
| `artifact.parent-ticket` | 功能父 Ticket | `stage.ticket-formalization` | 每个进入追踪的功能。 |
|
|
66
71
|
| `artifact.vertical-slice-ticket` | 垂直切片 Ticket | `stage.ticket-formalization` | 进入实现前。 |
|
|
@@ -74,6 +79,9 @@
|
|
|
74
79
|
| 稳定 ID | 证据 | 说明 |
|
|
75
80
|
|---|---|---|
|
|
76
81
|
| `evidence.impact-assessment` | 影响面分析记录 | 受影响仓库、资产、风险与最近可信阶段。 |
|
|
82
|
+
| `evidence.domain-strategy-review` | DDD 战略设计评审证据 | 子域、限界上下文、统一语言、Context Map、场景和不变量的结构化评审结果。 |
|
|
83
|
+
| `evidence.tactical-design-review` | DDD 战术设计评审证据 | 聚合、Entity、Value Object、不变量、状态机、一致性、Gateway 与 API 隔离的结构化评审结果。 |
|
|
84
|
+
| `evidence.stage-decision-package` | 阶段决策包验证证据 | 阶段决策包的 Schema、引用、语义一致性、影响传播和下游消费验证结果。 |
|
|
77
85
|
| `evidence.maintenance-intensity-checkpoint` | 模板维护强度 checkpoint | template-source 变更的 L1 / L2 / L3 分级、触发项、最低验证证据、review 模式和升级记录。 |
|
|
78
86
|
| `evidence.repository-identity-check` | 仓库身份校验结果 | yss-project.yaml 的合法性与 repository_mode 裁决。 |
|
|
79
87
|
| `evidence.approval-record` | 人工批准记录 | 对需要人工批准的 Spec、设计、契约或发布裁决的可追溯记录。 |
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schema_version": 1,
|
|
3
3
|
"registry_id": "yss.lifecycle",
|
|
4
|
-
"semantic_sha256": "
|
|
4
|
+
"semantic_sha256": "49ca553e83efb9cffae220d9e6fca434b1d27096126a640f8f8e172e048808df",
|
|
5
5
|
"published_ids": [
|
|
6
6
|
"artifact.architecture-review",
|
|
7
7
|
"artifact.data-architecture",
|
|
8
8
|
"artifact.discovery-record",
|
|
9
|
+
"artifact.domain-strategy",
|
|
9
10
|
"artifact.engineering-baseline",
|
|
10
11
|
"artifact.frontend-implementation-plan",
|
|
11
12
|
"artifact.frontend-implementation-verification",
|
|
@@ -24,7 +25,9 @@
|
|
|
24
25
|
"artifact.slice-implementation-contract",
|
|
25
26
|
"artifact.spec",
|
|
26
27
|
"artifact.spec-delta",
|
|
28
|
+
"artifact.stage-decision-package",
|
|
27
29
|
"artifact.state-matrix",
|
|
30
|
+
"artifact.tactical-design",
|
|
28
31
|
"artifact.vertical-slice-ticket",
|
|
29
32
|
"evidence.antd-cli-validation",
|
|
30
33
|
"evidence.approval-record",
|
|
@@ -32,6 +35,7 @@
|
|
|
32
35
|
"evidence.checkpoint-and-rollback",
|
|
33
36
|
"evidence.contract-approval",
|
|
34
37
|
"evidence.design-review-result",
|
|
38
|
+
"evidence.domain-strategy-review",
|
|
35
39
|
"evidence.fresh-verification",
|
|
36
40
|
"evidence.frontend-implementation-verification",
|
|
37
41
|
"evidence.impact-assessment",
|
|
@@ -40,9 +44,12 @@
|
|
|
40
44
|
"evidence.prototype-confirmation",
|
|
41
45
|
"evidence.prototype-review-result",
|
|
42
46
|
"evidence.repository-identity-check",
|
|
47
|
+
"evidence.stage-decision-package",
|
|
48
|
+
"evidence.tactical-design-review",
|
|
43
49
|
"evidence.yss-skill-execution-result",
|
|
44
50
|
"gate.architecture-reviewed",
|
|
45
51
|
"gate.design-reviewed",
|
|
52
|
+
"gate.domain-strategy-approved",
|
|
46
53
|
"gate.engineering-baseline-accepted",
|
|
47
54
|
"gate.frontend-implementation-verified",
|
|
48
55
|
"gate.openapi-draft-reviewed",
|
|
@@ -54,6 +61,7 @@
|
|
|
54
61
|
"gate.slice-contract-approved",
|
|
55
62
|
"gate.slice-ready-for-agent",
|
|
56
63
|
"gate.spec-baseline-approved",
|
|
64
|
+
"gate.stage-decision-package-approved",
|
|
57
65
|
"gate.user-confirmation",
|
|
58
66
|
"stage.discovery",
|
|
59
67
|
"stage.entry-triage",
|
|
@@ -67,6 +75,7 @@
|
|
|
67
75
|
"work-unit.code-review",
|
|
68
76
|
"work-unit.discovery-opportunity",
|
|
69
77
|
"work-unit.discovery-requirements",
|
|
78
|
+
"work-unit.domain-strategy-design",
|
|
70
79
|
"work-unit.entry-triage",
|
|
71
80
|
"work-unit.fresh-verification",
|
|
72
81
|
"work-unit.independent-review",
|
|
@@ -80,6 +89,7 @@
|
|
|
80
89
|
"work-unit.slice-implementation",
|
|
81
90
|
"work-unit.spec-synthesis",
|
|
82
91
|
"work-unit.ssot-update",
|
|
92
|
+
"work-unit.stage-decision",
|
|
83
93
|
"work-unit.technical-analysis",
|
|
84
94
|
"work-unit.ticket-decomposition",
|
|
85
95
|
"work-unit.template-snapshot-build"
|
|
@@ -48,6 +48,15 @@ evidence:
|
|
|
48
48
|
- id: evidence.impact-assessment
|
|
49
49
|
name: 影响面分析记录
|
|
50
50
|
description: 受影响仓库、资产、风险与最近可信阶段。
|
|
51
|
+
- id: evidence.domain-strategy-review
|
|
52
|
+
name: DDD 战略设计评审证据
|
|
53
|
+
description: 子域、限界上下文、统一语言、Context Map、场景和不变量的结构化评审结果。
|
|
54
|
+
- id: evidence.tactical-design-review
|
|
55
|
+
name: DDD 战术设计评审证据
|
|
56
|
+
description: 聚合、Entity、Value Object、不变量、状态机、一致性、Gateway 与 API 隔离的结构化评审结果。
|
|
57
|
+
- id: evidence.stage-decision-package
|
|
58
|
+
name: 阶段决策包验证证据
|
|
59
|
+
description: 阶段决策包的 Schema、引用、语义一致性、影响传播和下游消费验证结果。
|
|
51
60
|
- id: evidence.maintenance-intensity-checkpoint
|
|
52
61
|
name: 模板维护强度 checkpoint
|
|
53
62
|
description: template-source 变更的 L1 / L2 / L3 分级、触发项、最低验证证据、review 模式和升级记录。
|
|
@@ -97,6 +106,17 @@ gates:
|
|
|
97
106
|
stage: stage.entry-triage
|
|
98
107
|
trigger: 每次进入流程。
|
|
99
108
|
evidence: [evidence.repository-identity-check]
|
|
109
|
+
- id: gate.domain-strategy-approved
|
|
110
|
+
name: DDD 战略设计批准
|
|
111
|
+
stage: stage.discovery
|
|
112
|
+
trigger: 存在 DDD 战略设计影响或需要确定领域边界、统一语言和核心规则。
|
|
113
|
+
evidence: [evidence.domain-strategy-review, evidence.approval-record]
|
|
114
|
+
- id: gate.stage-decision-package-approved
|
|
115
|
+
name: 阶段决策包批准
|
|
116
|
+
stage: stage.discovery
|
|
117
|
+
trigger: Discovery 到 Spec 入口需要稳定的阶段决策合同。
|
|
118
|
+
evidence: [evidence.stage-decision-package, evidence.approval-record]
|
|
119
|
+
requires_gates: [gate.domain-strategy-approved]
|
|
100
120
|
- id: gate.spec-baseline-approved
|
|
101
121
|
name: Spec 基线批准
|
|
102
122
|
stage: stage.spec-architecture
|
|
@@ -169,6 +189,14 @@ artifacts:
|
|
|
169
189
|
name: 影响面分析
|
|
170
190
|
stage: stage.entry-triage
|
|
171
191
|
trigger: 每次变更。
|
|
192
|
+
- id: artifact.domain-strategy
|
|
193
|
+
name: DDD 战略设计
|
|
194
|
+
stage: stage.discovery
|
|
195
|
+
trigger: 新产品/模块、跨上下文功能、统一语言冲突、服务边界或核心规则变化。
|
|
196
|
+
- id: artifact.stage-decision-package
|
|
197
|
+
name: 阶段决策包
|
|
198
|
+
stage: stage.discovery
|
|
199
|
+
trigger: Discovery 到 Spec 入口需要结构化上游决策。
|
|
172
200
|
- id: artifact.discovery-record
|
|
173
201
|
name: Discovery 记录
|
|
174
202
|
stage: stage.discovery
|
|
@@ -229,6 +257,10 @@ artifacts:
|
|
|
229
257
|
name: 架构审查记录
|
|
230
258
|
stage: stage.system-data-engineering
|
|
231
259
|
trigger: 高风险或跨边界变化。
|
|
260
|
+
- id: artifact.tactical-design
|
|
261
|
+
name: DDD 战术设计
|
|
262
|
+
stage: stage.system-data-engineering
|
|
263
|
+
trigger: 聚合边界、状态机、一致性或持久化映射复杂到无法在系统概要设计的 Tactical DDD Check 中清楚表达。
|
|
232
264
|
- id: artifact.spec-delta
|
|
233
265
|
name: Spec Delta
|
|
234
266
|
stage: stage.spec-architecture
|
|
@@ -319,6 +351,18 @@ work_units:
|
|
|
319
351
|
input: 机会结论、用户反馈和领域词汇。
|
|
320
352
|
output: 用户、MVP、非目标、成功标准、测试 seam 和未决项。
|
|
321
353
|
completion: frontier 清空;用户确认;无 runnable blocker。
|
|
354
|
+
- id: work-unit.domain-strategy-design
|
|
355
|
+
name: DDD 战略设计
|
|
356
|
+
scope: project-instance
|
|
357
|
+
input: 已澄清的业务场景、领域词汇、约束和现有上下文。
|
|
358
|
+
output: 子域、限界上下文、Context Map、统一语言、事件、核心领域概念候选和不变量。
|
|
359
|
+
completion: 边界、语义方向、规则所有权和关键场景可审查;无未解释冲突。
|
|
360
|
+
- id: work-unit.stage-decision
|
|
361
|
+
name: 阶段决策包综合
|
|
362
|
+
scope: project-instance
|
|
363
|
+
input: Discovery、DDD 战略设计、产品和商务输入。
|
|
364
|
+
output: 带版本、digest、证据和下游映射的阶段决策包。
|
|
365
|
+
completion: 必填字段、引用、影响面和下游消费验证通过;批准门禁完成。
|
|
322
366
|
- id: work-unit.spec-synthesis
|
|
323
367
|
name: Spec 综合
|
|
324
368
|
scope: project-instance
|
|
@@ -335,8 +379,8 @@ work_units:
|
|
|
335
379
|
name: 技术分析与契约冻结
|
|
336
380
|
scope: project-instance
|
|
337
381
|
input: Spec、原型、API/数据/工程影响面。
|
|
338
|
-
output: OpenAPI
|
|
339
|
-
completion: 命中契约已冻结;无 API
|
|
382
|
+
output: OpenAPI、数据架构、Tactical DDD Check、工程基线、架构审查和 Slice 合同草案。
|
|
383
|
+
completion: 命中契约已冻结;无 API 影响有可读记录;命中领域影响时战术模型无未解释冲突;工程基线通过。
|
|
340
384
|
- id: work-unit.ticket-decomposition
|
|
341
385
|
name: 垂直切片 Ticket 正式化
|
|
342
386
|
scope: project-instance
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://yss.dev/schemas/digital-human-task-package.schema.json",
|
|
4
|
+
"title": "YSS Digital Human Task Package",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": ["schema_version", "task_id", "work_unit_id", "actor_id", "role_id", "runtime_id", "execution_state", "workflow_status", "skill_source", "contract", "inputs", "objective", "allowed_write_paths", "forbidden_actions", "expected_outputs", "expected_evidence_files", "verification_commands", "verification_results", "downstream_consumers", "convergence"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"schema_version": { "const": 1 },
|
|
10
|
+
"task_id": { "type": "string", "minLength": 1, "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$" },
|
|
11
|
+
"work_unit_id": { "type": "string", "minLength": 1, "pattern": "^work-unit\\.[a-z0-9][a-z0-9-]*$" },
|
|
12
|
+
"actor_id": { "type": "string", "minLength": 1, "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._:-]*$" },
|
|
13
|
+
"role_id": { "type": "string", "pattern": "^role\\.[a-z0-9][a-z0-9-]*$" },
|
|
14
|
+
"runtime_id": { "type": "string", "pattern": "^runtime\\.[a-z0-9][a-z0-9-]*$" },
|
|
15
|
+
"execution_state": { "enum": ["Explorer", "Drafter", "Worker", "Reviewer", "Verifier"] },
|
|
16
|
+
"workflow_status": { "enum": ["not-started", "active", "paused", "resolved", "failed"] },
|
|
17
|
+
"stage_id": { "type": "string", "pattern": "^stage\\.[a-z0-9][a-z0-9-]*$" },
|
|
18
|
+
"feature_id": { "type": "string", "minLength": 1 },
|
|
19
|
+
"skill_source": {
|
|
20
|
+
"type": "object", "additionalProperties": false,
|
|
21
|
+
"required": ["registry_ref", "defaults_ref", "core_skills", "forbidden_skills"],
|
|
22
|
+
"properties": {
|
|
23
|
+
"registry_ref": { "const": "docs/agents/digital-human-roles.yaml" },
|
|
24
|
+
"defaults_ref": { "type": "string", "minLength": 1 },
|
|
25
|
+
"core_skills": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "minLength": 1 } },
|
|
26
|
+
"forbidden_skills": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "minLength": 1 } }
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"contract": {
|
|
30
|
+
"type": "object", "additionalProperties": false,
|
|
31
|
+
"required": ["kind", "contract_id", "contract_version", "status", "contract_ref"],
|
|
32
|
+
"properties": {
|
|
33
|
+
"kind": { "enum": ["lifecycle-work-unit", "slice-implementation", "template-maintenance"] },
|
|
34
|
+
"contract_id": { "type": "string", "minLength": 1 },
|
|
35
|
+
"contract_version": { "type": "integer", "minimum": 1 },
|
|
36
|
+
"status": { "enum": ["issued", "stale", "blocked"] },
|
|
37
|
+
"contract_ref": { "type": "string", "minLength": 1 },
|
|
38
|
+
"lifecycle_ref": { "type": "string", "minLength": 1 },
|
|
39
|
+
"slice_contract_ref": { "type": "string", "minLength": 1 },
|
|
40
|
+
"maintenance_ref": { "type": "string", "minLength": 1 },
|
|
41
|
+
"artifact_refs": { "type": "array", "items": { "type": "string", "minLength": 1 } },
|
|
42
|
+
"gate_refs": { "type": "array", "items": { "type": "string", "minLength": 1 } }
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"inputs": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } },
|
|
46
|
+
"objective": { "type": "string", "minLength": 1 },
|
|
47
|
+
"allowed_write_paths": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "minLength": 1 } },
|
|
48
|
+
"forbidden_actions": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "minLength": 1 } },
|
|
49
|
+
"expected_outputs": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } },
|
|
50
|
+
"expected_evidence_files": { "type": "array", "minItems": 1, "uniqueItems": true, "items": { "type": "string", "minLength": 1 } },
|
|
51
|
+
"verification_commands": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } },
|
|
52
|
+
"verification_results": {
|
|
53
|
+
"type": "array", "items": {
|
|
54
|
+
"type": "object", "additionalProperties": false,
|
|
55
|
+
"required": ["command", "exit_code", "executed_at", "evidence_ref"],
|
|
56
|
+
"properties": {
|
|
57
|
+
"command": { "type": "string", "minLength": 1 },
|
|
58
|
+
"exit_code": { "type": "integer", "minimum": 0 },
|
|
59
|
+
"duration_ms": { "type": "integer", "minimum": 0 },
|
|
60
|
+
"executed_at": { "type": "string", "minLength": 1 },
|
|
61
|
+
"evidence_ref": { "type": "string", "minLength": 1 },
|
|
62
|
+
"stdout_ref": { "type": "string", "minLength": 1 },
|
|
63
|
+
"stderr_ref": { "type": "string", "minLength": 1 }
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"review_context": {
|
|
68
|
+
"type": "object", "additionalProperties": false, "required": ["implementation_actor_id"],
|
|
69
|
+
"properties": { "implementation_actor_id": { "type": "string", "minLength": 1 }, "implementation_task_id": { "type": "string", "minLength": 1 } }
|
|
70
|
+
},
|
|
71
|
+
"downstream_consumers": { "type": "array", "minItems": 1, "items": { "type": "string", "minLength": 1 } },
|
|
72
|
+
"convergence": {
|
|
73
|
+
"type": "object", "additionalProperties": false, "required": ["parent_work_unit", "convergence_ref"],
|
|
74
|
+
"properties": {
|
|
75
|
+
"parent_work_unit": { "type": "string", "pattern": "^work-unit\\.[a-z0-9][a-z0-9-]*$" },
|
|
76
|
+
"convergence_ref": { "type": "string", "minLength": 1 },
|
|
77
|
+
"conflict_escalation": { "type": "string", "minLength": 1 }
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"result": {
|
|
81
|
+
"type": "object", "additionalProperties": false,
|
|
82
|
+
"properties": {
|
|
83
|
+
"result_schema": { "const": "workflow-execution-result-v1" },
|
|
84
|
+
"work_unit": { "type": "string", "minLength": 1 },
|
|
85
|
+
"workflow_reference": { "type": "string", "minLength": 1 },
|
|
86
|
+
"result": { "enum": ["completed", "blocked", "needs-human", "failed"] },
|
|
87
|
+
"skill": { "type": "string", "minLength": 1 },
|
|
88
|
+
"changed_files": { "type": "array", "items": { "type": "string", "minLength": 1 } },
|
|
89
|
+
"changed_artifacts": { "type": "array", "items": { "type": "string", "minLength": 1 } },
|
|
90
|
+
"evidence_refs": { "type": "array", "items": { "type": "string", "minLength": 1 } },
|
|
91
|
+
"deferred_seams": { "type": "array", "items": { "type": "string", "minLength": 1 } },
|
|
92
|
+
"drift": { "type": "array", "items": { "type": "string", "minLength": 1 } },
|
|
93
|
+
"violation": { "type": "array", "items": { "type": "string", "minLength": 1 } },
|
|
94
|
+
"new_impacts": { "type": "array", "items": { "type": "string", "minLength": 1 } },
|
|
95
|
+
"stale_candidates": { "type": "array", "items": { "type": "string", "minLength": 1 } },
|
|
96
|
+
"next_route": { "type": ["string", "null"], "minLength": 1 },
|
|
97
|
+
"blocking_signals": { "type": "array", "items": { "type": "string", "minLength": 1 } }
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"allOf": [
|
|
102
|
+
{ "if": { "properties": { "contract": { "properties": { "kind": { "const": "lifecycle-work-unit" } } } } }, "then": { "required": ["stage_id"], "properties": { "contract": { "required": ["lifecycle_ref"] } } } },
|
|
103
|
+
{ "if": { "properties": { "contract": { "properties": { "kind": { "const": "slice-implementation" } } } } }, "then": { "required": ["stage_id"], "properties": { "contract": { "required": ["slice_contract_ref"] } } } },
|
|
104
|
+
{ "if": { "properties": { "contract": { "properties": { "kind": { "const": "template-maintenance" } } } } }, "then": { "properties": { "contract": { "required": ["maintenance_ref"] } } } },
|
|
105
|
+
{ "if": { "properties": { "execution_state": { "const": "Reviewer" } } }, "then": { "required": ["review_context"] } }
|
|
106
|
+
]
|
|
107
|
+
}
|
|
@@ -6,8 +6,8 @@ Subagent 和其它运行时实例只接收边界清晰的任务包。主控数
|
|
|
6
6
|
|
|
7
7
|
## 任务包
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
凡主控向数字人角色或独立运行时正式派发生命周期工作单元,都必须使用 `docs/process/schemas/digital-human-task-package.schema.json` 定义的任务包,并写明 `task_id`、`work_unit_id`、`actor_id`、数字人角色 ID、`runtime_id`、执行态、工作流状态、从 `docs/agents/digital-human-roles.yaml` 复制的 `core_skills` / `forbidden_skills`(可用 `taskPackageDefaults`)、合同类型和版本、输入资产、目标、允许写路径、禁止事项、验收标准、验证命令及其实际退出码 / 执行时间 / 证据引用、下游消费者和汇合方式。`slice-implementation` 才额外绑定 Slice Implementation Contract;禁止手写第二套技能包;任务包由 `scripts/verify-digital-human-task-package` 校验,`scripts/verify-subagent-task-package` 仅为兼容入口。
|
|
10
10
|
|
|
11
11
|
## 汇合
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
返回结果必须符合 `workflow-execution-result-v1`,至少包括 `work_unit`、`workflow_reference`、`result`、`skill`、`changed_files` / `changed_artifacts`、`evidence_refs`、实际验证结果、`deferred_seams`、`drift`、`violation`、`new_impacts`、`stale_candidates`、`blocking_signals` 和 `next_route`。主控必须重新执行 fresh verification,并在集中 checkpoint 中保留阶段因果。会签写入 `docs/.scratch/<feature>/gates/<gate-id>-approval.yaml`(形状见 `docs/templates/approval-record-template.yaml`),不能用聊天表情代替。恢复前校验 `scripts/verify-approval-record`。
|
|
@@ -3,7 +3,9 @@ status: template
|
|
|
3
3
|
owner: ai
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
#
|
|
6
|
+
# Digital Human Task Package:<task_id>
|
|
7
|
+
|
|
8
|
+
> Canonical contract: `docs/process/schemas/digital-human-task-package.schema.json`。本文件路径保留为兼容入口。
|
|
7
9
|
|
|
8
10
|
> 用于主控 Agent 派发 subagent 前固定输入、输出、写范围和验收标准。没有任务包边界时,不得派发 subagent。
|
|
9
11
|
|
|
@@ -11,7 +13,10 @@ owner: ai
|
|
|
11
13
|
|
|
12
14
|
| 字段 | 内容 |
|
|
13
15
|
|---|---|
|
|
16
|
+
| schema_version | `1` |
|
|
14
17
|
| task_id | |
|
|
18
|
+
| work_unit_id | 对应生命周期注册表的 `work_units[].id`;实现子任务对应 Slice Contract 的 `work_units[].id` |
|
|
19
|
+
| actor_id | 当前运行时实例标识;Reviewer 必须与实现者不同 |
|
|
15
20
|
| Feature / Change | |
|
|
16
21
|
| 生命周期阶段 | |
|
|
17
22
|
| 对应门禁 | |
|
|
@@ -23,6 +28,8 @@ owner: ai
|
|
|
23
28
|
| forbidden_skills | 从角色表复制,禁止手写 |
|
|
24
29
|
| subagent 角色 | Explorer / Drafter / Worker / Reviewer / Verifier |
|
|
25
30
|
| 任务类型 | explore / draft / work / review / verify |
|
|
31
|
+
| execution_state | 与 subagent 角色一致;由主控派发 |
|
|
32
|
+
| workflow_status | not-started / active / paused / resolved / failed |
|
|
26
33
|
|
|
27
34
|
## 2. 输入资产
|
|
28
35
|
|
|
@@ -35,11 +42,36 @@ owner: ai
|
|
|
35
42
|
| Ticket / Slice / Checklist | | |
|
|
36
43
|
| 代码 / 命令 / 其他 | | |
|
|
37
44
|
|
|
45
|
+
## 2.1 合同与技能来源
|
|
46
|
+
|
|
47
|
+
| 字段 | 内容 |
|
|
48
|
+
|---|---|
|
|
49
|
+
| contract_id | |
|
|
50
|
+
| contract_version | |
|
|
51
|
+
| contract_kind | `lifecycle-work-unit` / `slice-implementation` / `template-maintenance` |
|
|
52
|
+
| contract_status | `issued` / `stale` / `blocked`;不替代生命周期门禁批准 |
|
|
53
|
+
| contract_ref | |
|
|
54
|
+
| lifecycle_ref | 生命周期工作单元使用 |
|
|
55
|
+
| Slice Implementation Contract | 仅 `slice-implementation` 填写 |
|
|
56
|
+
| maintenance_ref | 仅 `template-maintenance` 填写维护 checkpoint |
|
|
57
|
+
| 技能注册表 | `docs/agents/digital-human-roles.yaml` |
|
|
58
|
+
| 技能默认值 | `taskPackageDefaults(<role_id>)` |
|
|
59
|
+
|
|
38
60
|
## 3. 输出要求
|
|
39
61
|
|
|
40
62
|
| 输出 | 路径 / 链接 | 完成标准 |
|
|
41
63
|
|---|---|---|
|
|
42
64
|
| | | |
|
|
65
|
+
| expected_evidence_files | | |
|
|
66
|
+
|
|
67
|
+
## 3.1 下游与汇合
|
|
68
|
+
|
|
69
|
+
| 字段 | 内容 |
|
|
70
|
+
|---|---|
|
|
71
|
+
| downstream_consumers | |
|
|
72
|
+
| parent_work_unit | `<work-unit.id>` |
|
|
73
|
+
| convergence_ref | |
|
|
74
|
+
| conflict_escalation | |
|
|
43
75
|
|
|
44
76
|
## 4. 写范围
|
|
45
77
|
|
|
@@ -77,6 +109,12 @@ owner: ai
|
|
|
77
109
|
| 主控 Agent 合并动作 | 采纳 / 部分采纳 / 不采纳 / 需返工 |
|
|
78
110
|
| 未采纳原因 | |
|
|
79
111
|
|
|
112
|
+
## 7.1 实际验证结果
|
|
113
|
+
|
|
114
|
+
| 命令 | exit_code | executed_at | evidence_ref |
|
|
115
|
+
|---|---:|---|---|
|
|
116
|
+
| | | | |
|
|
117
|
+
|
|
80
118
|
## 8. 子代理最终回复格式
|
|
81
119
|
|
|
82
120
|
```markdown
|