universal-dev-standards 5.17.0 → 6.1.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/options/commit-message/bilingual.ai.yaml +19 -1
- 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 +3 -3
- 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/documentation-writing-standards.ai.yaml +1 -1
- 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/frontend-design-standards.ai.yaml +33 -3
- 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/push-standards.ai.yaml +14 -3
- package/bundled/ai/standards/refactoring-standards.ai.yaml +68 -3
- package/bundled/ai/standards/requirement-engineering.ai.yaml +42 -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/self-review-protocol.ai.yaml +15 -10
- 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-evidence.ai.yaml +88 -5
- 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 +10 -3
- 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 +2 -2
- package/bundled/core/error-code-standards.md +4 -3
- package/bundled/core/feature-discovery-standards.md +191 -0
- 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/frontend-design-standards.md +93 -4
- 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/multi-environment-e2e-testing.md +195 -0
- 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/push-standards.md +82 -0
- package/bundled/core/refactoring-standards.md +44 -3
- package/bundled/core/replay-test.md +1 -1
- package/bundled/core/requirement-engineering.md +2 -2
- 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 +15 -10
- 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/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-evidence.md +170 -10
- package/bundled/core/verification-oracle.md +167 -0
- package/bundled/core/versioning.md +133 -109
- package/bundled/locales/COVERAGE.md +94 -77
- package/bundled/locales/zh-CN/CHANGELOG.md +94 -6
- package/bundled/locales/zh-CN/CLAUDE.md +1 -1
- package/bundled/locales/zh-CN/MAINTENANCE.md +42 -661
- package/bundled/locales/zh-CN/README.md +25 -12
- package/bundled/locales/zh-CN/SECURITY.md +2 -2
- package/bundled/locales/zh-CN/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
- package/bundled/locales/zh-CN/ai/options/commit-message/bilingual.ai.yaml +6 -1
- 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 +239 -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 +200 -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/frontend-design-standards.md +1 -1
- package/bundled/locales/zh-CN/core/full-coverage-testing.md +269 -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 +131 -0
- package/bundled/locales/zh-CN/core/llm-output-validation.md +192 -0
- package/bundled/locales/zh-CN/core/logging-standards.md +205 -7
- package/bundled/locales/zh-CN/core/mock-boundary.md +161 -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 +77 -5
- package/bundled/locales/zh-CN/core/pipeline-security-gates.md +146 -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/requirement-engineering.md +1 -1
- 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 +113 -0
- package/bundled/locales/zh-CN/core/self-review-protocol.md +172 -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 +39 -3
- package/bundled/locales/zh-CN/core/supply-chain-attestation.md +131 -0
- package/bundled/locales/zh-CN/core/verification-evidence.md +252 -41
- package/bundled/locales/zh-CN/core/versioning.md +1 -1
- package/bundled/locales/zh-CN/docs/CHEATSHEET.md +36 -7
- package/bundled/locales/zh-CN/docs/FEATURE-REFERENCE.md +71 -53
- 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/commit-message/bilingual.md +10 -3
- 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 +115 -17
- package/bundled/locales/zh-CN/skills/brainstorm-assistant/guide.md +37 -12
- 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 +169 -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 +94 -6
- package/bundled/locales/zh-TW/CLAUDE.md +1 -1
- package/bundled/locales/zh-TW/MAINTENANCE.md +51 -4
- package/bundled/locales/zh-TW/README.md +25 -12
- package/bundled/locales/zh-TW/SECURITY.md +2 -2
- package/bundled/locales/zh-TW/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
- package/bundled/locales/zh-TW/ai/options/commit-message/bilingual.ai.yaml +6 -1
- 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/frontend-design-standards.md +1 -1
- 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 +131 -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 +77 -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 +146 -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/requirement-engineering.md +1 -1
- 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 +113 -0
- package/bundled/locales/zh-TW/core/self-review-protocol.md +18 -13
- 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 +19 -11
- 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-evidence.md +260 -31
- 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 +36 -7
- package/bundled/locales/zh-TW/docs/DEV-WORKFLOW-MAPPING.md +6 -6
- package/bundled/locales/zh-TW/docs/FEATURE-REFERENCE.md +71 -53
- 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/commit-message/bilingual.md +10 -3
- 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 +116 -18
- package/bundled/locales/zh-TW/skills/brainstorm-assistant/guide.md +38 -11
- 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 +52 -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 +139 -15
- package/bundled/skills/brainstorm-assistant/guide.md +39 -8
- 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 +13 -2
- 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 +4 -4
- 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 +168 -75
- 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 +61 -149
- 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
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
# User Journey Testing Standard - AI Optimized
|
|
2
|
+
# 使用者旅程測試標準:定義 TESTPLAN 格式,讓跨 Story 的連貫使用者旅程成為測試一等公民
|
|
3
|
+
|
|
4
|
+
standard:
|
|
5
|
+
id: user-journey-testing
|
|
6
|
+
name: User Journey Testing Standard
|
|
7
|
+
description: Defines TESTPLAN format for connected, sequential user journey tests
|
|
8
|
+
|
|
9
|
+
meta:
|
|
10
|
+
version: "1.0.0"
|
|
11
|
+
updated: "2026-05-03"
|
|
12
|
+
source: core/user-journey-testing.md
|
|
13
|
+
description: TESTPLAN format for connected, sequential user journey tests
|
|
14
|
+
|
|
15
|
+
guidelines:
|
|
16
|
+
- "Every project MUST have at least one TESTPLAN-NNN.md documenting the main user journey"
|
|
17
|
+
- "TESTPLAN steps MUST be sequential and stateful — each step depends on prior state"
|
|
18
|
+
- "Every TESTPLAN MUST define personas before test steps"
|
|
19
|
+
- "TESTPLAN and automated E2E tests MUST use the same T-NNN identifiers"
|
|
20
|
+
- "Journey E2E tests MUST skip gracefully when environment is unavailable"
|
|
21
|
+
- "Journey tests cover what AC tests cannot: cross-story state continuity"
|
|
22
|
+
|
|
23
|
+
testplan_format:
|
|
24
|
+
file_naming: "TESTPLAN-NNN-<project-slug>.md"
|
|
25
|
+
location: "test-plans/"
|
|
26
|
+
sections:
|
|
27
|
+
personas:
|
|
28
|
+
required: true
|
|
29
|
+
description: "Define all test actors with their role and permissions"
|
|
30
|
+
format: "| Actor | Role | Key Permissions |"
|
|
31
|
+
environment:
|
|
32
|
+
required: true
|
|
33
|
+
description: "List environment prerequisites and verification commands"
|
|
34
|
+
test_groups:
|
|
35
|
+
required: true
|
|
36
|
+
description: "T-NNN numbered test groups with sequential dependency chain"
|
|
37
|
+
execution_order:
|
|
38
|
+
required: true
|
|
39
|
+
description: "Dependency diagram showing T-NNN → T-NNN relationships"
|
|
40
|
+
|
|
41
|
+
step_markers:
|
|
42
|
+
"[UI]": "Browser-based action, verify visually"
|
|
43
|
+
"[API]": "curl / API client verification"
|
|
44
|
+
"[CHECK]": "Expected result to confirm"
|
|
45
|
+
"[SKIP-if]": "Conditional skip with reason"
|
|
46
|
+
"★": "High-risk step requiring confirmation"
|
|
47
|
+
|
|
48
|
+
step_format:
|
|
49
|
+
fields:
|
|
50
|
+
- step_id: "T-NNN-M (group-step format)"
|
|
51
|
+
- operation: "What to do, with [MARKER]"
|
|
52
|
+
- expected_result: "What should happen"
|
|
53
|
+
precondition: "State from previous T-NNN that must be satisfied"
|
|
54
|
+
depends_on: "Comma-separated T-NNN identifiers"
|
|
55
|
+
|
|
56
|
+
automation_mapping:
|
|
57
|
+
principle: "Every T-NNN group maps to a describe() block; every step maps to an it()"
|
|
58
|
+
file_pattern: "*.journey.spec.ts or *.journey.e2e.test.ts"
|
|
59
|
+
shared_state: "Journey tests MUST use shared let variables across it() blocks"
|
|
60
|
+
skip_strategy: "Use describe.skipIf(!BASE_URL) for environment-dependent tests"
|
|
61
|
+
|
|
62
|
+
journey_categories:
|
|
63
|
+
- id: platform-admin-journey
|
|
64
|
+
description: "Platform admin setup: login → org → project → pipeline"
|
|
65
|
+
required_for: ["enterprise", "saas"]
|
|
66
|
+
- id: member-journey
|
|
67
|
+
description: "Org member: join → project access → pipeline view"
|
|
68
|
+
required_for: ["enterprise", "saas"]
|
|
69
|
+
- id: dev-journey
|
|
70
|
+
description: "Developer: new project → spec → pipeline → artifact"
|
|
71
|
+
required_for: ["all"]
|
|
72
|
+
|
|
73
|
+
rules:
|
|
74
|
+
- id: testplan-required
|
|
75
|
+
trigger: creating a new project
|
|
76
|
+
instruction: Generate TESTPLAN-001.md with personas, environment, and main journey steps before writing code
|
|
77
|
+
priority: required
|
|
78
|
+
|
|
79
|
+
- id: journey-before-code
|
|
80
|
+
trigger: starting project implementation
|
|
81
|
+
instruction: Define the user journey test plan first; journey tests act as living acceptance criteria
|
|
82
|
+
priority: recommended
|
|
83
|
+
|
|
84
|
+
- id: sequential-state
|
|
85
|
+
trigger: writing journey E2E tests
|
|
86
|
+
instruction: Use shared state variables (let token, orgSlug, projectSlug) so each test step builds on previous results
|
|
87
|
+
priority: required
|
|
88
|
+
|
|
89
|
+
- id: graceful-skip
|
|
90
|
+
trigger: writing journey E2E tests
|
|
91
|
+
instruction: Guard with describe.skipIf(!process.env.JOURNEY_BASE_URL) so tests are skipped in unit CI
|
|
92
|
+
priority: required
|
|
93
|
+
|
|
94
|
+
- id: t-nnn-alignment
|
|
95
|
+
trigger: writing any E2E test
|
|
96
|
+
instruction: Reference T-NNN identifiers from TESTPLAN in test descriptions for traceability
|
|
97
|
+
priority: recommended
|
|
98
|
+
|
|
99
|
+
- id: persona-first
|
|
100
|
+
trigger: writing TESTPLAN
|
|
101
|
+
instruction: Define all user personas before writing any test steps
|
|
102
|
+
priority: required
|
|
103
|
+
|
|
104
|
+
- id: dependency-chain
|
|
105
|
+
trigger: writing TESTPLAN
|
|
106
|
+
instruction: Each test group must declare its depends_on list so execution order is explicit
|
|
107
|
+
priority: required
|
|
@@ -8,12 +8,14 @@ standard:
|
|
|
8
8
|
description: 驗證證據標準,強化 anti-hallucination
|
|
9
9
|
|
|
10
10
|
meta:
|
|
11
|
-
version: "1.
|
|
12
|
-
updated: "2026-
|
|
11
|
+
version: "1.2.0"
|
|
12
|
+
updated: "2026-07-17"
|
|
13
13
|
source: core/verification-evidence.md
|
|
14
14
|
description: >
|
|
15
15
|
驗證證據標準 — Iron Law: 無驗證證據不可聲稱完成。
|
|
16
16
|
v1.1.0: Evidence must specify which environment layer it was collected from (XSPEC-204).
|
|
17
|
+
v1.2.0: Evidence itself must be validated — a tool can fail silently and its
|
|
18
|
+
output is indistinguishable from a real result (XSPEC-340).
|
|
17
19
|
inspired_by: superpowers/verification-before-completion
|
|
18
20
|
|
|
19
21
|
guidelines:
|
|
@@ -23,8 +25,55 @@ standard:
|
|
|
23
25
|
- "驗收證據必須標明收集自哪個環境層次(local / UAT / PRD)"
|
|
24
26
|
- "回歸測試必須展示 RED → GREEN 循環"
|
|
25
27
|
- "代理報告 success ≠ 實際 success,需獨立驗證"
|
|
28
|
+
- "**工具回報 success ≠ 實際 success**——驗證指令本身可能沒跑起來,而其輸出與真結果無法區分"
|
|
26
29
|
- "驗證輸出截斷至合理長度(2000 字元)但保留關鍵資訊"
|
|
27
30
|
|
|
31
|
+
# 以下不構成驗證證據。原本只存在於 zh-TW 譯文裡(英文來源與本檔皆無)——
|
|
32
|
+
# v1.2.0 一併升上來源與本檔(XSPEC-340 R4:譯文比來源更完整,且無 gate 會報)。
|
|
33
|
+
non_evidence_claims:
|
|
34
|
+
- claim: "「已完成」"
|
|
35
|
+
why: "無可觀察的輸出"
|
|
36
|
+
- claim: "「應該可以了」"
|
|
37
|
+
why: "未執行驗證"
|
|
38
|
+
- claim: "「我改了程式碼」"
|
|
39
|
+
why: "修改 ≠ 驗證"
|
|
40
|
+
- claim: "「測試應該會通過」"
|
|
41
|
+
why: "預測 ≠ 事實"
|
|
42
|
+
- claim: "「指令回傳 0」"
|
|
43
|
+
why: "僅當該指令確實可能量到該主張時才算——見 evidence_validity"
|
|
44
|
+
|
|
45
|
+
# ── v1.2.0 證據有效性(XSPEC-340)──
|
|
46
|
+
# Iron Law 擋的是「沒有證據就宣稱完成」。這一層擋的是相反的失敗:
|
|
47
|
+
# 證據有、指令跑了、exit_code 是 0,**而那個輸出毫無意義**,因為指令根本沒量到東西。
|
|
48
|
+
# 這不是幻覺(幻覺是「沒查就編」,anti-hallucination 已涵蓋)——這裡什麼都沒編,
|
|
49
|
+
# 是**查了,而查詢工具騙了你**。
|
|
50
|
+
evidence_validity:
|
|
51
|
+
description: "證據本身是否成立——驗證指令是否真的執行、是否真的量到它宣稱的東西"
|
|
52
|
+
rules:
|
|
53
|
+
- name: "exit_code 的語意依工具而定"
|
|
54
|
+
detail: >
|
|
55
|
+
exit_code = 0 代表成功,只在「該工具成功時回 0」的前提下成立。
|
|
56
|
+
當工具在受測狀態下**設計上就會失敗**時,其非 0 不帶有關於受測物的任何資訊——
|
|
57
|
+
改看輸出內容。反向亦然:非 0 不足以證明受測物壞了。
|
|
58
|
+
- name: "空輸出 / 查無 / 0 ≠ 不存在"
|
|
59
|
+
detail: >
|
|
60
|
+
斷言「不存在」之前,須先確立查詢工具**執行成功**:不是 command not found、
|
|
61
|
+
不是權限不足、參數沒有被中間的 shell 吃掉。**查無之前,先確認查詢工具有在運作。**
|
|
62
|
+
- name: "判斷存在與否的指令不得丟棄 stderr"
|
|
63
|
+
detail: >
|
|
64
|
+
抑制 stderr(`2>/dev/null` 及等價作法)消掉的正是「這個工具壞了」的那條通道,
|
|
65
|
+
於是失敗會穿上與真陰性一模一樣的外衣。
|
|
66
|
+
- name: "管線的 exit code 不屬於其中任何單一階段"
|
|
67
|
+
detail: >
|
|
68
|
+
`set -o pipefail` 下 `producer | grep -q pattern` 會繼承 producer 的非 0,
|
|
69
|
+
grep 中不中都無關。需要依內容決策時:**先接住輸出,再判斷**。
|
|
70
|
+
provenance: >
|
|
71
|
+
證據來自 2026-07-17 單一 agent(Claude Opus 4.8)單日的十次實例,
|
|
72
|
+
記錄於 AsiaOstrich XSPEC-340;其中 exit_code=0 四次為假、exit_code≠0 兩次為真
|
|
73
|
+
且依 VE-002 行動摧毀了健康的產物。樣本密集但來源單一——然而每個失敗都源自
|
|
74
|
+
**工具本身的語意**(sudo / gpg / pipefail / POSIX exit code)而非模型的性質,
|
|
75
|
+
故任何驅動同一批工具的 agent 都暴露在同樣的陷阱下。
|
|
76
|
+
|
|
28
77
|
evidence_format:
|
|
29
78
|
fields:
|
|
30
79
|
- name: command
|
|
@@ -62,7 +111,12 @@ standard:
|
|
|
62
111
|
trust_rules:
|
|
63
112
|
- "代理聲稱「已完成」→ 檢查 verification_evidence 是否存在"
|
|
64
113
|
- "verification_evidence 為空 → 標記為未驗證"
|
|
65
|
-
|
|
114
|
+
# v1.2.0 修訂:原文為「exit_code ≠ 0 → 標記為驗證失敗」,無條件成立。
|
|
115
|
+
# 該規則在 2026-07-17 兩次把**完全正常**的加密備份判為失敗並刪除——
|
|
116
|
+
# 主機依設計不存私鑰,gpg 對正常檔案必然回非 0。故加上前提。
|
|
117
|
+
- "exit_code ≠ 0 → 標記為驗證失敗——**除非**該工具在受測狀態下設計上就回非 0(見 VE-007),此時改依輸出內容判斷"
|
|
118
|
+
- "exit_code = 0 但該指令不可能量到它宣稱的東西 → 標記為未驗證"
|
|
119
|
+
- "證據斷言「不存在」(0/空/查無)→ 未證明查詢工具執行成功前,標記為未驗證"
|
|
66
120
|
- "多個驗證步驟 → 所有步驟都必須通過"
|
|
67
121
|
|
|
68
122
|
rules:
|
|
@@ -72,7 +126,9 @@ standard:
|
|
|
72
126
|
priority: critical
|
|
73
127
|
- id: VE-002
|
|
74
128
|
trigger: "exit_code ≠ 0"
|
|
75
|
-
action:
|
|
129
|
+
action: >
|
|
130
|
+
標記驗證失敗,啟動 fix loop——**前提是已確認該工具在此狀態下成功時回 0**(見 VE-007)。
|
|
131
|
+
未確認就啟動 fix loop 等於對健康的產物動手。
|
|
76
132
|
priority: high
|
|
77
133
|
- id: VE-003
|
|
78
134
|
trigger: "Bug fix 無 RED-GREEN 循環"
|
|
@@ -97,6 +153,28 @@ standard:
|
|
|
97
153
|
要求補充環境層次聲明,或在 environment-stratification-matrix 中標記為 ⚠️/❌。
|
|
98
154
|
priority: high
|
|
99
155
|
|
|
156
|
+
# ── v1.2.0 證據有效性規則(XSPEC-340)──
|
|
157
|
+
validity_rules:
|
|
158
|
+
- id: VE-007
|
|
159
|
+
trigger: "驗證工具在受測狀態下**依設計**回非 0(例:主機刻意不存私鑰時的 gpg --list-packets)"
|
|
160
|
+
action: >
|
|
161
|
+
VE-002 不適用。改依輸出內容判斷;**不得對健康的產物啟動 fix loop**。
|
|
162
|
+
priority: critical
|
|
163
|
+
- id: VE-008
|
|
164
|
+
trigger: "證據斷言「不存在」(exit_code 0、輸出為 0/空/查無)"
|
|
165
|
+
action: >
|
|
166
|
+
該證據不成立,直到證明查詢工具本身執行成功(非 command not found、非權限失敗、
|
|
167
|
+
參數未被上游 shell 吃掉)。重跑且不抑制 stderr。
|
|
168
|
+
priority: high
|
|
169
|
+
- id: VE-009
|
|
170
|
+
trigger: "判斷存在與否的驗證指令抑制了 stderr(`2>/dev/null` 或等價作法)"
|
|
171
|
+
action: "證據不成立。以可見 stderr 重跑。"
|
|
172
|
+
priority: high
|
|
173
|
+
- id: VE-010
|
|
174
|
+
trigger: "證據的 exit_code 來自管線(尤其在 `set -o pipefail` 下)"
|
|
175
|
+
action: "該 exit code 不歸屬於任何單一階段。先接住輸出,再依內容判斷。"
|
|
176
|
+
priority: medium
|
|
177
|
+
|
|
100
178
|
physical_spec:
|
|
101
179
|
type: checklist
|
|
102
180
|
validator:
|
|
@@ -105,6 +183,11 @@ physical_spec:
|
|
|
105
183
|
checks:
|
|
106
184
|
- "完成聲明是否附帶 verification_evidence"
|
|
107
185
|
- "evidence 是否包含所有必填欄位"
|
|
108
|
-
|
|
186
|
+
# v1.2.0 修訂:原文為「exit_code 是否為 0(成功)」——它把 0 直接等同於成功,
|
|
187
|
+
# 正是 XSPEC-340 §A 十個實例中四次誤報的來源。
|
|
188
|
+
- "exit_code 是否為 0——且**該工具成功時確實回 0**(見 VE-007)"
|
|
189
|
+
- "證據若斷言「不存在」,是否已證明查詢工具執行成功(VE-008)"
|
|
190
|
+
- "判斷存在與否的指令是否抑制了 stderr(VE-009)"
|
|
191
|
+
- "exit_code 是否來自管線而非受測指令本身(VE-010)"
|
|
109
192
|
- "Bug fix 是否有 RED → GREEN 循環證據"
|
|
110
193
|
- "有外部服務依賴的 AC 是否標明 environment_layer"
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
# Verification Oracle Standards - AI Optimized
|
|
2
|
+
# Sources:
|
|
3
|
+
# v1.0.0 — XSPEC-256 Verification Oracle (correctness as a maintained invariant)
|
|
4
|
+
# DEC-077 (mother decision: "correct" is a maintained invariant, the moat axis)
|
|
5
|
+
|
|
6
|
+
id: verification-oracle
|
|
7
|
+
title: Verification Oracle Standards (Ground-Truth Correctness as a Maintained Invariant)
|
|
8
|
+
version: "1.0.0"
|
|
9
|
+
status: Active
|
|
10
|
+
tags: [correctness, oracle, ground-truth, verification, governance-gate, fail-closed, audit, regression, re-verification, ci-invariant]
|
|
11
|
+
created: 2026-06-17
|
|
12
|
+
updated: 2026-06-17
|
|
13
|
+
|
|
14
|
+
spec_ref: XSPEC-256 # Verification Oracle complete spec
|
|
15
|
+
|
|
16
|
+
references:
|
|
17
|
+
- XSPEC-256 # v1.0.0 source — Verification Oracle
|
|
18
|
+
- DEC-077 # Mother decision — correctness as a maintained invariant
|
|
19
|
+
- DEC-075 # Domain-neutral mechanism (oracle content belongs to customer)
|
|
20
|
+
- DEC-076 # Self-serve north star — oracle = self-serve ceiling
|
|
21
|
+
- DEC-063 # Legal & compliance — customer-owned output / high-stakes
|
|
22
|
+
- DEC-066 # Telemetry-driven evolution — audit/telemetry allowlist
|
|
23
|
+
- DEC-064 # Customer IP isolation (per-customer registry salt)
|
|
24
|
+
- XSPEC-193 # Sibling governance-gate profile — licensing
|
|
25
|
+
- XSPEC-255 # Sibling governance-gate profile — provenance
|
|
26
|
+
- XSPEC-252 # Oracle manufacturing (Tier-4 hand-off)
|
|
27
|
+
- XSPEC-188 # UAT ship-decision dashboard (business-level UAT anchors)
|
|
28
|
+
- XSPEC-201 # Behavior-snapshot = an oracle instance
|
|
29
|
+
|
|
30
|
+
summary: |
|
|
31
|
+
A test oracle is the source of truth that decides whether software output is correct.
|
|
32
|
+
Software without an oracle cannot be said to be "right". This standard makes the
|
|
33
|
+
ground-truth oracle a first-class artifact and turns "correct" from a one-time
|
|
34
|
+
acceptance state into a maintained invariant re-verified on every change (DEC-077).
|
|
35
|
+
|
|
36
|
+
It is the CORRECTNESS member of the governance-gate family — alongside license-compliance
|
|
37
|
+
(XSPEC-193, licensing) and model-provenance (XSPEC-255, provenance) — sharing the same
|
|
38
|
+
shape: registry/check -> fail-closed gate -> audit evidence -> human-escalation ceiling.
|
|
39
|
+
The three are profiles of one mechanism over three axes: licensing / provenance / correctness.
|
|
40
|
+
|
|
41
|
+
REQ-001~007: ground-truth registry bound to AC; oracle-ability grading (Tier 1-4); a
|
|
42
|
+
fail-closed pre-ship verification gate; sustained re-verification on every change with
|
|
43
|
+
drift detection; auditable evidence (N/N reproduced + no-drift + trace); a self-serve
|
|
44
|
+
frontier ceiling that escalates unverifiable high-stakes paths to a human; and oracle
|
|
45
|
+
content sovereignty (mechanism neutral, correct answers owned by the customer).
|
|
46
|
+
|
|
47
|
+
scope:
|
|
48
|
+
applies_to:
|
|
49
|
+
- High-stakes features where correctness is verifiable against a ground-truth oracle
|
|
50
|
+
(billing / calculation / compliance / rules / data transformation)
|
|
51
|
+
- Generated or refactored systems that must reproduce known-correct outputs
|
|
52
|
+
- Acceptance evidence and audit reports proving correctness over time
|
|
53
|
+
excludes:
|
|
54
|
+
- Low-stakes software with no oracle and no correctness stake (over-design; see DEC-077)
|
|
55
|
+
- The oracle CONTENT itself (correct answers) — owned by the customer, not this standard
|
|
56
|
+
- Enforcement-engine wiring (e.g. VibeOps pipeline gate) — downstream adoption concern
|
|
57
|
+
|
|
58
|
+
oracle_ability_spectrum:
|
|
59
|
+
description: |
|
|
60
|
+
Grade each high-stakes feature by how readily its oracle exists. Drives cost,
|
|
61
|
+
beachhead selection, and the Tier-4 hand-off to oracle manufacturing (XSPEC-252).
|
|
62
|
+
tiers:
|
|
63
|
+
- tier: 1
|
|
64
|
+
shape: Known-correct output of a legacy system
|
|
65
|
+
readiness: Most ready, cheapest (parity-provable)
|
|
66
|
+
- tier: 2
|
|
67
|
+
shape: A batch of hand-computed / existing correct outputs
|
|
68
|
+
readiness: Ready (reproduce + scale)
|
|
69
|
+
- tier: 3
|
|
70
|
+
shape: Regulation / formula (rules exist, examples missing)
|
|
71
|
+
readiness: Needs co-derived worked examples + sign-off (ATDD)
|
|
72
|
+
- tier: 4
|
|
73
|
+
shape: Vague requirement (oracle must be mined from interviews)
|
|
74
|
+
readiness: Most expensive — the translation problem (XSPEC-252 pulls toward 1-2)
|
|
75
|
+
|
|
76
|
+
principles:
|
|
77
|
+
- id: P-1
|
|
78
|
+
name: Oracle First
|
|
79
|
+
description: |
|
|
80
|
+
No oracle, no "correct". Every claim of correctness MUST be grounded in an oracle,
|
|
81
|
+
and every high-stakes feature MUST be graded for oracle-ability before correctness
|
|
82
|
+
is asserted. Where no oracle exists, escalate (P-5) rather than guess.
|
|
83
|
+
|
|
84
|
+
- id: P-2
|
|
85
|
+
name: Maintained Invariant
|
|
86
|
+
description: |
|
|
87
|
+
"Correct" is not a one-time acceptance state but an invariant re-verified on every
|
|
88
|
+
change (DEC-077). Drift (was-correct, now-wrong) is a blocking event, not a warning.
|
|
89
|
+
|
|
90
|
+
- id: P-3
|
|
91
|
+
name: Fail-Closed
|
|
92
|
+
description: |
|
|
93
|
+
Non-reproduction of any ground-truth case MUST block ship or escalate. The gate MUST
|
|
94
|
+
NOT silently pass — mirroring the license-compliance blocklist and model-provenance
|
|
95
|
+
denylist behaviour.
|
|
96
|
+
|
|
97
|
+
- id: P-4
|
|
98
|
+
name: Evidence-Based
|
|
99
|
+
description: |
|
|
100
|
+
Every verdict MUST carry a reproducible trace: cases reproduced (N/N), per-case
|
|
101
|
+
input -> expected vs actual diff, content hash, and an audit-trail id. Verdicts
|
|
102
|
+
without evidence are prohibited.
|
|
103
|
+
|
|
104
|
+
- id: P-5
|
|
105
|
+
name: Human Ceiling
|
|
106
|
+
description: |
|
|
107
|
+
Defining correctness and signing off acceptance are human judgments (customer /
|
|
108
|
+
legal / regulator). Unverifiable high-stakes paths MUST escalate to a human
|
|
109
|
+
(DEC-076 ceiling) — a product-enforced governance gate, not a consultant trap.
|
|
110
|
+
|
|
111
|
+
- id: P-6
|
|
112
|
+
name: Content Sovereignty
|
|
113
|
+
description: |
|
|
114
|
+
The verification mechanism is domain-neutral (DEC-075); the correct answers are
|
|
115
|
+
owned by the customer (DEC-063). Registries SHOULD be customer-scoped and isolated
|
|
116
|
+
(DEC-064 salt).
|
|
117
|
+
|
|
118
|
+
requirements:
|
|
119
|
+
- id: REQ-001
|
|
120
|
+
title: Ground-Truth Registry (first-class artifact)
|
|
121
|
+
description: |
|
|
122
|
+
Customer-provided correct answers become a first-class artifact. Each case carries
|
|
123
|
+
an input scenario + expected correct output and is bound to the acceptance criterion
|
|
124
|
+
it proves (acceptance-criteria-traceability). At minimum the mechanism MUST support
|
|
125
|
+
numeric and structured-output comparison, with per-field exemptions (ignore_fields).
|
|
126
|
+
The expected output is the CORRECT result, not merely "endpoint returned HTTP 200".
|
|
127
|
+
level: MUST
|
|
128
|
+
examples:
|
|
129
|
+
- "Billing case: given {orders, org_state} -> expected correct charge $0 (no double-charge)"
|
|
130
|
+
- "Case bound to AC-7 'no duplicate charge on retry' via acceptance-criteria-traceability"
|
|
131
|
+
- "Structured compare with ignore_fields:[created_at,request_id] to exclude volatile fields"
|
|
132
|
+
|
|
133
|
+
- id: REQ-002
|
|
134
|
+
title: Oracle-ability Grading (Tier 1-4)
|
|
135
|
+
description: |
|
|
136
|
+
Every high-stakes feature MUST be tagged with its oracle Tier (1-4). A Tier-4
|
|
137
|
+
(must-mine) feature MUST have a defined hand-off point to an oracle-manufacturing
|
|
138
|
+
flow (interview / Prototype Probe, XSPEC-252) that pulls the expensive end toward
|
|
139
|
+
Tier 1-2. Beachhead selection SHOULD prefer Tier 1-2.
|
|
140
|
+
level: MUST
|
|
141
|
+
examples:
|
|
142
|
+
- "Feature 'legacy billing parity' graded Tier 1 (legacy known-correct outputs exist)"
|
|
143
|
+
- "Feature 'discretionary discount policy' graded Tier 4 -> XSPEC-252 manufacturing hand-off"
|
|
144
|
+
|
|
145
|
+
- id: REQ-003
|
|
146
|
+
title: Fail-Closed Verification Gate (pre-ship)
|
|
147
|
+
description: |
|
|
148
|
+
Before entering UAT/ship, the system MUST exactly reproduce every registered
|
|
149
|
+
ground-truth case. A non-reproduction MUST block ship or escalate — never silently
|
|
150
|
+
pass. The gate plugs into existing reviewer/QA gates and the audit logger.
|
|
151
|
+
level: MUST
|
|
152
|
+
checks:
|
|
153
|
+
- "All registry cases must reproduce (N/N) before ship is allowed"
|
|
154
|
+
- "Any non-reproduction -> block ship OR escalate_to_human; never silent pass"
|
|
155
|
+
- "Injection test: deliberately corrupt one expected value -> gate blocks"
|
|
156
|
+
|
|
157
|
+
- id: REQ-004
|
|
158
|
+
title: Sustained Re-Verification (correctness as CI invariant)
|
|
159
|
+
description: |
|
|
160
|
+
On every change/regeneration the full oracle suite MUST be re-run, making correct a
|
|
161
|
+
CI-grade invariant. Drift (was-correct, now-wrong) MUST be detected and blocked.
|
|
162
|
+
This mechanizes DEC-077 ("changed and still correct, provably correct throughout").
|
|
163
|
+
level: MUST
|
|
164
|
+
checks:
|
|
165
|
+
- "Change/regeneration triggers a full re-run of the oracle suite"
|
|
166
|
+
- "Drift (previously reproduced case now failing) -> detect and block (regression oracle)"
|
|
167
|
+
- "Regression test: introduce drift -> detected and blocked"
|
|
168
|
+
|
|
169
|
+
- id: REQ-005
|
|
170
|
+
title: Audit Evidence
|
|
171
|
+
description: |
|
|
172
|
+
Each run MUST emit an auditable report: reproduced N/N, no drift, trace attached.
|
|
173
|
+
It plugs into the audit logger / hash chain, model-provenance source evidence
|
|
174
|
+
(XSPEC-255), and the telemetry allowlist (DEC-066). This report is the outward proof
|
|
175
|
+
of the correctness/governance moat and a customer compliance artifact.
|
|
176
|
+
level: MUST
|
|
177
|
+
evidence_required:
|
|
178
|
+
- "cases reproduced count (N/N)"
|
|
179
|
+
- "per-case: scenario, input, expected, actual, diff on mismatch"
|
|
180
|
+
- "drift status (none / list of drifted case ids)"
|
|
181
|
+
- "content hash (sha256) of the report"
|
|
182
|
+
- "audit-trail id (hash-chain entry)"
|
|
183
|
+
|
|
184
|
+
- id: REQ-006
|
|
185
|
+
title: Self-Serve Frontier Ceiling
|
|
186
|
+
description: |
|
|
187
|
+
Where no oracle exists (correctness not decidable) or a high-stakes path is
|
|
188
|
+
unverifiable, self-serve MUST NOT silently pass. The system MUST flag "human must
|
|
189
|
+
decide / oracle must be supplied" and escalate (DEC-076 ceiling).
|
|
190
|
+
level: MUST
|
|
191
|
+
checks:
|
|
192
|
+
- "Feature with no oracle MUST NOT auto-ship — flag needs-human and escalate"
|
|
193
|
+
- "Injection test: an oracle-less high-stakes feature is not auto-shipped"
|
|
194
|
+
|
|
195
|
+
- id: REQ-007
|
|
196
|
+
title: Oracle Content Sovereignty
|
|
197
|
+
description: |
|
|
198
|
+
The mechanism is domain-neutral (DEC-075); the correct answers are customer-owned
|
|
199
|
+
(DEC-063). Registries SHOULD be customer-scoped and isolated (DEC-064 salt).
|
|
200
|
+
level: SHOULD
|
|
201
|
+
checks:
|
|
202
|
+
- "Registry scoping is per-customer; correctness verdicts attribute content to the customer"
|
|
203
|
+
- "Mechanism carries no domain-specific correctness logic baked in"
|
|
204
|
+
|
|
205
|
+
# ─────────────────────────────────────────────────────────────
|
|
206
|
+
# Governance-gate family (shared shape with XSPEC-193 / XSPEC-255)
|
|
207
|
+
# ─────────────────────────────────────────────────────────────
|
|
208
|
+
|
|
209
|
+
governance_gate_family:
|
|
210
|
+
description: |
|
|
211
|
+
verification-oracle is the CORRECTNESS profile of one governance-gate mechanism.
|
|
212
|
+
All profiles share: registry/check -> fail-closed gate -> audit evidence ->
|
|
213
|
+
customer-override-telemetered -> human-escalation ceiling.
|
|
214
|
+
profiles:
|
|
215
|
+
- profile: licensing
|
|
216
|
+
standard: license-compliance
|
|
217
|
+
spec: XSPEC-193
|
|
218
|
+
registry: blocklist/allowlist/greylist
|
|
219
|
+
block_trigger: prohibited license
|
|
220
|
+
- profile: provenance
|
|
221
|
+
standard: model-provenance (planned sibling)
|
|
222
|
+
spec: XSPEC-255
|
|
223
|
+
registry: model source policy
|
|
224
|
+
block_trigger: denied source
|
|
225
|
+
- profile: correctness
|
|
226
|
+
standard: verification-oracle
|
|
227
|
+
spec: XSPEC-256
|
|
228
|
+
registry: ground-truth registry
|
|
229
|
+
block_trigger: non-reproduction / drift
|
|
230
|
+
|
|
231
|
+
# ─────────────────────────────────────────────────────────────
|
|
232
|
+
# Gate timing
|
|
233
|
+
# ─────────────────────────────────────────────────────────────
|
|
234
|
+
|
|
235
|
+
gate_timing:
|
|
236
|
+
pre_ship: REQ-003 fail-closed gate — reproduce all ground-truth before UAT/ship
|
|
237
|
+
on_every_change: REQ-004 re-run full oracle suite — drift blocks
|
|
238
|
+
after_run: REQ-005 emit audit evidence report (outward moat proof)
|
|
239
|
+
on_unverifiable: REQ-006 escalate to human (no silent pass)
|
|
240
|
+
|
|
241
|
+
# ─────────────────────────────────────────────────────────────
|
|
242
|
+
# Telemetry (DEC-066 / XSPEC-189 v2 envelope)
|
|
243
|
+
# ─────────────────────────────────────────────────────────────
|
|
244
|
+
|
|
245
|
+
telemetry:
|
|
246
|
+
required_events:
|
|
247
|
+
- oracle_verification_result # N/N reproduction outcome per run
|
|
248
|
+
- oracle_drift_detected # was-correct, now-wrong (REQ-004)
|
|
249
|
+
- oracle_gate_block # fail-closed block detail (REQ-003)
|
|
250
|
+
- oracle_escalation # unverifiable high-stakes escalated (REQ-006)
|
|
251
|
+
- human_override_block # human override of a block (requires reason)
|
|
252
|
+
envelope_reference: XSPEC-189 # Telemetry Schema v2 envelope
|
|
253
|
+
event_type: quality
|
|
254
|
+
event_subtype_examples:
|
|
255
|
+
- oracle_verification_result
|
|
256
|
+
- gate_pass / gate_fail # when the oracle gate acts as a ship gate
|
|
257
|
+
|
|
258
|
+
# ─────────────────────────────────────────────────────────────
|
|
259
|
+
# Integration with existing standards
|
|
260
|
+
# ─────────────────────────────────────────────────────────────
|
|
261
|
+
|
|
262
|
+
integration:
|
|
263
|
+
acceptance-criteria-traceability: oracle cases bind to AC; reproduction is a form of AC coverage
|
|
264
|
+
verification-evidence: the oracle report is a kind of verification evidence (N/N + no-drift + trace)
|
|
265
|
+
test-governance: the oracle suite is governed test policy; the gate is a governed gate
|
|
266
|
+
behavior-snapshot: parity/snapshot gate = REQ-003/REQ-004 for the refactor/migration case (a snapshot is an oracle)
|
|
267
|
+
|
|
268
|
+
# ─────────────────────────────────────────────────────────────
|
|
269
|
+
# Adoption guidance
|
|
270
|
+
# ─────────────────────────────────────────────────────────────
|
|
271
|
+
|
|
272
|
+
adoption_guidance:
|
|
273
|
+
uds_install_path: ai/standards/verification-oracle.ai.yaml
|
|
274
|
+
notes:
|
|
275
|
+
- "v1.0.0 defines the correctness oracle mechanism and acceptance evidence. Oracle content (correct answers) is customer-owned (DEC-075/DEC-063)."
|
|
276
|
+
- "Adopters MAY enforce the gate via CI (reproduce ground-truth on every change) without a bespoke engine."
|
|
277
|
+
- "Tier-4 (must-mine) features need an oracle-manufacturing hand-off (XSPEC-252) before correctness can be claimed."
|
|
278
|
+
- "Group with license-compliance and model-provenance as one governance-gate subsystem (three profiles)."
|
|
@@ -13,8 +13,8 @@ standard:
|
|
|
13
13
|
- "Use pre-release identifiers (alpha, beta, rc)"
|
|
14
14
|
|
|
15
15
|
meta:
|
|
16
|
-
version: "2.
|
|
17
|
-
updated: "2026-
|
|
16
|
+
version: "2.2.0"
|
|
17
|
+
updated: "2026-07-01"
|
|
18
18
|
source: core/versioning.md
|
|
19
19
|
description: Semantic Versioning (SemVer) for software releases
|
|
20
20
|
|
|
@@ -82,42 +82,14 @@ standard:
|
|
|
82
82
|
- Breaking changes allowed in MINOR versions
|
|
83
83
|
- Move to 1.0.0 when API is stable
|
|
84
84
|
|
|
85
|
-
deprecation
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
- Remove public API endpoints
|
|
94
|
-
- Remove required request fields
|
|
95
|
-
- Add required request fields
|
|
96
|
-
- Change response field types
|
|
97
|
-
- Change error code meanings
|
|
98
|
-
- Remove response fields consumers depend on
|
|
99
|
-
safe_changes:
|
|
100
|
-
- Add optional request fields
|
|
101
|
-
- Add new response fields
|
|
102
|
-
- Add new endpoints
|
|
103
|
-
- Add new error codes
|
|
104
|
-
- Improve error messages
|
|
105
|
-
- Performance improvements
|
|
106
|
-
|
|
107
|
-
api_versioning_strategies:
|
|
108
|
-
- strategy: URL Path
|
|
109
|
-
format: "/api/v1/users"
|
|
110
|
-
pros: Clear, easy routing
|
|
111
|
-
cons: URL pollution
|
|
112
|
-
recommended: true
|
|
113
|
-
- strategy: Query Parameter
|
|
114
|
-
format: "/api/users?version=1"
|
|
115
|
-
pros: Optional versioning
|
|
116
|
-
cons: Cache issues
|
|
117
|
-
- strategy: Header
|
|
118
|
-
format: "Accept: application/vnd.api.v1+json"
|
|
119
|
-
pros: Clean URLs
|
|
120
|
-
cons: Less visible
|
|
85
|
+
# API versioning strategies, the backward-compatibility checklist, deprecation
|
|
86
|
+
# timeline + per-tier periods, and the migration-guide template were moved to
|
|
87
|
+
# their single sources of truth (XSPEC-298 R8, UDS #126):
|
|
88
|
+
# - api-design.ai.yaml → versioning_strategies.backward_compatibility
|
|
89
|
+
# - deprecation-standards.ai.yaml → api_deprecation.minimum_period_by_tier
|
|
90
|
+
cross_references:
|
|
91
|
+
api_contract: "core/api-design-standards.md#api-versioning-strategies"
|
|
92
|
+
deprecation_lifecycle: "core/deprecation-standards.md#api-deprecation"
|
|
121
93
|
|
|
122
94
|
release_process:
|
|
123
95
|
phases:
|
|
@@ -149,6 +121,7 @@ standard:
|
|
|
149
121
|
check_items:
|
|
150
122
|
- Service running normally
|
|
151
123
|
- API returns correct version
|
|
124
|
+
- "Build-identity endpoint (/version or /health) returns commit sha matching the deployed artifact (not just version)"
|
|
152
125
|
- No fatal errors in logs
|
|
153
126
|
- Functionality verification passed
|
|
154
127
|
|
|
@@ -177,6 +150,27 @@ standard:
|
|
|
177
150
|
trigger: deploying upgrade
|
|
178
151
|
instruction: Must not skip dry-run test
|
|
179
152
|
priority: required
|
|
153
|
+
- id: git-height-versioning-polyglot
|
|
154
|
+
trigger: choosing version automation for a polyglot / .NET / JVM project
|
|
155
|
+
instruction: >
|
|
156
|
+
Use git-height-derived versioning (MinVer / Nerdbank.GitVersioning / GitVersion)
|
|
157
|
+
so the version is derived from git tag + commit height and collisions are
|
|
158
|
+
structurally impossible; reserve semantic-release / standard-version for Node/npm
|
|
159
|
+
projects
|
|
160
|
+
priority: recommended
|
|
161
|
+
- id: build-identity-must-expose-sha
|
|
162
|
+
trigger: deploying a service
|
|
163
|
+
instruction: >
|
|
164
|
+
Deployed services MUST expose build identity (version + commit sha + build time)
|
|
165
|
+
via a queryable endpoint (/version or embedded in /health); the sha MUST be
|
|
166
|
+
verifiable against the deployed artifact, not self-reported
|
|
167
|
+
priority: required
|
|
168
|
+
- id: verify-sha-post-release
|
|
169
|
+
trigger: post-release verification
|
|
170
|
+
instruction: >
|
|
171
|
+
Assert the build-identity endpoint returns a commit sha matching the deployed
|
|
172
|
+
artifact, not merely the correct version number
|
|
173
|
+
priority: required
|
|
180
174
|
|
|
181
175
|
physical_spec:
|
|
182
176
|
type: custom_script
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
> **Language**: English | [繁體中文](../locales/zh-TW/core/acceptance-criteria-traceability.md)
|
|
4
4
|
|
|
5
|
+
**Version**: 1.1.0
|
|
6
|
+
**Last Updated**: 2026-06-19
|
|
5
7
|
**Applicability**: All software projects using specification-driven or test-driven workflows
|
|
6
8
|
**Scope**: universal
|
|
7
9
|
|
|
@@ -45,13 +47,15 @@ Acceptance Criteria Traceability Standards define how to track the relationship
|
|
|
45
47
|
|
|
46
48
|
### Linking Convention
|
|
47
49
|
|
|
48
|
-
Tests MUST reference their source AC using
|
|
50
|
+
Tests MUST reference their source AC using the **canonical annotation**:
|
|
51
|
+
`@SPEC-<id> @AC-<n>` — a single combined tag, e.g. `@SPEC-001 @AC-1`. Keeping the
|
|
52
|
+
attribution on one line is what forward-derivation and test-runner tag filters
|
|
53
|
+
consume; **do not** split it into separate `@AC` / `@SPEC` lines.
|
|
49
54
|
|
|
50
55
|
```typescript
|
|
51
56
|
// TypeScript/JavaScript
|
|
52
57
|
describe('AC-1: User login with valid credentials', () => {
|
|
53
|
-
// @
|
|
54
|
-
// @SPEC SPEC-001
|
|
58
|
+
// @SPEC-001 @AC-1
|
|
55
59
|
it('should redirect to dashboard on successful login', () => { ... });
|
|
56
60
|
});
|
|
57
61
|
```
|
|
@@ -60,8 +64,7 @@ describe('AC-1: User login with valid credentials', () => {
|
|
|
60
64
|
# Python
|
|
61
65
|
class TestAC1_UserLogin:
|
|
62
66
|
"""AC-1: User login with valid credentials
|
|
63
|
-
@
|
|
64
|
-
@SPEC SPEC-001
|
|
67
|
+
@SPEC-001 @AC-1
|
|
65
68
|
"""
|
|
66
69
|
def test_redirect_to_dashboard(self): ...
|
|
67
70
|
```
|
|
@@ -72,6 +75,13 @@ class TestAC1_UserLogin:
|
|
|
72
75
|
Scenario: User login with valid credentials
|
|
73
76
|
```
|
|
74
77
|
|
|
78
|
+
> **Key naming (by design, not a conflict).** `acceptance-criteria` (kebab-case)
|
|
79
|
+
> is the human / identifier spelling — doc titles, standard ids, AI-format keys.
|
|
80
|
+
> `acceptance_criteria` (snake_case) is the YAML **serialization** field (e.g.
|
|
81
|
+
> `structured-task-definition`). `acceptanceCriteria` (camelCase) is not used.
|
|
82
|
+
> These are layer-appropriate spellings (see the glossary's field-naming table)
|
|
83
|
+
> and are **not** unified.
|
|
84
|
+
|
|
75
85
|
---
|
|
76
86
|
|
|
77
87
|
## Coverage Status Definitions
|