universal-dev-standards 5.16.0 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/uds.js +13 -135
- package/bundled/ai/standards/acceptance-criteria-traceability.ai.yaml +13 -4
- package/bundled/ai/standards/accessibility-standards.ai.yaml +1 -1
- package/bundled/ai/standards/ai-response-navigation.ai.yaml +15 -2
- package/bundled/ai/standards/api-design-standards.ai.yaml +27 -4
- package/bundled/ai/standards/behavior-snapshot.ai.yaml +86 -9
- package/bundled/ai/standards/checkin-standards.ai.yaml +2 -2
- package/bundled/ai/standards/code-review.ai.yaml +2 -2
- package/bundled/ai/standards/context-aware-loading.ai.yaml +3 -3
- package/bundled/ai/standards/data-migration-testing.ai.yaml +79 -3
- package/bundled/ai/standards/deprecation-standards.ai.yaml +10 -2
- package/bundled/ai/standards/developer-memory.ai.yaml +4 -3
- package/bundled/ai/standards/flow-based-testing.ai.yaml +2 -2
- package/bundled/ai/standards/forward-derivation-standards.ai.yaml +26 -2
- package/bundled/ai/standards/full-coverage-testing.ai.yaml +34 -2
- package/bundled/ai/standards/git-worktree.ai.yaml +3 -3
- package/bundled/ai/standards/logging.ai.yaml +97 -3
- package/bundled/ai/standards/mock-boundary.ai.yaml +48 -2
- package/bundled/ai/standards/model-provenance.ai.yaml +297 -0
- package/bundled/ai/standards/model-selection.ai.yaml +11 -2
- package/bundled/ai/standards/observability-standards.ai.yaml +10 -0
- package/bundled/ai/standards/performance-standards.ai.yaml +46 -1
- package/bundled/ai/standards/pii-classification.ai.yaml +15 -1
- package/bundled/ai/standards/pipeline-security-gates.ai.yaml +10 -0
- package/bundled/ai/standards/privacy-standards.ai.yaml +2 -2
- package/bundled/ai/standards/project-context-memory.ai.yaml +2 -2
- package/bundled/ai/standards/refactoring-standards.ai.yaml +68 -3
- package/bundled/ai/standards/resource-cost-boundary.ai.yaml +279 -0
- package/bundled/ai/standards/reverse-engineering-standards.ai.yaml +55 -2
- package/bundled/ai/standards/security-testing.ai.yaml +13 -2
- package/bundled/ai/standards/skill-standard-alignment-check.ai.yaml +37 -2
- package/bundled/ai/standards/user-journey-testing.ai.yaml +107 -0
- package/bundled/ai/standards/verification-oracle.ai.yaml +278 -0
- package/bundled/ai/standards/versioning.ai.yaml +32 -38
- package/bundled/core/acceptance-criteria-traceability.md +15 -5
- package/bundled/core/accessibility-standards.md +8 -4
- package/bundled/core/ai-friendly-architecture.md +1 -1
- package/bundled/core/ai-response-navigation.md +31 -3
- package/bundled/core/anti-sycophancy-prompting.md +1 -1
- package/bundled/core/api-design-standards.md +92 -7
- package/bundled/core/audit-trail.md +119 -0
- package/bundled/core/behavior-snapshot.md +94 -7
- package/bundled/core/browser-compatibility-standards.md +15 -2
- package/bundled/core/checkin-standards.md +9 -2
- package/bundled/core/code-review-checklist.md +10 -2
- package/bundled/core/container-image-standards.md +97 -0
- package/bundled/core/context-aware-loading.md +2 -2
- package/bundled/core/cost-budget-test.md +1 -1
- package/bundled/core/cross-flow-regression.md +3 -2
- package/bundled/core/data-contract.md +104 -0
- package/bundled/core/data-migration-testing.md +90 -0
- package/bundled/core/data-pipeline.md +113 -0
- package/bundled/core/deprecation-standards.md +16 -2
- package/bundled/core/developer-memory.md +13 -8
- package/bundled/core/documentation-writing-standards.md +1 -1
- package/bundled/core/error-code-standards.md +4 -3
- package/bundled/core/flaky-test-management.md +1 -1
- package/bundled/core/flow-based-testing.md +3 -3
- package/bundled/core/forward-derivation-standards.md +33 -5
- package/bundled/core/full-coverage-testing.md +72 -0
- package/bundled/core/git-worktree.md +4 -4
- package/bundled/core/guides/performance-guide.md +1 -1
- package/bundled/core/guides/security-guide.md +1 -1
- package/bundled/core/health-check-standards.md +2 -2
- package/bundled/core/iac-design-principles.md +97 -0
- package/bundled/core/incident-response.md +119 -0
- package/bundled/core/license-compliance.md +2 -0
- package/bundled/core/logging-standards.md +78 -2
- package/bundled/core/mock-boundary.md +54 -2
- package/bundled/core/model-provenance.md +181 -0
- package/bundled/core/model-selection.md +27 -2
- package/bundled/core/packaging-standards.md +1 -0
- package/bundled/core/performance-standards.md +96 -2
- package/bundled/core/pii-classification.md +148 -0
- package/bundled/core/pipeline-security-gates.md +22 -2
- package/bundled/core/postmortem-standards.md +2 -0
- package/bundled/core/prd-standards.md +91 -0
- package/bundled/core/privacy-standards.md +14 -3
- package/bundled/core/product-metrics-standards.md +100 -0
- package/bundled/core/project-context-memory.md +8 -2
- package/bundled/core/prompt-regression.md +1 -1
- package/bundled/core/refactoring-standards.md +44 -3
- package/bundled/core/replay-test.md +1 -1
- package/bundled/core/resource-cost-boundary.md +180 -0
- package/bundled/core/reverse-engineering-standards.md +66 -2
- package/bundled/core/runbook.md +113 -0
- package/bundled/core/schema-evolution.md +105 -0
- package/bundled/core/secret-management-standards.md +110 -0
- package/bundled/core/security-testing.md +26 -2
- package/bundled/core/self-review-protocol.md +2 -2
- package/bundled/core/skill-standard-alignment-check.md +53 -0
- package/bundled/core/slo-sli.md +109 -0
- package/bundled/core/smoke-test.md +1 -1
- package/bundled/core/spec-driven-development.md +21 -3
- package/bundled/core/tech-debt-standards.md +1 -1
- package/bundled/core/test-data-standards.md +2 -2
- package/bundled/core/user-journey-testing.md +102 -0
- package/bundled/core/user-story-mapping.md +96 -0
- package/bundled/core/verification-oracle.md +167 -0
- package/bundled/core/versioning.md +133 -109
- package/bundled/locales/COVERAGE.md +84 -73
- package/bundled/locales/zh-CN/CHANGELOG.md +81 -6
- package/bundled/locales/zh-CN/CLAUDE.md +1 -1
- package/bundled/locales/zh-CN/README.md +22 -9
- package/bundled/locales/zh-CN/SECURITY.md +1 -1
- package/bundled/locales/zh-CN/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
- package/bundled/locales/zh-CN/core/acceptance-criteria-traceability.md +4 -6
- package/bundled/locales/zh-CN/core/accessibility-standards.md +1 -1
- package/bundled/locales/zh-CN/core/adversarial-test.md +226 -0
- package/bundled/locales/zh-CN/core/agent-behavior-discipline.md +187 -0
- package/bundled/locales/zh-CN/core/ai-response-navigation.md +32 -6
- package/bundled/locales/zh-CN/core/anti-sycophancy-prompting.md +1 -1
- package/bundled/locales/zh-CN/core/api-design-standards.md +1 -1
- package/bundled/locales/zh-CN/core/behavior-snapshot.md +335 -0
- package/bundled/locales/zh-CN/core/browser-compatibility-standards.md +229 -0
- package/bundled/locales/zh-CN/core/cd-deployment-strategies.md +135 -0
- package/bundled/locales/zh-CN/core/chaos-injection-tests.md +130 -0
- package/bundled/locales/zh-CN/core/checkin-standards.md +1 -1
- package/bundled/locales/zh-CN/core/code-review-checklist.md +1 -1
- package/bundled/locales/zh-CN/core/container-security.md +535 -0
- package/bundled/locales/zh-CN/core/context-aware-loading.md +1 -1
- package/bundled/locales/zh-CN/core/contract-testing-standards.md +191 -0
- package/bundled/locales/zh-CN/core/cost-budget-test.md +86 -0
- package/bundled/locales/zh-CN/core/cross-flow-regression.md +199 -0
- package/bundled/locales/zh-CN/core/data-migration-testing.md +217 -0
- package/bundled/locales/zh-CN/core/deployment-standards.md +328 -9
- package/bundled/locales/zh-CN/core/deprecation-standards.md +1 -1
- package/bundled/locales/zh-CN/core/developer-memory.md +2 -2
- package/bundled/locales/zh-CN/core/disaster-recovery-drill.md +87 -0
- package/bundled/locales/zh-CN/core/documentation-structure.md +1 -1
- package/bundled/locales/zh-CN/core/documentation-writing-standards.md +1 -1
- package/bundled/locales/zh-CN/core/error-code-standards.md +2 -2
- package/bundled/locales/zh-CN/core/feature-manifest-standard.md +222 -0
- package/bundled/locales/zh-CN/core/flaky-test-management.md +87 -0
- package/bundled/locales/zh-CN/core/flow-based-testing.md +284 -0
- package/bundled/locales/zh-CN/core/forward-derivation-standards.md +3 -4
- package/bundled/locales/zh-CN/core/full-coverage-testing.md +197 -0
- package/bundled/locales/zh-CN/core/git-worktree.md +1 -1
- package/bundled/locales/zh-CN/core/governance-layer.md +160 -0
- package/bundled/locales/zh-CN/core/guides/performance-guide.md +515 -0
- package/bundled/locales/zh-CN/core/guides/security-guide.md +494 -0
- package/bundled/locales/zh-CN/core/knowledge-graph-memory.md +128 -0
- package/bundled/locales/zh-CN/core/license-compliance.md +129 -0
- package/bundled/locales/zh-CN/core/llm-output-validation.md +192 -0
- package/bundled/locales/zh-CN/core/logging-standards.md +130 -8
- package/bundled/locales/zh-CN/core/mock-boundary.md +109 -0
- package/bundled/locales/zh-CN/core/model-selection.md +28 -5
- package/bundled/locales/zh-CN/core/mutation-testing.md +106 -0
- package/bundled/locales/zh-CN/core/no-cicd-deployment.md +219 -0
- package/bundled/locales/zh-CN/core/packaging-standards.md +76 -5
- package/bundled/locales/zh-CN/core/pipeline-security-gates.md +126 -0
- package/bundled/locales/zh-CN/core/policy-as-code-testing.md +203 -0
- package/bundled/locales/zh-CN/core/privacy-standards.md +1 -1
- package/bundled/locales/zh-CN/core/project-context-memory.md +1 -1
- package/bundled/locales/zh-CN/core/prompt-regression.md +88 -0
- package/bundled/locales/zh-CN/core/property-based-testing.md +87 -0
- package/bundled/locales/zh-CN/core/release-quality-manifest.md +207 -0
- package/bundled/locales/zh-CN/core/release-readiness-gate.md +193 -0
- package/bundled/locales/zh-CN/core/replay-test.md +102 -0
- package/bundled/locales/zh-CN/core/reverse-engineering-standards.md +46 -1
- package/bundled/locales/zh-CN/core/rollback-standards.md +120 -0
- package/bundled/locales/zh-CN/core/sast-advanced.md +309 -0
- package/bundled/locales/zh-CN/core/secure-op.md +328 -0
- package/bundled/locales/zh-CN/core/security-testing.md +96 -0
- package/bundled/locales/zh-CN/core/self-review-protocol.md +167 -0
- package/bundled/locales/zh-CN/core/server-ops-security.md +507 -0
- package/bundled/locales/zh-CN/core/smoke-test.md +79 -0
- package/bundled/locales/zh-CN/core/spec-driven-development.md +55 -5
- package/bundled/locales/zh-CN/core/supply-chain-attestation.md +131 -0
- package/bundled/locales/zh-CN/core/versioning.md +1 -1
- package/bundled/locales/zh-CN/docs/CHEATSHEET.md +31 -6
- package/bundled/locales/zh-CN/docs/FEATURE-REFERENCE.md +61 -34
- package/bundled/locales/zh-CN/docs/MIGRATION-v6.md +88 -0
- package/bundled/locales/zh-CN/docs/USAGE-MODES-COMPARISON.md +2 -2
- package/bundled/locales/zh-CN/docs/USER-MANUAL.md +14 -14
- package/bundled/locales/zh-CN/docs/specs/system/memory-adoption-strategy.md +105 -0
- package/bundled/locales/zh-CN/docs/user/FAQ.md +132 -0
- package/bundled/locales/zh-CN/docs/user/GETTING-STARTED.md +144 -0
- package/bundled/locales/zh-CN/docs/user/GLOSSARY.md +178 -0
- package/bundled/locales/zh-CN/docs/user/README.md +70 -0
- package/bundled/locales/zh-CN/docs/user/TROUBLESHOOTING.md +190 -0
- package/bundled/locales/zh-CN/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
- package/bundled/locales/zh-CN/integrations/github-copilot/README.md +1 -1
- package/bundled/locales/zh-CN/integrations/github-copilot/skills-mapping.md +3 -3
- package/bundled/locales/zh-CN/integrations/opencode/skills-mapping.md +3 -3
- package/bundled/locales/zh-CN/methodologies/guides/sdd-guide.md +836 -0
- package/bundled/locales/zh-CN/options/changelog/auto-generated.md +166 -0
- package/bundled/locales/zh-CN/options/changelog/keep-a-changelog.md +140 -0
- package/bundled/locales/zh-CN/options/code-review/automated-review.md +214 -0
- package/bundled/locales/zh-CN/options/code-review/pair-programming.md +166 -0
- package/bundled/locales/zh-CN/options/code-review/pr-review.md +167 -0
- package/bundled/locales/zh-CN/options/documentation/api-docs.md +191 -0
- package/bundled/locales/zh-CN/options/documentation/markdown-docs.md +150 -0
- package/bundled/locales/zh-CN/options/documentation/wiki-style.md +131 -0
- package/bundled/locales/zh-CN/options/project-structure/kotlin.md +144 -0
- package/bundled/locales/zh-CN/options/project-structure/php.md +168 -0
- package/bundled/locales/zh-CN/options/project-structure/ruby.md +156 -0
- package/bundled/locales/zh-CN/options/project-structure/rust.md +136 -0
- package/bundled/locales/zh-CN/options/project-structure/swift.md +165 -0
- package/bundled/locales/zh-CN/options/testing/contract-testing.md +237 -0
- package/bundled/locales/zh-CN/options/testing/industry-pyramid.md +200 -0
- package/bundled/locales/zh-CN/options/testing/istqb-framework.md +144 -0
- package/bundled/locales/zh-CN/options/testing/performance-testing.md +251 -0
- package/bundled/locales/zh-CN/options/testing/security-testing.md +192 -0
- package/bundled/locales/zh-CN/skills/README.md +89 -126
- package/bundled/locales/zh-CN/skills/ac-coverage/SKILL.md +5 -7
- package/bundled/locales/zh-CN/skills/adr-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/agents/code-architect.md +263 -0
- package/bundled/locales/zh-CN/skills/agents/doc-writer.md +410 -0
- package/bundled/locales/zh-CN/skills/agents/reviewer.md +357 -0
- package/bundled/locales/zh-CN/skills/agents/spec-analyst.md +410 -0
- package/bundled/locales/zh-CN/skills/agents/test-specialist.md +368 -0
- package/bundled/locales/zh-CN/skills/ai-collaboration-standards/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/ai-friendly-architecture/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/ai-instruction-standards/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
- package/bundled/locales/zh-CN/skills/atdd-assistant/atdd-workflow.md +3 -4
- package/bundled/locales/zh-CN/skills/audit-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/bdd-assistant/guide.md +1 -2
- package/bundled/locales/zh-CN/skills/brainstorm-assistant/SKILL.md +109 -13
- package/bundled/locales/zh-CN/skills/brainstorm-assistant/guide.md +30 -8
- package/bundled/locales/zh-CN/skills/checkin-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/ci-cd-assistant/SKILL.md +50 -0
- package/bundled/locales/zh-CN/skills/code-review-assistant/SKILL.md +5 -5
- package/bundled/locales/zh-CN/skills/commands/ac-coverage.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/atdd.md +3 -3
- package/bundled/locales/zh-CN/skills/commands/bdd.md +2 -2
- package/bundled/locales/zh-CN/skills/commands/brainstorm.md +26 -17
- package/bundled/locales/zh-CN/skills/commands/{review.md → code-review.md} +4 -4
- package/bundled/locales/zh-CN/skills/commands/derive-all.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/derive-atdd.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/derive-bdd.md +2 -3
- package/bundled/locales/zh-CN/skills/commands/derive-tdd.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/derive.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/dev-workflow.md +2 -2
- package/bundled/locales/zh-CN/skills/commands/methodology.md +4 -4
- package/bundled/locales/zh-CN/skills/commands/pr.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/tdd.md +1 -1
- package/bundled/locales/zh-CN/skills/commit-standards/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/contract-test-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/dev-methodology/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/dev-methodology/create-methodology.md +456 -0
- package/bundled/locales/zh-CN/skills/dev-methodology/guide.md +6 -6
- package/bundled/locales/zh-CN/skills/dev-methodology/runtime.md +296 -0
- package/bundled/locales/zh-CN/skills/dev-workflow-guide/SKILL.md +5 -5
- package/bundled/locales/zh-CN/skills/docs-generator/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/e2e-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/incident-response-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/journey-test-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/logging-guide/SKILL.md +146 -142
- package/bundled/locales/zh-CN/skills/migration-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/observability-assistant/guide.md +1 -1
- package/bundled/locales/zh-CN/skills/pr-automation-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/project-discovery/guide.md +2 -2
- package/bundled/locales/zh-CN/skills/reverse-engineer/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/runbook-assistant/guide.md +1 -1
- package/bundled/locales/zh-CN/skills/security-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/skill-builder/SKILL.md +3 -3
- package/bundled/locales/zh-CN/skills/slo-assistant/guide.md +1 -1
- package/bundled/locales/zh-CN/skills/spec-derivation/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/spec-derivation/guide.md +8 -9
- package/bundled/locales/zh-CN/skills/spec-driven-dev/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/sweep/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/tdd-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/testing-guide/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/testing-guide/testing-theory.md +2298 -0
- package/bundled/locales/zh-CN/skills/workflows/README.md +451 -0
- package/bundled/locales/zh-TW/CHANGELOG.md +81 -6
- package/bundled/locales/zh-TW/CLAUDE.md +1 -1
- package/bundled/locales/zh-TW/MAINTENANCE.md +25 -2
- package/bundled/locales/zh-TW/README.md +22 -9
- package/bundled/locales/zh-TW/SECURITY.md +1 -1
- package/bundled/locales/zh-TW/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
- package/bundled/locales/zh-TW/ai/standards/versioning.ai.yaml +8 -48
- package/bundled/locales/zh-TW/core/acceptance-criteria-traceability.md +4 -6
- package/bundled/locales/zh-TW/core/accessibility-standards.md +1 -1
- package/bundled/locales/zh-TW/core/adversarial-test.md +226 -0
- package/bundled/locales/zh-TW/core/agent-behavior-discipline.md +187 -0
- package/bundled/locales/zh-TW/core/ai-response-navigation.md +32 -6
- package/bundled/locales/zh-TW/core/anti-sycophancy-prompting.md +1 -1
- package/bundled/locales/zh-TW/core/api-design-standards.md +91 -9
- package/bundled/locales/zh-TW/core/audit-trail.md +110 -0
- package/bundled/locales/zh-TW/core/behavior-snapshot.md +335 -0
- package/bundled/locales/zh-TW/core/browser-compatibility-standards.md +1 -0
- package/bundled/locales/zh-TW/core/cd-deployment-strategies.md +135 -0
- package/bundled/locales/zh-TW/core/chaos-injection-tests.md +130 -0
- package/bundled/locales/zh-TW/core/checkin-standards.md +1 -1
- package/bundled/locales/zh-TW/core/code-review-checklist.md +1 -1
- package/bundled/locales/zh-TW/core/container-image-standards.md +93 -0
- package/bundled/locales/zh-TW/core/container-security.md +535 -0
- package/bundled/locales/zh-TW/core/cost-budget-test.md +86 -0
- package/bundled/locales/zh-TW/core/cross-flow-regression.md +1 -0
- package/bundled/locales/zh-TW/core/data-contract.md +101 -0
- package/bundled/locales/zh-TW/core/data-migration-testing.md +217 -0
- package/bundled/locales/zh-TW/core/data-pipeline.md +105 -0
- package/bundled/locales/zh-TW/core/deployment-standards.md +363 -25
- package/bundled/locales/zh-TW/core/deprecation-standards.md +17 -4
- package/bundled/locales/zh-TW/core/developer-memory.md +2 -2
- package/bundled/locales/zh-TW/core/disaster-recovery-drill.md +87 -0
- package/bundled/locales/zh-TW/core/documentation-writing-standards.md +1 -1
- package/bundled/locales/zh-TW/core/error-code-standards.md +2 -2
- package/bundled/locales/zh-TW/core/feature-manifest-standard.md +222 -0
- package/bundled/locales/zh-TW/core/flaky-test-management.md +87 -0
- package/bundled/locales/zh-TW/core/flow-based-testing.md +284 -0
- package/bundled/locales/zh-TW/core/forward-derivation-standards.md +3 -4
- package/bundled/locales/zh-TW/core/full-coverage-testing.md +250 -0
- package/bundled/locales/zh-TW/core/git-worktree.md +1 -1
- package/bundled/locales/zh-TW/core/guides/performance-guide.md +515 -0
- package/bundled/locales/zh-TW/core/guides/security-guide.md +494 -0
- package/bundled/locales/zh-TW/core/iac-design-principles.md +90 -0
- package/bundled/locales/zh-TW/core/incident-response.md +111 -0
- package/bundled/locales/zh-TW/core/license-compliance.md +129 -0
- package/bundled/locales/zh-TW/core/llm-output-validation.md +192 -0
- package/bundled/locales/zh-TW/core/logging-standards.md +208 -4
- package/bundled/locales/zh-TW/core/mock-boundary.md +161 -0
- package/bundled/locales/zh-TW/core/model-provenance.md +173 -0
- package/bundled/locales/zh-TW/core/model-selection.md +28 -5
- package/bundled/locales/zh-TW/core/mutation-testing.md +106 -0
- package/bundled/locales/zh-TW/core/no-cicd-deployment.md +219 -0
- package/bundled/locales/zh-TW/core/packaging-standards.md +76 -5
- package/bundled/locales/zh-TW/core/performance-standards.md +84 -5
- package/bundled/locales/zh-TW/core/pii-classification.md +102 -0
- package/bundled/locales/zh-TW/core/pipeline-security-gates.md +126 -0
- package/bundled/locales/zh-TW/core/policy-as-code-testing.md +203 -0
- package/bundled/locales/zh-TW/core/prd-standards.md +88 -0
- package/bundled/locales/zh-TW/core/privacy-standards.md +1 -1
- package/bundled/locales/zh-TW/core/product-metrics-standards.md +96 -0
- package/bundled/locales/zh-TW/core/project-context-memory.md +1 -1
- package/bundled/locales/zh-TW/core/prompt-regression.md +88 -0
- package/bundled/locales/zh-TW/core/property-based-testing.md +87 -0
- package/bundled/locales/zh-TW/core/refactoring-standards.md +43 -6
- package/bundled/locales/zh-TW/core/release-quality-manifest.md +207 -0
- package/bundled/locales/zh-TW/core/replay-test.md +102 -0
- package/bundled/locales/zh-TW/core/resource-cost-boundary.md +175 -0
- package/bundled/locales/zh-TW/core/reverse-engineering-standards.md +64 -5
- package/bundled/locales/zh-TW/core/rollback-standards.md +120 -0
- package/bundled/locales/zh-TW/core/runbook.md +110 -0
- package/bundled/locales/zh-TW/core/sast-advanced.md +309 -0
- package/bundled/locales/zh-TW/core/schema-evolution.md +98 -0
- package/bundled/locales/zh-TW/core/secret-management-standards.md +101 -0
- package/bundled/locales/zh-TW/core/secure-op.md +328 -0
- package/bundled/locales/zh-TW/core/security-testing.md +96 -0
- package/bundled/locales/zh-TW/core/self-review-protocol.md +2 -2
- package/bundled/locales/zh-TW/core/server-ops-security.md +507 -0
- package/bundled/locales/zh-TW/core/slo-sli.md +108 -0
- package/bundled/locales/zh-TW/core/smoke-test.md +79 -0
- package/bundled/locales/zh-TW/core/spec-driven-development.md +39 -13
- package/bundled/locales/zh-TW/core/supply-chain-attestation.md +131 -0
- package/bundled/locales/zh-TW/core/user-journey-testing.md +111 -0
- package/bundled/locales/zh-TW/core/user-story-mapping.md +94 -0
- package/bundled/locales/zh-TW/core/verification-oracle.md +159 -0
- package/bundled/locales/zh-TW/core/versioning.md +112 -112
- package/bundled/locales/zh-TW/docs/CHEATSHEET.md +31 -6
- package/bundled/locales/zh-TW/docs/DEV-WORKFLOW-MAPPING.md +6 -6
- package/bundled/locales/zh-TW/docs/FEATURE-REFERENCE.md +61 -34
- package/bundled/locales/zh-TW/docs/MIGRATION-v6.md +88 -0
- package/bundled/locales/zh-TW/docs/USAGE-MODES-COMPARISON.md +2 -2
- package/bundled/locales/zh-TW/docs/USER-MANUAL.md +14 -14
- package/bundled/locales/zh-TW/docs/specs/system/memory-adoption-strategy.md +105 -0
- package/bundled/locales/zh-TW/docs/user/FAQ.md +132 -0
- package/bundled/locales/zh-TW/docs/user/GETTING-STARTED.md +144 -0
- package/bundled/locales/zh-TW/docs/user/GLOSSARY.md +178 -0
- package/bundled/locales/zh-TW/docs/user/README.md +70 -0
- package/bundled/locales/zh-TW/docs/user/TROUBLESHOOTING.md +190 -0
- package/bundled/locales/zh-TW/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
- package/bundled/locales/zh-TW/integrations/github-copilot/README.md +1 -1
- package/bundled/locales/zh-TW/integrations/github-copilot/skills-mapping.md +3 -3
- package/bundled/locales/zh-TW/integrations/opencode/skills-mapping.md +3 -3
- package/bundled/locales/zh-TW/methodologies/guides/sdd-guide.md +523 -26
- package/bundled/locales/zh-TW/options/changelog/auto-generated.md +166 -0
- package/bundled/locales/zh-TW/options/changelog/keep-a-changelog.md +140 -0
- package/bundled/locales/zh-TW/options/code-review/automated-review.md +214 -0
- package/bundled/locales/zh-TW/options/code-review/pair-programming.md +166 -0
- package/bundled/locales/zh-TW/options/code-review/pr-review.md +167 -0
- package/bundled/locales/zh-TW/options/documentation/api-docs.md +191 -0
- package/bundled/locales/zh-TW/options/documentation/markdown-docs.md +150 -0
- package/bundled/locales/zh-TW/options/documentation/wiki-style.md +131 -0
- package/bundled/locales/zh-TW/options/project-structure/kotlin.md +144 -0
- package/bundled/locales/zh-TW/options/project-structure/php.md +168 -0
- package/bundled/locales/zh-TW/options/project-structure/ruby.md +156 -0
- package/bundled/locales/zh-TW/options/project-structure/rust.md +136 -0
- package/bundled/locales/zh-TW/options/project-structure/swift.md +165 -0
- package/bundled/locales/zh-TW/options/testing/contract-testing.md +237 -0
- package/bundled/locales/zh-TW/options/testing/industry-pyramid.md +200 -0
- package/bundled/locales/zh-TW/options/testing/istqb-framework.md +144 -0
- package/bundled/locales/zh-TW/options/testing/performance-testing.md +251 -0
- package/bundled/locales/zh-TW/options/testing/security-testing.md +192 -0
- package/bundled/locales/zh-TW/skills/README.md +91 -128
- package/bundled/locales/zh-TW/skills/ac-coverage/SKILL.md +4 -6
- package/bundled/locales/zh-TW/skills/adr-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/agents/code-architect.md +263 -0
- package/bundled/locales/zh-TW/skills/agents/doc-writer.md +410 -0
- package/bundled/locales/zh-TW/skills/agents/reviewer.md +357 -0
- package/bundled/locales/zh-TW/skills/agents/spec-analyst.md +410 -0
- package/bundled/locales/zh-TW/skills/agents/test-specialist.md +368 -0
- package/bundled/locales/zh-TW/skills/ai-collaboration-standards/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/ai-friendly-architecture/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/ai-instruction-standards/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/atdd-assistant/SKILL.md +2 -0
- package/bundled/locales/zh-TW/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
- package/bundled/locales/zh-TW/skills/atdd-assistant/atdd-workflow.md +3 -4
- package/bundled/locales/zh-TW/skills/audit-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/bdd-assistant/SKILL.md +2 -0
- package/bundled/locales/zh-TW/skills/bdd-assistant/guide.md +1 -2
- package/bundled/locales/zh-TW/skills/brainstorm-assistant/SKILL.md +110 -14
- package/bundled/locales/zh-TW/skills/brainstorm-assistant/guide.md +31 -7
- package/bundled/locales/zh-TW/skills/checkin-assistant/SKILL.md +3 -1
- package/bundled/locales/zh-TW/skills/ci-cd-assistant/SKILL.md +50 -0
- package/bundled/locales/zh-TW/skills/code-review-assistant/SKILL.md +7 -5
- package/bundled/locales/zh-TW/skills/commands/ac-coverage.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/atdd.md +3 -3
- package/bundled/locales/zh-TW/skills/commands/bdd.md +2 -2
- package/bundled/locales/zh-TW/skills/commands/brainstorm.md +26 -17
- package/bundled/locales/zh-TW/skills/commands/{review.md → code-review.md} +5 -5
- package/bundled/locales/zh-TW/skills/commands/derive-all.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/derive-atdd.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/derive-bdd.md +2 -3
- package/bundled/locales/zh-TW/skills/commands/derive-tdd.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/derive.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/dev-workflow.md +2 -2
- package/bundled/locales/zh-TW/skills/commands/methodology.md +4 -4
- package/bundled/locales/zh-TW/skills/commands/pr.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/tdd.md +1 -1
- package/bundled/locales/zh-TW/skills/commit-standards/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/contract-test-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/dev-methodology/create-methodology.md +456 -0
- package/bundled/locales/zh-TW/skills/dev-methodology/guide.md +5 -5
- package/bundled/locales/zh-TW/skills/dev-methodology/runtime.md +296 -0
- package/bundled/locales/zh-TW/skills/dev-workflow-guide/SKILL.md +5 -5
- package/bundled/locales/zh-TW/skills/docs-generator/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/e2e-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/incident-response-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/logging-guide/SKILL.md +29 -27
- package/bundled/locales/zh-TW/skills/migration-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/pr-automation-assistant/SKILL.md +3 -1
- package/bundled/locales/zh-TW/skills/project-discovery/guide.md +2 -2
- package/bundled/locales/zh-TW/skills/reverse-engineer/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/security-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/spec-derivation/guide.md +7 -8
- package/bundled/locales/zh-TW/skills/spec-driven-dev/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/sweep/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/tdd-assistant/SKILL.md +3 -1
- package/bundled/locales/zh-TW/skills/testing-guide/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/testing-guide/testing-theory.md +2298 -0
- package/bundled/locales/zh-TW/skills/workflows/README.md +451 -0
- package/bundled/skills/README.md +1 -1
- package/bundled/skills/ac-coverage/SKILL.md +17 -7
- package/bundled/skills/adr-assistant/SKILL.md +1 -1
- package/bundled/skills/agents/code-architect.md +1 -1
- package/bundled/skills/agents/doc-writer.md +1 -1
- package/bundled/skills/agents/reviewer.md +2 -2
- package/bundled/skills/agents/spec-analyst.md +1 -1
- package/bundled/skills/agents/test-specialist.md +1 -1
- package/bundled/skills/ai-collaboration-standards/SKILL.md +2 -2
- package/bundled/skills/ai-friendly-architecture/SKILL.md +2 -2
- package/bundled/skills/ai-instruction-standards/SKILL.md +1 -1
- package/bundled/skills/atdd-assistant/SKILL.md +7 -0
- package/bundled/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
- package/bundled/skills/atdd-assistant/atdd-workflow.md +6 -8
- package/bundled/skills/audit-assistant/SKILL.md +2 -2
- package/bundled/skills/bdd-assistant/SKILL.md +7 -0
- package/bundled/skills/bdd-assistant/guide.md +1 -2
- package/bundled/skills/brainstorm-assistant/SKILL.md +133 -11
- package/bundled/skills/brainstorm-assistant/guide.md +33 -5
- package/bundled/skills/checkin-assistant/SKILL.md +8 -1
- package/bundled/skills/ci-cd-assistant/SKILL.md +57 -0
- package/bundled/skills/code-review-assistant/SKILL.md +15 -8
- package/bundled/skills/commands/COMMAND-FAMILY-OVERVIEW.md +2 -2
- package/bundled/skills/commands/COMMAND-INDEX.json +3 -3
- package/bundled/skills/commands/README.md +2 -2
- package/bundled/skills/commands/ac-coverage.md +1 -1
- package/bundled/skills/commands/atdd.md +2 -2
- package/bundled/skills/commands/bdd.md +2 -2
- package/bundled/skills/commands/brainstorm.md +25 -14
- package/bundled/skills/commands/{review.md → code-review.md} +6 -6
- package/bundled/skills/commands/derive-all.md +1 -1
- package/bundled/skills/commands/derive-atdd.md +1 -1
- package/bundled/skills/commands/derive-bdd.md +2 -3
- package/bundled/skills/commands/derive-tdd.md +1 -1
- package/bundled/skills/commands/derive.md +1 -1
- package/bundled/skills/commands/dev-workflow.md +1 -1
- package/bundled/skills/commands/journey-test.md +45 -0
- package/bundled/skills/commands/methodology.md +4 -4
- package/bundled/skills/commands/pr.md +1 -1
- package/bundled/skills/commands/skill-builder.md +42 -0
- package/bundled/skills/commands/tdd.md +1 -1
- package/bundled/skills/dev-methodology/create-methodology.md +1 -1
- package/bundled/skills/dev-methodology/guide.md +1 -1
- package/bundled/skills/dev-methodology/runtime.md +1 -1
- package/bundled/skills/dev-workflow-guide/SKILL.md +3 -3
- package/bundled/skills/dev-workflow-guide/workflow-phases.md +3 -3
- package/bundled/skills/docs-generator/SKILL.md +3 -3
- package/bundled/skills/incident-response-assistant/SKILL.md +2 -2
- package/bundled/skills/logging-guide/SKILL.md +38 -2
- package/bundled/skills/migration-assistant/SKILL.md +226 -0
- package/bundled/skills/observability-assistant/SKILL.md +74 -0
- package/bundled/skills/pr-automation-assistant/SKILL.md +5 -1
- package/bundled/skills/project-discovery/guide.md +2 -2
- package/bundled/skills/push/SKILL.md +1 -1
- package/bundled/skills/release-standards/SKILL.md +19 -5
- package/bundled/skills/security-assistant/SKILL.md +1 -1
- package/bundled/skills/skill-builder/SKILL.md +1 -1
- package/bundled/skills/spec-derivation/guide.md +3 -4
- package/bundled/skills/spec-driven-dev/SKILL.md +27 -0
- package/bundled/skills/sweep/SKILL.md +1 -1
- package/bundled/skills/tdd-assistant/SKILL.md +8 -1
- package/bundled/skills/testing-guide/SKILL.md +1 -1
- package/bundled/skills/testing-guide/testing-theory.md +1 -1
- package/bundled/skills/workflows/README.md +2 -2
- package/package.json +3 -3
- package/src/commands/audit.js +30 -9
- package/src/commands/config.js +33 -2
- package/src/commands/hitl.js +14 -1
- package/src/commands/init.js +110 -58
- package/src/commands/quickstart.js +1 -2
- package/src/commands/release.js +51 -6
- package/src/commands/run-intent.js +9 -0
- package/src/commands/spec-split.js +27 -2
- package/src/commands/update.js +22 -6
- package/src/config/ai-agent-paths.js +3 -1
- package/src/i18n/messages.js +3 -102
- package/src/missions/MissionManager.js +44 -12
- package/src/utils/build-manifest.js +35 -3
- package/src/utils/friction-detector.js +71 -22
- package/src/utils/health-checker.js +29 -2
- package/src/utils/transaction.js +111 -0
- package/src/utils/version-promote.js +16 -0
- package/standards-registry.json +58 -146
- package/bundled/ai/standards/agent-communication-protocol.ai.yaml +0 -42
- package/bundled/ai/standards/agent-dispatch.ai.yaml +0 -42
- package/bundled/ai/standards/branch-completion.ai.yaml +0 -44
- package/bundled/ai/standards/change-batching-standards.ai.yaml +0 -44
- package/bundled/ai/standards/execution-history.ai.yaml +0 -42
- package/bundled/ai/standards/pipeline-integration-standards.ai.yaml +0 -42
- package/bundled/ai/standards/workflow-enforcement.ai.yaml +0 -44
- package/bundled/ai/standards/workflow-state-protocol.ai.yaml +0 -43
- package/src/commands/flow.js +0 -260
- package/src/commands/start.js +0 -372
- package/src/commands/sweep.js +0 -151
- package/src/commands/workflow.js +0 -681
|
@@ -46,7 +46,7 @@ These standards are fundamental to every AI interaction and must always be loade
|
|
|
46
46
|
|--------|-----------|---------------------|
|
|
47
47
|
| `testing` | testing, unit-testing, integration-testing, test-completeness-dimensions, tdd, bdd, atdd | Writing tests, test file edits, "test coverage" discussion |
|
|
48
48
|
| `specification` | spec-driven-development, forward-derivation, reverse-engineering, requirement-engineering | `/sdd`, `/spec` commands, spec file edits |
|
|
49
|
-
| `quality` | code-review, refactoring, security, performance, accessibility | `/review` command, PR review, "refactor" discussion |
|
|
49
|
+
| `quality` | code-review, refactoring, security, performance, accessibility | `/code-review` command, PR review, "refactor" discussion |
|
|
50
50
|
| `documentation` | documentation-structure, documentation-writing, ai-instruction, changelog | Writing docs, README/CHANGELOG edits |
|
|
51
51
|
| `workflow` | git-workflow, github-flow, squash-merge, versioning, deployment | Branch operations, release preparation, merging |
|
|
52
52
|
| `architecture` | ai-friendly-architecture, project-structure, error-codes, logging | Architecture decisions, project setup |
|
|
@@ -62,7 +62,7 @@ Session Start
|
|
|
62
62
|
├─ Load all always-on standards
|
|
63
63
|
├─ Scan user request for trigger keywords
|
|
64
64
|
├─ Match file patterns if user is editing files
|
|
65
|
-
├─ Detect slash commands (/sdd, /review, etc.)
|
|
65
|
+
├─ Detect slash commands (/sdd, /code-review, etc.)
|
|
66
66
|
└─ Load matching on-demand standards
|
|
67
67
|
```
|
|
68
68
|
|
|
@@ -65,7 +65,7 @@ describe("PipelineBudgetConfig semantics", () => {
|
|
|
65
65
|
## Related Standards
|
|
66
66
|
|
|
67
67
|
- [Mutation Testing Standards](mutation-testing.md) — constants without test coverage survive mutations
|
|
68
|
-
- [Testing Standards](testing.md) — overall test pyramid
|
|
68
|
+
- [Testing Standards](testing-standards.md) — overall test pyramid
|
|
69
69
|
- [LLM Output Validation](llm-output-validation.md) — output-layer budget constraints
|
|
70
70
|
|
|
71
71
|
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
> **Language**: English | [繁體中文](../locales/zh-TW/core/cross-flow-regression.md)
|
|
4
4
|
|
|
5
|
-
**Version**: 1.0.
|
|
6
|
-
**Last Updated**: 2026-
|
|
5
|
+
**Version**: 1.0.1
|
|
6
|
+
**Last Updated**: 2026-06-18
|
|
7
7
|
**Applicability**: All software projects with multiple user flows or business processes
|
|
8
8
|
**Scope**: universal
|
|
9
|
+
**Owning Spec**: XSPEC-294 (complements flow-based-testing; non-overlapping)
|
|
9
10
|
**Industry Standards**: ISTQB Advanced Test Analyst (Regression Test Strategy)
|
|
10
11
|
**References**: `core/flow-based-testing.md`, `core/testing-standards.md`
|
|
11
12
|
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
# Data Contract Standards
|
|
2
|
+
|
|
3
|
+
> **Version**: 1.0.0 | **Status**: Active | **Updated**: 2026-06-17
|
|
4
|
+
> **AI-optimized version**: `ai/standards/data-contract.ai.yaml`
|
|
5
|
+
> **Spec**: XSPEC-068 (cross-project/specs/XSPEC-068-uds-data-engineering-pack.md)
|
|
6
|
+
|
|
7
|
+
**Scope**: universal
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
This standard defines how **data contracts** are established, versioned, and
|
|
12
|
+
enforced between data producers and consumers. A data contract is a formal
|
|
13
|
+
agreement specifying the schema, quality guarantees, SLAs, and ownership of a
|
|
14
|
+
dataset or stream. It covers the contract specification format, freshness and
|
|
15
|
+
quality SLOs, breaking-change governance, consumer registration/notification, and
|
|
16
|
+
automated contract testing. It reduces pipeline failures caused by undiscovered
|
|
17
|
+
upstream changes.
|
|
18
|
+
|
|
19
|
+
It is part of the **data-engineering pack** (XSPEC-068) and is the **anchor
|
|
20
|
+
standard** for the existing `contract-test-assistant` skill (data-side contracts).
|
|
21
|
+
|
|
22
|
+
> **Scope.** This standard defines the *contract artifact* (format, SLOs,
|
|
23
|
+
> governance, registration). The concrete data-quality engine (Great
|
|
24
|
+
> Expectations) and catalog (DataHub/Amundsen) are adoption choices.
|
|
25
|
+
|
|
26
|
+
## Requirements
|
|
27
|
+
|
|
28
|
+
| ID | Rule | Level |
|
|
29
|
+
|----|------|-------|
|
|
30
|
+
| REQ-001 | Data-contract specification format | MUST |
|
|
31
|
+
| REQ-002 | Data-quality SLOs | MUST |
|
|
32
|
+
| REQ-003 | Contract versioning and breaking-change governance | MUST |
|
|
33
|
+
| REQ-004 | Automated contract testing | MUST |
|
|
34
|
+
| REQ-005 | Consumer registration and notification | MUST |
|
|
35
|
+
| REQ-006 | Contract discoverability | SHOULD |
|
|
36
|
+
|
|
37
|
+
### REQ-001 — Data Contract Specification Format
|
|
38
|
+
|
|
39
|
+
Every shared dataset or stream MUST have a data contract in a machine-readable
|
|
40
|
+
YAML file (`data-contract.yaml`) committed alongside the producer code. The
|
|
41
|
+
contract MUST include: `contract_id`, `version`, `owner` (team + contact),
|
|
42
|
+
description, `schema` (field names, types, nullability), `data_quality` SLOs
|
|
43
|
+
(completeness, freshness, uniqueness), `sla` (delivery time), and the consumer
|
|
44
|
+
list.
|
|
45
|
+
|
|
46
|
+
### REQ-002 — Data Quality SLOs
|
|
47
|
+
|
|
48
|
+
Every contract MUST define explicit data-quality SLOs across these dimensions:
|
|
49
|
+
**completeness** (% non-null for required fields ≥ threshold), **freshness** (data
|
|
50
|
+
updated within N minutes/hours of source), **uniqueness** (% distinct for key
|
|
51
|
+
fields), and **validity** (% conforming to defined format/range). Quality SLO
|
|
52
|
+
violations MUST trigger alerts to both producer and registered consumers.
|
|
53
|
+
|
|
54
|
+
### REQ-003 — Contract Versioning and Breaking-Change Governance
|
|
55
|
+
|
|
56
|
+
Contracts MUST use semantic versioning. **PATCH** (backward-compatible additions,
|
|
57
|
+
docs) requires only producer approval. **MINOR** (new optional fields, relaxed
|
|
58
|
+
constraints) requires consumer notification with 7-day notice. **MAJOR** (field
|
|
59
|
+
removal, type/semantic changes) requires consumer approval and MUST NOT deploy
|
|
60
|
+
until all registered consumers confirm readiness.
|
|
61
|
+
|
|
62
|
+
### REQ-004 — Automated Contract Testing
|
|
63
|
+
|
|
64
|
+
Contract compliance MUST be verified automatically. Producers MUST run contract
|
|
65
|
+
tests on every pipeline execution, validating output against the declared schema
|
|
66
|
+
and quality SLOs: schema conformance (no unexpected nulls, correct types),
|
|
67
|
+
freshness within the SLO window, uniqueness of key fields, and row count within
|
|
68
|
+
range. Contract test failures MUST halt the pipeline and page the data owner.
|
|
69
|
+
|
|
70
|
+
### REQ-005 — Consumer Registration and Notification
|
|
71
|
+
|
|
72
|
+
Teams consuming a shared dataset MUST register as consumers in the producer's
|
|
73
|
+
`data-contract.yaml`, including team name, contact, use-case description, and
|
|
74
|
+
fields consumed. Registered consumers MUST receive automated notifications when:
|
|
75
|
+
the contract is modified, quality SLOs are breached, the dataset is deprecated, or
|
|
76
|
+
planned maintenance affects availability.
|
|
77
|
+
|
|
78
|
+
### REQ-006 — Contract Discoverability
|
|
79
|
+
|
|
80
|
+
All data contracts SHOULD be discoverable through a central data catalog providing:
|
|
81
|
+
a searchable index by team/domain, current health status (SLO compliance), schema
|
|
82
|
+
browsing, lineage visualization (which pipelines produce/consume each dataset), and
|
|
83
|
+
a self-service consumer-registration workflow.
|
|
84
|
+
|
|
85
|
+
## Integration with Existing Standards
|
|
86
|
+
|
|
87
|
+
- **`contract-test-assistant` (skill)** — this standard is its data-side anchor;
|
|
88
|
+
the skill's data-contract guidance references these requirements.
|
|
89
|
+
- **`data-pipeline`** — pipelines run contract tests (REQ-004) on every execution.
|
|
90
|
+
- **`schema-evolution`** — MAJOR contract versions correspond to breaking schema
|
|
91
|
+
changes governed by expand-contract.
|
|
92
|
+
- **`audit-trail` / `pii-classification`** — contract retention and field-level
|
|
93
|
+
sensitivity align with the compliance pack (XSPEC-066).
|
|
94
|
+
|
|
95
|
+
## Related Specs
|
|
96
|
+
|
|
97
|
+
- XSPEC-068 — UDS data-engineering pack (this standard's source)
|
|
98
|
+
- XSPEC-066 — Compliance & audit pack (retention, PII tiering)
|
|
99
|
+
|
|
100
|
+
## Changelog
|
|
101
|
+
|
|
102
|
+
| Version | Date | Changes |
|
|
103
|
+
|---------|------|---------|
|
|
104
|
+
| v1.0.0 | 2026-06-17 | Initial — REQ-001~006: spec format, quality SLOs, versioning/governance, automated testing, consumer registration, discoverability (XSPEC-068) |
|
|
@@ -13,6 +13,8 @@ Database schema migrations are high-risk operations: they transform persistent d
|
|
|
13
13
|
| REQ-DMT-003 | Applying the same migration twice must not fail | CI retries can trigger double-apply |
|
|
14
14
|
| REQ-DMT-004 | Migrations that alter data must include a data preservation test | Schema correctness ≠ data correctness |
|
|
15
15
|
| REQ-DMT-005 | Each test must use an isolated database | Shared state causes non-deterministic failures |
|
|
16
|
+
| REQ-DMT-006 | Migrations that cross encodings or DB engines must include a byte-level encoding conversion test | "Looks equal" hides codepoint/normalization/collation corruption |
|
|
17
|
+
| REQ-DMT-007 | Migrations of business-critical data must include an aggregate invariant test | Row-by-row sampling misses distribution-level drift |
|
|
16
18
|
|
|
17
19
|
## Test Structure
|
|
18
20
|
|
|
@@ -78,6 +80,91 @@ it('preserves existing user rows', async () => {
|
|
|
78
80
|
})
|
|
79
81
|
```
|
|
80
82
|
|
|
83
|
+
### Encoding Conversion Test
|
|
84
|
+
|
|
85
|
+
Schema-level and row-level tests both pass when a string "looks equal" on screen — yet the underlying bytes can be silently corrupted by a cross-encoding or cross-engine move (UTF-8 → UTF-16/`NVARCHAR`, `VARCHAR` → `NVARCHAR`, an implicit collation change). A migration that crosses encodings or DB engines MUST assert equality at the **byte / codepoint / normalization** level, not the display level.
|
|
86
|
+
|
|
87
|
+
What to assert:
|
|
88
|
+
|
|
89
|
+
- **Byte / codepoint identity** — the migrated value has the same Unicode codepoints (and, where the target stores UTF-16, the expected unit count), not just the same rendered glyphs.
|
|
90
|
+
- **Normalization form** — NFC vs NFD: `"é"` (U+00E9) and `"e"+◌́` (U+0065 U+0301) render identically but are different byte sequences; assert the form is preserved (or deliberately normalized).
|
|
91
|
+
- **Multi-byte boundaries** — values truncated to a *character* limit on the source must not be truncated to a *byte* limit on the target (a 4-byte emoji must survive a `NVARCHAR(n)` column).
|
|
92
|
+
- **CJK / emoji / combining marks** — exercise supplementary-plane codepoints (emoji, rare CJK) and combining sequences explicitly; these are where surrogate-pair and collation-folding bugs hide.
|
|
93
|
+
|
|
94
|
+
```typescript
|
|
95
|
+
it('preserves bytes across UTF-8 -> target encoding (no display-only equality)', async () => {
|
|
96
|
+
// Mix BMP CJK, a supplementary-plane emoji, and an NFD combining sequence
|
|
97
|
+
const samples = [
|
|
98
|
+
'繁體中文', // CJK (BMP)
|
|
99
|
+
'😀 family 👨👩👧', // emoji incl. ZWJ sequence (supplementary plane)
|
|
100
|
+
'é' // NFD: 'e' + combining acute (renders like 'é')
|
|
101
|
+
]
|
|
102
|
+
samples.forEach((s, i) =>
|
|
103
|
+
db.prepare('INSERT INTO notes (id, body) VALUES (?, ?)').run(i, s))
|
|
104
|
+
|
|
105
|
+
await migrate.up(db)
|
|
106
|
+
|
|
107
|
+
samples.forEach((expected, i) => {
|
|
108
|
+
const row = db.prepare('SELECT body FROM notes WHERE id = ?').get(i) as { body: string }
|
|
109
|
+
// ❌ Anti-pattern: expect(row.body).toBe(expected) // passes even on partial corruption if both render the same
|
|
110
|
+
// ✅ Assert at the byte and codepoint level:
|
|
111
|
+
expect(Buffer.from(row.body, 'utf8')).toEqual(Buffer.from(expected, 'utf8'))
|
|
112
|
+
expect([...row.body]).toEqual([...expected]) // codepoint-by-codepoint
|
|
113
|
+
expect(row.body.normalize('NFC')).toBe(expected.normalize('NFC')) // explicit normalization intent
|
|
114
|
+
})
|
|
115
|
+
})
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
> **Anti-pattern**: asserting only `expect(actual).toBe(expected)` on the decoded string. Two different byte/normalization sequences can decode to glyphs that *look* identical, so a display-level assertion passes while the stored bytes (and any downstream `LIKE`/unique-key/collation behavior) are corrupted.
|
|
119
|
+
|
|
120
|
+
### Aggregate Invariant Test
|
|
121
|
+
|
|
122
|
+
Row sampling proves individual rows survived; it does **not** prove the *distribution* survived. Seed a representative dataset, capture aggregate invariants over business-critical columns **before** the migration, and assert they are unchanged **after**. This is the same oracle used for post-cutover production reconciliation (aggregate equality across the cutover boundary), run here at migration-test time.
|
|
123
|
+
|
|
124
|
+
Invariants to capture: `COUNT(*)`, `SUM(money_column)`, `COUNT(DISTINCT key)`, and a content `checksum` (e.g. summed hash) grouped by a business dimension such as status or period.
|
|
125
|
+
|
|
126
|
+
```typescript
|
|
127
|
+
it('preserves aggregate invariants over financial data', async () => {
|
|
128
|
+
seedRepresentativeOrders(db) // statuses, amounts, currencies
|
|
129
|
+
|
|
130
|
+
const invariantQuery = `
|
|
131
|
+
SELECT status,
|
|
132
|
+
COUNT(*) AS cnt,
|
|
133
|
+
SUM(amount_cents) AS total_cents,
|
|
134
|
+
COUNT(DISTINCT customer_id) AS distinct_customers
|
|
135
|
+
FROM orders
|
|
136
|
+
GROUP BY status
|
|
137
|
+
ORDER BY status`
|
|
138
|
+
const before = db.prepare(invariantQuery).all()
|
|
139
|
+
|
|
140
|
+
await migrate.up(db)
|
|
141
|
+
|
|
142
|
+
const after = db.prepare(invariantQuery).all()
|
|
143
|
+
// Distribution must be identical — not just "some rows still exist"
|
|
144
|
+
expect(after).toEqual(before)
|
|
145
|
+
})
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
> Because aggregates collapse the whole table into a few numbers, a single mismatched `SUM`/`COUNT` flags drift that row-by-row sampling — which only inspects the rows you happened to pick — would miss entirely.
|
|
149
|
+
|
|
150
|
+
## Cross-Dialect Migration: SQLite → SQL Server Risk Table
|
|
151
|
+
|
|
152
|
+
When a migration also changes the database engine (not just the schema), the source and target dialects disagree on type semantics, comparison, and ordering. Each disagreement below is a place where data can silently change meaning, and is a derive-list input for the encoding and aggregate tests above (and for the non-HTTP implicit-rule scan in reverse-engineering-standards.md).
|
|
153
|
+
|
|
154
|
+
| Risk point | SQLite | SQL Server | What the migration must verify |
|
|
155
|
+
|---|---|---|---|
|
|
156
|
+
| **Type system** | Dynamic typing (per-value type affinity) | Static / strong typing | Declare a type per column; scan for out-of-range / mixed-type values that SQLite tolerated |
|
|
157
|
+
| **Boolean** | Usually stored as `0/1` integer | `BIT` | `0/1` ↔ `BIT` mapping; handling of NULL booleans |
|
|
158
|
+
| **Date / time** | Often stored as `TEXT` / `REAL` / `INTEGER` | `datetime2` / `datetimeoffset` | Format parse, time-zone handling, precision truncation |
|
|
159
|
+
| **Auto-increment PK** | `AUTOINCREMENT` | `IDENTITY` | Continuity of existing ids; correct seed/reseed value |
|
|
160
|
+
| **Case / collation** | `LIKE` case-insensitive by default; `NOCASE` | Determined by column collation | Align collation; check for unique-key folding collisions |
|
|
161
|
+
| **NULL ordering** | NULLs sort first (smallest) | Depends on configuration | `ORDER BY` result-order invariant across engines |
|
|
162
|
+
| **Float precision** | `REAL` | `float` / `decimal` | Move money/exact values to `decimal` to avoid rounding error |
|
|
163
|
+
| **String concat** | `\|\|` | `+` / `CONCAT` | Rewrite queries; reconcile NULL-concatenation semantics |
|
|
164
|
+
| **Pagination** | `LIMIT` / `OFFSET` | `OFFSET .. FETCH` / `TOP` | Rewrite + guarantee a stable sort key for deterministic pages |
|
|
165
|
+
|
|
166
|
+
> Each "query rewrite / semantics differs" cell may also hide an **implicit business rule** — feed this table into the Implicit Rule Scan stage of reverse engineering.
|
|
167
|
+
|
|
81
168
|
## Tooling
|
|
82
169
|
|
|
83
170
|
### SQLite / Drizzle ORM
|
|
@@ -102,12 +189,15 @@ Use `testcontainers` to spin up a fresh PostgreSQL container per test suite. The
|
|
|
102
189
|
- **Skipping down migration tests** — rollbacks fail during production incidents
|
|
103
190
|
- **Writing migration tests after the fact without seeding data** — misses data preservation bugs entirely
|
|
104
191
|
- **Committing a migration without a corresponding test** — the migration is untested until production
|
|
192
|
+
- **Asserting string equality only on the decoded value** — display-level equality passes even when bytes, normalization form, or codepoints were corrupted across an encoding/engine change
|
|
193
|
+
- **Validating a cross-engine migration with row sampling alone** — distribution-level drift (a wrong `SUM`/`COUNT`/`DISTINCT`) escapes any sample that happens to miss the affected rows
|
|
105
194
|
|
|
106
195
|
## See Also
|
|
107
196
|
|
|
108
197
|
- `database-standards.ai.yaml` — schema design principles
|
|
109
198
|
- `testing.ai.yaml` — general test structure and pyramid
|
|
110
199
|
- `verification-evidence.ai.yaml` — audit evidence requirements
|
|
200
|
+
- `behavior-snapshot.ai.yaml` — same "don't compare what merely *looks* equal" principle, applied at the oracle/serialization layer rather than the DB storage layer
|
|
111
201
|
|
|
112
202
|
|
|
113
203
|
**Scope**: universal
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# Data Pipeline Standards
|
|
2
|
+
|
|
3
|
+
> **Version**: 1.0.0 | **Status**: Active | **Updated**: 2026-06-17
|
|
4
|
+
> **AI-optimized version**: `ai/standards/data-pipeline.ai.yaml`
|
|
5
|
+
> **Spec**: XSPEC-068 (cross-project/specs/XSPEC-068-uds-data-engineering-pack.md)
|
|
6
|
+
|
|
7
|
+
**Scope**: universal
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
This standard defines engineering requirements for building **reliable,
|
|
12
|
+
observable, and maintainable data pipelines**. It covers idempotency and
|
|
13
|
+
exactly-once semantics, error handling and dead-letter queues, checkpoint and
|
|
14
|
+
recovery, data-lineage tracking, pipeline observability and SLOs, and testing
|
|
15
|
+
requirements. It applies to batch ETL, streaming pipelines, and ML feature
|
|
16
|
+
pipelines.
|
|
17
|
+
|
|
18
|
+
It is part of the **data-engineering pack** (XSPEC-068). It extends
|
|
19
|
+
`database-standards` (which covers static DB schema) into the movement and
|
|
20
|
+
transformation of data, and reuses the reliability and observability primitives
|
|
21
|
+
of the SRE family (`observability-standards`, `slo-sli`).
|
|
22
|
+
|
|
23
|
+
> **Scope.** This standard defines the *pipeline design principles* (idempotency,
|
|
24
|
+
> error handling, recovery, lineage, observability, testing). The concrete
|
|
25
|
+
> orchestrator (Airflow/Dagster), lineage store (Marquez/DataHub), and DLQ
|
|
26
|
+
> transport are adoption choices.
|
|
27
|
+
|
|
28
|
+
## Requirements
|
|
29
|
+
|
|
30
|
+
| ID | Rule | Level |
|
|
31
|
+
|----|------|-------|
|
|
32
|
+
| REQ-001 | Idempotency and exactly-once processing | MUST |
|
|
33
|
+
| REQ-002 | Error handling and dead-letter queues | MUST |
|
|
34
|
+
| REQ-003 | Checkpoint and recovery | MUST |
|
|
35
|
+
| REQ-004 | Data-lineage tracking | MUST |
|
|
36
|
+
| REQ-005 | Pipeline observability and SLOs | MUST |
|
|
37
|
+
| REQ-006 | Pipeline testing requirements | MUST |
|
|
38
|
+
|
|
39
|
+
### REQ-001 — Idempotency and Exactly-Once Processing
|
|
40
|
+
|
|
41
|
+
Every pipeline MUST be designed for **idempotent** execution: re-running the same
|
|
42
|
+
pipeline for the same time window or batch MUST produce identical output without
|
|
43
|
+
duplication or data loss. Pipelines MUST use deterministic keys for
|
|
44
|
+
deduplication. Batch pipelines MUST support clean re-processing of historical
|
|
45
|
+
partitions. Streaming pipelines MUST implement exactly-once, or at-least-once with
|
|
46
|
+
deduplication using unique event IDs. For batch jobs, overwriting output
|
|
47
|
+
partitions is preferred over appending.
|
|
48
|
+
|
|
49
|
+
### REQ-002 — Error Handling and Dead-Letter Queues
|
|
50
|
+
|
|
51
|
+
Pipelines MUST implement structured error handling with categorized failure modes.
|
|
52
|
+
**Transient** errors (network timeout, API rate limit) MUST use exponential
|
|
53
|
+
backoff retry (max 3 attempts). **Permanent** errors (schema violation, invalid
|
|
54
|
+
data) MUST route records to a Dead-Letter Queue (DLQ) carrying the original
|
|
55
|
+
record, error type, error message, and processing timestamp. DLQ records MUST be
|
|
56
|
+
monitored and addressed within the pipeline's SLA.
|
|
57
|
+
|
|
58
|
+
### REQ-003 — Checkpoint and Recovery
|
|
59
|
+
|
|
60
|
+
Long-running batch pipelines and stateful streaming pipelines MUST implement
|
|
61
|
+
**checkpointing** to recover from mid-run failures without full reprocessing.
|
|
62
|
+
Checkpoints MUST record the last successfully processed partition/offset/watermark,
|
|
63
|
+
the job run ID, and a timestamp. Recovery MUST resume from the last checkpoint,
|
|
64
|
+
not from the beginning. Checkpoint state MUST be stored in durable external
|
|
65
|
+
storage, not local disk.
|
|
66
|
+
|
|
67
|
+
### REQ-004 — Data Lineage Tracking
|
|
68
|
+
|
|
69
|
+
Every pipeline MUST emit **lineage metadata** describing its data flow: source
|
|
70
|
+
datasets (with versions/timestamps), transformation logic applied, and output
|
|
71
|
+
datasets produced. Lineage MUST be machine-readable and ingested into a central
|
|
72
|
+
lineage store or data catalog, enabling root-cause analysis of data-quality
|
|
73
|
+
issues and impact assessment of upstream changes.
|
|
74
|
+
|
|
75
|
+
### REQ-005 — Pipeline Observability and SLOs
|
|
76
|
+
|
|
77
|
+
Every production pipeline MUST expose: records processed (counter), processing
|
|
78
|
+
latency (histogram), error rate (gauge), DLQ depth (gauge), and last successful
|
|
79
|
+
run timestamp. Pipelines MUST define SLOs for **freshness** (data available within
|
|
80
|
+
N hours of source), **completeness** (≥ X% records successfully processed), and
|
|
81
|
+
**latency** (p95 within threshold). SLO violations MUST trigger alerts.
|
|
82
|
+
|
|
83
|
+
### REQ-006 — Pipeline Testing Requirements
|
|
84
|
+
|
|
85
|
+
Pipelines MUST have automated tests covering: unit tests for transformation logic
|
|
86
|
+
(sample input/output), integration tests validating end-to-end flow with synthetic
|
|
87
|
+
data, and schema-conformance tests validating output against the declared data
|
|
88
|
+
contract (`data-contract`). Pipelines SHOULD have regression tests for
|
|
89
|
+
historically problematic edge cases (nulls in key fields, negative amounts,
|
|
90
|
+
duplicate records). Test coverage MUST be ≥ 80% for transformation logic.
|
|
91
|
+
|
|
92
|
+
## Integration with Existing Standards
|
|
93
|
+
|
|
94
|
+
- **`data-contract`** — schema-conformance tests validate pipeline output against
|
|
95
|
+
the producer's declared contract and quality SLOs.
|
|
96
|
+
- **`schema-evolution`** — pipelines must tolerate backward-compatible schema
|
|
97
|
+
changes in their sources.
|
|
98
|
+
- **`observability-standards` / `slo-sli`** — pipeline metrics and freshness/
|
|
99
|
+
completeness SLOs reuse the SRE observability and SLO primitives.
|
|
100
|
+
- **`database-standards`** — extends the static-schema standard into data movement.
|
|
101
|
+
- **`audit-trail`** — backfills and reprocessing record an audit event (reason).
|
|
102
|
+
|
|
103
|
+
## Related Specs
|
|
104
|
+
|
|
105
|
+
- XSPEC-068 — UDS data-engineering pack (this standard's source)
|
|
106
|
+
- XSPEC-066 — Compliance & audit pack (`audit-trail` for backfill reasons)
|
|
107
|
+
- XSPEC-063 — SRE pack (`observability-standards`, `slo-sli`)
|
|
108
|
+
|
|
109
|
+
## Changelog
|
|
110
|
+
|
|
111
|
+
| Version | Date | Changes |
|
|
112
|
+
|---------|------|---------|
|
|
113
|
+
| v1.0.0 | 2026-06-17 | Initial — REQ-001~006: idempotency, error handling/DLQ, checkpoint/recovery, lineage, observability/SLO, testing (XSPEC-068) |
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
> **Language**: English | [繁體中文](../locales/zh-TW/core/deprecation-standards.md)
|
|
4
4
|
|
|
5
|
-
**Version**: 1.
|
|
6
|
-
**Last Updated**: 2026-
|
|
5
|
+
**Version**: 1.1.0
|
|
6
|
+
**Last Updated**: 2026-06-24
|
|
7
7
|
**Applicability**: All software projects
|
|
8
8
|
**Scope**: universal
|
|
9
9
|
**Industry Standards**: RFC 8594 (Sunset Header), RFC 8288 (Web Linking)
|
|
@@ -57,6 +57,19 @@ When a new version is released, the old version MUST be maintained for at least
|
|
|
57
57
|
|
|
58
58
|
This ensures consumers have adequate time to migrate without service disruption.
|
|
59
59
|
|
|
60
|
+
### Minimum Deprecation Period by API Tier
|
|
61
|
+
|
|
62
|
+
The 6-stage Sunset Timeline above shows the **default cadence for a public API** (roughly 6 months of notice from Announce to Sunset). The *minimum* deprecation period scales with the API's audience and criticality. Apply the **longer** of the tier minimum below and the Version Parallel Period above:
|
|
63
|
+
|
|
64
|
+
| API Tier | Minimum Deprecation Period |
|
|
65
|
+
|----------|----------------------------|
|
|
66
|
+
| **Internal API** | 1 minor version |
|
|
67
|
+
| **Partner API** | 2 minor versions + 3 months |
|
|
68
|
+
| **Public API** | 2 minor versions + 6 months |
|
|
69
|
+
| **Critical Infrastructure** | 1 year minimum |
|
|
70
|
+
|
|
71
|
+
These are minimums; a longer period may be required by an SLA or contractual commitment (see [Feature Sunset → Impact Analysis](#impact-analysis)). What *counts* as a breaking change that triggers deprecation, and the API versioning mechanics themselves, live in [API Design Standards](api-design-standards.md#api-versioning-strategies) — this standard is the single source of truth only for the deprecation timeline and these notice periods.
|
|
72
|
+
|
|
60
73
|
---
|
|
61
74
|
|
|
62
75
|
## Consumer Notification Strategy
|
|
@@ -200,6 +213,7 @@ No alternative exists? → Build alternative first
|
|
|
200
213
|
|
|
201
214
|
| Version | Date | Changes |
|
|
202
215
|
|---------|------|---------|
|
|
216
|
+
| 1.1.0 | 2026-06-24 | Added: Minimum Deprecation Period by API Tier — establishes this standard as the single source of truth for deprecation periods, consolidated from versioning.md and harmonized with the Sunset Timeline and Version Parallel Period (XSPEC-298 R8, UDS #126) |
|
|
203
217
|
| 1.0.0 | 2026-03-31 | Initial release: API Deprecation, Feature Sunset, System Decommission, Retirement Metrics |
|
|
204
218
|
|
|
205
219
|
---
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
> **Language**: English | [繁體中文](../locales/zh-TW/core/developer-memory.md)
|
|
4
4
|
|
|
5
|
-
**Version**: 1.
|
|
6
|
-
**Last Updated**: 2026-
|
|
5
|
+
**Version**: 1.1.1
|
|
6
|
+
**Last Updated**: 2026-06-18
|
|
7
7
|
**Applicability**: All software projects using AI assistants
|
|
8
8
|
**Scope**: universal
|
|
9
|
+
**Owning Spec**: XSPEC-291 (developer-memory has no dedicated feature XSPEC; XSPEC-291 owns it)
|
|
9
10
|
**Industry Standards**: None (UDS original)
|
|
10
11
|
|
|
11
12
|
---
|
|
@@ -233,11 +234,14 @@ AI scans the memory store and generates a review report covering:
|
|
|
233
234
|
|
|
234
235
|
#### Retirement Suggestions
|
|
235
236
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
|
240
|
-
|
|
237
|
+
Thresholds are UDS defaults (configurable per project); the rationale is
|
|
238
|
+
recorded so each value is auditable rather than arbitrary.
|
|
239
|
+
|
|
240
|
+
| Trigger | Action | Rationale |
|
|
241
|
+
|---------|--------|-----------|
|
|
242
|
+
| `confidence < 0.2` | Suggest retirement | Repeatedly invalidated knowledge is more noise than signal |
|
|
243
|
+
| Not surfaced in 180+ days AND `confidence < 0.5` | Suggest retirement | Half-year dormancy combined with low confidence means the memory is no longer relevant to active work; the 180-day window matches the staleness/decay model in Staleness Detection below |
|
|
244
|
+
| 5+ `invalid` feedback entries | Suggest retirement | Sustained negative feedback signals the memory is wrong or obsolete |
|
|
241
245
|
|
|
242
246
|
#### Staleness Detection
|
|
243
247
|
|
|
@@ -548,7 +552,7 @@ Developer Persistent Memory is classified as an **Always-On Protocol**, not a Us
|
|
|
548
552
|
|
|
549
553
|
| Pattern | Characteristics | Examples | Skill Required? |
|
|
550
554
|
|---------|----------------|----------|-----------------|
|
|
551
|
-
| **User-Triggered** | User explicitly invokes, multi-step guided workflow | `/commit`, `/review`, `/sdd` | Yes |
|
|
555
|
+
| **User-Triggered** | User explicitly invokes, multi-step guided workflow | `/commit`, `/code-review`, `/sdd` | Yes |
|
|
552
556
|
| **Always-On Protocol** | AI continuously follows rules after loading ai.yaml | Anti-hallucination, Developer Memory | No |
|
|
553
557
|
|
|
554
558
|
### Rationale: No CLI / Skill / Slash Command Needed
|
|
@@ -587,6 +591,7 @@ If user feedback reveals:
|
|
|
587
591
|
|
|
588
592
|
| Version | Date | Changes |
|
|
589
593
|
|---------|------|---------|
|
|
594
|
+
| 1.1.0 | 2026-06-18 | Added: rationale column + configurable note to Retirement Suggestions thresholds (XSPEC-292 T8) |
|
|
590
595
|
| 1.0.0 | 2026-02-07 | Initial standard: schema, 4 operations, proactive protocol, noise control, architecture decision (Always-On Protocol) |
|
|
591
596
|
|
|
592
597
|
---
|
|
@@ -991,7 +991,7 @@ Ensure documentation is accessible to all users, following WCAG 2.1 Level A guid
|
|
|
991
991
|
| Requirement | Description | Example |
|
|
992
992
|
|-------------|-------------|---------|
|
|
993
993
|
| **Plain language** | Use clear, simple language; target grade 8 reading level | Avoid: "utilize" → Use: "use" |
|
|
994
|
-
| **Alt text for images** | Provide descriptive alt text for all non-decorative images | `` |
|
|
994
|
+
| **Alt text for images** | Provide descriptive alt text for all non-decorative images | `` |
|
|
995
995
|
| **Heading hierarchy** | Use proper heading levels (h1→h2→h3), never skip levels | Don't jump from `#` to `###` |
|
|
996
996
|
| **Link text** | Use descriptive link text, not "click here" | Avoid: [click here] → Use: [installation guide] |
|
|
997
997
|
| **Code blocks** | Use fenced code blocks with language identifiers | ` ```javascript ` not ` ``` ` |
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
> **Language**: English | [繁體中文](../locales/zh-TW/core/error-code-standards.md)
|
|
4
4
|
|
|
5
|
-
**Version**: 1.2.
|
|
6
|
-
**Last Updated**: 2026-
|
|
5
|
+
**Version**: 1.2.1
|
|
6
|
+
**Last Updated**: 2026-06-18
|
|
7
7
|
**Applicability**: All software projects
|
|
8
8
|
**Scope**: universal
|
|
9
|
+
**Owning Spec**: XSPEC-291 (no dedicated feature XSPEC; XSPEC-291 owns this standard)
|
|
9
10
|
**Industry Standards**: RFC 7807, RFC 9457
|
|
10
11
|
**References**: [datatracker.ietf.org](https://datatracker.ietf.org/doc/html/rfc7807)
|
|
11
12
|
|
|
@@ -580,7 +581,7 @@ AUTH_VAL_001
|
|
|
580
581
|
|
|
581
582
|
**Related Standards:**
|
|
582
583
|
- [Logging Standards](logging-standards.md) - Error logging practices
|
|
583
|
-
- [API Documentation Standards](api-
|
|
584
|
+
- [API Documentation Standards](api-design-standards.md) - Error response documentation
|
|
584
585
|
|
|
585
586
|
---
|
|
586
587
|
|
|
@@ -69,7 +69,7 @@ export default defineConfig({
|
|
|
69
69
|
|
|
70
70
|
## Related Standards
|
|
71
71
|
|
|
72
|
-
- [Testing Standards](testing.md) — overall test pyramid
|
|
72
|
+
- [Testing Standards](testing-standards.md) — overall test pyramid
|
|
73
73
|
- [Test Governance Standards](test-governance.md) — CI policies
|
|
74
74
|
|
|
75
75
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Flow-Based Testing
|
|
2
2
|
|
|
3
|
-
**Version**: 1.3.
|
|
4
|
-
**Last Updated**: 2026-
|
|
3
|
+
**Version**: 1.3.1
|
|
4
|
+
**Last Updated**: 2026-06-18
|
|
5
5
|
**Applicability**: All software projects with multi-step workflows
|
|
6
6
|
**Scope**: universal
|
|
7
7
|
**Industry Standards**: ISO/IEC/IEEE 29119-4 (Test Techniques), ISTQB Foundation Syllabus
|
|
@@ -111,7 +111,7 @@ describe("Flow Branch: Quota exceeded path", () => {
|
|
|
111
111
|
|
|
112
112
|
## Relationship to Other Standards
|
|
113
113
|
|
|
114
|
-
- **test-completeness-dimensions**:
|
|
114
|
+
- **test-completeness-dimensions**: defines **8** dimensions. Flow Completeness and Branch Coverage (decision-table) are detailed in THIS standard — they are not numbered dimensions 9/10 there (which has only 8)
|
|
115
115
|
- **behavior-driven-development**: BDD Scenario Outline tables map to decision table expansion
|
|
116
116
|
- **mock-boundary**: Flow tests must respect mock boundary rules (no mocking own module logic)
|
|
117
117
|
- **e2e-testing**: Journey tests run at ST or E2E level; flow tests can run at IT level with real DB
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Forward Derivation Standards | 正向推演標準
|
|
2
2
|
|
|
3
|
-
**Version**: 1.
|
|
3
|
+
**Version**: 1.3.0
|
|
4
4
|
**Last Updated**: 2026-03-18
|
|
5
5
|
**Applicability**: All projects using Spec-Driven Development
|
|
6
6
|
**Scope**: uds-specific
|
|
@@ -213,13 +213,12 @@ Use these labels to indicate derivation certainty:
|
|
|
213
213
|
# Generator: forward-derivation v1.0.0
|
|
214
214
|
# Generated at: 2026-01-19T10:00:00Z
|
|
215
215
|
|
|
216
|
-
@SPEC-001
|
|
217
216
|
Feature: User Authentication
|
|
218
217
|
As a user
|
|
219
218
|
I want to login to the system
|
|
220
219
|
So that I can access my dashboard
|
|
221
220
|
|
|
222
|
-
@AC-1 @happy-path
|
|
221
|
+
@SPEC-001 @AC-1 @happy-path
|
|
223
222
|
Scenario: User login with valid credentials
|
|
224
223
|
# [Source] From SPEC-001 AC-1
|
|
225
224
|
Given a registered user with valid credentials
|
|
@@ -227,7 +226,7 @@ Feature: User Authentication
|
|
|
227
226
|
Then the user is redirected to dashboard
|
|
228
227
|
And a session token is created
|
|
229
228
|
|
|
230
|
-
@AC-2 @error-handling
|
|
229
|
+
@SPEC-001 @AC-2 @error-handling
|
|
231
230
|
Scenario: Login fails with invalid credentials
|
|
232
231
|
# [Source] From SPEC-001 AC-2
|
|
233
232
|
Given a user with invalid credentials
|
|
@@ -824,6 +823,34 @@ Forward derivation maps to the **DERIVE** stage in the [Pipeline Integration Sta
|
|
|
824
823
|
|
|
825
824
|
---
|
|
826
825
|
|
|
826
|
+
## Failure Handling & Recovery
|
|
827
|
+
|
|
828
|
+
Forward derivation defines several gates (AC parse, count verification, skeleton
|
|
829
|
+
validation, human review). This section defines what happens when a gate
|
|
830
|
+
**fails** — the failure → rollback → retry/escalate → re-verify path — so a
|
|
831
|
+
failed derivation never silently emits partial or hallucinated output.
|
|
832
|
+
|
|
833
|
+
### Failure → Recovery Matrix
|
|
834
|
+
|
|
835
|
+
| Failure | Detected at | Recovery action | Re-verify |
|
|
836
|
+
|---------|-------------|-----------------|-----------|
|
|
837
|
+
| **Parse error** — an AC is not in a supported format (GWT / bullet) | DERIVE (parse AC) | Abort generation for that AC; report `file:line` and the expected format; emit no skeleton for it. Re-queue once the SPEC is fixed. | Parse succeeds on the corrected AC |
|
|
838
|
+
| **AC count mismatch** — generated test count ≠ AC count | Count verification | **[Anti-hallucination violation]** Roll back the whole batch and regenerate under strict 1:1 mapping. Never add or delete tests to "make the count match" — that hides the hallucination. | Count check passes (tests = ACs) |
|
|
839
|
+
| **Skeleton does not parse/compile** | Skeleton validation | Roll back the offending file; regenerate with the correct language template. On a second failure, mark the AC `[BLOCKED]` and escalate to a human. | File parses/compiles |
|
|
840
|
+
| **Human review rejection** — reviewer flags wrong logic or unfilled `[TODO]` | Human review gate | Record the rejection reason; regenerate only the rejected items with that feedback as an added constraint. Never auto-approve. | Reviewer accepts |
|
|
841
|
+
| **Missing source attribution** — output lacks `@SPEC-XXX` / `@AC-N` | Any stage | Block the transition into TDD RED; re-emit with attribution. | Every output carries attribution |
|
|
842
|
+
|
|
843
|
+
### Recovery Rules
|
|
844
|
+
|
|
845
|
+
| Rule | Description | Severity |
|
|
846
|
+
|------|-------------|----------|
|
|
847
|
+
| **FD-FAIL-001** | A gate failure MUST halt progression — never enter TDD RED with an unresolved failure. | Required |
|
|
848
|
+
| **FD-FAIL-002** | A count mismatch is a hard rollback, not a reconciliation; adding or deleting tests to match the count is forbidden (it masks hallucination). | Required |
|
|
849
|
+
| **FD-FAIL-003** | Automated retries are bounded (max 2, for transient or template errors); on exhaustion mark the AC `[BLOCKED]` and escalate to a human. | Required |
|
|
850
|
+
| **FD-FAIL-004** | Every recovery path ends by re-verifying the gate it failed — recovery is incomplete until the original check passes. | Required |
|
|
851
|
+
|
|
852
|
+
---
|
|
853
|
+
|
|
827
854
|
## Anti-Patterns to Avoid
|
|
828
855
|
|
|
829
856
|
### Generation Anti-Patterns
|
|
@@ -874,7 +901,7 @@ Forward derivation maps to the **DERIVE** stage in the [Pipeline Integration Sta
|
|
|
874
901
|
|
|
875
902
|
### Skill References
|
|
876
903
|
|
|
877
|
-
- [Forward Derivation Skill](../skills/
|
|
904
|
+
- [Forward Derivation Skill](../skills/spec-derivation/SKILL.md) - Detailed workflow implementation
|
|
878
905
|
- [Spec-Driven Development Skill](../skills/spec-driven-dev/SKILL.md) - SDD workflow
|
|
879
906
|
- [BDD Assistant Skill](../skills/bdd-assistant/SKILL.md) - Gherkin refinement
|
|
880
907
|
- [TDD Assistant Skill](../skills/tdd-assistant/SKILL.md) - Test implementation
|
|
@@ -925,6 +952,7 @@ Forward derivation maps to the **DERIVE** stage in the [Pipeline Integration Sta
|
|
|
925
952
|
|
|
926
953
|
| Version | Date | Changes |
|
|
927
954
|
|---------|------|---------|
|
|
955
|
+
| 1.3.0 | 2026-06-18 | Added: Failure Handling & Recovery section — failure→rollback→retry/escalate→re-verify matrix + recovery rules FD-FAIL-001..004 (XSPEC-292 T7) |
|
|
928
956
|
| 1.2.0 | 2026-03-18 | Added: Pipeline Integration section — auto-TDD transition, pipeline hooks, auto-TDD entry workflow |
|
|
929
957
|
| 1.1.0 | 2026-01-25 | Added: Contract output (contract.json), Schema output (schema.json), /derive-contracts command for verification artifact generation |
|
|
930
958
|
| 1.0.0 | 2026-01-19 | Initial release |
|