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
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
---
|
|
2
2
|
source: ../../../core/verification-evidence.md
|
|
3
|
-
source_version: 1.
|
|
4
|
-
translation_version: 1.
|
|
5
|
-
last_synced: 2026-
|
|
3
|
+
source_version: 1.2.0
|
|
4
|
+
translation_version: 1.2.0
|
|
5
|
+
last_synced: 2026-07-17
|
|
6
6
|
status: current
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -10,8 +10,8 @@ status: current
|
|
|
10
10
|
|
|
11
11
|
> **語言**: [English](../../../core/verification-evidence.md) | 繁體中文
|
|
12
12
|
|
|
13
|
-
**版本**: 1.
|
|
14
|
-
**最後更新**: 2026-
|
|
13
|
+
**版本**: 1.2.0
|
|
14
|
+
**最後更新**: 2026-07-17
|
|
15
15
|
**適用性**: 所有 AI 輔助開發工作流
|
|
16
16
|
**範圍**: 通用 (Universal)
|
|
17
17
|
**靈感來源**: [Superpowers](https://github.com/obra/superpowers) — verification-before-completion (MIT)
|
|
@@ -20,7 +20,12 @@ status: current
|
|
|
20
20
|
|
|
21
21
|
## 目的
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
建立「鐵律」:無驗證證據不可聲稱完成——並確保**證據本身站得住腳**。本標準防兩種不同的失敗:
|
|
24
|
+
|
|
25
|
+
1. **無證據就宣稱成功**——代理斷言它從未查過的事(Iron Law)。
|
|
26
|
+
2. **證據撐不起它的主張**——代理**確實查了**,而查詢工具靜默地沒有運作(證據有效性,v1.2.0 新增)。
|
|
27
|
+
|
|
28
|
+
前者是幻覺的一種,**後者不是**——沒有任何東西被捏造,是一個真實的指令產生了真實的輸出,而那個輸出的意思不是它看起來的意思。兩者殊途同歸:一個不成立的完成聲明。
|
|
24
29
|
|
|
25
30
|
---
|
|
26
31
|
|
|
@@ -31,7 +36,10 @@ status: current
|
|
|
31
36
|
| 驗證證據 (Verification Evidence) | 驗證指令執行及其結果的結構化記錄 |
|
|
32
37
|
| 鐵律 (Iron Law) | 絕對規則:無證據 = 不可聲稱完成 |
|
|
33
38
|
| RED-GREEN 循環 | 透過展示修復前測試失敗、修復後測試通過來證明 bug 修復 |
|
|
34
|
-
| Exit Code |
|
|
39
|
+
| Exit Code | 指令的數值回傳值。**「`0 = 成功`」是工具的慣例,不是保證** —— 見「證據有效性」 |
|
|
40
|
+
| 環境層次 (Environment Layer) | 該證據是從哪個環境蒐集而來(`local` / `uat` / `prd`) |
|
|
41
|
+
| 證據有效性 (Evidence Validity) | 證據*本身*是否可信 —— 亦即驗證指令究竟有沒有真的執行、有沒有真的量到它宣稱量到的東西 |
|
|
42
|
+
| 工具靜默失敗 (Silent Tool Failure) | 驗證指令根本沒跑起來,或跑了但什麼都沒量到,卻產生了與真實結果無從分辨的輸出 |
|
|
35
43
|
|
|
36
44
|
---
|
|
37
45
|
|
|
@@ -41,54 +49,275 @@ status: current
|
|
|
41
49
|
|
|
42
50
|
代理聲稱「已完成」不是證據。驗證必須是可獨立執行且產生可觀察輸出的。
|
|
43
51
|
|
|
52
|
+
### 非證據的聲明
|
|
53
|
+
|
|
54
|
+
以下聲明**不構成**驗證證據:
|
|
55
|
+
|
|
56
|
+
| 聲明 | 原因 |
|
|
57
|
+
|------|------|
|
|
58
|
+
| 「已完成」 | 無可觀察的輸出 |
|
|
59
|
+
| 「應該可以了」 | 未執行驗證 |
|
|
60
|
+
| 「我改了程式碼」 | 修改 ≠ 驗證 |
|
|
61
|
+
| 「測試應該會通過」 | 預測 ≠ 事實 |
|
|
62
|
+
| 「指令回傳 0。」 | 僅在該指令有可能量到它所主張的事時才成立 —— 見「證據有效性」 |
|
|
63
|
+
|
|
44
64
|
---
|
|
45
65
|
|
|
46
66
|
## 證據格式
|
|
47
67
|
|
|
48
|
-
|
|
68
|
+
每次驗證都必須產生結構化的證據記錄:
|
|
49
69
|
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
70
|
+
```json
|
|
71
|
+
{
|
|
72
|
+
"command": "pnpm test -- --filter core",
|
|
73
|
+
"exit_code": 0,
|
|
74
|
+
"output": "Tests: 47 passed, 0 failed\nDuration: 3.2s",
|
|
75
|
+
"timestamp": "2026-03-20T14:30:00Z",
|
|
76
|
+
"environment_layer": "local"
|
|
77
|
+
}
|
|
57
78
|
```
|
|
58
79
|
|
|
80
|
+
### 必填欄位
|
|
81
|
+
|
|
82
|
+
| 欄位 | 型別 | 必填 | 說明 |
|
|
83
|
+
|------|------|------|------|
|
|
84
|
+
| `command` | string | 是 | 實際執行的驗證指令 |
|
|
85
|
+
| `exit_code` | number | 是 | 指令的 exit code。**須依「證據有效性」解讀 —— 此欄位是一項主張,不是事實** |
|
|
86
|
+
| `output` | string | 是 | 指令輸出(截斷至 2000 字元,保留關鍵資訊) |
|
|
87
|
+
| `timestamp` | string | 是 | ISO 8601 格式的執行時間 |
|
|
88
|
+
| `environment_layer` | string | 條件性 | 該證據來自哪一層(`local` / `uat` / `prd`)。**任何具外部服務依賴的 AC(簡訊、金流、IdP)皆為必填**;未填時,該 AC 的驗證層級視同僅止於 local |
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
59
92
|
## 證據類型
|
|
60
93
|
|
|
61
94
|
| 類型 | 適用場景 | 範例 |
|
|
62
95
|
|------|----------|------|
|
|
63
96
|
| **測試結果** | 功能開發、bug 修復 | `npm test` 輸出 |
|
|
97
|
+
| **型別檢查** | 靜態型別的程式碼庫 | `pnpm tsc --noEmit` 無錯誤 |
|
|
64
98
|
| **建置成功** | 編譯、打包 | `npm run build` 的 exit code 0 |
|
|
65
99
|
| **Lint 通過** | 程式碼品質 | `npm run lint` 無錯誤 |
|
|
66
100
|
| **RED-GREEN** | bug 修復 | 修復前失敗 → 修復後通過 |
|
|
101
|
+
| **健康探測** | 已部署的服務 | `curl https://<service>/health` —— 須聲明 `environment_layer`;對 `localhost` 的探測驗到的是本機 process,不是那個部署 |
|
|
67
102
|
| **手動驗證** | UI 變更、視覺效果 | 截圖或螢幕錄影 |
|
|
68
103
|
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## 環境層次
|
|
107
|
+
|
|
108
|
+
> **鐵律(環境)**:驗收前,必須先確立*此環境層次究竟有能力驗證此流程的哪些維度*。
|
|
109
|
+
|
|
110
|
+
環境無法演練到的維度,測試通過也證明不了什麼。在 `local` 用 mock 的金流閘道跑過,並沒有驗證金流串接 —— 驗到的是那個 mock。因此證據必須聲明它是在哪裡蒐集的。
|
|
111
|
+
|
|
112
|
+
| 層次 | 意義 |
|
|
113
|
+
|------|------|
|
|
114
|
+
| `local` | 開發機或 CI;外部依賴通常為 mock 或 stub |
|
|
115
|
+
| `uat` | 使用真實(或 sandbox)外部服務的 staging 環境 |
|
|
116
|
+
| `prd` | 生產環境 |
|
|
117
|
+
|
|
118
|
+
對於依賴外部服務的 AC,僅有 `local` 證據**不足採信**:要嘛補上 `uat`/`prd` 證據,要嘛明確聲明此缺口。見 VE-005 / VE-006。
|
|
119
|
+
|
|
120
|
+
> 此聲明應寫入專案的**環境分層責任矩陣**(`docs/testing/environment-stratification-matrix.md` 或測試計畫)—— 這是由 `deployment-standards` 標準所定義的逐專案交付物,用以回答「哪些測試流程能在哪個環境中被完整驗證?」。無法驗證的組合應在該處標記 ⚠️/❌,而不是任由一次通過的 local 執行把它們含混帶過。
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
69
124
|
## RED-GREEN 循環
|
|
70
125
|
|
|
71
|
-
|
|
126
|
+
對 bug 修復與回歸測試,驗證必須同時展示「失敗」與「修好」:
|
|
72
127
|
|
|
73
|
-
1
|
|
74
|
-
2. **修復** — 套用修復
|
|
75
|
-
3. **GREEN** — 展示修復後測試通過
|
|
76
|
-
4. **全套** — 執行完整測試套件確認無回歸
|
|
128
|
+
### 步驟 1:RED —— 證明 bug 存在
|
|
77
129
|
|
|
78
|
-
|
|
130
|
+
在修復**之前**執行測試,確認它會失敗:
|
|
79
131
|
|
|
80
|
-
|
|
132
|
+
```json
|
|
133
|
+
{
|
|
134
|
+
"command": "pnpm test -- parser.test.ts",
|
|
135
|
+
"exit_code": 1,
|
|
136
|
+
"output": "FAIL: expected null to equal { name: 'test' }",
|
|
137
|
+
"timestamp": "2026-03-20T14:25:00Z"
|
|
138
|
+
}
|
|
139
|
+
```
|
|
81
140
|
|
|
82
|
-
|
|
141
|
+
### 步驟 2:套用修復
|
|
142
|
+
|
|
143
|
+
進行程式碼變更。
|
|
144
|
+
|
|
145
|
+
### 步驟 3:GREEN —— 證明修復有效
|
|
146
|
+
|
|
147
|
+
在修復**之後**執行測試,確認它會通過:
|
|
148
|
+
|
|
149
|
+
```json
|
|
150
|
+
{
|
|
151
|
+
"command": "pnpm test -- parser.test.ts",
|
|
152
|
+
"exit_code": 0,
|
|
153
|
+
"output": "PASS: 12 tests passed",
|
|
154
|
+
"timestamp": "2026-03-20T14:28:00Z"
|
|
155
|
+
}
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### 步驟 4:兩者都記錄
|
|
159
|
+
|
|
160
|
+
證據記錄必須同時包含 RED 與 GREEN 兩個階段。
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## 證據有效性
|
|
165
|
+
|
|
166
|
+
> **證據本身會騙人。要驗的不只是主張,還有證據本身。**
|
|
167
|
+
|
|
168
|
+
鐵律擋下的是「**沒有**證據就聲稱成功」。它擋不住反向的失敗:代理**確實**跑了驗證,指令**確實**回來了,`exit_code`**確實**是 `0` —— **而輸出毫無意義**,因為那道指令根本沒量到任何東西。
|
|
169
|
+
|
|
170
|
+
這不是幻覺。幻覺是虛構你沒查過的事。這是反過來:**你查了,而那個查詢工具騙了你。** `anti-hallucination` 標準涵蓋不到這一塊 —— 該標準的每一條禁令都是某種形式的「不要編造」,而這裡沒有任何東西被編造。
|
|
171
|
+
|
|
172
|
+
### 四條有效性規則
|
|
173
|
+
|
|
174
|
+
**1. 只有在「成功時回傳 0」的工具上,`exit_code = 0` 才代表成功。**
|
|
175
|
+
|
|
176
|
+
這個慣例近乎普世,正因如此才無人質疑。當一個工具在受測情境下**依設計**就是會失敗時,它的非零 exit code 並不帶有關於受測物的任何資訊 —— 該讀的是*輸出*。反向亦然:非零 exit code 並不足以確立受測物是壞的。
|
|
177
|
+
|
|
178
|
+
**2.「輸出為空」/「查無」/`0` 不等於「它不存在」。**
|
|
179
|
+
|
|
180
|
+
在斷定「不存在」之前,先確立查詢工具*成功執行過*:它不是 `command not found`,不是被拒絕權限,它的參數也沒有被中間的 shell 吃掉。**先驗證查詢工具能動,再去相信查詢結果的沉默。**
|
|
181
|
+
|
|
182
|
+
**3. 用來檢測存在與否的指令,不得丟棄 stderr。**
|
|
183
|
+
|
|
184
|
+
壓抑 stderr(`2>/dev/null` 及其等價寫法)消音掉的,正好就是那個本來會回報「這個工具壞了」的通道。失敗於是穿上了與真陰性一模一樣的外衣。
|
|
185
|
+
|
|
186
|
+
**4. pipeline 的 exit code 不屬於其中任何單一階段。**
|
|
187
|
+
|
|
188
|
+
在 `set -o pipefail` 下,`producer | grep -q pattern` 會繼承 `producer` 的非零值,與 `grep` 有沒有匹配到無關。當決策取決於內容時,**先捕捉輸出,再評估它** —— 不要讓一個 pipeline 把兩個問題壓縮成一個數字。
|
|
189
|
+
|
|
190
|
+
### 此失效模式的實例證據
|
|
191
|
+
|
|
192
|
+
以下是某 AI 代理於 2026-07-17 實際執行的驗證指令,每一道都導出了自信而錯誤的結論,並被當成事實回報出去:
|
|
193
|
+
|
|
194
|
+
| 驗證指令 | `exit_code` | 輸出 | 實際真相 |
|
|
195
|
+
|---|:---:|---|---|
|
|
196
|
+
| `sudo -n find /backup/immich -type f 2>/dev/null \| wc -l` | **0** | `0` | `sudo` 因無 tty 而失敗,`2>/dev/null` 吃掉了錯誤訊息,空輸入讓 `wc -l` 印出 `0`。**實際存在 31 個檔案。** 被回報為「備份是空的」 |
|
|
197
|
+
| `gpg --list-packets <valid-file.gpg>` | **≠ 0** | 格式良好的 packet 列表 | 該主機**依設計**就不持有私鑰;gpg 在此情境必定以非零退出。**該檔案是有效的。** 據此刪掉了一份完好的加密備份 |
|
|
198
|
+
| `gpg … \| grep -q "tag=1"`(在 `pipefail` 下) | **≠ 0** | grep *確實*匹配到了 | pipeline 繼承了 gpg 的非零值;匹配與否根本無關。**第二次刪掉了一份完好的備份** |
|
|
199
|
+
| 以雙引號包住、透過 SSH 執行的 `grep -c "${VAR}/path" file` | **0** | `0` | `${VAR}` 被*本機* shell 展開成空字串;遠端的 grep 搜的是錯的字串 |
|
|
200
|
+
| `gpg --import key.asc 2>/dev/null` | — | (空) | gpg **根本沒安裝**;`command not found` 進了被壓抑的 stderr |
|
|
201
|
+
| `until ! ssh host 'systemctl is-active svc'; do …` | — | 迴圈退出 | **SSH 連線失敗與服務已結束,產生的 exit code 一模一樣。** 事後讀到的「結果」是前一次執行留下的過期值 |
|
|
202
|
+
| 以非特權使用者執行 `du -sh /data/*` | **0** | `4.0K` | 讀不到的目錄被回報成幾近空目錄,而非回報為錯誤 |
|
|
203
|
+
| 以 `case "$tag" in *M*)` 搜尋 monthly 快照 | **0** | (無匹配) | 該 tag 的實際值是 `monthly` —— 沒有大寫 `M`。差點變成「沒有任何 monthly 快照」 |
|
|
204
|
+
|
|
205
|
+
**其中四筆 `exit_code = 0` 卻是錯的;兩筆 `exit_code ≠ 0` 卻是對的。** 此欄位在兩個方向上都不可靠 —— 而在那兩筆非零的案例中,遵循 VE-002(「標記驗證失敗、觸發修復迴圈」)摧毀了一份健康的產物。
|
|
206
|
+
|
|
207
|
+
> **來源說明(Provenance)**:所有實例均出自單一代理(Claude Opus 4.8)單日的工作,記錄於 AsiaOstrich XSPEC-340。此樣本密集但狹窄。它是作為證據而非證明提出的 —— 但請注意,上述每一項失敗都源自*工具本身的語義*(sudo、gpg、pipefail、POSIX exit code),而非任何模型特性,因此任何驅動同一批工具的代理都暴露在同樣的陷阱下。
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## 信任規則
|
|
212
|
+
|
|
213
|
+
| 規則 | 說明 |
|
|
83
214
|
|------|------|
|
|
84
|
-
|
|
|
85
|
-
|
|
|
86
|
-
|
|
|
87
|
-
|
|
|
215
|
+
| 代理說「完成」但沒有 `verification_evidence` | 標記為**未驗證** |
|
|
216
|
+
| 有 `verification_evidence` 但 `exit_code ≠ 0` | 標記為**驗證失敗** —— **除非**已知該工具在受測狀態下本就會以非零退出(證據有效性規則 1),此時改以輸出判定 |
|
|
217
|
+
| `exit_code = 0`,但該指令不可能量到它所宣稱的事 | 標記為**未驗證** —— 一道在錯的地方執行、或根本沒執行的通過指令,不是證據 |
|
|
218
|
+
| 證據主張「不存在」(`0`、空輸出、「查無」) | 在證明查詢工具成功執行過之前,標記為**未驗證** |
|
|
219
|
+
| 多個驗證步驟 | **全部**步驟都必須通過 |
|
|
220
|
+
| 代理提供的是錯誤指令的證據 | 標記為**未驗證** |
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## 規則
|
|
225
|
+
|
|
226
|
+
| ID | 觸發條件 | 動作 | 優先級 |
|
|
227
|
+
|----|----------|------|--------|
|
|
228
|
+
| VE-001 | 代理回報成功但無 verification_evidence | 降級為 `done_with_concerns` | Critical |
|
|
229
|
+
| VE-002 | 證據中 `exit_code ≠ 0` | 標記驗證失敗、觸發修復迴圈 —— 須**先**確認該工具在此狀態下成功時會回傳 0(見 VE-007) | High |
|
|
230
|
+
| VE-003 | bug 修復缺少 RED-GREEN 循環 | 要求補上 RED 與 GREEN 兩份證據 | High |
|
|
231
|
+
| VE-004 | 輸出超過 2000 字元 | 截斷,但保留錯誤訊息與摘要行 | Medium |
|
|
232
|
+
| VE-005 | AC 具外部服務依賴(簡訊、金流、IdP) | 證據必須聲明 `environment_layer`;僅有 local 證據不足採信 | Required |
|
|
233
|
+
| VE-006 | 具外部依賴的 AC 被標為完成,卻無 `environment_layer` | 降級為 `done_with_concerns`;要求補上層次聲明,或在 environment-stratification-matrix 中補上 ⚠️/❌ 條目 | High |
|
|
234
|
+
| VE-007 | 驗證工具在受測狀態下**依設計**就會以非零退出 | VE-002 不適用。改以輸出內容判定;**不得對健康的產物觸發修復迴圈** | Critical |
|
|
235
|
+
| VE-008 | 證據主張「不存在」(`0`、空輸出、「查無」) | 在證明查詢工具成功執行過之前一律無效。以不壓抑 stderr 的方式重跑 | High |
|
|
236
|
+
| VE-009 | 存在性/不存在性檢查壓抑了 stderr(`2>/dev/null` 或等價寫法) | 證據不成立。以 stderr 可見的方式重跑 | High |
|
|
237
|
+
| VE-010 | 證據的 `exit_code` 來自 pipeline(尤其是在 `pipefail` 下) | 該 code 不歸屬於任何單一階段。改為捕捉輸出並評估內容 | Medium |
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
|
|
241
|
+
## 輸出截斷指引
|
|
242
|
+
|
|
243
|
+
當驗證輸出超過 2000 字元時:
|
|
244
|
+
|
|
245
|
+
1. **保留**:錯誤訊息、失敗摘要、測試計數、最終狀態行
|
|
246
|
+
2. **移除**:冗長的進度輸出、通過測試的 stack trace、重複行
|
|
247
|
+
3. **標記截斷**:在被移除內容處加上 `[... truncated ...]`
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
## 範例
|
|
252
|
+
|
|
253
|
+
### 良好:完整的證據
|
|
254
|
+
|
|
255
|
+
```yaml
|
|
256
|
+
verification_evidence:
|
|
257
|
+
- command: "pnpm test"
|
|
258
|
+
exit_code: 0
|
|
259
|
+
output: "Test Suites: 12 passed\nTests: 147 passed\nTime: 8.3s"
|
|
260
|
+
timestamp: "2026-03-20T14:30:00Z"
|
|
261
|
+
- command: "pnpm lint"
|
|
262
|
+
exit_code: 0
|
|
263
|
+
output: "No issues found"
|
|
264
|
+
timestamp: "2026-03-20T14:30:05Z"
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### 不良:沒有證據
|
|
268
|
+
|
|
269
|
+
```yaml
|
|
270
|
+
status: success
|
|
271
|
+
message: "I've completed the task and everything should work now."
|
|
272
|
+
# ❌ 沒有 verification_evidence —— 違反鐵律
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
### 不良:撐不起自身主張的證據
|
|
276
|
+
|
|
277
|
+
```yaml
|
|
278
|
+
claim: "The backup directory is empty — backups are not running."
|
|
279
|
+
verification_evidence:
|
|
280
|
+
- command: "sudo -n find /backup/immich -type f 2>/dev/null | wc -l"
|
|
281
|
+
exit_code: 0
|
|
282
|
+
output: "0"
|
|
283
|
+
timestamp: "2026-07-17T13:05:00Z"
|
|
284
|
+
# ❌ 通過了鐵律:證據存在、exit_code 是 0、輸出很具體。
|
|
285
|
+
# ❌ 違反 VE-008、VE-009、VE-010:
|
|
286
|
+
# - 主張「不存在」卻未證明查詢工具跑過(VE-008)
|
|
287
|
+
# - 壓抑掉了那句「sudo: a terminal is required」的 stderr(VE-009)
|
|
288
|
+
# - 這個 exit code 是 pipeline 的,也就是 `wc -l` 的 —— `find` 根本沒跑(VE-010)
|
|
289
|
+
# 實際存在 31 個檔案。目錄被列為空的,是因為根本沒人去看。
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
### 良好:同一道檢查,改為有效版本
|
|
293
|
+
|
|
294
|
+
```yaml
|
|
295
|
+
claim: "The backup directory holds 31 files."
|
|
296
|
+
verification_evidence:
|
|
297
|
+
- command: "ssh host 'sudo find /backup/immich -type f | wc -l'" # stderr not suppressed
|
|
298
|
+
exit_code: 0
|
|
299
|
+
output: "31"
|
|
300
|
+
timestamp: "2026-07-17T13:07:00Z"
|
|
301
|
+
environment_layer: "prd"
|
|
302
|
+
# ✅ stderr 會浮現 sudo/權限失敗,而不是印出 0
|
|
303
|
+
# ✅ 使用單引號,${...} 不會在傳輸前被本機 shell 展開
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
---
|
|
88
307
|
|
|
89
308
|
## 相關標準
|
|
90
309
|
|
|
91
|
-
- [
|
|
92
|
-
- [
|
|
93
|
-
- [提交規範](checkin-standards.md)
|
|
94
|
-
- [
|
|
310
|
+
- [反幻覺標準](anti-hallucination.md) —— 互補標準。它防的是*捏造*的主張(斷言從未查證過的事);證據有效性涵蓋的是反向的失敗 —— **確實**查證過、但查證工具靜默失效的主張。
|
|
311
|
+
- [系統化除錯](systematic-debugging.md) —— 當證據顯示確實有失敗時,如何往下調查
|
|
312
|
+
- [提交規範](checkin-standards.md) —— 完成聲明在此受閘門把關
|
|
313
|
+
- [測試治理](test-governance.md) —— 規定哪些測試必須存在,因而也就規定了哪些證據必須存在
|
|
314
|
+
- [測試標準](testing-standards.md) —— 產生多數證據的那些測試是怎麼寫的
|
|
315
|
+
- [代理派遣與並行協調](agent-dispatch.md) —— 委派出去的工作會回傳主張,那些主張需要套用本標準
|
|
316
|
+
- [部署標準](deployment-standards.md) —— 定義 VE-005 / VE-006 所引用的「環境分層責任矩陣」
|
|
317
|
+
|
|
318
|
+
---
|
|
319
|
+
|
|
320
|
+
## 參考資料
|
|
321
|
+
|
|
322
|
+
- **Superpowers**: [verification-before-completion](https://github.com/obra/superpowers) (MIT)
|
|
323
|
+
- **測試驅動開發**: RED-GREEN-REFACTOR 循環
|
|
@@ -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) |
|