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
|
@@ -13,8 +13,8 @@ standard:
|
|
|
13
13
|
- "Respect noise control levels and cooldown periods"
|
|
14
14
|
|
|
15
15
|
meta:
|
|
16
|
-
version: "1.
|
|
17
|
-
updated: "2026-
|
|
16
|
+
version: "1.1.0"
|
|
17
|
+
updated: "2026-06-18"
|
|
18
18
|
source: core/developer-memory.md
|
|
19
19
|
description: Structured system for capturing, retrieving, and surfacing developer experience insights across conversations and projects
|
|
20
20
|
|
|
@@ -115,7 +115,8 @@ standard:
|
|
|
115
115
|
bonus_rules:
|
|
116
116
|
- "3 consecutive valid: bonus +0.05"
|
|
117
117
|
- "3 consecutive invalid: flag for review"
|
|
118
|
-
- "confidence < 0.2: flag for retirement"
|
|
118
|
+
- "confidence < 0.2: flag for retirement (repeatedly invalidated = noise)"
|
|
119
|
+
- "not surfaced 180+ days AND confidence < 0.5: flag for retirement (dormant + low confidence; 180d matches staleness model; UDS default, configurable)"
|
|
119
120
|
- "confidence > 0.9 after 10+ uses: mark proven"
|
|
120
121
|
|
|
121
122
|
review:
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
|
|
4
4
|
id: forward-derivation
|
|
5
5
|
meta:
|
|
6
|
-
version: "1.
|
|
7
|
-
updated: "2026-
|
|
6
|
+
version: "1.3.0"
|
|
7
|
+
updated: "2026-06-18"
|
|
8
8
|
source: core/forward-derivation-standards.md
|
|
9
9
|
description: Standards for deriving BDD, TDD, IT, E2E, ATDD, and Contract tests from approved SDD specifications
|
|
10
10
|
|
|
@@ -134,6 +134,21 @@ anti_hallucination:
|
|
|
134
134
|
- Inventing test cases beyond AC scope
|
|
135
135
|
- Fabricating edge cases not specified
|
|
136
136
|
|
|
137
|
+
# Failure handling (failure -> rollback -> retry/escalate -> re-verify)
|
|
138
|
+
failure_handling:
|
|
139
|
+
description: What happens when a derivation gate fails; recovery always ends by re-verifying the failed gate
|
|
140
|
+
matrix:
|
|
141
|
+
- failure: AC parse error (unsupported format)
|
|
142
|
+
action: Abort that AC, report file:line + expected GWT/bullet format, emit no skeleton, re-queue after SPEC fix
|
|
143
|
+
- failure: AC count mismatch (tests != ACs)
|
|
144
|
+
action: "[anti-hallucination] hard rollback + regenerate strict 1:1; never add/delete tests to match the count"
|
|
145
|
+
- failure: Skeleton does not parse/compile
|
|
146
|
+
action: Roll back the file and regenerate with the correct template; on a 2nd failure mark the AC [BLOCKED] and escalate
|
|
147
|
+
- failure: Human review rejection
|
|
148
|
+
action: Record the reason and regenerate only the rejected items with that feedback; never auto-approve
|
|
149
|
+
- failure: Missing @SPEC/@AC attribution
|
|
150
|
+
action: Block the transition into TDD RED and re-emit with attribution
|
|
151
|
+
|
|
137
152
|
# Commands
|
|
138
153
|
commands:
|
|
139
154
|
- command: "/derive-bdd"
|
|
@@ -167,6 +182,15 @@ commands:
|
|
|
167
182
|
|
|
168
183
|
# Rules for AI
|
|
169
184
|
rules:
|
|
185
|
+
- id: fd-fail-gate-halts
|
|
186
|
+
instruction: A gate failure must halt progression; never enter TDD RED with an unresolved failure
|
|
187
|
+
priority: required
|
|
188
|
+
- id: fd-fail-count-hard-rollback
|
|
189
|
+
instruction: A test/AC count mismatch is a hard rollback, not a reconciliation; never add or delete tests to match the count
|
|
190
|
+
priority: required
|
|
191
|
+
- id: fd-fail-bounded-retry-escalate
|
|
192
|
+
instruction: Bound automated retries (max 2 for transient/template errors); on exhaustion mark the AC [BLOCKED] and escalate to a human
|
|
193
|
+
priority: required
|
|
170
194
|
- id: approved-spec-only
|
|
171
195
|
instruction: Only derive from approved specifications
|
|
172
196
|
priority: required
|
|
@@ -8,8 +8,8 @@ standard:
|
|
|
8
8
|
description: Behavior-completeness full coverage paradigm replacing pyramid thresholds. Enforces anti-fake-test rules, STUB marker protocol, ratchet CI, and @ac traceability.
|
|
9
9
|
|
|
10
10
|
meta:
|
|
11
|
-
version: "1.
|
|
12
|
-
updated: "2026-
|
|
11
|
+
version: "1.1.0"
|
|
12
|
+
updated: "2026-06-17"
|
|
13
13
|
source: core/full-coverage-testing.md
|
|
14
14
|
replaces: "testing pyramid thresholds (UT≥80%/IT≥70%/E2E happy-path-only)"
|
|
15
15
|
xspec: "XSPEC-178"
|
|
@@ -191,6 +191,38 @@ standard:
|
|
|
191
191
|
- "Anti-fake rules: no tautology, no business-logic mocks"
|
|
192
192
|
- "STUB protocol: deployment gates on all environments"
|
|
193
193
|
|
|
194
|
+
# XSPEC-288: Migration Error-Path Completeness (axis 9 of XSPEC-284 completeness matrix)
|
|
195
|
+
# The three-path model requires an error path PER FUNCTION; this adds the migration
|
|
196
|
+
# guarantee that legacy error/degradation/fallback branches are SYSTEMATICALLY carried
|
|
197
|
+
# over, not merely sampled. Systematic-enumeration + gap-analysis layer above the
|
|
198
|
+
# XSPEC-201 error-path snapshot.
|
|
199
|
+
migration_error_path_completeness:
|
|
200
|
+
axis: "9 (error paths) of XSPEC-284 migration completeness matrix"
|
|
201
|
+
why_gap: "Per-function error path + XSPEC-201 snapshot verify only enumerated error cases. A rewrite drops scattered error branches in bulk; a passing sample does not prove no branch was missed."
|
|
202
|
+
derive: # R1 mechanized legacy exception/error-code list
|
|
203
|
+
sources:
|
|
204
|
+
catch_blocks: "grep catch/except/rescue -> every caught exception type + handler"
|
|
205
|
+
exception_hierarchy: "custom exception/error class taxonomy"
|
|
206
|
+
error_codes: "HTTP status, app error codes, error enums"
|
|
207
|
+
error_shapes: "error serializers/DTOs -> on-the-wire error contract"
|
|
208
|
+
note: "Captured list is the error-path to-verify checklist, sourced from artifacts not recall."
|
|
209
|
+
gap_analysis: # R2 systematic missing-branch oracle
|
|
210
|
+
rule: "for EACH legacy error branch verify a corresponding new-system handler; no mapping -> not_implemented (XSPEC-199) -> BLOCK"
|
|
211
|
+
output: "missing-error-branch gap report over the full derived list, not a passing sample"
|
|
212
|
+
degradation_parity: # R3
|
|
213
|
+
checklist: [external_failure_fallback, retry_policy, partial_result_handling, circuit_breaker_timeout]
|
|
214
|
+
goal: "not consistent on happy path but wildly different on failure"
|
|
215
|
+
error_response_differential: # R4
|
|
216
|
+
extends: "behavior-snapshot parity + XSPEC-284 R5 replay, applied to the ERROR response"
|
|
217
|
+
compare: [error_code, message_structure, http_status]
|
|
218
|
+
importance_ranking: "rank by production-actual trigger frequency (#134 production is the oracle); fired-in-prod branches mapped first; a high-frequency prod error branch with no mapping is a hard block"
|
|
219
|
+
gate_timing: [pre-UAT, "cutover before/after"]
|
|
220
|
+
completeness_declaration:
|
|
221
|
+
derive: "Step1 mechanized exception/error-code list"
|
|
222
|
+
oracle: "Step2 systematic gap analysis + Step4 error-response differential"
|
|
223
|
+
gate_timing: "pre-UAT + cutover before/after"
|
|
224
|
+
reuse: "XSPEC-201 error-path snapshot + three-path model; adds only systematic missing-branch analysis + error-response differential"
|
|
225
|
+
|
|
194
226
|
physical_spec:
|
|
195
227
|
type: custom_script
|
|
196
228
|
validator:
|
|
@@ -8,8 +8,8 @@ standard:
|
|
|
8
8
|
description: Git Worktree 隔離開發標準
|
|
9
9
|
|
|
10
10
|
meta:
|
|
11
|
-
version: "1.
|
|
12
|
-
updated: "2026-
|
|
11
|
+
version: "1.1.0"
|
|
12
|
+
updated: "2026-06-18"
|
|
13
13
|
source: core/git-worktree.md
|
|
14
14
|
description: Git Worktree 隔離開發與生命週期管理標準
|
|
15
15
|
inspired_by: superpowers/using-git-worktrees
|
|
@@ -54,7 +54,7 @@ standard:
|
|
|
54
54
|
priority: critical
|
|
55
55
|
- id: GW-002
|
|
56
56
|
trigger: "基準測試失敗"
|
|
57
|
-
action: "
|
|
57
|
+
action: "先重試至多 2 次(指數退避)以排除暫時性失敗;若持續失敗則中止任務並報告環境問題"
|
|
58
58
|
priority: high
|
|
59
59
|
- id: GW-003
|
|
60
60
|
trigger: "異常退出"
|
|
@@ -3,10 +3,26 @@
|
|
|
3
3
|
|
|
4
4
|
id: logging
|
|
5
5
|
meta:
|
|
6
|
-
version: "1.
|
|
7
|
-
updated: "2026-
|
|
6
|
+
version: "1.4.0"
|
|
7
|
+
updated: "2026-06-17"
|
|
8
8
|
source: core/logging-standards.md
|
|
9
|
-
description: Logging levels, structured logging, file rotation policy, and best practices
|
|
9
|
+
description: Logging levels, structured logging, mandatory events catalog, file rotation policy, and best practices
|
|
10
|
+
|
|
11
|
+
# XSPEC-070 Phase 2 — skill↔standard content-coverage audit.
|
|
12
|
+
# Consumed by scripts/check-skill-content-coverage.ts: the anchor skill
|
|
13
|
+
# (logging-guide) MUST mention each mandatory event id below, or CONTENT-002 fires.
|
|
14
|
+
# Source of truth: core/logging-standards.md "Mandatory Events" catalog (9 canonical events).
|
|
15
|
+
audit:
|
|
16
|
+
mandatory_keywords:
|
|
17
|
+
- application_startup
|
|
18
|
+
- request_received
|
|
19
|
+
- validation_failure
|
|
20
|
+
- authentication_failure
|
|
21
|
+
- outbound_call_start
|
|
22
|
+
- outbound_call_complete
|
|
23
|
+
- business_event
|
|
24
|
+
- heartbeat
|
|
25
|
+
- shutdown
|
|
10
26
|
|
|
11
27
|
log_levels:
|
|
12
28
|
ordered:
|
|
@@ -51,6 +67,69 @@ structured_logging:
|
|
|
51
67
|
field_naming: snake_case
|
|
52
68
|
format: JSON in production
|
|
53
69
|
|
|
70
|
+
# When you MUST write a log entry (XSPEC-234 / closes #108).
|
|
71
|
+
# Compliant formatting but silent-at-the-critical-moment logging is excluded.
|
|
72
|
+
mandatory_events:
|
|
73
|
+
- id: application_startup
|
|
74
|
+
when: After process boot, before accepting requests
|
|
75
|
+
level: INFO
|
|
76
|
+
must_log: [app_name, version, git_sha, environment, hostname, pid, listening_endpoints]
|
|
77
|
+
must_not_log: [secrets, full_connection_strings]
|
|
78
|
+
rationale: Lifecycle blind spot; confirms which build/config is actually live
|
|
79
|
+
- id: request_received
|
|
80
|
+
when: First time HTTP middleware sees a request
|
|
81
|
+
level: INFO/DEBUG
|
|
82
|
+
must_log: [method, path, source_ip, request_id]
|
|
83
|
+
must_not_log: [request_body, auth_headers]
|
|
84
|
+
rationale: Establishes request_id correlation from the edge inward
|
|
85
|
+
- id: validation_failure
|
|
86
|
+
when: schema / ModelState / DTO validation rejects
|
|
87
|
+
level: WARN
|
|
88
|
+
must_log: [request_id, path, missing_fields, payload_shape]
|
|
89
|
+
must_not_log: [field_values, pii]
|
|
90
|
+
rationale: Framework rejects before handler; payload otherwise never logged (incident #2)
|
|
91
|
+
- id: authentication_failure
|
|
92
|
+
when: login / token verification fails
|
|
93
|
+
level: WARN
|
|
94
|
+
must_log: [uid_attempted, source_ip, failure_reason]
|
|
95
|
+
must_not_log: [password, token_value]
|
|
96
|
+
rationale: 'Account or password error alone is un-investigable without uid/IP (incident #3)'
|
|
97
|
+
- id: outbound_call_start
|
|
98
|
+
when: An outbound HTTP/RPC call is initiated
|
|
99
|
+
level: INFO
|
|
100
|
+
must_log: [target_url_host_path, request_id_propagated, timeout_ms]
|
|
101
|
+
must_not_log: [credentials, bearer_tokens]
|
|
102
|
+
rationale: A send-failed error must leave a trace that the call was even attempted
|
|
103
|
+
- id: outbound_call_complete
|
|
104
|
+
when: An external call returns or fails
|
|
105
|
+
level: INFO/WARN/ERROR
|
|
106
|
+
must_log: [status_code_or_failure_phase, elapsed_ms, retries]
|
|
107
|
+
must_not_log: [response_body_with_pii]
|
|
108
|
+
rationale: Distinguish dns/tcp/tls/http failure phase for diagnosis
|
|
109
|
+
- id: business_event
|
|
110
|
+
when: A state-changing business operation completes
|
|
111
|
+
level: INFO
|
|
112
|
+
must_log: [operation_name, actor, target_ids, outcome]
|
|
113
|
+
must_not_log: [full_record_payload, pii]
|
|
114
|
+
rationale: Audit trail of what changed and by whom
|
|
115
|
+
- id: heartbeat
|
|
116
|
+
when: Long-running background service, at least once per 60 seconds
|
|
117
|
+
level: INFO
|
|
118
|
+
must_log: [service_name, queue_depth, items_processed_since_last_heartbeat]
|
|
119
|
+
must_not_log: []
|
|
120
|
+
rationale: Detect silent/0-byte background worker; enables silence detection (incident #4)
|
|
121
|
+
- id: shutdown
|
|
122
|
+
when: Process exits (graceful or fatal)
|
|
123
|
+
level: INFO/ERROR
|
|
124
|
+
must_log: [app_name, signal_or_reason, uptime_seconds, pending_work_count]
|
|
125
|
+
must_not_log: []
|
|
126
|
+
rationale: Lifecycle blind spot; reveals crash vs graceful and lost in-flight work
|
|
127
|
+
|
|
128
|
+
mandatory_events_follow_on_rules:
|
|
129
|
+
access_log_separation: Health-probe/liveness traffic MUST NOT pollute business-event log (separate sink)
|
|
130
|
+
silence_detection_sla: Alert after N minutes with no events, N <= 2x heartbeat interval
|
|
131
|
+
request_id_discoverability: Error responses to client SHOULD carry request_id for support correlation
|
|
132
|
+
|
|
54
133
|
sensitive_data:
|
|
55
134
|
never_log:
|
|
56
135
|
- passwords
|
|
@@ -80,6 +159,19 @@ rules:
|
|
|
80
159
|
instruction: Use structured JSON logging with required fields
|
|
81
160
|
priority: required
|
|
82
161
|
|
|
162
|
+
- id: mandatory-events
|
|
163
|
+
trigger: implementing startup/shutdown, request handling, validation, auth, outbound calls, background services
|
|
164
|
+
instruction: |
|
|
165
|
+
Emit the mandatory events catalog entries (see mandatory_events):
|
|
166
|
+
application_startup, request_received, validation_failure,
|
|
167
|
+
authentication_failure, outbound_call_start, outbound_call_complete,
|
|
168
|
+
business_event, heartbeat, shutdown. A log that follows every formatting
|
|
169
|
+
rule but never fires at the critical moment is excluded. Validation rejects
|
|
170
|
+
MUST log payload_shape (keys only, not values); auth failures MUST log
|
|
171
|
+
uid+source_ip (never password/token); background services MUST heartbeat
|
|
172
|
+
so silence is detectable.
|
|
173
|
+
priority: required
|
|
174
|
+
|
|
83
175
|
- id: include-context
|
|
84
176
|
trigger: logging operations
|
|
85
177
|
instruction: Include request_id or trace_id for correlation
|
|
@@ -185,9 +277,11 @@ quick_reference:
|
|
|
185
277
|
|
|
186
278
|
enforcement:
|
|
187
279
|
hook_type: PostToolUse
|
|
280
|
+
trigger: PostToolUse
|
|
188
281
|
matcher:
|
|
189
282
|
tool: Write
|
|
190
283
|
path: "src/**/*.ts"
|
|
191
284
|
script_ref: "scripts/hooks/check-logging-standard.js"
|
|
285
|
+
hook_script: "scripts/hooks/check-logging-standard.js"
|
|
192
286
|
severity: warning
|
|
193
287
|
timeout_ms: 500
|
|
@@ -3,14 +3,17 @@
|
|
|
3
3
|
|
|
4
4
|
id: mock-boundary
|
|
5
5
|
meta:
|
|
6
|
-
version: "1.
|
|
7
|
-
updated: "2026-
|
|
6
|
+
version: "1.2.0"
|
|
7
|
+
updated: "2026-07-01"
|
|
8
8
|
source: core/mock-boundary.md
|
|
9
9
|
description: >
|
|
10
10
|
Rules defining what can and cannot be mocked to prevent hollow tests —
|
|
11
11
|
tests that pass while the real system is broken.
|
|
12
12
|
v1.1.0: Added Level 1/Level 2 mock layer distinction and external
|
|
13
13
|
dependency testability matrix template (XSPEC-204).
|
|
14
|
+
v1.2.0: Added injectable background execution as a seam (parallel to clock
|
|
15
|
+
injection) — allowed background-runner seam, no-poll/sleep rule, and the
|
|
16
|
+
poll/sleep-for-background-result anti-pattern (issue #143).
|
|
14
17
|
|
|
15
18
|
# ─────────────────────────────────────────────────────────
|
|
16
19
|
# Mock Levels (v1.1.0)
|
|
@@ -150,6 +153,31 @@ allowed:
|
|
|
150
153
|
// 1. The DB layer has its own integration tests
|
|
151
154
|
// 2. The service test focuses on service logic (not DB behavior)
|
|
152
155
|
|
|
156
|
+
- category: In-Process Background Execution (via injectable runner)
|
|
157
|
+
description: >
|
|
158
|
+
Fire-and-forget dispatch — Task.Run, unawaited promises, setTimeout,
|
|
159
|
+
goroutines, thread-pool/executor submission, asyncio.create_task
|
|
160
|
+
reason: >
|
|
161
|
+
Background dispatch is a seam, exactly like the system clock. Inject a
|
|
162
|
+
runner so the test can drive the work to deterministic, awaited completion
|
|
163
|
+
and assert on success/exception/retry — instead of polling or sleeping.
|
|
164
|
+
implementation: >
|
|
165
|
+
Abstract dispatch behind a small interface (e.g. IBackgroundTaskRunner /
|
|
166
|
+
BackgroundDispatcher). Production keeps true fire-and-forget semantics;
|
|
167
|
+
the test double runs the work inline and tracks the Task/promise, exposing
|
|
168
|
+
a handle the test can await before asserting.
|
|
169
|
+
example: |
|
|
170
|
+
// Production: real fire-and-forget — returns immediately, work runs detached
|
|
171
|
+
class FireAndForgetDispatcher implements BackgroundDispatcher {
|
|
172
|
+
dispatch(work: () => Promise<void>): void { void work() }
|
|
173
|
+
}
|
|
174
|
+
// Test: inline + tracked so the test can await deterministic completion
|
|
175
|
+
class DeterministicDispatcher implements BackgroundDispatcher {
|
|
176
|
+
private tasks: Promise<void>[] = []
|
|
177
|
+
dispatch(work: () => Promise<void>): void { this.tasks.push(work()) }
|
|
178
|
+
async settle(): Promise<void> { await Promise.all(this.tasks) }
|
|
179
|
+
}
|
|
180
|
+
|
|
153
181
|
# ─────────────────────────────────────────────────────────
|
|
154
182
|
# Forbidden Mocks
|
|
155
183
|
# ─────────────────────────────────────────────────────────
|
|
@@ -253,6 +281,15 @@ anti_patterns:
|
|
|
253
281
|
description: DB mock returns hardcoded data, hiding query logic errors
|
|
254
282
|
problem: Schema migrations, wrong predicates, missing joins — all invisible
|
|
255
283
|
|
|
284
|
+
- name: Poll/Sleep for Background Result
|
|
285
|
+
description: >
|
|
286
|
+
Sleeping or polling to wait for in-process fire-and-forget work
|
|
287
|
+
(Task.Run, unawaited promise, setTimeout, goroutine) to finish
|
|
288
|
+
problem: >
|
|
289
|
+
The race is still there — the timeout only hides it most of the time while
|
|
290
|
+
slowing the whole suite; on a shared runner it leaks flakiness into other
|
|
291
|
+
MRs' CI. Same class of anti-pattern as depending on wall-clock time.
|
|
292
|
+
|
|
256
293
|
# ─────────────────────────────────────────────────────────
|
|
257
294
|
# Rules
|
|
258
295
|
# ─────────────────────────────────────────────────────────
|
|
@@ -297,6 +334,15 @@ rules:
|
|
|
297
334
|
If any hollow test indicator triggers, rewrite the mocking strategy.
|
|
298
335
|
priority: required
|
|
299
336
|
|
|
337
|
+
- id: no-poll-sleep-for-background-work
|
|
338
|
+
trigger: test asserts a fire-and-forget side effect (Task.Run, unawaited promise, setTimeout, goroutine, executor)
|
|
339
|
+
instruction: >
|
|
340
|
+
Never poll or sleep to wait for in-process background work. Inject a
|
|
341
|
+
deterministic runner (e.g. IBackgroundTaskRunner / BackgroundDispatcher)
|
|
342
|
+
whose test double runs the work inline and tracks the Task/promise; await
|
|
343
|
+
the tracked task, then assert on success, exception, or retry.
|
|
344
|
+
priority: required
|
|
345
|
+
|
|
300
346
|
- id: level-2-stub-server-rules
|
|
301
347
|
trigger: UAT environment lacks a real external service (SMS, payment, IdP)
|
|
302
348
|
instruction: >
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
# Model Provenance Policy Standards - AI Optimized
|
|
2
|
+
# Sources:
|
|
3
|
+
# v1.0.0 — XSPEC-255 Model Provenance Policy (acceptable model source as an enforced axis)
|
|
4
|
+
# DEC-075 (neutral mechanism / policy belongs to customer)
|
|
5
|
+
# DEC-063 (regulated / data-sovereignty customers)
|
|
6
|
+
|
|
7
|
+
id: model-provenance
|
|
8
|
+
title: Model Provenance Policy Standards (Acceptable Model Source as a Governed, Fail-Closed Axis)
|
|
9
|
+
version: "1.0.0"
|
|
10
|
+
status: Active
|
|
11
|
+
tags: [provenance, model-source, geopolitics, data-sovereignty, governance-gate, fail-closed, audit, allowlist, denylist, compliance]
|
|
12
|
+
created: 2026-06-17
|
|
13
|
+
updated: 2026-06-17
|
|
14
|
+
|
|
15
|
+
spec_ref: XSPEC-255 # Model Provenance Policy complete spec
|
|
16
|
+
|
|
17
|
+
references:
|
|
18
|
+
- XSPEC-255 # v1.0.0 source — Model Provenance Policy
|
|
19
|
+
- XSPEC-193 # Sibling governance-gate profile — licensing (shared skeleton)
|
|
20
|
+
- XSPEC-256 # Sibling governance-gate profile — correctness
|
|
21
|
+
- DEC-075 # Domain-neutral mechanism (policy content belongs to customer/pack)
|
|
22
|
+
- DEC-063 # Legal & compliance — regulated / sovereignty-sensitive customers
|
|
23
|
+
- DEC-064 # Customer IP isolation (per-customer policy scoping)
|
|
24
|
+
- DEC-066 # Telemetry-driven evolution — audit/telemetry allowlist
|
|
25
|
+
- DEC-076 # Self-serve north star — provenance = a self-serve ceiling
|
|
26
|
+
- XSPEC-254 # Positioning pre-mortem (cost-structure / origin axis context)
|
|
27
|
+
|
|
28
|
+
summary: |
|
|
29
|
+
Model selection is not only "cost x quality" — there is a third axis: whether the model's
|
|
30
|
+
SOURCE is acceptable to the customer (geopolitics / data sovereignty / regulation). A
|
|
31
|
+
regulated or geopolitically sensitive buyer may be unable to use models from a given
|
|
32
|
+
jurisdiction; the strictest reject even locally-run open weights of that origin. This
|
|
33
|
+
standard makes model provenance a first-class, enforced, auditable property: declare an
|
|
34
|
+
acceptable-source policy, block non-compliant model choices fail-closed, and emit
|
|
35
|
+
auditable evidence ("this delivery used no models of the denied origin").
|
|
36
|
+
|
|
37
|
+
It is the PROVENANCE (source) member of the governance-gate family — alongside
|
|
38
|
+
license-compliance (XSPEC-193, licensing) and verification-oracle (XSPEC-256, correctness)
|
|
39
|
+
— sharing the same shape: registry/check -> fail-closed gate -> audit evidence ->
|
|
40
|
+
human-escalation ceiling. The three are profiles of one mechanism over three axes:
|
|
41
|
+
licensing / provenance / correctness.
|
|
42
|
+
|
|
43
|
+
REQ-001~007: a model origin registry (model -> vendor -> jurisdiction/origin class); a
|
|
44
|
+
provenance policy schema (allow/deny origins, local-weights distinction, mode,
|
|
45
|
+
unknown-origin fail-closed); fail-closed enforcement at every model-selection point;
|
|
46
|
+
auditable provenance evidence; reference policy packs (content customer-owned);
|
|
47
|
+
unknown-origin fail-closed; and policy content sovereignty (mechanism neutral, policy
|
|
48
|
+
owned by the customer).
|
|
49
|
+
|
|
50
|
+
scope:
|
|
51
|
+
applies_to:
|
|
52
|
+
- Any system that selects an LLM/model where the customer constrains acceptable model source
|
|
53
|
+
(regulated / government / geopolitically sensitive buyers)
|
|
54
|
+
- Model-selection points: per-agent config, routing decisions, BYOK
|
|
55
|
+
- Provenance audit reports proving no denied-origin model was used
|
|
56
|
+
excludes:
|
|
57
|
+
- The policy CONTENT itself (which origins are acceptable) — owned by the customer / a compliance pack
|
|
58
|
+
- Enforcement-engine wiring (e.g. VibeOps provider abstraction / router gate) — downstream adoption concern
|
|
59
|
+
- Cost/quality model right-sizing — that is model-selection; provenance is a constraint applied first
|
|
60
|
+
|
|
61
|
+
origin_registry:
|
|
62
|
+
description: |
|
|
63
|
+
Each known model is classified by vendor -> jurisdiction -> origin class. Like the
|
|
64
|
+
license-compliance license DB, it is maintainable and extensible by the ecosystem/customer.
|
|
65
|
+
origin_classes:
|
|
66
|
+
- western-frontier # e.g. Claude (Anthropic/US), GPT/o-series (OpenAI/US), Gemini (Google/US)
|
|
67
|
+
- western-open # e.g. Llama (Meta/US), Mistral (Mistral/EU), Gemma (Google/US)
|
|
68
|
+
- china-origin # e.g. DeepSeek (DeepSeek/CN), MiniMax (MiniMax/CN), Qwen (Alibaba/CN)
|
|
69
|
+
example_entries:
|
|
70
|
+
- { model: Claude, vendor: Anthropic, jurisdiction: US, origin_class: western-frontier }
|
|
71
|
+
- { model: GPT, vendor: OpenAI, jurisdiction: US, origin_class: western-frontier }
|
|
72
|
+
- { model: Gemini, vendor: Google, jurisdiction: US, origin_class: western-frontier }
|
|
73
|
+
- { model: Llama, vendor: Meta, jurisdiction: US, origin_class: western-open }
|
|
74
|
+
- { model: Mistral, vendor: Mistral, jurisdiction: EU, origin_class: western-open }
|
|
75
|
+
- { model: Gemma, vendor: Google, jurisdiction: US, origin_class: western-open }
|
|
76
|
+
- { model: DeepSeek, vendor: DeepSeek, jurisdiction: CN, origin_class: china-origin }
|
|
77
|
+
- { model: MiniMax, vendor: MiniMax, jurisdiction: CN, origin_class: china-origin }
|
|
78
|
+
- { model: Qwen, vendor: Alibaba, jurisdiction: CN, origin_class: china-origin }
|
|
79
|
+
|
|
80
|
+
policy_schema:
|
|
81
|
+
description: |
|
|
82
|
+
Per-project/per-customer provenance policy. Mechanism only — concrete values are
|
|
83
|
+
customer/pack-owned (DEC-075).
|
|
84
|
+
fields:
|
|
85
|
+
allow_origins: "list of origin classes that are permitted"
|
|
86
|
+
deny_origins: "list of origin classes that are blocked"
|
|
87
|
+
china_local_weights: "deny | allow_local_only — distinguishes foreign open weights run locally; strict buyers deny"
|
|
88
|
+
mode: "block | warn | require_human"
|
|
89
|
+
unknown_origin: "block (fail-closed default) | warn | require_human"
|
|
90
|
+
example: |
|
|
91
|
+
{
|
|
92
|
+
"allow_origins": ["western-frontier", "western-open"],
|
|
93
|
+
"deny_origins": ["china-origin"],
|
|
94
|
+
"china_local_weights": "deny",
|
|
95
|
+
"mode": "block",
|
|
96
|
+
"unknown_origin": "block"
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
principles:
|
|
100
|
+
- id: P-1
|
|
101
|
+
name: Provenance is a Third Axis
|
|
102
|
+
description: |
|
|
103
|
+
Model choice is cost x quality x acceptable source. The source axis MUST be a
|
|
104
|
+
first-class constraint, not an afterthought, for regulated/sovereignty-sensitive buyers.
|
|
105
|
+
|
|
106
|
+
- id: P-2
|
|
107
|
+
name: Registry First
|
|
108
|
+
description: |
|
|
109
|
+
Every model MUST carry vendor/jurisdiction/origin class before a policy can act on it.
|
|
110
|
+
An unclassified model is "unknown origin" and falls under fail-closed handling (P-3).
|
|
111
|
+
|
|
112
|
+
- id: P-3
|
|
113
|
+
name: Fail-Closed
|
|
114
|
+
description: |
|
|
115
|
+
A denied or unknown origin MUST block or escalate. The check MUST NOT silently pass —
|
|
116
|
+
mirroring the license-compliance blocklist and verification-oracle non-reproduction block.
|
|
117
|
+
|
|
118
|
+
- id: P-4
|
|
119
|
+
name: Evidence-Based
|
|
120
|
+
description: |
|
|
121
|
+
Every generation MUST record the model used and its origin class, so a compliance report
|
|
122
|
+
("no denied-origin model used") is producible with a reproducible trace and audit id.
|
|
123
|
+
|
|
124
|
+
- id: P-5
|
|
125
|
+
name: Human Ceiling
|
|
126
|
+
description: |
|
|
127
|
+
Ambiguous provenance or a require_human mode MUST escalate to a human (DEC-076 ceiling)
|
|
128
|
+
rather than auto-resolve — a product-enforced governance gate.
|
|
129
|
+
|
|
130
|
+
- id: P-6
|
|
131
|
+
name: Content Sovereignty
|
|
132
|
+
description: |
|
|
133
|
+
The mechanism is domain-neutral (DEC-075); the acceptable-source policy is owned by the
|
|
134
|
+
customer (DEC-063). Policies SHOULD be customer-scoped and isolated (DEC-064).
|
|
135
|
+
|
|
136
|
+
requirements:
|
|
137
|
+
- id: REQ-001
|
|
138
|
+
title: Model Origin Registry (first-class artifact)
|
|
139
|
+
description: |
|
|
140
|
+
Each known model MUST be classified by vendor -> jurisdiction -> origin class. The
|
|
141
|
+
registry is maintainable/extensible by the ecosystem/customer (like the license DB).
|
|
142
|
+
At minimum origin classes distinguish western-frontier, western-open, and other origins
|
|
143
|
+
so a policy can be expressed against them.
|
|
144
|
+
level: MUST
|
|
145
|
+
examples:
|
|
146
|
+
- "Claude -> Anthropic / US / western-frontier"
|
|
147
|
+
- "Qwen -> Alibaba / CN / china-origin"
|
|
148
|
+
- "Llama -> Meta / US / western-open"
|
|
149
|
+
|
|
150
|
+
- id: REQ-002
|
|
151
|
+
title: Provenance Policy Schema
|
|
152
|
+
description: |
|
|
153
|
+
A per-project/per-customer policy MUST express allow/deny origins (by class), a
|
|
154
|
+
local-weights distinction (foreign API/data-egress vs locally-run foreign open weights),
|
|
155
|
+
an enforcement mode (block/warn/require_human), and an unknown_origin behaviour that is
|
|
156
|
+
fail-closed by default.
|
|
157
|
+
level: MUST
|
|
158
|
+
schema_fields:
|
|
159
|
+
- "allow_origins / deny_origins (by origin class)"
|
|
160
|
+
- "china_local_weights: deny | allow_local_only (strict buyers deny even local foreign weights)"
|
|
161
|
+
- "mode: block | warn | require_human"
|
|
162
|
+
- "unknown_origin: block (fail-closed default)"
|
|
163
|
+
|
|
164
|
+
- id: REQ-003
|
|
165
|
+
title: Fail-Closed Enforcement (every model-selection point)
|
|
166
|
+
description: |
|
|
167
|
+
At every model-selection point (per-agent config / routing / BYOK) the chosen model's
|
|
168
|
+
origin MUST be checked against the active policy. A violation MUST block or escalate
|
|
169
|
+
fail-closed — never silently pass. Enforcement runs before routing so a disallowed
|
|
170
|
+
source is swapped for an acceptable model.
|
|
171
|
+
level: MUST
|
|
172
|
+
checks:
|
|
173
|
+
- "Apply TW-finance-gov-style policy -> selecting DeepSeek/MiniMax/Qwen (incl. local) is blocked"
|
|
174
|
+
- "Selecting Llama/Claude under the same policy is allowed"
|
|
175
|
+
- "Injection test: route a denied-origin model -> gate blocks (never silent pass)"
|
|
176
|
+
|
|
177
|
+
- id: REQ-004
|
|
178
|
+
title: Audit Evidence
|
|
179
|
+
description: |
|
|
180
|
+
Each generation MUST record the model used + its origin class, enabling a compliance
|
|
181
|
+
report ("this delivery used no models of the denied origin"). It plugs into the audit
|
|
182
|
+
logger / hash chain, verification-oracle correctness evidence (XSPEC-256), and the
|
|
183
|
+
telemetry allowlist (DEC-066). This report is the outward proof of the provenance moat.
|
|
184
|
+
level: MUST
|
|
185
|
+
evidence_required:
|
|
186
|
+
- "per generation: model id + vendor + origin class"
|
|
187
|
+
- "policy applied (allow/deny snapshot)"
|
|
188
|
+
- "denied-origin count (expected 0 under a deny policy)"
|
|
189
|
+
- "content hash (sha256) of the report"
|
|
190
|
+
- "audit-trail id (hash-chain entry)"
|
|
191
|
+
|
|
192
|
+
- id: REQ-005
|
|
193
|
+
title: Reference Policy Pack(s)
|
|
194
|
+
description: |
|
|
195
|
+
The mechanism SHOULD ship a small number of reference policy packs that demonstrate it
|
|
196
|
+
(e.g. a pack denying a given origin including local weights). The mechanism is neutral;
|
|
197
|
+
concrete policy content is owned by the customer or a compliance partner.
|
|
198
|
+
level: SHOULD
|
|
199
|
+
examples:
|
|
200
|
+
- "Reference pack 'TW-finance-gov': deny china-origin including local weights"
|
|
201
|
+
|
|
202
|
+
- id: REQ-006
|
|
203
|
+
title: Unknown-Origin Fail-Closed
|
|
204
|
+
description: |
|
|
205
|
+
A model whose origin is not in the registry (unknown provenance) MUST NOT be silently
|
|
206
|
+
allowed. The system MUST treat unknown origin as a fail-closed block or escalation
|
|
207
|
+
(REQ-002 unknown_origin), consistent with the governance-gate no-silent-pass rule.
|
|
208
|
+
level: MUST
|
|
209
|
+
checks:
|
|
210
|
+
- "Unknown-origin model under unknown_origin:block -> blocked/escalated, not auto-allowed"
|
|
211
|
+
- "Injection test: present an unregistered model -> gate does not silently pass"
|
|
212
|
+
|
|
213
|
+
- id: REQ-007
|
|
214
|
+
title: Provenance Policy Content Sovereignty
|
|
215
|
+
description: |
|
|
216
|
+
The mechanism is domain-neutral (DEC-075); the acceptable-source policy is
|
|
217
|
+
customer-owned (DEC-063). Policies SHOULD be customer-scoped and isolated (DEC-064).
|
|
218
|
+
level: SHOULD
|
|
219
|
+
checks:
|
|
220
|
+
- "Policy scoping is per-customer; provenance verdicts attribute policy to the customer"
|
|
221
|
+
- "Mechanism carries no jurisdiction-specific allow/deny baked in (only the registry classes)"
|
|
222
|
+
|
|
223
|
+
# ─────────────────────────────────────────────────────────────
|
|
224
|
+
# Governance-gate family (shared shape with XSPEC-193 / XSPEC-256)
|
|
225
|
+
# ─────────────────────────────────────────────────────────────
|
|
226
|
+
|
|
227
|
+
governance_gate_family:
|
|
228
|
+
description: |
|
|
229
|
+
model-provenance is the PROVENANCE (source) profile of one governance-gate mechanism.
|
|
230
|
+
All profiles share: registry/check -> fail-closed gate -> audit evidence ->
|
|
231
|
+
customer-override-telemetered -> human-escalation ceiling.
|
|
232
|
+
profiles:
|
|
233
|
+
- profile: licensing
|
|
234
|
+
standard: license-compliance
|
|
235
|
+
spec: XSPEC-193
|
|
236
|
+
registry: blocklist/allowlist/greylist
|
|
237
|
+
block_trigger: prohibited license
|
|
238
|
+
- profile: provenance
|
|
239
|
+
standard: model-provenance
|
|
240
|
+
spec: XSPEC-255
|
|
241
|
+
registry: model origin registry + policy
|
|
242
|
+
block_trigger: denied / unknown origin
|
|
243
|
+
- profile: correctness
|
|
244
|
+
standard: verification-oracle
|
|
245
|
+
spec: XSPEC-256
|
|
246
|
+
registry: ground-truth registry
|
|
247
|
+
block_trigger: non-reproduction / drift
|
|
248
|
+
|
|
249
|
+
# ─────────────────────────────────────────────────────────────
|
|
250
|
+
# Gate timing
|
|
251
|
+
# ─────────────────────────────────────────────────────────────
|
|
252
|
+
|
|
253
|
+
gate_timing:
|
|
254
|
+
pre_routing: REQ-003 fail-closed provenance check at every model-selection point
|
|
255
|
+
on_denied_or_unknown: REQ-006 / P-5 block or escalate to human (no silent pass)
|
|
256
|
+
on_allowed: REQ-004 record model + origin
|
|
257
|
+
after_run: REQ-004 emit provenance audit / compliance report (outward moat proof)
|
|
258
|
+
|
|
259
|
+
# ─────────────────────────────────────────────────────────────
|
|
260
|
+
# Telemetry (DEC-066 / XSPEC-189 v2 envelope)
|
|
261
|
+
# ─────────────────────────────────────────────────────────────
|
|
262
|
+
|
|
263
|
+
telemetry:
|
|
264
|
+
required_events:
|
|
265
|
+
- model_provenance_check # origin check outcome per model-selection point
|
|
266
|
+
- model_provenance_block # fail-closed block detail (REQ-003)
|
|
267
|
+
- model_provenance_escalation # require_human / ambiguous provenance escalated (P-5)
|
|
268
|
+
- unknown_origin_detected # unregistered model encountered (REQ-006)
|
|
269
|
+
- human_override_block # human override of a block (requires reason)
|
|
270
|
+
envelope_reference: XSPEC-189 # Telemetry Schema v2 envelope
|
|
271
|
+
event_type: quality
|
|
272
|
+
event_subtype_examples:
|
|
273
|
+
- model_provenance_check
|
|
274
|
+
- gate_pass / gate_fail # when the provenance check acts as a selection gate
|
|
275
|
+
|
|
276
|
+
# ─────────────────────────────────────────────────────────────
|
|
277
|
+
# Integration with existing standards
|
|
278
|
+
# ─────────────────────────────────────────────────────────────
|
|
279
|
+
|
|
280
|
+
integration:
|
|
281
|
+
license-compliance: sibling profile; shared allowlist/denylist + fail-closed + audit + override skeleton
|
|
282
|
+
verification-oracle: sibling profile; provenance evidence sits alongside correctness evidence in one report
|
|
283
|
+
model-selection: provenance is a constraint applied before cost/quality right-sizing (unacceptable source removed from candidate set)
|
|
284
|
+
security-standards: foreign-API data egress + local-weights distinction are data-sovereignty controls
|
|
285
|
+
verification-evidence: the provenance report is a kind of verification evidence (model + origin + no-denied-origin trace)
|
|
286
|
+
|
|
287
|
+
# ─────────────────────────────────────────────────────────────
|
|
288
|
+
# Adoption guidance
|
|
289
|
+
# ─────────────────────────────────────────────────────────────
|
|
290
|
+
|
|
291
|
+
adoption_guidance:
|
|
292
|
+
uds_install_path: ai/standards/model-provenance.ai.yaml
|
|
293
|
+
notes:
|
|
294
|
+
- "v1.0.0 defines the provenance mechanism and audit evidence. Policy content (acceptable origins) is customer-owned (DEC-075/DEC-063)."
|
|
295
|
+
- "Adopters MAY enforce the check in CI / at the provider abstraction without a bespoke engine."
|
|
296
|
+
- "Distinguish foreign-API access (data egress) from locally-run foreign open weights — strict buyers deny even local weights."
|
|
297
|
+
- "Group with license-compliance and verification-oracle as one governance-gate subsystem (three profiles)."
|