universal-dev-standards 5.17.0 → 6.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/uds.js +13 -135
- package/bundled/ai/options/commit-message/bilingual.ai.yaml +19 -1
- package/bundled/ai/standards/acceptance-criteria-traceability.ai.yaml +13 -4
- package/bundled/ai/standards/accessibility-standards.ai.yaml +1 -1
- package/bundled/ai/standards/ai-response-navigation.ai.yaml +15 -2
- package/bundled/ai/standards/api-design-standards.ai.yaml +27 -4
- package/bundled/ai/standards/behavior-snapshot.ai.yaml +86 -9
- package/bundled/ai/standards/checkin-standards.ai.yaml +3 -3
- package/bundled/ai/standards/code-review.ai.yaml +2 -2
- package/bundled/ai/standards/context-aware-loading.ai.yaml +3 -3
- package/bundled/ai/standards/data-migration-testing.ai.yaml +79 -3
- package/bundled/ai/standards/deprecation-standards.ai.yaml +10 -2
- package/bundled/ai/standards/developer-memory.ai.yaml +4 -3
- package/bundled/ai/standards/documentation-writing-standards.ai.yaml +1 -1
- package/bundled/ai/standards/flow-based-testing.ai.yaml +2 -2
- package/bundled/ai/standards/forward-derivation-standards.ai.yaml +26 -2
- package/bundled/ai/standards/frontend-design-standards.ai.yaml +33 -3
- package/bundled/ai/standards/full-coverage-testing.ai.yaml +34 -2
- package/bundled/ai/standards/git-worktree.ai.yaml +3 -3
- package/bundled/ai/standards/logging.ai.yaml +97 -3
- package/bundled/ai/standards/mock-boundary.ai.yaml +48 -2
- package/bundled/ai/standards/model-provenance.ai.yaml +297 -0
- package/bundled/ai/standards/model-selection.ai.yaml +11 -2
- package/bundled/ai/standards/observability-standards.ai.yaml +10 -0
- package/bundled/ai/standards/performance-standards.ai.yaml +46 -1
- package/bundled/ai/standards/pii-classification.ai.yaml +15 -1
- package/bundled/ai/standards/pipeline-security-gates.ai.yaml +10 -0
- package/bundled/ai/standards/privacy-standards.ai.yaml +2 -2
- package/bundled/ai/standards/project-context-memory.ai.yaml +2 -2
- package/bundled/ai/standards/push-standards.ai.yaml +14 -3
- package/bundled/ai/standards/refactoring-standards.ai.yaml +68 -3
- package/bundled/ai/standards/requirement-engineering.ai.yaml +42 -3
- package/bundled/ai/standards/resource-cost-boundary.ai.yaml +279 -0
- package/bundled/ai/standards/reverse-engineering-standards.ai.yaml +55 -2
- package/bundled/ai/standards/security-testing.ai.yaml +13 -2
- package/bundled/ai/standards/self-review-protocol.ai.yaml +15 -10
- package/bundled/ai/standards/skill-standard-alignment-check.ai.yaml +37 -2
- package/bundled/ai/standards/user-journey-testing.ai.yaml +107 -0
- package/bundled/ai/standards/verification-evidence.ai.yaml +88 -5
- package/bundled/ai/standards/verification-oracle.ai.yaml +278 -0
- package/bundled/ai/standards/versioning.ai.yaml +32 -38
- package/bundled/core/acceptance-criteria-traceability.md +15 -5
- package/bundled/core/accessibility-standards.md +8 -4
- package/bundled/core/ai-friendly-architecture.md +1 -1
- package/bundled/core/ai-response-navigation.md +31 -3
- package/bundled/core/anti-sycophancy-prompting.md +1 -1
- package/bundled/core/api-design-standards.md +92 -7
- package/bundled/core/audit-trail.md +119 -0
- package/bundled/core/behavior-snapshot.md +94 -7
- package/bundled/core/browser-compatibility-standards.md +15 -2
- package/bundled/core/checkin-standards.md +10 -3
- package/bundled/core/code-review-checklist.md +10 -2
- package/bundled/core/container-image-standards.md +97 -0
- package/bundled/core/context-aware-loading.md +2 -2
- package/bundled/core/cost-budget-test.md +1 -1
- package/bundled/core/cross-flow-regression.md +3 -2
- package/bundled/core/data-contract.md +104 -0
- package/bundled/core/data-migration-testing.md +90 -0
- package/bundled/core/data-pipeline.md +113 -0
- package/bundled/core/deprecation-standards.md +16 -2
- package/bundled/core/developer-memory.md +13 -8
- package/bundled/core/documentation-writing-standards.md +2 -2
- package/bundled/core/error-code-standards.md +4 -3
- package/bundled/core/feature-discovery-standards.md +191 -0
- package/bundled/core/flaky-test-management.md +1 -1
- package/bundled/core/flow-based-testing.md +3 -3
- package/bundled/core/forward-derivation-standards.md +33 -5
- package/bundled/core/frontend-design-standards.md +93 -4
- package/bundled/core/full-coverage-testing.md +72 -0
- package/bundled/core/git-worktree.md +4 -4
- package/bundled/core/guides/performance-guide.md +1 -1
- package/bundled/core/guides/security-guide.md +1 -1
- package/bundled/core/health-check-standards.md +2 -2
- package/bundled/core/iac-design-principles.md +97 -0
- package/bundled/core/incident-response.md +119 -0
- package/bundled/core/license-compliance.md +2 -0
- package/bundled/core/logging-standards.md +78 -2
- package/bundled/core/mock-boundary.md +54 -2
- package/bundled/core/model-provenance.md +181 -0
- package/bundled/core/model-selection.md +27 -2
- package/bundled/core/multi-environment-e2e-testing.md +195 -0
- package/bundled/core/packaging-standards.md +1 -0
- package/bundled/core/performance-standards.md +96 -2
- package/bundled/core/pii-classification.md +148 -0
- package/bundled/core/pipeline-security-gates.md +22 -2
- package/bundled/core/postmortem-standards.md +2 -0
- package/bundled/core/prd-standards.md +91 -0
- package/bundled/core/privacy-standards.md +14 -3
- package/bundled/core/product-metrics-standards.md +100 -0
- package/bundled/core/project-context-memory.md +8 -2
- package/bundled/core/prompt-regression.md +1 -1
- package/bundled/core/push-standards.md +82 -0
- package/bundled/core/refactoring-standards.md +44 -3
- package/bundled/core/replay-test.md +1 -1
- package/bundled/core/requirement-engineering.md +2 -2
- package/bundled/core/resource-cost-boundary.md +180 -0
- package/bundled/core/reverse-engineering-standards.md +66 -2
- package/bundled/core/runbook.md +113 -0
- package/bundled/core/schema-evolution.md +105 -0
- package/bundled/core/secret-management-standards.md +110 -0
- package/bundled/core/security-testing.md +26 -2
- package/bundled/core/self-review-protocol.md +15 -10
- package/bundled/core/skill-standard-alignment-check.md +53 -0
- package/bundled/core/slo-sli.md +109 -0
- package/bundled/core/smoke-test.md +1 -1
- package/bundled/core/tech-debt-standards.md +1 -1
- package/bundled/core/test-data-standards.md +2 -2
- package/bundled/core/user-journey-testing.md +102 -0
- package/bundled/core/user-story-mapping.md +96 -0
- package/bundled/core/verification-evidence.md +170 -10
- package/bundled/core/verification-oracle.md +167 -0
- package/bundled/core/versioning.md +133 -109
- package/bundled/locales/COVERAGE.md +94 -77
- package/bundled/locales/zh-CN/CHANGELOG.md +94 -6
- package/bundled/locales/zh-CN/CLAUDE.md +1 -1
- package/bundled/locales/zh-CN/MAINTENANCE.md +42 -661
- package/bundled/locales/zh-CN/README.md +25 -12
- package/bundled/locales/zh-CN/SECURITY.md +2 -2
- package/bundled/locales/zh-CN/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
- package/bundled/locales/zh-CN/ai/options/commit-message/bilingual.ai.yaml +6 -1
- package/bundled/locales/zh-CN/core/acceptance-criteria-traceability.md +4 -6
- package/bundled/locales/zh-CN/core/accessibility-standards.md +1 -1
- package/bundled/locales/zh-CN/core/adversarial-test.md +226 -0
- package/bundled/locales/zh-CN/core/agent-behavior-discipline.md +187 -0
- package/bundled/locales/zh-CN/core/ai-response-navigation.md +32 -6
- package/bundled/locales/zh-CN/core/anti-sycophancy-prompting.md +1 -1
- package/bundled/locales/zh-CN/core/api-design-standards.md +1 -1
- package/bundled/locales/zh-CN/core/behavior-snapshot.md +335 -0
- package/bundled/locales/zh-CN/core/browser-compatibility-standards.md +239 -0
- package/bundled/locales/zh-CN/core/cd-deployment-strategies.md +135 -0
- package/bundled/locales/zh-CN/core/chaos-injection-tests.md +130 -0
- package/bundled/locales/zh-CN/core/checkin-standards.md +1 -1
- package/bundled/locales/zh-CN/core/code-review-checklist.md +1 -1
- package/bundled/locales/zh-CN/core/container-security.md +535 -0
- package/bundled/locales/zh-CN/core/context-aware-loading.md +1 -1
- package/bundled/locales/zh-CN/core/contract-testing-standards.md +191 -0
- package/bundled/locales/zh-CN/core/cost-budget-test.md +86 -0
- package/bundled/locales/zh-CN/core/cross-flow-regression.md +200 -0
- package/bundled/locales/zh-CN/core/data-migration-testing.md +217 -0
- package/bundled/locales/zh-CN/core/deployment-standards.md +328 -9
- package/bundled/locales/zh-CN/core/deprecation-standards.md +1 -1
- package/bundled/locales/zh-CN/core/developer-memory.md +2 -2
- package/bundled/locales/zh-CN/core/disaster-recovery-drill.md +87 -0
- package/bundled/locales/zh-CN/core/documentation-structure.md +1 -1
- package/bundled/locales/zh-CN/core/documentation-writing-standards.md +1 -1
- package/bundled/locales/zh-CN/core/error-code-standards.md +2 -2
- package/bundled/locales/zh-CN/core/feature-manifest-standard.md +222 -0
- package/bundled/locales/zh-CN/core/flaky-test-management.md +87 -0
- package/bundled/locales/zh-CN/core/flow-based-testing.md +284 -0
- package/bundled/locales/zh-CN/core/forward-derivation-standards.md +3 -4
- package/bundled/locales/zh-CN/core/frontend-design-standards.md +1 -1
- package/bundled/locales/zh-CN/core/full-coverage-testing.md +269 -0
- package/bundled/locales/zh-CN/core/git-worktree.md +1 -1
- package/bundled/locales/zh-CN/core/governance-layer.md +160 -0
- package/bundled/locales/zh-CN/core/guides/performance-guide.md +515 -0
- package/bundled/locales/zh-CN/core/guides/security-guide.md +494 -0
- package/bundled/locales/zh-CN/core/knowledge-graph-memory.md +128 -0
- package/bundled/locales/zh-CN/core/license-compliance.md +131 -0
- package/bundled/locales/zh-CN/core/llm-output-validation.md +192 -0
- package/bundled/locales/zh-CN/core/logging-standards.md +205 -7
- package/bundled/locales/zh-CN/core/mock-boundary.md +161 -0
- package/bundled/locales/zh-CN/core/model-selection.md +28 -5
- package/bundled/locales/zh-CN/core/mutation-testing.md +106 -0
- package/bundled/locales/zh-CN/core/no-cicd-deployment.md +219 -0
- package/bundled/locales/zh-CN/core/packaging-standards.md +77 -5
- package/bundled/locales/zh-CN/core/pipeline-security-gates.md +146 -0
- package/bundled/locales/zh-CN/core/policy-as-code-testing.md +203 -0
- package/bundled/locales/zh-CN/core/privacy-standards.md +1 -1
- package/bundled/locales/zh-CN/core/project-context-memory.md +1 -1
- package/bundled/locales/zh-CN/core/prompt-regression.md +88 -0
- package/bundled/locales/zh-CN/core/property-based-testing.md +87 -0
- package/bundled/locales/zh-CN/core/release-quality-manifest.md +207 -0
- package/bundled/locales/zh-CN/core/release-readiness-gate.md +193 -0
- package/bundled/locales/zh-CN/core/replay-test.md +102 -0
- package/bundled/locales/zh-CN/core/requirement-engineering.md +1 -1
- package/bundled/locales/zh-CN/core/reverse-engineering-standards.md +46 -1
- package/bundled/locales/zh-CN/core/rollback-standards.md +120 -0
- package/bundled/locales/zh-CN/core/sast-advanced.md +309 -0
- package/bundled/locales/zh-CN/core/secure-op.md +328 -0
- package/bundled/locales/zh-CN/core/security-testing.md +113 -0
- package/bundled/locales/zh-CN/core/self-review-protocol.md +172 -0
- package/bundled/locales/zh-CN/core/server-ops-security.md +507 -0
- package/bundled/locales/zh-CN/core/smoke-test.md +79 -0
- package/bundled/locales/zh-CN/core/spec-driven-development.md +39 -3
- package/bundled/locales/zh-CN/core/supply-chain-attestation.md +131 -0
- package/bundled/locales/zh-CN/core/verification-evidence.md +252 -41
- package/bundled/locales/zh-CN/core/versioning.md +1 -1
- package/bundled/locales/zh-CN/docs/CHEATSHEET.md +36 -7
- package/bundled/locales/zh-CN/docs/FEATURE-REFERENCE.md +71 -53
- package/bundled/locales/zh-CN/docs/MIGRATION-v6.md +88 -0
- package/bundled/locales/zh-CN/docs/USAGE-MODES-COMPARISON.md +2 -2
- package/bundled/locales/zh-CN/docs/USER-MANUAL.md +14 -14
- package/bundled/locales/zh-CN/docs/specs/system/memory-adoption-strategy.md +105 -0
- package/bundled/locales/zh-CN/docs/user/FAQ.md +132 -0
- package/bundled/locales/zh-CN/docs/user/GETTING-STARTED.md +144 -0
- package/bundled/locales/zh-CN/docs/user/GLOSSARY.md +178 -0
- package/bundled/locales/zh-CN/docs/user/README.md +70 -0
- package/bundled/locales/zh-CN/docs/user/TROUBLESHOOTING.md +190 -0
- package/bundled/locales/zh-CN/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
- package/bundled/locales/zh-CN/integrations/github-copilot/README.md +1 -1
- package/bundled/locales/zh-CN/integrations/github-copilot/skills-mapping.md +3 -3
- package/bundled/locales/zh-CN/integrations/opencode/skills-mapping.md +3 -3
- package/bundled/locales/zh-CN/methodologies/guides/sdd-guide.md +836 -0
- package/bundled/locales/zh-CN/options/changelog/auto-generated.md +166 -0
- package/bundled/locales/zh-CN/options/changelog/keep-a-changelog.md +140 -0
- package/bundled/locales/zh-CN/options/code-review/automated-review.md +214 -0
- package/bundled/locales/zh-CN/options/code-review/pair-programming.md +166 -0
- package/bundled/locales/zh-CN/options/code-review/pr-review.md +167 -0
- package/bundled/locales/zh-CN/options/commit-message/bilingual.md +10 -3
- package/bundled/locales/zh-CN/options/documentation/api-docs.md +191 -0
- package/bundled/locales/zh-CN/options/documentation/markdown-docs.md +150 -0
- package/bundled/locales/zh-CN/options/documentation/wiki-style.md +131 -0
- package/bundled/locales/zh-CN/options/project-structure/kotlin.md +144 -0
- package/bundled/locales/zh-CN/options/project-structure/php.md +168 -0
- package/bundled/locales/zh-CN/options/project-structure/ruby.md +156 -0
- package/bundled/locales/zh-CN/options/project-structure/rust.md +136 -0
- package/bundled/locales/zh-CN/options/project-structure/swift.md +165 -0
- package/bundled/locales/zh-CN/options/testing/contract-testing.md +237 -0
- package/bundled/locales/zh-CN/options/testing/industry-pyramid.md +200 -0
- package/bundled/locales/zh-CN/options/testing/istqb-framework.md +144 -0
- package/bundled/locales/zh-CN/options/testing/performance-testing.md +251 -0
- package/bundled/locales/zh-CN/options/testing/security-testing.md +192 -0
- package/bundled/locales/zh-CN/skills/README.md +89 -126
- package/bundled/locales/zh-CN/skills/ac-coverage/SKILL.md +5 -7
- package/bundled/locales/zh-CN/skills/adr-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/agents/code-architect.md +263 -0
- package/bundled/locales/zh-CN/skills/agents/doc-writer.md +410 -0
- package/bundled/locales/zh-CN/skills/agents/reviewer.md +357 -0
- package/bundled/locales/zh-CN/skills/agents/spec-analyst.md +410 -0
- package/bundled/locales/zh-CN/skills/agents/test-specialist.md +368 -0
- package/bundled/locales/zh-CN/skills/ai-collaboration-standards/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/ai-friendly-architecture/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/ai-instruction-standards/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
- package/bundled/locales/zh-CN/skills/atdd-assistant/atdd-workflow.md +3 -4
- package/bundled/locales/zh-CN/skills/audit-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/bdd-assistant/guide.md +1 -2
- package/bundled/locales/zh-CN/skills/brainstorm-assistant/SKILL.md +115 -17
- package/bundled/locales/zh-CN/skills/brainstorm-assistant/guide.md +37 -12
- package/bundled/locales/zh-CN/skills/checkin-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/ci-cd-assistant/SKILL.md +50 -0
- package/bundled/locales/zh-CN/skills/code-review-assistant/SKILL.md +5 -5
- package/bundled/locales/zh-CN/skills/commands/ac-coverage.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/atdd.md +3 -3
- package/bundled/locales/zh-CN/skills/commands/bdd.md +2 -2
- package/bundled/locales/zh-CN/skills/commands/brainstorm.md +26 -17
- package/bundled/locales/zh-CN/skills/commands/{review.md → code-review.md} +4 -4
- package/bundled/locales/zh-CN/skills/commands/derive-all.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/derive-atdd.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/derive-bdd.md +2 -3
- package/bundled/locales/zh-CN/skills/commands/derive-tdd.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/derive.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/dev-workflow.md +2 -2
- package/bundled/locales/zh-CN/skills/commands/methodology.md +4 -4
- package/bundled/locales/zh-CN/skills/commands/pr.md +1 -1
- package/bundled/locales/zh-CN/skills/commands/tdd.md +1 -1
- package/bundled/locales/zh-CN/skills/commit-standards/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/contract-test-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/dev-methodology/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/dev-methodology/create-methodology.md +456 -0
- package/bundled/locales/zh-CN/skills/dev-methodology/guide.md +6 -6
- package/bundled/locales/zh-CN/skills/dev-methodology/runtime.md +296 -0
- package/bundled/locales/zh-CN/skills/dev-workflow-guide/SKILL.md +5 -5
- package/bundled/locales/zh-CN/skills/docs-generator/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/e2e-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/incident-response-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/journey-test-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/logging-guide/SKILL.md +169 -142
- package/bundled/locales/zh-CN/skills/migration-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/observability-assistant/guide.md +1 -1
- package/bundled/locales/zh-CN/skills/pr-automation-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/project-discovery/guide.md +2 -2
- package/bundled/locales/zh-CN/skills/reverse-engineer/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/runbook-assistant/guide.md +1 -1
- package/bundled/locales/zh-CN/skills/security-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/skill-builder/SKILL.md +3 -3
- package/bundled/locales/zh-CN/skills/slo-assistant/guide.md +1 -1
- package/bundled/locales/zh-CN/skills/spec-derivation/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/spec-derivation/guide.md +8 -9
- package/bundled/locales/zh-CN/skills/spec-driven-dev/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/sweep/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/tdd-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-CN/skills/testing-guide/SKILL.md +2 -2
- package/bundled/locales/zh-CN/skills/testing-guide/testing-theory.md +2298 -0
- package/bundled/locales/zh-CN/skills/workflows/README.md +451 -0
- package/bundled/locales/zh-TW/CHANGELOG.md +94 -6
- package/bundled/locales/zh-TW/CLAUDE.md +1 -1
- package/bundled/locales/zh-TW/MAINTENANCE.md +51 -4
- package/bundled/locales/zh-TW/README.md +25 -12
- package/bundled/locales/zh-TW/SECURITY.md +2 -2
- package/bundled/locales/zh-TW/adoption/DAILY-WORKFLOW-GUIDE.md +2 -2
- package/bundled/locales/zh-TW/ai/options/commit-message/bilingual.ai.yaml +6 -1
- package/bundled/locales/zh-TW/ai/standards/versioning.ai.yaml +8 -48
- package/bundled/locales/zh-TW/core/acceptance-criteria-traceability.md +4 -6
- package/bundled/locales/zh-TW/core/accessibility-standards.md +1 -1
- package/bundled/locales/zh-TW/core/adversarial-test.md +226 -0
- package/bundled/locales/zh-TW/core/agent-behavior-discipline.md +187 -0
- package/bundled/locales/zh-TW/core/ai-response-navigation.md +32 -6
- package/bundled/locales/zh-TW/core/anti-sycophancy-prompting.md +1 -1
- package/bundled/locales/zh-TW/core/api-design-standards.md +91 -9
- package/bundled/locales/zh-TW/core/audit-trail.md +110 -0
- package/bundled/locales/zh-TW/core/behavior-snapshot.md +335 -0
- package/bundled/locales/zh-TW/core/browser-compatibility-standards.md +1 -0
- package/bundled/locales/zh-TW/core/cd-deployment-strategies.md +135 -0
- package/bundled/locales/zh-TW/core/chaos-injection-tests.md +130 -0
- package/bundled/locales/zh-TW/core/checkin-standards.md +1 -1
- package/bundled/locales/zh-TW/core/code-review-checklist.md +1 -1
- package/bundled/locales/zh-TW/core/container-image-standards.md +93 -0
- package/bundled/locales/zh-TW/core/container-security.md +535 -0
- package/bundled/locales/zh-TW/core/cost-budget-test.md +86 -0
- package/bundled/locales/zh-TW/core/cross-flow-regression.md +1 -0
- package/bundled/locales/zh-TW/core/data-contract.md +101 -0
- package/bundled/locales/zh-TW/core/data-migration-testing.md +217 -0
- package/bundled/locales/zh-TW/core/data-pipeline.md +105 -0
- package/bundled/locales/zh-TW/core/deployment-standards.md +363 -25
- package/bundled/locales/zh-TW/core/deprecation-standards.md +17 -4
- package/bundled/locales/zh-TW/core/developer-memory.md +2 -2
- package/bundled/locales/zh-TW/core/disaster-recovery-drill.md +87 -0
- package/bundled/locales/zh-TW/core/documentation-writing-standards.md +1 -1
- package/bundled/locales/zh-TW/core/error-code-standards.md +2 -2
- package/bundled/locales/zh-TW/core/feature-manifest-standard.md +222 -0
- package/bundled/locales/zh-TW/core/flaky-test-management.md +87 -0
- package/bundled/locales/zh-TW/core/flow-based-testing.md +284 -0
- package/bundled/locales/zh-TW/core/forward-derivation-standards.md +3 -4
- package/bundled/locales/zh-TW/core/frontend-design-standards.md +1 -1
- package/bundled/locales/zh-TW/core/full-coverage-testing.md +250 -0
- package/bundled/locales/zh-TW/core/git-worktree.md +1 -1
- package/bundled/locales/zh-TW/core/guides/performance-guide.md +515 -0
- package/bundled/locales/zh-TW/core/guides/security-guide.md +494 -0
- package/bundled/locales/zh-TW/core/iac-design-principles.md +90 -0
- package/bundled/locales/zh-TW/core/incident-response.md +111 -0
- package/bundled/locales/zh-TW/core/license-compliance.md +131 -0
- package/bundled/locales/zh-TW/core/llm-output-validation.md +192 -0
- package/bundled/locales/zh-TW/core/logging-standards.md +208 -4
- package/bundled/locales/zh-TW/core/mock-boundary.md +161 -0
- package/bundled/locales/zh-TW/core/model-provenance.md +173 -0
- package/bundled/locales/zh-TW/core/model-selection.md +28 -5
- package/bundled/locales/zh-TW/core/mutation-testing.md +106 -0
- package/bundled/locales/zh-TW/core/no-cicd-deployment.md +219 -0
- package/bundled/locales/zh-TW/core/packaging-standards.md +77 -5
- package/bundled/locales/zh-TW/core/performance-standards.md +84 -5
- package/bundled/locales/zh-TW/core/pii-classification.md +102 -0
- package/bundled/locales/zh-TW/core/pipeline-security-gates.md +146 -0
- package/bundled/locales/zh-TW/core/policy-as-code-testing.md +203 -0
- package/bundled/locales/zh-TW/core/prd-standards.md +88 -0
- package/bundled/locales/zh-TW/core/privacy-standards.md +1 -1
- package/bundled/locales/zh-TW/core/product-metrics-standards.md +96 -0
- package/bundled/locales/zh-TW/core/project-context-memory.md +1 -1
- package/bundled/locales/zh-TW/core/prompt-regression.md +88 -0
- package/bundled/locales/zh-TW/core/property-based-testing.md +87 -0
- package/bundled/locales/zh-TW/core/refactoring-standards.md +43 -6
- package/bundled/locales/zh-TW/core/release-quality-manifest.md +207 -0
- package/bundled/locales/zh-TW/core/replay-test.md +102 -0
- package/bundled/locales/zh-TW/core/requirement-engineering.md +1 -1
- package/bundled/locales/zh-TW/core/resource-cost-boundary.md +175 -0
- package/bundled/locales/zh-TW/core/reverse-engineering-standards.md +64 -5
- package/bundled/locales/zh-TW/core/rollback-standards.md +120 -0
- package/bundled/locales/zh-TW/core/runbook.md +110 -0
- package/bundled/locales/zh-TW/core/sast-advanced.md +309 -0
- package/bundled/locales/zh-TW/core/schema-evolution.md +98 -0
- package/bundled/locales/zh-TW/core/secret-management-standards.md +101 -0
- package/bundled/locales/zh-TW/core/secure-op.md +328 -0
- package/bundled/locales/zh-TW/core/security-testing.md +113 -0
- package/bundled/locales/zh-TW/core/self-review-protocol.md +18 -13
- package/bundled/locales/zh-TW/core/server-ops-security.md +507 -0
- package/bundled/locales/zh-TW/core/slo-sli.md +108 -0
- package/bundled/locales/zh-TW/core/smoke-test.md +79 -0
- package/bundled/locales/zh-TW/core/spec-driven-development.md +19 -11
- package/bundled/locales/zh-TW/core/supply-chain-attestation.md +131 -0
- package/bundled/locales/zh-TW/core/user-journey-testing.md +111 -0
- package/bundled/locales/zh-TW/core/user-story-mapping.md +94 -0
- package/bundled/locales/zh-TW/core/verification-evidence.md +260 -31
- package/bundled/locales/zh-TW/core/verification-oracle.md +159 -0
- package/bundled/locales/zh-TW/core/versioning.md +112 -112
- package/bundled/locales/zh-TW/docs/CHEATSHEET.md +36 -7
- package/bundled/locales/zh-TW/docs/DEV-WORKFLOW-MAPPING.md +6 -6
- package/bundled/locales/zh-TW/docs/FEATURE-REFERENCE.md +71 -53
- package/bundled/locales/zh-TW/docs/MIGRATION-v6.md +88 -0
- package/bundled/locales/zh-TW/docs/USAGE-MODES-COMPARISON.md +2 -2
- package/bundled/locales/zh-TW/docs/USER-MANUAL.md +14 -14
- package/bundled/locales/zh-TW/docs/specs/system/memory-adoption-strategy.md +105 -0
- package/bundled/locales/zh-TW/docs/user/FAQ.md +132 -0
- package/bundled/locales/zh-TW/docs/user/GETTING-STARTED.md +144 -0
- package/bundled/locales/zh-TW/docs/user/GLOSSARY.md +178 -0
- package/bundled/locales/zh-TW/docs/user/README.md +70 -0
- package/bundled/locales/zh-TW/docs/user/TROUBLESHOOTING.md +190 -0
- package/bundled/locales/zh-TW/integrations/github-copilot/COPILOT-CHAT-REFERENCE.md +1 -1
- package/bundled/locales/zh-TW/integrations/github-copilot/README.md +1 -1
- package/bundled/locales/zh-TW/integrations/github-copilot/skills-mapping.md +3 -3
- package/bundled/locales/zh-TW/integrations/opencode/skills-mapping.md +3 -3
- package/bundled/locales/zh-TW/methodologies/guides/sdd-guide.md +523 -26
- package/bundled/locales/zh-TW/options/changelog/auto-generated.md +166 -0
- package/bundled/locales/zh-TW/options/changelog/keep-a-changelog.md +140 -0
- package/bundled/locales/zh-TW/options/code-review/automated-review.md +214 -0
- package/bundled/locales/zh-TW/options/code-review/pair-programming.md +166 -0
- package/bundled/locales/zh-TW/options/code-review/pr-review.md +167 -0
- package/bundled/locales/zh-TW/options/commit-message/bilingual.md +10 -3
- package/bundled/locales/zh-TW/options/documentation/api-docs.md +191 -0
- package/bundled/locales/zh-TW/options/documentation/markdown-docs.md +150 -0
- package/bundled/locales/zh-TW/options/documentation/wiki-style.md +131 -0
- package/bundled/locales/zh-TW/options/project-structure/kotlin.md +144 -0
- package/bundled/locales/zh-TW/options/project-structure/php.md +168 -0
- package/bundled/locales/zh-TW/options/project-structure/ruby.md +156 -0
- package/bundled/locales/zh-TW/options/project-structure/rust.md +136 -0
- package/bundled/locales/zh-TW/options/project-structure/swift.md +165 -0
- package/bundled/locales/zh-TW/options/testing/contract-testing.md +237 -0
- package/bundled/locales/zh-TW/options/testing/industry-pyramid.md +200 -0
- package/bundled/locales/zh-TW/options/testing/istqb-framework.md +144 -0
- package/bundled/locales/zh-TW/options/testing/performance-testing.md +251 -0
- package/bundled/locales/zh-TW/options/testing/security-testing.md +192 -0
- package/bundled/locales/zh-TW/skills/README.md +91 -128
- package/bundled/locales/zh-TW/skills/ac-coverage/SKILL.md +4 -6
- package/bundled/locales/zh-TW/skills/adr-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/agents/code-architect.md +263 -0
- package/bundled/locales/zh-TW/skills/agents/doc-writer.md +410 -0
- package/bundled/locales/zh-TW/skills/agents/reviewer.md +357 -0
- package/bundled/locales/zh-TW/skills/agents/spec-analyst.md +410 -0
- package/bundled/locales/zh-TW/skills/agents/test-specialist.md +368 -0
- package/bundled/locales/zh-TW/skills/ai-collaboration-standards/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/ai-friendly-architecture/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/ai-instruction-standards/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/atdd-assistant/SKILL.md +2 -0
- package/bundled/locales/zh-TW/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
- package/bundled/locales/zh-TW/skills/atdd-assistant/atdd-workflow.md +3 -4
- package/bundled/locales/zh-TW/skills/audit-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/bdd-assistant/SKILL.md +2 -0
- package/bundled/locales/zh-TW/skills/bdd-assistant/guide.md +1 -2
- package/bundled/locales/zh-TW/skills/brainstorm-assistant/SKILL.md +116 -18
- package/bundled/locales/zh-TW/skills/brainstorm-assistant/guide.md +38 -11
- package/bundled/locales/zh-TW/skills/checkin-assistant/SKILL.md +3 -1
- package/bundled/locales/zh-TW/skills/ci-cd-assistant/SKILL.md +50 -0
- package/bundled/locales/zh-TW/skills/code-review-assistant/SKILL.md +7 -5
- package/bundled/locales/zh-TW/skills/commands/ac-coverage.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/atdd.md +3 -3
- package/bundled/locales/zh-TW/skills/commands/bdd.md +2 -2
- package/bundled/locales/zh-TW/skills/commands/brainstorm.md +26 -17
- package/bundled/locales/zh-TW/skills/commands/{review.md → code-review.md} +5 -5
- package/bundled/locales/zh-TW/skills/commands/derive-all.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/derive-atdd.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/derive-bdd.md +2 -3
- package/bundled/locales/zh-TW/skills/commands/derive-tdd.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/derive.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/dev-workflow.md +2 -2
- package/bundled/locales/zh-TW/skills/commands/methodology.md +4 -4
- package/bundled/locales/zh-TW/skills/commands/pr.md +1 -1
- package/bundled/locales/zh-TW/skills/commands/tdd.md +1 -1
- package/bundled/locales/zh-TW/skills/commit-standards/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/contract-test-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/dev-methodology/create-methodology.md +456 -0
- package/bundled/locales/zh-TW/skills/dev-methodology/guide.md +5 -5
- package/bundled/locales/zh-TW/skills/dev-methodology/runtime.md +296 -0
- package/bundled/locales/zh-TW/skills/dev-workflow-guide/SKILL.md +5 -5
- package/bundled/locales/zh-TW/skills/docs-generator/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/e2e-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/incident-response-assistant/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/logging-guide/SKILL.md +52 -27
- package/bundled/locales/zh-TW/skills/migration-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/pr-automation-assistant/SKILL.md +3 -1
- package/bundled/locales/zh-TW/skills/project-discovery/guide.md +2 -2
- package/bundled/locales/zh-TW/skills/reverse-engineer/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/security-assistant/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/spec-derivation/guide.md +7 -8
- package/bundled/locales/zh-TW/skills/spec-driven-dev/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/sweep/SKILL.md +1 -1
- package/bundled/locales/zh-TW/skills/tdd-assistant/SKILL.md +3 -1
- package/bundled/locales/zh-TW/skills/testing-guide/SKILL.md +2 -2
- package/bundled/locales/zh-TW/skills/testing-guide/testing-theory.md +2298 -0
- package/bundled/locales/zh-TW/skills/workflows/README.md +451 -0
- package/bundled/skills/README.md +1 -1
- package/bundled/skills/ac-coverage/SKILL.md +17 -7
- package/bundled/skills/adr-assistant/SKILL.md +1 -1
- package/bundled/skills/agents/code-architect.md +1 -1
- package/bundled/skills/agents/doc-writer.md +1 -1
- package/bundled/skills/agents/reviewer.md +2 -2
- package/bundled/skills/agents/spec-analyst.md +1 -1
- package/bundled/skills/agents/test-specialist.md +1 -1
- package/bundled/skills/ai-collaboration-standards/SKILL.md +2 -2
- package/bundled/skills/ai-friendly-architecture/SKILL.md +2 -2
- package/bundled/skills/ai-instruction-standards/SKILL.md +1 -1
- package/bundled/skills/atdd-assistant/SKILL.md +7 -0
- package/bundled/skills/atdd-assistant/acceptance-criteria-guide.md +1 -1
- package/bundled/skills/atdd-assistant/atdd-workflow.md +6 -8
- package/bundled/skills/audit-assistant/SKILL.md +2 -2
- package/bundled/skills/bdd-assistant/SKILL.md +7 -0
- package/bundled/skills/bdd-assistant/guide.md +1 -2
- package/bundled/skills/brainstorm-assistant/SKILL.md +139 -15
- package/bundled/skills/brainstorm-assistant/guide.md +39 -8
- package/bundled/skills/checkin-assistant/SKILL.md +8 -1
- package/bundled/skills/ci-cd-assistant/SKILL.md +57 -0
- package/bundled/skills/code-review-assistant/SKILL.md +15 -8
- package/bundled/skills/commands/COMMAND-FAMILY-OVERVIEW.md +2 -2
- package/bundled/skills/commands/COMMAND-INDEX.json +3 -3
- package/bundled/skills/commands/README.md +2 -2
- package/bundled/skills/commands/ac-coverage.md +1 -1
- package/bundled/skills/commands/atdd.md +2 -2
- package/bundled/skills/commands/bdd.md +2 -2
- package/bundled/skills/commands/brainstorm.md +25 -14
- package/bundled/skills/commands/{review.md → code-review.md} +6 -6
- package/bundled/skills/commands/derive-all.md +1 -1
- package/bundled/skills/commands/derive-atdd.md +1 -1
- package/bundled/skills/commands/derive-bdd.md +2 -3
- package/bundled/skills/commands/derive-tdd.md +1 -1
- package/bundled/skills/commands/derive.md +1 -1
- package/bundled/skills/commands/dev-workflow.md +1 -1
- package/bundled/skills/commands/journey-test.md +45 -0
- package/bundled/skills/commands/methodology.md +4 -4
- package/bundled/skills/commands/pr.md +1 -1
- package/bundled/skills/commands/skill-builder.md +42 -0
- package/bundled/skills/commands/tdd.md +1 -1
- package/bundled/skills/dev-methodology/create-methodology.md +1 -1
- package/bundled/skills/dev-methodology/guide.md +1 -1
- package/bundled/skills/dev-methodology/runtime.md +1 -1
- package/bundled/skills/dev-workflow-guide/SKILL.md +3 -3
- package/bundled/skills/dev-workflow-guide/workflow-phases.md +3 -3
- package/bundled/skills/docs-generator/SKILL.md +3 -3
- package/bundled/skills/incident-response-assistant/SKILL.md +2 -2
- package/bundled/skills/logging-guide/SKILL.md +38 -2
- package/bundled/skills/migration-assistant/SKILL.md +226 -0
- package/bundled/skills/observability-assistant/SKILL.md +74 -0
- package/bundled/skills/pr-automation-assistant/SKILL.md +5 -1
- package/bundled/skills/project-discovery/guide.md +2 -2
- package/bundled/skills/push/SKILL.md +1 -1
- package/bundled/skills/release-standards/SKILL.md +19 -5
- package/bundled/skills/security-assistant/SKILL.md +1 -1
- package/bundled/skills/skill-builder/SKILL.md +1 -1
- package/bundled/skills/spec-derivation/guide.md +3 -4
- package/bundled/skills/spec-driven-dev/SKILL.md +13 -2
- package/bundled/skills/sweep/SKILL.md +1 -1
- package/bundled/skills/tdd-assistant/SKILL.md +8 -1
- package/bundled/skills/testing-guide/SKILL.md +1 -1
- package/bundled/skills/testing-guide/testing-theory.md +1 -1
- package/bundled/skills/workflows/README.md +2 -2
- package/package.json +4 -4
- package/src/commands/audit.js +30 -9
- package/src/commands/config.js +33 -2
- package/src/commands/hitl.js +14 -1
- package/src/commands/init.js +168 -75
- package/src/commands/quickstart.js +1 -2
- package/src/commands/release.js +51 -6
- package/src/commands/run-intent.js +9 -0
- package/src/commands/spec-split.js +27 -2
- package/src/commands/update.js +22 -6
- package/src/config/ai-agent-paths.js +3 -1
- package/src/i18n/messages.js +3 -102
- package/src/missions/MissionManager.js +44 -12
- package/src/utils/build-manifest.js +35 -3
- package/src/utils/friction-detector.js +71 -22
- package/src/utils/health-checker.js +29 -2
- package/src/utils/transaction.js +111 -0
- package/src/utils/version-promote.js +16 -0
- package/standards-registry.json +61 -149
- package/bundled/ai/standards/agent-communication-protocol.ai.yaml +0 -42
- package/bundled/ai/standards/agent-dispatch.ai.yaml +0 -42
- package/bundled/ai/standards/branch-completion.ai.yaml +0 -44
- package/bundled/ai/standards/change-batching-standards.ai.yaml +0 -44
- package/bundled/ai/standards/execution-history.ai.yaml +0 -42
- package/bundled/ai/standards/pipeline-integration-standards.ai.yaml +0 -42
- package/bundled/ai/standards/workflow-enforcement.ai.yaml +0 -44
- package/bundled/ai/standards/workflow-state-protocol.ai.yaml +0 -43
- package/src/commands/flow.js +0 -260
- package/src/commands/start.js +0 -372
- package/src/commands/sweep.js +0 -151
- package/src/commands/workflow.js +0 -681
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
> **Language**: English | [繁體中文](../locales/zh-TW/core/accessibility-standards.md)
|
|
4
4
|
|
|
5
|
-
**Version**: 1.
|
|
6
|
-
**Last Updated**: 2026-
|
|
5
|
+
**Version**: 1.1.0
|
|
6
|
+
**Last Updated**: 2026-06-18
|
|
7
7
|
**Applicability**: All software projects with user interfaces
|
|
8
8
|
**Scope**: universal
|
|
9
9
|
**Industry Standards**: WCAG 2.1/2.2, WAI-ARIA 1.2, Section 508
|
|
@@ -213,8 +213,11 @@ This standard defines comprehensive guidelines for creating accessible software
|
|
|
213
213
|
|
|
214
214
|
```javascript
|
|
215
215
|
// ✅ Good: Session timeout warning
|
|
216
|
-
|
|
217
|
-
|
|
216
|
+
// A warning + a way to extend the session is REQUIRED by WCAG 2.2.1 (Timing
|
|
217
|
+
// Adjustable). The specific durations are UDS defaults and are configurable:
|
|
218
|
+
// 30 min idle aligns with NIST SP 800-63B AAL2 reauthentication guidance.
|
|
219
|
+
const TIMEOUT_WARNING = 5 * 60 * 1000; // 5 min warning before timeout
|
|
220
|
+
const SESSION_TIMEOUT = 30 * 60 * 1000; // 30 min idle (UDS default; configurable)
|
|
218
221
|
|
|
219
222
|
setTimeout(() => {
|
|
220
223
|
const extend = confirm('Your session will expire in 5 minutes. Extend?');
|
|
@@ -909,6 +912,7 @@ The a11y gate contributes to the Release Readiness Sign-off as:
|
|
|
909
912
|
|
|
910
913
|
| Version | Date | Changes |
|
|
911
914
|
|---------|------|---------|
|
|
915
|
+
| 1.1.0 | 2026-06-18 | Added: source + configurable note for session-timeout durations (WCAG 2.2.1 Timing Adjustable; NIST SP 800-63B AAL2) (XSPEC-292 T8) |
|
|
912
916
|
| 1.0.0 | 2026-01-29 | Initial release: WCAG 2.1 coverage, POUR principles, ARIA guidelines, keyboard navigation, forms, testing |
|
|
913
917
|
|
|
914
918
|
---
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
> **Language**: English | [繁體中文](../locales/zh-TW/core/ai-response-navigation.md) | [简体中文](../locales/zh-CN/core/ai-response-navigation.md)
|
|
4
4
|
|
|
5
|
-
**Version**: 1.
|
|
6
|
-
**Last Updated**: 2026-
|
|
5
|
+
**Version**: 1.1.0
|
|
6
|
+
**Last Updated**: 2026-06-10
|
|
7
7
|
**Applicability**: All projects using AI-assisted development
|
|
8
8
|
**Scope**: universal
|
|
9
9
|
**Industry Standards**: None (Emerging AI tool practice)
|
|
@@ -69,6 +69,32 @@ Adjust the number of options based on context complexity:
|
|
|
69
69
|
|
|
70
70
|
When a next-step suggestion corresponds to a known slash command, reference it using `` `/command` `` format so users can copy and execute directly. Use natural language descriptions for steps without corresponding commands.
|
|
71
71
|
|
|
72
|
+
### Rule 6: Model Tier Annotation(Optional)
|
|
73
|
+
|
|
74
|
+
When a next-step option clearly maps to a specific complexity tier, you MAY annotate it with a model tier hint. This annotation is **strictly optional** — existing skills do not need to be updated retroactively; new and revised skills are encouraged to adopt it.
|
|
75
|
+
|
|
76
|
+
**Notation**: append `〔model: Fast〕`, `〔model: Standard〕`, or `〔model: Capable〕` after the option description.
|
|
77
|
+
|
|
78
|
+
**Tier selection**: use the complexity signals from the [model-selection](model-selection.md) standard:
|
|
79
|
+
- `Fast` — single file, unambiguous spec, no design judgment
|
|
80
|
+
- `Standard` — 2–5 files, inter-module understanding needed
|
|
81
|
+
- `Capable` — 5+ files, architectural decisions, cross-system correctness
|
|
82
|
+
|
|
83
|
+
**Localized notation**:
|
|
84
|
+
- 繁體中文:`〔模型:Fast〕` / `〔模型:Standard〕` / `〔模型:Capable〕`
|
|
85
|
+
- 简体中文:`〔模型:Fast〕` / `〔模型:Standard〕` / `〔模型:Capable〕`
|
|
86
|
+
|
|
87
|
+
Tier names are **vendor-neutral**. Each tool or platform maps these tiers to its available models independently.
|
|
88
|
+
|
|
89
|
+
**Example** (task completed, with tier annotations):
|
|
90
|
+
|
|
91
|
+
```markdown
|
|
92
|
+
> **Suggested next steps:**
|
|
93
|
+
> - Run `/derive bdd` to extract BDD scenarios `〔model: Fast〕` — format conversion only
|
|
94
|
+
> - Run `/checkin` for quality gate verification ⭐ **Recommended** `〔model: Standard〕` — inter-module judgment required
|
|
95
|
+
> - Run `/sdd` for integrated architecture design `〔model: Capable〕` — cross-system impact analysis
|
|
96
|
+
```
|
|
97
|
+
|
|
72
98
|
---
|
|
73
99
|
|
|
74
100
|
## Contextual Templates
|
|
@@ -209,7 +235,7 @@ Each tool's integration layer is responsible for rendering the Navigation Footer
|
|
|
209
235
|
> **Suggested next steps:**
|
|
210
236
|
> - Run `/test` to write tests for the new feature
|
|
211
237
|
> - Run `/commit` to commit changes ⭐ **Recommended** — changes are complete and verified
|
|
212
|
-
> - Run `/review` for self-review
|
|
238
|
+
> - Run `/code-review` for self-review
|
|
213
239
|
```
|
|
214
240
|
|
|
215
241
|
### Example 2: Asking the User a Design Question
|
|
@@ -257,6 +283,7 @@ Each tool's integration layer is responsible for rendering the Navigation Footer
|
|
|
257
283
|
| R3 | Match template to response type |
|
|
258
284
|
| R4 | 1–5 options, adapt to context |
|
|
259
285
|
| R5 | Use `/command` format when applicable |
|
|
286
|
+
| R6 | *(Optional)* Append `〔model: Fast\|Standard\|Capable〕` when tier is clear |
|
|
260
287
|
|
|
261
288
|
| Exempt | Not Exempt |
|
|
262
289
|
|--------|------------|
|
|
@@ -280,6 +307,7 @@ Each tool's integration layer is responsible for rendering the Navigation Footer
|
|
|
280
307
|
|
|
281
308
|
| Version | Date | Changes |
|
|
282
309
|
|---------|------|---------|
|
|
310
|
+
| 1.1.0 | 2026-06-10 | Add R6 optional model tier annotation (`〔model: Fast\|Standard\|Capable〕`); vendor-neutral; no forced changes to existing skills |
|
|
283
311
|
| 1.0.0 | 2026-03-25 | Initial release |
|
|
284
312
|
|
|
285
313
|
---
|
|
@@ -181,4 +181,4 @@ Then give your honest recommendation.
|
|
|
181
181
|
## Related Standards
|
|
182
182
|
|
|
183
183
|
- [anti-hallucination.md](anti-hallucination.md) — Prevents fabrication; complements anti-sycophancy
|
|
184
|
-
- [agent-epistemic-calibration.md](
|
|
184
|
+
- [agent-epistemic-calibration.md](anti-hallucination.md) — Epistemic humility in agent design (where applicable)
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
> **Language**: English | [繁體中文](../locales/zh-TW/core/api-design-standards.md)
|
|
4
4
|
|
|
5
|
-
**Version**: 1.
|
|
6
|
-
**Last Updated**: 2026-
|
|
5
|
+
**Version**: 1.1.0
|
|
6
|
+
**Last Updated**: 2026-06-24
|
|
7
7
|
**Applicability**: All software projects
|
|
8
8
|
**Scope**: universal
|
|
9
9
|
**Industry Standards**: OpenAPI 3.x, JSON:API 1.1, Google API Design Guide, RFC 7231 (HTTP Semantics)
|
|
@@ -165,12 +165,14 @@ https://api.example.com/v2/users
|
|
|
165
165
|
|
|
166
166
|
### Version Lifecycle
|
|
167
167
|
|
|
168
|
-
|
|
169
|
-
|
|
168
|
+
An API version moves through four states. The **durations** — the parallel-support window and the deprecation notice period — are the single responsibility of [Deprecation & Sunset Standards](deprecation-standards.md#api-deprecation); this table defines only the states and the API-contract action in each, so the timing numbers live in exactly one place.
|
|
169
|
+
|
|
170
|
+
| Phase | State | API-Contract Action |
|
|
171
|
+
|-------|-------|---------------------|
|
|
170
172
|
| **Current** | Active development | Full support, new features |
|
|
171
|
-
| **Supported** |
|
|
172
|
-
| **Deprecated** |
|
|
173
|
-
| **Retired** |
|
|
173
|
+
| **Supported** | Maintained in parallel with successor | Bug fixes, security patches only |
|
|
174
|
+
| **Deprecated** | Retirement announced | `Deprecation` / `Sunset` headers, migration guide published |
|
|
175
|
+
| **Retired** | Removed | Return `410 Gone` with migration info |
|
|
174
176
|
|
|
175
177
|
### Deprecation Headers
|
|
176
178
|
|
|
@@ -180,6 +182,88 @@ Deprecation: true
|
|
|
180
182
|
Link: <https://api.example.com/v2/docs>; rel="successor-version"
|
|
181
183
|
```
|
|
182
184
|
|
|
185
|
+
> The full deprecation **process** (the staged Sunset timeline) and the **minimum notice
|
|
186
|
+
> period per API tier** are governed by [Deprecation & Sunset Standards](deprecation-standards.md#api-deprecation).
|
|
187
|
+
> This standard owns the API-contract surface below: how a version is deprecated in code,
|
|
188
|
+
> what counts as a breaking change, and how to document the migration.
|
|
189
|
+
|
|
190
|
+
### Deprecating an API Version
|
|
191
|
+
|
|
192
|
+
Signal deprecation through SemVer and in the API itself, then follow the deprecation lifecycle. The version progression mirrors [Semantic Versioning](versioning.md#incrementing-rules):
|
|
193
|
+
|
|
194
|
+
```
|
|
195
|
+
v1.0.0 — Version introduced
|
|
196
|
+
v1.5.0 — Deprecation announced (no later than the N-1 minor before removal)
|
|
197
|
+
v2.0.0 — Version removed (breaking change → MAJOR bump)
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Mark deprecated code so callers see the warning well before the removal release:
|
|
201
|
+
|
|
202
|
+
```javascript
|
|
203
|
+
// v1.5.0 — add deprecation warning
|
|
204
|
+
/**
|
|
205
|
+
* @deprecated Use authenticateV2() instead. Will be removed in v2.0.0
|
|
206
|
+
*/
|
|
207
|
+
function authenticate(username, password) {
|
|
208
|
+
console.warn('[DEPRECATED] authenticate() will be removed in v2.0.0. Use authenticateV2()');
|
|
209
|
+
return authenticateV2(username, password);
|
|
210
|
+
}
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Backward Compatibility Checklist
|
|
214
|
+
|
|
215
|
+
Before releasing, classify every change. Anything in the first list is **breaking** and requires a MAJOR version bump (see [Semantic Versioning](versioning.md#incrementing-rules)); anything in the second list is backward-compatible and ships in a MINOR or PATCH release.
|
|
216
|
+
|
|
217
|
+
**Breaking — never without a MAJOR version bump:**
|
|
218
|
+
- [ ] Remove a public API endpoint
|
|
219
|
+
- [ ] Remove a required request field
|
|
220
|
+
- [ ] Add a required request field
|
|
221
|
+
- [ ] Change a response field's type
|
|
222
|
+
- [ ] Change the meaning of an error code
|
|
223
|
+
- [ ] Remove a response field consumers depend on
|
|
224
|
+
|
|
225
|
+
**Backward-compatible — safe in a MINOR or PATCH release:**
|
|
226
|
+
- [ ] Add an optional request field
|
|
227
|
+
- [ ] Add a new response field
|
|
228
|
+
- [ ] Add a new endpoint
|
|
229
|
+
- [ ] Add a new error code
|
|
230
|
+
- [ ] Improve an error message
|
|
231
|
+
- [ ] Performance improvement
|
|
232
|
+
|
|
233
|
+
### API Migration Guide
|
|
234
|
+
|
|
235
|
+
When a MAJOR version ships breaking changes, publish a migration guide that maps each old usage to its replacement:
|
|
236
|
+
|
|
237
|
+
````markdown
|
|
238
|
+
# Migration Guide: v1.x to v2.0
|
|
239
|
+
|
|
240
|
+
## Breaking Changes
|
|
241
|
+
|
|
242
|
+
### 1. authenticate() removed
|
|
243
|
+
|
|
244
|
+
**Before (v1.x)**:
|
|
245
|
+
```javascript
|
|
246
|
+
const token = await authenticate('user', 'pass');
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
**After (v2.0)**:
|
|
250
|
+
```javascript
|
|
251
|
+
const token = await authenticateV2({ username: 'user', password: 'pass' });
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### 2. API response format changed
|
|
255
|
+
|
|
256
|
+
**Before (v1.x)**: `{ "data": { "user": {...} } }`
|
|
257
|
+
**After (v2.0)**: `{ "user": {...} }`
|
|
258
|
+
|
|
259
|
+
```javascript
|
|
260
|
+
// Before
|
|
261
|
+
const user = response.data.user;
|
|
262
|
+
// After
|
|
263
|
+
const user = response.user;
|
|
264
|
+
```
|
|
265
|
+
````
|
|
266
|
+
|
|
183
267
|
---
|
|
184
268
|
|
|
185
269
|
## Request/Response Standards
|
|
@@ -917,6 +1001,7 @@ Error → { type, title, status, detail, errors, traceId }
|
|
|
917
1001
|
|
|
918
1002
|
| Version | Date | Changes |
|
|
919
1003
|
|---------|------|---------|
|
|
1004
|
+
| 1.1.0 | 2026-06-24 | Added: Deprecating an API Version, Backward Compatibility Checklist, and API Migration Guide (consolidated from versioning.md); Version Lifecycle now defers all period numbers to deprecation-standards as the single source of truth (XSPEC-298 R8, UDS #126) |
|
|
920
1005
|
| 1.0.0 | 2026-03-18 | Initial release |
|
|
921
1006
|
|
|
922
1007
|
---
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# Audit Trail Standards
|
|
2
|
+
|
|
3
|
+
> **Version**: 1.0.0 | **Status**: Active | **Updated**: 2026-06-17
|
|
4
|
+
> **AI-optimized version**: `ai/standards/audit-trail.ai.yaml`
|
|
5
|
+
> **Spec**: XSPEC-066 (cross-project/specs/XSPEC-066-uds-compliance-audit-pack.md)
|
|
6
|
+
|
|
7
|
+
**Scope**: universal
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
This standard defines the requirements for creating, storing, and managing
|
|
12
|
+
**immutable audit trails** across systems that handle sensitive data, financial
|
|
13
|
+
transactions, access-control changes, and compliance-relevant operations. It
|
|
14
|
+
covers mandatory event types, the audit-record schema, tamper-evidence
|
|
15
|
+
requirements, retention periods, query/export capabilities, and SIEM integration.
|
|
16
|
+
It is designed to satisfy SOC 2, ISO 27001, GDPR, and financial regulatory
|
|
17
|
+
requirements.
|
|
18
|
+
|
|
19
|
+
It is part of the **compliance & audit pack** (XSPEC-066) and the
|
|
20
|
+
audit-trail member is the core carrier of EU AI Act auditability (DEC-041) and of
|
|
21
|
+
the VibeOps Governance Agent intervention record (DEC-042). It composes with the
|
|
22
|
+
governance-gate family — `license-compliance` (XSPEC-193), `verification-oracle`
|
|
23
|
+
(XSPEC-256), and `model-provenance` (XSPEC-255) — whose gate verdicts are written
|
|
24
|
+
into an audit trail conforming to this standard.
|
|
25
|
+
|
|
26
|
+
> **Scope.** This standard defines *what* must be audited, the *record schema*,
|
|
27
|
+
> and the *immutability / retention / access* rules. The concrete storage engine
|
|
28
|
+
> (S3 Object Lock, append-only DB, hash-chain library) and the SIEM product are
|
|
29
|
+
> adoption choices, not part of this standard.
|
|
30
|
+
|
|
31
|
+
## Requirements
|
|
32
|
+
|
|
33
|
+
| ID | Rule | Level |
|
|
34
|
+
|----|------|-------|
|
|
35
|
+
| REQ-001 | Mandatory auditable event types (auth, authz, data access, config, financial, compliance) | MUST |
|
|
36
|
+
| REQ-002 | Audit-record schema (mandatory + recommended fields) | MUST |
|
|
37
|
+
| REQ-003 | Immutability and tamper evidence (append-only + hash chain) | MUST |
|
|
38
|
+
| REQ-004 | Audit-log retention periods by category | MUST |
|
|
39
|
+
| REQ-005 | Query and export capability (filterable, exportable, query-of-query logged) | MUST |
|
|
40
|
+
| REQ-006 | SIEM integration and alerting | SHOULD |
|
|
41
|
+
|
|
42
|
+
### REQ-001 — Mandatory Auditable Event Types
|
|
43
|
+
|
|
44
|
+
Systems MUST capture audit records, without exception, for: (1) **Authentication**
|
|
45
|
+
— login success/failure, logout, MFA events, password changes; (2)
|
|
46
|
+
**Authorization** — access granted/denied, privilege escalation, role changes; (3)
|
|
47
|
+
**Data access** — read/write/delete of TIER-1 and TIER-2 PII (see
|
|
48
|
+
`pii-classification`), bulk data exports; (4) **Configuration changes** — system
|
|
49
|
+
settings, security-policy changes, user/role management; (5) **Financial
|
|
50
|
+
transactions** — payment processing, refunds, balance changes; (6)
|
|
51
|
+
**Compliance-relevant actions** — consent changes, data-erasure requests, legal
|
|
52
|
+
holds.
|
|
53
|
+
|
|
54
|
+
### REQ-002 — Audit Record Schema
|
|
55
|
+
|
|
56
|
+
Every audit record MUST contain: `event_id` (UUID v4), `event_type` (enumerated
|
|
57
|
+
string), `timestamp` (ISO 8601 UTC with milliseconds), `actor_id` (user or
|
|
58
|
+
service account), `actor_ip` (for user actions), `resource_type`, `resource_id`,
|
|
59
|
+
`action`, `outcome` (success/failure), and `environment` (production/staging). It
|
|
60
|
+
SHOULD also include `session_id`, `request_id` for correlation, before/after
|
|
61
|
+
state for mutations, and geographic region.
|
|
62
|
+
|
|
63
|
+
### REQ-003 — Immutability and Tamper Evidence
|
|
64
|
+
|
|
65
|
+
Audit logs MUST be written to an **append-only** store that prevents modification
|
|
66
|
+
or deletion by application-level principals. Each record MUST include a
|
|
67
|
+
cryptographic hash of the previous record (**chaining**) to detect tampering.
|
|
68
|
+
Write access to the audit store MUST be restricted to the audit service only — no
|
|
69
|
+
engineer or application service should have direct write access. Log integrity
|
|
70
|
+
MUST be verifiable on demand.
|
|
71
|
+
|
|
72
|
+
### REQ-004 — Audit Log Retention Periods
|
|
73
|
+
|
|
74
|
+
Audit logs MUST be retained according to these minimums by category:
|
|
75
|
+
authentication/authorization — 1 year hot, 6 years cold (SOC 2 / ISO 27001);
|
|
76
|
+
financial transactions — 7 years (financial regulations); PII access — 3 years;
|
|
77
|
+
configuration changes — 3 years; all other audit events — 1 year. Deletion of
|
|
78
|
+
audit records before their retention period expires is **PROHIBITED**. Logs
|
|
79
|
+
approaching expiry MUST be automatically archived to cold storage.
|
|
80
|
+
|
|
81
|
+
### REQ-005 — Audit Log Query and Export Capability
|
|
82
|
+
|
|
83
|
+
The audit system MUST support filtering by `event_type`, `actor_id`,
|
|
84
|
+
`resource_id`, time range, and `outcome`. Results MUST be exportable in JSON and
|
|
85
|
+
CSV. Queries returning PII MUST themselves be logged as audit events
|
|
86
|
+
(query-of-query). Audit data MUST be accessible to authorized compliance/security
|
|
87
|
+
teams within 4 hours of a request, and to regulators within 24 hours.
|
|
88
|
+
|
|
89
|
+
### REQ-006 — SIEM Integration and Alerting
|
|
90
|
+
|
|
91
|
+
Audit logs SHOULD be forwarded in real time to a SIEM system. The SIEM SHOULD
|
|
92
|
+
have automated detection rules for brute-force login patterns (>5 failures in
|
|
93
|
+
5 min), privilege escalation outside business hours, bulk PII exports (>1000
|
|
94
|
+
records in 1 hour), and access from new geographic regions. Alerts SHOULD trigger
|
|
95
|
+
on-call notification for high-severity detections.
|
|
96
|
+
|
|
97
|
+
## Integration with Existing Standards
|
|
98
|
+
|
|
99
|
+
- **`pii-classification`** — data-access auditing keys on the PII tier of the
|
|
100
|
+
fields touched (TIER-1/TIER-2 reads are mandatory audit events).
|
|
101
|
+
- **`logging-standards`** — audit records are a distinct, immutable class above
|
|
102
|
+
ordinary application logs; PII masking from `pii-classification` still applies.
|
|
103
|
+
- **`license-compliance` / `verification-oracle` / `model-provenance`** —
|
|
104
|
+
governance-gate verdicts (block/override) are written into the audit trail.
|
|
105
|
+
- **`execution-history`** — general execution records are not a substitute for a
|
|
106
|
+
compliance-grade, tamper-evident audit trail.
|
|
107
|
+
|
|
108
|
+
## Related Specs
|
|
109
|
+
|
|
110
|
+
- XSPEC-066 — UDS compliance & audit pack (this standard's source)
|
|
111
|
+
- DEC-041 — EU AI Act 2026 compliance (audit trail as auditability carrier)
|
|
112
|
+
- DEC-042 — Guardian / Governance Agent pattern (intervention auditability)
|
|
113
|
+
- DEC-020 — VibeOps commercial dual license (license-compliance auditing)
|
|
114
|
+
|
|
115
|
+
## Changelog
|
|
116
|
+
|
|
117
|
+
| Version | Date | Changes |
|
|
118
|
+
|---------|------|---------|
|
|
119
|
+
| v1.0.0 | 2026-06-17 | Initial — REQ-001~006: event types, record schema, immutability/tamper evidence, retention, query/export, SIEM integration (XSPEC-066) |
|
|
@@ -104,13 +104,32 @@ Files prefixed `MANUAL-` contain snapshots that cannot be automatically recorded
|
|
|
104
104
|
|
|
105
105
|
## `ignore_fields` Guidance
|
|
106
106
|
|
|
107
|
-
|
|
107
|
+
> **Core principle — ignore the _value_, keep the _format_ assertion.** A field being non-deterministic means its *value* changes between runs; it does **not** mean the field's *shape* may change freely. The naive use of `ignore_fields` drops the whole field from comparison, which also stops asserting its format — so a serializer that silently turns an ISO-8601 timestamp into a Unix epoch, drops the timezone, or changes UUID casing/version passes unnoticed. **Ignore the value; still assert the format.**
|
|
108
108
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
|
112
|
-
|
|
113
|
-
| `
|
|
109
|
+
### Ignore Value vs. Ignore Format
|
|
110
|
+
|
|
111
|
+
| Field | Naive: whole-field ignore | Recommended: ignore value, assert format |
|
|
112
|
+
|-------|---------------------------|-------------------------------------------|
|
|
113
|
+
| `created_at` | not compared at all | value ignored; assert it is still ISO-8601 with the same fractional-second precision and the same timezone representation |
|
|
114
|
+
| `trace_id` | not compared at all | value ignored; assert it still matches the UUID version and canonical 8-4-4-4-12 shape |
|
|
115
|
+
| `token` | not compared at all | value ignored; assert length, charset, and prefix |
|
|
116
|
+
|
|
117
|
+
### Non-Deterministic Fields: Ignore Value, Assert Format
|
|
118
|
+
|
|
119
|
+
| Field Pattern | Ignore (the value) | Still assert (format / shape) |
|
|
120
|
+
|--------------|--------------------|-------------------------------|
|
|
121
|
+
| `created_at`, `updated_at`, `timestamp` | the instant | ISO-8601 vs. epoch vs. custom; fractional-second precision (number of digits); timezone representation (`Z` vs `+00:00` vs offset) |
|
|
122
|
+
| `token`, `session_id`, `csrf_token` | the random bytes | length, charset, prefix |
|
|
123
|
+
| `request_id`, `trace_id`, `correlation_id` | the random UUID | UUID version + canonical 8-4-4-4-12 shape and casing |
|
|
124
|
+
|
|
125
|
+
**Timestamp example.** A migrated endpoint returns `created_at`:
|
|
126
|
+
|
|
127
|
+
```text
|
|
128
|
+
old system: "2026-05-12T08:30:00Z"
|
|
129
|
+
new system: "2026-05-12T08:30:00.000+00:00"
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Both decode to the same instant, so a whole-field ignore — and even a value comparison after parsing to a date — passes. But the **serialized format drifted**: fractional seconds appeared and the timezone representation changed from `Z` to `+00:00`. Clients that string-match, or parse with a strict format, break in production. Asserting the format pattern (e.g. `^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$`) catches this; ignoring the whole field hides it.
|
|
114
133
|
|
|
115
134
|
### Always Compare (Business Logic)
|
|
116
135
|
|
|
@@ -122,7 +141,71 @@ Files prefixed `MANUAL-` contain snapshots that cannot be automatically recorded
|
|
|
122
141
|
| `success`, `refunded`, `cancelled` | Boolean business outcome |
|
|
123
142
|
| `user_id`, `order_id` (with fixed test data) | Referential integrity |
|
|
124
143
|
|
|
125
|
-
|
|
144
|
+
### Whole-Field Ignore (Exception — Requires Justification)
|
|
145
|
+
|
|
146
|
+
Dropping a field from comparison entirely — no value **and** no format assertion — is an **exception**, not the default. Reserve it for fields whose format is genuinely unspecified or irrelevant (e.g. an opaque vendor blob), and document the reason inline.
|
|
147
|
+
|
|
148
|
+
> ⚠️ **Risk**: whole-field ignore masks **format drift**. A timestamp that changes precision or timezone, a UUID that changes version, or a number that gains or loses a trailing zero will pass silently — the exact class of bug parity testing exists to catch.
|
|
149
|
+
|
|
150
|
+
**Rule**: `ignore_fields` is for legitimately non-deterministic *values*. Ignore the value while still asserting the field's format/shape. Using it to drop business-logic fields — or to silence format drift on non-deterministic fields — defeats the purpose of parity testing.
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Serialization-Format Parity
|
|
155
|
+
|
|
156
|
+
A differential oracle that compares only **deserialized objects** silently normalizes serialization-level differences away: it parses both responses into maps/objects and compares those, so any divergence that disappears on parse is invisible. To catch serialization bugs, the oracle must compare at a granularity that preserves the serialized form — either compare the **raw serialized string**, or explicitly assert the JSON shape.
|
|
157
|
+
|
|
158
|
+
### What a Parsed-Object Compare Hides
|
|
159
|
+
|
|
160
|
+
| Serialization divergence | Hidden when you compare parsed objects? |
|
|
161
|
+
|--------------------------|------------------------------------------|
|
|
162
|
+
| `1` vs `1.0` (number format) | Yes — both parse to the number `1` |
|
|
163
|
+
| `null` vs a missing key | Yes — both read as absent/null |
|
|
164
|
+
| `true` vs `1` vs `"true"` | Often — after type coercion |
|
|
165
|
+
| Key ordering | Yes — object keys are unordered |
|
|
166
|
+
| Leading zeros / scientific notation | Yes — normalized on parse |
|
|
167
|
+
| Whitespace and Unicode escaping (`\/`, `\uXXXX`) | Yes — lost on parse |
|
|
168
|
+
|
|
169
|
+
### Two Strategies
|
|
170
|
+
|
|
171
|
+
1. **Raw-string comparison** — compare the exact serialized string. Strongest fidelity; use it when the wire format is part of the contract (public APIs, cached payloads, signed bodies).
|
|
172
|
+
2. **Explicit JSON-shape assertions** — when raw compare is too strict (e.g. legitimately non-deterministic values), assert the shape explicitly:
|
|
173
|
+
- **key presence and order** (when order is contractual)
|
|
174
|
+
- **number format**: `1` vs `1.0`, leading zeros, scientific notation
|
|
175
|
+
- **`null` vs absent key** (an omitted field is not the same as an explicit `null`)
|
|
176
|
+
- **boolean/string type**: `true` vs `"true"` vs `1`
|
|
177
|
+
|
|
178
|
+
### Cross-Language Rewrites Change the Serializer
|
|
179
|
+
|
|
180
|
+
When a system is rewritten in another language, the serializer changes — and serializers differ in their **defaults**. The oracle must assert these explicitly, because nothing else will. Common PHP `json_encode` ↔ C# `System.Text.Json` default differences:
|
|
181
|
+
|
|
182
|
+
| Concern | PHP `json_encode` (default) | C# `System.Text.Json` (default) |
|
|
183
|
+
|---------|------------------------------|----------------------------------|
|
|
184
|
+
| Number trailing zeros | `(float) 1.0` emits `1`; `JSON_PRESERVE_ZERO_FRACTION` is needed to keep `1.0` | `double` `1.0` serializes as `1`; `decimal` preserves scale |
|
|
185
|
+
| Date / time | no native date type — app-defined (often a custom string or epoch) | `DateTime`/`DateTimeOffset` → ISO-8601 (round-trip "O"), e.g. `2026-05-12T08:30:00+00:00` |
|
|
186
|
+
| Timezone | app-defined | `DateTimeOffset` keeps the offset; `DateTime.Kind` decides `Z` vs offset |
|
|
187
|
+
| `null` properties | included as `"k":null` | included by default; omitted only with `DefaultIgnoreCondition.WhenWritingNull` |
|
|
188
|
+
| Key ordering | insertion order (associative array) | property-declaration / reflection order |
|
|
189
|
+
| Slash and Unicode escaping | escapes `/` and non-ASCII unless `JSON_UNESCAPED_SLASHES` / `JSON_UNESCAPED_UNICODE` | does not escape `/`; escapes non-ASCII per the configured encoder |
|
|
190
|
+
|
|
191
|
+
### Asserting the Serialized Shape (TypeScript)
|
|
192
|
+
|
|
193
|
+
```typescript
|
|
194
|
+
// Beyond value parity: assert the serialized form, not just the parsed object.
|
|
195
|
+
function assertSerializationParity(oldRaw: string, newRaw: string): void {
|
|
196
|
+
// 1. Strongest: exact serialized string (after stripping only ignored *values*).
|
|
197
|
+
if (oldRaw === newRaw) return;
|
|
198
|
+
|
|
199
|
+
// 2. Otherwise assert shape explicitly on the raw text, not on JSON.parse():
|
|
200
|
+
// number format — a "1.0" in old must not silently become "1" in new
|
|
201
|
+
const numberShape = (s: string) => s.match(/:\s*-?\d+(\.\d+)?([eE][+-]?\d+)?/g) ?? [];
|
|
202
|
+
expect(numberShape(newRaw)).toEqual(numberShape(oldRaw));
|
|
203
|
+
|
|
204
|
+
// null vs missing — an explicit "key":null must not disappear
|
|
205
|
+
expect(/"refund_id"\s*:\s*null/.test(newRaw))
|
|
206
|
+
.toBe(/"refund_id"\s*:\s*null/.test(oldRaw));
|
|
207
|
+
}
|
|
208
|
+
```
|
|
126
209
|
|
|
127
210
|
---
|
|
128
211
|
|
|
@@ -218,6 +301,8 @@ After all features are implemented, run parity check:
|
|
|
218
301
|
| Overusing `ignore_fields` | Business logic differences hidden | Only ignore non-deterministic fields |
|
|
219
302
|
| Skipping MANUAL snapshots | Untested webhook/background behavior | Author MANUAL snapshots before UAT |
|
|
220
303
|
| Recording snapshots from broken system | Wrong baseline | Verify old system behavior before recording |
|
|
304
|
+
| Comparing only the deserialized object | Serialization-format bugs (number format, `null` vs missing key, key order, type coercion) are normalized away on parse | Compare the raw serialized string, or assert the JSON shape explicitly (see Serialization-Format Parity) |
|
|
305
|
+
| Whole-field `ignore_fields` on a non-deterministic field | Masks the field's **format** drift (timestamp precision/timezone, UUID version) | Ignore the value but still assert the format/shape (see `ignore_fields` Guidance) |
|
|
221
306
|
| Characterization tests without `@characterization` | Gate 0 can't find them | Always annotate with `@characterization` |
|
|
222
307
|
| Starting refactoring before Gate 0 | Behavior drift undetectable | Run characterization tests first, always |
|
|
223
308
|
|
|
@@ -229,6 +314,7 @@ After all features are implemented, run parity check:
|
|
|
229
314
|
- [Acceptance Criteria Traceability](acceptance-criteria-traceability.md) — `not_implemented` AC status
|
|
230
315
|
- [Refactoring Standards](refactoring-standards.md) — Characterization test requirements
|
|
231
316
|
- [Testing Standards](testing-standards.md) — Test implementation standards
|
|
317
|
+
- [Data Migration Testing](data-migration-testing.md) — same "don't compare what merely *looks* equal" principle, applied at the DB storage layer (byte/codepoint encoding) rather than the oracle/serialization layer
|
|
232
318
|
|
|
233
319
|
---
|
|
234
320
|
|
|
@@ -237,3 +323,4 @@ After all features are implemented, run parity check:
|
|
|
237
323
|
| Version | Date | Changes |
|
|
238
324
|
|---------|------|---------|
|
|
239
325
|
| 1.0.0 | 2026-05-12 | Initial version — snapshot schema, parity gate, Gate 0 characterization protocol (XSPEC-201) |
|
|
326
|
+
| 1.1.0 | 2026-06-28 | Comparison-fidelity additions (XSPEC-306) — `ignore_fields` rewritten to "ignore value, assert format"; new Serialization-Format Parity section (raw vs. JSON-shape assertions, PHP↔C# serializer defaults); 2 format-masking anti-patterns; cross-ref to data-migration-testing |
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
> **Language**: English | [繁體中文](../locales/zh-TW/core/browser-compatibility-standards.md)
|
|
4
4
|
|
|
5
|
-
**Version**: 1.0.
|
|
6
|
-
**Last Updated**: 2026-
|
|
5
|
+
**Version**: 1.0.2
|
|
6
|
+
**Last Updated**: 2026-06-18
|
|
7
7
|
**Applicability**: Frontend projects (web apps, progressive web apps, web components)
|
|
8
8
|
**Scope**: universal
|
|
9
|
+
**Owning Spec**: XSPEC-293 (orthogonal to XSPEC-209 route coverage)
|
|
9
10
|
**Industry Standards**: Browserslist, W3C WebDriver, WebDriver BiDi
|
|
10
11
|
**References**: [caniuse.com](https://caniuse.com/), [Playwright browser support matrix](https://playwright.dev/docs/browsers)
|
|
11
12
|
|
|
@@ -27,6 +28,16 @@ Browser compatibility issues are among the most user-visible defects, yet they a
|
|
|
27
28
|
| **Tier-2** (Partial support) | Best-effort; major flows must work | ≥ 95% pass — WARN if below, FAIL if < 90% |
|
|
28
29
|
| **Tier-3** (Best effort) | Not officially supported; defects logged but not blocking | Advisory only |
|
|
29
30
|
|
|
31
|
+
> **Tier-2 `≥95%` / `<90%` thresholds — basis & configurability**: these are UDS
|
|
32
|
+
> defaults, configurable per project. Tier-2 is "best-effort, major flows must
|
|
33
|
+
> work", so the gate tolerates a small tail of non-critical failures: `≥95%` =
|
|
34
|
+
> healthy (WARN below, to prompt triage); `<90%` = material regression (FAIL).
|
|
35
|
+
> Tune them to your target-market browser coverage — e.g. derive the Tier-2
|
|
36
|
+
> browser set and the pass bar from your Browserslist market-share config
|
|
37
|
+
> (`> 0.5%` etc.). **Exception**: when the failing Tier-2 cases are all
|
|
38
|
+
> non-critical flows (logged as Tier-3-style defects), a release owner may
|
|
39
|
+
> override the WARN/FAIL with a recorded justification.
|
|
40
|
+
|
|
30
41
|
---
|
|
31
42
|
|
|
32
43
|
## Default Browser Matrix
|
|
@@ -209,6 +220,8 @@ last 2 ChromeAndroid versions
|
|
|
209
220
|
|
|
210
221
|
| Version | Date | Changes |
|
|
211
222
|
|---------|------|---------|
|
|
223
|
+
| 1.0.2 | 2026-06-18 | Added: basis + configurability + exception note for Tier-2 95%/90% thresholds (XSPEC-292 T8 / XSPEC-293 AC-293-2) |
|
|
224
|
+
| 1.0.1 | 2026-06-18 | Added: Owning Spec pointer → XSPEC-293 (XSPEC-291 §11) |
|
|
212
225
|
| 1.0.0 | 2026-05-05 | Initial release: Tier-1/2/3 matrix, Playwright config, cloud testing, release gate criteria |
|
|
213
226
|
|
|
214
227
|
---
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
> **Language**: English | [繁體中文](../locales/zh-TW/core/checkin-standards.md)
|
|
4
4
|
|
|
5
|
-
**Version**: 1.
|
|
6
|
-
**Last Updated**: 2026-
|
|
5
|
+
**Version**: 1.8.0
|
|
6
|
+
**Last Updated**: 2026-07-09
|
|
7
7
|
**Applicability**: All software projects using version control
|
|
8
8
|
**Scope**: partial
|
|
9
9
|
**Industry Standards**: SWEBOK v4.0 Chapter 6
|
|
@@ -96,7 +96,7 @@ pytest --cov=src tests/
|
|
|
96
96
|
```
|
|
97
97
|
|
|
98
98
|
**Verification**:
|
|
99
|
-
- Run all test
|
|
99
|
+
- Run all relevant tests locally (see "All relevant tests pass" above — directly exercised code plus tests affected by the change, via test impact analysis tooling if the project has it); when scope is unclear, or the change touches shared/core paths, run the full suite instead
|
|
100
100
|
- Review test coverage report
|
|
101
101
|
- Ensure new code paths are tested
|
|
102
102
|
|
|
@@ -151,6 +151,12 @@ describe('Regression: [BUG-ID or description]', () => {
|
|
|
151
151
|
- Cyclomatic complexity ≤10
|
|
152
152
|
- No duplicated code blocks
|
|
153
153
|
|
|
154
|
+
> Thresholds are UDS defaults, configurable per project. Cyclomatic complexity
|
|
155
|
+
> ≤10 follows McCabe's original guidance (McCabe, 1976) — the value most
|
|
156
|
+
> linters (ESLint `complexity`, SonarQube) default to; the method-length and
|
|
157
|
+
> nesting limits are common style-guide defaults aimed at readability, not
|
|
158
|
+
> hard rules. Tune them to your language/team.
|
|
159
|
+
|
|
154
160
|
- [ ] **Security checked**
|
|
155
161
|
- No hardcoded secrets (passwords, API keys)
|
|
156
162
|
- No SQL injection vulnerabilities
|
|
@@ -1005,6 +1011,7 @@ git commit -m "feat(module-c): add export to CSV feature"
|
|
|
1005
1011
|
|
|
1006
1012
|
| Version | Date | Changes |
|
|
1007
1013
|
|---------|------|---------|
|
|
1014
|
+
| 1.7.0 | 2026-06-18 | Added: source + configurable note for code-smell thresholds (McCabe 1976 cyclomatic complexity; linter defaults) (XSPEC-292 T8) |
|
|
1008
1015
|
| 1.5.0 | 2026-03-18 | Added: AC coverage verification, batch threshold trigger, automated check-in rules |
|
|
1009
1016
|
| 1.4.0 | 2026-01-16 | Added: Bug Fix Testing Evaluation section with decision matrix |
|
|
1010
1017
|
| 1.3.0 | 2026-01-05 | Added: SWEBOK v4.0 Chapter 6 (Software Configuration Management) to References |
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
> **Language**: English | [繁體中文](../locales/zh-TW/core/code-review-checklist.md)
|
|
4
4
|
|
|
5
|
-
**Version**: 1.
|
|
6
|
-
**Last Updated**: 2026-
|
|
5
|
+
**Version**: 1.4.0
|
|
6
|
+
**Last Updated**: 2026-06-18
|
|
7
7
|
**Applicability**: All software projects with code review processes
|
|
8
8
|
**Scope**: universal
|
|
9
9
|
**Industry Standards**: SWEBOK v4.0 Chapter 10
|
|
@@ -476,6 +476,13 @@ jobs:
|
|
|
476
476
|
| 200-500 lines | 1 day | 2 days |
|
|
477
477
|
| > 500 lines | 🚨 Consider splitting | 3+ days |
|
|
478
478
|
|
|
479
|
+
> **Sources & configurability**: the size tiers reflect the empirically observed
|
|
480
|
+
> drop in review effectiveness past ~200–400 changed lines (SmartBear/Cisco code
|
|
481
|
+
> review study; [Google engineering practices](https://google.github.io/eng-practices/review/)).
|
|
482
|
+
> The response-time targets are UDS defaults — replace them with your team's
|
|
483
|
+
> review SLA. **Exception**: generated or vendored bulk changes (lockfiles,
|
|
484
|
+
> migrations, snapshots) are reviewed by spot-check, not by line count.
|
|
485
|
+
|
|
479
486
|
### Reviewer Availability
|
|
480
487
|
|
|
481
488
|
- Set "review hours" in team calendar
|
|
@@ -657,6 +664,7 @@ Comment Prefixes:
|
|
|
657
664
|
|
|
658
665
|
| Version | Date | Changes |
|
|
659
666
|
|---------|------|---------|
|
|
667
|
+
| 1.4.0 | 2026-06-18 | Added: source + configurability note for PR-size/response-time thresholds (SmartBear/Cisco study, Google practices) + bulk-change exception (XSPEC-292 T8) |
|
|
660
668
|
| 1.3.0 | 2026-01-12 | Added: Comprehensive Refactoring PRs section with pre-review checklist, review focus areas, large refactoring guidelines, red flags, and best practices |
|
|
661
669
|
| 1.2.0 | 2026-01-05 | Added: SWEBOK v4.0 Chapter 10 (Software Quality) to References |
|
|
662
670
|
| 1.1.0 | 2025-12-22 | Added: Alternative text labels section for review comments (Chinese label support) |
|