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
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
> **Language**: English | [繁體中文](../locales/zh-TW/core/privacy-standards.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 software projects handling personal data
|
|
8
8
|
**Scope**: universal
|
|
9
9
|
**Industry Standards**: GDPR, CCPA, Privacy by Design (Ann Cavoukian)
|
|
@@ -51,13 +51,23 @@ Classify all data by sensitivity level:
|
|
|
51
51
|
### Trigger Conditions
|
|
52
52
|
|
|
53
53
|
A DPIA MUST be conducted when:
|
|
54
|
-
- Processing personal data at large scale
|
|
54
|
+
- Processing personal data at **large scale** (see quantified criterion below)
|
|
55
55
|
- Systematic monitoring of public areas
|
|
56
56
|
- Automated decision-making with legal effects
|
|
57
57
|
- Processing special category data (health, biometric, genetic)
|
|
58
58
|
- Combining datasets from different sources
|
|
59
59
|
- Processing data of vulnerable individuals (children, employees)
|
|
60
60
|
|
|
61
|
+
> **"Large scale" — quantified criterion** _(source: GDPR Art. 35; WP29 DPIA
|
|
62
|
+
> Guidelines WP248rev.01)_. No single hard number defines "large scale"; assess
|
|
63
|
+
> against four factors: (1) number of data subjects — an absolute count or a
|
|
64
|
+
> proportion of the relevant population; (2) volume and range of data items;
|
|
65
|
+
> (3) duration or permanence of the processing; (4) geographical extent. Treat
|
|
66
|
+
> processing as large scale when it is significant on **two or more** factors.
|
|
67
|
+
> **Exception**: one-off processing, a single individual's data, or an
|
|
68
|
+
> individual practitioner's records are not "large scale" and do not trigger a
|
|
69
|
+
> DPIA on this ground alone (the other triggers above may still apply).
|
|
70
|
+
|
|
61
71
|
### Simplified DPIA Template
|
|
62
72
|
|
|
63
73
|
```markdown
|
|
@@ -180,6 +190,7 @@ Is it personal data?
|
|
|
180
190
|
|
|
181
191
|
| Version | Date | Changes |
|
|
182
192
|
|---------|------|---------|
|
|
193
|
+
| 1.1.0 | 2026-06-18 | Added: quantified "large scale" DPIA-trigger criterion (GDPR Art. 35 / WP29 WP248) + exception clause (XSPEC-292 T8) |
|
|
183
194
|
| 1.0.0 | 2026-04-01 | Initial release |
|
|
184
195
|
|
|
185
196
|
---
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
# Product Metrics Framework Standards
|
|
2
|
+
|
|
3
|
+
> **Version**: 1.0.0 | **Status**: Active | **Updated**: 2026-06-17
|
|
4
|
+
> **AI-optimized version**: `ai/standards/product-metrics-standards.ai.yaml`
|
|
5
|
+
> **Spec**: XSPEC-069 (cross-project/specs/XSPEC-069-uds-product-layer-pack.md)
|
|
6
|
+
|
|
7
|
+
**Scope**: universal
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
This standard defines how teams **select, structure, and govern product metrics**.
|
|
12
|
+
It covers a framework-selection matrix (AARRR for growth products, HEART for
|
|
13
|
+
experience products, custom North Star for platforms), North Star criteria, a
|
|
14
|
+
three-level metric hierarchy (North Star → L1 drivers → L2 diagnostics), and an
|
|
15
|
+
anti-vanity rule that rejects metrics decoupled from revenue or retention impact.
|
|
16
|
+
It aligns teams around metrics that drive meaningful product decisions rather than
|
|
17
|
+
activity tracking.
|
|
18
|
+
|
|
19
|
+
It is part of the **product-layer pack** (XSPEC-069). Its tracking requirements
|
|
20
|
+
connect to the SRE observability primitives (`observability-standards`, `slo-sli`).
|
|
21
|
+
|
|
22
|
+
> **Scope.** This standard defines *metric selection and governance*. Concrete
|
|
23
|
+
> analytics tooling (Amplitude/Mixpanel) is an adoption choice. Service-level
|
|
24
|
+
> reliability metrics live in `slo-sli`; this is the product-outcome view.
|
|
25
|
+
|
|
26
|
+
## Requirements
|
|
27
|
+
|
|
28
|
+
| ID | Rule | Level |
|
|
29
|
+
|----|------|-------|
|
|
30
|
+
| REQ-001 | Framework selection matrix (AARRR / HEART / custom North Star) | MUST |
|
|
31
|
+
| REQ-002 | North Star criteria (leading, measurable, actionable, explainable) | MUST |
|
|
32
|
+
| REQ-003 | Metric hierarchy (max three levels) | MUST |
|
|
33
|
+
| REQ-004 | Anti-vanity rule | MUST |
|
|
34
|
+
|
|
35
|
+
### REQ-001 — Framework Selection Matrix
|
|
36
|
+
|
|
37
|
+
Teams MUST select a primary metrics framework appropriate to their product type:
|
|
38
|
+
**Growth products** (consumer apps, marketplaces, viral products) → **AARRR**
|
|
39
|
+
(Acquisition, Activation, Retention, Referral, Revenue); **Experience products**
|
|
40
|
+
(productivity tools, B2B SaaS) → **HEART** (Happiness, Engagement, Adoption,
|
|
41
|
+
Retention, Task Success); **Platform products** (developer platforms, APIs) →
|
|
42
|
+
a **custom North Star** reflecting platform value delivered, supplemented by AARRR
|
|
43
|
+
or HEART components. Framework selection MUST be documented in the PRD or product
|
|
44
|
+
strategy document.
|
|
45
|
+
|
|
46
|
+
### REQ-002 — North Star Criteria
|
|
47
|
+
|
|
48
|
+
Every product MUST define exactly one North Star metric satisfying all four
|
|
49
|
+
criteria: (1) **Leading indicator** — predicts future business health rather than
|
|
50
|
+
measuring past outcomes; (2) **Measurable and trackable** — computable from
|
|
51
|
+
available data with a defined cadence (weekly/monthly); (3) **Actionable by the
|
|
52
|
+
team** — the product team has direct levers to influence it; (4) **Explainable in
|
|
53
|
+
one sentence**. The North Star MUST be reviewed and reconfirmed at each annual
|
|
54
|
+
product planning cycle.
|
|
55
|
+
|
|
56
|
+
### REQ-003 — Metric Hierarchy
|
|
57
|
+
|
|
58
|
+
Teams MUST structure metrics in a hierarchy of at most three levels. **Level 1
|
|
59
|
+
(North Star)**: one metric for overall product value. **Level 2 (L1 drivers)**:
|
|
60
|
+
3–5 metrics that directly influence the North Star, each with a documented causal
|
|
61
|
+
hypothesis. **Level 3 (L2 diagnostics)**: per-feature/per-team metrics explaining
|
|
62
|
+
movements in L1 drivers (max 3 per driver). Metrics beyond three levels are
|
|
63
|
+
PROHIBITED — they indicate measurement fragmentation rather than focus.
|
|
64
|
+
|
|
65
|
+
### REQ-004 — Anti-Vanity Rule
|
|
66
|
+
|
|
67
|
+
Teams MUST apply the anti-vanity test before adding any metric to the official
|
|
68
|
+
dashboard. A metric fails if it can increase while revenue and retention stay flat
|
|
69
|
+
or decrease; such metrics MUST NOT appear in official product reviews or be used as
|
|
70
|
+
feature success criteria. Common failures: total registered users (no active
|
|
71
|
+
filter), raw pageviews (no session-quality filter), total API calls (no unique
|
|
72
|
+
active-customer filter), press mentions, downloads without activation. When a
|
|
73
|
+
vanity metric is useful operationally, it MUST be labeled "operational indicator,
|
|
74
|
+
not success metric."
|
|
75
|
+
|
|
76
|
+
## Anti-Patterns
|
|
77
|
+
|
|
78
|
+
- Tracking vanity metrics (total signups, raw pageviews) as primary success indicators.
|
|
79
|
+
- No North Star defined — teams optimize different local metrics, creating misalignment.
|
|
80
|
+
- Conflicting team metrics where one team's optimization harms another's.
|
|
81
|
+
- Metric hierarchy deeper than three levels — complexity without insight.
|
|
82
|
+
- Changing the North Star quarterly, preventing year-over-year trend analysis.
|
|
83
|
+
|
|
84
|
+
## Integration with Existing Standards
|
|
85
|
+
|
|
86
|
+
- **`prd-standards`** — PRD success metrics are drawn from this hierarchy.
|
|
87
|
+
- **`observability-standards` / `slo-sli`** — the *tracking* of product metrics
|
|
88
|
+
reuses the SRE metric/observability primitives; reliability SLOs stay in `slo-sli`.
|
|
89
|
+
- **`user-story-mapping`** — story acceptance criteria tie to a North Star driver.
|
|
90
|
+
|
|
91
|
+
## Related Specs
|
|
92
|
+
|
|
93
|
+
- XSPEC-069 — UDS product-layer pack (this standard's source)
|
|
94
|
+
- XSPEC-063 — SRE pack (`observability-standards`, `slo-sli`)
|
|
95
|
+
|
|
96
|
+
## Changelog
|
|
97
|
+
|
|
98
|
+
| Version | Date | Changes |
|
|
99
|
+
|---------|------|---------|
|
|
100
|
+
| v1.0.0 | 2026-06-17 | Initial — REQ-001~004: framework matrix, North Star criteria, metric hierarchy, anti-vanity rule (XSPEC-069) |
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
> **Language**: English | [繁體中文](../locales/zh-TW/core/project-context-memory.md)
|
|
4
4
|
|
|
5
|
-
**Version**: 1.
|
|
6
|
-
**Last Updated**: 2026-
|
|
5
|
+
**Version**: 1.2.0
|
|
6
|
+
**Last Updated**: 2026-06-18
|
|
7
7
|
**Applicability**: All software projects using AI assistants
|
|
8
8
|
**Scope**: uds-specific
|
|
9
9
|
|
|
@@ -200,6 +200,11 @@ Beta v5.1.0-beta.1 published on 2026-03-14.
|
|
|
200
200
|
| `updated_at` > 7 days old | Flag as stale, ask to archive or resume |
|
|
201
201
|
| All `remaining` steps completed | Suggest archiving the workflow state |
|
|
202
202
|
|
|
203
|
+
> The 7-day staleness window is a UDS default, configurable per project. Basis:
|
|
204
|
+
> a workflow state untouched for over a week is likely abandoned or superseded
|
|
205
|
+
> in short-cycle development; it aligns with the developer-memory staleness
|
|
206
|
+
> model. Lengthen it for long-running or part-time projects.
|
|
207
|
+
|
|
203
208
|
---
|
|
204
209
|
|
|
205
210
|
## 5. Comparison with Developer Memory
|
|
@@ -231,6 +236,7 @@ We use **Split-File Storage** (one Markdown file per topic) rather than a single
|
|
|
231
236
|
|
|
232
237
|
| Version | Date | Changes |
|
|
233
238
|
|---------|------|---------|
|
|
239
|
+
| 1.2.0 | 2026-06-18 | Added: rationale + configurable note for the 7-day staleness threshold (XSPEC-292 T8) |
|
|
234
240
|
| 1.1.0 | 2026-03-16 | Add `workflow-state` type for cross-session state tracking |
|
|
235
241
|
| 1.0.0 | 2026-02-09 | Initial standard definition |
|
|
236
242
|
|
|
@@ -69,7 +69,7 @@ The comment is mandatory. PRs that update checksums without explanatory comments
|
|
|
69
69
|
|
|
70
70
|
- [LLM Output Validation](llm-output-validation.md) — schema-level validation
|
|
71
71
|
- [Adversarial Test](adversarial-test.md) — red-team corpus
|
|
72
|
-
- [Testing Standards](testing.md) — overall testing pyramid
|
|
72
|
+
- [Testing Standards](testing-standards.md) — overall testing pyramid
|
|
73
73
|
|
|
74
74
|
|
|
75
75
|
**Scope**: universal
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Git Push Safety Gates
|
|
2
|
+
|
|
3
|
+
> **Version**: 1.1.0 | **Status**: Active | **Updated**: 2026-07-09
|
|
4
|
+
> **AI-optimized version**: `ai/standards/push-standards.ai.yaml`
|
|
5
|
+
> **Spec**: XSPEC-081 (cross-project/specs/XSPEC-081-uds-push-skill.md)
|
|
6
|
+
|
|
7
|
+
**Scope**: universal
|
|
8
|
+
**Applicability**: Any project using Git, invoking the `/push` skill or an equivalent
|
|
9
|
+
AI-assisted push workflow
|
|
10
|
+
|
|
11
|
+
## Overview
|
|
12
|
+
|
|
13
|
+
This standard defines the safety gates an AI assistant MUST apply around `git push`:
|
|
14
|
+
protected-branch detection, force-push guardrails, pre-push quality gates, and a
|
|
15
|
+
structured push-receipt audit trail. It is the safety layer that sits between "tests
|
|
16
|
+
pass locally" and "code lands on a shared branch" — its job is to stop unsafe pushes
|
|
17
|
+
before they happen and to leave a durable record of every push that does happen.
|
|
18
|
+
|
|
19
|
+
## Configuration
|
|
20
|
+
|
|
21
|
+
| Setting | Default | Notes |
|
|
22
|
+
|---------|---------|-------|
|
|
23
|
+
| `protected_branches` | `["main", "master", "release/*", "hotfix/*"]` | Branches requiring explicit confirmation before push |
|
|
24
|
+
| `push_gates` | default: `["lint", "test"]`; optional: `["ac-coverage", "type-check", "security-scan"]` | Quality gates run before pushing |
|
|
25
|
+
| `push_gates.test_scope` | `"full"` (choices: `"full"`, `"changed"`) | `"changed"` runs only tests affected by the diff via the project's test impact analysis tooling (e.g. `vitest --changed`), if configured. This is a fast local pre-check only — it does not replace the project's CI/full-suite run, which remains the authoritative gate |
|
|
26
|
+
| `receipt.output` | `"console"` (choices: `console`, `file`, `both`) | Where the push receipt is written |
|
|
27
|
+
| `receipt.file_path` | `~/.uds/push-history.jsonl` | Append-only JSON-lines history when `file` output is enabled |
|
|
28
|
+
| `auto_pr` | `true` | Prompt to create a PR after pushing to a non-protected branch |
|
|
29
|
+
| `repo_mode` | `"team"` (choices: `team`, `single-owner`) | `single-owner` skips PR prompts and reduces collaboration guardrails |
|
|
30
|
+
|
|
31
|
+
## Rules
|
|
32
|
+
|
|
33
|
+
| Rule | Trigger | Instruction | Priority |
|
|
34
|
+
|------|---------|--------------|----------|
|
|
35
|
+
| `detect-protected-branch` | Executing `/push` | Detect the target branch. If it matches any `protected_branches` pattern: display a warning with the branch name, show what commits will be pushed, require explicit user confirmation, and abort without pushing if not confirmed | required |
|
|
36
|
+
| `force-push-guardrail` | Push with `--force` detected | Calculate commits that will be overwritten on the remote, show their count and authors, require the user to type a confirmation string (e.g. "yes, force push"), and record `force_push: true` in the receipt | required |
|
|
37
|
+
| `pre-push-gates` | Before executing `git push` | Run all configured `push_gates` in sequence (lint, test, and any optional gates enabled); if any gate fails, abort the push, show which gate failed, and suggest a fix. The `test` gate respects `push_gates.test_scope`: `"full"` (default) runs the complete suite; `"changed"` runs only the diff-affected subset via the project's test impact tooling and does **not** count as a substitute for the project's own CI/full-suite run. With `--skip-gates`, push without gates and record `gates_skipped: true` | required |
|
|
38
|
+
| `push-receipt` | After a successful push | Output a structured push receipt (see schema below); if `receipt.output` includes `file`, append it as a JSON line to `~/.uds/push-history.jsonl` | required |
|
|
39
|
+
| `pr-integration` | After a successful push to a non-protected branch | If `auto_pr` is true AND `repo_mode` is `team`: check whether an open PR exists for this branch; if not, prompt the user to run `pr-automation-assistant`. Skip entirely if `auto_pr` is false or `repo_mode` is `single-owner` | suggested |
|
|
40
|
+
| `single-owner-mode` | `repo_mode: single-owner` is configured | Skip all collaboration-specific steps: no PR prompts, reduced force-push warnings (still warn, but no confirmation text required). Protected-branch detection remains active regardless of `repo_mode` | recommended |
|
|
41
|
+
|
|
42
|
+
## Push Receipt Schema
|
|
43
|
+
|
|
44
|
+
Every successful push MUST produce a receipt with the following fields:
|
|
45
|
+
|
|
46
|
+
| Field | Type | Description |
|
|
47
|
+
|-------|------|--------------|
|
|
48
|
+
| `branch` | string | Target branch name |
|
|
49
|
+
| `commit_sha` | string | HEAD commit SHA (short) |
|
|
50
|
+
| `gates_passed` | string[] | List of gates that ran and passed |
|
|
51
|
+
| `gates_skipped` | boolean | Whether `--skip-gates` was used |
|
|
52
|
+
| `force_push` | boolean | Whether this was a force push |
|
|
53
|
+
| `timestamp` | ISO 8601 string | Push time |
|
|
54
|
+
| `target_remote` | string | Remote the push was sent to |
|
|
55
|
+
|
|
56
|
+
## Anti-Patterns
|
|
57
|
+
|
|
58
|
+
- **Silent force-push** — overwriting remote history without showing the user which
|
|
59
|
+
commits/authors will be lost.
|
|
60
|
+
- **Skipping gates without a trace** — running with `--skip-gates` but not recording
|
|
61
|
+
`gates_skipped: true`, which makes the receipt misleading.
|
|
62
|
+
- **PR-prompting in single-owner repos** — nagging a single-owner repository to open a
|
|
63
|
+
PR against itself; `repo_mode: single-owner` exists precisely to suppress this.
|
|
64
|
+
- **Protected-branch bypass** — treating `single-owner-mode` as a reason to also skip
|
|
65
|
+
protected-branch confirmation; the two are independent. Protected-branch detection
|
|
66
|
+
always stays active.
|
|
67
|
+
|
|
68
|
+
## Related Standards
|
|
69
|
+
|
|
70
|
+
- **`git-workflow`** — branching strategy this standard's protected-branch list assumes
|
|
71
|
+
- **`checkin-standards`** — pre-commit quality gates that `push_gates` extends to the
|
|
72
|
+
pre-push moment
|
|
73
|
+
- **`pr-automation-assistant`** (skill) — invoked by the `pr-integration` rule
|
|
74
|
+
- **`audit-trail`** — the push receipt is a lightweight, project-local analogue of a
|
|
75
|
+
compliance-grade audit record
|
|
76
|
+
|
|
77
|
+
## Changelog
|
|
78
|
+
|
|
79
|
+
| Version | Date | Changes |
|
|
80
|
+
|---------|------|---------|
|
|
81
|
+
| v1.0.0 | 2026-04-23 | Initial — protected-branch detection, force-push guardrail, pre-push gates, push receipt, PR integration, single-owner mode (XSPEC-081) |
|
|
82
|
+
| v1.1.0 | 2026-07-09 | Add `push_gates.test_scope` (`full`/`changed`) — layered test gate exception so `test` can run a diff-affected subset locally without downgrading the project's authoritative full-suite gate (XSPEC-326) |
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
> **Language**: English | [繁體中文](../locales/zh-TW/core/refactoring-standards.md)
|
|
4
4
|
|
|
5
|
-
**Version**: 2.
|
|
6
|
-
**Last Updated**: 2026-01
|
|
5
|
+
**Version**: 2.2.0
|
|
6
|
+
**Last Updated**: 2026-07-01
|
|
7
7
|
**Applicability**: All software projects undertaking code improvement initiatives
|
|
8
8
|
**Scope**: partial
|
|
9
9
|
**Industry Standards**: ISO/IEC 25010 Maintainability
|
|
@@ -98,9 +98,12 @@ This standard defines comprehensive guidelines for code refactoring, covering ev
|
|
|
98
98
|
|--------|--------|------|
|
|
99
99
|
| **Cyclomatic Complexity** | < 10 per function | Static analysis |
|
|
100
100
|
| **Cognitive Complexity** | Lower is better | SonarQube |
|
|
101
|
-
| **Code Duplication** | < 3% | Static analysis |
|
|
101
|
+
| **Code Duplication (textual)** | < 3% | Static analysis |
|
|
102
|
+
| **Semantic Duplication** | 0 unmanaged domain facts | Golden / architecture test (see below) |
|
|
102
103
|
| **Test Coverage** | ≥ 80% | Coverage tools |
|
|
103
104
|
|
|
105
|
+
> **Textual vs. semantic duplication**: The `Code Duplication` metric only detects *textual* duplication (near-identical token sequences). It cannot detect *semantic* duplication — the same domain fact re-implemented in several places, or a derived aggregate persisted without an enforced binding to its source. Copies that are not byte-for-byte identical (paraphrased logic, a formula that is right in one place and wrong in another) pass static analysis while still drifting apart. Semantic duplication must be governed by golden tests and architecture tests (see [Semantic Duplication & Copy-Drift](#semantic-duplication--copy-drift)), not by the static-analysis threshold above.
|
|
106
|
+
|
|
104
107
|
### ISO/IEC 25010 Maintainability Goals
|
|
105
108
|
|
|
106
109
|
| Sub-characteristic | Indicator | Goal |
|
|
@@ -113,6 +116,41 @@ This standard defines comprehensive guidelines for code refactoring, covering ev
|
|
|
113
116
|
|
|
114
117
|
---
|
|
115
118
|
|
|
119
|
+
## Semantic Duplication & Copy-Drift
|
|
120
|
+
|
|
121
|
+
Textual-duplication metrics catch copy-paste, but they miss the more dangerous case: the **same domain fact implemented in more than one place**. When those implementations are not byte-identical — a paraphrased classification, a formula that is correct in one call site and subtly wrong in another, a total that is stored separately from the rows it summarizes — they pass static analysis and then **drift apart independently**, producing bugs that look unrelated but share a single root cause.
|
|
122
|
+
|
|
123
|
+
### Anti-pattern: Copy-Drift
|
|
124
|
+
|
|
125
|
+
Copy-Drift occurs when either:
|
|
126
|
+
|
|
127
|
+
- A single domain fact (a classification, a rule, a calculation) is **re-implemented at multiple call sites** instead of being computed by one shared unit; or
|
|
128
|
+
- A **derived value is persisted** (a stored aggregate, counter, or denormalized field) **without an enforced relationship to its source**, so each write path can update it independently.
|
|
129
|
+
|
|
130
|
+
Because the copies are not literally identical, textual-duplication tooling reports nothing. The divergence surfaces later as inconsistency: a list view disagreeing with a detail view, a stored counter double-counting because one update path's decrement branch was commented out, or the same formula giving different answers in different modules.
|
|
131
|
+
|
|
132
|
+
### Pattern: Single Source of Truth / Derive-Don't-Duplicate
|
|
133
|
+
|
|
134
|
+
- **One unit per fact.** Extract each domain fact into a **single** classifier / calculator / resolver. Every call site calls it — no re-implementations, no paraphrases.
|
|
135
|
+
- **Derive, don't store.** Prefer computing the value on read over persisting a second copy. A value that is always derived cannot drift.
|
|
136
|
+
- **If an aggregate must be stored**, treat it as a **projection of its detail rows**, and recompute it at a **single choke point** — for example a `SaveChanges` interceptor, or one shared `recompute()` function — so that *every* write path (including async jobs and failure write-backs) goes through the same recomputation and stays consistent. **Never** let an individual path apply an incremental `col = col + delta` adjustment to a stored aggregate; incremental adjustments are exactly how decrement/rollback branches get skipped and counters diverge.
|
|
137
|
+
- **Lock it with tests.** Use a **golden test** to pin the single source of truth, and add an **architecture test** that fails if the rule is redefined anywhere else, so a future copy is rejected at CI rather than discovered in production.
|
|
138
|
+
|
|
139
|
+
### Migration Corollary — Intentional-Divergence Registry
|
|
140
|
+
|
|
141
|
+
When a new system **intentionally** diverges from legacy behavior, record it — otherwise a later "fix" will silently revert it. A common case during a port: a legacy *function* returns X, but the legacy *pipeline* downstream reconciles it to Y; the port folds that reconciliation into the single unit so the function now returns Y directly.
|
|
142
|
+
|
|
143
|
+
- Register each intentional divergence in an **intentional-divergence registry** (legacy behavior, new behavior, rationale, owning fact).
|
|
144
|
+
- Pin the new behavior with a **golden test** so a future "correction" back to legacy fails the build.
|
|
145
|
+
- Feed the registry into any **differential test** against legacy so the divergence is treated as *expected*, not flagged as a regression.
|
|
146
|
+
|
|
147
|
+
### Note for Adopters
|
|
148
|
+
|
|
149
|
+
- Per-function legacy-vs-new diffing produces **candidates, not verdicts**. Every candidate must be adjudicated against the **entire** legacy pipeline (not just the one function) before it can be called a bug — the legacy pipeline may already reconcile the apparent difference downstream.
|
|
150
|
+
- Extract legacy function bodies **programmatically / token-based** (not by hand) so you do not reintroduce transcription errors while investigating transcription errors.
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
116
154
|
## PR Size Guidelines
|
|
117
155
|
|
|
118
156
|
| Size | Lines Changed | Review Time | Recommendation |
|
|
@@ -157,6 +195,8 @@ This standard defines comprehensive guidelines for code refactoring, covering ev
|
|
|
157
195
|
## Related Standards
|
|
158
196
|
|
|
159
197
|
- [Test-Driven Development](test-driven-development.md) - TDD cycle including refactoring phase
|
|
198
|
+
- [Testing Standards](testing-standards.md) - Golden tests and architecture tests for locking a single source of truth
|
|
199
|
+
- [Test Governance](test-governance.md) - Governing semantic-duplication and intentional-divergence checks in CI
|
|
160
200
|
- [Code Review Checklist](code-review-checklist.md) - Refactoring PR review guidelines
|
|
161
201
|
- [Commit Message Guide](commit-message-guide.md) - `refactor` commit type
|
|
162
202
|
- [Code Check-in Standards](checkin-standards.md) - Pre-commit requirements
|
|
@@ -167,6 +207,7 @@ This standard defines comprehensive guidelines for code refactoring, covering ev
|
|
|
167
207
|
|
|
168
208
|
| Version | Date | Changes |
|
|
169
209
|
|---------|------|---------|
|
|
210
|
+
| 2.2.0 | 2026-07-01 | Added Semantic Duplication & Copy-Drift (issue #142): Copy-Drift anti-pattern, Single Source of Truth / Derive-Don't-Duplicate pattern, Intentional-Divergence Registry migration corollary; split duplication metric into textual vs. semantic |
|
|
170
211
|
| 2.1.0 | 2026-01-29 | Refactored: Split into Rules + Guide, moved detailed patterns to guide |
|
|
171
212
|
| 2.0.0 | 2026-01-21 | Major restructure: Added tactical strategies, Anti-Corruption Layer |
|
|
172
213
|
| 1.0.0 | 2026-01-12 | Initial refactoring standards definition |
|
|
@@ -83,7 +83,7 @@ describe("Guardian replay fixtures", () => {
|
|
|
83
83
|
|
|
84
84
|
- [Adversarial Test Standards](adversarial-test.md) — red-team corpus
|
|
85
85
|
- [Verification Evidence Standards](verification-evidence.md) — AC traceability
|
|
86
|
-
- [Testing Standards](testing.md) — overall test pyramid
|
|
86
|
+
- [Testing Standards](testing-standards.md) — overall test pyramid
|
|
87
87
|
|
|
88
88
|
|
|
89
89
|
**Scope**: universal
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Requirement Engineering Standards
|
|
2
2
|
|
|
3
|
-
**Version**: 1.
|
|
4
|
-
**Last Updated**: 2026-
|
|
3
|
+
**Version**: 1.1.0
|
|
4
|
+
**Last Updated**: 2026-07-10
|
|
5
5
|
**Applicability**: All software projects
|
|
6
6
|
**Scope**: universal
|
|
7
7
|
**Industry Standards**: IEEE 830-1998, IEEE 29148-2018, SWEBOK v4.0
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
# Resource / Cost Boundary Declaration Standards
|
|
2
|
+
|
|
3
|
+
> **Version**: 1.0.0 | **Status**: Active | **Updated**: 2026-06-17
|
|
4
|
+
> **AI-optimized version**: `ai/standards/resource-cost-boundary.ai.yaml`
|
|
5
|
+
> **Spec**: XSPEC-277 (cross-project/specs/XSPEC-277-resource-cost-boundary-standard.md)
|
|
6
|
+
|
|
7
|
+
**Scope**: universal
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
The resource consumption of an agentic / LLM execution unit (a pipeline run, an agent, a
|
|
12
|
+
role) is **often implicit**: token usage, loop/iteration count, retry count, per-run cost
|
|
13
|
+
ceiling, wall-clock, call rate. When those bounds are not **explicitly declared and
|
|
14
|
+
enforced**, runaway loops and token burn are a known LLM-native failure mode — **cost burn**.
|
|
15
|
+
|
|
16
|
+
This standard makes the **resource/cost boundary a first-class, machine-readable, fail-closed
|
|
17
|
+
declaration**. Any LLM execution unit MUST declare its resource budget; a breach at runtime
|
|
18
|
+
MUST fail-closed per the declared behaviour. It is the **cost dimension** of boundary
|
|
19
|
+
materialization (XSPEC-276): the one dimension for which UDS has no existing standard, and
|
|
20
|
+
which is concrete enough to be AI-executable — so it is split out as a narrow standard rather
|
|
21
|
+
than bundled into the broader (and overlapping) boundary framework.
|
|
22
|
+
|
|
23
|
+
> **Scope.** This standard defines the *declaration mechanism* (a budget taxonomy, a
|
|
24
|
+
> machine-readable `resource_budget:` block, a fail-closed gate). The **budget values
|
|
25
|
+
> belong to the adopter/customer** — they are a project decision. It standardizes *that*
|
|
26
|
+
> bounds are declared and enforced, not *which* numbers. Enforcement-engine wiring (e.g. the
|
|
27
|
+
> VibeOps proactive cost governance executor) is a downstream adoption concern; this standard
|
|
28
|
+
> is the "declare what bounds" half, XSPEC-285 is the "enforce/govern" half.
|
|
29
|
+
|
|
30
|
+
## Why a Standard (not a per-unit setting)
|
|
31
|
+
|
|
32
|
+
VibeOps already has cost mechanisms, but **scattered and unstandardized** — each is a point
|
|
33
|
+
mechanism with no single standard saying "every LLM execution unit MUST declare its resource
|
|
34
|
+
boundary, and a breach MUST fail-closed." A new unit (a new agent/role) easily misses one
|
|
35
|
+
budget → unbounded. This standard converges those point mechanisms onto one declaration.
|
|
36
|
+
|
|
37
|
+
| Existing mechanism (becomes a reference implementation) | Budget kind |
|
|
38
|
+
|---|---|
|
|
39
|
+
| orchestrator quality profile `max_retries` / `max_retry_budget_usd` (per-task fix-loop) | retry / cost_usd |
|
|
40
|
+
| BudgetGuard / PoC abort `max_cost_per_session_usd` / `min_cache_hit_ratio` (XSPEC-191) | cost_usd / rate |
|
|
41
|
+
| Pareto Evolution Gate token-cost dimension (DEC-024) | token / cost_usd |
|
|
42
|
+
| agent-loop `maxToolRounds` / `maxTotalTokens` | iteration / token |
|
|
43
|
+
|
|
44
|
+
## Resource Budget Taxonomy
|
|
45
|
+
|
|
46
|
+
| Kind | Bound | Typical breach |
|
|
47
|
+
|------|-------|----------------|
|
|
48
|
+
| `token` | input / output / total token ceiling | prompt/output explosion |
|
|
49
|
+
| `iteration` | loop / iteration / tool-round upper bound | runaway loop |
|
|
50
|
+
| `retry` | retry upper bound | unbounded re-attempt |
|
|
51
|
+
| `cost_usd` | per-call / per-run / per-session cost ceiling | silent budget burn |
|
|
52
|
+
| `wallclock` | timeout | hung run |
|
|
53
|
+
| `rate` | call frequency | call storm |
|
|
54
|
+
|
|
55
|
+
## Requirements
|
|
56
|
+
|
|
57
|
+
| ID | Rule | Level |
|
|
58
|
+
|----|------|-------|
|
|
59
|
+
| REQ-001 | Resource budget taxonomy — declare bounds from a standard set of kinds | MUST |
|
|
60
|
+
| REQ-002 | Machine-readable `resource_budget:` declaration (kind + limit + breach behaviour) | MUST |
|
|
61
|
+
| REQ-003 | Fail-closed enforcement gate (undeclared → warn/block; runtime breach → abort) | MUST |
|
|
62
|
+
| REQ-004 | Existing mechanisms converge as reference implementations (no re-invention) | SHOULD |
|
|
63
|
+
| REQ-005 | Budget value sovereignty — mechanism standard, values owned by the adopter | SHOULD |
|
|
64
|
+
|
|
65
|
+
### REQ-001 — Resource Budget Taxonomy
|
|
66
|
+
|
|
67
|
+
Every LLM execution unit's resource bounds MUST be expressible from a standard set of kinds:
|
|
68
|
+
`token` (input/output/total), `iteration` (loop/iteration/tool-round cap), `retry` (retry
|
|
69
|
+
cap), `cost_usd` (per-call / per-run / per-session ceiling), `wallclock` (timeout), and
|
|
70
|
+
`rate` (call frequency). A unit need not declare every kind, but the kinds it relies on for
|
|
71
|
+
safety MUST be declared (an unbounded relied-upon kind is a violation).
|
|
72
|
+
|
|
73
|
+
### REQ-002 — Machine-Readable Declaration
|
|
74
|
+
|
|
75
|
+
A `resource_budget:` block MUST be declarable (embedded in a plan / agent / role config),
|
|
76
|
+
with each entry carrying a **kind + limit value + breach behaviour** (`warn` / `abort`).
|
|
77
|
+
The declaration is a first-class artifact the generator/runtime can read — not a scattered
|
|
78
|
+
setting or an after-the-fact review note.
|
|
79
|
+
|
|
80
|
+
```yaml
|
|
81
|
+
resource_budget:
|
|
82
|
+
- kind: cost_usd # per-run cost ceiling
|
|
83
|
+
scope: per_run
|
|
84
|
+
limit: 3.00
|
|
85
|
+
on_breach: abort
|
|
86
|
+
- kind: iteration # tool-round / loop cap
|
|
87
|
+
limit: 60
|
|
88
|
+
on_breach: abort
|
|
89
|
+
- kind: retry
|
|
90
|
+
limit: 3
|
|
91
|
+
on_breach: warn
|
|
92
|
+
- kind: token
|
|
93
|
+
scope: total
|
|
94
|
+
limit: 400000
|
|
95
|
+
on_breach: abort
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### REQ-003 — Fail-Closed Enforcement Gate
|
|
99
|
+
|
|
100
|
+
A quality gate `check-resource-budget` MUST: (a) flag any LLM execution unit that does **not
|
|
101
|
+
declare** a budget — `warn` by default, `block` in strict mode; and (b) on a **runtime
|
|
102
|
+
breach**, fail-closed per the declared `on_breach` (`abort` halts the unit, `warn` records
|
|
103
|
+
and continues). This mirrors the fail-closed posture of `capability-declaration`
|
|
104
|
+
(XSPEC-037) and the governance-gate family — never a silent unbounded pass.
|
|
105
|
+
|
|
106
|
+
### REQ-004 — Converge Existing Mechanisms
|
|
107
|
+
|
|
108
|
+
Existing point mechanisms (orchestrator `max_retries` / `max_retry_budget_usd`, XSPEC-191
|
|
109
|
+
BudgetGuard, DEC-024 Pareto token gate, XSPEC-270 right-sizing router) SHOULD be **mapped to
|
|
110
|
+
this standard as reference implementations** — unified, not re-implemented. New units inherit
|
|
111
|
+
the declaration habit rather than re-inventing a budget knob.
|
|
112
|
+
|
|
113
|
+
### REQ-005 — Budget Value Sovereignty
|
|
114
|
+
|
|
115
|
+
The declaration *mechanism* is standardized; the *budget values* (the actual ceilings) are
|
|
116
|
+
owned by the adopter/customer (a project/economics decision). The standard mandates *that*
|
|
117
|
+
bounds are declared and enforced, not *which* numbers.
|
|
118
|
+
|
|
119
|
+
## Principles
|
|
120
|
+
|
|
121
|
+
| ID | Principle |
|
|
122
|
+
|----|-----------|
|
|
123
|
+
| P-1 | Bounds are Explicit — resource budgets are declared, not implicit in someone's head |
|
|
124
|
+
| P-2 | Machine-Readable — a generator/runtime can read the `resource_budget:` block first-class |
|
|
125
|
+
| P-3 | Fail-Closed — undeclared relied-upon bound, or a runtime breach, blocks/aborts; never silent |
|
|
126
|
+
| P-4 | No Re-Invention — existing point mechanisms converge as reference implementations |
|
|
127
|
+
| P-5 | Value Sovereignty — mechanism standard, ceiling values owned by the adopter |
|
|
128
|
+
|
|
129
|
+
## Gate Timing
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
plan / agent / role config (resource_budget: block)
|
|
133
|
+
│
|
|
134
|
+
├─→ [check-resource-budget — declaration check] ← REQ-003(a), pre-run
|
|
135
|
+
│ undeclared relied-upon bound ──→ warn (strict: block)
|
|
136
|
+
↓
|
|
137
|
+
run (token / iteration / retry / cost / wallclock / rate metered)
|
|
138
|
+
│
|
|
139
|
+
└─→ runtime breach ──→ fail-closed per on_breach ← REQ-003(b) (abort / warn)
|
|
140
|
+
│
|
|
141
|
+
record breach for audit / cost-governance executor (XSPEC-285)
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Boundaries with Adjacent Standards (admission condition 3)
|
|
145
|
+
|
|
146
|
+
This standard collects **only the cost/resource dimension**, to avoid the overlap that kept
|
|
147
|
+
the broader boundary framework (XSPEC-276) out of the standard library.
|
|
148
|
+
|
|
149
|
+
| Adjacent standard | Its angle | Why distinct (<30% overlap) |
|
|
150
|
+
|---|---|---|
|
|
151
|
+
| `performance-standards` | latency / throughput *targets* | targets, not a fail-closed cost ceiling |
|
|
152
|
+
| `model-selection` | choose a model *tier* | tier selection, not budget enforcement |
|
|
153
|
+
| `capability-declaration` (XSPEC-037) | explicit capability + fail-closed | capability surface, not resource budget |
|
|
154
|
+
|
|
155
|
+
## Integration with Existing Standards
|
|
156
|
+
|
|
157
|
+
- **`performance-standards`** — performance sets latency/throughput targets; this standard
|
|
158
|
+
sets fail-closed resource ceilings. Adjacent, complementary, distinct.
|
|
159
|
+
- **`model-selection`** — right-sizing picks a model tier; a `cost_usd` breach can *drive* a
|
|
160
|
+
downgrade (XSPEC-270 router), but the budget declaration is this standard's concern.
|
|
161
|
+
- **`test-governance`** — `check-resource-budget` is a governed gate; budget declarations are
|
|
162
|
+
governed policy.
|
|
163
|
+
- **`verification-evidence`** — a breach/no-breach run report is a kind of verification
|
|
164
|
+
evidence (budgets honoured + trace).
|
|
165
|
+
|
|
166
|
+
## Related Specs
|
|
167
|
+
|
|
168
|
+
- XSPEC-277 — Resource / Cost Boundary Declaration complete spec (this standard's source)
|
|
169
|
+
- XSPEC-276 — LLM-native boundary materialization (parent lens; cost is the split-out dimension)
|
|
170
|
+
- XSPEC-285 — VibeOps proactive cost governance (the enforcement/executor face of this standard)
|
|
171
|
+
- XSPEC-191 — Unit-economics PoC / BudgetGuard (reference implementation)
|
|
172
|
+
- XSPEC-270 — Model right-sizing router (cost-driven downgrade)
|
|
173
|
+
- XSPEC-037 — Capability declaration (fail-closed posture this standard mirrors)
|
|
174
|
+
- DEC-024 — Pareto evolution token-cost gate (reference implementation)
|
|
175
|
+
|
|
176
|
+
## Changelog
|
|
177
|
+
|
|
178
|
+
| Version | Date | Changes |
|
|
179
|
+
|---------|------|---------|
|
|
180
|
+
| v1.0.0 | 2026-06-17 | Initial — REQ-001~005: resource budget taxonomy, machine-readable `resource_budget:` declaration, fail-closed `check-resource-budget` gate, convergence of existing mechanisms as reference implementations, budget value sovereignty (XSPEC-277) |
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Reverse Engineering Standards | 反向工程標準
|
|
2
2
|
|
|
3
|
-
**Version**: 1.
|
|
4
|
-
**Last Updated**: 2026-
|
|
3
|
+
**Version**: 1.2.0
|
|
4
|
+
**Last Updated**: 2026-06-27
|
|
5
5
|
**Applicability**: All projects requiring code-to-specification transformation
|
|
6
6
|
**Scope**: uds-specific
|
|
7
7
|
**Industry Standards**: IEEE 830-1998, SWEBOK v4.0 Chapter 9
|
|
@@ -51,10 +51,52 @@ This standard defines the principles, workflows, and best practices for reverse
|
|
|
51
51
|
|-------|-------------|--------|-----------------|
|
|
52
52
|
| **Code Scanning** | Analyze code structure, APIs, data models | Technical inventory | [Confirmed] |
|
|
53
53
|
| **Test Analysis** | Parse existing tests for acceptance criteria | Draft acceptance criteria | [Confirmed]/[Inferred] |
|
|
54
|
+
| **Implicit Rule Scan** | Scan non-HTTP persistence write paths for undocumented rules | Implicit-rule inventory + three-question answers | [Confirmed]/[Inferred]/[Unknown] |
|
|
54
55
|
| **Gap Identification** | List unknowns requiring human input | Gap analysis document | [Unknown] items |
|
|
55
56
|
| **Spec Generation** | Generate draft specification | Draft SPEC-XXX.md | Mixed certainty |
|
|
56
57
|
| **Human Review** | Stakeholder validation and gap filling | Validated specification | [Confirmed] |
|
|
57
58
|
|
|
59
|
+
> **Note (v1.2.0)**: An **Implicit Rule Scan** stage is inserted after Code Scanning / Test Analysis and before Gap Identification — see [Implicit Rule Scan (Non-HTTP Persistence Rules)](#implicit-rule-scan-non-http-persistence-rules) below. Standard code scanning extracts HTTP entry points and data models, but persistent field values are frequently written by **non-HTTP paths** (cron, queue, computed columns, triggers, ORM hooks) whose business rules are never documented — the highest-frequency source of missed logic in a cross-language rewrite or cross-DB migration.
|
|
60
|
+
|
|
61
|
+
---
|
|
62
|
+
|
|
63
|
+
## Implicit Rule Scan (Non-HTTP Persistence Rules)
|
|
64
|
+
|
|
65
|
+
> **Workflow position**: after Code Scanning / Test Analysis, before Gap Identification.
|
|
66
|
+
|
|
67
|
+
Code scanning extracts what is reachable through HTTP — routes, controllers, request handlers. But a persisted field's value is often decided **off the request path**: a nightly cron flips a status, a queue retry re-stamps a timestamp, a database trigger derives a total, an ORM lifecycle hook zeroes a counter. Those rules are rarely written down, so a rewrite that only mirrors the HTTP surface silently drops them. This stage mechanically derives every non-HTTP write path and locks each implicit rule as a verifiable artifact.
|
|
68
|
+
|
|
69
|
+
### Derive (mechanical list source)
|
|
70
|
+
|
|
71
|
+
Scan the legacy system for every **non-HTTP persistence write path** across four categories:
|
|
72
|
+
|
|
73
|
+
1. **Scheduled** — crontab entries, scheduler config, `@Scheduled`-style annotations, batch jobs
|
|
74
|
+
2. **Queue** — queue consumers, job handlers, background workers, message listeners
|
|
75
|
+
3. **DB-layer** — triggers, computed/generated columns, `DEFAULT` expressions, check constraints
|
|
76
|
+
4. **ORM lifecycle** — `beforeSave`/`afterSave`/observer/model-event hooks, middleware that mutates persistent state
|
|
77
|
+
|
|
78
|
+
### Oracle (detect) — three questions per field
|
|
79
|
+
|
|
80
|
+
For each persistent field written by a non-HTTP path, answer and lock **three questions**:
|
|
81
|
+
|
|
82
|
+
| Question | What to capture |
|
|
83
|
+
|----------|-----------------|
|
|
84
|
+
| **When is it SET?** | The condition/trigger that first assigns the value |
|
|
85
|
+
| **When is it OVERWRITTEN?** | Every later write — **including asynchronous overwrites** (links back to post-cutover aggregate reconciliation) |
|
|
86
|
+
| **When is it RESET / zeroed?** | The conditions that clear or default the value back |
|
|
87
|
+
|
|
88
|
+
- Extend the **Devil's Advocate** challenge from the HTTP layer to **cover non-HTTP paths**: apply the same five adversarial categories (boundary, ordering, concurrency, failure/retry, null/default) to cron conditions, queue retries, computed columns, and trigger logic.
|
|
89
|
+
- Tag every extracted rule with a certainty level: `[Confirmed]` (with a `file:line` citation) / `[Inferred]` / `[Unknown]`. Every `[Unknown]` is handed to Gap Identification for a human — it is never guessed.
|
|
90
|
+
- **Output**: lock each implicit rule as a **behavior-snapshot scenario** or a **reconciliation invariant** (e.g. `SUM(cost) GROUP BY status` must hold across cutover), so the rule becomes a re-runnable oracle rather than prose.
|
|
91
|
+
|
|
92
|
+
### Gate timing
|
|
93
|
+
|
|
94
|
+
Pre-flight (planning). Any non-HTTP write field whose three questions are unanswered is marked `not_implemented` and **blocks cutover** — an undeclared implicit rule is treated as a known omission risk, not an acceptable gap.
|
|
95
|
+
|
|
96
|
+
### PHP-specific note: loose comparison / type juggling
|
|
97
|
+
|
|
98
|
+
When scanning PHP write paths, additionally flag **loose-comparison / type-juggling** dependencies: `==` comparisons, the truthy/falsy behavior of `"0"` / `""` / `null` / `0`, and automatic string-to-number coercion. These have no direct equivalent under a strongly-typed target (e.g. C#/.NET), so the implicit rule they encode is a high-frequency source of silently-dropped logic during a cross-language rewrite. Mark each such site `[Confirmed]` with `file:line` and lock the intended semantics as an explicit rule.
|
|
99
|
+
|
|
58
100
|
---
|
|
59
101
|
|
|
60
102
|
## Core Principles
|
|
@@ -300,6 +342,26 @@ Use reverse-engineered specifications to identify test coverage gaps:
|
|
|
300
342
|
|
|
301
343
|
---
|
|
302
344
|
|
|
345
|
+
## Failure Handling & Escalation
|
|
346
|
+
|
|
347
|
+
Reverse engineering infers intent from existing code; some inputs cannot be
|
|
348
|
+
analyzed safely. This section defines the failure → escalate → re-verify path so
|
|
349
|
+
a low-confidence or unparseable input never produces a spec that looks
|
|
350
|
+
authoritative.
|
|
351
|
+
|
|
352
|
+
| Condition | Trigger | Action | Re-verify |
|
|
353
|
+
|-----------|---------|--------|-----------|
|
|
354
|
+
| **Parse failure** | Source cannot be parsed (unsupported language, broken syntax tree) | Mark the unit `[Unknown]` and report the language/file; escalate to a human domain expert. Emit no inferred behavior for it. | Source parses after tooling/fix |
|
|
355
|
+
| **High unknown ratio** | `[Unknown]` items exceed the confidence threshold (default > 50% of behaviors) | Halt spec finalization; require a subject-matter-expert interview to fill `[Unknown]` items first. Do not ship a majority-guessed spec. | Unknown ratio below threshold |
|
|
356
|
+
| **Contradicted inference** | Code contradicts a previously inferred behavior | Downgrade the item to `[Assumption]` and escalate to the code owner; never record a contradicted inference as `[Confirmed]`. | Owner confirms or corrects |
|
|
357
|
+
| **Test-analysis failure** | Existing tests cannot be run/parsed for behavior extraction | Fall back to static analysis only; mark affected behaviors `[Inferred]` (lower certainty), never `[Confirmed]`. | — |
|
|
358
|
+
|
|
359
|
+
**Rule RE-FAIL-001 (Required)**: A parse failure or an above-threshold
|
|
360
|
+
`[Unknown]` ratio MUST block spec finalization and escalate to a human — never
|
|
361
|
+
present a sub-threshold-confidence spec as authoritative.
|
|
362
|
+
|
|
363
|
+
---
|
|
364
|
+
|
|
303
365
|
## Anti-Patterns to Avoid
|
|
304
366
|
|
|
305
367
|
### Code Analysis Anti-Patterns
|
|
@@ -383,6 +445,8 @@ Use reverse-engineered specifications to identify test coverage gaps:
|
|
|
383
445
|
|
|
384
446
|
| Version | Date | Changes |
|
|
385
447
|
|---------|------|---------|
|
|
448
|
+
| 1.2.0 | 2026-06-27 | Added: Implicit Rule Scan stage (non-HTTP persistence write-path extraction) — 4 derive categories + three-question oracle + non-HTTP Devil's Advocate + PHP type-juggling note + certainty/`file:line` (XSPEC-284 R4/AC-8) |
|
|
449
|
+
| 1.1.0 | 2026-06-18 | Added: Failure Handling & Escalation section — parse failure / high-unknown-ratio / contradicted-inference escalation + rule RE-FAIL-001 (XSPEC-292 T7) |
|
|
386
450
|
| 1.0.0 | 2026-01-19 | Initial release |
|
|
387
451
|
|
|
388
452
|
---
|