universal-dev-standards 5.16.0 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/uds.js +13 -135
- package/bundled/ai/standards/acceptance-criteria-traceability.ai.yaml +13 -4
- package/bundled/ai/standards/accessibility-standards.ai.yaml +1 -1
- package/bundled/ai/standards/ai-response-navigation.ai.yaml +15 -2
- package/bundled/ai/standards/api-design-standards.ai.yaml +27 -4
- package/bundled/ai/standards/behavior-snapshot.ai.yaml +86 -9
- package/bundled/ai/standards/checkin-standards.ai.yaml +2 -2
- package/bundled/ai/standards/code-review.ai.yaml +2 -2
- package/bundled/ai/standards/context-aware-loading.ai.yaml +3 -3
- package/bundled/ai/standards/data-migration-testing.ai.yaml +79 -3
- package/bundled/ai/standards/deprecation-standards.ai.yaml +10 -2
- package/bundled/ai/standards/developer-memory.ai.yaml +4 -3
- package/bundled/ai/standards/flow-based-testing.ai.yaml +2 -2
- package/bundled/ai/standards/forward-derivation-standards.ai.yaml +26 -2
- package/bundled/ai/standards/full-coverage-testing.ai.yaml +34 -2
- package/bundled/ai/standards/git-worktree.ai.yaml +3 -3
- package/bundled/ai/standards/logging.ai.yaml +97 -3
- package/bundled/ai/standards/mock-boundary.ai.yaml +48 -2
- package/bundled/ai/standards/model-provenance.ai.yaml +297 -0
- package/bundled/ai/standards/model-selection.ai.yaml +11 -2
- package/bundled/ai/standards/observability-standards.ai.yaml +10 -0
- package/bundled/ai/standards/performance-standards.ai.yaml +46 -1
- package/bundled/ai/standards/pii-classification.ai.yaml +15 -1
- package/bundled/ai/standards/pipeline-security-gates.ai.yaml +10 -0
- package/bundled/ai/standards/privacy-standards.ai.yaml +2 -2
- package/bundled/ai/standards/project-context-memory.ai.yaml +2 -2
- package/bundled/ai/standards/refactoring-standards.ai.yaml +68 -3
- package/bundled/ai/standards/resource-cost-boundary.ai.yaml +279 -0
- package/bundled/ai/standards/reverse-engineering-standards.ai.yaml +55 -2
- package/bundled/ai/standards/security-testing.ai.yaml +13 -2
- package/bundled/ai/standards/skill-standard-alignment-check.ai.yaml +37 -2
- package/bundled/ai/standards/user-journey-testing.ai.yaml +107 -0
- package/bundled/ai/standards/verification-oracle.ai.yaml +278 -0
- package/bundled/ai/standards/versioning.ai.yaml +32 -38
- package/bundled/core/acceptance-criteria-traceability.md +15 -5
- package/bundled/core/accessibility-standards.md +8 -4
- package/bundled/core/ai-friendly-architecture.md +1 -1
- package/bundled/core/ai-response-navigation.md +31 -3
- package/bundled/core/anti-sycophancy-prompting.md +1 -1
- package/bundled/core/api-design-standards.md +92 -7
- package/bundled/core/audit-trail.md +119 -0
- package/bundled/core/behavior-snapshot.md +94 -7
- package/bundled/core/browser-compatibility-standards.md +15 -2
- package/bundled/core/checkin-standards.md +9 -2
- package/bundled/core/code-review-checklist.md +10 -2
- package/bundled/core/container-image-standards.md +97 -0
- package/bundled/core/context-aware-loading.md +2 -2
- package/bundled/core/cost-budget-test.md +1 -1
- package/bundled/core/cross-flow-regression.md +3 -2
- package/bundled/core/data-contract.md +104 -0
- package/bundled/core/data-migration-testing.md +90 -0
- package/bundled/core/data-pipeline.md +113 -0
- package/bundled/core/deprecation-standards.md +16 -2
- package/bundled/core/developer-memory.md +13 -8
- package/bundled/core/documentation-writing-standards.md +1 -1
- package/bundled/core/error-code-standards.md +4 -3
- package/bundled/core/flaky-test-management.md +1 -1
- package/bundled/core/flow-based-testing.md +3 -3
- package/bundled/core/forward-derivation-standards.md +33 -5
- package/bundled/core/full-coverage-testing.md +72 -0
- package/bundled/core/git-worktree.md +4 -4
- package/bundled/core/guides/performance-guide.md +1 -1
- package/bundled/core/guides/security-guide.md +1 -1
- package/bundled/core/health-check-standards.md +2 -2
- package/bundled/core/iac-design-principles.md +97 -0
- package/bundled/core/incident-response.md +119 -0
- package/bundled/core/license-compliance.md +2 -0
- package/bundled/core/logging-standards.md +78 -2
- package/bundled/core/mock-boundary.md +54 -2
- package/bundled/core/model-provenance.md +181 -0
- package/bundled/core/model-selection.md +27 -2
- package/bundled/core/packaging-standards.md +1 -0
- package/bundled/core/performance-standards.md +96 -2
- package/bundled/core/pii-classification.md +148 -0
- package/bundled/core/pipeline-security-gates.md +22 -2
- package/bundled/core/postmortem-standards.md +2 -0
- package/bundled/core/prd-standards.md +91 -0
- package/bundled/core/privacy-standards.md +14 -3
- package/bundled/core/product-metrics-standards.md +100 -0
- package/bundled/core/project-context-memory.md +8 -2
- package/bundled/core/prompt-regression.md +1 -1
- package/bundled/core/refactoring-standards.md +44 -3
- package/bundled/core/replay-test.md +1 -1
- package/bundled/core/resource-cost-boundary.md +180 -0
- package/bundled/core/reverse-engineering-standards.md +66 -2
- package/bundled/core/runbook.md +113 -0
- package/bundled/core/schema-evolution.md +105 -0
- package/bundled/core/secret-management-standards.md +110 -0
- package/bundled/core/security-testing.md +26 -2
- package/bundled/core/self-review-protocol.md +2 -2
- package/bundled/core/skill-standard-alignment-check.md +53 -0
- package/bundled/core/slo-sli.md +109 -0
- package/bundled/core/smoke-test.md +1 -1
- package/bundled/core/spec-driven-development.md +21 -3
- package/bundled/core/tech-debt-standards.md +1 -1
- package/bundled/core/test-data-standards.md +2 -2
- package/bundled/core/user-journey-testing.md +102 -0
- package/bundled/core/user-story-mapping.md +96 -0
- package/bundled/core/verification-oracle.md +167 -0
- package/bundled/core/versioning.md +133 -109
- package/bundled/locales/COVERAGE.md +84 -73
- package/bundled/locales/zh-CN/CHANGELOG.md +81 -6
- package/bundled/locales/zh-CN/CLAUDE.md +1 -1
- package/bundled/locales/zh-CN/README.md +22 -9
- package/bundled/locales/zh-CN/SECURITY.md +1 -1
- package/bundled/locales/zh-CN/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
- package/bundled/locales/zh-CN/core/acceptance-criteria-traceability.md +4 -6
- package/bundled/locales/zh-CN/core/accessibility-standards.md +1 -1
- package/bundled/locales/zh-CN/core/adversarial-test.md +226 -0
- package/bundled/locales/zh-CN/core/agent-behavior-discipline.md +187 -0
- package/bundled/locales/zh-CN/core/ai-response-navigation.md +32 -6
- package/bundled/locales/zh-CN/core/anti-sycophancy-prompting.md +1 -1
- package/bundled/locales/zh-CN/core/api-design-standards.md +1 -1
- package/bundled/locales/zh-CN/core/behavior-snapshot.md +335 -0
- package/bundled/locales/zh-CN/core/browser-compatibility-standards.md +229 -0
- package/bundled/locales/zh-CN/core/cd-deployment-strategies.md +135 -0
- package/bundled/locales/zh-CN/core/chaos-injection-tests.md +130 -0
- package/bundled/locales/zh-CN/core/checkin-standards.md +1 -1
- package/bundled/locales/zh-CN/core/code-review-checklist.md +1 -1
- package/bundled/locales/zh-CN/core/container-security.md +535 -0
- package/bundled/locales/zh-CN/core/context-aware-loading.md +1 -1
- package/bundled/locales/zh-CN/core/contract-testing-standards.md +191 -0
- package/bundled/locales/zh-CN/core/cost-budget-test.md +86 -0
- package/bundled/locales/zh-CN/core/cross-flow-regression.md +199 -0
- package/bundled/locales/zh-CN/core/data-migration-testing.md +217 -0
- package/bundled/locales/zh-CN/core/deployment-standards.md +328 -9
- package/bundled/locales/zh-CN/core/deprecation-standards.md +1 -1
- package/bundled/locales/zh-CN/core/developer-memory.md +2 -2
- package/bundled/locales/zh-CN/core/disaster-recovery-drill.md +87 -0
- package/bundled/locales/zh-CN/core/documentation-structure.md +1 -1
- package/bundled/locales/zh-CN/core/documentation-writing-standards.md +1 -1
- package/bundled/locales/zh-CN/core/error-code-standards.md +2 -2
- package/bundled/locales/zh-CN/core/feature-manifest-standard.md +222 -0
- package/bundled/locales/zh-CN/core/flaky-test-management.md +87 -0
- package/bundled/locales/zh-CN/core/flow-based-testing.md +284 -0
- package/bundled/locales/zh-CN/core/forward-derivation-standards.md +3 -4
- package/bundled/locales/zh-CN/core/full-coverage-testing.md +197 -0
- package/bundled/locales/zh-CN/core/git-worktree.md +1 -1
- package/bundled/locales/zh-CN/core/governance-layer.md +160 -0
- package/bundled/locales/zh-CN/core/guides/performance-guide.md +515 -0
- package/bundled/locales/zh-CN/core/guides/security-guide.md +494 -0
- package/bundled/locales/zh-CN/core/knowledge-graph-memory.md +128 -0
- package/bundled/locales/zh-CN/core/license-compliance.md +129 -0
- package/bundled/locales/zh-CN/core/llm-output-validation.md +192 -0
- package/bundled/locales/zh-CN/core/logging-standards.md +130 -8
- package/bundled/locales/zh-CN/core/mock-boundary.md +109 -0
- package/bundled/locales/zh-CN/core/model-selection.md +28 -5
- package/bundled/locales/zh-CN/core/mutation-testing.md +106 -0
- package/bundled/locales/zh-CN/core/no-cicd-deployment.md +219 -0
- package/bundled/locales/zh-CN/core/packaging-standards.md +76 -5
- package/bundled/locales/zh-CN/core/pipeline-security-gates.md +126 -0
- package/bundled/locales/zh-CN/core/policy-as-code-testing.md +203 -0
- package/bundled/locales/zh-CN/core/privacy-standards.md +1 -1
- package/bundled/locales/zh-CN/core/project-context-memory.md +1 -1
- package/bundled/locales/zh-CN/core/prompt-regression.md +88 -0
- package/bundled/locales/zh-CN/core/property-based-testing.md +87 -0
- package/bundled/locales/zh-CN/core/release-quality-manifest.md +207 -0
- package/bundled/locales/zh-CN/core/release-readiness-gate.md +193 -0
- package/bundled/locales/zh-CN/core/replay-test.md +102 -0
- package/bundled/locales/zh-CN/core/reverse-engineering-standards.md +46 -1
- package/bundled/locales/zh-CN/core/rollback-standards.md +120 -0
- package/bundled/locales/zh-CN/core/sast-advanced.md +309 -0
- package/bundled/locales/zh-CN/core/secure-op.md +328 -0
- package/bundled/locales/zh-CN/core/security-testing.md +96 -0
- package/bundled/locales/zh-CN/core/self-review-protocol.md +167 -0
- package/bundled/locales/zh-CN/core/server-ops-security.md +507 -0
- package/bundled/locales/zh-CN/core/smoke-test.md +79 -0
- package/bundled/locales/zh-CN/core/spec-driven-development.md +55 -5
- package/bundled/locales/zh-CN/core/supply-chain-attestation.md +131 -0
- package/bundled/locales/zh-CN/core/versioning.md +1 -1
- package/bundled/locales/zh-CN/docs/CHEATSHEET.md +31 -6
- package/bundled/locales/zh-CN/docs/FEATURE-REFERENCE.md +61 -34
- package/bundled/locales/zh-CN/docs/MIGRATION-v6.md +88 -0
- package/bundled/locales/zh-CN/docs/USAGE-MODES-COMPARISON.md +2 -2
- package/bundled/locales/zh-CN/docs/USER-MANUAL.md +14 -14
- package/bundled/locales/zh-CN/docs/specs/system/memory-adoption-strategy.md +105 -0
- package/bundled/locales/zh-CN/docs/user/FAQ.md +132 -0
- package/bundled/locales/zh-CN/docs/user/GETTING-STARTED.md +144 -0
- package/bundled/locales/zh-CN/docs/user/GLOSSARY.md +178 -0
- package/bundled/locales/zh-CN/docs/user/README.md +70 -0
- package/bundled/locales/zh-CN/docs/user/TROUBLESHOOTING.md +190 -0
- package/bundled/locales/zh-CN/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
- package/bundled/locales/zh-CN/integrations/github-copilot/README.md +1 -1
- package/bundled/locales/zh-CN/integrations/github-copilot/skills-mapping.md +3 -3
- package/bundled/locales/zh-CN/integrations/opencode/skills-mapping.md +3 -3
- package/bundled/locales/zh-CN/methodologies/guides/sdd-guide.md +836 -0
- package/bundled/locales/zh-CN/options/changelog/auto-generated.md +166 -0
- package/bundled/locales/zh-CN/options/changelog/keep-a-changelog.md +140 -0
- package/bundled/locales/zh-CN/options/code-review/automated-review.md +214 -0
- package/bundled/locales/zh-CN/options/code-review/pair-programming.md +166 -0
- package/bundled/locales/zh-CN/options/code-review/pr-review.md +167 -0
- package/bundled/locales/zh-CN/options/documentation/api-docs.md +191 -0
- package/bundled/locales/zh-CN/options/documentation/markdown-docs.md +150 -0
- package/bundled/locales/zh-CN/options/documentation/wiki-style.md +131 -0
- package/bundled/locales/zh-CN/options/project-structure/kotlin.md +144 -0
- package/bundled/locales/zh-CN/options/project-structure/php.md +168 -0
- package/bundled/locales/zh-CN/options/project-structure/ruby.md +156 -0
- package/bundled/locales/zh-CN/options/project-structure/rust.md +136 -0
- package/bundled/locales/zh-CN/options/project-structure/swift.md +165 -0
- package/bundled/locales/zh-CN/options/testing/contract-testing.md +237 -0
- package/bundled/locales/zh-CN/options/testing/industry-pyramid.md +200 -0
- package/bundled/locales/zh-CN/options/testing/istqb-framework.md +144 -0
- package/bundled/locales/zh-CN/options/testing/performance-testing.md +251 -0
- package/bundled/locales/zh-CN/options/testing/security-testing.md +192 -0
- package/bundled/locales/zh-CN/skills/README.md +89 -126
- package/bundled/locales/zh-CN/skills/ac-coverage/SKILL.md +5 -7
- package/bundled/locales/zh-CN/skills/adr-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/agents/code-architect.md +263 -0
- package/bundled/locales/zh-CN/skills/agents/doc-writer.md +410 -0
- package/bundled/locales/zh-CN/skills/agents/reviewer.md +357 -0
- package/bundled/locales/zh-CN/skills/agents/spec-analyst.md +410 -0
- package/bundled/locales/zh-CN/skills/agents/test-specialist.md +368 -0
- package/bundled/locales/zh-CN/skills/ai-collaboration-standards/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/ai-friendly-architecture/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/ai-instruction-standards/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
- package/bundled/locales/zh-CN/skills/atdd-assistant/atdd-workflow.md +3 -4
- package/bundled/locales/zh-CN/skills/audit-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/bdd-assistant/guide.md +1 -2
- package/bundled/locales/zh-CN/skills/brainstorm-assistant/SKILL.md +109 -13
- package/bundled/locales/zh-CN/skills/brainstorm-assistant/guide.md +30 -8
- package/bundled/locales/zh-CN/skills/checkin-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/ci-cd-assistant/SKILL.md +50 -0
- package/bundled/locales/zh-CN/skills/code-review-assistant/SKILL.md +5 -5
- package/bundled/locales/zh-CN/skills/commands/ac-coverage.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/atdd.md +3 -3
- package/bundled/locales/zh-CN/skills/commands/bdd.md +2 -2
- package/bundled/locales/zh-CN/skills/commands/brainstorm.md +26 -17
- package/bundled/locales/zh-CN/skills/commands/{review.md → code-review.md} +4 -4
- package/bundled/locales/zh-CN/skills/commands/derive-all.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/derive-atdd.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/derive-bdd.md +2 -3
- package/bundled/locales/zh-CN/skills/commands/derive-tdd.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/derive.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/dev-workflow.md +2 -2
- package/bundled/locales/zh-CN/skills/commands/methodology.md +4 -4
- package/bundled/locales/zh-CN/skills/commands/pr.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/tdd.md +1 -1
- package/bundled/locales/zh-CN/skills/commit-standards/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/contract-test-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/dev-methodology/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/dev-methodology/create-methodology.md +456 -0
- package/bundled/locales/zh-CN/skills/dev-methodology/guide.md +6 -6
- package/bundled/locales/zh-CN/skills/dev-methodology/runtime.md +296 -0
- package/bundled/locales/zh-CN/skills/dev-workflow-guide/SKILL.md +5 -5
- package/bundled/locales/zh-CN/skills/docs-generator/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/e2e-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/incident-response-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/journey-test-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/logging-guide/SKILL.md +146 -142
- package/bundled/locales/zh-CN/skills/migration-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/observability-assistant/guide.md +1 -1
- package/bundled/locales/zh-CN/skills/pr-automation-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/project-discovery/guide.md +2 -2
- package/bundled/locales/zh-CN/skills/reverse-engineer/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/runbook-assistant/guide.md +1 -1
- package/bundled/locales/zh-CN/skills/security-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/skill-builder/SKILL.md +3 -3
- package/bundled/locales/zh-CN/skills/slo-assistant/guide.md +1 -1
- package/bundled/locales/zh-CN/skills/spec-derivation/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/spec-derivation/guide.md +8 -9
- package/bundled/locales/zh-CN/skills/spec-driven-dev/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/sweep/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/tdd-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/testing-guide/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/testing-guide/testing-theory.md +2298 -0
- package/bundled/locales/zh-CN/skills/workflows/README.md +451 -0
- package/bundled/locales/zh-TW/CHANGELOG.md +81 -6
- package/bundled/locales/zh-TW/CLAUDE.md +1 -1
- package/bundled/locales/zh-TW/MAINTENANCE.md +25 -2
- package/bundled/locales/zh-TW/README.md +22 -9
- package/bundled/locales/zh-TW/SECURITY.md +1 -1
- package/bundled/locales/zh-TW/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
- package/bundled/locales/zh-TW/ai/standards/versioning.ai.yaml +8 -48
- package/bundled/locales/zh-TW/core/acceptance-criteria-traceability.md +4 -6
- package/bundled/locales/zh-TW/core/accessibility-standards.md +1 -1
- package/bundled/locales/zh-TW/core/adversarial-test.md +226 -0
- package/bundled/locales/zh-TW/core/agent-behavior-discipline.md +187 -0
- package/bundled/locales/zh-TW/core/ai-response-navigation.md +32 -6
- package/bundled/locales/zh-TW/core/anti-sycophancy-prompting.md +1 -1
- package/bundled/locales/zh-TW/core/api-design-standards.md +91 -9
- package/bundled/locales/zh-TW/core/audit-trail.md +110 -0
- package/bundled/locales/zh-TW/core/behavior-snapshot.md +335 -0
- package/bundled/locales/zh-TW/core/browser-compatibility-standards.md +1 -0
- package/bundled/locales/zh-TW/core/cd-deployment-strategies.md +135 -0
- package/bundled/locales/zh-TW/core/chaos-injection-tests.md +130 -0
- package/bundled/locales/zh-TW/core/checkin-standards.md +1 -1
- package/bundled/locales/zh-TW/core/code-review-checklist.md +1 -1
- package/bundled/locales/zh-TW/core/container-image-standards.md +93 -0
- package/bundled/locales/zh-TW/core/container-security.md +535 -0
- package/bundled/locales/zh-TW/core/cost-budget-test.md +86 -0
- package/bundled/locales/zh-TW/core/cross-flow-regression.md +1 -0
- package/bundled/locales/zh-TW/core/data-contract.md +101 -0
- package/bundled/locales/zh-TW/core/data-migration-testing.md +217 -0
- package/bundled/locales/zh-TW/core/data-pipeline.md +105 -0
- package/bundled/locales/zh-TW/core/deployment-standards.md +363 -25
- package/bundled/locales/zh-TW/core/deprecation-standards.md +17 -4
- package/bundled/locales/zh-TW/core/developer-memory.md +2 -2
- package/bundled/locales/zh-TW/core/disaster-recovery-drill.md +87 -0
- package/bundled/locales/zh-TW/core/documentation-writing-standards.md +1 -1
- package/bundled/locales/zh-TW/core/error-code-standards.md +2 -2
- package/bundled/locales/zh-TW/core/feature-manifest-standard.md +222 -0
- package/bundled/locales/zh-TW/core/flaky-test-management.md +87 -0
- package/bundled/locales/zh-TW/core/flow-based-testing.md +284 -0
- package/bundled/locales/zh-TW/core/forward-derivation-standards.md +3 -4
- package/bundled/locales/zh-TW/core/full-coverage-testing.md +250 -0
- package/bundled/locales/zh-TW/core/git-worktree.md +1 -1
- package/bundled/locales/zh-TW/core/guides/performance-guide.md +515 -0
- package/bundled/locales/zh-TW/core/guides/security-guide.md +494 -0
- package/bundled/locales/zh-TW/core/iac-design-principles.md +90 -0
- package/bundled/locales/zh-TW/core/incident-response.md +111 -0
- package/bundled/locales/zh-TW/core/license-compliance.md +129 -0
- package/bundled/locales/zh-TW/core/llm-output-validation.md +192 -0
- package/bundled/locales/zh-TW/core/logging-standards.md +208 -4
- package/bundled/locales/zh-TW/core/mock-boundary.md +161 -0
- package/bundled/locales/zh-TW/core/model-provenance.md +173 -0
- package/bundled/locales/zh-TW/core/model-selection.md +28 -5
- package/bundled/locales/zh-TW/core/mutation-testing.md +106 -0
- package/bundled/locales/zh-TW/core/no-cicd-deployment.md +219 -0
- package/bundled/locales/zh-TW/core/packaging-standards.md +76 -5
- package/bundled/locales/zh-TW/core/performance-standards.md +84 -5
- package/bundled/locales/zh-TW/core/pii-classification.md +102 -0
- package/bundled/locales/zh-TW/core/pipeline-security-gates.md +126 -0
- package/bundled/locales/zh-TW/core/policy-as-code-testing.md +203 -0
- package/bundled/locales/zh-TW/core/prd-standards.md +88 -0
- package/bundled/locales/zh-TW/core/privacy-standards.md +1 -1
- package/bundled/locales/zh-TW/core/product-metrics-standards.md +96 -0
- package/bundled/locales/zh-TW/core/project-context-memory.md +1 -1
- package/bundled/locales/zh-TW/core/prompt-regression.md +88 -0
- package/bundled/locales/zh-TW/core/property-based-testing.md +87 -0
- package/bundled/locales/zh-TW/core/refactoring-standards.md +43 -6
- package/bundled/locales/zh-TW/core/release-quality-manifest.md +207 -0
- package/bundled/locales/zh-TW/core/replay-test.md +102 -0
- package/bundled/locales/zh-TW/core/resource-cost-boundary.md +175 -0
- package/bundled/locales/zh-TW/core/reverse-engineering-standards.md +64 -5
- package/bundled/locales/zh-TW/core/rollback-standards.md +120 -0
- package/bundled/locales/zh-TW/core/runbook.md +110 -0
- package/bundled/locales/zh-TW/core/sast-advanced.md +309 -0
- package/bundled/locales/zh-TW/core/schema-evolution.md +98 -0
- package/bundled/locales/zh-TW/core/secret-management-standards.md +101 -0
- package/bundled/locales/zh-TW/core/secure-op.md +328 -0
- package/bundled/locales/zh-TW/core/security-testing.md +96 -0
- package/bundled/locales/zh-TW/core/self-review-protocol.md +2 -2
- package/bundled/locales/zh-TW/core/server-ops-security.md +507 -0
- package/bundled/locales/zh-TW/core/slo-sli.md +108 -0
- package/bundled/locales/zh-TW/core/smoke-test.md +79 -0
- package/bundled/locales/zh-TW/core/spec-driven-development.md +39 -13
- package/bundled/locales/zh-TW/core/supply-chain-attestation.md +131 -0
- package/bundled/locales/zh-TW/core/user-journey-testing.md +111 -0
- package/bundled/locales/zh-TW/core/user-story-mapping.md +94 -0
- package/bundled/locales/zh-TW/core/verification-oracle.md +159 -0
- package/bundled/locales/zh-TW/core/versioning.md +112 -112
- package/bundled/locales/zh-TW/docs/CHEATSHEET.md +31 -6
- package/bundled/locales/zh-TW/docs/DEV-WORKFLOW-MAPPING.md +6 -6
- package/bundled/locales/zh-TW/docs/FEATURE-REFERENCE.md +61 -34
- package/bundled/locales/zh-TW/docs/MIGRATION-v6.md +88 -0
- package/bundled/locales/zh-TW/docs/USAGE-MODES-COMPARISON.md +2 -2
- package/bundled/locales/zh-TW/docs/USER-MANUAL.md +14 -14
- package/bundled/locales/zh-TW/docs/specs/system/memory-adoption-strategy.md +105 -0
- package/bundled/locales/zh-TW/docs/user/FAQ.md +132 -0
- package/bundled/locales/zh-TW/docs/user/GETTING-STARTED.md +144 -0
- package/bundled/locales/zh-TW/docs/user/GLOSSARY.md +178 -0
- package/bundled/locales/zh-TW/docs/user/README.md +70 -0
- package/bundled/locales/zh-TW/docs/user/TROUBLESHOOTING.md +190 -0
- package/bundled/locales/zh-TW/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
- package/bundled/locales/zh-TW/integrations/github-copilot/README.md +1 -1
- package/bundled/locales/zh-TW/integrations/github-copilot/skills-mapping.md +3 -3
- package/bundled/locales/zh-TW/integrations/opencode/skills-mapping.md +3 -3
- package/bundled/locales/zh-TW/methodologies/guides/sdd-guide.md +523 -26
- package/bundled/locales/zh-TW/options/changelog/auto-generated.md +166 -0
- package/bundled/locales/zh-TW/options/changelog/keep-a-changelog.md +140 -0
- package/bundled/locales/zh-TW/options/code-review/automated-review.md +214 -0
- package/bundled/locales/zh-TW/options/code-review/pair-programming.md +166 -0
- package/bundled/locales/zh-TW/options/code-review/pr-review.md +167 -0
- package/bundled/locales/zh-TW/options/documentation/api-docs.md +191 -0
- package/bundled/locales/zh-TW/options/documentation/markdown-docs.md +150 -0
- package/bundled/locales/zh-TW/options/documentation/wiki-style.md +131 -0
- package/bundled/locales/zh-TW/options/project-structure/kotlin.md +144 -0
- package/bundled/locales/zh-TW/options/project-structure/php.md +168 -0
- package/bundled/locales/zh-TW/options/project-structure/ruby.md +156 -0
- package/bundled/locales/zh-TW/options/project-structure/rust.md +136 -0
- package/bundled/locales/zh-TW/options/project-structure/swift.md +165 -0
- package/bundled/locales/zh-TW/options/testing/contract-testing.md +237 -0
- package/bundled/locales/zh-TW/options/testing/industry-pyramid.md +200 -0
- package/bundled/locales/zh-TW/options/testing/istqb-framework.md +144 -0
- package/bundled/locales/zh-TW/options/testing/performance-testing.md +251 -0
- package/bundled/locales/zh-TW/options/testing/security-testing.md +192 -0
- package/bundled/locales/zh-TW/skills/README.md +91 -128
- package/bundled/locales/zh-TW/skills/ac-coverage/SKILL.md +4 -6
- package/bundled/locales/zh-TW/skills/adr-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/agents/code-architect.md +263 -0
- package/bundled/locales/zh-TW/skills/agents/doc-writer.md +410 -0
- package/bundled/locales/zh-TW/skills/agents/reviewer.md +357 -0
- package/bundled/locales/zh-TW/skills/agents/spec-analyst.md +410 -0
- package/bundled/locales/zh-TW/skills/agents/test-specialist.md +368 -0
- package/bundled/locales/zh-TW/skills/ai-collaboration-standards/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/ai-friendly-architecture/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/ai-instruction-standards/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/atdd-assistant/SKILL.md +2 -0
- package/bundled/locales/zh-TW/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
- package/bundled/locales/zh-TW/skills/atdd-assistant/atdd-workflow.md +3 -4
- package/bundled/locales/zh-TW/skills/audit-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/bdd-assistant/SKILL.md +2 -0
- package/bundled/locales/zh-TW/skills/bdd-assistant/guide.md +1 -2
- package/bundled/locales/zh-TW/skills/brainstorm-assistant/SKILL.md +110 -14
- package/bundled/locales/zh-TW/skills/brainstorm-assistant/guide.md +31 -7
- package/bundled/locales/zh-TW/skills/checkin-assistant/SKILL.md +3 -1
- package/bundled/locales/zh-TW/skills/ci-cd-assistant/SKILL.md +50 -0
- package/bundled/locales/zh-TW/skills/code-review-assistant/SKILL.md +7 -5
- package/bundled/locales/zh-TW/skills/commands/ac-coverage.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/atdd.md +3 -3
- package/bundled/locales/zh-TW/skills/commands/bdd.md +2 -2
- package/bundled/locales/zh-TW/skills/commands/brainstorm.md +26 -17
- package/bundled/locales/zh-TW/skills/commands/{review.md → code-review.md} +5 -5
- package/bundled/locales/zh-TW/skills/commands/derive-all.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/derive-atdd.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/derive-bdd.md +2 -3
- package/bundled/locales/zh-TW/skills/commands/derive-tdd.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/derive.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/dev-workflow.md +2 -2
- package/bundled/locales/zh-TW/skills/commands/methodology.md +4 -4
- package/bundled/locales/zh-TW/skills/commands/pr.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/tdd.md +1 -1
- package/bundled/locales/zh-TW/skills/commit-standards/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/contract-test-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/dev-methodology/create-methodology.md +456 -0
- package/bundled/locales/zh-TW/skills/dev-methodology/guide.md +5 -5
- package/bundled/locales/zh-TW/skills/dev-methodology/runtime.md +296 -0
- package/bundled/locales/zh-TW/skills/dev-workflow-guide/SKILL.md +5 -5
- package/bundled/locales/zh-TW/skills/docs-generator/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/e2e-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/incident-response-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/logging-guide/SKILL.md +29 -27
- package/bundled/locales/zh-TW/skills/migration-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/pr-automation-assistant/SKILL.md +3 -1
- package/bundled/locales/zh-TW/skills/project-discovery/guide.md +2 -2
- package/bundled/locales/zh-TW/skills/reverse-engineer/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/security-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/spec-derivation/guide.md +7 -8
- package/bundled/locales/zh-TW/skills/spec-driven-dev/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/sweep/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/tdd-assistant/SKILL.md +3 -1
- package/bundled/locales/zh-TW/skills/testing-guide/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/testing-guide/testing-theory.md +2298 -0
- package/bundled/locales/zh-TW/skills/workflows/README.md +451 -0
- package/bundled/skills/README.md +1 -1
- package/bundled/skills/ac-coverage/SKILL.md +17 -7
- package/bundled/skills/adr-assistant/SKILL.md +1 -1
- package/bundled/skills/agents/code-architect.md +1 -1
- package/bundled/skills/agents/doc-writer.md +1 -1
- package/bundled/skills/agents/reviewer.md +2 -2
- package/bundled/skills/agents/spec-analyst.md +1 -1
- package/bundled/skills/agents/test-specialist.md +1 -1
- package/bundled/skills/ai-collaboration-standards/SKILL.md +2 -2
- package/bundled/skills/ai-friendly-architecture/SKILL.md +2 -2
- package/bundled/skills/ai-instruction-standards/SKILL.md +1 -1
- package/bundled/skills/atdd-assistant/SKILL.md +7 -0
- package/bundled/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
- package/bundled/skills/atdd-assistant/atdd-workflow.md +6 -8
- package/bundled/skills/audit-assistant/SKILL.md +2 -2
- package/bundled/skills/bdd-assistant/SKILL.md +7 -0
- package/bundled/skills/bdd-assistant/guide.md +1 -2
- package/bundled/skills/brainstorm-assistant/SKILL.md +133 -11
- package/bundled/skills/brainstorm-assistant/guide.md +33 -5
- package/bundled/skills/checkin-assistant/SKILL.md +8 -1
- package/bundled/skills/ci-cd-assistant/SKILL.md +57 -0
- package/bundled/skills/code-review-assistant/SKILL.md +15 -8
- package/bundled/skills/commands/COMMAND-FAMILY-OVERVIEW.md +2 -2
- package/bundled/skills/commands/COMMAND-INDEX.json +3 -3
- package/bundled/skills/commands/README.md +2 -2
- package/bundled/skills/commands/ac-coverage.md +1 -1
- package/bundled/skills/commands/atdd.md +2 -2
- package/bundled/skills/commands/bdd.md +2 -2
- package/bundled/skills/commands/brainstorm.md +25 -14
- package/bundled/skills/commands/{review.md → code-review.md} +6 -6
- package/bundled/skills/commands/derive-all.md +1 -1
- package/bundled/skills/commands/derive-atdd.md +1 -1
- package/bundled/skills/commands/derive-bdd.md +2 -3
- package/bundled/skills/commands/derive-tdd.md +1 -1
- package/bundled/skills/commands/derive.md +1 -1
- package/bundled/skills/commands/dev-workflow.md +1 -1
- package/bundled/skills/commands/journey-test.md +45 -0
- package/bundled/skills/commands/methodology.md +4 -4
- package/bundled/skills/commands/pr.md +1 -1
- package/bundled/skills/commands/skill-builder.md +42 -0
- package/bundled/skills/commands/tdd.md +1 -1
- package/bundled/skills/dev-methodology/create-methodology.md +1 -1
- package/bundled/skills/dev-methodology/guide.md +1 -1
- package/bundled/skills/dev-methodology/runtime.md +1 -1
- package/bundled/skills/dev-workflow-guide/SKILL.md +3 -3
- package/bundled/skills/dev-workflow-guide/workflow-phases.md +3 -3
- package/bundled/skills/docs-generator/SKILL.md +3 -3
- package/bundled/skills/incident-response-assistant/SKILL.md +2 -2
- package/bundled/skills/logging-guide/SKILL.md +38 -2
- package/bundled/skills/migration-assistant/SKILL.md +226 -0
- package/bundled/skills/observability-assistant/SKILL.md +74 -0
- package/bundled/skills/pr-automation-assistant/SKILL.md +5 -1
- package/bundled/skills/project-discovery/guide.md +2 -2
- package/bundled/skills/push/SKILL.md +1 -1
- package/bundled/skills/release-standards/SKILL.md +19 -5
- package/bundled/skills/security-assistant/SKILL.md +1 -1
- package/bundled/skills/skill-builder/SKILL.md +1 -1
- package/bundled/skills/spec-derivation/guide.md +3 -4
- package/bundled/skills/spec-driven-dev/SKILL.md +27 -0
- package/bundled/skills/sweep/SKILL.md +1 -1
- package/bundled/skills/tdd-assistant/SKILL.md +8 -1
- package/bundled/skills/testing-guide/SKILL.md +1 -1
- package/bundled/skills/testing-guide/testing-theory.md +1 -1
- package/bundled/skills/workflows/README.md +2 -2
- package/package.json +3 -3
- package/src/commands/audit.js +30 -9
- package/src/commands/config.js +33 -2
- package/src/commands/hitl.js +14 -1
- package/src/commands/init.js +110 -58
- package/src/commands/quickstart.js +1 -2
- package/src/commands/release.js +51 -6
- package/src/commands/run-intent.js +9 -0
- package/src/commands/spec-split.js +27 -2
- package/src/commands/update.js +22 -6
- package/src/config/ai-agent-paths.js +3 -1
- package/src/i18n/messages.js +3 -102
- package/src/missions/MissionManager.js +44 -12
- package/src/utils/build-manifest.js +35 -3
- package/src/utils/friction-detector.js +71 -22
- package/src/utils/health-checker.js +29 -2
- package/src/utils/transaction.js +111 -0
- package/src/utils/version-promote.js +16 -0
- package/standards-registry.json +58 -146
- package/bundled/ai/standards/agent-communication-protocol.ai.yaml +0 -42
- package/bundled/ai/standards/agent-dispatch.ai.yaml +0 -42
- package/bundled/ai/standards/branch-completion.ai.yaml +0 -44
- package/bundled/ai/standards/change-batching-standards.ai.yaml +0 -44
- package/bundled/ai/standards/execution-history.ai.yaml +0 -42
- package/bundled/ai/standards/pipeline-integration-standards.ai.yaml +0 -42
- package/bundled/ai/standards/workflow-enforcement.ai.yaml +0 -44
- package/bundled/ai/standards/workflow-state-protocol.ai.yaml +0 -43
- package/src/commands/flow.js +0 -260
- package/src/commands/start.js +0 -372
- package/src/commands/sweep.js +0 -151
- package/src/commands/workflow.js +0 -681
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
source: ../../../core/spec-driven-development.md
|
|
3
|
-
source_version: 2.
|
|
4
|
-
translation_version: 2.
|
|
5
|
-
last_synced: 2026-
|
|
3
|
+
source_version: 2.3.0
|
|
4
|
+
translation_version: 2.3.0
|
|
5
|
+
last_synced: 2026-06-10
|
|
6
|
+
source_hash: 08dd8c2bee20
|
|
6
7
|
status: current
|
|
7
8
|
---
|
|
8
9
|
|
|
@@ -10,8 +11,8 @@ status: current
|
|
|
10
11
|
|
|
11
12
|
> **語言**: [English](../../../core/spec-driven-development.md) | 繁體中文
|
|
12
13
|
|
|
13
|
-
**版本**: 2.
|
|
14
|
-
**最後更新**: 2026-
|
|
14
|
+
**版本**: 2.3.0
|
|
15
|
+
**最後更新**: 2026-06-08
|
|
15
16
|
**適用性**: 所有採用規格驅動開發的專案
|
|
16
17
|
**範圍**: 通用 (Universal)
|
|
17
18
|
|
|
@@ -19,9 +20,9 @@ status: current
|
|
|
19
20
|
|
|
20
21
|
## 摘要
|
|
21
22
|
|
|
22
|
-
|
|
23
|
+
規格驅動開發(SDD)是一種 AI 時代的方法論(2025 年起),有別於傳統的 TDD/BDD/ATDD。它確保所有變更在實作前都透過規格進行規劃、記錄與核准。核心原則是**「規格優先,程式碼其次」**——沒有對應的已核准規格,就不能進行任何功能性程式碼變更。
|
|
23
24
|
|
|
24
|
-
SDD
|
|
25
|
+
SDD 在不同的成熟度層級運作:規格優先(完成後丟棄)、規格錨定(貫穿整個演進過程維護)、規格即來源(規格是唯一來源,程式碼自動生成)。此方法論使用正向推演(Forward Derivation)從規格生成測試產物(BDD 場景、TDD 骨架、契約)。
|
|
25
26
|
|
|
26
27
|
---
|
|
27
28
|
|
|
@@ -33,10 +34,34 @@ SDD 的核心流程:**討論 → 規格提案 → 規格審查 → 實作 →
|
|
|
33
34
|
|
|
34
35
|
| 面向 | 說明 |
|
|
35
36
|
|------|------|
|
|
36
|
-
|
|
|
37
|
-
|
|
|
38
|
-
|
|
|
39
|
-
|
|
|
37
|
+
| **核心工作流程** | 討論 → 提案 → 審查 → 實作 → 驗證 → 歸檔 |
|
|
38
|
+
| **核心原則** | 規格優先,程式碼其次 (Spec First, Code Second) |
|
|
39
|
+
| **AC 格式** | Given/When/Then(GWT,預設——啟用 BDD 推演)**或** EARS 記法(選用,XSPEC-263) |
|
|
40
|
+
| **測試生成** | 正向推演(/derive-bdd、/derive-tdd、/derive-all) |
|
|
41
|
+
| **成熟度層級** | 規格優先、規格錨定、規格即來源 |
|
|
42
|
+
| **工具** | OpenSpec、Spec Kit、手動(基於檔案) |
|
|
43
|
+
| **I/O 契約** | 可選的結構化輸入/輸出定義,用於跨規格資料流 |
|
|
44
|
+
| **假設** | 追蹤假設([Assumption])與待釐清項目([Need Confirmation])的必填章節 |
|
|
45
|
+
| **AC YAML Sidecar** | 建議在 AC 超過 3 條時使用 .ac.yaml(機器可讀 AC) |
|
|
46
|
+
| **AI Agent 行為** | 可選章節,用於在規格中定義 Agent 角色、規則、品質檢查、限制 |
|
|
47
|
+
|
|
48
|
+
## AC 格式
|
|
49
|
+
|
|
50
|
+
UDS 支援兩種 AC 記法。**GWT 為預設與首選**(Forward Derivation/BDD 場景生成依賴它)。**EARS**(Easy Approach to Requirements Syntax,IBM Rational)為可選補充,對事件/狀態/恆常/異常需求表達更精準。
|
|
51
|
+
|
|
52
|
+
| EARS 型 | 模板 | 用於 |
|
|
53
|
+
|---------|------|------|
|
|
54
|
+
| 恆常 Ubiquitous | `THE SYSTEM SHALL <response>` | 恆常需求(無觸發)|
|
|
55
|
+
| 事件驅動 Event-driven | `WHEN <trigger> THE SYSTEM SHALL <response>` | 事件觸發 |
|
|
56
|
+
| 狀態驅動 State-driven | `WHILE <state> THE SYSTEM SHALL <response>` | 狀態持續期間 |
|
|
57
|
+
| 異常 Unwanted | `IF <condition>, THEN THE SYSTEM SHALL <response>` | 錯誤/異常處理 |
|
|
58
|
+
| 選配 Optional | `WHERE <feature included> THE SYSTEM SHALL <response>` | 選配功能 |
|
|
59
|
+
|
|
60
|
+
每個 AC 提供 **GWT 或 EARS** 之一(`.ac.yaml` 的 `given/when/then` 或 `ears`)。BDD 可推導行為優先 GWT;GWT 表達牽強時改用 EARS。不強制兩者並存、不移除 GWT。
|
|
61
|
+
|
|
62
|
+
## v2.3.0 新增內容
|
|
63
|
+
|
|
64
|
+
- **EARS 記法** 作為可選 AC 格式(XSPEC-263):5 種 EARS 模板 + `.ac.yaml` `ears` 欄位。GWT 維持預設與首選;`given/when/then` 由 required 放寬(向後相容)。
|
|
40
65
|
|
|
41
66
|
## v2.2.0 新增內容
|
|
42
67
|
|
|
@@ -49,6 +74,7 @@ SDD 的核心流程:**討論 → 規格提案 → 規格審查 → 實作 →
|
|
|
49
74
|
|
|
50
75
|
## 相關標準
|
|
51
76
|
|
|
52
|
-
- [
|
|
77
|
+
- [正向推演標準](forward-derivation-standards.md)
|
|
53
78
|
- [反向工程標準](reverse-engineering-standards.md)
|
|
54
|
-
- [
|
|
79
|
+
- [測試驅動開發](test-driven-development.md)
|
|
80
|
+
- [行為驅動開發](behavior-driven-development.md)
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
---
|
|
2
|
+
source: ../../../core/supply-chain-attestation.md
|
|
3
|
+
source_version: 1.0.0
|
|
4
|
+
translation_version: 1.0.0
|
|
5
|
+
last_synced: 2026-06-10
|
|
6
|
+
source_hash: f2d6deb8373b
|
|
7
|
+
status: current
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# 供應鏈證明(Attestation)標準
|
|
11
|
+
|
|
12
|
+
> **Language**: [English](../../../core/supply-chain-attestation.md) | 繁體中文
|
|
13
|
+
|
|
14
|
+
## 概述
|
|
15
|
+
|
|
16
|
+
軟體供應鏈攻擊(如 SolarWinds、Log4Shell 擴散)利用「原本打算交付的東西」與「實際交付的東西」之間的落差。SBOM + SLSA provenance 透過建立從 source commit 到部署產物之間可驗證的鏈條來彌補這個落差。
|
|
17
|
+
|
|
18
|
+
## SBOM(Software Bill of Materials,軟體物料清單)
|
|
19
|
+
|
|
20
|
+
CycloneDX JSON 格式是建議採用的 SBOM 標準(SPDX 亦受支援)。
|
|
21
|
+
|
|
22
|
+
### 產生
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# Install CycloneDX npm plugin
|
|
26
|
+
npm install -g @cyclonedx/cyclonedx-npm
|
|
27
|
+
|
|
28
|
+
# Generate from package-lock.json (NOT package.json)
|
|
29
|
+
cyclonedx-npm --output-format JSON \
|
|
30
|
+
--output-file sbom.cdx.json \
|
|
31
|
+
--package-lock-only
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### 驗證
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# Count components
|
|
38
|
+
jq '.components | length' sbom.cdx.json
|
|
39
|
+
|
|
40
|
+
# Check for GPL licences
|
|
41
|
+
jq '.components[] | select(.licenses[].license.id | test("GPL"))' sbom.cdx.json
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## SLSA Provenance
|
|
45
|
+
|
|
46
|
+
[SLSA(Supply chain Levels for Software Artefacts)](https://slsa.dev) 定義了四個等級:
|
|
47
|
+
|
|
48
|
+
| 等級 | 要求 |
|
|
49
|
+
|-------|-------------|
|
|
50
|
+
| L1 | Provenance 存在,自我簽署 |
|
|
51
|
+
| L2 | Provenance 託管,由託管建置服務簽署(GitHub Actions OIDC) |
|
|
52
|
+
| L3 | Provenance 來自強化、完全隔離的建置平台 |
|
|
53
|
+
| L4 | 兩方審查 + hermetic builds |
|
|
54
|
+
|
|
55
|
+
**建議最低標準:內部發布採 SLSA L1**,**公開發布採 L2**。
|
|
56
|
+
|
|
57
|
+
### SLSA L1 Provenance(GitHub Actions)
|
|
58
|
+
|
|
59
|
+
```yaml
|
|
60
|
+
- name: Generate SLSA L1 provenance
|
|
61
|
+
run: |
|
|
62
|
+
IMAGE_DIGEST=$(docker inspect --format='{{index .RepoDigests 0}}' "your-app:commercial-${VERSION}" 2>/dev/null || echo "N/A")
|
|
63
|
+
cat > provenance.json << PROVEOF
|
|
64
|
+
{
|
|
65
|
+
"_type": "https://in-toto.io/Statement/v0.1",
|
|
66
|
+
"predicateType": "https://slsa.dev/provenance/v0.2",
|
|
67
|
+
"subject": [{"name": "app-commercial-${VERSION}", "digest": {"sha256": "$(sha256sum app-commercial-${VERSION}.tar.gz | cut -d' ' -f1)"}}],
|
|
68
|
+
"predicate": {
|
|
69
|
+
"buildType": "https://github.com/Attestations/GitHubActionsWorkflow@v1",
|
|
70
|
+
"builder": {"id": "https://github.com/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}"},
|
|
71
|
+
"invocation": {
|
|
72
|
+
"configSource": {
|
|
73
|
+
"uri": "git+https://github.com/${GITHUB_REPOSITORY}",
|
|
74
|
+
"digest": {"sha1": "${GITHUB_SHA}"},
|
|
75
|
+
"entryPoint": ".github/workflows/release-commercial.yml"
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
"metadata": {
|
|
79
|
+
"buildInvocationId": "${GITHUB_RUN_ID}/${GITHUB_RUN_ATTEMPT}",
|
|
80
|
+
"buildStartedOn": "$(date -u +%Y-%m-%dT%H:%M:%SZ)",
|
|
81
|
+
"completeness": {"environment": false, "materials": true, "parameters": false}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
PROVEOF
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Cosign 簽署
|
|
89
|
+
|
|
90
|
+
```yaml
|
|
91
|
+
- name: Sign SBOM and provenance
|
|
92
|
+
run: |
|
|
93
|
+
cosign sign-blob --key env://COSIGN_PRIVATE_KEY --yes sbom.cdx.json > sbom.cdx.json.sig
|
|
94
|
+
cosign sign-blob --key env://COSIGN_PRIVATE_KEY --yes provenance.json > provenance.json.sig
|
|
95
|
+
env:
|
|
96
|
+
COSIGN_PRIVATE_KEY: ${{ secrets.COSIGN_PRIVATE_KEY }}
|
|
97
|
+
COSIGN_PASSWORD: ${{ secrets.COSIGN_PASSWORD }}
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### 驗證(由終端使用者執行)
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# Verify SBOM signature
|
|
104
|
+
cosign verify-blob --key cosign.pub --signature sbom.cdx.json.sig sbom.cdx.json
|
|
105
|
+
|
|
106
|
+
# Verify provenance signature
|
|
107
|
+
cosign verify-blob --key cosign.pub --signature provenance.json.sig provenance.json
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
## 發布套件結構
|
|
111
|
+
|
|
112
|
+
```
|
|
113
|
+
app-commercial-v1.3.0/
|
|
114
|
+
├── app-commercial-v1.3.0.docker.tar.gz # Primary artefact
|
|
115
|
+
├── sbom.cdx.json # CycloneDX SBOM
|
|
116
|
+
├── sbom.cdx.json.sig # cosign signature
|
|
117
|
+
├── provenance.json # SLSA L1 provenance
|
|
118
|
+
├── provenance.json.sig # cosign signature
|
|
119
|
+
├── checksums.txt # SHA-256 of all artefacts
|
|
120
|
+
├── checksums.txt.sig # cosign signature
|
|
121
|
+
└── install.sh / docker-compose.yml / ...
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## 相關標準
|
|
125
|
+
|
|
126
|
+
- [Supply Chain Security Standards](supply-chain-security-standards.md) — 相依套件稽核政策
|
|
127
|
+
- [Container Security Standards](container-security.md) — image 強化
|
|
128
|
+
- [Advanced SAST Standards](sast-advanced.md) — 靜態分析
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
**Scope**: universal
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
source: ../../../core/user-journey-testing.md
|
|
3
|
+
source_version: 1.0.0
|
|
4
|
+
translation_version: 1.0.0
|
|
5
|
+
last_synced: 2026-06-24
|
|
6
|
+
source_hash: 6d57ca40bd8e
|
|
7
|
+
status: current
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# 使用者旅程測試標準
|
|
11
|
+
|
|
12
|
+
> **語言**: [English](../../../core/user-journey-testing.md) | 繁體中文 | [简体中文](../../zh-CN/core/user-journey-testing.md)
|
|
13
|
+
|
|
14
|
+
**適用範圍**:具備跨越多個 user story 的多步驟、有狀態使用者流程的專案
|
|
15
|
+
**Scope**: universal
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## 概述
|
|
20
|
+
|
|
21
|
+
使用者旅程測試標準定義了 **TESTPLAN** 格式,讓連貫、循序的使用者旅程成為一等公民的測試產物。驗收條件(AC)測試只能孤立地驗證單一 story,而旅程測試驗證 AC 測試做不到的事:**跨 story 的狀態連續性**——亦即一個步驟為下一個步驟留下的狀態鏈。
|
|
22
|
+
|
|
23
|
+
一條旅程在人類可讀的 `TESTPLAN-NNN.md` 中描述一次,並透過共用的 `T-NNN` 識別碼一對一對應到自動化 E2E 測試,使計畫與可執行測試套件永不脫鉤。
|
|
24
|
+
|
|
25
|
+
## 參考
|
|
26
|
+
|
|
27
|
+
| 標準/來源 | 內容 |
|
|
28
|
+
|----------------|---------|
|
|
29
|
+
| journey-test-assistant(skill) | 產生 TESTPLAN 與旅程 E2E 骨架 |
|
|
30
|
+
| flow-based-testing | 旅程所實例化的流程原型 |
|
|
31
|
+
| e2e-testing(option) | 旅程對應到的端對端執行層 |
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## 準則
|
|
36
|
+
|
|
37
|
+
- 每個專案 MUST 至少有一份 `TESTPLAN-NNN.md` 記錄主要使用者旅程。
|
|
38
|
+
- TESTPLAN 步驟 MUST 循序且有狀態——每個步驟依賴前一步的狀態。
|
|
39
|
+
- 每份 TESTPLAN MUST 在測試步驟之前先定義 personas。
|
|
40
|
+
- TESTPLAN 與自動化 E2E 測試 MUST 使用相同的 `T-NNN` 識別碼。
|
|
41
|
+
- 旅程 E2E 測試 MUST 在環境不可用時優雅略過(skip gracefully)。
|
|
42
|
+
- 旅程測試涵蓋 AC 測試無法涵蓋的:跨 story 的狀態連續性。
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## TESTPLAN 格式
|
|
47
|
+
|
|
48
|
+
- **檔名**:`TESTPLAN-NNN-<project-slug>.md`
|
|
49
|
+
- **位置**:`test-plans/`
|
|
50
|
+
|
|
51
|
+
### 必要區段
|
|
52
|
+
|
|
53
|
+
| 區段 | 說明 | 格式 |
|
|
54
|
+
|---------|-------------|--------|
|
|
55
|
+
| **Personas** | 定義所有測試行為者及其角色與權限 | `\| Actor \| Role \| Key Permissions \|` |
|
|
56
|
+
| **Environment** | 列出環境前置條件與驗證指令 | — |
|
|
57
|
+
| **Test Groups** | `T-NNN` 編號的測試群組,具循序依賴鏈 | — |
|
|
58
|
+
| **Execution Order** | 呈現 `T-NNN → T-NNN` 關係的依賴圖 | — |
|
|
59
|
+
|
|
60
|
+
### 步驟標記
|
|
61
|
+
|
|
62
|
+
| 標記 | 意義 |
|
|
63
|
+
|--------|---------|
|
|
64
|
+
| `[UI]` | 瀏覽器操作,需視覺驗證 |
|
|
65
|
+
| `[API]` | `curl` / API 客戶端驗證 |
|
|
66
|
+
| `[CHECK]` | 需確認的預期結果 |
|
|
67
|
+
| `[SKIP-if]` | 帶原因的條件略過 |
|
|
68
|
+
| `★` | 需確認的高風險步驟 |
|
|
69
|
+
|
|
70
|
+
### 步驟格式
|
|
71
|
+
|
|
72
|
+
每個步驟宣告:
|
|
73
|
+
|
|
74
|
+
- **step_id**——`T-NNN-M`(群組-步驟格式)
|
|
75
|
+
- **operation**——要做什麼,標註 `[MARKER]`
|
|
76
|
+
- **expected_result**——應發生什麼
|
|
77
|
+
- **precondition**——必須滿足、來自前一個 `T-NNN` 的狀態
|
|
78
|
+
- **depends_on**——以逗號分隔的 `T-NNN` 識別碼
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## 自動化對應
|
|
83
|
+
|
|
84
|
+
- **原則**:每個 `T-NNN` 群組對應一個 `describe()` 區塊;每個步驟對應一個 `it()`。
|
|
85
|
+
- **檔案樣式**:`*.journey.spec.ts` 或 `*.journey.e2e.test.ts`。
|
|
86
|
+
- **共用狀態**:旅程測試 MUST 跨 `it()` 區塊使用共用 `let` 變數,使每個步驟建立於前一步的結果之上。
|
|
87
|
+
- **略過策略**:以 `describe.skipIf(!BASE_URL)` 保護依賴環境的測試。
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## 旅程分類
|
|
92
|
+
|
|
93
|
+
| ID | 說明 | 必要於 |
|
|
94
|
+
|----|-------------|--------------|
|
|
95
|
+
| `platform-admin-journey` | 平台管理員設定:login → org → project → pipeline | enterprise、saas |
|
|
96
|
+
| `member-journey` | 組織成員:join → project access → pipeline view | enterprise、saas |
|
|
97
|
+
| `dev-journey` | 開發者:new project → spec → pipeline → artifact | all |
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## 規則
|
|
102
|
+
|
|
103
|
+
| 規則 | 觸發時機 | 指示 | 優先級 |
|
|
104
|
+
|------|---------|-------------|----------|
|
|
105
|
+
| `testplan-required` | 建立新專案 | 在寫程式碼前產生 `TESTPLAN-001.md`,含 personas、environment 與主旅程步驟 | required |
|
|
106
|
+
| `journey-before-code` | 開始專案實作 | 先定義使用者旅程測試計畫;旅程測試作為活的驗收條件 | recommended |
|
|
107
|
+
| `sequential-state` | 撰寫旅程 E2E 測試 | 使用共用狀態變數(`let token, orgSlug, projectSlug`),使每步建立於前一步結果 | required |
|
|
108
|
+
| `graceful-skip` | 撰寫旅程 E2E 測試 | 以 `describe.skipIf(!process.env.JOURNEY_BASE_URL)` 保護,使單元 CI 略過 | required |
|
|
109
|
+
| `t-nnn-alignment` | 撰寫任何 E2E 測試 | 在測試描述中引用 TESTPLAN 的 `T-NNN` 識別碼以利追溯 | recommended |
|
|
110
|
+
| `persona-first` | 撰寫 TESTPLAN | 在撰寫任何測試步驟前先定義所有使用者 personas | required |
|
|
111
|
+
| `dependency-chain` | 撰寫 TESTPLAN | 每個測試群組必須宣告其 `depends_on` 清單,使執行順序明確 | required |
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
---
|
|
2
|
+
source: ../../../core/user-story-mapping.md
|
|
3
|
+
source_version: 1.0.0
|
|
4
|
+
translation_version: 1.0.0
|
|
5
|
+
last_synced: 2026-06-17
|
|
6
|
+
source_hash: d161a742d704
|
|
7
|
+
status: current
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# User Story Mapping 標準
|
|
11
|
+
|
|
12
|
+
> **Language**: [English](../../../core/user-story-mapping.md) | 繁體中文
|
|
13
|
+
|
|
14
|
+
> **版本**: 1.0.0 | **狀態**: Active | **更新日期**: 2026-06-17
|
|
15
|
+
> **AI 最佳化版本**: `ai/standards/user-story-mapping.ai.yaml`
|
|
16
|
+
> **規格**: XSPEC-069(cross-project/specs/XSPEC-069-uds-product-layer-pack.md)
|
|
17
|
+
|
|
18
|
+
## 概觀
|
|
19
|
+
|
|
20
|
+
本標準定義團隊如何建構與運用 **story map** 來規劃產品發布。涵蓋三層 story map 結構
|
|
21
|
+
(Backbone 活動、Walking Skeleton 子任務、Detail Stories)、MVP 水平切片規則、每個
|
|
22
|
+
story 的 INVEST 合規,以及與可量化產品指標連結的 Given/When/Then 驗收條件。可避免
|
|
23
|
+
不完整的 MVP,並確保每個 story 皆可測試與可追溯。
|
|
24
|
+
|
|
25
|
+
本標準屬於**產品層標準包**(XSPEC-069),位於 `prd-standards`(上游意圖)與
|
|
26
|
+
`requirement-engineering`(下游 INVEST story)之間,驗收條件連結
|
|
27
|
+
`product-metrics-standards`。
|
|
28
|
+
|
|
29
|
+
> **範圍**:本標準定義 *story map 結構與 MVP 切片紀律*。具體規劃工具(Miro/Jira)
|
|
30
|
+
> 屬採用者的選擇。
|
|
31
|
+
|
|
32
|
+
## 需求
|
|
33
|
+
|
|
34
|
+
| ID | 規則 | 等級 |
|
|
35
|
+
|----|------|------|
|
|
36
|
+
| REQ-001 | Story map 三層(backbone、walking skeleton、detail story) | MUST |
|
|
37
|
+
| REQ-002 | MVP 水平切片規則(禁止垂直切片 MVP) | MUST |
|
|
38
|
+
| REQ-003 | Story INVEST 合規 | MUST |
|
|
39
|
+
| REQ-004 | 驗收條件格式(Given/When/Then、連結指標) | MUST |
|
|
40
|
+
|
|
41
|
+
### REQ-001 — Story Map 三層
|
|
42
|
+
|
|
43
|
+
每張 story map MUST 結構化為三個水平層:(1) **Backbone**(頂列)——最高抽象層級的
|
|
44
|
+
使用者活動,代表完整的端到端旅程,各為使用者視角的動詞片語;backbone 須代表完整
|
|
45
|
+
旅程,而非僅已實作功能。(2) **Walking Skeleton**(中列)——使每個 backbone 活動可
|
|
46
|
+
運作的最少子任務,垂直排列於各 backbone 項目下。(3) **Detail Stories**(底列)——
|
|
47
|
+
針對變體、增強與邊界案例的具體 story,於各欄內垂直排序(越高優先級越高)。
|
|
48
|
+
|
|
49
|
+
### REQ-002 — MVP 水平切片規則
|
|
50
|
+
|
|
51
|
+
MVP 發布邊界 MUST 為跨 story map 的**水平切片**,於 walking skeleton 層級涵蓋所有
|
|
52
|
+
backbone 活動。僅涵蓋部分 backbone 活動的 MVP(**垂直切片**——把某活動做到完美而
|
|
53
|
+
其他缺席或不可運作)為 PROHIBITED,因其無法供使用者端到端評估。**例外**:單活動
|
|
54
|
+
產品(如聚焦型工具)若全部價值主張由該單一活動交付則豁免;例外 MUST 於 story map
|
|
55
|
+
記錄理由。
|
|
56
|
+
|
|
57
|
+
### REQ-003 — Story INVEST 合規
|
|
58
|
+
|
|
59
|
+
map 中每個 story MUST 符合 `requirement-engineering` 的 INVEST 準則:
|
|
60
|
+
**I**ndependent、**N**egotiable、**V**aluable、**E**stimable、**S**mall(至多一個
|
|
61
|
+
sprint;過大則拆分)、**T**estable(存在可客觀驗證的驗收條件)。未通過 INVEST 的
|
|
62
|
+
story 須在進 sprint 前精煉;評估 MUST 於 backlog refinement 會議進行。
|
|
63
|
+
|
|
64
|
+
### REQ-004 — 驗收條件格式
|
|
65
|
+
|
|
66
|
+
每個 story MUST 具備至少一條 **Given/When/Then** 格式的驗收條件,並於適用時連結至
|
|
67
|
+
`product-metrics-standards` 階層中的可量化產品結果。驗收條件無法客觀驗證(如「頁面
|
|
68
|
+
看起來不錯」)的 story 為不合規。驗收條件 MUST 在開發開始前撰寫,且開發開始後未經
|
|
69
|
+
PM 與 dev lead 簽核 MUST NOT 修改(與 PRD 變更相同的修訂政策)。
|
|
70
|
+
|
|
71
|
+
## 反樣態
|
|
72
|
+
|
|
73
|
+
- 垂直 MVP 切片:把某活動做到完美而其他 backbone 活動缺席。
|
|
74
|
+
- 無驗收條件的 story 進入開發(無明確 definition of done)。
|
|
75
|
+
- backbone 活動對應系統元件而非實際使用者目標。
|
|
76
|
+
- story map 僅用於規劃後即棄置,未作為活文件維護。
|
|
77
|
+
- 略過 backbone 與 walking skeleton 脈絡直接加入 detail story。
|
|
78
|
+
|
|
79
|
+
## 與既有標準的整合
|
|
80
|
+
|
|
81
|
+
- **`prd-standards`**——PRD 範圍實現為 story map 與 MVP 切片。
|
|
82
|
+
- **`requirement-engineering`**——story 遵循其定義的 INVEST 準則。
|
|
83
|
+
- **`product-metrics-standards`**——驗收條件對應北極星 driver。
|
|
84
|
+
- **`acceptance-criteria-traceability`**——GWT 條件提供 AC 追溯主幹。
|
|
85
|
+
|
|
86
|
+
## 相關規格
|
|
87
|
+
|
|
88
|
+
- XSPEC-069 — UDS 產品層標準包(本標準來源)
|
|
89
|
+
|
|
90
|
+
## 變更紀錄
|
|
91
|
+
|
|
92
|
+
| 版本 | 日期 | 變更 |
|
|
93
|
+
|------|------|------|
|
|
94
|
+
| v1.0.0 | 2026-06-17 | 初版——REQ-001~004:三層 map、MVP 水平切片規則、INVEST 合規、GWT 驗收條件(XSPEC-069) |
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
---
|
|
2
|
+
source: ../../../core/verification-oracle.md
|
|
3
|
+
source_version: 1.0.0
|
|
4
|
+
translation_version: 1.0.0
|
|
5
|
+
last_synced: 2026-06-17
|
|
6
|
+
source_hash: 16e45bd68616
|
|
7
|
+
status: current
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# 驗證 Oracle 標準
|
|
11
|
+
|
|
12
|
+
> **Language**: [English](../../../core/verification-oracle.md) | 繁體中文
|
|
13
|
+
|
|
14
|
+
> **版本**: 1.0.0 | **狀態**: Active | **更新日期**: 2026-06-17
|
|
15
|
+
> **AI 最佳化版本**: `ai/standards/verification-oracle.ai.yaml`
|
|
16
|
+
> **規格**: XSPEC-256 (cross-project/specs/XSPEC-256-verification-oracle.md)
|
|
17
|
+
|
|
18
|
+
## 概述
|
|
19
|
+
|
|
20
|
+
**測試 oracle(test oracle,測試神諭)** 是判斷軟體輸出是否「對」的基準來源。沒有 oracle
|
|
21
|
+
的軟體無法被稱為「對」——你連「它對不對」都說不出口。本標準把 **ground-truth oracle 升為
|
|
22
|
+
一級工件**,並把「對」從一次性的驗收狀態,變成 **每次變更都重新驗證的不變量**(DEC-077)。
|
|
23
|
+
|
|
24
|
+
它是治理閘門家族中的 **正確性(correctness)** 成員——與 `license-compliance`
|
|
25
|
+
(XSPEC-193,*授權*)、`model-provenance`(XSPEC-255,*來源*)並列——三者共用同一形狀:
|
|
26
|
+
**登錄/檢查 → fail-closed 閘門 → 稽核證據 → 升級給人的天花板**。三者是同一機制在三條軸上的
|
|
27
|
+
profile:**授權 / 來源 / 正確性**。
|
|
28
|
+
|
|
29
|
+
> **範圍**:本標準定義 *正確性 oracle 機制*(登錄、分級、閘門時機、再驗證、證據、升級)以及
|
|
30
|
+
> 它產出的驗收證據。**oracle 內容(正確答案)歸客戶**——那是他的業務、他的 ground truth
|
|
31
|
+
> (DEC-075 中立機制 / DEC-063 產出物責任歸客戶)。執行引擎接線(如 VibeOps pipeline 閘門)
|
|
32
|
+
> 屬下游採用議題,不在本標準範圍。
|
|
33
|
+
|
|
34
|
+
## Oracle-ability 光譜
|
|
35
|
+
|
|
36
|
+
並非每個需求都有現成 oracle。依「oracle 現成度」對每個高賭注功能分級——這驅動成本、beachhead
|
|
37
|
+
選案,以及何時必須由人介入。
|
|
38
|
+
|
|
39
|
+
| 級 | oracle 長相 | 現成度 / 成本 |
|
|
40
|
+
|----|-------------|---------------|
|
|
41
|
+
| 1 | 舊系統的已知正確輸出(legacy) | 最現成、最便宜(可證明等價 parity) |
|
|
42
|
+
| 2 | 一批手算 / 既有正確輸出 | 現成(複現 + 規模化) |
|
|
43
|
+
| 3 | 法規 / 公式(有規則、缺範例) | 需共同推導 worked examples + 簽核(ATDD) |
|
|
44
|
+
| 4 | 模糊需求(oracle 得從訪談「挖」出來) | 最貴——即「翻譯題」 |
|
|
45
|
+
|
|
46
|
+
## 需求
|
|
47
|
+
|
|
48
|
+
| ID | 規則 | 等級 |
|
|
49
|
+
|----|------|------|
|
|
50
|
+
| REQ-001 | Ground-truth registry 為一級工件、綁定 AC | MUST |
|
|
51
|
+
| REQ-002 | 對每個高賭注功能標 oracle-ability 分級(1–4 級) | MUST |
|
|
52
|
+
| REQ-003 | 出貨前 fail-closed 驗證閘門 | MUST |
|
|
53
|
+
| REQ-004 | 每次變更持續再驗證(正確性即 CI 不變量) | MUST |
|
|
54
|
+
| REQ-005 | 可稽核的驗證證據(N/N 複現、無 drift、軌跡) | MUST |
|
|
55
|
+
| REQ-006 | 自助前沿天花板——無 oracle / 不可驗高賭注則升級 | MUST |
|
|
56
|
+
| REQ-007 | oracle 內容主權——內容歸客戶、機制中立 | SHOULD |
|
|
57
|
+
|
|
58
|
+
### REQ-001 — Ground-Truth Registry
|
|
59
|
+
|
|
60
|
+
客戶提供的正確答案成為一級工件。每筆案例含 **輸入情境 + 期望正確輸出**,並 **綁定到它所證明
|
|
61
|
+
的驗收條件**(`acceptance-criteria-traceability`)。機制至少 MUST 支援數值與結構化輸出比對,
|
|
62
|
+
並支援逐欄豁免(如對 timestamps/ids 的 `ignore_fields`)。期望輸出是 **正確結果**,而非僅
|
|
63
|
+
「端點回 HTTP 200」。
|
|
64
|
+
|
|
65
|
+
### REQ-002 — Oracle-ability 分級
|
|
66
|
+
|
|
67
|
+
每個高賭注功能 MUST 標記其 oracle 級別(1–4 級,見上表)。**第 4 級(需挖)功能 MUST 有一個
|
|
68
|
+
定義好的掛接點**,接到 oracle 製造流程(訪談 / Prototype Probe;XSPEC-252),把貴端往 1–2 級
|
|
69
|
+
拉。beachhead 選案 SHOULD 優先挑 oracle 已現成的 1–2 級功能。
|
|
70
|
+
|
|
71
|
+
### REQ-003 — Fail-Closed 驗證閘門(出貨前)
|
|
72
|
+
|
|
73
|
+
系統進入 UAT/出貨前,MUST **精確複現 registry 全部 ground-truth 案例**。未複現 MUST
|
|
74
|
+
**block 出貨或升級**——絕不靜默放行(比照 `license-compliance` blocklist 與 `model-provenance`
|
|
75
|
+
denylist)。閘門接既有 reviewer/QA 閘門與稽核 logger。
|
|
76
|
+
|
|
77
|
+
### REQ-004 — 持續再驗證(正確性即 CI 不變量,本標準的靈魂)
|
|
78
|
+
|
|
79
|
+
**每次變更 / 重生成都 MUST 重跑** 全部 oracle 套件,把「對」變成 **CI 級不變量**,而非一次性
|
|
80
|
+
驗收。**drift**(曾經對、改完不對)MUST 被偵測並 **block**。這是 DEC-077「改了還對、且能證明
|
|
81
|
+
一直都對」的機制化——也是「生成一次不驗證」的對手做不到的差異點。
|
|
82
|
+
|
|
83
|
+
### REQ-005 — 稽核證據
|
|
84
|
+
|
|
85
|
+
每次驗證 MUST 產出可稽核報告:*「本交付複現 N/N 筆 ground-truth、無 drift、附軌跡」*。它接
|
|
86
|
+
稽核 logger / hash chain、`model-provenance` 來源證據(XSPEC-255)與 telemetry 白名單
|
|
87
|
+
(DEC-066)。**此報告=正確性/治理護城河的對外證物**,也是客戶的合規證物。
|
|
88
|
+
|
|
89
|
+
### REQ-006 — 自助前沿天花板
|
|
90
|
+
|
|
91
|
+
**無 oracle**(測不出對錯)或 **高賭注但不可驗** 之處,系統 MUST NOT 讓自助靜默通過。MUST
|
|
92
|
+
標示「此處需人裁決 / 需補 oracle」並 **升級**(DEC-076 天花板)。正確性定義與驗收簽核是 **人
|
|
93
|
+
(客戶 / 法遵 / 監管)的判斷行為**——產品強制的治理閘門,非顧問陷阱。
|
|
94
|
+
|
|
95
|
+
### REQ-007 — oracle 內容主權
|
|
96
|
+
|
|
97
|
+
驗證 *機制* 領域中立(DEC-075);*正確答案* 歸客戶(DEC-063)。採用者 SHOULD 讓 registry
|
|
98
|
+
維持客戶範圍且隔離(參見 `model-provenance` / `license-compliance` 的逐客戶 salt 模式,
|
|
99
|
+
DEC-064)。
|
|
100
|
+
|
|
101
|
+
## 原則
|
|
102
|
+
|
|
103
|
+
| ID | 原則 |
|
|
104
|
+
|----|------|
|
|
105
|
+
| P-1 | Oracle First——無 oracle 即無「對」;宣稱正確前先分級 oracle-ability |
|
|
106
|
+
| P-2 | 被維持的不變量——每次變更重新驗證;drift 是 block 事件(DEC-077) |
|
|
107
|
+
| P-3 | Fail-Closed——未複現則 block 或升級;絕不靜默放行 |
|
|
108
|
+
| P-4 | 證據導向——每個判定附可複現軌跡(N/N + diff + 稽核 id) |
|
|
109
|
+
| P-5 | 人的天花板——不可驗高賭注升級給人(DEC-076) |
|
|
110
|
+
| P-6 | 內容主權——機制中立,正確答案歸客戶 |
|
|
111
|
+
|
|
112
|
+
## 閘門時機
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
規格(SDD) → 生成 → [oracle 驗證閘門] ← REQ-003 fail-closed、出貨前
|
|
116
|
+
│
|
|
117
|
+
每次變更 ─────────┤ → 重跑全部 oracle 套件 ← REQ-004 drift block
|
|
118
|
+
↓
|
|
119
|
+
稽核證據報告 ← REQ-005(對外護城河證物)
|
|
120
|
+
│
|
|
121
|
+
無 oracle / 不可驗 ─────┴──→ 升級給人 ← REQ-006 天花板
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## 與治理閘門家族的關係
|
|
125
|
+
|
|
126
|
+
| Profile | 標準 | 軸 | 登錄/檢查 | block 觸發 |
|
|
127
|
+
|---------|------|----|-----------|------------|
|
|
128
|
+
| 授權 | `license-compliance`(XSPEC-193) | legal | blocklist/allowlist/greylist | 禁用授權 |
|
|
129
|
+
| 來源 | model-provenance(XSPEC-255,規劃中的姊妹) | source | 模型來源政策 | 禁用來源 |
|
|
130
|
+
| **正確性** | **`verification-oracle`(XSPEC-256)** | **correct** | **ground-truth registry** | **未複現 / drift** |
|
|
131
|
+
|
|
132
|
+
三者皆:fail-closed + 稽核證據 + 客戶覆寫上報 telemetry + 升級給人的天花板。
|
|
133
|
+
|
|
134
|
+
## 與既有標準的整合
|
|
135
|
+
|
|
136
|
+
- **`acceptance-criteria-traceability`** — oracle 案例綁 AC;複現成為 AC 覆蓋的一種。
|
|
137
|
+
- **`verification-evidence`** — oracle 報告是一種驗證證據(N/N 複現 + 無 drift + 軌跡)。
|
|
138
|
+
- **`test-governance`** — oracle 套件是受治理的測試政策;閘門是受治理的閘門。
|
|
139
|
+
- **`behavior-snapshot`** — parity/snapshot 閘門是 REQ-003/REQ-004 在「重構/移植」情境的實例
|
|
140
|
+
(snapshot 本身就是一種 oracle,可共用骨架)。
|
|
141
|
+
|
|
142
|
+
## 相關規格
|
|
143
|
+
|
|
144
|
+
- XSPEC-256 — Verification Oracle 完整規格(本標準來源)
|
|
145
|
+
- DEC-077 — 對=被維持的不變量(母決策)
|
|
146
|
+
- DEC-075 — VibeOps 領域中立定位(中立機制)
|
|
147
|
+
- DEC-076 — 自助客製北極星(oracle=自助天花板)
|
|
148
|
+
- DEC-063 — 法律與合規策略(產出物責任歸客戶 / 高賭注)
|
|
149
|
+
- DEC-066 — Telemetry 驅動產品演進(稽核/telemetry)
|
|
150
|
+
- XSPEC-193 / XSPEC-255 — 姊妹治理閘門 profile(授權 / 來源)
|
|
151
|
+
- XSPEC-252 — Domain pack 需求翻譯(oracle 製造、第 4 級掛接)
|
|
152
|
+
- XSPEC-188 — UAT Ship 決策儀表板(業務級 UAT 錨點)
|
|
153
|
+
- XSPEC-201 — 重構/移植完整性(behavior-snapshot=oracle 既有實例)
|
|
154
|
+
|
|
155
|
+
## 變更紀錄
|
|
156
|
+
|
|
157
|
+
| 版本 | 日期 | 變更 |
|
|
158
|
+
|------|------|------|
|
|
159
|
+
| v1.0.0 | 2026-06-17 | 初版——REQ-001~007:ground-truth registry、oracle-ability 分級、fail-closed 閘門、持續再驗證、稽核證據、自助天花板、內容主權(XSPEC-256) |
|