universal-dev-standards 5.16.0 → 6.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/uds.js +13 -135
- package/bundled/ai/standards/acceptance-criteria-traceability.ai.yaml +13 -4
- package/bundled/ai/standards/accessibility-standards.ai.yaml +1 -1
- package/bundled/ai/standards/ai-response-navigation.ai.yaml +15 -2
- package/bundled/ai/standards/api-design-standards.ai.yaml +27 -4
- package/bundled/ai/standards/behavior-snapshot.ai.yaml +86 -9
- package/bundled/ai/standards/checkin-standards.ai.yaml +2 -2
- package/bundled/ai/standards/code-review.ai.yaml +2 -2
- package/bundled/ai/standards/context-aware-loading.ai.yaml +3 -3
- package/bundled/ai/standards/data-migration-testing.ai.yaml +79 -3
- package/bundled/ai/standards/deprecation-standards.ai.yaml +10 -2
- package/bundled/ai/standards/developer-memory.ai.yaml +4 -3
- package/bundled/ai/standards/flow-based-testing.ai.yaml +2 -2
- package/bundled/ai/standards/forward-derivation-standards.ai.yaml +26 -2
- package/bundled/ai/standards/full-coverage-testing.ai.yaml +34 -2
- package/bundled/ai/standards/git-worktree.ai.yaml +3 -3
- package/bundled/ai/standards/logging.ai.yaml +97 -3
- package/bundled/ai/standards/mock-boundary.ai.yaml +48 -2
- package/bundled/ai/standards/model-provenance.ai.yaml +297 -0
- package/bundled/ai/standards/model-selection.ai.yaml +11 -2
- package/bundled/ai/standards/observability-standards.ai.yaml +10 -0
- package/bundled/ai/standards/performance-standards.ai.yaml +46 -1
- package/bundled/ai/standards/pii-classification.ai.yaml +15 -1
- package/bundled/ai/standards/pipeline-security-gates.ai.yaml +10 -0
- package/bundled/ai/standards/privacy-standards.ai.yaml +2 -2
- package/bundled/ai/standards/project-context-memory.ai.yaml +2 -2
- package/bundled/ai/standards/refactoring-standards.ai.yaml +68 -3
- package/bundled/ai/standards/resource-cost-boundary.ai.yaml +279 -0
- package/bundled/ai/standards/reverse-engineering-standards.ai.yaml +55 -2
- package/bundled/ai/standards/security-testing.ai.yaml +13 -2
- package/bundled/ai/standards/skill-standard-alignment-check.ai.yaml +37 -2
- package/bundled/ai/standards/user-journey-testing.ai.yaml +107 -0
- package/bundled/ai/standards/verification-oracle.ai.yaml +278 -0
- package/bundled/ai/standards/versioning.ai.yaml +32 -38
- package/bundled/core/acceptance-criteria-traceability.md +15 -5
- package/bundled/core/accessibility-standards.md +8 -4
- package/bundled/core/ai-friendly-architecture.md +1 -1
- package/bundled/core/ai-response-navigation.md +31 -3
- package/bundled/core/anti-sycophancy-prompting.md +1 -1
- package/bundled/core/api-design-standards.md +92 -7
- package/bundled/core/audit-trail.md +119 -0
- package/bundled/core/behavior-snapshot.md +94 -7
- package/bundled/core/browser-compatibility-standards.md +15 -2
- package/bundled/core/checkin-standards.md +9 -2
- package/bundled/core/code-review-checklist.md +10 -2
- package/bundled/core/container-image-standards.md +97 -0
- package/bundled/core/context-aware-loading.md +2 -2
- package/bundled/core/cost-budget-test.md +1 -1
- package/bundled/core/cross-flow-regression.md +3 -2
- package/bundled/core/data-contract.md +104 -0
- package/bundled/core/data-migration-testing.md +90 -0
- package/bundled/core/data-pipeline.md +113 -0
- package/bundled/core/deprecation-standards.md +16 -2
- package/bundled/core/developer-memory.md +13 -8
- package/bundled/core/documentation-writing-standards.md +1 -1
- package/bundled/core/error-code-standards.md +4 -3
- package/bundled/core/flaky-test-management.md +1 -1
- package/bundled/core/flow-based-testing.md +3 -3
- package/bundled/core/forward-derivation-standards.md +33 -5
- package/bundled/core/full-coverage-testing.md +72 -0
- package/bundled/core/git-worktree.md +4 -4
- package/bundled/core/guides/performance-guide.md +1 -1
- package/bundled/core/guides/security-guide.md +1 -1
- package/bundled/core/health-check-standards.md +2 -2
- package/bundled/core/iac-design-principles.md +97 -0
- package/bundled/core/incident-response.md +119 -0
- package/bundled/core/license-compliance.md +2 -0
- package/bundled/core/logging-standards.md +78 -2
- package/bundled/core/mock-boundary.md +54 -2
- package/bundled/core/model-provenance.md +181 -0
- package/bundled/core/model-selection.md +27 -2
- package/bundled/core/packaging-standards.md +1 -0
- package/bundled/core/performance-standards.md +96 -2
- package/bundled/core/pii-classification.md +148 -0
- package/bundled/core/pipeline-security-gates.md +22 -2
- package/bundled/core/postmortem-standards.md +2 -0
- package/bundled/core/prd-standards.md +91 -0
- package/bundled/core/privacy-standards.md +14 -3
- package/bundled/core/product-metrics-standards.md +100 -0
- package/bundled/core/project-context-memory.md +8 -2
- package/bundled/core/prompt-regression.md +1 -1
- package/bundled/core/refactoring-standards.md +44 -3
- package/bundled/core/replay-test.md +1 -1
- package/bundled/core/resource-cost-boundary.md +180 -0
- package/bundled/core/reverse-engineering-standards.md +66 -2
- package/bundled/core/runbook.md +113 -0
- package/bundled/core/schema-evolution.md +105 -0
- package/bundled/core/secret-management-standards.md +110 -0
- package/bundled/core/security-testing.md +26 -2
- package/bundled/core/self-review-protocol.md +2 -2
- package/bundled/core/skill-standard-alignment-check.md +53 -0
- package/bundled/core/slo-sli.md +109 -0
- package/bundled/core/smoke-test.md +1 -1
- package/bundled/core/spec-driven-development.md +21 -3
- package/bundled/core/tech-debt-standards.md +1 -1
- package/bundled/core/test-data-standards.md +2 -2
- package/bundled/core/user-journey-testing.md +102 -0
- package/bundled/core/user-story-mapping.md +96 -0
- package/bundled/core/verification-oracle.md +167 -0
- package/bundled/core/versioning.md +133 -109
- package/bundled/locales/COVERAGE.md +84 -73
- package/bundled/locales/zh-CN/CHANGELOG.md +81 -6
- package/bundled/locales/zh-CN/CLAUDE.md +1 -1
- package/bundled/locales/zh-CN/README.md +22 -9
- package/bundled/locales/zh-CN/SECURITY.md +1 -1
- package/bundled/locales/zh-CN/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
- package/bundled/locales/zh-CN/core/acceptance-criteria-traceability.md +4 -6
- package/bundled/locales/zh-CN/core/accessibility-standards.md +1 -1
- package/bundled/locales/zh-CN/core/adversarial-test.md +226 -0
- package/bundled/locales/zh-CN/core/agent-behavior-discipline.md +187 -0
- package/bundled/locales/zh-CN/core/ai-response-navigation.md +32 -6
- package/bundled/locales/zh-CN/core/anti-sycophancy-prompting.md +1 -1
- package/bundled/locales/zh-CN/core/api-design-standards.md +1 -1
- package/bundled/locales/zh-CN/core/behavior-snapshot.md +335 -0
- package/bundled/locales/zh-CN/core/browser-compatibility-standards.md +229 -0
- package/bundled/locales/zh-CN/core/cd-deployment-strategies.md +135 -0
- package/bundled/locales/zh-CN/core/chaos-injection-tests.md +130 -0
- package/bundled/locales/zh-CN/core/checkin-standards.md +1 -1
- package/bundled/locales/zh-CN/core/code-review-checklist.md +1 -1
- package/bundled/locales/zh-CN/core/container-security.md +535 -0
- package/bundled/locales/zh-CN/core/context-aware-loading.md +1 -1
- package/bundled/locales/zh-CN/core/contract-testing-standards.md +191 -0
- package/bundled/locales/zh-CN/core/cost-budget-test.md +86 -0
- package/bundled/locales/zh-CN/core/cross-flow-regression.md +199 -0
- package/bundled/locales/zh-CN/core/data-migration-testing.md +217 -0
- package/bundled/locales/zh-CN/core/deployment-standards.md +328 -9
- package/bundled/locales/zh-CN/core/deprecation-standards.md +1 -1
- package/bundled/locales/zh-CN/core/developer-memory.md +2 -2
- package/bundled/locales/zh-CN/core/disaster-recovery-drill.md +87 -0
- package/bundled/locales/zh-CN/core/documentation-structure.md +1 -1
- package/bundled/locales/zh-CN/core/documentation-writing-standards.md +1 -1
- package/bundled/locales/zh-CN/core/error-code-standards.md +2 -2
- package/bundled/locales/zh-CN/core/feature-manifest-standard.md +222 -0
- package/bundled/locales/zh-CN/core/flaky-test-management.md +87 -0
- package/bundled/locales/zh-CN/core/flow-based-testing.md +284 -0
- package/bundled/locales/zh-CN/core/forward-derivation-standards.md +3 -4
- package/bundled/locales/zh-CN/core/full-coverage-testing.md +197 -0
- package/bundled/locales/zh-CN/core/git-worktree.md +1 -1
- package/bundled/locales/zh-CN/core/governance-layer.md +160 -0
- package/bundled/locales/zh-CN/core/guides/performance-guide.md +515 -0
- package/bundled/locales/zh-CN/core/guides/security-guide.md +494 -0
- package/bundled/locales/zh-CN/core/knowledge-graph-memory.md +128 -0
- package/bundled/locales/zh-CN/core/license-compliance.md +129 -0
- package/bundled/locales/zh-CN/core/llm-output-validation.md +192 -0
- package/bundled/locales/zh-CN/core/logging-standards.md +130 -8
- package/bundled/locales/zh-CN/core/mock-boundary.md +109 -0
- package/bundled/locales/zh-CN/core/model-selection.md +28 -5
- package/bundled/locales/zh-CN/core/mutation-testing.md +106 -0
- package/bundled/locales/zh-CN/core/no-cicd-deployment.md +219 -0
- package/bundled/locales/zh-CN/core/packaging-standards.md +76 -5
- package/bundled/locales/zh-CN/core/pipeline-security-gates.md +126 -0
- package/bundled/locales/zh-CN/core/policy-as-code-testing.md +203 -0
- package/bundled/locales/zh-CN/core/privacy-standards.md +1 -1
- package/bundled/locales/zh-CN/core/project-context-memory.md +1 -1
- package/bundled/locales/zh-CN/core/prompt-regression.md +88 -0
- package/bundled/locales/zh-CN/core/property-based-testing.md +87 -0
- package/bundled/locales/zh-CN/core/release-quality-manifest.md +207 -0
- package/bundled/locales/zh-CN/core/release-readiness-gate.md +193 -0
- package/bundled/locales/zh-CN/core/replay-test.md +102 -0
- package/bundled/locales/zh-CN/core/reverse-engineering-standards.md +46 -1
- package/bundled/locales/zh-CN/core/rollback-standards.md +120 -0
- package/bundled/locales/zh-CN/core/sast-advanced.md +309 -0
- package/bundled/locales/zh-CN/core/secure-op.md +328 -0
- package/bundled/locales/zh-CN/core/security-testing.md +96 -0
- package/bundled/locales/zh-CN/core/self-review-protocol.md +167 -0
- package/bundled/locales/zh-CN/core/server-ops-security.md +507 -0
- package/bundled/locales/zh-CN/core/smoke-test.md +79 -0
- package/bundled/locales/zh-CN/core/spec-driven-development.md +55 -5
- package/bundled/locales/zh-CN/core/supply-chain-attestation.md +131 -0
- package/bundled/locales/zh-CN/core/versioning.md +1 -1
- package/bundled/locales/zh-CN/docs/CHEATSHEET.md +31 -6
- package/bundled/locales/zh-CN/docs/FEATURE-REFERENCE.md +61 -34
- package/bundled/locales/zh-CN/docs/MIGRATION-v6.md +88 -0
- package/bundled/locales/zh-CN/docs/USAGE-MODES-COMPARISON.md +2 -2
- package/bundled/locales/zh-CN/docs/USER-MANUAL.md +14 -14
- package/bundled/locales/zh-CN/docs/specs/system/memory-adoption-strategy.md +105 -0
- package/bundled/locales/zh-CN/docs/user/FAQ.md +132 -0
- package/bundled/locales/zh-CN/docs/user/GETTING-STARTED.md +144 -0
- package/bundled/locales/zh-CN/docs/user/GLOSSARY.md +178 -0
- package/bundled/locales/zh-CN/docs/user/README.md +70 -0
- package/bundled/locales/zh-CN/docs/user/TROUBLESHOOTING.md +190 -0
- package/bundled/locales/zh-CN/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
- package/bundled/locales/zh-CN/integrations/github-copilot/README.md +1 -1
- package/bundled/locales/zh-CN/integrations/github-copilot/skills-mapping.md +3 -3
- package/bundled/locales/zh-CN/integrations/opencode/skills-mapping.md +3 -3
- package/bundled/locales/zh-CN/methodologies/guides/sdd-guide.md +836 -0
- package/bundled/locales/zh-CN/options/changelog/auto-generated.md +166 -0
- package/bundled/locales/zh-CN/options/changelog/keep-a-changelog.md +140 -0
- package/bundled/locales/zh-CN/options/code-review/automated-review.md +214 -0
- package/bundled/locales/zh-CN/options/code-review/pair-programming.md +166 -0
- package/bundled/locales/zh-CN/options/code-review/pr-review.md +167 -0
- package/bundled/locales/zh-CN/options/documentation/api-docs.md +191 -0
- package/bundled/locales/zh-CN/options/documentation/markdown-docs.md +150 -0
- package/bundled/locales/zh-CN/options/documentation/wiki-style.md +131 -0
- package/bundled/locales/zh-CN/options/project-structure/kotlin.md +144 -0
- package/bundled/locales/zh-CN/options/project-structure/php.md +168 -0
- package/bundled/locales/zh-CN/options/project-structure/ruby.md +156 -0
- package/bundled/locales/zh-CN/options/project-structure/rust.md +136 -0
- package/bundled/locales/zh-CN/options/project-structure/swift.md +165 -0
- package/bundled/locales/zh-CN/options/testing/contract-testing.md +237 -0
- package/bundled/locales/zh-CN/options/testing/industry-pyramid.md +200 -0
- package/bundled/locales/zh-CN/options/testing/istqb-framework.md +144 -0
- package/bundled/locales/zh-CN/options/testing/performance-testing.md +251 -0
- package/bundled/locales/zh-CN/options/testing/security-testing.md +192 -0
- package/bundled/locales/zh-CN/skills/README.md +89 -126
- package/bundled/locales/zh-CN/skills/ac-coverage/SKILL.md +5 -7
- package/bundled/locales/zh-CN/skills/adr-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/agents/code-architect.md +263 -0
- package/bundled/locales/zh-CN/skills/agents/doc-writer.md +410 -0
- package/bundled/locales/zh-CN/skills/agents/reviewer.md +357 -0
- package/bundled/locales/zh-CN/skills/agents/spec-analyst.md +410 -0
- package/bundled/locales/zh-CN/skills/agents/test-specialist.md +368 -0
- package/bundled/locales/zh-CN/skills/ai-collaboration-standards/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/ai-friendly-architecture/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/ai-instruction-standards/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
- package/bundled/locales/zh-CN/skills/atdd-assistant/atdd-workflow.md +3 -4
- package/bundled/locales/zh-CN/skills/audit-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/bdd-assistant/guide.md +1 -2
- package/bundled/locales/zh-CN/skills/brainstorm-assistant/SKILL.md +109 -13
- package/bundled/locales/zh-CN/skills/brainstorm-assistant/guide.md +30 -8
- package/bundled/locales/zh-CN/skills/checkin-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/ci-cd-assistant/SKILL.md +50 -0
- package/bundled/locales/zh-CN/skills/code-review-assistant/SKILL.md +5 -5
- package/bundled/locales/zh-CN/skills/commands/ac-coverage.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/atdd.md +3 -3
- package/bundled/locales/zh-CN/skills/commands/bdd.md +2 -2
- package/bundled/locales/zh-CN/skills/commands/brainstorm.md +26 -17
- package/bundled/locales/zh-CN/skills/commands/{review.md → code-review.md} +4 -4
- package/bundled/locales/zh-CN/skills/commands/derive-all.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/derive-atdd.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/derive-bdd.md +2 -3
- package/bundled/locales/zh-CN/skills/commands/derive-tdd.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/derive.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/dev-workflow.md +2 -2
- package/bundled/locales/zh-CN/skills/commands/methodology.md +4 -4
- package/bundled/locales/zh-CN/skills/commands/pr.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/tdd.md +1 -1
- package/bundled/locales/zh-CN/skills/commit-standards/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/contract-test-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/dev-methodology/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/dev-methodology/create-methodology.md +456 -0
- package/bundled/locales/zh-CN/skills/dev-methodology/guide.md +6 -6
- package/bundled/locales/zh-CN/skills/dev-methodology/runtime.md +296 -0
- package/bundled/locales/zh-CN/skills/dev-workflow-guide/SKILL.md +5 -5
- package/bundled/locales/zh-CN/skills/docs-generator/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/e2e-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/incident-response-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/journey-test-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/logging-guide/SKILL.md +146 -142
- package/bundled/locales/zh-CN/skills/migration-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/observability-assistant/guide.md +1 -1
- package/bundled/locales/zh-CN/skills/pr-automation-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/project-discovery/guide.md +2 -2
- package/bundled/locales/zh-CN/skills/reverse-engineer/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/runbook-assistant/guide.md +1 -1
- package/bundled/locales/zh-CN/skills/security-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/skill-builder/SKILL.md +3 -3
- package/bundled/locales/zh-CN/skills/slo-assistant/guide.md +1 -1
- package/bundled/locales/zh-CN/skills/spec-derivation/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/spec-derivation/guide.md +8 -9
- package/bundled/locales/zh-CN/skills/spec-driven-dev/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/sweep/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/tdd-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/testing-guide/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/testing-guide/testing-theory.md +2298 -0
- package/bundled/locales/zh-CN/skills/workflows/README.md +451 -0
- package/bundled/locales/zh-TW/CHANGELOG.md +81 -6
- package/bundled/locales/zh-TW/CLAUDE.md +1 -1
- package/bundled/locales/zh-TW/MAINTENANCE.md +25 -2
- package/bundled/locales/zh-TW/README.md +22 -9
- package/bundled/locales/zh-TW/SECURITY.md +1 -1
- package/bundled/locales/zh-TW/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
- package/bundled/locales/zh-TW/ai/standards/versioning.ai.yaml +8 -48
- package/bundled/locales/zh-TW/core/acceptance-criteria-traceability.md +4 -6
- package/bundled/locales/zh-TW/core/accessibility-standards.md +1 -1
- package/bundled/locales/zh-TW/core/adversarial-test.md +226 -0
- package/bundled/locales/zh-TW/core/agent-behavior-discipline.md +187 -0
- package/bundled/locales/zh-TW/core/ai-response-navigation.md +32 -6
- package/bundled/locales/zh-TW/core/anti-sycophancy-prompting.md +1 -1
- package/bundled/locales/zh-TW/core/api-design-standards.md +91 -9
- package/bundled/locales/zh-TW/core/audit-trail.md +110 -0
- package/bundled/locales/zh-TW/core/behavior-snapshot.md +335 -0
- package/bundled/locales/zh-TW/core/browser-compatibility-standards.md +1 -0
- package/bundled/locales/zh-TW/core/cd-deployment-strategies.md +135 -0
- package/bundled/locales/zh-TW/core/chaos-injection-tests.md +130 -0
- package/bundled/locales/zh-TW/core/checkin-standards.md +1 -1
- package/bundled/locales/zh-TW/core/code-review-checklist.md +1 -1
- package/bundled/locales/zh-TW/core/container-image-standards.md +93 -0
- package/bundled/locales/zh-TW/core/container-security.md +535 -0
- package/bundled/locales/zh-TW/core/cost-budget-test.md +86 -0
- package/bundled/locales/zh-TW/core/cross-flow-regression.md +1 -0
- package/bundled/locales/zh-TW/core/data-contract.md +101 -0
- package/bundled/locales/zh-TW/core/data-migration-testing.md +217 -0
- package/bundled/locales/zh-TW/core/data-pipeline.md +105 -0
- package/bundled/locales/zh-TW/core/deployment-standards.md +363 -25
- package/bundled/locales/zh-TW/core/deprecation-standards.md +17 -4
- package/bundled/locales/zh-TW/core/developer-memory.md +2 -2
- package/bundled/locales/zh-TW/core/disaster-recovery-drill.md +87 -0
- package/bundled/locales/zh-TW/core/documentation-writing-standards.md +1 -1
- package/bundled/locales/zh-TW/core/error-code-standards.md +2 -2
- package/bundled/locales/zh-TW/core/feature-manifest-standard.md +222 -0
- package/bundled/locales/zh-TW/core/flaky-test-management.md +87 -0
- package/bundled/locales/zh-TW/core/flow-based-testing.md +284 -0
- package/bundled/locales/zh-TW/core/forward-derivation-standards.md +3 -4
- package/bundled/locales/zh-TW/core/full-coverage-testing.md +250 -0
- package/bundled/locales/zh-TW/core/git-worktree.md +1 -1
- package/bundled/locales/zh-TW/core/guides/performance-guide.md +515 -0
- package/bundled/locales/zh-TW/core/guides/security-guide.md +494 -0
- package/bundled/locales/zh-TW/core/iac-design-principles.md +90 -0
- package/bundled/locales/zh-TW/core/incident-response.md +111 -0
- package/bundled/locales/zh-TW/core/license-compliance.md +129 -0
- package/bundled/locales/zh-TW/core/llm-output-validation.md +192 -0
- package/bundled/locales/zh-TW/core/logging-standards.md +208 -4
- package/bundled/locales/zh-TW/core/mock-boundary.md +161 -0
- package/bundled/locales/zh-TW/core/model-provenance.md +173 -0
- package/bundled/locales/zh-TW/core/model-selection.md +28 -5
- package/bundled/locales/zh-TW/core/mutation-testing.md +106 -0
- package/bundled/locales/zh-TW/core/no-cicd-deployment.md +219 -0
- package/bundled/locales/zh-TW/core/packaging-standards.md +76 -5
- package/bundled/locales/zh-TW/core/performance-standards.md +84 -5
- package/bundled/locales/zh-TW/core/pii-classification.md +102 -0
- package/bundled/locales/zh-TW/core/pipeline-security-gates.md +126 -0
- package/bundled/locales/zh-TW/core/policy-as-code-testing.md +203 -0
- package/bundled/locales/zh-TW/core/prd-standards.md +88 -0
- package/bundled/locales/zh-TW/core/privacy-standards.md +1 -1
- package/bundled/locales/zh-TW/core/product-metrics-standards.md +96 -0
- package/bundled/locales/zh-TW/core/project-context-memory.md +1 -1
- package/bundled/locales/zh-TW/core/prompt-regression.md +88 -0
- package/bundled/locales/zh-TW/core/property-based-testing.md +87 -0
- package/bundled/locales/zh-TW/core/refactoring-standards.md +43 -6
- package/bundled/locales/zh-TW/core/release-quality-manifest.md +207 -0
- package/bundled/locales/zh-TW/core/replay-test.md +102 -0
- package/bundled/locales/zh-TW/core/resource-cost-boundary.md +175 -0
- package/bundled/locales/zh-TW/core/reverse-engineering-standards.md +64 -5
- package/bundled/locales/zh-TW/core/rollback-standards.md +120 -0
- package/bundled/locales/zh-TW/core/runbook.md +110 -0
- package/bundled/locales/zh-TW/core/sast-advanced.md +309 -0
- package/bundled/locales/zh-TW/core/schema-evolution.md +98 -0
- package/bundled/locales/zh-TW/core/secret-management-standards.md +101 -0
- package/bundled/locales/zh-TW/core/secure-op.md +328 -0
- package/bundled/locales/zh-TW/core/security-testing.md +96 -0
- package/bundled/locales/zh-TW/core/self-review-protocol.md +2 -2
- package/bundled/locales/zh-TW/core/server-ops-security.md +507 -0
- package/bundled/locales/zh-TW/core/slo-sli.md +108 -0
- package/bundled/locales/zh-TW/core/smoke-test.md +79 -0
- package/bundled/locales/zh-TW/core/spec-driven-development.md +39 -13
- package/bundled/locales/zh-TW/core/supply-chain-attestation.md +131 -0
- package/bundled/locales/zh-TW/core/user-journey-testing.md +111 -0
- package/bundled/locales/zh-TW/core/user-story-mapping.md +94 -0
- package/bundled/locales/zh-TW/core/verification-oracle.md +159 -0
- package/bundled/locales/zh-TW/core/versioning.md +112 -112
- package/bundled/locales/zh-TW/docs/CHEATSHEET.md +31 -6
- package/bundled/locales/zh-TW/docs/DEV-WORKFLOW-MAPPING.md +6 -6
- package/bundled/locales/zh-TW/docs/FEATURE-REFERENCE.md +61 -34
- package/bundled/locales/zh-TW/docs/MIGRATION-v6.md +88 -0
- package/bundled/locales/zh-TW/docs/USAGE-MODES-COMPARISON.md +2 -2
- package/bundled/locales/zh-TW/docs/USER-MANUAL.md +14 -14
- package/bundled/locales/zh-TW/docs/specs/system/memory-adoption-strategy.md +105 -0
- package/bundled/locales/zh-TW/docs/user/FAQ.md +132 -0
- package/bundled/locales/zh-TW/docs/user/GETTING-STARTED.md +144 -0
- package/bundled/locales/zh-TW/docs/user/GLOSSARY.md +178 -0
- package/bundled/locales/zh-TW/docs/user/README.md +70 -0
- package/bundled/locales/zh-TW/docs/user/TROUBLESHOOTING.md +190 -0
- package/bundled/locales/zh-TW/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
- package/bundled/locales/zh-TW/integrations/github-copilot/README.md +1 -1
- package/bundled/locales/zh-TW/integrations/github-copilot/skills-mapping.md +3 -3
- package/bundled/locales/zh-TW/integrations/opencode/skills-mapping.md +3 -3
- package/bundled/locales/zh-TW/methodologies/guides/sdd-guide.md +523 -26
- package/bundled/locales/zh-TW/options/changelog/auto-generated.md +166 -0
- package/bundled/locales/zh-TW/options/changelog/keep-a-changelog.md +140 -0
- package/bundled/locales/zh-TW/options/code-review/automated-review.md +214 -0
- package/bundled/locales/zh-TW/options/code-review/pair-programming.md +166 -0
- package/bundled/locales/zh-TW/options/code-review/pr-review.md +167 -0
- package/bundled/locales/zh-TW/options/documentation/api-docs.md +191 -0
- package/bundled/locales/zh-TW/options/documentation/markdown-docs.md +150 -0
- package/bundled/locales/zh-TW/options/documentation/wiki-style.md +131 -0
- package/bundled/locales/zh-TW/options/project-structure/kotlin.md +144 -0
- package/bundled/locales/zh-TW/options/project-structure/php.md +168 -0
- package/bundled/locales/zh-TW/options/project-structure/ruby.md +156 -0
- package/bundled/locales/zh-TW/options/project-structure/rust.md +136 -0
- package/bundled/locales/zh-TW/options/project-structure/swift.md +165 -0
- package/bundled/locales/zh-TW/options/testing/contract-testing.md +237 -0
- package/bundled/locales/zh-TW/options/testing/industry-pyramid.md +200 -0
- package/bundled/locales/zh-TW/options/testing/istqb-framework.md +144 -0
- package/bundled/locales/zh-TW/options/testing/performance-testing.md +251 -0
- package/bundled/locales/zh-TW/options/testing/security-testing.md +192 -0
- package/bundled/locales/zh-TW/skills/README.md +91 -128
- package/bundled/locales/zh-TW/skills/ac-coverage/SKILL.md +4 -6
- package/bundled/locales/zh-TW/skills/adr-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/agents/code-architect.md +263 -0
- package/bundled/locales/zh-TW/skills/agents/doc-writer.md +410 -0
- package/bundled/locales/zh-TW/skills/agents/reviewer.md +357 -0
- package/bundled/locales/zh-TW/skills/agents/spec-analyst.md +410 -0
- package/bundled/locales/zh-TW/skills/agents/test-specialist.md +368 -0
- package/bundled/locales/zh-TW/skills/ai-collaboration-standards/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/ai-friendly-architecture/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/ai-instruction-standards/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/atdd-assistant/SKILL.md +2 -0
- package/bundled/locales/zh-TW/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
- package/bundled/locales/zh-TW/skills/atdd-assistant/atdd-workflow.md +3 -4
- package/bundled/locales/zh-TW/skills/audit-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/bdd-assistant/SKILL.md +2 -0
- package/bundled/locales/zh-TW/skills/bdd-assistant/guide.md +1 -2
- package/bundled/locales/zh-TW/skills/brainstorm-assistant/SKILL.md +110 -14
- package/bundled/locales/zh-TW/skills/brainstorm-assistant/guide.md +31 -7
- package/bundled/locales/zh-TW/skills/checkin-assistant/SKILL.md +3 -1
- package/bundled/locales/zh-TW/skills/ci-cd-assistant/SKILL.md +50 -0
- package/bundled/locales/zh-TW/skills/code-review-assistant/SKILL.md +7 -5
- package/bundled/locales/zh-TW/skills/commands/ac-coverage.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/atdd.md +3 -3
- package/bundled/locales/zh-TW/skills/commands/bdd.md +2 -2
- package/bundled/locales/zh-TW/skills/commands/brainstorm.md +26 -17
- package/bundled/locales/zh-TW/skills/commands/{review.md → code-review.md} +5 -5
- package/bundled/locales/zh-TW/skills/commands/derive-all.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/derive-atdd.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/derive-bdd.md +2 -3
- package/bundled/locales/zh-TW/skills/commands/derive-tdd.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/derive.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/dev-workflow.md +2 -2
- package/bundled/locales/zh-TW/skills/commands/methodology.md +4 -4
- package/bundled/locales/zh-TW/skills/commands/pr.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/tdd.md +1 -1
- package/bundled/locales/zh-TW/skills/commit-standards/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/contract-test-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/dev-methodology/create-methodology.md +456 -0
- package/bundled/locales/zh-TW/skills/dev-methodology/guide.md +5 -5
- package/bundled/locales/zh-TW/skills/dev-methodology/runtime.md +296 -0
- package/bundled/locales/zh-TW/skills/dev-workflow-guide/SKILL.md +5 -5
- package/bundled/locales/zh-TW/skills/docs-generator/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/e2e-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/incident-response-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/logging-guide/SKILL.md +29 -27
- package/bundled/locales/zh-TW/skills/migration-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/pr-automation-assistant/SKILL.md +3 -1
- package/bundled/locales/zh-TW/skills/project-discovery/guide.md +2 -2
- package/bundled/locales/zh-TW/skills/reverse-engineer/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/security-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/spec-derivation/guide.md +7 -8
- package/bundled/locales/zh-TW/skills/spec-driven-dev/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/sweep/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/tdd-assistant/SKILL.md +3 -1
- package/bundled/locales/zh-TW/skills/testing-guide/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/testing-guide/testing-theory.md +2298 -0
- package/bundled/locales/zh-TW/skills/workflows/README.md +451 -0
- package/bundled/skills/README.md +1 -1
- package/bundled/skills/ac-coverage/SKILL.md +17 -7
- package/bundled/skills/adr-assistant/SKILL.md +1 -1
- package/bundled/skills/agents/code-architect.md +1 -1
- package/bundled/skills/agents/doc-writer.md +1 -1
- package/bundled/skills/agents/reviewer.md +2 -2
- package/bundled/skills/agents/spec-analyst.md +1 -1
- package/bundled/skills/agents/test-specialist.md +1 -1
- package/bundled/skills/ai-collaboration-standards/SKILL.md +2 -2
- package/bundled/skills/ai-friendly-architecture/SKILL.md +2 -2
- package/bundled/skills/ai-instruction-standards/SKILL.md +1 -1
- package/bundled/skills/atdd-assistant/SKILL.md +7 -0
- package/bundled/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
- package/bundled/skills/atdd-assistant/atdd-workflow.md +6 -8
- package/bundled/skills/audit-assistant/SKILL.md +2 -2
- package/bundled/skills/bdd-assistant/SKILL.md +7 -0
- package/bundled/skills/bdd-assistant/guide.md +1 -2
- package/bundled/skills/brainstorm-assistant/SKILL.md +133 -11
- package/bundled/skills/brainstorm-assistant/guide.md +33 -5
- package/bundled/skills/checkin-assistant/SKILL.md +8 -1
- package/bundled/skills/ci-cd-assistant/SKILL.md +57 -0
- package/bundled/skills/code-review-assistant/SKILL.md +15 -8
- package/bundled/skills/commands/COMMAND-FAMILY-OVERVIEW.md +2 -2
- package/bundled/skills/commands/COMMAND-INDEX.json +3 -3
- package/bundled/skills/commands/README.md +2 -2
- package/bundled/skills/commands/ac-coverage.md +1 -1
- package/bundled/skills/commands/atdd.md +2 -2
- package/bundled/skills/commands/bdd.md +2 -2
- package/bundled/skills/commands/brainstorm.md +25 -14
- package/bundled/skills/commands/{review.md → code-review.md} +6 -6
- package/bundled/skills/commands/derive-all.md +1 -1
- package/bundled/skills/commands/derive-atdd.md +1 -1
- package/bundled/skills/commands/derive-bdd.md +2 -3
- package/bundled/skills/commands/derive-tdd.md +1 -1
- package/bundled/skills/commands/derive.md +1 -1
- package/bundled/skills/commands/dev-workflow.md +1 -1
- package/bundled/skills/commands/journey-test.md +45 -0
- package/bundled/skills/commands/methodology.md +4 -4
- package/bundled/skills/commands/pr.md +1 -1
- package/bundled/skills/commands/skill-builder.md +42 -0
- package/bundled/skills/commands/tdd.md +1 -1
- package/bundled/skills/dev-methodology/create-methodology.md +1 -1
- package/bundled/skills/dev-methodology/guide.md +1 -1
- package/bundled/skills/dev-methodology/runtime.md +1 -1
- package/bundled/skills/dev-workflow-guide/SKILL.md +3 -3
- package/bundled/skills/dev-workflow-guide/workflow-phases.md +3 -3
- package/bundled/skills/docs-generator/SKILL.md +3 -3
- package/bundled/skills/incident-response-assistant/SKILL.md +2 -2
- package/bundled/skills/logging-guide/SKILL.md +38 -2
- package/bundled/skills/migration-assistant/SKILL.md +226 -0
- package/bundled/skills/observability-assistant/SKILL.md +74 -0
- package/bundled/skills/pr-automation-assistant/SKILL.md +5 -1
- package/bundled/skills/project-discovery/guide.md +2 -2
- package/bundled/skills/push/SKILL.md +1 -1
- package/bundled/skills/release-standards/SKILL.md +19 -5
- package/bundled/skills/security-assistant/SKILL.md +1 -1
- package/bundled/skills/skill-builder/SKILL.md +1 -1
- package/bundled/skills/spec-derivation/guide.md +3 -4
- package/bundled/skills/spec-driven-dev/SKILL.md +27 -0
- package/bundled/skills/sweep/SKILL.md +1 -1
- package/bundled/skills/tdd-assistant/SKILL.md +8 -1
- package/bundled/skills/testing-guide/SKILL.md +1 -1
- package/bundled/skills/testing-guide/testing-theory.md +1 -1
- package/bundled/skills/workflows/README.md +2 -2
- package/package.json +3 -3
- package/src/commands/audit.js +30 -9
- package/src/commands/config.js +33 -2
- package/src/commands/hitl.js +14 -1
- package/src/commands/init.js +110 -58
- package/src/commands/quickstart.js +1 -2
- package/src/commands/release.js +51 -6
- package/src/commands/run-intent.js +9 -0
- package/src/commands/spec-split.js +27 -2
- package/src/commands/update.js +22 -6
- package/src/config/ai-agent-paths.js +3 -1
- package/src/i18n/messages.js +3 -102
- package/src/missions/MissionManager.js +44 -12
- package/src/utils/build-manifest.js +35 -3
- package/src/utils/friction-detector.js +71 -22
- package/src/utils/health-checker.js +29 -2
- package/src/utils/transaction.js +111 -0
- package/src/utils/version-promote.js +16 -0
- package/standards-registry.json +58 -146
- package/bundled/ai/standards/agent-communication-protocol.ai.yaml +0 -42
- package/bundled/ai/standards/agent-dispatch.ai.yaml +0 -42
- package/bundled/ai/standards/branch-completion.ai.yaml +0 -44
- package/bundled/ai/standards/change-batching-standards.ai.yaml +0 -44
- package/bundled/ai/standards/execution-history.ai.yaml +0 -42
- package/bundled/ai/standards/pipeline-integration-standards.ai.yaml +0 -42
- package/bundled/ai/standards/workflow-enforcement.ai.yaml +0 -44
- package/bundled/ai/standards/workflow-state-protocol.ai.yaml +0 -43
- package/src/commands/flow.js +0 -260
- package/src/commands/start.js +0 -372
- package/src/commands/sweep.js +0 -151
- package/src/commands/workflow.js +0 -681
|
@@ -8,8 +8,8 @@ standard:
|
|
|
8
8
|
description: AI 模型分級選擇策略
|
|
9
9
|
|
|
10
10
|
meta:
|
|
11
|
-
version: "2.0.
|
|
12
|
-
updated: "2026-
|
|
11
|
+
version: "2.0.1"
|
|
12
|
+
updated: "2026-06-10"
|
|
13
13
|
source: core/model-selection.md
|
|
14
14
|
description: "三層模型分級選擇策略 + 多模型池能力管理(XSPEC-027)"
|
|
15
15
|
inspired_by: superpowers/subagent-driven-development
|
|
@@ -176,6 +176,15 @@ standard:
|
|
|
176
176
|
action: "自動切換備用模型,上報 P1 Issue"
|
|
177
177
|
priority: critical
|
|
178
178
|
|
|
179
|
+
navigation_integration:
|
|
180
|
+
description: >
|
|
181
|
+
The ai-response-navigation standard (Rule R6, optional) allows next-step suggestion
|
|
182
|
+
options to carry a Tier annotation (〔model: Fast〕 / 〔model: Standard〕 / 〔model: Capable〕).
|
|
183
|
+
The complexity signals in this standard serve as the judgment basis for those annotations.
|
|
184
|
+
vendor_neutral_principle: >
|
|
185
|
+
Tier names (Fast / Standard / Capable) are vendor-agnostic labels.
|
|
186
|
+
Each platform independently maps these tiers to its available models.
|
|
187
|
+
|
|
179
188
|
physical_spec:
|
|
180
189
|
type: checklist
|
|
181
190
|
validator:
|
|
@@ -8,6 +8,16 @@ meta:
|
|
|
8
8
|
source: core/observability-standards.md
|
|
9
9
|
description: Three pillars observability framework (Logs, Metrics, Traces) with Golden Signals and maturity model
|
|
10
10
|
|
|
11
|
+
# XSPEC-070 Phase 2 — skill↔standard content-coverage audit.
|
|
12
|
+
# Consumed by scripts/check-skill-content-coverage.ts. The anchor skill
|
|
13
|
+
# (observability-assistant) is a thin launcher; require it to carry at least 30%
|
|
14
|
+
# of the standard's depth so a stale skeleton is flagged (CONTENT-003).
|
|
15
|
+
audit:
|
|
16
|
+
min_skill_ratio: 0.30
|
|
17
|
+
mandatory_keywords:
|
|
18
|
+
- golden signals
|
|
19
|
+
- maturity
|
|
20
|
+
|
|
11
21
|
three_pillars:
|
|
12
22
|
logs: "Discrete events — debugging, audit, error details (see logging.ai.yaml)"
|
|
13
23
|
metrics: "Numerical measurements over time — dashboards, alerting, capacity"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Performance Standards (AI-Optimized)
|
|
2
2
|
# Source: core/performance-standards.md
|
|
3
3
|
# Guide: core/guides/performance-guide.md
|
|
4
|
-
# Version: 1.
|
|
4
|
+
# Version: 1.2.0
|
|
5
5
|
|
|
6
6
|
iso25010_efficiency:
|
|
7
7
|
time_behavior: "Response time, throughput"
|
|
@@ -127,3 +127,48 @@ capacity_planning:
|
|
|
127
127
|
cpu: "Plan at 70%"
|
|
128
128
|
memory: "Plan at 80%"
|
|
129
129
|
storage: "Plan at 70%"
|
|
130
|
+
|
|
131
|
+
# XSPEC-286: Migration Non-Functional Parity (axis 6 of XSPEC-284 completeness matrix)
|
|
132
|
+
# Covers "function correct, data correct, but RUNS differently" omissions in a legacy rewrite.
|
|
133
|
+
# Differential oracle: legacy is the baseline, "no regression beyond declared tolerance" is pass.
|
|
134
|
+
migration_non_functional_parity:
|
|
135
|
+
axis: "6 (non-functional) of XSPEC-284 migration completeness matrix"
|
|
136
|
+
principle: "Legacy is the baseline; declared tolerance, not absolute target. Divergence self-reports."
|
|
137
|
+
why_gap: "General baseline/drift compares a version to its OWN prior baseline, not new-vs-legacy. Per-request and behavior-snapshot parity both pass while the system silently runs slower / loses a lock semantic."
|
|
138
|
+
derive: # R3 mechanized baseline capture
|
|
139
|
+
sources:
|
|
140
|
+
key_routes: "p50/p95/p99 latency per critical path"
|
|
141
|
+
hot_queries: "per-query latency, rows scanned (slow-query log)"
|
|
142
|
+
background_jobs: "job duration, throughput records/min"
|
|
143
|
+
connection_pool: "min/max connections, idle/connection timeout"
|
|
144
|
+
timeout_ratelimit: "per-endpoint timeout, requests/min, burst"
|
|
145
|
+
transaction_config: "isolation level"
|
|
146
|
+
note: "Captured set is both the regression baseline AND the resource/limit parity checklist."
|
|
147
|
+
regression_gate: # R1 performance regression differential
|
|
148
|
+
oracle: "measure new-system path, compare vs legacy baseline within declared tolerance"
|
|
149
|
+
default_tolerance:
|
|
150
|
+
p50_latency: "<= +10% vs legacy"
|
|
151
|
+
p95_latency: "<= +15% vs legacy"
|
|
152
|
+
p99_latency: "<= +20% vs legacy"
|
|
153
|
+
throughput: "<= -10% decrease vs legacy"
|
|
154
|
+
per_path_configurable: true
|
|
155
|
+
rollout: "shadow (measure-only) first to calibrate per-path tolerance, then promote to blocking"
|
|
156
|
+
gate_timing: [pre-UAT, post-cutover]
|
|
157
|
+
concurrency_isolation: # R2
|
|
158
|
+
method: "drive a race with concurrent stress, then assert DOMAIN INVARIANTS (not one-at-a-time output checks)"
|
|
159
|
+
invariants:
|
|
160
|
+
conservation: "SUM(balance) unchanged after N concurrent transfers"
|
|
161
|
+
uniqueness: "no duplicate sequence number under concurrent allocation"
|
|
162
|
+
no_lost_update: "committed write not silently replaced"
|
|
163
|
+
ordering: "events applied in guaranteed order under concurrency"
|
|
164
|
+
blocks_on: "isolation downgrade (e.g. SERIALIZABLE -> READ COMMITTED, removed row lock)"
|
|
165
|
+
boundary: "state-transition legality and temporal invariants owned by XSPEC-287 (axis 8); concurrency race owned here (axis 6)"
|
|
166
|
+
gate_timing: [pre-UAT]
|
|
167
|
+
resource_limit_parity: # R4
|
|
168
|
+
checklist: [request_timeout, rate_limit, connection_pool, batch_size, transaction_isolation]
|
|
169
|
+
rule: "each item matched OR has a declared justified delta; undeclared delta blocks cutover"
|
|
170
|
+
completeness_declaration:
|
|
171
|
+
derive: "Step1 mechanized baseline"
|
|
172
|
+
oracle: "Step2 regression differential + Step3 invariant assertions"
|
|
173
|
+
gate_timing: "pre-UAT + post-cutover"
|
|
174
|
+
reuse: "general baseline/drift + observability-assistant measurement; adds only migration before/after + concurrency-isolation semantics"
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
id: pii-classification
|
|
5
5
|
title: PII Classification and Handling Standards
|
|
6
|
-
version: "1.
|
|
6
|
+
version: "1.1.0"
|
|
7
7
|
status: Active
|
|
8
8
|
tags: [compliance, privacy, pii, gdpr, data-protection, security]
|
|
9
9
|
summary: |
|
|
@@ -107,3 +107,17 @@ requirements:
|
|
|
107
107
|
- "New feature: 'Save payment method' → PIA required (TIER-1 card data)"
|
|
108
108
|
- "PIA template: docs/templates/privacy-impact-assessment.md"
|
|
109
109
|
- "PIA outcome: fingerprint auth approved with biometric data stored only on-device"
|
|
110
|
+
|
|
111
|
+
# Hand-off contract (XSPEC-292 T16): how a classification reaches its consumers
|
|
112
|
+
hand_off:
|
|
113
|
+
trigger:
|
|
114
|
+
- "New feature design: REQ-006 PIA classifies new PII fields before implementation"
|
|
115
|
+
- "PR/scan time: a PII field with no tier is a blocking finding"
|
|
116
|
+
- "Data-dictionary change: tier added/removed -> re-notify consumers"
|
|
117
|
+
interface: "PII classification registry entry per field {field, tier, purpose, legal_basis, masking_rule, retention}; consumers register per data-contract REQ-005"
|
|
118
|
+
consumers:
|
|
119
|
+
- "logging-standards: applies masking_rule to TIER-1/2 in non-prod"
|
|
120
|
+
- "audit-trail: records access/export/erasure events"
|
|
121
|
+
- "security-standards: enforces encryption for TIER-1"
|
|
122
|
+
- "privacy/compliance owner: notified on new TIER-1 field or classification change"
|
|
123
|
+
state: "Found -> Classified -> Handled (masked/encrypted/retention) -> Verified; a field stuck in Found blocks release"
|
|
@@ -13,6 +13,7 @@ standard:
|
|
|
13
13
|
- "Secrets scan at pre-commit — block ALL commits containing secrets"
|
|
14
14
|
- "SAST after build — block Critical/High findings"
|
|
15
15
|
- "SCA + SBOM generation at package stage"
|
|
16
|
+
- "Attestation verification before deploy — verify artifact checksum, cosign signature, SLSA provenance (consume supply-chain-attestation output; never generate SBOM/signature without verifying it)"
|
|
16
17
|
- "DAST after staging deploy — warn on findings, require approval for Critical"
|
|
17
18
|
- "Never skip security gates with --force or emergency bypass without audit trail"
|
|
18
19
|
- "Treat security gate failures as pipeline failures, not warnings"
|
|
@@ -51,6 +52,14 @@ gate_positions:
|
|
|
51
52
|
block_on: ["Critical CVE with fix available"]
|
|
52
53
|
warn_on: ["High CVE", "outdated dependencies"]
|
|
53
54
|
sbom_format: ["spdx", "cyclonedx"]
|
|
55
|
+
pre_deploy_attestation:
|
|
56
|
+
type: attestation_verification
|
|
57
|
+
tools: ["cosign", "sha256sum", "slsa-verifier"]
|
|
58
|
+
scope: "packaged release artifact (archive / container image)"
|
|
59
|
+
block_on: ["signature verification failure", "checksum mismatch", "missing SLSA provenance"]
|
|
60
|
+
warn_on: ["SLSA level below target (>= L2 recommended for public release)"]
|
|
61
|
+
consumes: supply-chain-attestation
|
|
62
|
+
note: "Runs after package_stage, before deploy — closes the generate-but-never-verify gap"
|
|
54
63
|
|
|
55
64
|
bypass_policy:
|
|
56
65
|
allowed: false
|
|
@@ -66,6 +75,7 @@ failure_behavior:
|
|
|
66
75
|
integration_points:
|
|
67
76
|
secrets_vault: "Integrate with HashiCorp Vault or AWS Secrets Manager for secrets injection"
|
|
68
77
|
sbom_registry: "Upload SBOM to dependency-track or grype-db for continuous monitoring"
|
|
78
|
+
artifact_signing: "Verify SBOM/provenance signatures and checksum with cosign before release (see supply-chain-attestation)"
|
|
69
79
|
incident_response: "Critical findings automatically create incident tickets"
|
|
70
80
|
|
|
71
81
|
physical_spec:
|
|
@@ -12,8 +12,8 @@ standard:
|
|
|
12
12
|
- "Use identified paths and specific names (unlike Developer Memory)"
|
|
13
13
|
|
|
14
14
|
meta:
|
|
15
|
-
version: "1.
|
|
16
|
-
updated: "2026-
|
|
15
|
+
version: "1.2.0"
|
|
16
|
+
updated: "2026-06-18"
|
|
17
17
|
source: core/project-context-memory.md
|
|
18
18
|
description: System for capturing, retrieving, and enforcing project-specific context, architectural decisions, and domain knowledge
|
|
19
19
|
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
|
|
4
4
|
id: refactoring-standards
|
|
5
5
|
meta:
|
|
6
|
-
version: "2.
|
|
7
|
-
updated: "2026-01
|
|
6
|
+
version: "2.2.0"
|
|
7
|
+
updated: "2026-07-01"
|
|
8
8
|
source: core/refactoring-standards.md
|
|
9
9
|
guide: core/guides/refactoring-guide.md
|
|
10
10
|
description: Refactoring guidelines with tactical, strategic, and safety strategies including decision matrix
|
|
@@ -292,9 +292,14 @@ metrics:
|
|
|
292
292
|
- metric: Coupling
|
|
293
293
|
measurement: Module dependencies count
|
|
294
294
|
target: Reduce dependencies
|
|
295
|
-
- metric: Code Duplication
|
|
295
|
+
- metric: Code Duplication (textual)
|
|
296
296
|
measurement: Duplicate percentage
|
|
297
297
|
target: "< 3%"
|
|
298
|
+
note: Detects textual duplication only; cannot detect semantic duplication (see semantic_duplication)
|
|
299
|
+
- metric: Semantic Duplication
|
|
300
|
+
measurement: Golden / architecture test
|
|
301
|
+
target: 0 unmanaged domain facts
|
|
302
|
+
note: Static analysis cannot detect the same domain fact re-implemented across call sites
|
|
298
303
|
|
|
299
304
|
test_quality:
|
|
300
305
|
- metric: Test Coverage
|
|
@@ -314,6 +319,40 @@ metrics:
|
|
|
314
319
|
source: Rollback count
|
|
315
320
|
expected: Should decrease
|
|
316
321
|
|
|
322
|
+
# Semantic Duplication & Copy-Drift (issue #142)
|
|
323
|
+
semantic_duplication:
|
|
324
|
+
anti_pattern:
|
|
325
|
+
id: copy-drift
|
|
326
|
+
name: Copy-Drift
|
|
327
|
+
definition: Same domain fact implemented in multiple places, OR a derived value persisted without an enforced binding to its source, so the copies drift apart independently
|
|
328
|
+
why_undetected: Copies are not byte-identical (paraphrased logic, formula right in one place and wrong in another), so textual-duplication metrics report nothing
|
|
329
|
+
symptoms:
|
|
330
|
+
- List view disagrees with detail view
|
|
331
|
+
- Stored counter double-counts because one update path's decrement/rollback branch was skipped or commented out
|
|
332
|
+
- Same formula gives different answers in different modules
|
|
333
|
+
- Scope over-reach where one path adjusts an aggregate others also touch
|
|
334
|
+
|
|
335
|
+
pattern:
|
|
336
|
+
id: single-source-of-truth
|
|
337
|
+
name: Single Source of Truth / Derive-Don't-Duplicate
|
|
338
|
+
rules:
|
|
339
|
+
- one_unit_per_fact: Extract each domain fact into a single classifier/calculator/resolver; every call site calls it, no re-implementations or paraphrases
|
|
340
|
+
- derive_dont_store: Prefer computing on read over persisting a second copy; a value always derived cannot drift
|
|
341
|
+
- aggregate_as_projection: If an aggregate must be stored, treat it as a projection of its detail rows and recompute it at a single choke point (e.g. SaveChanges interceptor or one shared recompute() function) so every write path (incl. async jobs and failure write-backs) stays consistent
|
|
342
|
+
- never_incremental_adjust: Never let an individual path apply incremental "col = col + delta" to a stored aggregate; that is how decrement/rollback branches get skipped and counters diverge
|
|
343
|
+
- lock_with_tests: Use a golden test to pin the single source of truth, and an architecture test that fails if the rule is redefined anywhere else
|
|
344
|
+
|
|
345
|
+
intentional_divergence_registry:
|
|
346
|
+
when: New system intentionally diverges from legacy behavior (e.g. legacy function returns X but legacy pipeline reconciles it to Y; the port folds that reconciliation into the single unit so it returns Y directly)
|
|
347
|
+
actions:
|
|
348
|
+
- Register each intentional divergence (legacy behavior, new behavior, rationale, owning fact)
|
|
349
|
+
- Pin the new behavior with a golden test so a future "correction" back to legacy fails the build
|
|
350
|
+
- Feed the registry into any differential test against legacy so the divergence is treated as expected, not a regression
|
|
351
|
+
|
|
352
|
+
adopter_notes:
|
|
353
|
+
- Per-function legacy-vs-new diffing produces candidates, not verdicts; adjudicate each against the ENTIRE legacy pipeline (which may already reconcile the difference downstream) before calling it a bug
|
|
354
|
+
- Extract legacy function bodies programmatically / token-based (not by hand) to avoid reintroducing transcription errors
|
|
355
|
+
|
|
317
356
|
# Team Collaboration
|
|
318
357
|
team_collaboration:
|
|
319
358
|
pr_size_limits:
|
|
@@ -456,8 +495,34 @@ rules:
|
|
|
456
495
|
instruction: Keep PRs under 200 lines; split larger refactorings
|
|
457
496
|
priority: recommended
|
|
458
497
|
|
|
498
|
+
- id: single-source-of-truth
|
|
499
|
+
trigger: same domain fact (classification, rule, calculation) needed at multiple call sites
|
|
500
|
+
instruction: Extract one shared classifier/calculator/resolver and call it everywhere; never re-implement or paraphrase the fact
|
|
501
|
+
priority: required
|
|
502
|
+
|
|
503
|
+
- id: derive-dont-duplicate
|
|
504
|
+
trigger: a derived value (aggregate, counter, denormalized field) is being persisted
|
|
505
|
+
instruction: Prefer deriving on read; if it must be stored, recompute it as a projection at a single choke point and never apply incremental col = col + delta adjustments per write path
|
|
506
|
+
priority: required
|
|
507
|
+
|
|
508
|
+
- id: lock-single-source-with-tests
|
|
509
|
+
trigger: after establishing a single source of truth for a domain fact
|
|
510
|
+
instruction: Add a golden test to pin it and an architecture test that fails if the rule is redefined elsewhere
|
|
511
|
+
priority: recommended
|
|
512
|
+
|
|
513
|
+
- id: register-intentional-divergence
|
|
514
|
+
trigger: new system intentionally diverges from legacy behavior during a port/migration
|
|
515
|
+
instruction: Record it in an intentional-divergence registry, pin with a golden test, and feed differential tests so it is treated as expected not a regression
|
|
516
|
+
priority: required
|
|
517
|
+
|
|
518
|
+
- id: adjudicate-diff-against-pipeline
|
|
519
|
+
trigger: reviewing per-function legacy-vs-new diffs
|
|
520
|
+
instruction: Treat diffs as candidates only; adjudicate each against the entire legacy pipeline before calling it a bug, and extract legacy bodies programmatically to avoid transcription errors
|
|
521
|
+
priority: recommended
|
|
522
|
+
|
|
459
523
|
related_standards:
|
|
460
524
|
- test-driven-development.md
|
|
461
525
|
- testing-standards.md
|
|
526
|
+
- test-governance.md
|
|
462
527
|
- code-review-checklist.md
|
|
463
528
|
- checkin-standards.md
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
# Resource / Cost Boundary Declaration Standards - AI Optimized
|
|
2
|
+
# Sources:
|
|
3
|
+
# v1.0.0 — XSPEC-277 Resource / Cost Boundary Declaration (cost burn as a declared, fail-closed boundary)
|
|
4
|
+
# XSPEC-276 (parent boundary-materialization lens; cost is the split-out dimension)
|
|
5
|
+
# XSPEC-285 (VibeOps proactive cost governance — the enforcement/executor face)
|
|
6
|
+
|
|
7
|
+
id: resource-cost-boundary
|
|
8
|
+
title: Resource / Cost Boundary Declaration Standards (Explicit, Machine-Readable, Fail-Closed Budgets)
|
|
9
|
+
version: "1.0.0"
|
|
10
|
+
status: Active
|
|
11
|
+
tags: [cost-boundary, resource-budget, token-budget, cost-burn, fail-closed, governance-gate, llm-native, budget-declaration, runaway-loop]
|
|
12
|
+
created: 2026-06-17
|
|
13
|
+
updated: 2026-06-17
|
|
14
|
+
|
|
15
|
+
spec_ref: XSPEC-277 # Resource / Cost Boundary Declaration complete spec
|
|
16
|
+
|
|
17
|
+
references:
|
|
18
|
+
- XSPEC-277 # v1.0.0 source — Resource / Cost Boundary Declaration
|
|
19
|
+
- XSPEC-276 # Parent boundary-materialization lens (cost = split-out dimension)
|
|
20
|
+
- XSPEC-285 # VibeOps proactive cost governance — enforcement/executor face
|
|
21
|
+
- XSPEC-191 # Unit-economics PoC / BudgetGuard (reference implementation)
|
|
22
|
+
- XSPEC-270 # Model right-sizing router (cost-driven downgrade)
|
|
23
|
+
- XSPEC-037 # Capability declaration (fail-closed posture mirrored)
|
|
24
|
+
- DEC-024 # Pareto evolution token-cost gate (reference implementation)
|
|
25
|
+
|
|
26
|
+
summary: |
|
|
27
|
+
The resource consumption of an agentic / LLM execution unit (pipeline run, agent, role) is
|
|
28
|
+
often implicit: token usage, loop/iteration count, retry count, per-run cost ceiling,
|
|
29
|
+
wall-clock, call rate. When those bounds are not explicitly declared and enforced, runaway
|
|
30
|
+
loops and token burn are a known LLM-native failure mode (cost burn).
|
|
31
|
+
|
|
32
|
+
This standard makes the resource/cost boundary a first-class, machine-readable, fail-closed
|
|
33
|
+
declaration. Any LLM execution unit MUST declare its resource budget; a runtime breach MUST
|
|
34
|
+
fail-closed per the declared behaviour. It is the COST dimension of boundary materialization
|
|
35
|
+
(XSPEC-276) — the one dimension UDS has no existing standard for, and concrete enough to be
|
|
36
|
+
AI-executable, so it is split out as a narrow standard.
|
|
37
|
+
|
|
38
|
+
REQ-001~005: a resource budget taxonomy (token/iteration/retry/cost_usd/wallclock/rate); a
|
|
39
|
+
machine-readable resource_budget: declaration (kind + limit + breach behaviour); a
|
|
40
|
+
fail-closed check-resource-budget gate (undeclared -> warn/block; runtime breach -> abort);
|
|
41
|
+
convergence of existing point mechanisms as reference implementations; and budget value
|
|
42
|
+
sovereignty (mechanism standardized, ceiling values owned by the adopter). This standard is
|
|
43
|
+
the "declare what bounds" half; XSPEC-285 is the "enforce/govern" half.
|
|
44
|
+
|
|
45
|
+
scope:
|
|
46
|
+
applies_to:
|
|
47
|
+
- Any LLM execution unit (pipeline run, agent, role) whose resource consumption must be bounded
|
|
48
|
+
- Plans / agent configs / role configs that carry a resource_budget declaration
|
|
49
|
+
- Budget-breach run reports used as cost-governance / audit evidence
|
|
50
|
+
excludes:
|
|
51
|
+
- The budget VALUES themselves (actual ceilings) — owned by the adopter/customer (a project/economics decision)
|
|
52
|
+
- Enforcement-engine wiring (e.g. the VibeOps proactive cost-governance executor, XSPEC-285) — downstream
|
|
53
|
+
- Latency/throughput performance targets — that is performance-standards (adjacent, distinct)
|
|
54
|
+
|
|
55
|
+
budget_taxonomy:
|
|
56
|
+
description: |
|
|
57
|
+
A standard set of resource budget kinds. A unit need not declare every kind, but a kind
|
|
58
|
+
it relies on for safety MUST be declared (an unbounded relied-upon kind is a violation).
|
|
59
|
+
kinds:
|
|
60
|
+
- kind: token
|
|
61
|
+
bound: input / output / total token ceiling
|
|
62
|
+
typical_breach: prompt/output explosion
|
|
63
|
+
- kind: iteration
|
|
64
|
+
bound: loop / iteration / tool-round upper bound
|
|
65
|
+
typical_breach: runaway loop
|
|
66
|
+
- kind: retry
|
|
67
|
+
bound: retry upper bound
|
|
68
|
+
typical_breach: unbounded re-attempt
|
|
69
|
+
- kind: cost_usd
|
|
70
|
+
bound: per-call / per-run / per-session cost ceiling
|
|
71
|
+
typical_breach: silent budget burn
|
|
72
|
+
- kind: wallclock
|
|
73
|
+
bound: timeout
|
|
74
|
+
typical_breach: hung run
|
|
75
|
+
- kind: rate
|
|
76
|
+
bound: call frequency
|
|
77
|
+
typical_breach: call storm
|
|
78
|
+
|
|
79
|
+
declaration_format:
|
|
80
|
+
description: |
|
|
81
|
+
A first-class resource_budget: block embedded in a plan / agent / role config. Each entry
|
|
82
|
+
carries a kind + (optional) scope + limit value + on_breach behaviour.
|
|
83
|
+
example: |
|
|
84
|
+
resource_budget:
|
|
85
|
+
- kind: cost_usd
|
|
86
|
+
scope: per_run
|
|
87
|
+
limit: 3.00
|
|
88
|
+
on_breach: abort
|
|
89
|
+
- kind: iteration
|
|
90
|
+
limit: 60
|
|
91
|
+
on_breach: abort
|
|
92
|
+
- kind: retry
|
|
93
|
+
limit: 3
|
|
94
|
+
on_breach: warn
|
|
95
|
+
- kind: token
|
|
96
|
+
scope: total
|
|
97
|
+
limit: 400000
|
|
98
|
+
on_breach: abort
|
|
99
|
+
on_breach_values: [warn, abort]
|
|
100
|
+
|
|
101
|
+
reference_implementations:
|
|
102
|
+
description: |
|
|
103
|
+
Existing VibeOps point mechanisms converge onto this standard as reference implementations
|
|
104
|
+
(REQ-004) — unified, not re-invented.
|
|
105
|
+
mappings:
|
|
106
|
+
- mechanism: "orchestrator quality profile max_retries / max_retry_budget_usd"
|
|
107
|
+
budget_kind: "retry / cost_usd (per-task fix-loop)"
|
|
108
|
+
- mechanism: "BudgetGuard / PoC abort max_cost_per_session_usd / min_cache_hit_ratio (XSPEC-191)"
|
|
109
|
+
budget_kind: "cost_usd / rate"
|
|
110
|
+
- mechanism: "Pareto Evolution Gate token-cost dimension (DEC-024)"
|
|
111
|
+
budget_kind: "token / cost_usd"
|
|
112
|
+
- mechanism: "agent-loop maxToolRounds / maxTotalTokens"
|
|
113
|
+
budget_kind: "iteration / token"
|
|
114
|
+
|
|
115
|
+
principles:
|
|
116
|
+
- id: P-1
|
|
117
|
+
name: Bounds are Explicit
|
|
118
|
+
description: |
|
|
119
|
+
Resource budgets MUST be declared, not implicit in a developer's head or scattered
|
|
120
|
+
settings. An undeclared relied-upon bound is a violation, not an omission.
|
|
121
|
+
|
|
122
|
+
- id: P-2
|
|
123
|
+
name: Machine-Readable
|
|
124
|
+
description: |
|
|
125
|
+
The resource_budget: block is a first-class artifact a generator/runtime can read at
|
|
126
|
+
generation/execution time — so a unit knows its bounds up front, not after review.
|
|
127
|
+
|
|
128
|
+
- id: P-3
|
|
129
|
+
name: Fail-Closed
|
|
130
|
+
description: |
|
|
131
|
+
An undeclared relied-upon bound, or a runtime breach, MUST block/abort per declaration.
|
|
132
|
+
Never a silent unbounded pass — mirroring capability-declaration (XSPEC-037) fail-closed.
|
|
133
|
+
|
|
134
|
+
- id: P-4
|
|
135
|
+
name: No Re-Invention
|
|
136
|
+
description: |
|
|
137
|
+
Existing point mechanisms converge as reference implementations. New units inherit the
|
|
138
|
+
declaration habit rather than re-inventing a budget knob.
|
|
139
|
+
|
|
140
|
+
- id: P-5
|
|
141
|
+
name: Value Sovereignty
|
|
142
|
+
description: |
|
|
143
|
+
The declaration mechanism is standardized; the ceiling values are owned by the adopter
|
|
144
|
+
(a project/economics decision). The standard mandates that bounds are declared, not which.
|
|
145
|
+
|
|
146
|
+
requirements:
|
|
147
|
+
- id: REQ-001
|
|
148
|
+
title: Resource Budget Taxonomy
|
|
149
|
+
description: |
|
|
150
|
+
Every LLM execution unit's resource bounds MUST be expressible from a standard set of
|
|
151
|
+
kinds: token, iteration, retry, cost_usd, wallclock, rate. A unit need not declare every
|
|
152
|
+
kind, but kinds it relies on for safety MUST be declared.
|
|
153
|
+
level: MUST
|
|
154
|
+
examples:
|
|
155
|
+
- "agent-loop declares iteration:60 + token(total):400000"
|
|
156
|
+
- "pipeline run declares cost_usd(per_run):3.00 + retry:3"
|
|
157
|
+
|
|
158
|
+
- id: REQ-002
|
|
159
|
+
title: Machine-Readable Declaration
|
|
160
|
+
description: |
|
|
161
|
+
A resource_budget: block MUST be declarable (embedded in plan / agent / role config),
|
|
162
|
+
each entry carrying kind + limit value + breach behaviour (warn / abort). It is a
|
|
163
|
+
first-class artifact, not a scattered setting or after-the-fact note.
|
|
164
|
+
level: MUST
|
|
165
|
+
schema_fields:
|
|
166
|
+
- "kind: token | iteration | retry | cost_usd | wallclock | rate"
|
|
167
|
+
- "scope (optional): per_call | per_run | per_session | total"
|
|
168
|
+
- "limit: numeric ceiling"
|
|
169
|
+
- "on_breach: warn | abort"
|
|
170
|
+
|
|
171
|
+
- id: REQ-003
|
|
172
|
+
title: Fail-Closed Enforcement Gate (check-resource-budget)
|
|
173
|
+
description: |
|
|
174
|
+
A quality gate check-resource-budget MUST (a) flag any LLM execution unit that does not
|
|
175
|
+
declare a budget (warn by default, block in strict mode); and (b) on a runtime breach
|
|
176
|
+
fail-closed per the declared on_breach (abort halts the unit, warn records and continues).
|
|
177
|
+
Mirrors capability-declaration (XSPEC-037) and the governance-gate family — never silent.
|
|
178
|
+
level: MUST
|
|
179
|
+
checks:
|
|
180
|
+
- "Unit with no resource_budget -> gate warns (strict mode: blocks)"
|
|
181
|
+
- "Runtime cost_usd exceeds declared limit with on_breach:abort -> unit aborts, breach recorded"
|
|
182
|
+
- "Runtime breach with on_breach:warn -> recorded and continues"
|
|
183
|
+
|
|
184
|
+
- id: REQ-004
|
|
185
|
+
title: Converge Existing Mechanisms (reference implementations)
|
|
186
|
+
description: |
|
|
187
|
+
Existing point mechanisms (orchestrator max_retries / max_retry_budget_usd, XSPEC-191
|
|
188
|
+
BudgetGuard, DEC-024 Pareto token gate, XSPEC-270 right-sizing router) SHOULD be mapped
|
|
189
|
+
to this standard as reference implementations — unified, not re-implemented.
|
|
190
|
+
level: SHOULD
|
|
191
|
+
checks:
|
|
192
|
+
- "Each existing budget mechanism maps to a taxonomy kind + on_breach behaviour"
|
|
193
|
+
- "A new agent/role adopts a resource_budget block rather than a bespoke budget knob"
|
|
194
|
+
|
|
195
|
+
- id: REQ-005
|
|
196
|
+
title: Budget Value Sovereignty
|
|
197
|
+
description: |
|
|
198
|
+
The declaration mechanism is standardized; the budget values (ceilings) are owned by the
|
|
199
|
+
adopter/customer (a project/economics decision). The standard mandates that bounds are
|
|
200
|
+
declared and enforced, not which numbers.
|
|
201
|
+
level: SHOULD
|
|
202
|
+
checks:
|
|
203
|
+
- "Ceiling values are adopter-configurable; the standard does not hard-code numbers"
|
|
204
|
+
- "The gate enforces presence + fail-closed behaviour, not a specific limit value"
|
|
205
|
+
|
|
206
|
+
# ─────────────────────────────────────────────────────────────
|
|
207
|
+
# GWT scenarios (admission condition 4 — AI-executable)
|
|
208
|
+
# ─────────────────────────────────────────────────────────────
|
|
209
|
+
|
|
210
|
+
scenarios:
|
|
211
|
+
- id: GWT-1
|
|
212
|
+
given: "a pipeline / agent unit with no token or cost_usd budget declared"
|
|
213
|
+
when: "check-resource-budget runs"
|
|
214
|
+
then: "it warns 'undeclared resource budget' (and blocks in strict mode)"
|
|
215
|
+
- id: GWT-2
|
|
216
|
+
given: "a unit declares cost_usd per_run limit 3.00 with on_breach: abort"
|
|
217
|
+
when: "the run's accumulated cost exceeds 3.00 at runtime"
|
|
218
|
+
then: "the unit fail-closed aborts and the breach is recorded for audit / cost governance"
|
|
219
|
+
|
|
220
|
+
# ─────────────────────────────────────────────────────────────
|
|
221
|
+
# Boundaries with adjacent standards (admission condition 3, <30% overlap)
|
|
222
|
+
# ─────────────────────────────────────────────────────────────
|
|
223
|
+
|
|
224
|
+
adjacent_boundaries:
|
|
225
|
+
- standard: performance-standards
|
|
226
|
+
its_angle: latency / throughput targets
|
|
227
|
+
distinct: targets, not a fail-closed cost ceiling
|
|
228
|
+
- standard: model-selection
|
|
229
|
+
its_angle: choose a model tier
|
|
230
|
+
distinct: tier selection, not budget enforcement
|
|
231
|
+
- standard: capability-declaration (XSPEC-037)
|
|
232
|
+
its_angle: explicit capability + fail-closed
|
|
233
|
+
distinct: capability surface, not resource budget
|
|
234
|
+
|
|
235
|
+
# ─────────────────────────────────────────────────────────────
|
|
236
|
+
# Gate timing
|
|
237
|
+
# ─────────────────────────────────────────────────────────────
|
|
238
|
+
|
|
239
|
+
gate_timing:
|
|
240
|
+
pre_run: REQ-003(a) check-resource-budget declaration check (undeclared -> warn / strict block)
|
|
241
|
+
on_runtime_breach: REQ-003(b) fail-closed per on_breach (abort / warn)
|
|
242
|
+
after_breach: record breach for audit / cost-governance executor (XSPEC-285)
|
|
243
|
+
|
|
244
|
+
# ─────────────────────────────────────────────────────────────
|
|
245
|
+
# Telemetry (DEC-066 / XSPEC-189 v2 envelope)
|
|
246
|
+
# ─────────────────────────────────────────────────────────────
|
|
247
|
+
|
|
248
|
+
telemetry:
|
|
249
|
+
required_events:
|
|
250
|
+
- resource_budget_undeclared # unit missing a relied-upon budget (REQ-003a)
|
|
251
|
+
- resource_budget_breach # runtime breach detail (kind, limit, actual)
|
|
252
|
+
- resource_budget_abort # fail-closed abort on breach (on_breach:abort)
|
|
253
|
+
envelope_reference: XSPEC-189 # Telemetry Schema v2 envelope
|
|
254
|
+
event_type: quality
|
|
255
|
+
event_subtype_examples:
|
|
256
|
+
- resource_budget_breach
|
|
257
|
+
- gate_pass / gate_fail # when check-resource-budget acts as a ship/run gate
|
|
258
|
+
|
|
259
|
+
# ─────────────────────────────────────────────────────────────
|
|
260
|
+
# Integration with existing standards
|
|
261
|
+
# ─────────────────────────────────────────────────────────────
|
|
262
|
+
|
|
263
|
+
integration:
|
|
264
|
+
performance-standards: performance sets latency/throughput targets; this sets fail-closed resource ceilings (adjacent, distinct)
|
|
265
|
+
model-selection: right-sizing picks a model tier; a cost_usd breach can drive a downgrade (XSPEC-270), but the budget declaration is this standard's concern
|
|
266
|
+
test-governance: check-resource-budget is a governed gate; budget declarations are governed policy
|
|
267
|
+
verification-evidence: a breach/no-breach run report is a kind of verification evidence (budgets honoured + trace)
|
|
268
|
+
|
|
269
|
+
# ─────────────────────────────────────────────────────────────
|
|
270
|
+
# Adoption guidance
|
|
271
|
+
# ─────────────────────────────────────────────────────────────
|
|
272
|
+
|
|
273
|
+
adoption_guidance:
|
|
274
|
+
uds_install_path: ai/standards/resource-cost-boundary.ai.yaml
|
|
275
|
+
notes:
|
|
276
|
+
- "v1.0.0 defines the budget declaration mechanism and a fail-closed gate. Budget values are adopter-owned."
|
|
277
|
+
- "This standard is the 'declare what bounds' half; XSPEC-285 (VibeOps proactive cost governance) is the 'enforce/govern' half."
|
|
278
|
+
- "Map existing budget knobs (max_retries, BudgetGuard, Pareto token gate, right-sizing router) to taxonomy kinds rather than re-inventing."
|
|
279
|
+
- "Collect only the cost/resource dimension — do not expand into a vague 'resource governance' (XSPEC-276 over-design guardrail)."
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
|
|
4
4
|
id: reverse-engineering
|
|
5
5
|
meta:
|
|
6
|
-
version: "1.
|
|
7
|
-
updated: "2026-
|
|
6
|
+
version: "1.2.0"
|
|
7
|
+
updated: "2026-06-27"
|
|
8
8
|
source: core/reverse-engineering-standards.md
|
|
9
9
|
description: Standards for reverse engineering code into structured specifications
|
|
10
10
|
|
|
@@ -32,6 +32,28 @@ workflow:
|
|
|
32
32
|
- Identify boundary conditions
|
|
33
33
|
- Note coverage gaps
|
|
34
34
|
|
|
35
|
+
- stage: IMPLICIT_RULE_SCAN
|
|
36
|
+
description: Scan non-HTTP persistence write paths for undocumented business rules
|
|
37
|
+
output: Implicit-rule inventory locked as behavior-snapshot scenarios or reconciliation invariants
|
|
38
|
+
certainty: "[Confirmed]/[Inferred]/[Unknown]"
|
|
39
|
+
position: after CODE_SCAN/TEST_ANALYSIS, before GAP_IDENTIFICATION
|
|
40
|
+
derive:
|
|
41
|
+
- "Scheduled: crontab / scheduler config / @Scheduled-style annotations / batch jobs"
|
|
42
|
+
- "Queue: queue consumers / job handlers / background workers / message listeners"
|
|
43
|
+
- "DB-layer: triggers / computed-generated columns / DEFAULT expressions / check constraints"
|
|
44
|
+
- "ORM lifecycle: beforeSave/afterSave/observer/model-event hooks / state-mutating middleware"
|
|
45
|
+
oracle_three_questions:
|
|
46
|
+
- "When is the field SET? (first-assign condition/trigger)"
|
|
47
|
+
- "When is it OVERWRITTEN? (every later write, INCLUDING async overwrites)"
|
|
48
|
+
- "When is it RESET / zeroed? (clear/default-back conditions)"
|
|
49
|
+
actions:
|
|
50
|
+
- Derive every non-HTTP persistence write path across the four categories
|
|
51
|
+
- Answer the three questions per persisted field and lock answers as snapshot scenarios or reconciliation invariants
|
|
52
|
+
- Extend Devil's Advocate (5 categories) from HTTP layer to non-HTTP paths
|
|
53
|
+
- Tag each rule [Confirmed] (with file:line) / [Inferred] / [Unknown]; route [Unknown] to GAP_IDENTIFICATION
|
|
54
|
+
- "PHP-specific: flag loose-comparison / type-juggling (==, truthy/falsy of \"0\"/\"\"/null/0, string-to-number coercion) — no equivalent under strongly-typed targets"
|
|
55
|
+
gate: pre-flight; unanswered three-question field marked not_implemented and blocks cutover
|
|
56
|
+
|
|
35
57
|
- stage: GAP_IDENTIFICATION
|
|
36
58
|
description: List unknowns requiring human input
|
|
37
59
|
output: Gap analysis document
|
|
@@ -139,6 +161,19 @@ extraction_capability:
|
|
|
139
161
|
reason: Often implicit
|
|
140
162
|
required_action: Discuss with architects
|
|
141
163
|
|
|
164
|
+
# Failure handling (failure -> escalate -> re-verify)
|
|
165
|
+
failure_handling:
|
|
166
|
+
description: Inputs that cannot be analyzed safely must escalate, never ship as authoritative
|
|
167
|
+
matrix:
|
|
168
|
+
- condition: Parse failure (unsupported language / broken syntax tree)
|
|
169
|
+
action: Mark [Unknown], report language/file, escalate to a human domain expert, emit no inferred behavior
|
|
170
|
+
- condition: High unknown ratio (> 50% of behaviors [Unknown])
|
|
171
|
+
action: Halt spec finalization, require SME interview to fill [Unknown] first; never ship a majority-guessed spec
|
|
172
|
+
- condition: Contradicted inference (code contradicts an inferred behavior)
|
|
173
|
+
action: Downgrade to [Assumption], escalate to code owner; never record as [Confirmed]
|
|
174
|
+
- condition: Test-analysis failure (tests cannot be run/parsed)
|
|
175
|
+
action: Fall back to static analysis; mark behaviors [Inferred], never [Confirmed]
|
|
176
|
+
|
|
142
177
|
# Anti-Patterns
|
|
143
178
|
anti_patterns:
|
|
144
179
|
code_analysis:
|
|
@@ -202,6 +237,10 @@ integration:
|
|
|
202
237
|
|
|
203
238
|
# Rules for AI
|
|
204
239
|
rules:
|
|
240
|
+
- id: re-fail-escalate-low-confidence
|
|
241
|
+
trigger: parse failure or above-threshold [Unknown] ratio
|
|
242
|
+
instruction: Block spec finalization and escalate to a human; never present a sub-threshold-confidence spec as authoritative
|
|
243
|
+
priority: required
|
|
205
244
|
- id: read-before-claim
|
|
206
245
|
trigger: starting reverse engineering
|
|
207
246
|
instruction: Read ALL relevant files before making any claims about code behavior
|
|
@@ -232,6 +271,19 @@ rules:
|
|
|
232
271
|
instruction: Map test cases to acceptance criteria with [Confirmed] tag and line references
|
|
233
272
|
priority: required
|
|
234
273
|
|
|
274
|
+
- id: implicit-rule-scan-non-http
|
|
275
|
+
trigger: reverse engineering a system for refactor/migration where persisted fields may be written off the HTTP path
|
|
276
|
+
instruction: >
|
|
277
|
+
Run an IMPLICIT_RULE_SCAN after CODE_SCAN/TEST_ANALYSIS and before GAP_IDENTIFICATION. Mechanically derive
|
|
278
|
+
every non-HTTP persistence write path across four categories (scheduled, queue, DB-layer trigger/computed-column/
|
|
279
|
+
DEFAULT/check, ORM lifecycle hooks/middleware). For each persisted field answer three questions — when SET, when
|
|
280
|
+
OVERWRITTEN (including async overwrites), when RESET/zeroed — and lock each answer as a behavior-snapshot scenario
|
|
281
|
+
or reconciliation invariant. Extend Devil's Advocate to non-HTTP paths. Tag every rule [Confirmed] (with file:line)
|
|
282
|
+
/ [Inferred] / [Unknown]; route [Unknown] to gap analysis. For PHP sources, additionally flag loose-comparison /
|
|
283
|
+
type-juggling dependencies that have no strongly-typed equivalent. Any field whose three questions are unanswered
|
|
284
|
+
is marked not_implemented and blocks cutover.
|
|
285
|
+
priority: required
|
|
286
|
+
|
|
235
287
|
- id: human-review-required
|
|
236
288
|
trigger: completing spec generation
|
|
237
289
|
instruction: Always mark specification as requiring human review; [Unknown] sections MUST be filled by humans
|
|
@@ -267,6 +319,7 @@ quick_reference:
|
|
|
267
319
|
rows:
|
|
268
320
|
- [Code Scan, Technical inventory, "[Confirmed]"]
|
|
269
321
|
- [Test Analysis, Draft AC, "[Confirmed]/[Inferred]"]
|
|
322
|
+
- [Implicit Rule Scan, Non-HTTP implicit-rule inventory, "[Confirmed]/[Inferred]/[Unknown]"]
|
|
270
323
|
- [Gap ID, Gap analysis, "[Unknown] items"]
|
|
271
324
|
- [Spec Gen, Draft SPEC, Mixed]
|
|
272
325
|
- [Human Review, Validated spec, "[Confirmed]"]
|