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
|
@@ -54,7 +54,7 @@ Every technical debt item must be recorded in a registry with the following 11 f
|
|
|
54
54
|
| 1 | **ID** | Unique identifier using `TD-NNN` format | TD-001 |
|
|
55
55
|
| 2 | **Title** | Short descriptive title | "Monolithic auth module needs decomposition" |
|
|
56
56
|
| 3 | **Type** | One of the 6 debt types above | Design |
|
|
57
|
-
| 4 | **Source** | How the debt was introduced (deliberate/inadvertent) | Deliberate |
|
|
57
|
+
| 4 | **Source** | How the debt was introduced (deliberate / inadvertent / incident-postmortem — see [postmortem-standards](postmortem-standards.md) action-item hand-off) | Deliberate (or `postmortem PM-042`) |
|
|
58
58
|
| 5 | **Impact** | Business and technical impact description | "Slows feature development by ~2 days per sprint" |
|
|
59
59
|
| 6 | **Estimated Cost** | Effort to resolve (story points or person-days) | 8 story points |
|
|
60
60
|
| 7 | **Interest** | Ongoing cost of not resolving (see Interest Types) | 1 day/sprint additional debugging |
|
|
@@ -296,8 +296,8 @@ ID? → Hash / UUID / sequential
|
|
|
296
296
|
|
|
297
297
|
- [Testing Standards](testing-standards.md) — Test levels, coverage, and quality requirements
|
|
298
298
|
- [Security Standards](security-standards.md) — Data protection and PII handling
|
|
299
|
-
- [Unit Testing Standards](unit-testing
|
|
300
|
-
- [Integration Testing Standards](integration-testing
|
|
299
|
+
- [Unit Testing Standards](../options/testing/unit-testing.md) — Unit test patterns and best practices
|
|
300
|
+
- [Integration Testing Standards](../options/testing/integration-testing.md) — Integration test strategies
|
|
301
301
|
|
|
302
302
|
---
|
|
303
303
|
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# User Journey Testing Standard
|
|
2
|
+
|
|
3
|
+
> **Language**: English | 繁體中文
|
|
4
|
+
|
|
5
|
+
**Applicability**: Projects with multi-step, stateful user flows that span more than one user story
|
|
6
|
+
**Scope**: universal
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
The User Journey Testing Standard defines the **TESTPLAN** format, which makes connected, sequential user journeys a first-class testing artifact. Where acceptance-criteria tests verify a single story in isolation, journey tests verify what AC tests cannot: **cross-story state continuity** — the chain of state that one step leaves behind for the next.
|
|
13
|
+
|
|
14
|
+
A journey is described once in a human-readable `TESTPLAN-NNN.md` and mapped one-to-one onto automated E2E tests through shared `T-NNN` identifiers, so the plan and the executable suite never drift apart.
|
|
15
|
+
|
|
16
|
+
## References
|
|
17
|
+
|
|
18
|
+
| Standard/Source | Content |
|
|
19
|
+
|----------------|---------|
|
|
20
|
+
| journey-test-assistant (skill) | Generates TESTPLAN and journey E2E skeletons |
|
|
21
|
+
| flow-based-testing | Flow archetypes that journeys instantiate |
|
|
22
|
+
| e2e-testing (option) | End-to-end execution layer journeys map onto |
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## Guidelines
|
|
27
|
+
|
|
28
|
+
- Every project MUST have at least one `TESTPLAN-NNN.md` documenting the main user journey.
|
|
29
|
+
- TESTPLAN steps MUST be sequential and stateful — each step depends on prior state.
|
|
30
|
+
- Every TESTPLAN MUST define personas before test steps.
|
|
31
|
+
- TESTPLAN and automated E2E tests MUST use the same `T-NNN` identifiers.
|
|
32
|
+
- Journey E2E tests MUST skip gracefully when the environment is unavailable.
|
|
33
|
+
- Journey tests cover what AC tests cannot: cross-story state continuity.
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## TESTPLAN Format
|
|
38
|
+
|
|
39
|
+
- **File naming**: `TESTPLAN-NNN-<project-slug>.md`
|
|
40
|
+
- **Location**: `test-plans/`
|
|
41
|
+
|
|
42
|
+
### Required Sections
|
|
43
|
+
|
|
44
|
+
| Section | Description | Format |
|
|
45
|
+
|---------|-------------|--------|
|
|
46
|
+
| **Personas** | Define all test actors with their role and permissions | `\| Actor \| Role \| Key Permissions \|` |
|
|
47
|
+
| **Environment** | List environment prerequisites and verification commands | — |
|
|
48
|
+
| **Test Groups** | `T-NNN` numbered test groups with a sequential dependency chain | — |
|
|
49
|
+
| **Execution Order** | Dependency diagram showing `T-NNN → T-NNN` relationships | — |
|
|
50
|
+
|
|
51
|
+
### Step Markers
|
|
52
|
+
|
|
53
|
+
| Marker | Meaning |
|
|
54
|
+
|--------|---------|
|
|
55
|
+
| `[UI]` | Browser-based action, verify visually |
|
|
56
|
+
| `[API]` | `curl` / API client verification |
|
|
57
|
+
| `[CHECK]` | Expected result to confirm |
|
|
58
|
+
| `[SKIP-if]` | Conditional skip with reason |
|
|
59
|
+
| `★` | High-risk step requiring confirmation |
|
|
60
|
+
|
|
61
|
+
### Step Format
|
|
62
|
+
|
|
63
|
+
Each step declares:
|
|
64
|
+
|
|
65
|
+
- **step_id** — `T-NNN-M` (group-step format)
|
|
66
|
+
- **operation** — what to do, annotated with a `[MARKER]`
|
|
67
|
+
- **expected_result** — what should happen
|
|
68
|
+
- **precondition** — state from a previous `T-NNN` that must be satisfied
|
|
69
|
+
- **depends_on** — comma-separated `T-NNN` identifiers
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Automation Mapping
|
|
74
|
+
|
|
75
|
+
- **Principle**: every `T-NNN` group maps to a `describe()` block; every step maps to an `it()`.
|
|
76
|
+
- **File pattern**: `*.journey.spec.ts` or `*.journey.e2e.test.ts`.
|
|
77
|
+
- **Shared state**: journey tests MUST use shared `let` variables across `it()` blocks so each step builds on previous results.
|
|
78
|
+
- **Skip strategy**: guard with `describe.skipIf(!BASE_URL)` for environment-dependent tests.
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## Journey Categories
|
|
83
|
+
|
|
84
|
+
| ID | Description | Required For |
|
|
85
|
+
|----|-------------|--------------|
|
|
86
|
+
| `platform-admin-journey` | Platform admin setup: login → org → project → pipeline | enterprise, saas |
|
|
87
|
+
| `member-journey` | Org member: join → project access → pipeline view | enterprise, saas |
|
|
88
|
+
| `dev-journey` | Developer: new project → spec → pipeline → artifact | all |
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Rules
|
|
93
|
+
|
|
94
|
+
| Rule | Trigger | Instruction | Priority |
|
|
95
|
+
|------|---------|-------------|----------|
|
|
96
|
+
| `testplan-required` | Creating a new project | Generate `TESTPLAN-001.md` with personas, environment, and main journey steps before writing code | required |
|
|
97
|
+
| `journey-before-code` | Starting project implementation | Define the user journey test plan first; journey tests act as living acceptance criteria | recommended |
|
|
98
|
+
| `sequential-state` | Writing journey E2E tests | Use shared state variables (`let token, orgSlug, projectSlug`) so each step builds on previous results | required |
|
|
99
|
+
| `graceful-skip` | Writing journey E2E tests | Guard with `describe.skipIf(!process.env.JOURNEY_BASE_URL)` so tests are skipped in unit CI | required |
|
|
100
|
+
| `t-nnn-alignment` | Writing any E2E test | Reference `T-NNN` identifiers from TESTPLAN in test descriptions for traceability | recommended |
|
|
101
|
+
| `persona-first` | Writing TESTPLAN | Define all user personas before writing any test steps | required |
|
|
102
|
+
| `dependency-chain` | Writing TESTPLAN | Each test group must declare its `depends_on` list so execution order is explicit | required |
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# User Story Mapping Standards
|
|
2
|
+
|
|
3
|
+
> **Version**: 1.0.0 | **Status**: Active | **Updated**: 2026-06-17
|
|
4
|
+
> **AI-optimized version**: `ai/standards/user-story-mapping.ai.yaml`
|
|
5
|
+
> **Spec**: XSPEC-069 (cross-project/specs/XSPEC-069-uds-product-layer-pack.md)
|
|
6
|
+
|
|
7
|
+
**Scope**: universal
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
This standard defines how teams construct and use **story maps** to plan product
|
|
12
|
+
releases. It covers the three-layer story-map structure (Backbone activities,
|
|
13
|
+
Walking Skeleton sub-tasks, Detail Stories), the MVP horizontal-slice rule,
|
|
14
|
+
INVEST compliance per story, and Given/When/Then acceptance criteria tied to
|
|
15
|
+
measurable product metrics. It prevents incomplete MVPs and ensures every story is
|
|
16
|
+
testable and traceable.
|
|
17
|
+
|
|
18
|
+
It is part of the **product-layer pack** (XSPEC-069), sitting between
|
|
19
|
+
`prd-standards` (upstream intent) and `requirement-engineering` (downstream INVEST
|
|
20
|
+
stories), with acceptance criteria tied to `product-metrics-standards`.
|
|
21
|
+
|
|
22
|
+
> **Scope.** This standard defines the *story-map structure and MVP-slicing
|
|
23
|
+
> discipline*. Concrete planning tooling (Miro/Jira) is an adoption choice.
|
|
24
|
+
|
|
25
|
+
## Requirements
|
|
26
|
+
|
|
27
|
+
| ID | Rule | Level |
|
|
28
|
+
|----|------|-------|
|
|
29
|
+
| REQ-001 | Story-map three layers (backbone, walking skeleton, detail stories) | MUST |
|
|
30
|
+
| REQ-002 | MVP horizontal-slice rule (no vertical-slice MVP) | MUST |
|
|
31
|
+
| REQ-003 | Story INVEST compliance | MUST |
|
|
32
|
+
| REQ-004 | Acceptance-criteria format (Given/When/Then, metric-tied) | MUST |
|
|
33
|
+
|
|
34
|
+
### REQ-001 — Story Map Three Layers
|
|
35
|
+
|
|
36
|
+
Every story map MUST be structured in three horizontal layers: (1) **Backbone**
|
|
37
|
+
(top row) — user activities at the highest abstraction representing the complete
|
|
38
|
+
end-to-end journey, each a verb phrase from the user's perspective; the backbone
|
|
39
|
+
must represent the full journey, not only implemented features. (2) **Walking
|
|
40
|
+
Skeleton** (middle row) — the minimum sub-tasks to make each backbone activity
|
|
41
|
+
functional, organized vertically under each backbone item. (3) **Detail Stories**
|
|
42
|
+
(bottom rows) — specific stories for variations, enhancements, and edge cases,
|
|
43
|
+
prioritized vertically within each column (higher = higher priority).
|
|
44
|
+
|
|
45
|
+
### REQ-002 — MVP Horizontal Slice Rule
|
|
46
|
+
|
|
47
|
+
The MVP release boundary MUST be a **horizontal slice** across the story map,
|
|
48
|
+
covering all backbone activities at the walking-skeleton level. An MVP covering
|
|
49
|
+
only a subset of backbone activities (a **vertical slice** that perfects one
|
|
50
|
+
activity while others are absent or non-functional) is PROHIBITED, because it
|
|
51
|
+
cannot be evaluated end-to-end by users. **Exception**: single-activity products
|
|
52
|
+
(e.g. a focused utility) are exempt if the full value proposition is delivered by
|
|
53
|
+
that one activity; exceptions MUST be documented with rationale in the story map.
|
|
54
|
+
|
|
55
|
+
### REQ-003 — Story INVEST Compliance
|
|
56
|
+
|
|
57
|
+
Every story in the map MUST comply with the INVEST criteria from
|
|
58
|
+
`requirement-engineering`: **I**ndependent, **N**egotiable, **V**aluable,
|
|
59
|
+
**E**stimable, **S**mall (fits within one sprint at most; split if larger),
|
|
60
|
+
**T**estable (objectively verifiable acceptance criteria exist). Stories that fail
|
|
61
|
+
INVEST must be refined before entering a sprint; the assessment MUST be performed
|
|
62
|
+
during backlog-refinement sessions.
|
|
63
|
+
|
|
64
|
+
### REQ-004 — Acceptance Criteria Format
|
|
65
|
+
|
|
66
|
+
Every story MUST have at least one acceptance criterion in **Given/When/Then**
|
|
67
|
+
format, tied to a measurable product outcome from the `product-metrics-standards`
|
|
68
|
+
hierarchy where applicable. Stories with criteria that cannot be objectively
|
|
69
|
+
verified (e.g. "the page looks good") are non-compliant. Acceptance criteria MUST
|
|
70
|
+
be written before development begins and MUST NOT be modified after it starts
|
|
71
|
+
without PM and dev-lead sign-off (same revision policy as PRD changes).
|
|
72
|
+
|
|
73
|
+
## Anti-Patterns
|
|
74
|
+
|
|
75
|
+
- Vertical MVP slicing: perfecting one activity while other backbone activities are absent.
|
|
76
|
+
- Stories without acceptance criteria entering development (no clear definition of done).
|
|
77
|
+
- Backbone activities mapped to system components instead of actual user goals.
|
|
78
|
+
- Story map used only for planning then discarded, not kept as a living tool.
|
|
79
|
+
- Detail stories added directly without backbone and walking-skeleton context.
|
|
80
|
+
|
|
81
|
+
## Integration with Existing Standards
|
|
82
|
+
|
|
83
|
+
- **`prd-standards`** — PRD scope is realized as a story map and MVP slice.
|
|
84
|
+
- **`requirement-engineering`** — stories follow the INVEST criteria defined there.
|
|
85
|
+
- **`product-metrics-standards`** — acceptance criteria tie to a North Star driver.
|
|
86
|
+
- **`acceptance-criteria-traceability`** — GWT criteria provide the AC traceability spine.
|
|
87
|
+
|
|
88
|
+
## Related Specs
|
|
89
|
+
|
|
90
|
+
- XSPEC-069 — UDS product-layer pack (this standard's source)
|
|
91
|
+
|
|
92
|
+
## Changelog
|
|
93
|
+
|
|
94
|
+
| Version | Date | Changes |
|
|
95
|
+
|---------|------|---------|
|
|
96
|
+
| v1.0.0 | 2026-06-17 | Initial — REQ-001~004: three-layer map, MVP horizontal-slice rule, INVEST compliance, GWT acceptance criteria (XSPEC-069) |
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
> **Language**: English | [繁體中文](../locales/zh-TW/core/verification-evidence.md)
|
|
4
4
|
|
|
5
|
-
**Version**: 1.
|
|
6
|
-
**Last Updated**: 2026-
|
|
5
|
+
**Version**: 1.2.0
|
|
6
|
+
**Last Updated**: 2026-07-17
|
|
7
7
|
**Applicability**: All AI-assisted development workflows
|
|
8
8
|
**Scope**: universal
|
|
9
9
|
**Inspired by**: [Superpowers](https://github.com/obra/superpowers) — verification-before-completion (MIT)
|
|
@@ -12,9 +12,19 @@
|
|
|
12
12
|
|
|
13
13
|
## Purpose
|
|
14
14
|
|
|
15
|
-
Establish an "Iron Law" that no task can be claimed as complete without verification evidence
|
|
15
|
+
Establish an "Iron Law" that no task can be claimed as complete without verification evidence, and ensure that the evidence itself holds up. This standard guards two distinct failures:
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
1. **Claiming success without evidence** — the agent asserts what it never checked (the Iron Law).
|
|
18
|
+
2. **Evidence that does not support its claim** — the agent *did* check, and the checking tool silently did not work (Evidence Validity, added in v1.2.0).
|
|
19
|
+
|
|
20
|
+
The first is a form of hallucination. **The second is not** — nothing was invented; a real command produced a real output that meant something other than what it appeared to mean. Both end in the same place: a completion claim that isn't true.
|
|
21
|
+
|
|
22
|
+
建立「鐵律」:無驗證證據不可聲稱完成——並確保**證據本身站得住腳**。本標準防兩種不同的失敗:
|
|
23
|
+
|
|
24
|
+
1. **無證據就宣稱成功**——代理斷言它從未查過的事(Iron Law)。
|
|
25
|
+
2. **證據撐不起它的主張**——代理**確實查了**,而查詢工具靜默地沒有運作(證據有效性,v1.2.0 新增)。
|
|
26
|
+
|
|
27
|
+
前者是幻覺的一種,**後者不是**——沒有任何東西被捏造,是一個真實的指令產生了真實的輸出,而那個輸出的意思不是它看起來的意思。兩者殊途同歸:一個不成立的完成聲明。
|
|
18
28
|
|
|
19
29
|
---
|
|
20
30
|
|
|
@@ -25,7 +35,10 @@ Establish an "Iron Law" that no task can be claimed as complete without verifica
|
|
|
25
35
|
| Verification Evidence | A structured record of a verification command's execution and result |
|
|
26
36
|
| Iron Law | The absolute rule: no evidence = no completion claim |
|
|
27
37
|
| RED-GREEN Cycle | Proving a bug fix by showing the test fails before and passes after the fix |
|
|
28
|
-
| Exit Code | The numeric return value of a command
|
|
38
|
+
| Exit Code | The numeric return value of a command. **`0 = success` is the tool's convention, not a guarantee** — see Evidence Validity |
|
|
39
|
+
| Environment Layer | Which environment the evidence was collected from (`local` / `uat` / `prd`) |
|
|
40
|
+
| Evidence Validity | Whether the evidence *itself* is trustworthy — i.e. whether the verification command actually ran and actually measured what it claims |
|
|
41
|
+
| Silent Tool Failure | A verification command that fails to run, or runs without measuring anything, yet produces output indistinguishable from a genuine result |
|
|
29
42
|
|
|
30
43
|
---
|
|
31
44
|
|
|
@@ -39,6 +52,18 @@ An agent saying "it's done" is not evidence. The verification must be independen
|
|
|
39
52
|
|
|
40
53
|
代理聲稱「已完成」不是證據。驗證必須是可獨立執行且產生可觀察輸出的。
|
|
41
54
|
|
|
55
|
+
### Non-Evidence Claims
|
|
56
|
+
|
|
57
|
+
None of the following constitute verification evidence:
|
|
58
|
+
|
|
59
|
+
| Claim | Why it isn't evidence |
|
|
60
|
+
|-------|----------------------|
|
|
61
|
+
| "Done." | No observable output |
|
|
62
|
+
| "It should work now." | No verification was executed |
|
|
63
|
+
| "I changed the code." | A modification is not a verification |
|
|
64
|
+
| "The tests should pass." | A prediction is not a fact |
|
|
65
|
+
| "The command returned 0." | Only if the command could have measured the claim — see Evidence Validity |
|
|
66
|
+
|
|
42
67
|
---
|
|
43
68
|
|
|
44
69
|
## Evidence Format
|
|
@@ -50,7 +75,8 @@ Every verification must produce a structured evidence record:
|
|
|
50
75
|
"command": "pnpm test -- --filter core",
|
|
51
76
|
"exit_code": 0,
|
|
52
77
|
"output": "Tests: 47 passed, 0 failed\nDuration: 3.2s",
|
|
53
|
-
"timestamp": "2026-03-20T14:30:00Z"
|
|
78
|
+
"timestamp": "2026-03-20T14:30:00Z",
|
|
79
|
+
"environment_layer": "local"
|
|
54
80
|
}
|
|
55
81
|
```
|
|
56
82
|
|
|
@@ -59,9 +85,44 @@ Every verification must produce a structured evidence record:
|
|
|
59
85
|
| Field | Type | Required | Description |
|
|
60
86
|
|-------|------|----------|-------------|
|
|
61
87
|
| `command` | string | Yes | The actual verification command executed |
|
|
62
|
-
| `exit_code` | number | Yes | Command exit code
|
|
88
|
+
| `exit_code` | number | Yes | Command exit code. **Interpret via Evidence Validity — this field is a claim, not a fact** |
|
|
63
89
|
| `output` | string | Yes | Command output (truncated to 2000 chars, preserving key info) |
|
|
64
90
|
| `timestamp` | string | Yes | Execution time in ISO 8601 format |
|
|
91
|
+
| `environment_layer` | string | Conditional | Which layer the evidence came from (`local` / `uat` / `prd`). **Required for any AC with an external service dependency** (SMS, payment, IdP); when absent, the AC's verification level is treated as local-only |
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Evidence Types
|
|
96
|
+
|
|
97
|
+
| Type | Applies to | Example |
|
|
98
|
+
|------|-----------|---------|
|
|
99
|
+
| **Test result** | Feature work, bug fixes | `npm test` output |
|
|
100
|
+
| **Type check** | Statically typed codebases | `pnpm tsc --noEmit` reporting no errors |
|
|
101
|
+
| **Build success** | Compilation, packaging | `npm run build` exiting 0 |
|
|
102
|
+
| **Lint clean** | Code quality | `npm run lint` reporting no errors |
|
|
103
|
+
| **RED-GREEN** | Bug fixes | Failing before the fix → passing after |
|
|
104
|
+
| **Health probe** | Deployed services | `curl https://<service>/health` — declare `environment_layer`; a probe against `localhost` verifies the local process, not the deployment |
|
|
105
|
+
| **Manual verification** | UI changes, visual behaviour | Screenshot or screen recording |
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Environment Layers
|
|
110
|
+
|
|
111
|
+
> **Iron Law (Environment)**: before acceptance, establish *which dimensions of this flow this environment layer is capable of verifying at all*.
|
|
112
|
+
|
|
113
|
+
驗收前必須確認「此環境層次能驗證此流程的哪些維度」。
|
|
114
|
+
|
|
115
|
+
A passing test proves nothing about a dimension the environment cannot exercise. A `local` run with a mocked payment gateway does not verify the payment integration — it verifies the mock. Evidence must therefore declare where it was collected.
|
|
116
|
+
|
|
117
|
+
| Layer | Meaning |
|
|
118
|
+
|-------|---------|
|
|
119
|
+
| `local` | Developer machine or CI; external dependencies typically mocked or stubbed |
|
|
120
|
+
| `uat` | Staging environment with real (or sandbox) external services |
|
|
121
|
+
| `prd` | Production |
|
|
122
|
+
|
|
123
|
+
For an AC that depends on an external service, `local`-only evidence is **insufficient**: either supply `uat`/`prd` evidence, or declare the gap explicitly. See VE-005 / VE-006.
|
|
124
|
+
|
|
125
|
+
> The declaration goes in the project's **Environment Stratification Responsibility Matrix** (`docs/testing/environment-stratification-matrix.md` or the test plan) — a per-project deliverable defined by the `deployment-standards` standard, which answers "which test flows can be fully verified in which environment?". Mark the un-verifiable combinations ⚠️/❌ there rather than leaving them implied by a passing local run.
|
|
65
126
|
|
|
66
127
|
---
|
|
67
128
|
|
|
@@ -107,12 +168,63 @@ The evidence record must include both RED and GREEN phases.
|
|
|
107
168
|
|
|
108
169
|
---
|
|
109
170
|
|
|
171
|
+
## Evidence Validity
|
|
172
|
+
|
|
173
|
+
> **The evidence can lie. Verify the evidence, not just the claim.**
|
|
174
|
+
|
|
175
|
+
證據本身會騙人。要驗的不只是「有沒有證據」,還有「這個證據成不成立」。
|
|
176
|
+
|
|
177
|
+
The Iron Law stops an agent from claiming success **without** evidence. It does not stop the opposite failure: the agent *does* run a verification, the command *does* return, `exit_code` *is* `0` — **and the output is meaningless**, because the command never actually measured anything.
|
|
178
|
+
|
|
179
|
+
This is not hallucination. Hallucination is inventing what you did not check. This is the reverse: **you checked, and the checking tool lied to you.** The `anti-hallucination` standard does not cover it — every prohibition there is a form of "don't make things up", and here nothing was made up.
|
|
180
|
+
|
|
181
|
+
### The four validity rules
|
|
182
|
+
|
|
183
|
+
**1. `exit_code = 0` means success only for tools that return 0 on success.**
|
|
184
|
+
|
|
185
|
+
The convention is near-universal, which is exactly why it goes unquestioned. When a tool fails **by design** in the situation under test, its non-zero exit code carries no information about the artefact — read the *output* instead. The inverse holds too: a non-zero exit code does not establish that the thing under test is broken.
|
|
186
|
+
|
|
187
|
+
**2. "Empty output" / "not found" / `0` is not the same as "it isn't there."**
|
|
188
|
+
|
|
189
|
+
Before concluding absence, establish that the query tool *ran successfully*: it was not `command not found`, it was not denied permission, its arguments were not consumed by an intervening shell. **Verify the query tool works before trusting the query's silence.**
|
|
190
|
+
|
|
191
|
+
**3. Commands that test for existence must not discard stderr.**
|
|
192
|
+
|
|
193
|
+
Suppressing stderr (`2>/dev/null` and equivalents) silences precisely the channel that would have reported "this tool is broken". The failure then wears the same clothes as a true negative.
|
|
194
|
+
|
|
195
|
+
**4. A pipeline's exit code does not belong to any single stage in it.**
|
|
196
|
+
|
|
197
|
+
With `set -o pipefail`, `producer | grep -q pattern` inherits a non-zero from `producer` regardless of whether `grep` matched. When the decision depends on content, **capture the output first, then evaluate it** — do not let a pipeline collapse two questions into one number.
|
|
198
|
+
|
|
199
|
+
### Evidence of the failure mode
|
|
200
|
+
|
|
201
|
+
The following are real verification commands run by an AI agent on 2026-07-17, each of which produced a confident, wrong conclusion that was then reported as fact:
|
|
202
|
+
|
|
203
|
+
| Verification command | `exit_code` | Output | Ground truth |
|
|
204
|
+
|---|:---:|---|---|
|
|
205
|
+
| `sudo -n find /backup/immich -type f 2>/dev/null \| wc -l` | **0** | `0` | `sudo` failed for lack of a tty, `2>/dev/null` ate the error, empty input made `wc -l` print `0`. **31 files existed.** Reported as "the backups are empty" |
|
|
206
|
+
| `gpg --list-packets <valid-file.gpg>` | **≠ 0** | Well-formed packet listing | The host holds no private key **by design**; gpg always exits non-zero here. **The file was valid.** Acted on by deleting a good encrypted backup |
|
|
207
|
+
| `gpg … \| grep -q "tag=1"` under `pipefail` | **≠ 0** | grep *did* match | The pipeline inherited gpg's non-zero; the match was irrelevant. **Deleted a good backup a second time** |
|
|
208
|
+
| `grep -c "${VAR}/path" file` over SSH in double quotes | **0** | `0` | `${VAR}` was expanded by the *local* shell to an empty string; the remote grep searched for the wrong text |
|
|
209
|
+
| `gpg --import key.asc 2>/dev/null` | — | (empty) | gpg **was not installed**; `command not found` went to the suppressed stderr |
|
|
210
|
+
| `until ! ssh host 'systemctl is-active svc'; do …` | — | loop exited | **A failed SSH connection and a finished service produce the same exit code.** The "result" read afterwards was a stale value from a previous run |
|
|
211
|
+
| `du -sh /data/*` as an unprivileged user | **0** | `4.0K` | Unreadable directories were reported as near-empty rather than as errors |
|
|
212
|
+
| `case "$tag" in *M*)` searching for monthly snapshots | **0** | (no match) | The tag's actual value was `monthly` — no capital `M`. Nearly became "there are no monthly snapshots" |
|
|
213
|
+
|
|
214
|
+
**Four of these had `exit_code = 0` and were false; two had `exit_code ≠ 0` and were true.** The field was unreliable in both directions — and in both of the non-zero cases, following VE-002 ("mark verification failed, trigger fix loop") destroyed a healthy artefact.
|
|
215
|
+
|
|
216
|
+
> **Provenance**: all instances come from a single day's work by a single agent (Claude Opus 4.8), recorded in AsiaOstrich XSPEC-340. The sample is dense but narrow. It is offered as evidence rather than proof — though note that every failure above originates in the *semantics of the tools* (sudo, gpg, pipefail, POSIX exit codes), not in any property of the model, so any agent driving the same tools is exposed to the same traps.
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
110
220
|
## Trust Rules
|
|
111
221
|
|
|
112
222
|
| Rule | Description |
|
|
113
223
|
|------|-------------|
|
|
114
224
|
| Agent says "done" but no `verification_evidence` | Mark as **unverified** |
|
|
115
|
-
| `verification_evidence` exists but `exit_code ≠ 0` | Mark as **verification failed** |
|
|
225
|
+
| `verification_evidence` exists but `exit_code ≠ 0` | Mark as **verification failed** — **unless** the tool is known to exit non-zero in the state under test (Evidence Validity rule 1), in which case judge by output |
|
|
226
|
+
| `exit_code = 0` but the command could not have measured the claim | Mark as **unverified** — a passing command that ran in the wrong place, or never ran at all, is not evidence |
|
|
227
|
+
| Evidence asserts absence (`0`, empty, "not found") | Mark as **unverified** until the query tool is shown to have executed successfully |
|
|
116
228
|
| Multiple verification steps | **All** steps must pass |
|
|
117
229
|
| Agent provides evidence for wrong command | Mark as **unverified** |
|
|
118
230
|
|
|
@@ -123,9 +235,15 @@ The evidence record must include both RED and GREEN phases.
|
|
|
123
235
|
| ID | Trigger | Action | Priority |
|
|
124
236
|
|----|---------|--------|----------|
|
|
125
237
|
| VE-001 | Agent reports success without verification_evidence | Downgrade to `done_with_concerns` | Critical |
|
|
126
|
-
| VE-002 | `exit_code ≠ 0` in evidence | Mark verification failed, trigger fix loop | High |
|
|
238
|
+
| VE-002 | `exit_code ≠ 0` in evidence | Mark verification failed, trigger fix loop — **after** confirming the tool returns 0 on success in this state (see VE-007) | High |
|
|
127
239
|
| VE-003 | Bug fix without RED-GREEN cycle | Request both RED and GREEN evidence | High |
|
|
128
240
|
| VE-004 | Output exceeds 2000 chars | Truncate but preserve error messages and summary lines | Medium |
|
|
241
|
+
| VE-005 | AC has an external service dependency (SMS, payment, IdP) | Evidence must declare `environment_layer`; local-only evidence is insufficient | Required |
|
|
242
|
+
| VE-006 | AC with external dependency marked done, no `environment_layer` | Downgrade to `done_with_concerns`; require the layer declaration or a ⚠️/❌ entry in the environment-stratification-matrix | High |
|
|
243
|
+
| VE-007 | The verification tool exits non-zero in the state under test **by design** | VE-002 does not apply. Judge by output content; **do not trigger a fix loop against a healthy artefact** | Critical |
|
|
244
|
+
| VE-008 | Evidence claims absence (`0`, empty output, "not found") | Invalid until the query tool is shown to have run successfully. Re-run without stderr suppression | High |
|
|
245
|
+
| VE-009 | An existence/absence check suppresses stderr (`2>/dev/null` or equivalent) | Evidence does not stand. Re-run with stderr visible | High |
|
|
246
|
+
| VE-010 | Evidence's `exit_code` comes from a pipeline (esp. under `pipefail`) | The code attributes to no single stage. Capture the output and evaluate content instead | Medium |
|
|
129
247
|
|
|
130
248
|
---
|
|
131
249
|
|
|
@@ -163,10 +281,52 @@ message: "I've completed the task and everything should work now."
|
|
|
163
281
|
# ❌ No verification_evidence — violates Iron Law
|
|
164
282
|
```
|
|
165
283
|
|
|
284
|
+
### Bad: Evidence That Cannot Support Its Claim
|
|
285
|
+
|
|
286
|
+
```yaml
|
|
287
|
+
claim: "The backup directory is empty — backups are not running."
|
|
288
|
+
verification_evidence:
|
|
289
|
+
- command: "sudo -n find /backup/immich -type f 2>/dev/null | wc -l"
|
|
290
|
+
exit_code: 0
|
|
291
|
+
output: "0"
|
|
292
|
+
timestamp: "2026-07-17T13:05:00Z"
|
|
293
|
+
# ❌ Passes the Iron Law: evidence exists, exit_code is 0, output is concrete.
|
|
294
|
+
# ❌ Violates VE-008, VE-009, VE-010:
|
|
295
|
+
# - claims absence without showing the query tool ran (VE-008)
|
|
296
|
+
# - suppresses the stderr that said "sudo: a terminal is required" (VE-009)
|
|
297
|
+
# - the exit code is the pipeline's, i.e. `wc -l`'s — `find` never ran (VE-010)
|
|
298
|
+
# 31 files were present. Directory listed as empty because nothing looked.
|
|
299
|
+
```
|
|
300
|
+
|
|
301
|
+
### Good: The Same Check, Made Valid
|
|
302
|
+
|
|
303
|
+
```yaml
|
|
304
|
+
claim: "The backup directory holds 31 files."
|
|
305
|
+
verification_evidence:
|
|
306
|
+
- command: "ssh host 'sudo find /backup/immich -type f | wc -l'" # stderr not suppressed
|
|
307
|
+
exit_code: 0
|
|
308
|
+
output: "31"
|
|
309
|
+
timestamp: "2026-07-17T13:07:00Z"
|
|
310
|
+
environment_layer: "prd"
|
|
311
|
+
# ✅ stderr would have surfaced a sudo/permission failure instead of printing 0
|
|
312
|
+
# ✅ single-quoted so ${...} is not expanded by the local shell before transit
|
|
313
|
+
```
|
|
314
|
+
|
|
315
|
+
---
|
|
316
|
+
|
|
317
|
+
## Related Standards
|
|
318
|
+
|
|
319
|
+
- [Anti-Hallucination](anti-hallucination.md) — the complementary standard. It prevents *fabricated* claims (asserting what was never checked); Evidence Validity covers the opposite failure — claims that **were** checked, by a tool that silently did not work.
|
|
320
|
+
- [Systematic Debugging](systematic-debugging.md) — how to investigate once evidence shows a real failure
|
|
321
|
+
- [Checkin Standards](checkin-standards.md) — where completion claims are gated
|
|
322
|
+
- [Test Governance](test-governance.md) — which tests are required, and therefore which evidence must exist
|
|
323
|
+
- [Testing Standards](testing-standards.md) — how the tests that produce most evidence are written
|
|
324
|
+
- [Agent Dispatch](agent-dispatch.md) — delegated work returns claims that need this standard applied to them
|
|
325
|
+
- [Deployment Standards](deployment-standards.md) — defines the Environment Stratification Responsibility Matrix referenced by VE-005 / VE-006
|
|
326
|
+
|
|
166
327
|
---
|
|
167
328
|
|
|
168
329
|
## References
|
|
169
330
|
|
|
170
331
|
- **Superpowers**: [verification-before-completion](https://github.com/obra/superpowers) (MIT)
|
|
171
332
|
- **Test-Driven Development**: RED-GREEN-REFACTOR cycle
|
|
172
|
-
- **Anti-Hallucination**: Complementary standard for preventing fabricated claims
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# Verification Oracle Standards
|
|
2
|
+
|
|
3
|
+
> **Version**: 1.0.0 | **Status**: Active | **Updated**: 2026-06-17
|
|
4
|
+
> **AI-optimized version**: `ai/standards/verification-oracle.ai.yaml`
|
|
5
|
+
> **Spec**: XSPEC-256 (cross-project/specs/XSPEC-256-verification-oracle.md)
|
|
6
|
+
|
|
7
|
+
**Scope**: universal
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
A **test oracle** is the source of truth that decides whether software output is *correct*.
|
|
12
|
+
Software without an oracle cannot be said to be "right" — you cannot even state whether it
|
|
13
|
+
is right or wrong. This standard makes the **ground-truth oracle a first-class artifact**
|
|
14
|
+
and turns "correct" from a one-time acceptance state into a **maintained invariant**
|
|
15
|
+
re-verified on every change (DEC-077).
|
|
16
|
+
|
|
17
|
+
It is the **correctness** member of the governance-gate family — alongside
|
|
18
|
+
`license-compliance` (XSPEC-193, *licensing*) and `model-provenance` (XSPEC-255, *source*) —
|
|
19
|
+
which all share the same shape: **registry/check → fail-closed gate → audit evidence →
|
|
20
|
+
human-escalation ceiling**. The three are profiles of one mechanism over three axes:
|
|
21
|
+
**licensing / provenance / correctness**.
|
|
22
|
+
|
|
23
|
+
> **Scope.** This standard defines the *correctness oracle mechanism* (registry, grading,
|
|
24
|
+
> gate timing, re-verification, evidence, escalation) and the acceptance evidence it
|
|
25
|
+
> produces. The **oracle content (the correct answers) belongs to the customer** — it is
|
|
26
|
+
> their domain, their ground truth (DEC-075 neutral mechanism / DEC-063 customer-owned
|
|
27
|
+
> output). Enforcement engine wiring (e.g. VibeOps pipeline gates) is a downstream
|
|
28
|
+
> adoption concern, not part of this standard.
|
|
29
|
+
|
|
30
|
+
## The Oracle-ability Spectrum
|
|
31
|
+
|
|
32
|
+
Not every requirement has a ready oracle. Grade each high-stakes feature by how readily its
|
|
33
|
+
oracle exists — this drives cost, beachhead selection, and when a human must step in.
|
|
34
|
+
|
|
35
|
+
| Tier | Oracle shape | Readiness / cost |
|
|
36
|
+
|------|--------------|------------------|
|
|
37
|
+
| 1 | Known-correct output of a legacy system | Most ready, cheapest (parity-provable) |
|
|
38
|
+
| 2 | A batch of hand-computed / existing correct outputs | Ready (reproduce + scale) |
|
|
39
|
+
| 3 | Regulation / formula (rules exist, examples missing) | Needs co-derived worked examples + sign-off (ATDD) |
|
|
40
|
+
| 4 | Vague requirement (oracle must be *mined* from interviews) | Most expensive — the "translation problem" |
|
|
41
|
+
|
|
42
|
+
## Requirements
|
|
43
|
+
|
|
44
|
+
| ID | Rule | Level |
|
|
45
|
+
|----|------|-------|
|
|
46
|
+
| REQ-001 | Ground-truth registry as a first-class artifact, bound to AC | MUST |
|
|
47
|
+
| REQ-002 | Oracle-ability grading (Tier 1–4) for every high-stakes feature | MUST |
|
|
48
|
+
| REQ-003 | Fail-closed verification gate before ship | MUST |
|
|
49
|
+
| REQ-004 | Sustained re-verification on every change (correctness as CI invariant) | MUST |
|
|
50
|
+
| REQ-005 | Auditable verification evidence (N/N reproduced, no drift, trace) | MUST |
|
|
51
|
+
| REQ-006 | Self-serve frontier ceiling — escalate when no oracle / unverifiable high-stakes | MUST |
|
|
52
|
+
| REQ-007 | Oracle content sovereignty — content owned by customer, mechanism neutral | SHOULD |
|
|
53
|
+
|
|
54
|
+
### REQ-001 — Ground-Truth Registry
|
|
55
|
+
|
|
56
|
+
The correct answers a customer provides become a first-class artifact. Each ground-truth
|
|
57
|
+
case carries an **input scenario + expected correct output**, and is **bound to the
|
|
58
|
+
acceptance criterion** it proves (`acceptance-criteria-traceability`). At minimum the
|
|
59
|
+
mechanism MUST support numeric and structured-output comparison, with per-field exemptions
|
|
60
|
+
(e.g. `ignore_fields` for timestamps/ids). Example: a billing case "given orders + org
|
|
61
|
+
state → the *correct* charge amount", not merely "the endpoint returns HTTP 200".
|
|
62
|
+
|
|
63
|
+
### REQ-002 — Oracle-ability Grading
|
|
64
|
+
|
|
65
|
+
Every high-stakes feature MUST be tagged with its oracle Tier (1–4, table above).
|
|
66
|
+
A **Tier-4 (must-mine) feature MUST have a defined hand-off point** to an oracle-manufacturing
|
|
67
|
+
flow (interview / Prototype Probe; XSPEC-252) that pulls the expensive end toward Tier 1–2.
|
|
68
|
+
Beachhead selection SHOULD prefer Tier 1–2 features where the oracle is already ready.
|
|
69
|
+
|
|
70
|
+
### REQ-003 — Fail-Closed Verification Gate
|
|
71
|
+
|
|
72
|
+
Before a system may enter UAT/ship, it MUST **exactly reproduce every registered
|
|
73
|
+
ground-truth case**. A non-reproduction MUST **block ship or escalate** — never silently
|
|
74
|
+
pass (mirrors `license-compliance` blocklist and `model-provenance` denylist). The gate
|
|
75
|
+
plugs into existing reviewer/QA gates and the audit logger.
|
|
76
|
+
|
|
77
|
+
### REQ-004 — Sustained Re-Verification (the soul of this standard)
|
|
78
|
+
|
|
79
|
+
On **every change / regeneration**, the full oracle suite MUST be re-run, making "correct"
|
|
80
|
+
a **CI-grade invariant** rather than a one-time acceptance. **Drift** (was-correct, now-wrong)
|
|
81
|
+
MUST be detected and **blocked**. This is the mechanization of DEC-077's "changed and still
|
|
82
|
+
correct, and provably correct the whole time" — the differentiator a "generate-once, never
|
|
83
|
+
re-verify" competitor cannot match.
|
|
84
|
+
|
|
85
|
+
### REQ-005 — Audit Evidence
|
|
86
|
+
|
|
87
|
+
Each verification run MUST emit an auditable report: *"this delivery reproduced N/N
|
|
88
|
+
ground-truth cases, no drift, trace attached."* It plugs into the audit logger / hash chain,
|
|
89
|
+
the `model-provenance` source evidence (XSPEC-255), and the telemetry allowlist (DEC-066).
|
|
90
|
+
**This report is the outward proof of the correctness/governance moat** and a compliance
|
|
91
|
+
artifact for the customer.
|
|
92
|
+
|
|
93
|
+
### REQ-006 — Self-Serve Frontier Ceiling
|
|
94
|
+
|
|
95
|
+
Where there is **no oracle** (correctness is not decidable) or a **high-stakes but
|
|
96
|
+
unverifiable** path, the system MUST NOT let self-serve silently pass. It MUST flag
|
|
97
|
+
"a human must decide / an oracle must be supplied here" and **escalate** (DEC-076 ceiling).
|
|
98
|
+
Defining correctness and signing off acceptance are **human judgments** (customer / legal /
|
|
99
|
+
regulator) — a product-enforced governance gate, not a consultant trap.
|
|
100
|
+
|
|
101
|
+
### REQ-007 — Oracle Content Sovereignty
|
|
102
|
+
|
|
103
|
+
The verification *mechanism* is domain-neutral (DEC-075); the *correct answers* are owned by
|
|
104
|
+
the customer (DEC-063). Adopters SHOULD keep registries customer-scoped and isolated
|
|
105
|
+
(see `model-provenance` / `license-compliance` per-customer salt patterns, DEC-064).
|
|
106
|
+
|
|
107
|
+
## Principles
|
|
108
|
+
|
|
109
|
+
| ID | Principle |
|
|
110
|
+
|----|-----------|
|
|
111
|
+
| P-1 | Oracle First — no oracle, no "correct"; grade oracle-ability before claiming correctness |
|
|
112
|
+
| P-2 | Maintained Invariant — re-verify on every change; drift is a blocking event (DEC-077) |
|
|
113
|
+
| P-3 | Fail-Closed — non-reproduction blocks or escalates; never silent pass |
|
|
114
|
+
| P-4 | Evidence-Based — every verdict carries a reproducible trace (N/N + diff + audit id) |
|
|
115
|
+
| P-5 | Human Ceiling — unverifiable high-stakes escalates to a human (DEC-076) |
|
|
116
|
+
| P-6 | Content Sovereignty — mechanism neutral, correct answers owned by the customer |
|
|
117
|
+
|
|
118
|
+
## Gate Timing
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
spec(SDD) → generate → [oracle verification gate] ← REQ-003 fail-closed, pre-ship
|
|
122
|
+
│
|
|
123
|
+
on every change ─────┤ → re-run full oracle suite ← REQ-004 drift block
|
|
124
|
+
↓
|
|
125
|
+
audit evidence report ← REQ-005 (outward moat proof)
|
|
126
|
+
│
|
|
127
|
+
no oracle / unverifiable ──┴──→ escalate to human ← REQ-006 ceiling
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Relationship to the Governance-Gate Family
|
|
131
|
+
|
|
132
|
+
| Profile | Standard | Axis | Registry/Check | Block trigger |
|
|
133
|
+
|---------|----------|------|----------------|---------------|
|
|
134
|
+
| Licensing | `license-compliance` (XSPEC-193) | legal | blocklist/allowlist/greylist | prohibited license |
|
|
135
|
+
| Provenance | model-provenance (XSPEC-255, planned sibling) | source | model source policy | denied source |
|
|
136
|
+
| **Correctness** | **`verification-oracle` (XSPEC-256)** | **correct** | **ground-truth registry** | **non-reproduction / drift** |
|
|
137
|
+
|
|
138
|
+
All three: fail-closed + audit evidence + customer override telemetered + human-escalation ceiling.
|
|
139
|
+
|
|
140
|
+
## Integration with Existing Standards
|
|
141
|
+
|
|
142
|
+
- **`acceptance-criteria-traceability`** — oracle cases bind to AC; reproduction becomes a
|
|
143
|
+
form of AC coverage.
|
|
144
|
+
- **`verification-evidence`** — the oracle report is a kind of verification evidence (N/N
|
|
145
|
+
reproduction + no-drift + trace).
|
|
146
|
+
- **`test-governance`** — the oracle suite is governed test policy; the gate is a governed gate.
|
|
147
|
+
- **`behavior-snapshot`** — a parity/snapshot gate is REQ-003/REQ-004 instantiated for the
|
|
148
|
+
refactor/migration case; a snapshot is itself an oracle, so the skeleton may be shared.
|
|
149
|
+
|
|
150
|
+
## Related Specs
|
|
151
|
+
|
|
152
|
+
- XSPEC-256 — Verification Oracle complete spec (this standard's source)
|
|
153
|
+
- DEC-077 — Correctness as a maintained invariant (mother decision)
|
|
154
|
+
- DEC-075 — VibeOps domain-neutral positioning (neutral mechanism)
|
|
155
|
+
- DEC-076 — Self-serve customization north star (oracle = self-serve ceiling)
|
|
156
|
+
- DEC-063 — Legal & compliance strategy (customer-owned output / high-stakes)
|
|
157
|
+
- DEC-066 — Telemetry-driven product evolution (audit/telemetry)
|
|
158
|
+
- XSPEC-193 / XSPEC-255 — sibling governance-gate profiles (licensing / provenance)
|
|
159
|
+
- XSPEC-252 — Domain pack requirement translation (oracle manufacturing, Tier-4 hand-off)
|
|
160
|
+
- XSPEC-188 — UAT ship-decision dashboard (business-level UAT anchors)
|
|
161
|
+
- XSPEC-201 — Refactor/migration completeness (behavior-snapshot = an oracle instance)
|
|
162
|
+
|
|
163
|
+
## Changelog
|
|
164
|
+
|
|
165
|
+
| Version | Date | Changes |
|
|
166
|
+
|---------|------|---------|
|
|
167
|
+
| v1.0.0 | 2026-06-17 | Initial — REQ-001~007: ground-truth registry, oracle-ability grading, fail-closed gate, sustained re-verification, audit evidence, self-serve ceiling, content sovereignty (XSPEC-256) |
|