universal-dev-standards 5.17.0 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/uds.js +13 -135
- package/bundled/ai/options/commit-message/bilingual.ai.yaml +19 -1
- package/bundled/ai/standards/acceptance-criteria-traceability.ai.yaml +13 -4
- package/bundled/ai/standards/accessibility-standards.ai.yaml +1 -1
- package/bundled/ai/standards/ai-response-navigation.ai.yaml +15 -2
- package/bundled/ai/standards/api-design-standards.ai.yaml +27 -4
- package/bundled/ai/standards/behavior-snapshot.ai.yaml +86 -9
- package/bundled/ai/standards/checkin-standards.ai.yaml +3 -3
- package/bundled/ai/standards/code-review.ai.yaml +2 -2
- package/bundled/ai/standards/context-aware-loading.ai.yaml +3 -3
- package/bundled/ai/standards/data-migration-testing.ai.yaml +79 -3
- package/bundled/ai/standards/deprecation-standards.ai.yaml +10 -2
- package/bundled/ai/standards/developer-memory.ai.yaml +4 -3
- package/bundled/ai/standards/documentation-writing-standards.ai.yaml +1 -1
- package/bundled/ai/standards/flow-based-testing.ai.yaml +2 -2
- package/bundled/ai/standards/forward-derivation-standards.ai.yaml +26 -2
- package/bundled/ai/standards/frontend-design-standards.ai.yaml +33 -3
- package/bundled/ai/standards/full-coverage-testing.ai.yaml +34 -2
- package/bundled/ai/standards/git-worktree.ai.yaml +3 -3
- package/bundled/ai/standards/logging.ai.yaml +97 -3
- package/bundled/ai/standards/mock-boundary.ai.yaml +48 -2
- package/bundled/ai/standards/model-provenance.ai.yaml +297 -0
- package/bundled/ai/standards/model-selection.ai.yaml +11 -2
- package/bundled/ai/standards/observability-standards.ai.yaml +10 -0
- package/bundled/ai/standards/performance-standards.ai.yaml +46 -1
- package/bundled/ai/standards/pii-classification.ai.yaml +15 -1
- package/bundled/ai/standards/pipeline-security-gates.ai.yaml +10 -0
- package/bundled/ai/standards/privacy-standards.ai.yaml +2 -2
- package/bundled/ai/standards/project-context-memory.ai.yaml +2 -2
- package/bundled/ai/standards/push-standards.ai.yaml +14 -3
- package/bundled/ai/standards/refactoring-standards.ai.yaml +68 -3
- package/bundled/ai/standards/requirement-engineering.ai.yaml +42 -3
- package/bundled/ai/standards/resource-cost-boundary.ai.yaml +279 -0
- package/bundled/ai/standards/reverse-engineering-standards.ai.yaml +55 -2
- package/bundled/ai/standards/security-testing.ai.yaml +13 -2
- package/bundled/ai/standards/self-review-protocol.ai.yaml +15 -10
- package/bundled/ai/standards/skill-standard-alignment-check.ai.yaml +37 -2
- package/bundled/ai/standards/user-journey-testing.ai.yaml +107 -0
- package/bundled/ai/standards/verification-evidence.ai.yaml +88 -5
- package/bundled/ai/standards/verification-oracle.ai.yaml +278 -0
- package/bundled/ai/standards/versioning.ai.yaml +32 -38
- package/bundled/core/acceptance-criteria-traceability.md +15 -5
- package/bundled/core/accessibility-standards.md +8 -4
- package/bundled/core/ai-friendly-architecture.md +1 -1
- package/bundled/core/ai-response-navigation.md +31 -3
- package/bundled/core/anti-sycophancy-prompting.md +1 -1
- package/bundled/core/api-design-standards.md +92 -7
- package/bundled/core/audit-trail.md +119 -0
- package/bundled/core/behavior-snapshot.md +94 -7
- package/bundled/core/browser-compatibility-standards.md +15 -2
- package/bundled/core/checkin-standards.md +10 -3
- package/bundled/core/code-review-checklist.md +10 -2
- package/bundled/core/container-image-standards.md +97 -0
- package/bundled/core/context-aware-loading.md +2 -2
- package/bundled/core/cost-budget-test.md +1 -1
- package/bundled/core/cross-flow-regression.md +3 -2
- package/bundled/core/data-contract.md +104 -0
- package/bundled/core/data-migration-testing.md +90 -0
- package/bundled/core/data-pipeline.md +113 -0
- package/bundled/core/deprecation-standards.md +16 -2
- package/bundled/core/developer-memory.md +13 -8
- package/bundled/core/documentation-writing-standards.md +2 -2
- package/bundled/core/error-code-standards.md +4 -3
- package/bundled/core/feature-discovery-standards.md +191 -0
- package/bundled/core/flaky-test-management.md +1 -1
- package/bundled/core/flow-based-testing.md +3 -3
- package/bundled/core/forward-derivation-standards.md +33 -5
- package/bundled/core/frontend-design-standards.md +93 -4
- package/bundled/core/full-coverage-testing.md +72 -0
- package/bundled/core/git-worktree.md +4 -4
- package/bundled/core/guides/performance-guide.md +1 -1
- package/bundled/core/guides/security-guide.md +1 -1
- package/bundled/core/health-check-standards.md +2 -2
- package/bundled/core/iac-design-principles.md +97 -0
- package/bundled/core/incident-response.md +119 -0
- package/bundled/core/license-compliance.md +2 -0
- package/bundled/core/logging-standards.md +78 -2
- package/bundled/core/mock-boundary.md +54 -2
- package/bundled/core/model-provenance.md +181 -0
- package/bundled/core/model-selection.md +27 -2
- package/bundled/core/multi-environment-e2e-testing.md +195 -0
- package/bundled/core/packaging-standards.md +1 -0
- package/bundled/core/performance-standards.md +96 -2
- package/bundled/core/pii-classification.md +148 -0
- package/bundled/core/pipeline-security-gates.md +22 -2
- package/bundled/core/postmortem-standards.md +2 -0
- package/bundled/core/prd-standards.md +91 -0
- package/bundled/core/privacy-standards.md +14 -3
- package/bundled/core/product-metrics-standards.md +100 -0
- package/bundled/core/project-context-memory.md +8 -2
- package/bundled/core/prompt-regression.md +1 -1
- package/bundled/core/push-standards.md +82 -0
- package/bundled/core/refactoring-standards.md +44 -3
- package/bundled/core/replay-test.md +1 -1
- package/bundled/core/requirement-engineering.md +2 -2
- package/bundled/core/resource-cost-boundary.md +180 -0
- package/bundled/core/reverse-engineering-standards.md +66 -2
- package/bundled/core/runbook.md +113 -0
- package/bundled/core/schema-evolution.md +105 -0
- package/bundled/core/secret-management-standards.md +110 -0
- package/bundled/core/security-testing.md +26 -2
- package/bundled/core/self-review-protocol.md +15 -10
- package/bundled/core/skill-standard-alignment-check.md +53 -0
- package/bundled/core/slo-sli.md +109 -0
- package/bundled/core/smoke-test.md +1 -1
- package/bundled/core/tech-debt-standards.md +1 -1
- package/bundled/core/test-data-standards.md +2 -2
- package/bundled/core/user-journey-testing.md +102 -0
- package/bundled/core/user-story-mapping.md +96 -0
- package/bundled/core/verification-evidence.md +170 -10
- package/bundled/core/verification-oracle.md +167 -0
- package/bundled/core/versioning.md +133 -109
- package/bundled/locales/COVERAGE.md +94 -77
- package/bundled/locales/zh-CN/CHANGELOG.md +94 -6
- package/bundled/locales/zh-CN/CLAUDE.md +1 -1
- package/bundled/locales/zh-CN/MAINTENANCE.md +42 -661
- package/bundled/locales/zh-CN/README.md +25 -12
- package/bundled/locales/zh-CN/SECURITY.md +2 -2
- package/bundled/locales/zh-CN/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
- package/bundled/locales/zh-CN/ai/options/commit-message/bilingual.ai.yaml +6 -1
- package/bundled/locales/zh-CN/core/acceptance-criteria-traceability.md +4 -6
- package/bundled/locales/zh-CN/core/accessibility-standards.md +1 -1
- package/bundled/locales/zh-CN/core/adversarial-test.md +226 -0
- package/bundled/locales/zh-CN/core/agent-behavior-discipline.md +187 -0
- package/bundled/locales/zh-CN/core/ai-response-navigation.md +32 -6
- package/bundled/locales/zh-CN/core/anti-sycophancy-prompting.md +1 -1
- package/bundled/locales/zh-CN/core/api-design-standards.md +1 -1
- package/bundled/locales/zh-CN/core/behavior-snapshot.md +335 -0
- package/bundled/locales/zh-CN/core/browser-compatibility-standards.md +239 -0
- package/bundled/locales/zh-CN/core/cd-deployment-strategies.md +135 -0
- package/bundled/locales/zh-CN/core/chaos-injection-tests.md +130 -0
- package/bundled/locales/zh-CN/core/checkin-standards.md +1 -1
- package/bundled/locales/zh-CN/core/code-review-checklist.md +1 -1
- package/bundled/locales/zh-CN/core/container-security.md +535 -0
- package/bundled/locales/zh-CN/core/context-aware-loading.md +1 -1
- package/bundled/locales/zh-CN/core/contract-testing-standards.md +191 -0
- package/bundled/locales/zh-CN/core/cost-budget-test.md +86 -0
- package/bundled/locales/zh-CN/core/cross-flow-regression.md +200 -0
- package/bundled/locales/zh-CN/core/data-migration-testing.md +217 -0
- package/bundled/locales/zh-CN/core/deployment-standards.md +328 -9
- package/bundled/locales/zh-CN/core/deprecation-standards.md +1 -1
- package/bundled/locales/zh-CN/core/developer-memory.md +2 -2
- package/bundled/locales/zh-CN/core/disaster-recovery-drill.md +87 -0
- package/bundled/locales/zh-CN/core/documentation-structure.md +1 -1
- package/bundled/locales/zh-CN/core/documentation-writing-standards.md +1 -1
- package/bundled/locales/zh-CN/core/error-code-standards.md +2 -2
- package/bundled/locales/zh-CN/core/feature-manifest-standard.md +222 -0
- package/bundled/locales/zh-CN/core/flaky-test-management.md +87 -0
- package/bundled/locales/zh-CN/core/flow-based-testing.md +284 -0
- package/bundled/locales/zh-CN/core/forward-derivation-standards.md +3 -4
- package/bundled/locales/zh-CN/core/frontend-design-standards.md +1 -1
- package/bundled/locales/zh-CN/core/full-coverage-testing.md +269 -0
- package/bundled/locales/zh-CN/core/git-worktree.md +1 -1
- package/bundled/locales/zh-CN/core/governance-layer.md +160 -0
- package/bundled/locales/zh-CN/core/guides/performance-guide.md +515 -0
- package/bundled/locales/zh-CN/core/guides/security-guide.md +494 -0
- package/bundled/locales/zh-CN/core/knowledge-graph-memory.md +128 -0
- package/bundled/locales/zh-CN/core/license-compliance.md +131 -0
- package/bundled/locales/zh-CN/core/llm-output-validation.md +192 -0
- package/bundled/locales/zh-CN/core/logging-standards.md +205 -7
- package/bundled/locales/zh-CN/core/mock-boundary.md +161 -0
- package/bundled/locales/zh-CN/core/model-selection.md +28 -5
- package/bundled/locales/zh-CN/core/mutation-testing.md +106 -0
- package/bundled/locales/zh-CN/core/no-cicd-deployment.md +219 -0
- package/bundled/locales/zh-CN/core/packaging-standards.md +77 -5
- package/bundled/locales/zh-CN/core/pipeline-security-gates.md +146 -0
- package/bundled/locales/zh-CN/core/policy-as-code-testing.md +203 -0
- package/bundled/locales/zh-CN/core/privacy-standards.md +1 -1
- package/bundled/locales/zh-CN/core/project-context-memory.md +1 -1
- package/bundled/locales/zh-CN/core/prompt-regression.md +88 -0
- package/bundled/locales/zh-CN/core/property-based-testing.md +87 -0
- package/bundled/locales/zh-CN/core/release-quality-manifest.md +207 -0
- package/bundled/locales/zh-CN/core/release-readiness-gate.md +193 -0
- package/bundled/locales/zh-CN/core/replay-test.md +102 -0
- package/bundled/locales/zh-CN/core/requirement-engineering.md +1 -1
- package/bundled/locales/zh-CN/core/reverse-engineering-standards.md +46 -1
- package/bundled/locales/zh-CN/core/rollback-standards.md +120 -0
- package/bundled/locales/zh-CN/core/sast-advanced.md +309 -0
- package/bundled/locales/zh-CN/core/secure-op.md +328 -0
- package/bundled/locales/zh-CN/core/security-testing.md +113 -0
- package/bundled/locales/zh-CN/core/self-review-protocol.md +172 -0
- package/bundled/locales/zh-CN/core/server-ops-security.md +507 -0
- package/bundled/locales/zh-CN/core/smoke-test.md +79 -0
- package/bundled/locales/zh-CN/core/spec-driven-development.md +39 -3
- package/bundled/locales/zh-CN/core/supply-chain-attestation.md +131 -0
- package/bundled/locales/zh-CN/core/verification-evidence.md +252 -41
- package/bundled/locales/zh-CN/core/versioning.md +1 -1
- package/bundled/locales/zh-CN/docs/CHEATSHEET.md +36 -7
- package/bundled/locales/zh-CN/docs/FEATURE-REFERENCE.md +71 -53
- package/bundled/locales/zh-CN/docs/MIGRATION-v6.md +88 -0
- package/bundled/locales/zh-CN/docs/USAGE-MODES-COMPARISON.md +2 -2
- package/bundled/locales/zh-CN/docs/USER-MANUAL.md +14 -14
- package/bundled/locales/zh-CN/docs/specs/system/memory-adoption-strategy.md +105 -0
- package/bundled/locales/zh-CN/docs/user/FAQ.md +132 -0
- package/bundled/locales/zh-CN/docs/user/GETTING-STARTED.md +144 -0
- package/bundled/locales/zh-CN/docs/user/GLOSSARY.md +178 -0
- package/bundled/locales/zh-CN/docs/user/README.md +70 -0
- package/bundled/locales/zh-CN/docs/user/TROUBLESHOOTING.md +190 -0
- package/bundled/locales/zh-CN/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
- package/bundled/locales/zh-CN/integrations/github-copilot/README.md +1 -1
- package/bundled/locales/zh-CN/integrations/github-copilot/skills-mapping.md +3 -3
- package/bundled/locales/zh-CN/integrations/opencode/skills-mapping.md +3 -3
- package/bundled/locales/zh-CN/methodologies/guides/sdd-guide.md +836 -0
- package/bundled/locales/zh-CN/options/changelog/auto-generated.md +166 -0
- package/bundled/locales/zh-CN/options/changelog/keep-a-changelog.md +140 -0
- package/bundled/locales/zh-CN/options/code-review/automated-review.md +214 -0
- package/bundled/locales/zh-CN/options/code-review/pair-programming.md +166 -0
- package/bundled/locales/zh-CN/options/code-review/pr-review.md +167 -0
- package/bundled/locales/zh-CN/options/commit-message/bilingual.md +10 -3
- package/bundled/locales/zh-CN/options/documentation/api-docs.md +191 -0
- package/bundled/locales/zh-CN/options/documentation/markdown-docs.md +150 -0
- package/bundled/locales/zh-CN/options/documentation/wiki-style.md +131 -0
- package/bundled/locales/zh-CN/options/project-structure/kotlin.md +144 -0
- package/bundled/locales/zh-CN/options/project-structure/php.md +168 -0
- package/bundled/locales/zh-CN/options/project-structure/ruby.md +156 -0
- package/bundled/locales/zh-CN/options/project-structure/rust.md +136 -0
- package/bundled/locales/zh-CN/options/project-structure/swift.md +165 -0
- package/bundled/locales/zh-CN/options/testing/contract-testing.md +237 -0
- package/bundled/locales/zh-CN/options/testing/industry-pyramid.md +200 -0
- package/bundled/locales/zh-CN/options/testing/istqb-framework.md +144 -0
- package/bundled/locales/zh-CN/options/testing/performance-testing.md +251 -0
- package/bundled/locales/zh-CN/options/testing/security-testing.md +192 -0
- package/bundled/locales/zh-CN/skills/README.md +89 -126
- package/bundled/locales/zh-CN/skills/ac-coverage/SKILL.md +5 -7
- package/bundled/locales/zh-CN/skills/adr-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/agents/code-architect.md +263 -0
- package/bundled/locales/zh-CN/skills/agents/doc-writer.md +410 -0
- package/bundled/locales/zh-CN/skills/agents/reviewer.md +357 -0
- package/bundled/locales/zh-CN/skills/agents/spec-analyst.md +410 -0
- package/bundled/locales/zh-CN/skills/agents/test-specialist.md +368 -0
- package/bundled/locales/zh-CN/skills/ai-collaboration-standards/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/ai-friendly-architecture/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/ai-instruction-standards/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
- package/bundled/locales/zh-CN/skills/atdd-assistant/atdd-workflow.md +3 -4
- package/bundled/locales/zh-CN/skills/audit-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/bdd-assistant/guide.md +1 -2
- package/bundled/locales/zh-CN/skills/brainstorm-assistant/SKILL.md +115 -17
- package/bundled/locales/zh-CN/skills/brainstorm-assistant/guide.md +37 -12
- package/bundled/locales/zh-CN/skills/checkin-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/ci-cd-assistant/SKILL.md +50 -0
- package/bundled/locales/zh-CN/skills/code-review-assistant/SKILL.md +5 -5
- package/bundled/locales/zh-CN/skills/commands/ac-coverage.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/atdd.md +3 -3
- package/bundled/locales/zh-CN/skills/commands/bdd.md +2 -2
- package/bundled/locales/zh-CN/skills/commands/brainstorm.md +26 -17
- package/bundled/locales/zh-CN/skills/commands/{review.md → code-review.md} +4 -4
- package/bundled/locales/zh-CN/skills/commands/derive-all.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/derive-atdd.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/derive-bdd.md +2 -3
- package/bundled/locales/zh-CN/skills/commands/derive-tdd.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/derive.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/dev-workflow.md +2 -2
- package/bundled/locales/zh-CN/skills/commands/methodology.md +4 -4
- package/bundled/locales/zh-CN/skills/commands/pr.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/tdd.md +1 -1
- package/bundled/locales/zh-CN/skills/commit-standards/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/contract-test-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/dev-methodology/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/dev-methodology/create-methodology.md +456 -0
- package/bundled/locales/zh-CN/skills/dev-methodology/guide.md +6 -6
- package/bundled/locales/zh-CN/skills/dev-methodology/runtime.md +296 -0
- package/bundled/locales/zh-CN/skills/dev-workflow-guide/SKILL.md +5 -5
- package/bundled/locales/zh-CN/skills/docs-generator/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/e2e-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/incident-response-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/journey-test-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/logging-guide/SKILL.md +169 -142
- package/bundled/locales/zh-CN/skills/migration-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/observability-assistant/guide.md +1 -1
- package/bundled/locales/zh-CN/skills/pr-automation-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/project-discovery/guide.md +2 -2
- package/bundled/locales/zh-CN/skills/reverse-engineer/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/runbook-assistant/guide.md +1 -1
- package/bundled/locales/zh-CN/skills/security-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/skill-builder/SKILL.md +3 -3
- package/bundled/locales/zh-CN/skills/slo-assistant/guide.md +1 -1
- package/bundled/locales/zh-CN/skills/spec-derivation/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/spec-derivation/guide.md +8 -9
- package/bundled/locales/zh-CN/skills/spec-driven-dev/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/sweep/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/tdd-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/testing-guide/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/testing-guide/testing-theory.md +2298 -0
- package/bundled/locales/zh-CN/skills/workflows/README.md +451 -0
- package/bundled/locales/zh-TW/CHANGELOG.md +94 -6
- package/bundled/locales/zh-TW/CLAUDE.md +1 -1
- package/bundled/locales/zh-TW/MAINTENANCE.md +51 -4
- package/bundled/locales/zh-TW/README.md +25 -12
- package/bundled/locales/zh-TW/SECURITY.md +2 -2
- package/bundled/locales/zh-TW/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
- package/bundled/locales/zh-TW/ai/options/commit-message/bilingual.ai.yaml +6 -1
- package/bundled/locales/zh-TW/ai/standards/versioning.ai.yaml +8 -48
- package/bundled/locales/zh-TW/core/acceptance-criteria-traceability.md +4 -6
- package/bundled/locales/zh-TW/core/accessibility-standards.md +1 -1
- package/bundled/locales/zh-TW/core/adversarial-test.md +226 -0
- package/bundled/locales/zh-TW/core/agent-behavior-discipline.md +187 -0
- package/bundled/locales/zh-TW/core/ai-response-navigation.md +32 -6
- package/bundled/locales/zh-TW/core/anti-sycophancy-prompting.md +1 -1
- package/bundled/locales/zh-TW/core/api-design-standards.md +91 -9
- package/bundled/locales/zh-TW/core/audit-trail.md +110 -0
- package/bundled/locales/zh-TW/core/behavior-snapshot.md +335 -0
- package/bundled/locales/zh-TW/core/browser-compatibility-standards.md +1 -0
- package/bundled/locales/zh-TW/core/cd-deployment-strategies.md +135 -0
- package/bundled/locales/zh-TW/core/chaos-injection-tests.md +130 -0
- package/bundled/locales/zh-TW/core/checkin-standards.md +1 -1
- package/bundled/locales/zh-TW/core/code-review-checklist.md +1 -1
- package/bundled/locales/zh-TW/core/container-image-standards.md +93 -0
- package/bundled/locales/zh-TW/core/container-security.md +535 -0
- package/bundled/locales/zh-TW/core/cost-budget-test.md +86 -0
- package/bundled/locales/zh-TW/core/cross-flow-regression.md +1 -0
- package/bundled/locales/zh-TW/core/data-contract.md +101 -0
- package/bundled/locales/zh-TW/core/data-migration-testing.md +217 -0
- package/bundled/locales/zh-TW/core/data-pipeline.md +105 -0
- package/bundled/locales/zh-TW/core/deployment-standards.md +363 -25
- package/bundled/locales/zh-TW/core/deprecation-standards.md +17 -4
- package/bundled/locales/zh-TW/core/developer-memory.md +2 -2
- package/bundled/locales/zh-TW/core/disaster-recovery-drill.md +87 -0
- package/bundled/locales/zh-TW/core/documentation-writing-standards.md +1 -1
- package/bundled/locales/zh-TW/core/error-code-standards.md +2 -2
- package/bundled/locales/zh-TW/core/feature-manifest-standard.md +222 -0
- package/bundled/locales/zh-TW/core/flaky-test-management.md +87 -0
- package/bundled/locales/zh-TW/core/flow-based-testing.md +284 -0
- package/bundled/locales/zh-TW/core/forward-derivation-standards.md +3 -4
- package/bundled/locales/zh-TW/core/frontend-design-standards.md +1 -1
- package/bundled/locales/zh-TW/core/full-coverage-testing.md +250 -0
- package/bundled/locales/zh-TW/core/git-worktree.md +1 -1
- package/bundled/locales/zh-TW/core/guides/performance-guide.md +515 -0
- package/bundled/locales/zh-TW/core/guides/security-guide.md +494 -0
- package/bundled/locales/zh-TW/core/iac-design-principles.md +90 -0
- package/bundled/locales/zh-TW/core/incident-response.md +111 -0
- package/bundled/locales/zh-TW/core/license-compliance.md +131 -0
- package/bundled/locales/zh-TW/core/llm-output-validation.md +192 -0
- package/bundled/locales/zh-TW/core/logging-standards.md +208 -4
- package/bundled/locales/zh-TW/core/mock-boundary.md +161 -0
- package/bundled/locales/zh-TW/core/model-provenance.md +173 -0
- package/bundled/locales/zh-TW/core/model-selection.md +28 -5
- package/bundled/locales/zh-TW/core/mutation-testing.md +106 -0
- package/bundled/locales/zh-TW/core/no-cicd-deployment.md +219 -0
- package/bundled/locales/zh-TW/core/packaging-standards.md +77 -5
- package/bundled/locales/zh-TW/core/performance-standards.md +84 -5
- package/bundled/locales/zh-TW/core/pii-classification.md +102 -0
- package/bundled/locales/zh-TW/core/pipeline-security-gates.md +146 -0
- package/bundled/locales/zh-TW/core/policy-as-code-testing.md +203 -0
- package/bundled/locales/zh-TW/core/prd-standards.md +88 -0
- package/bundled/locales/zh-TW/core/privacy-standards.md +1 -1
- package/bundled/locales/zh-TW/core/product-metrics-standards.md +96 -0
- package/bundled/locales/zh-TW/core/project-context-memory.md +1 -1
- package/bundled/locales/zh-TW/core/prompt-regression.md +88 -0
- package/bundled/locales/zh-TW/core/property-based-testing.md +87 -0
- package/bundled/locales/zh-TW/core/refactoring-standards.md +43 -6
- package/bundled/locales/zh-TW/core/release-quality-manifest.md +207 -0
- package/bundled/locales/zh-TW/core/replay-test.md +102 -0
- package/bundled/locales/zh-TW/core/requirement-engineering.md +1 -1
- package/bundled/locales/zh-TW/core/resource-cost-boundary.md +175 -0
- package/bundled/locales/zh-TW/core/reverse-engineering-standards.md +64 -5
- package/bundled/locales/zh-TW/core/rollback-standards.md +120 -0
- package/bundled/locales/zh-TW/core/runbook.md +110 -0
- package/bundled/locales/zh-TW/core/sast-advanced.md +309 -0
- package/bundled/locales/zh-TW/core/schema-evolution.md +98 -0
- package/bundled/locales/zh-TW/core/secret-management-standards.md +101 -0
- package/bundled/locales/zh-TW/core/secure-op.md +328 -0
- package/bundled/locales/zh-TW/core/security-testing.md +113 -0
- package/bundled/locales/zh-TW/core/self-review-protocol.md +18 -13
- package/bundled/locales/zh-TW/core/server-ops-security.md +507 -0
- package/bundled/locales/zh-TW/core/slo-sli.md +108 -0
- package/bundled/locales/zh-TW/core/smoke-test.md +79 -0
- package/bundled/locales/zh-TW/core/spec-driven-development.md +19 -11
- package/bundled/locales/zh-TW/core/supply-chain-attestation.md +131 -0
- package/bundled/locales/zh-TW/core/user-journey-testing.md +111 -0
- package/bundled/locales/zh-TW/core/user-story-mapping.md +94 -0
- package/bundled/locales/zh-TW/core/verification-evidence.md +260 -31
- package/bundled/locales/zh-TW/core/verification-oracle.md +159 -0
- package/bundled/locales/zh-TW/core/versioning.md +112 -112
- package/bundled/locales/zh-TW/docs/CHEATSHEET.md +36 -7
- package/bundled/locales/zh-TW/docs/DEV-WORKFLOW-MAPPING.md +6 -6
- package/bundled/locales/zh-TW/docs/FEATURE-REFERENCE.md +71 -53
- package/bundled/locales/zh-TW/docs/MIGRATION-v6.md +88 -0
- package/bundled/locales/zh-TW/docs/USAGE-MODES-COMPARISON.md +2 -2
- package/bundled/locales/zh-TW/docs/USER-MANUAL.md +14 -14
- package/bundled/locales/zh-TW/docs/specs/system/memory-adoption-strategy.md +105 -0
- package/bundled/locales/zh-TW/docs/user/FAQ.md +132 -0
- package/bundled/locales/zh-TW/docs/user/GETTING-STARTED.md +144 -0
- package/bundled/locales/zh-TW/docs/user/GLOSSARY.md +178 -0
- package/bundled/locales/zh-TW/docs/user/README.md +70 -0
- package/bundled/locales/zh-TW/docs/user/TROUBLESHOOTING.md +190 -0
- package/bundled/locales/zh-TW/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
- package/bundled/locales/zh-TW/integrations/github-copilot/README.md +1 -1
- package/bundled/locales/zh-TW/integrations/github-copilot/skills-mapping.md +3 -3
- package/bundled/locales/zh-TW/integrations/opencode/skills-mapping.md +3 -3
- package/bundled/locales/zh-TW/methodologies/guides/sdd-guide.md +523 -26
- package/bundled/locales/zh-TW/options/changelog/auto-generated.md +166 -0
- package/bundled/locales/zh-TW/options/changelog/keep-a-changelog.md +140 -0
- package/bundled/locales/zh-TW/options/code-review/automated-review.md +214 -0
- package/bundled/locales/zh-TW/options/code-review/pair-programming.md +166 -0
- package/bundled/locales/zh-TW/options/code-review/pr-review.md +167 -0
- package/bundled/locales/zh-TW/options/commit-message/bilingual.md +10 -3
- package/bundled/locales/zh-TW/options/documentation/api-docs.md +191 -0
- package/bundled/locales/zh-TW/options/documentation/markdown-docs.md +150 -0
- package/bundled/locales/zh-TW/options/documentation/wiki-style.md +131 -0
- package/bundled/locales/zh-TW/options/project-structure/kotlin.md +144 -0
- package/bundled/locales/zh-TW/options/project-structure/php.md +168 -0
- package/bundled/locales/zh-TW/options/project-structure/ruby.md +156 -0
- package/bundled/locales/zh-TW/options/project-structure/rust.md +136 -0
- package/bundled/locales/zh-TW/options/project-structure/swift.md +165 -0
- package/bundled/locales/zh-TW/options/testing/contract-testing.md +237 -0
- package/bundled/locales/zh-TW/options/testing/industry-pyramid.md +200 -0
- package/bundled/locales/zh-TW/options/testing/istqb-framework.md +144 -0
- package/bundled/locales/zh-TW/options/testing/performance-testing.md +251 -0
- package/bundled/locales/zh-TW/options/testing/security-testing.md +192 -0
- package/bundled/locales/zh-TW/skills/README.md +91 -128
- package/bundled/locales/zh-TW/skills/ac-coverage/SKILL.md +4 -6
- package/bundled/locales/zh-TW/skills/adr-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/agents/code-architect.md +263 -0
- package/bundled/locales/zh-TW/skills/agents/doc-writer.md +410 -0
- package/bundled/locales/zh-TW/skills/agents/reviewer.md +357 -0
- package/bundled/locales/zh-TW/skills/agents/spec-analyst.md +410 -0
- package/bundled/locales/zh-TW/skills/agents/test-specialist.md +368 -0
- package/bundled/locales/zh-TW/skills/ai-collaboration-standards/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/ai-friendly-architecture/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/ai-instruction-standards/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/atdd-assistant/SKILL.md +2 -0
- package/bundled/locales/zh-TW/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
- package/bundled/locales/zh-TW/skills/atdd-assistant/atdd-workflow.md +3 -4
- package/bundled/locales/zh-TW/skills/audit-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/bdd-assistant/SKILL.md +2 -0
- package/bundled/locales/zh-TW/skills/bdd-assistant/guide.md +1 -2
- package/bundled/locales/zh-TW/skills/brainstorm-assistant/SKILL.md +116 -18
- package/bundled/locales/zh-TW/skills/brainstorm-assistant/guide.md +38 -11
- package/bundled/locales/zh-TW/skills/checkin-assistant/SKILL.md +3 -1
- package/bundled/locales/zh-TW/skills/ci-cd-assistant/SKILL.md +50 -0
- package/bundled/locales/zh-TW/skills/code-review-assistant/SKILL.md +7 -5
- package/bundled/locales/zh-TW/skills/commands/ac-coverage.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/atdd.md +3 -3
- package/bundled/locales/zh-TW/skills/commands/bdd.md +2 -2
- package/bundled/locales/zh-TW/skills/commands/brainstorm.md +26 -17
- package/bundled/locales/zh-TW/skills/commands/{review.md → code-review.md} +5 -5
- package/bundled/locales/zh-TW/skills/commands/derive-all.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/derive-atdd.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/derive-bdd.md +2 -3
- package/bundled/locales/zh-TW/skills/commands/derive-tdd.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/derive.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/dev-workflow.md +2 -2
- package/bundled/locales/zh-TW/skills/commands/methodology.md +4 -4
- package/bundled/locales/zh-TW/skills/commands/pr.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/tdd.md +1 -1
- package/bundled/locales/zh-TW/skills/commit-standards/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/contract-test-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/dev-methodology/create-methodology.md +456 -0
- package/bundled/locales/zh-TW/skills/dev-methodology/guide.md +5 -5
- package/bundled/locales/zh-TW/skills/dev-methodology/runtime.md +296 -0
- package/bundled/locales/zh-TW/skills/dev-workflow-guide/SKILL.md +5 -5
- package/bundled/locales/zh-TW/skills/docs-generator/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/e2e-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/incident-response-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/logging-guide/SKILL.md +52 -27
- package/bundled/locales/zh-TW/skills/migration-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/pr-automation-assistant/SKILL.md +3 -1
- package/bundled/locales/zh-TW/skills/project-discovery/guide.md +2 -2
- package/bundled/locales/zh-TW/skills/reverse-engineer/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/security-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/spec-derivation/guide.md +7 -8
- package/bundled/locales/zh-TW/skills/spec-driven-dev/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/sweep/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/tdd-assistant/SKILL.md +3 -1
- package/bundled/locales/zh-TW/skills/testing-guide/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/testing-guide/testing-theory.md +2298 -0
- package/bundled/locales/zh-TW/skills/workflows/README.md +451 -0
- package/bundled/skills/README.md +1 -1
- package/bundled/skills/ac-coverage/SKILL.md +17 -7
- package/bundled/skills/adr-assistant/SKILL.md +1 -1
- package/bundled/skills/agents/code-architect.md +1 -1
- package/bundled/skills/agents/doc-writer.md +1 -1
- package/bundled/skills/agents/reviewer.md +2 -2
- package/bundled/skills/agents/spec-analyst.md +1 -1
- package/bundled/skills/agents/test-specialist.md +1 -1
- package/bundled/skills/ai-collaboration-standards/SKILL.md +2 -2
- package/bundled/skills/ai-friendly-architecture/SKILL.md +2 -2
- package/bundled/skills/ai-instruction-standards/SKILL.md +1 -1
- package/bundled/skills/atdd-assistant/SKILL.md +7 -0
- package/bundled/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
- package/bundled/skills/atdd-assistant/atdd-workflow.md +6 -8
- package/bundled/skills/audit-assistant/SKILL.md +2 -2
- package/bundled/skills/bdd-assistant/SKILL.md +7 -0
- package/bundled/skills/bdd-assistant/guide.md +1 -2
- package/bundled/skills/brainstorm-assistant/SKILL.md +139 -15
- package/bundled/skills/brainstorm-assistant/guide.md +39 -8
- package/bundled/skills/checkin-assistant/SKILL.md +8 -1
- package/bundled/skills/ci-cd-assistant/SKILL.md +57 -0
- package/bundled/skills/code-review-assistant/SKILL.md +15 -8
- package/bundled/skills/commands/COMMAND-FAMILY-OVERVIEW.md +2 -2
- package/bundled/skills/commands/COMMAND-INDEX.json +3 -3
- package/bundled/skills/commands/README.md +2 -2
- package/bundled/skills/commands/ac-coverage.md +1 -1
- package/bundled/skills/commands/atdd.md +2 -2
- package/bundled/skills/commands/bdd.md +2 -2
- package/bundled/skills/commands/brainstorm.md +25 -14
- package/bundled/skills/commands/{review.md → code-review.md} +6 -6
- package/bundled/skills/commands/derive-all.md +1 -1
- package/bundled/skills/commands/derive-atdd.md +1 -1
- package/bundled/skills/commands/derive-bdd.md +2 -3
- package/bundled/skills/commands/derive-tdd.md +1 -1
- package/bundled/skills/commands/derive.md +1 -1
- package/bundled/skills/commands/dev-workflow.md +1 -1
- package/bundled/skills/commands/journey-test.md +45 -0
- package/bundled/skills/commands/methodology.md +4 -4
- package/bundled/skills/commands/pr.md +1 -1
- package/bundled/skills/commands/skill-builder.md +42 -0
- package/bundled/skills/commands/tdd.md +1 -1
- package/bundled/skills/dev-methodology/create-methodology.md +1 -1
- package/bundled/skills/dev-methodology/guide.md +1 -1
- package/bundled/skills/dev-methodology/runtime.md +1 -1
- package/bundled/skills/dev-workflow-guide/SKILL.md +3 -3
- package/bundled/skills/dev-workflow-guide/workflow-phases.md +3 -3
- package/bundled/skills/docs-generator/SKILL.md +3 -3
- package/bundled/skills/incident-response-assistant/SKILL.md +2 -2
- package/bundled/skills/logging-guide/SKILL.md +38 -2
- package/bundled/skills/migration-assistant/SKILL.md +226 -0
- package/bundled/skills/observability-assistant/SKILL.md +74 -0
- package/bundled/skills/pr-automation-assistant/SKILL.md +5 -1
- package/bundled/skills/project-discovery/guide.md +2 -2
- package/bundled/skills/push/SKILL.md +1 -1
- package/bundled/skills/release-standards/SKILL.md +19 -5
- package/bundled/skills/security-assistant/SKILL.md +1 -1
- package/bundled/skills/skill-builder/SKILL.md +1 -1
- package/bundled/skills/spec-derivation/guide.md +3 -4
- package/bundled/skills/spec-driven-dev/SKILL.md +13 -2
- package/bundled/skills/sweep/SKILL.md +1 -1
- package/bundled/skills/tdd-assistant/SKILL.md +8 -1
- package/bundled/skills/testing-guide/SKILL.md +1 -1
- package/bundled/skills/testing-guide/testing-theory.md +1 -1
- package/bundled/skills/workflows/README.md +2 -2
- package/package.json +4 -4
- package/src/commands/audit.js +30 -9
- package/src/commands/config.js +33 -2
- package/src/commands/hitl.js +14 -1
- package/src/commands/init.js +168 -75
- package/src/commands/quickstart.js +1 -2
- package/src/commands/release.js +51 -6
- package/src/commands/run-intent.js +9 -0
- package/src/commands/spec-split.js +27 -2
- package/src/commands/update.js +22 -6
- package/src/config/ai-agent-paths.js +3 -1
- package/src/i18n/messages.js +3 -102
- package/src/missions/MissionManager.js +44 -12
- package/src/utils/build-manifest.js +35 -3
- package/src/utils/friction-detector.js +71 -22
- package/src/utils/health-checker.js +29 -2
- package/src/utils/transaction.js +111 -0
- package/src/utils/version-promote.js +16 -0
- package/standards-registry.json +61 -149
- package/bundled/ai/standards/agent-communication-protocol.ai.yaml +0 -42
- package/bundled/ai/standards/agent-dispatch.ai.yaml +0 -42
- package/bundled/ai/standards/branch-completion.ai.yaml +0 -44
- package/bundled/ai/standards/change-batching-standards.ai.yaml +0 -44
- package/bundled/ai/standards/execution-history.ai.yaml +0 -42
- package/bundled/ai/standards/pipeline-integration-standards.ai.yaml +0 -42
- package/bundled/ai/standards/workflow-enforcement.ai.yaml +0 -44
- package/bundled/ai/standards/workflow-state-protocol.ai.yaml +0 -43
- package/src/commands/flow.js +0 -260
- package/src/commands/start.js +0 -372
- package/src/commands/sweep.js +0 -151
- package/src/commands/workflow.js +0 -681
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# Feature Discovery Standards
|
|
2
|
+
|
|
3
|
+
> **Version**: 1.0.0 | **Status**: Active | **Updated**: 2026-05-13
|
|
4
|
+
> **AI-optimized version**: `ai/standards/feature-discovery-standards.ai.yaml`
|
|
5
|
+
> **Spec**: XSPEC-202 (cross-project/specs/XSPEC-202-feature-discovery-standards.md); related: XSPEC-199/200/201 (migration completeness protocol suite)
|
|
6
|
+
|
|
7
|
+
**Scope**: universal
|
|
8
|
+
**Applicability**: Any legacy-system migration, refactor, or reverse-engineering effort that must produce an exhaustive feature list before change
|
|
9
|
+
|
|
10
|
+
## Overview
|
|
11
|
+
|
|
12
|
+
This standard defines a language-agnostic methodology for **exhaustive feature discovery**
|
|
13
|
+
in legacy systems. Its pipeline position is the first of three stages:
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
feature-discovery-standards (FIND) → feature-manifest-standard (REPRESENT) → behavior-snapshot (VERIFY)
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
The methodology rests on one non-negotiable idea, **Deterministic-First**, and provides:
|
|
20
|
+
a **Software Form Taxonomy** to pick the right extraction strategy per system type,
|
|
21
|
+
**five static foundations** to run against source alone, a **dynamic observation
|
|
22
|
+
protocol** for systems that can be executed, a **human observation protocol** as last
|
|
23
|
+
resort, and a **cross-layer validation matrix** that merges every foundation's output
|
|
24
|
+
into confidence-scored feature candidates.
|
|
25
|
+
|
|
26
|
+
## Core Principle: Deterministic-First
|
|
27
|
+
|
|
28
|
+
> AI cannot tell you what it doesn't know it doesn't know. RAG solves "find details
|
|
29
|
+
> about a known feature." It does NOT solve "discover that this feature exists."
|
|
30
|
+
> Exhaustive feature discovery requires deterministic tools (grep/AST/log/schema) —
|
|
31
|
+
> not AI inference.
|
|
32
|
+
|
|
33
|
+
- **Blocking rule**: if deterministic extraction artifacts are absent when entering the
|
|
34
|
+
Discovery Phase, the AI MUST output `[BLOCKED] Missing deterministic extraction
|
|
35
|
+
artifacts. Run extraction tools first before AI analysis.` and MUST NOT proceed.
|
|
36
|
+
- **RAG prohibition**: during the Discovery Phase, AI is PROHIBITED from generating the
|
|
37
|
+
feature list through inference or RAG retrieval alone — because AI will not report
|
|
38
|
+
what it doesn't know it missed; only deterministic tools produce exhaustive lists.
|
|
39
|
+
- **AI's permitted role in Discovery**: classify extracted items into feature
|
|
40
|
+
categories, assign confidence scores to candidates, and fill in business-purpose
|
|
41
|
+
descriptions for confirmed entries. AI must NOT generate the initial feature list.
|
|
42
|
+
|
|
43
|
+
## Software Form Taxonomy
|
|
44
|
+
|
|
45
|
+
Identify the software's form **before** choosing an extraction strategy. If ambiguous,
|
|
46
|
+
check the detection signals below or ask the user to confirm.
|
|
47
|
+
|
|
48
|
+
| Form | Key Entry Points | Primary Detection Signal | Fastest Extraction Tool |
|
|
49
|
+
|------|-------------------|---------------------------|--------------------------|
|
|
50
|
+
| **web** | Route definitions, HTTP handlers, middleware | `routes/`/`app/Http/` dir; express/fastify/hono/django/flask/fastapi deps | `grep` route definitions; DB schema extraction; access-log analysis |
|
|
51
|
+
| **cli** | `main()` + arg-parser registrations, shell completions | argparse/click/cobra/clap/typer import; `cmd/` dir; no listen calls | Run `--help` recursively; `grep -rE 'ArgumentParser\|click\.command\|cobra\.Command'` |
|
|
52
|
+
| **gui** | Menu/button handlers, UI definition files | `.ui`/`.fxml`/`.xib`/`.storyboard` files; `QMainWindow`/`JFrame`/`Activity` subclasses | `find . -name '*.ui' -o -name '*.fxml'`; grep event-listener patterns |
|
|
53
|
+
| **daemon** | `main()` + event loop, signal handlers, socket bind/listen | systemd `.service` unit; `signal()`/`bind()`/`listen()` calls; no UI imports | `grep -rE 'signal\(\|SIGTERM\|SIGUSR'`; parse config schema |
|
|
54
|
+
| **library** | Public API surface, header files, `index.d.ts`/`__init__.py` exports | No `main()`; `package.json` `exports`; header files with public markers | `cat index.d.ts` / `__init__.py`; `nm <binary> \| grep ' T '`; analyze existing tests as API spec |
|
|
55
|
+
| **mobile** | Activity/Fragment (Android), UIViewController/SwiftUI View (iOS), deep links, push handlers | `AndroidManifest.xml`; `Info.plist`; `extends Activity`; `UIApplicationDelegate` | `grep android:name` in manifest; `grep CFBundleURLTypes` in Info.plist |
|
|
56
|
+
| **embedded** | Interrupt handlers (ISR), main control loop, protocol parsers, watchdog/timer handlers | `ISR()` macro; `HAL_` prefix functions; no OS process model | `grep -rE 'ISR\(\|__interrupt\|_irq_handler'`; parse linker script (`.ld`) |
|
|
57
|
+
|
|
58
|
+
## Five Static Foundations
|
|
59
|
+
|
|
60
|
+
Apply to **all** software forms when git history, access logs, and runtime execution are
|
|
61
|
+
unavailable. Execute in order 1→5 — do not skip any foundation even if earlier ones seem
|
|
62
|
+
comprehensive, since each catches a different category of feature. **Any item appearing
|
|
63
|
+
in any foundation is a confirmed feature candidate**; merge results into the cross-layer
|
|
64
|
+
validation matrix before writing `feature-manifest.yaml`.
|
|
65
|
+
|
|
66
|
+
| Order | Foundation | What It Catches | Output |
|
|
67
|
+
|-------|-----------|------------------|--------|
|
|
68
|
+
| 1 | **Entry Points** | Direct feature invocation points — the most reliable foundation | Entry point inventory (file:line, handler name, interaction type) |
|
|
69
|
+
| 2 | **Call Graph** | Hidden logic reachable from entry points (nested logic, utility wrappers) | Call graph + dead-code candidate list |
|
|
70
|
+
| 3 | **String Mining** | UI strings, error messages, log calls — features and boundary conditions | String corpus, fed to AI for classification *after* collection |
|
|
71
|
+
| 4 | **Resource Files** | i18n/l10n keys, icons, config schemas, templates — often the most complete inventory | Resource inventory (i18n keys, icon names, config options, template names) |
|
|
72
|
+
| 5 | **External Interfaces** | File I/O, network calls, process execution, env vars — frequently missed because they read as utility code | External interface inventory |
|
|
73
|
+
|
|
74
|
+
Notes that matter in practice:
|
|
75
|
+
|
|
76
|
+
- **Call Graph dead code**: functions unreachable from any entry point are dead-code
|
|
77
|
+
candidates OR dynamic-dispatch targets (virtual functions, reflection). Flag for
|
|
78
|
+
human review — do not silently exclude.
|
|
79
|
+
- **String Mining value**: each unique error message is a boundary condition and a test
|
|
80
|
+
scenario.
|
|
81
|
+
- **Resource Files i18n value**: i18n file keys are often the most complete inventory of
|
|
82
|
+
all UI elements — each key maps to one visible feature element.
|
|
83
|
+
|
|
84
|
+
## Dynamic Observation Protocol
|
|
85
|
+
|
|
86
|
+
Use whenever the legacy system can be executed — even partially, even in a degraded/dev
|
|
87
|
+
mode — with a person familiar with the system available to demonstrate realistic usage.
|
|
88
|
+
Running the system once with tracing enabled produces a definitive reachability map that
|
|
89
|
+
static analysis cannot match; **prefer dynamic observation over static analysis when
|
|
90
|
+
available** (static foundations remain required — dynamic observation complements, not
|
|
91
|
+
replaces them).
|
|
92
|
+
|
|
93
|
+
- **Linux**: `strace -f -o trace.log` (syscalls), `ltrace -f -o ltrace.log` (library
|
|
94
|
+
calls), `lsof -p <pid>` (open files/sockets), `tcpdump -i any -w net.pcap` (network).
|
|
95
|
+
- **macOS**: `fswatch` (filesystem events), `dtrace` (syscall probes), `tcpdump`.
|
|
96
|
+
- **Windows**: Process Monitor / Sysinternals ProcMon (file/registry/network/process),
|
|
97
|
+
WireShark (network).
|
|
98
|
+
- **Universal code coverage**: gcov/lcov (C/C++), coverage.py (Python), JaCoCo (Java),
|
|
99
|
+
nyc/c8 (JS/TS), `go test -coverprofile` (Go) — code coverage with **real usage
|
|
100
|
+
scenarios** produces a definitive map of reachable code.
|
|
101
|
+
|
|
102
|
+
Recommended workflow: (1) have a domain expert demonstrate a complete typical workday,
|
|
103
|
+
(2) run strace/coverage in parallel during the demonstration, (3) replay the
|
|
104
|
+
demonstration 3 times for edge cases, (4) analyze the trace for system calls, files
|
|
105
|
+
accessed, and URLs called.
|
|
106
|
+
|
|
107
|
+
## Human Observation Protocol
|
|
108
|
+
|
|
109
|
+
Last resort — required when the system cannot run, domain experts are unavailable for
|
|
110
|
+
tracing, or features are triggered only by rare business events.
|
|
111
|
+
|
|
112
|
+
- **User Demo Recording**: have 1-2 heavy users screen-record (with audio) a full
|
|
113
|
+
typical workday; review for interactions not captured elsewhere; pay special attention
|
|
114
|
+
to keyboard shortcuts, context menus, and power-user workflows.
|
|
115
|
+
- **Support Ticket Mining**: search 6-12 months of support tickets/Jira/GitHub issues;
|
|
116
|
+
each recurring issue type is a boundary condition or edge-case feature; tickets
|
|
117
|
+
requesting "restore old behavior" are high-risk migration targets; group by frequency.
|
|
118
|
+
- **Internal Knowledge Mining**: internal wiki/Confluence, Slack/Teams history, email
|
|
119
|
+
threads about system behavior, old (even informal) release notes.
|
|
120
|
+
|
|
121
|
+
**Confidence assignment**:
|
|
122
|
+
|
|
123
|
+
| State | Confidence | Meaning | Action |
|
|
124
|
+
|-------|-----------|---------|--------|
|
|
125
|
+
| Human-observed, unverified | 0.7 | Confirmed by user observation, not yet located in source | Add to manifest at 0.7; find source code before AC generation |
|
|
126
|
+
| Human-observed, code-located | 1.0 | Confirmed by user AND verified in code | Upgrade to 1.0 after locating the code |
|
|
127
|
+
|
|
128
|
+
## Cross-Layer Validation Matrix
|
|
129
|
+
|
|
130
|
+
After running all applicable foundations, merge results into this matrix. **Any item
|
|
131
|
+
with at least one checkmark is a confirmed feature candidate** for the manifest; items
|
|
132
|
+
with zero checkmarks across all applicable layers are dead-code candidates — flag for
|
|
133
|
+
human review, never silently exclude.
|
|
134
|
+
|
|
135
|
+
| Column | Source |
|
|
136
|
+
|--------|--------|
|
|
137
|
+
| Entry Point | Foundation 1: Entry Points |
|
|
138
|
+
| DB/Schema | Foundation 1 (web): DB schema; data file for other forms |
|
|
139
|
+
| Log/Dynamic | Access log (web) or dynamic observation trace |
|
|
140
|
+
| UI/Resource | Foundation 3 (String Mining) + Foundation 4 (Resource Files) |
|
|
141
|
+
| Notification/External | Foundation 5: External Interfaces |
|
|
142
|
+
| Git/History | `git log --grep` / commit history, if available |
|
|
143
|
+
| Human | Human observation protocol |
|
|
144
|
+
|
|
145
|
+
```
|
|
146
|
+
confidence = (columns_with_checkmark) / (columns_applicable_to_this_form)
|
|
147
|
+
Minimum to include in feature-manifest: ≥ 1 checkmark in any column
|
|
148
|
+
Confidence < 0.5: flag for human review before AC generation
|
|
149
|
+
Confidence < 0.3: require human confirmation before including in manifest
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
Example:
|
|
153
|
+
|
|
154
|
+
| Feature Candidate | Entry Point | DB/Schema | Log/Dynamic | UI/Resource | Notification/Ext | Git/History | Human | Confidence |
|
|
155
|
+
|---|---|---|---|---|---|---|---|---|
|
|
156
|
+
| UserLogin | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | 1.0 |
|
|
157
|
+
| MonthlyReconcile | ❌ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | 0.71 |
|
|
158
|
+
| AdminUserDelete | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ❌ | 0.57 |
|
|
159
|
+
|
|
160
|
+
Each confirmed row becomes an `FM-NNN` entry per `feature-manifest-standard`; the
|
|
161
|
+
confidence value from this matrix becomes the manifest's `confidence` field.
|
|
162
|
+
|
|
163
|
+
## Rules
|
|
164
|
+
|
|
165
|
+
| Rule | Trigger | Instruction | Priority |
|
|
166
|
+
|------|---------|--------------|----------|
|
|
167
|
+
| `deterministic-first` | Starting feature discovery for any legacy system | Require deterministic extraction results before generating any feature list; if absent, output `[BLOCKED]` and list applicable tools for the detected form | required |
|
|
168
|
+
| `no-rag-for-discovery` | Feature discovery phase | Do NOT use RAG/long-context inference alone to generate the initial feature list; RAG is permitted only to fill in details of already-identified features | required |
|
|
169
|
+
| `identify-form-first` | Starting feature discovery | Identify the software form using detection signals before selecting an extraction strategy; ask the user to confirm if ambiguous | required |
|
|
170
|
+
| `apply-all-static-foundations` | Source-only analysis (no git, no log, no runtime) | Execute all five static foundations in order; merge all candidate lists into the cross-layer matrix | required |
|
|
171
|
+
| `prefer-dynamic-observation` | Legacy system can be executed in any environment | Prefer dynamic observation (strace/coverage + expert demo) over static analysis alone; static foundations remain required | recommended |
|
|
172
|
+
| `human-observation-for-gaps` | A feature candidate cannot be confirmed by any tool-based foundation | Escalate to human observation; assign confidence 0.7 for human-observed/code-unverified; never include confidence < 0.3 without explicit human confirmation | required |
|
|
173
|
+
| `matrix-before-manifest` | Generating `feature-manifest.yaml` | Complete the cross-layer validation matrix first; only ≥1-checkmark items become `FM-NNN` entries; zero-checkmark items go to a separate `dead_code_candidates` list | required |
|
|
174
|
+
| `dead-code-handling` | Call graph analysis reveals unreachable code | Never silently exclude unreachable functions; list as `dead_code_candidates`; account for dynamic dispatch; require human confirmation before classifying as dead code | required |
|
|
175
|
+
|
|
176
|
+
## Related Standards
|
|
177
|
+
|
|
178
|
+
- `feature-manifest-standard` — represents confirmed candidates as `FM-NNN` entries
|
|
179
|
+
- `behavior-snapshot` — verifies the manifest against observed runtime behavior
|
|
180
|
+
- `reverse-engineering-standards` — broader legacy reverse-engineering process this
|
|
181
|
+
standard feeds into
|
|
182
|
+
- `anti-hallucination` — the deterministic-first / no-inference-alone discipline this
|
|
183
|
+
standard applies to feature discovery specifically
|
|
184
|
+
- `acceptance-criteria-traceability` — confirmed features become AC-traceable units
|
|
185
|
+
- `refactoring-standards` — discovery precedes any refactor of legacy code
|
|
186
|
+
|
|
187
|
+
## Changelog
|
|
188
|
+
|
|
189
|
+
| Version | Date | Changes |
|
|
190
|
+
|---------|------|---------|
|
|
191
|
+
| v1.0.0 | 2026-05-13 | Initial — Deterministic-First principle, Software Form Taxonomy (7 forms), five static foundations, dynamic/human observation protocols, cross-layer validation matrix (XSPEC-202) |
|
|
@@ -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 |
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
> **Language**: English | [繁體中文](../locales/zh-TW/core/frontend-design-standards.md)
|
|
4
4
|
|
|
5
|
-
**Version**: 1.
|
|
6
|
-
**Last Updated**: 2026-
|
|
5
|
+
**Version**: 1.1.0
|
|
6
|
+
**Last Updated**: 2026-07-10
|
|
7
7
|
**Applicability**: All projects with frontend user interfaces
|
|
8
8
|
**Scope**: universal
|
|
9
9
|
**References**: [DEC-029](https://github.com/VoltAgent/awesome-design-md) (awesome-design-md, MIT), DEC-030 (OpenAI Frontend Guide)
|
|
@@ -41,8 +41,9 @@ The goal is to ensure AI agents produce consistent, high-quality UI across diffe
|
|
|
41
41
|
13. [Spacing Scale](#spacing-scale)
|
|
42
42
|
14. [UI Hard Constraints](#ui-hard-constraints)
|
|
43
43
|
15. [Anti-patterns](#anti-patterns)
|
|
44
|
-
16. [
|
|
45
|
-
17. [
|
|
44
|
+
16. [Optional Extension: Token Interpolation & Structured Components](#optional-extension-token-interpolation--structured-components)
|
|
45
|
+
17. [DESIGN.md File Placement](#designmd-file-placement)
|
|
46
|
+
18. [Validation Checklist](#validation-checklist)
|
|
46
47
|
|
|
47
48
|
---
|
|
48
49
|
|
|
@@ -417,6 +418,88 @@ Minimum required: at least 5 anti-patterns must be explicitly listed in every DE
|
|
|
417
418
|
|
|
418
419
|
---
|
|
419
420
|
|
|
421
|
+
## Optional Extension: Token Interpolation & Structured Components
|
|
422
|
+
|
|
423
|
+
> **Status**: Optional, Trial (added v1.1.0, 2026-07-10). Does **not** replace the mandatory 9-section structure or the governance-collapsed 5-token/4-role/7-step scales above — this is an additive machine-parseable layer for projects that want DESIGN.md itself to carry structured token references, not just prose. A DESIGN.md that omits this extension is still fully compliant.
|
|
424
|
+
>
|
|
425
|
+
> **Origin**: 2026-07-10 re-alignment review of [DEC-029](https://github.com/VoltAgent/awesome-design-md)'s upstream (grown from 4,385★ to 99,219★ and now officially the Google Stitch DESIGN.md format) found the upstream format evolved YAML frontmatter token dictionaries and `{category.token}` interpolation syntax, plus a structured `components:` binding block — capabilities this standard's original prose-only sections did not have. Adopted as an opt-in extension rather than a breaking change, consistent with this standard's deliberate 5-token governance collapse (adding more tokens is *not* the goal; making the 5 tokens *referenceable* is).
|
|
426
|
+
|
|
427
|
+
### Token Registry (YAML Frontmatter)
|
|
428
|
+
|
|
429
|
+
A DESIGN.md may optionally begin with a YAML frontmatter block declaring the semantic tokens from Sections 2/3/5 (and Section 4's border-radius scale) in machine-parseable key-value form, so tooling can resolve `{category.token}` references without re-parsing prose.
|
|
430
|
+
|
|
431
|
+
```yaml
|
|
432
|
+
---
|
|
433
|
+
colors:
|
|
434
|
+
background: "#0A0A0A"
|
|
435
|
+
surface: "#1A1A1A"
|
|
436
|
+
primary-text: "#F5F5F5"
|
|
437
|
+
muted-text: "#888888"
|
|
438
|
+
accent: "#6366F1"
|
|
439
|
+
typography:
|
|
440
|
+
display: { size: "48px", weight: 700, line-height: 1.1 }
|
|
441
|
+
headline: { size: "24px", weight: 600, line-height: 1.3 }
|
|
442
|
+
body: { size: "16px", weight: 400, line-height: 1.6 }
|
|
443
|
+
caption: { size: "13px", weight: 400, line-height: 1.4 }
|
|
444
|
+
rounded:
|
|
445
|
+
sm: "4px"
|
|
446
|
+
md: "8px"
|
|
447
|
+
lg: "12px"
|
|
448
|
+
pill: "9999px"
|
|
449
|
+
spacing:
|
|
450
|
+
sm: "8px"
|
|
451
|
+
md: "24px"
|
|
452
|
+
lg: "48px"
|
|
453
|
+
---
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
**Rules**:
|
|
457
|
+
- The frontmatter keys (`colors`, `typography`, `rounded`, `spacing`) map 1:1 to the token vocabularies already defined in Sections 2/3/5 — this block **restates** those tokens in parseable form, it does not introduce new ones. `colors` values must match the 5 mandatory semantic tokens (plus any optional extended tokens already in use).
|
|
458
|
+
- Frontmatter is optional. A DESIGN.md without it is still valid; tooling that wants interpolation support requires it.
|
|
459
|
+
|
|
460
|
+
### Interpolation Syntax
|
|
461
|
+
|
|
462
|
+
Within the prose sections (particularly Section 4: Component Styling), `{category.token}` references the frontmatter registry instead of restating raw values:
|
|
463
|
+
|
|
464
|
+
```markdown
|
|
465
|
+
### Buttons
|
|
466
|
+
- **Primary**: `{colors.accent}` background, `{colors.background}` text, `{rounded.md}` radius, `{spacing.sm}` padding
|
|
467
|
+
```
|
|
468
|
+
|
|
469
|
+
**Rules**:
|
|
470
|
+
- Syntax is `{category.token}` — category matches a frontmatter top-level key, token matches a key within it.
|
|
471
|
+
- A reference to a category/token not present in frontmatter is a validation error, not a silent fallback.
|
|
472
|
+
- Interpolation is for **documentation/tooling clarity**, not a runtime templating engine — DESIGN.md remains a static specification file.
|
|
473
|
+
|
|
474
|
+
### Structured Components Block (Optional)
|
|
475
|
+
|
|
476
|
+
Section 4 (Component Styling) may optionally include a `components:` block that binds a component to its token references explicitly, instead of (or alongside) the prose format already in Section 4's example:
|
|
477
|
+
|
|
478
|
+
```yaml
|
|
479
|
+
components:
|
|
480
|
+
button-primary:
|
|
481
|
+
backgroundColor: "{colors.accent}"
|
|
482
|
+
textColor: "{colors.background}"
|
|
483
|
+
rounded: "{rounded.md}"
|
|
484
|
+
padding: "{spacing.sm}"
|
|
485
|
+
card:
|
|
486
|
+
backgroundColor: "{colors.surface}"
|
|
487
|
+
rounded: "{rounded.lg}"
|
|
488
|
+
padding: "{spacing.md}"
|
|
489
|
+
```
|
|
490
|
+
|
|
491
|
+
**Rules**:
|
|
492
|
+
- Every value must be a `{category.token}` reference — raw hex/px values inside `components:` are an anti-pattern (defeats the purpose of centralizing tokens).
|
|
493
|
+
- This block is additive to, not a replacement for, Section 4's prose description — projects using this extension should still fill Section 4's prose fields for human readers.
|
|
494
|
+
|
|
495
|
+
### Non-goals (explicitly not adopted from upstream)
|
|
496
|
+
|
|
497
|
+
- **No lint CLI bundled with this standard** — the upstream ecosystem has a separate `@google/design.md` npm package for validation; this standard does not mandate or bundle a specific validator. Projects may adopt one independently.
|
|
498
|
+
- **No framework-specific export formats** (React/Vue/CSS-in-JS generators) — stays framework-agnostic per this standard's Key Principles (semantic token naming, framework-agnostic).
|
|
499
|
+
- **No expansion of the 5/4/7 token counts** — the interpolation syntax makes the existing tokens referenceable; it is not licence to add more tokens. Governance collapse (fewer tokens = more consistent AI output) remains the priority over granularity.
|
|
500
|
+
|
|
501
|
+
---
|
|
502
|
+
|
|
420
503
|
## DESIGN.md File Placement
|
|
421
504
|
|
|
422
505
|
DESIGN.md must be placed at the **project root directory**, at the same level as README.md.
|
|
@@ -472,3 +555,9 @@ Use this checklist to verify a DESIGN.md is compliant with this standard:
|
|
|
472
555
|
- [ ] Style summary present (1–2 sentences)
|
|
473
556
|
- [ ] Key constraints bullet list present
|
|
474
557
|
- [ ] Tone defined
|
|
558
|
+
|
|
559
|
+
### Token Interpolation Extension (Optional — v1.1.0)
|
|
560
|
+
- [ ] If frontmatter token registry is used, all `colors` keys match the 5 mandatory semantic tokens
|
|
561
|
+
- [ ] If `{category.token}` interpolation is used, every reference resolves to a frontmatter entry (no dangling references)
|
|
562
|
+
- [ ] If `components:` block is used, every value is a `{category.token}` reference (no raw hex/px values)
|
|
563
|
+
- [ ] Absence of this extension is **not** a compliance failure — it is optional
|
|
@@ -160,6 +160,74 @@ CI reports AC coverage rate. If more than 20% of ACs lack `@ac`-tagged tests, a
|
|
|
160
160
|
|
|
161
161
|
---
|
|
162
162
|
|
|
163
|
+
## Migration Error-Path Completeness (XSPEC-288)
|
|
164
|
+
|
|
165
|
+
> Part of the [XSPEC-284](https://github.com/AsiaOstrich/universal-dev-standards) 9-axis migration completeness matrix (**axis ⑨ — error paths**). The three-path model above requires an error path **per function**; this section adds the **migration-specific** guarantee that legacy's error/degradation/fallback branches are **systematically** carried over — not merely sampled.
|
|
166
|
+
|
|
167
|
+
### Why the three-path model alone is not enough for a migration
|
|
168
|
+
|
|
169
|
+
The per-function error-path requirement and XSPEC-201's error-path snapshot only verify the error cases **you thought to enumerate**. In a rewrite the happy path is migrated because it has an explicit requirement, while error branches — scattered across `try/catch` layers, custom exception hierarchies, specific error codes, and degradation fallbacks — are **silently dropped in bulk**. A passing error-path sample does not prove **no branch was missed** (same blind-spot class as #134, occurring on the error-path layer). This section is the **systematic-enumeration + gap-analysis** layer above the snapshot mechanism.
|
|
170
|
+
|
|
171
|
+
### Step 1 — Mechanized legacy exception / error-code list (derive, R1)
|
|
172
|
+
|
|
173
|
+
Enumerate the legacy error surface **mechanically**, not from memory:
|
|
174
|
+
|
|
175
|
+
| Source | Yields |
|
|
176
|
+
|--------|--------|
|
|
177
|
+
| `catch` / `except` / `rescue` blocks (grep) | every caught exception type + handler |
|
|
178
|
+
| Custom exception / error class hierarchy | the declared error taxonomy |
|
|
179
|
+
| Error/status codes (HTTP status, app error codes, error enums) | the response-code surface |
|
|
180
|
+
| Error response shapes (serializers, error DTOs) | the on-the-wire error contract |
|
|
181
|
+
|
|
182
|
+
The captured list is the **error-path to-verify checklist** — sourced from artifacts, not human recall.
|
|
183
|
+
|
|
184
|
+
### Step 2 — Systematic missing-branch gap analysis (oracle, R2)
|
|
185
|
+
|
|
186
|
+
For **each** legacy error branch from Step 1, verify the new system has a corresponding handler. A branch with no mapping is marked `not_implemented` (XSPEC-199) and **blocks**. The output is a **"missing error branch" gap report** over the full derived list — not a sample that happened to pass.
|
|
187
|
+
|
|
188
|
+
```markdown
|
|
189
|
+
## Error-Path Gap Report — <module>
|
|
190
|
+
|
|
191
|
+
| Legacy branch (error type / code) | New-system handler | Status |
|
|
192
|
+
|-----------------------------------|--------------------|--------|
|
|
193
|
+
| PaymentDeclinedException → 402 | PaymentService.handleDecline | MAPPED |
|
|
194
|
+
| GatewayTimeout → retry+fallback | (none found) | not_implemented — BLOCK |
|
|
195
|
+
| ValidationError → 422 + field list | InputValidator | MAPPED |
|
|
196
|
+
|
|
197
|
+
**Branches: N total · M mapped · K not_implemented (block if K>0)**
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
### Step 3 — Degradation / fallback parity (R3)
|
|
201
|
+
|
|
202
|
+
Legacy degradation modes (fallback on external-service failure, retry, partial results) are easy to drop because they only run when something fails. Verify the new system preserves the corresponding degradation behavior, so the system is not "consistent on the happy path, wildly different on failure":
|
|
203
|
+
|
|
204
|
+
- [ ] External-service-failure **fallback** behavior matches legacy
|
|
205
|
+
- [ ] **Retry** policy (count, backoff, give-up) matches legacy
|
|
206
|
+
- [ ] **Partial-result** handling matches legacy (returns what it can vs all-or-nothing)
|
|
207
|
+
- [ ] **Circuit-breaker / timeout** degradation matches legacy
|
|
208
|
+
|
|
209
|
+
### Step 4 — Error-response differential (oracle, R4)
|
|
210
|
+
|
|
211
|
+
Extend [behavior-snapshot](behavior-snapshot.md) parity and XSPEC-284 R5 replay to cover the **error response**, not just the happy-path response. Compare new vs legacy on:
|
|
212
|
+
|
|
213
|
+
- **Error code** (HTTP status, app error code)
|
|
214
|
+
- **Message structure** (error DTO shape, field-level errors)
|
|
215
|
+
- **HTTP status** mapping per error class
|
|
216
|
+
|
|
217
|
+
This makes implicit error-path divergence self-report at cutover, the same way the happy-path snapshot does.
|
|
218
|
+
|
|
219
|
+
**Gate timing**: pre-UAT (gap analysis + degradation parity) + cutover before/after (error-response differential).
|
|
220
|
+
|
|
221
|
+
### Importance ranking (scope guidance)
|
|
222
|
+
|
|
223
|
+
Not every legacy error branch must map at equal priority. Rank by **production-actual trigger frequency** (echoes #134 "production is the oracle"): branches that have actually fired in production logs are mapped first; never-fired latent branches are lower priority but still listed. A high-frequency production error branch with no new-system mapping is a hard block.
|
|
224
|
+
|
|
225
|
+
### Completeness declaration (matrix alignment)
|
|
226
|
+
|
|
227
|
+
Axis ⑨ is satisfied when this section declares all three: **derive** (Step 1 mechanized exception/error-code list), **oracle** (Step 2 systematic gap analysis + Step 4 error-response differential), and **gate timing** (pre-UAT + cutover before/after). Reuse XSPEC-201 error-path snapshot + the three-path model above — this section adds only systematic missing-branch analysis and the error-response differential, it does not rebuild a test framework.
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
163
231
|
## Migration from Pyramid Model
|
|
164
232
|
|
|
165
233
|
If your project previously used pyramid thresholds:
|
|
@@ -180,7 +248,11 @@ The ratchet starts at your current coverage. From that point on, it can only inc
|
|
|
180
248
|
- `unit-testing.ai.yaml` — Unit test scope and organization
|
|
181
249
|
- `integration-testing.ai.yaml` — Integration test patterns
|
|
182
250
|
- `deployment-standards.ai.yaml` — Deploy gate requirements
|
|
251
|
+
- `flaky-test-management.md` — Intermittent-failure handling: a test that flakes is **not** a passing test. Before a coverage figure counts toward a gate, intermittent failures MUST be quarantined / retry-budgeted / root-caused per that standard — otherwise "full coverage" hides non-deterministic gaps.
|
|
252
|
+
- `behavior-snapshot.md` — Error-response differential oracle (Migration Error-Path Completeness, axis ⑨)
|
|
253
|
+
- `migration-assistant` skill — Legacy exception/error-code derive + degradation parity (XSPEC-288)
|
|
183
254
|
- XSPEC-178 — Full specification and implementation phases
|
|
255
|
+
- XSPEC-288 — Migration Error-Path Completeness (axis ⑨ of XSPEC-284 matrix)
|
|
184
256
|
|
|
185
257
|
|
|
186
258
|
**Scope**: universal
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
> **Language**: English | [繁體中文](../locales/zh-TW/core/git-worktree.md)
|
|
4
4
|
|
|
5
|
-
**Version**: 1.
|
|
6
|
-
**Last Updated**: 2026-
|
|
5
|
+
**Version**: 1.1.0
|
|
6
|
+
**Last Updated**: 2026-06-18
|
|
7
7
|
**Applicability**: All projects using Git for version control
|
|
8
8
|
**Scope**: universal
|
|
9
9
|
**Inspired by**: [Superpowers](https://github.com/obra/superpowers) — using-git-worktrees (MIT)
|
|
@@ -59,7 +59,7 @@ pnpm install # or npm install, pip install, etc.
|
|
|
59
59
|
|
|
60
60
|
1. **Run the test suite** in the fresh worktree
|
|
61
61
|
2. **Confirm all tests pass** — this verifies the environment is clean
|
|
62
|
-
3. **If tests fail** — abort and report the environment issue (do not proceed)
|
|
62
|
+
3. **If tests fail** — retry up to 2× with backoff to rule out transient flakes/timeouts; if they still fail, abort and report the environment issue (do not proceed)
|
|
63
63
|
|
|
64
64
|
```bash
|
|
65
65
|
# Baseline verification
|
|
@@ -108,7 +108,7 @@ git worktree prune
|
|
|
108
108
|
| ID | Trigger | Action | Priority |
|
|
109
109
|
|----|---------|--------|----------|
|
|
110
110
|
| GW-001 | Worktree directory not in `.gitignore` | Automatically add to `.gitignore` | Critical |
|
|
111
|
-
| GW-002 | Baseline tests fail |
|
|
111
|
+
| GW-002 | Baseline tests fail | Retry up to 2× (exponential backoff) for transient failures; if persistent, abort task and report environment issue | High |
|
|
112
112
|
| GW-003 | Abnormal exit during worktree operation | Ensure cleanup is executed | High |
|
|
113
113
|
| GW-004 | Worktree exists after branch merge/delete | Prune stale worktree references | Medium |
|
|
114
114
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Performance Guide
|
|
2
2
|
|
|
3
|
-
> **Language**: English | [繁體中文](../../locales/zh-TW/core/guides/performance-guide.md)
|
|
3
|
+
> **Language**: English | [繁體中文](../../locales/zh-TW/core/guides/performance-guide.md) | [简体中文](../../locales/zh-CN/core/guides/performance-guide.md)
|
|
4
4
|
|
|
5
5
|
**Version**: 1.0.0
|
|
6
6
|
**Last Updated**: 2026-01-29
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Security Guide
|
|
2
2
|
|
|
3
|
-
> **Language**: English | [繁體中文](../../locales/zh-TW/core/guides/security-guide.md)
|
|
3
|
+
> **Language**: English | [繁體中文](../../locales/zh-TW/core/guides/security-guide.md) | [简体中文](../../locales/zh-CN/core/guides/security-guide.md)
|
|
4
4
|
|
|
5
5
|
**Version**: 1.0.0
|
|
6
6
|
**Last Updated**: 2026-01-29
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
- **Readiness 僅檢關鍵依賴**:非關鍵依賴不納入,避免邊緣故障造成服務被下線
|
|
13
13
|
- **慢啟動用 startup probe**:啟動完成後交棒給 liveness
|
|
14
14
|
- **結構化 JSON 回應**:含 `status` / `dependencies` / `timestamp` / `version`
|
|
15
|
-
- **作為 observability signal**:連續 fail
|
|
15
|
+
- **作為 observability signal**:連續 fail(達 probe threshold)依 [alerting-standards](alerting-standards.md) 觸發告警——由 alerting 定義觸發時機、嚴重性對映與路由(`HC-001 HEALTH_CHECK_FAILED` 為 alert 來源之一),health-check 只負責 emit signal、不自行決定通知對象
|
|
16
16
|
|
|
17
17
|
## Probe Types
|
|
18
18
|
|
|
@@ -68,7 +68,7 @@
|
|
|
68
68
|
- AI-optimized: [ai/standards/health-check-standards.ai.yaml](../ai/standards/health-check-standards.ai.yaml)
|
|
69
69
|
- XSPEC-067: DEC-043 Wave 1 Reliability Pack 跨專案規格
|
|
70
70
|
- DEC-043: UDS 覆蓋完整性路線圖(驅動來源)
|
|
71
|
-
- Related: `deployment-standards`, `circuit-breaker`, observability-standards (XSPEC-063 規劃中)
|
|
71
|
+
- Related: `deployment-standards`, `circuit-breaker`, `alerting-standards`(probe 連續失敗 → 告警觸發與路由), observability-standards (XSPEC-063 規劃中)
|
|
72
72
|
- Industry: Kubernetes probes, Microsoft eShop health checks, Google SRE Book Ch.6
|
|
73
73
|
|
|
74
74
|
|