onto-mcp 0.3.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/.onto/authority/core-lens-registry.yaml +134 -0
- package/.onto/authority/core-lexicon.yaml +1562 -0
- package/.onto/authority/diagnostic-codes.yaml +94 -0
- package/.onto/domains/accounting/competency_qs.md +384 -0
- package/.onto/domains/accounting/concepts.md +186 -0
- package/.onto/domains/accounting/conciseness_rules.md +160 -0
- package/.onto/domains/accounting/dependency_rules.md +239 -0
- package/.onto/domains/accounting/domain_scope.md +213 -0
- package/.onto/domains/accounting/extension_cases.md +416 -0
- package/.onto/domains/accounting/logic_rules.md +226 -0
- package/.onto/domains/accounting/structure_spec.md +298 -0
- package/.onto/domains/accounting-kr/competency_qs.md +562 -0
- package/.onto/domains/accounting-kr/concepts.md +187 -0
- package/.onto/domains/accounting-kr/conciseness_rules.md +125 -0
- package/.onto/domains/accounting-kr/dependency_rules.md +93 -0
- package/.onto/domains/accounting-kr/domain_scope.md +140 -0
- package/.onto/domains/accounting-kr/extension_cases.md +343 -0
- package/.onto/domains/accounting-kr/logic_rules.md +160 -0
- package/.onto/domains/accounting-kr/structure_spec.md +85 -0
- package/.onto/domains/business/competency_qs.md +263 -0
- package/.onto/domains/business/concepts.md +200 -0
- package/.onto/domains/business/conciseness_rules.md +135 -0
- package/.onto/domains/business/dependency_rules.md +113 -0
- package/.onto/domains/business/domain_scope.md +240 -0
- package/.onto/domains/business/extension_cases.md +249 -0
- package/.onto/domains/business/logic_rules.md +134 -0
- package/.onto/domains/business/structure_spec.md +114 -0
- package/.onto/domains/finance/competency_qs.md +362 -0
- package/.onto/domains/finance/concepts.md +194 -0
- package/.onto/domains/finance/conciseness_rules.md +155 -0
- package/.onto/domains/finance/dependency_rules.md +171 -0
- package/.onto/domains/finance/domain_scope.md +215 -0
- package/.onto/domains/finance/extension_cases.md +350 -0
- package/.onto/domains/finance/logic_rules.md +191 -0
- package/.onto/domains/finance/structure_spec.md +182 -0
- package/.onto/domains/llm-native-development/competency_qs.md +430 -0
- package/.onto/domains/llm-native-development/concepts.md +242 -0
- package/.onto/domains/llm-native-development/conciseness_rules.md +163 -0
- package/.onto/domains/llm-native-development/dependency_rules.md +216 -0
- package/.onto/domains/llm-native-development/domain_scope.md +197 -0
- package/.onto/domains/llm-native-development/extension_cases.md +474 -0
- package/.onto/domains/llm-native-development/logic_rules.md +123 -0
- package/.onto/domains/llm-native-development/prompt_interface.md +49 -0
- package/.onto/domains/llm-native-development/structure_spec.md +245 -0
- package/.onto/domains/market-intelligence/competency_qs.md +274 -0
- package/.onto/domains/market-intelligence/concepts.md +233 -0
- package/.onto/domains/market-intelligence/conciseness_rules.md +165 -0
- package/.onto/domains/market-intelligence/dependency_rules.md +197 -0
- package/.onto/domains/market-intelligence/domain_scope.md +231 -0
- package/.onto/domains/market-intelligence/extension_cases.md +425 -0
- package/.onto/domains/market-intelligence/logic_rules.md +247 -0
- package/.onto/domains/market-intelligence/structure_spec.md +209 -0
- package/.onto/domains/ontology/competency_qs.md +394 -0
- package/.onto/domains/ontology/concepts.md +172 -0
- package/.onto/domains/ontology/conciseness_rules.md +134 -0
- package/.onto/domains/ontology/dependency_rules.md +125 -0
- package/.onto/domains/ontology/domain_scope.md +114 -0
- package/.onto/domains/ontology/extension_cases.md +501 -0
- package/.onto/domains/ontology/logic_rules.md +114 -0
- package/.onto/domains/ontology/problem_framing_profile.md +67 -0
- package/.onto/domains/ontology/structure_spec.md +115 -0
- package/.onto/domains/palantir-foundry/RESEARCH_NOTES.md +911 -0
- package/.onto/domains/palantir-foundry/competency_qs.md +191 -0
- package/.onto/domains/palantir-foundry/competitive_comparison.md +329 -0
- package/.onto/domains/palantir-foundry/concepts.md +197 -0
- package/.onto/domains/palantir-foundry/conciseness_rules.md +245 -0
- package/.onto/domains/palantir-foundry/dependency_rules.md +135 -0
- package/.onto/domains/palantir-foundry/domain_scope.md +395 -0
- package/.onto/domains/palantir-foundry/extension_cases.md +210 -0
- package/.onto/domains/palantir-foundry/logic_rules.md +172 -0
- package/.onto/domains/palantir-foundry/structure_spec.md +291 -0
- package/.onto/domains/software-engineering/competency_qs.md +538 -0
- package/.onto/domains/software-engineering/concepts.md +238 -0
- package/.onto/domains/software-engineering/conciseness_rules.md +167 -0
- package/.onto/domains/software-engineering/dependency_rules.md +216 -0
- package/.onto/domains/software-engineering/domain_scope.md +183 -0
- package/.onto/domains/software-engineering/extension_cases.md +551 -0
- package/.onto/domains/software-engineering/logic_rules.md +240 -0
- package/.onto/domains/software-engineering/problem_framing_profile.md +68 -0
- package/.onto/domains/software-engineering/structure_spec.md +185 -0
- package/.onto/domains/ui-design/competency_qs.md +567 -0
- package/.onto/domains/ui-design/concepts.md +194 -0
- package/.onto/domains/ui-design/conciseness_rules.md +190 -0
- package/.onto/domains/ui-design/dependency_rules.md +323 -0
- package/.onto/domains/ui-design/domain_scope.md +340 -0
- package/.onto/domains/ui-design/extension_cases.md +563 -0
- package/.onto/domains/ui-design/logic_rules.md +349 -0
- package/.onto/domains/ui-design/structure_spec.md +252 -0
- package/.onto/domains/visual-design/competency_qs.md +472 -0
- package/.onto/domains/visual-design/concepts.md +147 -0
- package/.onto/domains/visual-design/conciseness_rules.md +186 -0
- package/.onto/domains/visual-design/dependency_rules.md +282 -0
- package/.onto/domains/visual-design/domain_scope.md +290 -0
- package/.onto/domains/visual-design/extension_cases.md +480 -0
- package/.onto/domains/visual-design/logic_rules.md +232 -0
- package/.onto/domains/visual-design/structure_spec.md +213 -0
- package/.onto/principles/llm-native-development-guideline.md +401 -0
- package/.onto/principles/llm-runtime-interface-principles.md +665 -0
- package/.onto/principles/non-specialist-communication-guideline.md +74 -0
- package/.onto/principles/ontology-as-code-guideline.md +243 -0
- package/.onto/principles/ontology-as-code-naming-charter.md +130 -0
- package/.onto/principles/product-locality-principle.md +129 -0
- package/.onto/principles/productization-charter.md +569 -0
- package/.onto/processes/evolve/material-kind-adapter-contract.md +113 -0
- package/.onto/processes/reconstruct/reconstruct-boundary-contract.md +366 -0
- package/.onto/processes/reconstruct/source-profile-contract.md +107 -0
- package/.onto/processes/reconstruct/source-profiles/code.md +72 -0
- package/.onto/processes/reconstruct/source-profiles/database.md +74 -0
- package/.onto/processes/reconstruct/source-profiles/document.md +71 -0
- package/.onto/processes/reconstruct/source-profiles/spreadsheet.md +79 -0
- package/.onto/processes/review/binding-contract.md +270 -0
- package/.onto/processes/review/execution-preparation-artifacts.md +281 -0
- package/.onto/processes/review/interpretation-contract.md +245 -0
- package/.onto/processes/review/issue-stance-deliberation-contract.md +761 -0
- package/.onto/processes/review/lens-prompt-contract.md +402 -0
- package/.onto/processes/review/lens-registry.md +127 -0
- package/.onto/processes/review/pre-dispatch-contracts.md +428 -0
- package/.onto/processes/review/productized-live-path.md +398 -0
- package/.onto/processes/review/prompt-execution-runner-contract.md +187 -0
- package/.onto/processes/review/record-contract.md +427 -0
- package/.onto/processes/review/record-field-mapping.md +337 -0
- package/.onto/processes/review/review-context-manifest-contract.md +356 -0
- package/.onto/processes/review/review-execution-ux-contract.md +809 -0
- package/.onto/processes/review/review-target-profile-contract.md +259 -0
- package/.onto/processes/review/shared-phenomenon-contract.md +129 -0
- package/.onto/processes/review/synthesize-prompt-contract.md +343 -0
- package/.onto/processes/shared/target-material-kind-contract.md +198 -0
- package/.onto/roles/axiology.md +81 -0
- package/.onto/roles/conciseness.md +36 -0
- package/.onto/roles/coverage.md +34 -0
- package/.onto/roles/dependency.md +37 -0
- package/.onto/roles/evolution.md +35 -0
- package/.onto/roles/logic.md +104 -0
- package/.onto/roles/pragmatics.md +32 -0
- package/.onto/roles/semantics.md +36 -0
- package/.onto/roles/structure.md +33 -0
- package/.onto/roles/synthesize.md +92 -0
- package/AGENTS.md +240 -0
- package/CLAUDE.md +39 -0
- package/README.md +287 -0
- package/bin/onto +92 -0
- package/dist/cli.js +101 -0
- package/dist/core-api/reconstruct-api.js +222 -0
- package/dist/core-api/review-api.js +1271 -0
- package/dist/core-runtime/cli/assemble-review-record.js +431 -0
- package/dist/core-runtime/cli/bootstrap-review-binding.js +186 -0
- package/dist/core-runtime/cli/codex-nested-dispatch.js +226 -0
- package/dist/core-runtime/cli/codex-nested-dispatch.test.js +390 -0
- package/dist/core-runtime/cli/codex-nested-teamlead-executor.js +464 -0
- package/dist/core-runtime/cli/codex-nested-teamlead-executor.test.js +335 -0
- package/dist/core-runtime/cli/codex-review-unit-executor.js +228 -0
- package/dist/core-runtime/cli/complete-review-session.js +64 -0
- package/dist/core-runtime/cli/complexity-assessment.js +153 -0
- package/dist/core-runtime/cli/coordinator-helpers.js +583 -0
- package/dist/core-runtime/cli/coordinator-state-machine-deliberation.test.js +167 -0
- package/dist/core-runtime/cli/coordinator-state-machine.js +794 -0
- package/dist/core-runtime/cli/e2e-codex-multi-agent-fixes.test.js +615 -0
- package/dist/core-runtime/cli/e2e-start-review-session.test.js +312 -0
- package/dist/core-runtime/cli/health.js +44 -0
- package/dist/core-runtime/cli/inline-http-review-unit-executor.js +656 -0
- package/dist/core-runtime/cli/inline-http-review-unit-executor.test.js +567 -0
- package/dist/core-runtime/cli/materialize-review-execution-preparation.js +104 -0
- package/dist/core-runtime/cli/materialize-review-prompt-packets.js +952 -0
- package/dist/core-runtime/cli/migrate-session-roots.js +118 -0
- package/dist/core-runtime/cli/mock-review-unit-executor.js +285 -0
- package/dist/core-runtime/cli/onto-tools.js +369 -0
- package/dist/core-runtime/cli/prepare-review-session.js +272 -0
- package/dist/core-runtime/cli/render-review-final-output.js +350 -0
- package/dist/core-runtime/cli/repo-layout-migration-replace.smoke.test.js +106 -0
- package/dist/core-runtime/cli/review-invoke-auto-resolution.test.js +268 -0
- package/dist/core-runtime/cli/review-invoke-coordinator-topology.test.js +136 -0
- package/dist/core-runtime/cli/review-invoke-resolver-caching.test.js +201 -0
- package/dist/core-runtime/cli/review-invoke-topology-dispatch.test.js +192 -0
- package/dist/core-runtime/cli/review-invoke.js +2030 -0
- package/dist/core-runtime/cli/run-review-prompt-execution.js +2152 -0
- package/dist/core-runtime/cli/session-root-guard.js +168 -0
- package/dist/core-runtime/cli/spawn-watcher.js +173 -0
- package/dist/core-runtime/cli/spawn-watcher.test.js +457 -0
- package/dist/core-runtime/cli/start-review-session.js +68 -0
- package/dist/core-runtime/cli/strip-wrapping-code-fence.js +56 -0
- package/dist/core-runtime/cli/strip-wrapping-code-fence.test.js +79 -0
- package/dist/core-runtime/cli/teamcreate-lens-deliberation-executor.js +412 -0
- package/dist/core-runtime/cli/teamcreate-lens-deliberation-executor.test.js +351 -0
- package/dist/core-runtime/cli/topology-executor-mapping.js +139 -0
- package/dist/core-runtime/cli/topology-executor-mapping.test.js +173 -0
- package/dist/core-runtime/cli/write-review-interpretation.js +81 -0
- package/dist/core-runtime/config/onto-config-cli.js +278 -0
- package/dist/core-runtime/config/onto-config-key-path.js +288 -0
- package/dist/core-runtime/config/onto-config-key-path.test.js +195 -0
- package/dist/core-runtime/config/onto-config-preview.js +108 -0
- package/dist/core-runtime/config/onto-config-preview.test.js +132 -0
- package/dist/core-runtime/discovery/config-chain.js +118 -0
- package/dist/core-runtime/discovery/config-chain.test.js +103 -0
- package/dist/core-runtime/discovery/config-profile.js +199 -0
- package/dist/core-runtime/discovery/config-profile.test.js +233 -0
- package/dist/core-runtime/discovery/host-detection.js +33 -0
- package/dist/core-runtime/discovery/host-detection.test.js +186 -0
- package/dist/core-runtime/discovery/installation-paths.js +21 -0
- package/dist/core-runtime/discovery/installation-paths.test.js +65 -0
- package/dist/core-runtime/discovery/lens-registry.js +60 -0
- package/dist/core-runtime/discovery/lens-registry.test.js +81 -0
- package/dist/core-runtime/discovery/onto-home.js +71 -0
- package/dist/core-runtime/discovery/path-normalization.js +28 -0
- package/dist/core-runtime/discovery/path-normalization.test.js +22 -0
- package/dist/core-runtime/discovery/plugin-path.js +72 -0
- package/dist/core-runtime/discovery/plugin-path.test.js +95 -0
- package/dist/core-runtime/discovery/project-root.js +47 -0
- package/dist/core-runtime/discovery/settings-chain.js +353 -0
- package/dist/core-runtime/discovery/walk-up.js +17 -0
- package/dist/core-runtime/evolve/adapters/code-product/compile/compile-defense.js +344 -0
- package/dist/core-runtime/evolve/adapters/code-product/compile/compile-defense.test.js +915 -0
- package/dist/core-runtime/evolve/adapters/code-product/compile/compile.js +564 -0
- package/dist/core-runtime/evolve/adapters/code-product/compile/compile.test.js +708 -0
- package/dist/core-runtime/evolve/adapters/code-product/parsers/brief-parser.js +165 -0
- package/dist/core-runtime/evolve/adapters/code-product/parsers/brief-parser.test.js +227 -0
- package/dist/core-runtime/evolve/adapters/code-product/validators/validate.js +59 -0
- package/dist/core-runtime/evolve/adapters/code-product/validators/validate.test.js +205 -0
- package/dist/core-runtime/evolve/adapters/methodology/adapter.js +16 -0
- package/dist/core-runtime/evolve/adapters/methodology/adapter.test.js +9 -0
- package/dist/core-runtime/evolve/adapters/methodology/perspectives/authority-consistency.js +298 -0
- package/dist/core-runtime/evolve/adapters/methodology/perspectives/authority-consistency.test.js +70 -0
- package/dist/core-runtime/evolve/adapters/methodology/scope-types/process.js +46 -0
- package/dist/core-runtime/evolve/adapters/methodology/scope-types/process.test.js +73 -0
- package/dist/core-runtime/evolve/adapters/registry.js +47 -0
- package/dist/core-runtime/evolve/adapters/registry.test.js +67 -0
- package/dist/core-runtime/evolve/cli.js +256 -0
- package/dist/core-runtime/evolve/commands/align.js +194 -0
- package/dist/core-runtime/evolve/commands/align.test.js +82 -0
- package/dist/core-runtime/evolve/commands/apply.js +161 -0
- package/dist/core-runtime/evolve/commands/apply.test.js +138 -0
- package/dist/core-runtime/evolve/commands/close.js +39 -0
- package/dist/core-runtime/evolve/commands/close.test.js +99 -0
- package/dist/core-runtime/evolve/commands/defer.js +40 -0
- package/dist/core-runtime/evolve/commands/defer.test.js +134 -0
- package/dist/core-runtime/evolve/commands/draft.js +323 -0
- package/dist/core-runtime/evolve/commands/draft.test.js +178 -0
- package/dist/core-runtime/evolve/commands/e2e-evolve-full-cycle.test.js +208 -0
- package/dist/core-runtime/evolve/commands/error-messages.js +125 -0
- package/dist/core-runtime/evolve/commands/error-messages.test.js +167 -0
- package/dist/core-runtime/evolve/commands/propose-align.js +222 -0
- package/dist/core-runtime/evolve/commands/propose-align.test.js +136 -0
- package/dist/core-runtime/evolve/commands/reconstruct.js +330 -0
- package/dist/core-runtime/evolve/commands/reconstruct.test.js +278 -0
- package/dist/core-runtime/evolve/commands/shared.js +22 -0
- package/dist/core-runtime/evolve/commands/stale-check.js +103 -0
- package/dist/core-runtime/evolve/commands/stale-check.test.js +84 -0
- package/dist/core-runtime/evolve/commands/start.js +887 -0
- package/dist/core-runtime/evolve/commands/start.test.js +396 -0
- package/dist/core-runtime/evolve/config/project-config.js +99 -0
- package/dist/core-runtime/evolve/config/project-config.test.js +170 -0
- package/dist/core-runtime/evolve/renderers/align-packet.js +280 -0
- package/dist/core-runtime/evolve/renderers/align-packet.test.js +332 -0
- package/dist/core-runtime/evolve/renderers/draft-packet.js +303 -0
- package/dist/core-runtime/evolve/renderers/draft-packet.test.js +377 -0
- package/dist/core-runtime/evolve/renderers/format.js +5 -0
- package/dist/core-runtime/evolve/renderers/scope-md.js +237 -0
- package/dist/core-runtime/evolve/renderers/scope-md.test.js +306 -0
- package/dist/core-runtime/govern/cli.js +369 -0
- package/dist/core-runtime/govern/cli.test.js +314 -0
- package/dist/core-runtime/govern/drift-engine.js +103 -0
- package/dist/core-runtime/govern/drift-engine.test.js +319 -0
- package/dist/core-runtime/govern/promote-principle.js +206 -0
- package/dist/core-runtime/govern/promote-principle.test.js +368 -0
- package/dist/core-runtime/govern/queue.js +81 -0
- package/dist/core-runtime/govern/types.js +16 -0
- package/dist/core-runtime/install/cli.js +530 -0
- package/dist/core-runtime/install/detect.js +128 -0
- package/dist/core-runtime/install/detect.test.js +155 -0
- package/dist/core-runtime/install/gitignore-update.js +74 -0
- package/dist/core-runtime/install/gitignore-update.test.js +64 -0
- package/dist/core-runtime/install/install-integration.test.js +373 -0
- package/dist/core-runtime/install/prompts.js +389 -0
- package/dist/core-runtime/install/prompts.test.js +293 -0
- package/dist/core-runtime/install/types.js +26 -0
- package/dist/core-runtime/install/validation.js +295 -0
- package/dist/core-runtime/install/validation.test.js +313 -0
- package/dist/core-runtime/install/writer.js +254 -0
- package/dist/core-runtime/install/writer.test.js +218 -0
- package/dist/core-runtime/learning/extractor.js +461 -0
- package/dist/core-runtime/learning/feedback.js +179 -0
- package/dist/core-runtime/learning/health-report.js +165 -0
- package/dist/core-runtime/learning/health-report.test.js +169 -0
- package/dist/core-runtime/learning/loader.js +388 -0
- package/dist/core-runtime/learning/loader.test.js +102 -0
- package/dist/core-runtime/learning/promote/apply-state.js +240 -0
- package/dist/core-runtime/learning/promote/audit-obligation.js +195 -0
- package/dist/core-runtime/learning/promote/collector.js +432 -0
- package/dist/core-runtime/learning/promote/degraded-state.js +125 -0
- package/dist/core-runtime/learning/promote/domain-doc-proposer.js +166 -0
- package/dist/core-runtime/learning/promote/e2e-promote.test.js +6385 -0
- package/dist/core-runtime/learning/promote/health-snapshot.js +150 -0
- package/dist/core-runtime/learning/promote/insight-reclassifier.js +544 -0
- package/dist/core-runtime/learning/promote/judgment-auditor.js +517 -0
- package/dist/core-runtime/learning/promote/panel-reviewer.js +1158 -0
- package/dist/core-runtime/learning/promote/promote-executor.js +1675 -0
- package/dist/core-runtime/learning/promote/promoter.js +307 -0
- package/dist/core-runtime/learning/promote/retirement.js +122 -0
- package/dist/core-runtime/learning/promote/types.js +23 -0
- package/dist/core-runtime/learning/prompt-sections.js +51 -0
- package/dist/core-runtime/learning/shared/artifact-registry-init.js +45 -0
- package/dist/core-runtime/learning/shared/artifact-registry.js +254 -0
- package/dist/core-runtime/learning/shared/audit-obligation-kernel.js +73 -0
- package/dist/core-runtime/learning/shared/audit-state.js +99 -0
- package/dist/core-runtime/learning/shared/duplicate-check.js +28 -0
- package/dist/core-runtime/learning/shared/llm-caller.js +831 -0
- package/dist/core-runtime/learning/shared/llm-caller.test.js +601 -0
- package/dist/core-runtime/learning/shared/llm-tool-loop.js +393 -0
- package/dist/core-runtime/learning/shared/mode.js +25 -0
- package/dist/core-runtime/learning/shared/paths.js +84 -0
- package/dist/core-runtime/learning/shared/paths.test.js +79 -0
- package/dist/core-runtime/learning/shared/patterns.js +37 -0
- package/dist/core-runtime/learning/shared/recoverability.js +355 -0
- package/dist/core-runtime/learning/shared/recovery-context.js +374 -0
- package/dist/core-runtime/learning/shared/scope.js +1 -0
- package/dist/core-runtime/learning/shared/semantic-classifier.js +94 -0
- package/dist/core-runtime/learning/shared/specs/apply-execution-state-spec.js +42 -0
- package/dist/core-runtime/learning/shared/specs/audit-state-spec.js +37 -0
- package/dist/core-runtime/learning/shared/specs/backup-metadata-spec.js +39 -0
- package/dist/core-runtime/learning/shared/specs/emergency-log-spec.js +41 -0
- package/dist/core-runtime/learning/shared/specs/layout-version-spec.js +38 -0
- package/dist/core-runtime/learning/shared/specs/promote-decisions-spec.js +43 -0
- package/dist/core-runtime/learning/shared/specs/promote-report-spec.js +113 -0
- package/dist/core-runtime/learning/shared/specs/prune-log-spec.js +36 -0
- package/dist/core-runtime/learning/shared/specs/recovery-resolution-spec.js +48 -0
- package/dist/core-runtime/learning/shared/specs/restore-manifest-spec.js +43 -0
- package/dist/core-runtime/learning/shared/specs/spec-helpers.js +64 -0
- package/dist/core-runtime/learning/usage-tracker.js +190 -0
- package/dist/core-runtime/learning/usage-tracker.test.js +176 -0
- package/dist/core-runtime/llm/llm-caller.js +649 -0
- package/dist/core-runtime/llm/llm-tool-loop.js +401 -0
- package/dist/core-runtime/llm/model-switcher.js +62 -0
- package/dist/core-runtime/logger.js +22 -0
- package/dist/core-runtime/onboard/detect-review-axes.js +122 -0
- package/dist/core-runtime/onboard/detect-review-axes.test.js +127 -0
- package/dist/core-runtime/onboard/write-review-block.js +188 -0
- package/dist/core-runtime/onboard/write-review-block.test.js +240 -0
- package/dist/core-runtime/readers/brownfield-builder.js +150 -0
- package/dist/core-runtime/readers/brownfield-builder.test.js +136 -0
- package/dist/core-runtime/readers/code-chunk-collector.js +53 -0
- package/dist/core-runtime/readers/code-chunk-collector.test.js +136 -0
- package/dist/core-runtime/readers/file-utils.js +240 -0
- package/dist/core-runtime/readers/file-utils.test.js +146 -0
- package/dist/core-runtime/readers/lexicon-citation-check.js +93 -0
- package/dist/core-runtime/readers/lexicon-citation-check.test.js +77 -0
- package/dist/core-runtime/readers/mcp-figma.js +30 -0
- package/dist/core-runtime/readers/mcp-figma.test.js +82 -0
- package/dist/core-runtime/readers/mcp-generic.js +31 -0
- package/dist/core-runtime/readers/mcp-generic.test.js +76 -0
- package/dist/core-runtime/readers/ontology-index.js +148 -0
- package/dist/core-runtime/readers/ontology-index.test.js +245 -0
- package/dist/core-runtime/readers/ontology-query.js +168 -0
- package/dist/core-runtime/readers/ontology-query.test.js +311 -0
- package/dist/core-runtime/readers/ontology-resolve.js +48 -0
- package/dist/core-runtime/readers/ontology-resolve.test.js +48 -0
- package/dist/core-runtime/readers/patterns/index.js +7 -0
- package/dist/core-runtime/readers/review-log.js +213 -0
- package/dist/core-runtime/readers/review-log.test.js +313 -0
- package/dist/core-runtime/readers/scan-local.js +102 -0
- package/dist/core-runtime/readers/scan-local.test.js +102 -0
- package/dist/core-runtime/readers/scan-tarball.js +121 -0
- package/dist/core-runtime/readers/scan-tarball.test.js +283 -0
- package/dist/core-runtime/readers/scan-vault.js +34 -0
- package/dist/core-runtime/readers/scan-vault.test.js +81 -0
- package/dist/core-runtime/readers/types.js +42 -0
- package/dist/core-runtime/readers/types.test.js +94 -0
- package/dist/core-runtime/readers/viewpoint-collectors.js +229 -0
- package/dist/core-runtime/reconstruct/artifact-types.js +1 -0
- package/dist/core-runtime/reconstruct/directive-validation.js +123 -0
- package/dist/core-runtime/reconstruct/materialize-preparation.js +251 -0
- package/dist/core-runtime/reconstruct/record.js +198 -0
- package/dist/core-runtime/reconstruct/run.js +578 -0
- package/dist/core-runtime/reconstruct/seed-candidate-validation.js +356 -0
- package/dist/core-runtime/reconstruct/source-observations.js +62 -0
- package/dist/core-runtime/reconstruct/source-profiles.js +73 -0
- package/dist/core-runtime/release-channel/release-channel.js +90 -0
- package/dist/core-runtime/review/artifact-types.js +13 -0
- package/dist/core-runtime/review/citation-audit.js +204 -0
- package/dist/core-runtime/review/citation-audit.test.js +165 -0
- package/dist/core-runtime/review/controlled-lens-deliberation.js +125 -0
- package/dist/core-runtime/review/execution-plan-resolver.js +247 -0
- package/dist/core-runtime/review/execution-plan-resolver.test.js +243 -0
- package/dist/core-runtime/review/execution-topology-resolver-axis-first.test.js +246 -0
- package/dist/core-runtime/review/execution-topology-resolver.js +401 -0
- package/dist/core-runtime/review/execution-topology-resolver.test.js +315 -0
- package/dist/core-runtime/review/failure-records.js +57 -0
- package/dist/core-runtime/review/inline-context-embedder.js +141 -0
- package/dist/core-runtime/review/inline-context-embedder.test.js +154 -0
- package/dist/core-runtime/review/issue-artifact-runtime.js +859 -0
- package/dist/core-runtime/review/legacy-mode-policy.js +88 -0
- package/dist/core-runtime/review/lens-completion-policy.js +17 -0
- package/dist/core-runtime/review/materializers-effort-persist.test.js +79 -0
- package/dist/core-runtime/review/materializers.js +963 -0
- package/dist/core-runtime/review/ontology-path-classifier.js +179 -0
- package/dist/core-runtime/review/ontology-path-classifier.test.js +216 -0
- package/dist/core-runtime/review/packet-boundary-policy.js +215 -0
- package/dist/core-runtime/review/packet-boundary-policy.test.js +107 -0
- package/dist/core-runtime/review/participating-lens-paths.js +61 -0
- package/dist/core-runtime/review/participating-lens-paths.test.js +73 -0
- package/dist/core-runtime/review/review-artifact-utils.js +287 -0
- package/dist/core-runtime/review/review-config-legacy-translate.js +244 -0
- package/dist/core-runtime/review/review-config-legacy-translate.test.js +161 -0
- package/dist/core-runtime/review/review-config-validator.js +289 -0
- package/dist/core-runtime/review/review-config-validator.test.js +236 -0
- package/dist/core-runtime/review/review-execution-profile.js +193 -0
- package/dist/core-runtime/review/review-execution-route.js +52 -0
- package/dist/core-runtime/review/review-progress-contract.js +123 -0
- package/dist/core-runtime/review/review-record-validation.js +251 -0
- package/dist/core-runtime/review/review-result-classification.js +379 -0
- package/dist/core-runtime/review/review-state-machine.js +39 -0
- package/dist/core-runtime/review/route-visibility.js +125 -0
- package/dist/core-runtime/review/shape-pipeline-audit.test.js +311 -0
- package/dist/core-runtime/review/shape-to-topology-id.js +117 -0
- package/dist/core-runtime/review/shape-to-topology-id.test.js +132 -0
- package/dist/core-runtime/review/topology-shape-derivation.js +155 -0
- package/dist/core-runtime/review/topology-shape-derivation.test.js +195 -0
- package/dist/core-runtime/scope-runtime/constants.js +12 -0
- package/dist/core-runtime/scope-runtime/constraint-pool.js +166 -0
- package/dist/core-runtime/scope-runtime/constraint-pool.test.js +674 -0
- package/dist/core-runtime/scope-runtime/domain-validation-log.js +135 -0
- package/dist/core-runtime/scope-runtime/domain-validation-log.test.js +156 -0
- package/dist/core-runtime/scope-runtime/eval-persistence.js +65 -0
- package/dist/core-runtime/scope-runtime/eval-persistence.test.js +84 -0
- package/dist/core-runtime/scope-runtime/event-pipeline.js +64 -0
- package/dist/core-runtime/scope-runtime/event-pipeline.test.js +450 -0
- package/dist/core-runtime/scope-runtime/event-store.js +39 -0
- package/dist/core-runtime/scope-runtime/event-store.test.js +95 -0
- package/dist/core-runtime/scope-runtime/gate-guard.js +348 -0
- package/dist/core-runtime/scope-runtime/gate-guard.test.js +1047 -0
- package/dist/core-runtime/scope-runtime/hash.js +4 -0
- package/dist/core-runtime/scope-runtime/hash.test.js +33 -0
- package/dist/core-runtime/scope-runtime/id.js +4 -0
- package/dist/core-runtime/scope-runtime/id.test.js +17 -0
- package/dist/core-runtime/scope-runtime/reducer.js +297 -0
- package/dist/core-runtime/scope-runtime/reducer.test.js +759 -0
- package/dist/core-runtime/scope-runtime/scope-manager.js +161 -0
- package/dist/core-runtime/scope-runtime/state-machine.js +309 -0
- package/dist/core-runtime/scope-runtime/state-machine.test.js +704 -0
- package/dist/core-runtime/scope-runtime/types.js +116 -0
- package/dist/core-runtime/scope-runtime/types.test.js +69 -0
- package/dist/core-runtime/target-material-kind.js +256 -0
- package/dist/core-runtime/translate/render-for-user.js +169 -0
- package/dist/core-runtime/translate/render-for-user.test.js +122 -0
- package/dist/mcp/server.js +1011 -0
- package/dist/mcp/tool-schemas.js +93 -0
- package/dist/providers/capability-contract.js +1 -0
- package/package.json +68 -0
- package/settings.example.json +33 -0
|
@@ -0,0 +1,538 @@
|
|
|
1
|
+
---
|
|
2
|
+
version: 3
|
|
3
|
+
last_updated: "2026-03-31"
|
|
4
|
+
source: bundled-domain-baseline
|
|
5
|
+
status: established
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Software Engineering Domain — Competency Questions
|
|
9
|
+
|
|
10
|
+
A list of core questions that this domain's system must be able to answer.
|
|
11
|
+
The pragmatics agent verifies the actual reasoning path for each question.
|
|
12
|
+
|
|
13
|
+
Classification axis: **verification concern** — classified by the concern that questions must address when reviewing a software system.
|
|
14
|
+
|
|
15
|
+
Question priority principles: **Structural soundness (module structure, dependency direction, data flow) is the highest priority.** These concerns govern the majority of software design quality. Type safety, security, and operational fitness are secondary concerns applied on top of the structural foundation.
|
|
16
|
+
|
|
17
|
+
Priority levels:
|
|
18
|
+
- **P1** — Must be answerable for any software review. Failure indicates a fundamental design defect.
|
|
19
|
+
- **P2** — Should be answerable for production systems. Failure indicates a quality gap.
|
|
20
|
+
- **P3** — Recommended for mature systems. Failure indicates a refinement opportunity.
|
|
21
|
+
|
|
22
|
+
Prefix allocation protocol: New CQ sections use 1–2 character alphabetic prefix codes with mandatory `-` separator (e.g., CQ-XX-01). Prefixes must not be string prefixes of existing prefixes. Current allocations: S, D, I, E, T, V, O, A, SE, P, C, DE, B, R, MT, M.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 1. Structural Understanding (CQ-S)
|
|
27
|
+
|
|
28
|
+
Verifies that the system's module structure, boundaries, and public interfaces are identifiable and well-defined.
|
|
29
|
+
|
|
30
|
+
- **CQ-S-01** [P1] Can the system's major modules and their roles be enumerated?
|
|
31
|
+
- Inference path: structure_spec.md 'Required Module Structure Elements' → Entry Point, Business Logic, Data Access, Configuration/Environment are required → all modules must be listable
|
|
32
|
+
- Verification criteria: PASS if a complete list of modules can be produced, each with a declared role. FAIL if modules exist that cannot be classified into a structural role
|
|
33
|
+
|
|
34
|
+
- **CQ-S-02** [P1] Can the modules that a specific module depends on be derived?
|
|
35
|
+
- Inference path: dependency_rules.md 'Acyclic Dependencies' → module dependency graph must be a DAG → dependencies must be traceable; structure_spec.md 'Layer Structure Principles' → upper layers depend on lower layers
|
|
36
|
+
- Verification criteria: PASS if for any module, direct and transitive dependencies can be enumerated from import statements or build configuration. FAIL if dependencies are implicit (global state, service locator without registration)
|
|
37
|
+
|
|
38
|
+
- **CQ-S-03** [P1] Can the list of public APIs (externally exposed interfaces) be extracted?
|
|
39
|
+
- Inference path: structure_spec.md 'Golden Relationships' → Module-Interface coherence → every module must expose its contract via a public interface; structure_spec.md 'Required Relationships' → every public function/class must have at least one caller or test
|
|
40
|
+
- Verification criteria: PASS if all publicly exported functions, classes, types, and endpoints can be enumerated. FAIL if the distinction between public and internal is unclear (everything exported, no access modifiers)
|
|
41
|
+
|
|
42
|
+
- **CQ-S-04** [P2] Does each module expose its contract without leaking internal implementation details?
|
|
43
|
+
- Inference path: structure_spec.md 'Golden Relationships' → Module-Interface coherence → internal details must not leak; concepts.md 'Architecture Core Terms' → Module = independently replaceable unit with defined public interface
|
|
44
|
+
- Verification criteria: PASS if consumers only import from the module's public API surface. FAIL if consumers directly import internal files or private functions
|
|
45
|
+
|
|
46
|
+
- **CQ-S-05** [P2] Is the architectural pattern explicitly declared and consistently applied?
|
|
47
|
+
- Inference path: structure_spec.md 'Architectural Patterns' → each pattern defines specific dependency rules; domain_scope.md 'Structure & Architecture' → Module Separation is required
|
|
48
|
+
- Verification criteria: PASS if the codebase declares its architectural pattern and conforms to that pattern's rules. FAIL if no pattern is declared or the codebase violates its declared pattern
|
|
49
|
+
|
|
50
|
+
- **CQ-S-06** [P2] Is the package/module organization axis consistently applied at each directory level?
|
|
51
|
+
- Inference path: structure_spec.md 'Classification Criteria Design' → Package/Module Organization Axes; structure_spec.md 'Classification Criteria Design' → Anti-patterns → mixed axes at same level
|
|
52
|
+
- Verification criteria: PASS if each directory level uses a single organization axis. FAIL if the same level mixes by-layer, by-feature, and by-type (e.g., `src/controllers/`, `src/user/`, `src/utils/`)
|
|
53
|
+
|
|
54
|
+
- **CQ-S-07** [P2] Are quantitative structural thresholds monitored?
|
|
55
|
+
- Inference path: structure_spec.md 'Quantitative Thresholds' → module size >500 lines, function size >50 lines, cyclomatic complexity >10, dependency fan-out >7, inheritance depth >5
|
|
56
|
+
- Verification criteria: PASS if structural metrics are measured and threshold violations are addressed or justified. FAIL if no metrics are measured or violations exist without justification
|
|
57
|
+
|
|
58
|
+
- **CQ-S-08** [P2] Are there isolated nodes (dead code, modules with no imports, public APIs without tests)?
|
|
59
|
+
- Inference path: structure_spec.md 'Isolated Node Prohibition' → public function with no callers = dead code warning; public API without tests = verification gap
|
|
60
|
+
- Verification criteria: PASS if no public functions or modules exist without at least one caller or test. FAIL if dead code or untested public APIs exist without intentional retention documentation
|
|
61
|
+
|
|
62
|
+
- **CQ-S-09** [P3] Is an intermediate abstraction layer justified by having 2+ consumers?
|
|
63
|
+
- Inference path: structure_spec.md 'Authority and Layer Separation' → abstraction layer justified only when 2+ consumers directly consume it
|
|
64
|
+
- Verification criteria: PASS if every abstraction layer has 2+ consumers. FAIL if single-consumer abstraction layers exist without justification
|
|
65
|
+
|
|
66
|
+
- **CQ-S-10** [P3] Is the distinction between definition authority and specification authority maintained?
|
|
67
|
+
- Inference path: structure_spec.md 'Authority and Layer Separation' → direction of change is definition → specification → code
|
|
68
|
+
- Verification criteria: PASS if changes flow from definition to specification to code with traceability. FAIL if specifications exist without traceability to defining documents
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## 2. Data Flow (CQ-D)
|
|
73
|
+
|
|
74
|
+
Verifies that data paths are traceable, transformations identifiable, and sources of truth designated.
|
|
75
|
+
|
|
76
|
+
- **CQ-D-01** [P1] Can the path that a specific user input takes through the system be traced?
|
|
77
|
+
- Inference path: domain_scope.md 'Structure & Architecture' → Data Flow → input-to-processing-to-output paths; structure_spec.md 'Required Module Structure Elements' → Entry Point → Business Logic → Data Access
|
|
78
|
+
- Verification criteria: PASS if for any user input, the complete processing chain (entry → validation → logic → data access → response) can be traced. FAIL if any input path has untraceable segments
|
|
79
|
+
|
|
80
|
+
- **CQ-D-02** [P1] Can it be identified where specific data is created, transformed, and consumed?
|
|
81
|
+
- Inference path: domain_scope.md 'Structure & Architecture' → Data Flow → transformation chains; concepts.md 'Data/State Management Terms' → State, Mutation, Transaction
|
|
82
|
+
- Verification criteria: PASS if every data entity has identifiable creation, transformation, and consumption points. FAIL if data appears in a consumer without a traceable origin
|
|
83
|
+
|
|
84
|
+
- **CQ-D-03** [P1] Can the scope of impact when a state change occurs be determined?
|
|
85
|
+
- Inference path: concepts.md 'Data/State Management Terms' → Mutation; logic_rules.md 'State Management Logic' → mixing side-effect and pure operations causes order-dependent results
|
|
86
|
+
- Verification criteria: PASS if for any state mutation, all dependent components can be enumerated. FAIL if state changes propagate through untraceable channels (undocumented global state, implicit listeners)
|
|
87
|
+
|
|
88
|
+
- **CQ-D-04** [P1] Is a source of truth designated with priority rules for data inconsistency?
|
|
89
|
+
- Inference path: dependency_rules.md 'Source of Truth Management' → when 3+ input paths exist, source of truth for each is required; concepts.md 'Architecture Core Terms' → Source of Truth definition
|
|
90
|
+
- Verification criteria: PASS if every data entity has a declared source of truth with priority rules for inconsistencies. FAIL if the same data exists in multiple locations without declared authority
|
|
91
|
+
|
|
92
|
+
- **CQ-D-05** [P2] When CQRS is applied, is the eventual consistency lag bounded?
|
|
93
|
+
- Inference path: logic_rules.md 'CQRS Rules' → maximum acceptable lag must be defined as a system contract; write model is source of truth
|
|
94
|
+
- Verification criteria: PASS if maximum propagation delay from write to read model is documented. FAIL if CQRS is applied with no consistency guarantee
|
|
95
|
+
|
|
96
|
+
- **CQ-D-06** [P2] When Event Sourcing is used, are terminal states, projections, and partial commit prevention defined?
|
|
97
|
+
- Inference path: domain_scope.md 'Data & State' → Event Sourcing; logic_rules.md 'State Management Logic' → single business operation with multiple events must choose partial commit prevention strategy
|
|
98
|
+
- Verification criteria: PASS if event-sourced aggregates define terminal states, projector branches, and partial commit prevention strategy. FAIL if any of the three is missing
|
|
99
|
+
|
|
100
|
+
- **CQ-D-07** [P2] Is the schema strategy (schema-on-write vs schema-on-read) explicitly declared?
|
|
101
|
+
- Inference path: domain_scope.md 'Data & State' → Data Modeling → schema strategy determines migration and consistency guarantees
|
|
102
|
+
- Verification criteria: PASS if schema strategy is declared with implications for migration and consistency. FAIL if implicit or mixed without documentation
|
|
103
|
+
|
|
104
|
+
- **CQ-D-08** [P3] When data is delivered through multiple paths, is the priority for inconsistency resolution specified?
|
|
105
|
+
- Inference path: dependency_rules.md 'Source of Truth Management' → multi-path data delivery priority must be specified as a contract
|
|
106
|
+
- Verification criteria: PASS if multi-path data delivery includes a documented priority contract. FAIL if resolution is ad-hoc
|
|
107
|
+
|
|
108
|
+
---
|
|
109
|
+
|
|
110
|
+
## 3. Change Impact (CQ-I)
|
|
111
|
+
|
|
112
|
+
Verifies that the system supports safe evolution — changes can be assessed for impact, and backward compatibility is managed.
|
|
113
|
+
|
|
114
|
+
- **CQ-I-01** [P1] When a module/function's signature changes, can the affected consumers be enumerated?
|
|
115
|
+
- Inference path: logic_rules.md 'Inter-module Contract Logic' → public API changes affect all consumers; dependency_rules.md 'Referential Integrity' → all types in public API must be exported
|
|
116
|
+
- Verification criteria: PASS if for any public API change, all consumers can be enumerated via static analysis. FAIL if consumers exist that cannot be found statically (dynamic dispatch without registration, string-based imports)
|
|
117
|
+
|
|
118
|
+
- **CQ-I-02** [P1] When an external dependency changes, can the internal impact scope be determined?
|
|
119
|
+
- Inference path: dependency_rules.md 'Package/Module Dependency Patterns' → Anti-corruption Layer translates between external and internal models; structure_spec.md 'Required Relationships' → external dependencies abstracted via interfaces
|
|
120
|
+
- Verification criteria: PASS if external dependencies are abstracted behind interfaces (impact limited to adapter layer). FAIL if external types are used directly in business logic
|
|
121
|
+
|
|
122
|
+
- **CQ-I-03** [P1] When adding a new feature, can conflicts with existing logic be pre-verified?
|
|
123
|
+
- Inference path: logic_rules.md 'Constraint Conflict Detection' → same-target opposing constraints = conflict; structure_spec.md 'Verification Structure' → CI/CD stages verify before merge
|
|
124
|
+
- Verification criteria: PASS if CI includes static analysis, type checking, and tests that detect conflicts before merge. FAIL if new features can be merged without automated verification
|
|
125
|
+
|
|
126
|
+
- **CQ-I-04** [P2] Are breaking changes classified and documented with a versioning scheme?
|
|
127
|
+
- Inference path: dependency_rules.md 'API Dependency Management' → Breaking vs Non-breaking Changes Classification; concepts.md 'Change Management Terms' → SemVer
|
|
128
|
+
- Verification criteria: PASS if API changes are classified as breaking/non-breaking with version bumps and migration paths. FAIL if breaking changes are introduced without version changes
|
|
129
|
+
|
|
130
|
+
- **CQ-I-05** [P2] Is there a deprecation protocol for retiring APIs?
|
|
131
|
+
- Inference path: concepts.md 'Change Management Terms' → Deprecation must specify what, when, and replacement
|
|
132
|
+
- Verification criteria: PASS if deprecated APIs are marked, include replacement recommendations, and follow a timeline. FAIL if APIs are removed without deprecation
|
|
133
|
+
|
|
134
|
+
- **CQ-I-06** [P2] When schema changes are required, is the migration strategy defined?
|
|
135
|
+
- Inference path: concepts.md 'Data/State Management Terms' → Migration must be reversible and idempotent; structure_spec.md 'Storage/Data Layer' → schema changes managed through migrations
|
|
136
|
+
- Verification criteria: PASS if schema changes use versioned migrations with up/down scripts. FAIL if changes are applied ad-hoc without migration files
|
|
137
|
+
|
|
138
|
+
- **CQ-I-07** [P2] Can the dependency graph be verified as acyclic before introducing new dependencies?
|
|
139
|
+
- Inference path: dependency_rules.md 'Acyclic Dependencies' → DAG required; dependency_rules.md 'Breaking Cycles' → resolution strategies
|
|
140
|
+
- Verification criteria: PASS if dependency analysis tools run in CI and reject circular dependencies. FAIL if no automated cycle detection exists
|
|
141
|
+
|
|
142
|
+
- **CQ-I-08** [P3] When feature toggles are introduced, is the toggle lifecycle managed?
|
|
143
|
+
- Inference path: concepts.md 'Change Management Terms' → Feature Toggle → toggle debt risk; domain_scope.md 'Operations & Deployment' → feature flags
|
|
144
|
+
- Verification criteria: PASS if toggles have owners, expiration dates, and cleanup procedures. FAIL if toggles persist indefinitely (toggle debt)
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## 4. Error Handling (CQ-E)
|
|
149
|
+
|
|
150
|
+
Verifies that error paths are defined, recovery strategies exist, and errors propagate with sufficient diagnostic information.
|
|
151
|
+
|
|
152
|
+
- **CQ-E-01** [P1] Are errors classified into operational (recoverable) and programmer (non-recoverable)?
|
|
153
|
+
- Inference path: domain_scope.md 'Interface & Contract' → Error Handling → classification required; concepts.md 'Architecture Core Terms' → Middleware for error handling
|
|
154
|
+
- Verification criteria: PASS if errors are classified: recoverable (network timeout, validation failure) vs non-recoverable (null dereference, assertion violation). FAIL if all errors are treated uniformly
|
|
155
|
+
|
|
156
|
+
- **CQ-E-02** [P1] Can the system's recovery path in a specific failure scenario be traced?
|
|
157
|
+
- Inference path: domain_scope.md 'Required Concept Categories' → Error path → defenseless during failures if missing; logic_rules.md 'State Management Logic' → Saga compensation actions
|
|
158
|
+
- Verification criteria: PASS if for any failure scenario, the recovery path (retry, fallback, circuit break, compensation) is traceable. FAIL if scenarios exist with no recovery path
|
|
159
|
+
|
|
160
|
+
- **CQ-E-03** [P1] Can the error propagation path from origin to handler be identified?
|
|
161
|
+
- Inference path: logic_rules.md 'Type System Logic' → excluding state fields from failure branches blocks partial state propagation; concepts.md 'Type System Terms' → Discriminated Union for error branching
|
|
162
|
+
- Verification criteria: PASS if error propagation follows a defined pattern (Result types, exception hierarchy, error middleware) and is traceable. FAIL if errors are swallowed, re-thrown without context, or propagate through undefined channels
|
|
163
|
+
|
|
164
|
+
- **CQ-E-04** [P1] Do user-facing error messages include cause and recommended actions?
|
|
165
|
+
- Inference path: domain_scope.md 'Required Concept Categories' → Error path → user sees raw stack trace; domain_scope.md 'Interface & Contract' → Error Handling → user guidance
|
|
166
|
+
- Verification criteria: PASS if error messages include (1) what went wrong, (2) what the user can do, and (3) a correlation ID. FAIL if users see raw exceptions or generic messages
|
|
167
|
+
|
|
168
|
+
- **CQ-E-05** [P2] Are circuit breaker patterns applied to external dependency calls?
|
|
169
|
+
- Inference path: dependency_rules.md 'Runtime Dependency Rules' → Circuit Breaker; domain_scope.md 'Interface & Contract' → Error Handling → cascading failure prevention
|
|
170
|
+
- Verification criteria: PASS if external calls implement circuit breaker with defined thresholds. FAIL if no failure isolation exists
|
|
171
|
+
|
|
172
|
+
- **CQ-E-06** [P2] Are retry policies defined with limits and backoff strategies?
|
|
173
|
+
- Inference path: dependency_rules.md 'Runtime Dependency Rules' → Timeout and Retry Policies → exponential backoff with jitter; concepts.md 'Quality Terms' → Idempotent
|
|
174
|
+
- Verification criteria: PASS if retries use exponential backoff, respect max counts, and only retry idempotent operations. FAIL if retries are unbounded or retry non-idempotent operations
|
|
175
|
+
|
|
176
|
+
- **CQ-E-07** [P2] Are bulkhead patterns applied to isolate resources between dependencies?
|
|
177
|
+
- Inference path: dependency_rules.md 'Runtime Dependency Rules' → Bulkhead → isolate thread/connection pools per dependency
|
|
178
|
+
- Verification criteria: PASS if resource pools are isolated per dependency. FAIL if all dependencies share a single pool
|
|
179
|
+
|
|
180
|
+
- **CQ-E-08** [P3] Are fallback paths defined for degraded operation?
|
|
181
|
+
- Inference path: dependency_rules.md 'External Dependency Management' → external calls must have fallback; domain_scope.md 'Interface & Contract' → Error Handling → fallback paths
|
|
182
|
+
- Verification criteria: PASS if critical flows define fallback behavior (cached data, defaults, queuing). FAIL if unavailability produces only errors
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
## 5. Types and Constraints (CQ-T)
|
|
187
|
+
|
|
188
|
+
Verifies that the type system and constraint design enforce correctness at the earliest possible stage.
|
|
189
|
+
|
|
190
|
+
- **CQ-T-01** [P1] Is exhaustive check applied in every switch on a discriminated union?
|
|
191
|
+
- Inference path: logic_rules.md 'Type System Logic' → `default: never` is the only safety mechanism; concepts.md 'Type System Terms' → Exhaustive Check
|
|
192
|
+
- Verification criteria: PASS if every switch/match on a discriminated union uses exhaustive handling that produces a compile error on new variants. FAIL if catch-all `default` silently handles unknown variants
|
|
193
|
+
|
|
194
|
+
- **CQ-T-02** [P1] Are hard and soft constraints distinguished, with hard constraints enforced by code?
|
|
195
|
+
- Inference path: logic_rules.md 'Constraint Design Logic' → hard/soft classification; concepts.md 'Constraint Design Terms' → Hard = code-enforced, Soft = protocol-enforced
|
|
196
|
+
- Verification criteria: PASS if hard constraints (type system, validation, DB constraints) and soft constraints (monitoring, alerts) are documented. FAIL if hard constraints rely only on protocol
|
|
197
|
+
|
|
198
|
+
- **CQ-T-03** [P1] Do all terminal states have transition events, processing branches, and allowed subsequent actions?
|
|
199
|
+
- Inference path: concepts.md 'Data/State Management Terms' → Terminal State; domain_scope.md 'Required Concept Categories' → Lifecycle
|
|
200
|
+
- Verification criteria: PASS if every terminal state has a transition event, handler branch, and explicit subsequent action list. FAIL if terminal states lack processing branches
|
|
201
|
+
|
|
202
|
+
- **CQ-T-04** [P2] Are type-level safety mechanisms used to prevent invalid states at compile time?
|
|
203
|
+
- Inference path: logic_rules.md 'Type System Logic' → excluding fields from failure branches at compile time; domain_scope.md 'Interface & Contract' → Type System → type-level safety
|
|
204
|
+
- Verification criteria: PASS if types make invalid states unrepresentable (separate validated/unvalidated types, Result types, branded types). FAIL if validity is checked only at runtime when compile-time is possible
|
|
205
|
+
|
|
206
|
+
- **CQ-T-05** [P2] Are database constraints aligned with application-level validation?
|
|
207
|
+
- Inference path: logic_rules.md 'Constraint Design Logic' → Database vs Application Constraint Boundary → critical constraints in both layers; structure_spec.md 'Storage/Data Layer'
|
|
208
|
+
- Verification criteria: PASS if critical constraints are enforced at both DB and application levels consistently. FAIL if constraints exist in only one layer
|
|
209
|
+
|
|
210
|
+
- **CQ-T-06** [P2] Are variance rules (covariant, contravariant, invariant) correctly declared?
|
|
211
|
+
- Inference path: logic_rules.md 'Type System Logic' → Variance Rules; concepts.md 'Type System Terms' → Variance
|
|
212
|
+
- Verification criteria: PASS if generic types use correct variance annotations and mutable collections are invariant. FAIL if variance misuse allows unsafe casts
|
|
213
|
+
|
|
214
|
+
- **CQ-T-07** [P2] Is schema validation applied at system boundaries?
|
|
215
|
+
- Inference path: logic_rules.md 'Constraint Design Logic' → schema validation at entry point; logic_rules.md 'Security Logic' → Input Validation Logic → validate first
|
|
216
|
+
- Verification criteria: PASS if every system boundary validates incoming data against a schema before processing. FAIL if data enters without validation
|
|
217
|
+
|
|
218
|
+
- **CQ-T-08** [P3] Are branded types applied where accidental structural compatibility is dangerous?
|
|
219
|
+
- Inference path: logic_rules.md 'Type System Logic' → Structural vs Nominal Typing → branded types mitigate accidental matches; concepts.md 'Type System Terms' → Branded Type
|
|
220
|
+
- Verification criteria: PASS if domain identifiers use branded types or nominal wrappers. FAIL if semantically distinct types are interchangeable
|
|
221
|
+
|
|
222
|
+
- **CQ-T-09** [P3] Are generic type handling strategies (erasure, reification, conditional types) correctly applied?
|
|
223
|
+
- Inference path: logic_rules.md §Type System Logic → Generic Type Handling → type erasure vs reification; concepts.md §Type System Terms
|
|
224
|
+
- Verification criteria: PASS if generic type limitations are documented and workarounds applied where needed (e.g., no runtime instanceof on erased generics in Java). FAIL if code assumes runtime generic information that is erased
|
|
225
|
+
|
|
226
|
+
- **CQ-T-10** [P3] Are constraints from base types propagated to all implementations?
|
|
227
|
+
- Inference path: logic_rules.md §Constraint Design Logic → Constraint Propagation and Relaxation; concepts.md §Constraint Design Terms → Precondition, Postcondition
|
|
228
|
+
- Verification criteria: PASS if base class invariants are verified at each implementation level. FAIL if subclass implementations silently weaken or ignore inherited constraints
|
|
229
|
+
|
|
230
|
+
---
|
|
231
|
+
|
|
232
|
+
## 6. Testing/Verification (CQ-V)
|
|
233
|
+
|
|
234
|
+
Verifies that the test strategy covers necessary levels, boundaries are correctly drawn, and verification is automated.
|
|
235
|
+
|
|
236
|
+
- **CQ-V-01** [P1] Can test existence for a specific feature be confirmed?
|
|
237
|
+
- Inference path: structure_spec.md 'Golden Relationships' → Test-Code coherence → every public function needs a test; structure_spec.md 'Isolated Node Prohibition' → untested API = verification gap
|
|
238
|
+
- Verification criteria: PASS if every public function has at least one test exercising its primary behavior. FAIL if public functions have no corresponding test
|
|
239
|
+
|
|
240
|
+
- **CQ-V-02** [P1] Can uncovered code paths be identified?
|
|
241
|
+
- Inference path: structure_spec.md 'Quantitative Thresholds' → coverage <80% insufficient, <60% critical; domain_scope.md 'Verification & Quality' → Test Strategy
|
|
242
|
+
- Verification criteria: PASS if coverage is measured with uncovered paths documented. FAIL if no coverage measurement exists or coverage <60% without remediation plan
|
|
243
|
+
|
|
244
|
+
- **CQ-V-03** [P1] Are happy path and error path each verified separately?
|
|
245
|
+
- Inference path: domain_scope.md 'Required Concept Categories' → Happy path and Error path are separate categories; logic_rules.md 'Testing Logic' → Test Boundary Rules
|
|
246
|
+
- Verification criteria: PASS if both success and error paths have dedicated tests per feature. FAIL if only happy-path tests exist
|
|
247
|
+
|
|
248
|
+
- **CQ-V-04** [P1] Are test levels (unit, integration, E2E) correctly classified and each present?
|
|
249
|
+
- Inference path: domain_scope.md 'Verification & Quality' → Testing Pyramid; logic_rules.md 'Testing Logic' → Test Boundary Rules → unit vs integration boundary
|
|
250
|
+
- Verification criteria: PASS if tests are classified by level with each present. FAIL if all tests are at one level, or if integration tests are mislabeled as unit tests
|
|
251
|
+
|
|
252
|
+
- **CQ-V-05** [P2] Are tests independent of execution order?
|
|
253
|
+
- Inference path: logic_rules.md 'Testing Logic' → Test Independence → no order dependency; Test Determinism → flaky tests worse than no tests
|
|
254
|
+
- Verification criteria: PASS if tests run in any order and in parallel without failures. FAIL if test B fails only after test A (shared mutable state)
|
|
255
|
+
|
|
256
|
+
- **CQ-V-06** [P2] Are contract tests in place for inter-service API boundaries?
|
|
257
|
+
- Inference path: concepts.md 'Testing' → Contract Test; dependency_rules.md 'API Dependency Management' → Breaking vs Non-breaking Changes
|
|
258
|
+
- Verification criteria: PASS if inter-service boundaries have contract tests. FAIL if integration is verified only by E2E or manual testing
|
|
259
|
+
|
|
260
|
+
- **CQ-V-07** [P2] Is the CI pipeline structured with verification at each stage?
|
|
261
|
+
- Inference path: structure_spec.md 'Verification Structure' → CI/CD Pipeline Structure; Verification Boundary Rules → pre-commit only fast checks
|
|
262
|
+
- Verification criteria: PASS if CI has pre-commit (linting), build (unit tests, type checking), and integration stages. FAIL if no automated verification before merge
|
|
263
|
+
|
|
264
|
+
- **CQ-V-08** [P2] Is static analysis integrated into the verification pipeline?
|
|
265
|
+
- Inference path: structure_spec.md 'Verification Structure' → Static Analysis Integration → linting, type checking, dependency analysis
|
|
266
|
+
- Verification criteria: PASS if linting, type checking, and dependency analysis run automatically in CI. FAIL if static analysis is optional or violations ignored
|
|
267
|
+
|
|
268
|
+
- **CQ-V-09** [P3] Is mutation testing applied to critical business logic?
|
|
269
|
+
- Inference path: domain_scope.md 'Verification & Quality' → mutation testing; concepts.md 'Testing' → Mutation Test; logic_rules.md 'Testing Logic' → Mutation Testing → apply selectively
|
|
270
|
+
- Verification criteria: PASS if mutation testing covers critical paths with surviving mutants reviewed. WARNING if not applied to critical logic
|
|
271
|
+
|
|
272
|
+
- **CQ-V-10** [P3] Is property-based testing used for functions with broad input domains?
|
|
273
|
+
- Inference path: domain_scope.md 'Verification & Quality' → property-based testing; concepts.md 'Testing' → Property-Based Test
|
|
274
|
+
- Verification criteria: PASS if broad-domain functions (parsers, validators, serializers) use property-based testing. WARNING if tested only with hand-picked examples
|
|
275
|
+
|
|
276
|
+
---
|
|
277
|
+
|
|
278
|
+
## 7. Deployment/Operations (CQ-O)
|
|
279
|
+
|
|
280
|
+
Verifies that the system is deployable, observable, and operable in production.
|
|
281
|
+
|
|
282
|
+
- **CQ-O-01** [P1] Can the running code version be determined per environment?
|
|
283
|
+
- Inference path: domain_scope.md 'Operations & Deployment' → environment separation, monitoring; concepts.md 'DevOps' → Artifact = versioned immutable build output
|
|
284
|
+
- Verification criteria: PASS if each environment has a mechanism to identify the exact code version (build hash, image tag, version endpoint). FAIL if no version identification exists
|
|
285
|
+
|
|
286
|
+
- **CQ-O-02** [P1] Are configurations separated from code and managed per environment?
|
|
287
|
+
- Inference path: structure_spec.md 'Required Module Structure Elements' → Configuration/Environment is required; structure_spec.md 'Golden Relationships' → Config-Code separation
|
|
288
|
+
- Verification criteria: PASS if environment-specific values are injected, not hardcoded. FAIL if business logic contains literal URLs, ports, or API keys
|
|
289
|
+
|
|
290
|
+
- **CQ-O-03** [P2] Is observability (logging, metrics, tracing) implemented?
|
|
291
|
+
- Inference path: domain_scope.md 'Required Concept Categories' → Observability → undiagnosable issues if missing; concepts.md 'Observability' → Logging, Metrics, Tracing
|
|
292
|
+
- Verification criteria: PASS if structured logging, metrics, and distributed tracing are present. FAIL if production issues cannot be diagnosed from telemetry
|
|
293
|
+
|
|
294
|
+
- **CQ-O-04** [P2] Are deployment strategies defined with rollback procedures?
|
|
295
|
+
- Inference path: concepts.md 'DevOps' → Blue-Green, Canary, Rolling; domain_scope.md 'Operations & Deployment' → progressive rollouts
|
|
296
|
+
- Verification criteria: PASS if deployment strategy includes rollback procedures and health check criteria. FAIL if deployments are all-or-nothing
|
|
297
|
+
|
|
298
|
+
- **CQ-O-05** [P2] Are SLIs/SLOs defined for critical paths?
|
|
299
|
+
- Inference path: concepts.md 'Observability' → SLI/SLO/SLA; domain_scope.md 'Operations & Deployment' → error budgets
|
|
300
|
+
- Verification criteria: PASS if critical paths have defined SLIs with target SLOs. FAIL if no quantitative service level targets exist
|
|
301
|
+
|
|
302
|
+
- **CQ-O-06** [P3] Are the 12-Factor App principles addressed?
|
|
303
|
+
- Inference path: domain_scope.md 'Operations & Deployment' → 12-Factor App; domain_scope.md 'Normative System Classification' → Layer 3 standards
|
|
304
|
+
- Verification criteria: PASS if each factor is addressed (compliance or documented deviation). FAIL if not assessed for cloud-deployed services
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
## 8. AI Agent Collaboration (CQ-A)
|
|
309
|
+
|
|
310
|
+
Verifies that specifications support AI agent execution — self-contained, unambiguous, and verifiable. Applicable when AI agents are consumers or executors.
|
|
311
|
+
|
|
312
|
+
- **CQ-A-01** [P1] Is the specification that an AI agent executes self-contained?
|
|
313
|
+
- Inference path: concepts.md 'Document Design Terms' → Self-contained Spec required when AI agents are executors; domain_scope.md 'Documentation & Consumers' → dual-consumer handling
|
|
314
|
+
- Verification criteria: PASS if every AI-executed spec includes all necessary context without depending on other sessions or implicit knowledge. FAIL if the spec requires absent context
|
|
315
|
+
|
|
316
|
+
- **CQ-A-02** [P1] Are verification criteria for AI-generated output defined at the "ambiguity detection" level?
|
|
317
|
+
- Inference path: logic_rules.md 'Constraint Design Logic' → free-text pass_criteria fail modes: partial fulfillment, arbitrary interpretation; structure_spec.md 'Verification Structure' → "what to verify" and "how verified" must be separate
|
|
318
|
+
- Verification criteria: PASS if verification uses concrete, measurable criteria (not subjective assessment). FAIL if criteria allow partial fulfillment or arbitrary interpretation
|
|
319
|
+
|
|
320
|
+
- **CQ-A-03** [P2] Are reading paths specified for AI vs human documentation consumers?
|
|
321
|
+
- Inference path: domain_scope.md 'Documentation & Consumers' → dual-consumer handling; concepts.md 'Document Design Terms' → Contract Document vs Guide Document
|
|
322
|
+
- Verification criteria: PASS if contract (machine-readable) and guide (human-readable) content are structurally separated. FAIL if specs and explanations are mixed without separation
|
|
323
|
+
|
|
324
|
+
- **CQ-A-04** [P2] Is constraint design for AI tasks using pre-inclusion rather than post-verification?
|
|
325
|
+
- Inference path: logic_rules.md 'Constraint Design Logic' → pre-inclusion > post-verification for quality assurance
|
|
326
|
+
- Verification criteria: PASS if constraints are embedded in generation directives. FAIL if constraints exist only as post-generation checklists
|
|
327
|
+
|
|
328
|
+
- **CQ-A-05** [P3] Are inter-agent contracts specified as typed interfaces?
|
|
329
|
+
- Inference path: structure_spec.md 'Golden Relationships' → Module-Interface coherence; logic_rules.md 'Inter-module Contract Logic' → API changes affect consumers
|
|
330
|
+
- Verification criteria: PASS if inter-agent communication uses typed schemas. FAIL if agents communicate via unstructured natural language
|
|
331
|
+
|
|
332
|
+
- **CQ-A-06** [P3] Is AI agent autonomy explicitly bounded?
|
|
333
|
+
- Inference path: domain_scope.md 'Documentation & Consumers' → Constraint Design → hard/soft classification; concepts.md 'Constraint Design Terms' → Hard vs Soft Constraint
|
|
334
|
+
- Verification criteria: PASS if agent permissions define autonomous scope, human-approval scope, and prohibited actions. FAIL if scope is undefined
|
|
335
|
+
|
|
336
|
+
---
|
|
337
|
+
|
|
338
|
+
## 9. Security (CQ-SE)
|
|
339
|
+
|
|
340
|
+
Verifies that authentication, authorization, input validation, and supply chain security are addressed.
|
|
341
|
+
|
|
342
|
+
- **CQ-SE-01** [P1] Are authentication mechanisms correctly implemented?
|
|
343
|
+
- Inference path: logic_rules.md 'Security Logic' → Authentication Logic → token validation: structure, signature, expiration, issuer, audience → skipping any = vulnerability; domain_scope.md 'Security & Auth' → OAuth 2.0/OIDC
|
|
344
|
+
- Verification criteria: PASS if token validation checks all five steps and sessions have absolute/idle timeouts with invalidation on password change. FAIL if any step is skipped or sessions lack expiration
|
|
345
|
+
|
|
346
|
+
- **CQ-SE-02** [P1] Is authorization enforced at the correct granularity (not just authentication)?
|
|
347
|
+
- Inference path: domain_scope.md 'Security & Auth' → RBAC vs ABAC; domain_scope.md 'Bias Detection Criteria' → security scope bias: auth without authz = full access (OWASP A01)
|
|
348
|
+
- Verification criteria: PASS if every protected resource checks user permission level. FAIL if only "is logged in" is checked without "has permission"
|
|
349
|
+
|
|
350
|
+
- **CQ-SE-03** [P1] Is input validation applied at system boundaries with defense in depth?
|
|
351
|
+
- Inference path: logic_rules.md 'Security Logic' → Input Validation Logic → defense in depth; Injection prevention → parameterized queries, output encoding
|
|
352
|
+
- Verification criteria: PASS if validation occurs at boundaries AND inner layers (parameterized queries, output encoding, CSP) are in place. FAIL if single-layer validation or string concatenation for SQL
|
|
353
|
+
|
|
354
|
+
- **CQ-SE-04** [P2] Is the authorization model documented with policy conflict resolution?
|
|
355
|
+
- Inference path: logic_rules.md 'Security Logic' → Authorization Logic → deny-overrides, permit-overrides, first-applicable; concepts.md 'Security' → RBAC vs ABAC
|
|
356
|
+
- Verification criteria: PASS if authorization model is documented with explicit conflict resolution strategy. FAIL if multiple policies apply with no resolution order
|
|
357
|
+
|
|
358
|
+
- **CQ-SE-05** [P2] Are dependency security audits automated in CI?
|
|
359
|
+
- Inference path: dependency_rules.md 'Build/Package Dependency Rules' → Dependency Security → audit in CI; domain_scope.md 'Security & Auth' → supply chain security
|
|
360
|
+
- Verification criteria: PASS if `npm audit` / `pip audit` or equivalent runs in CI with critical vulnerabilities blocking merge. FAIL if no automated scanning
|
|
361
|
+
|
|
362
|
+
- **CQ-SE-06** [P2] Are OWASP Top 10 risks systematically addressed?
|
|
363
|
+
- Inference path: domain_scope.md 'Security & Auth' → OWASP Top 10 (2021); domain_scope.md 'Reference Standards/Frameworks' → OWASP for web-facing systems
|
|
364
|
+
- Verification criteria: PASS if assessed against OWASP Top 10 with mitigations documented. FAIL if no assessment for web-facing systems
|
|
365
|
+
|
|
366
|
+
---
|
|
367
|
+
|
|
368
|
+
## 10. Performance (CQ-P)
|
|
369
|
+
|
|
370
|
+
Verifies that performance requirements are defined, measured, and validated. Scale-dependent — small systems may not need all of these.
|
|
371
|
+
|
|
372
|
+
- **CQ-P-01** [P2] Are performance targets defined as measurable SLOs?
|
|
373
|
+
- Inference path: domain_scope.md 'Verification & Quality' → Performance → p50/p95/p99 latency, RPS, error rate; concepts.md 'Observability' → SLI/SLO
|
|
374
|
+
- Verification criteria: PASS if critical paths have targets (e.g., p99 < 500ms). FAIL if no performance targets for production endpoints
|
|
375
|
+
|
|
376
|
+
- **CQ-P-02** [P2] Is caching applied with explicit invalidation and consistency guarantees?
|
|
377
|
+
- Inference path: domain_scope.md 'Required Concept Categories' → Source of truth; concepts.md 'Data/State Management Terms' → Eventual Consistency
|
|
378
|
+
- Verification criteria: PASS if cached data has TTL or invalidation trigger and documented source-of-truth relationship. FAIL if caching lacks invalidation strategy
|
|
379
|
+
|
|
380
|
+
- **CQ-P-03** [P2] Is load testing performed for expected and peak traffic?
|
|
381
|
+
- Inference path: domain_scope.md 'Verification & Quality' → load testing; structure_spec.md 'Quantitative Thresholds' → P99 > 1s triggers review
|
|
382
|
+
- Verification criteria: PASS if load tests simulate expected/peak traffic with results compared to SLOs. FAIL if no load testing for concurrent-user systems
|
|
383
|
+
|
|
384
|
+
- **CQ-P-04** [P3] Are common performance anti-patterns (N+1, unindexed, unbounded) identified?
|
|
385
|
+
- Inference path: structure_spec.md 'Storage/Data Layer'; domain_scope.md 'Verification & Quality' → identify bottlenecks before production
|
|
386
|
+
- Verification criteria: PASS if anti-patterns detected by tooling or review. FAIL if known anti-patterns exist in production without mitigation
|
|
387
|
+
|
|
388
|
+
- **CQ-P-05** [P2] Is caching invalidation strategy defined with consistency guarantees?
|
|
389
|
+
- Inference path: logic_rules.md §Performance Logic → Caching Rules → cache invalidation strategies; dependency_rules.md §Source of Truth Management
|
|
390
|
+
- Verification criteria: PASS if cached data has explicit invalidation strategy (TTL, event-based, versioned) with documented staleness tolerance. FAIL if caching has no invalidation strategy
|
|
391
|
+
|
|
392
|
+
- **CQ-P-06** [P2] Are N+1 query patterns detected and prevented?
|
|
393
|
+
- Inference path: logic_rules.md §Performance Logic → N+1 Query Detection; structure_spec.md §Storage/Data Layer
|
|
394
|
+
- Verification criteria: PASS if ORM queries are monitored for N+1 patterns with batch loading applied. FAIL if list endpoints issue N+1 queries to the database
|
|
395
|
+
|
|
396
|
+
- **CQ-P-07** [P3] Are database indexes aligned with query patterns in hot paths?
|
|
397
|
+
- Inference path: logic_rules.md §Performance Logic → Index Strategy; structure_spec.md §Quantitative Thresholds
|
|
398
|
+
- Verification criteria: PASS if hot-path queries have supporting indexes verified by query plan analysis. FAIL if production queries perform full table scans on large tables
|
|
399
|
+
|
|
400
|
+
---
|
|
401
|
+
|
|
402
|
+
## 11. Concurrency (CQ-C)
|
|
403
|
+
|
|
404
|
+
Verifies that concurrent access is handled safely — deadlocks prevented, race conditions addressed, concurrency model appropriate.
|
|
405
|
+
|
|
406
|
+
- **CQ-C-01** [P1] Are race conditions (check-then-act, read-modify-write, TOCTOU) addressed?
|
|
407
|
+
- Inference path: logic_rules.md 'Concurrency Logic' → Race Condition Patterns → each requires atomic solutions; domain_scope.md 'Required Concept Categories' → Concurrency → data corruption under load
|
|
408
|
+
- Verification criteria: PASS if concurrent data access uses atomic operations, synchronization, or immutable structures. FAIL if mutable shared state is accessed without synchronization
|
|
409
|
+
|
|
410
|
+
- **CQ-C-02** [P1] Is the concurrency model explicitly chosen and its constraints respected?
|
|
411
|
+
- Inference path: logic_rules.md 'Concurrency Logic' → Concurrency Model Rules → Go/Node.js/Actor each have constraints; concepts.md 'Language/Runtime Fundamentals' → Thread, Event Loop, Coroutine
|
|
412
|
+
- Verification criteria: PASS if concurrency model is documented and constraints respected (e.g., no blocking in event loop). FAIL if model is implicit or constraints violated
|
|
413
|
+
|
|
414
|
+
- **CQ-C-03** [P2] Are deadlock conditions prevented?
|
|
415
|
+
- Inference path: logic_rules.md 'Concurrency Logic' → Deadlock Conditions → Coffman's four conditions; lock ordering prevents circular wait
|
|
416
|
+
- Verification criteria: PASS if multi-lock code uses consistent global ordering or timeout-based acquisition. FAIL if locks acquired in inconsistent orders
|
|
417
|
+
|
|
418
|
+
- **CQ-C-04** [P2] Is optimistic vs pessimistic concurrency control chosen appropriately?
|
|
419
|
+
- Inference path: logic_rules.md 'State Management Logic' → Distributed State Rules → optimistic for low contention, pessimistic for high; concepts.md 'Data/State Management Terms' → Optimistic vs Pessimistic Locking
|
|
420
|
+
- Verification criteria: PASS if strategy is documented with justification based on conflict probability. FAIL if implicit or mismatched to contention level
|
|
421
|
+
|
|
422
|
+
---
|
|
423
|
+
|
|
424
|
+
## 12. Dependencies (CQ-DE)
|
|
425
|
+
|
|
426
|
+
Verifies that dependency management is sound — direction rules enforced, external dependencies managed, build reproducibility guaranteed.
|
|
427
|
+
|
|
428
|
+
- **CQ-DE-01** [P1] Is the dependency graph acyclic?
|
|
429
|
+
- Inference path: dependency_rules.md 'Acyclic Dependencies' → ADP → DAG required; dependency_rules.md 'Breaking Cycles' → inversion, events, shared kernel strategies
|
|
430
|
+
- Verification criteria: PASS if dependency graph is verified acyclic by tooling. FAIL if circular dependencies exist. Type-only circular imports are WARNING
|
|
431
|
+
|
|
432
|
+
- **CQ-DE-02** [P1] Do dependencies point in the correct direction (stable inward, volatile outward)?
|
|
433
|
+
- Inference path: dependency_rules.md 'Direction Rules' → DIP; dependency_rules.md 'Stable Dependencies Principle'; dependency_rules.md 'Clean Architecture Dependency Rule'
|
|
434
|
+
- Verification criteria: PASS if business logic depends on abstractions, not infrastructure. FAIL if business logic imports framework classes without abstraction
|
|
435
|
+
|
|
436
|
+
- **CQ-DE-03** [P1] Are lock files committed and deterministic builds guaranteed?
|
|
437
|
+
- Inference path: dependency_rules.md 'Build/Package Dependency Rules' → Lock File Management → lock files ensure deterministic builds
|
|
438
|
+
- Verification criteria: PASS if lock files are committed and CI uses frozen installs (`npm ci`). FAIL if lock files are gitignored or CI uses non-deterministic installs
|
|
439
|
+
|
|
440
|
+
- **CQ-DE-04** [P2] Are external dependencies abstracted behind interfaces?
|
|
441
|
+
- Inference path: dependency_rules.md 'Package/Module Dependency Patterns' → Anti-corruption Layer; structure_spec.md 'Required Relationships' → external dependencies abstracted via interfaces
|
|
442
|
+
- Verification criteria: PASS if external dependencies accessed through adapter/repository interfaces. FAIL if business logic directly uses external dependency types
|
|
443
|
+
|
|
444
|
+
- **CQ-DE-05** [P2] Are diamond dependencies resolved with consistent version selection?
|
|
445
|
+
- Inference path: dependency_rules.md 'Diamond Dependencies' → different versions of same module prohibited; dependency_rules.md 'Build/Package Dependency Rules' → Dependency Resolution Algorithms
|
|
446
|
+
- Verification criteria: PASS if diamond dependencies resolve to a single version per package. FAIL if version conflicts exist in the resolved tree
|
|
447
|
+
|
|
448
|
+
- **CQ-DE-06** [P3] Are phantom dependencies (undeclared but hoisted) prevented?
|
|
449
|
+
- Inference path: dependency_rules.md 'Build/Package Dependency Rules' → Transitive Dependency Management → phantom dependencies from hoisting; dependency_rules.md 'Referential Integrity' → imported modules must be declared
|
|
450
|
+
- Verification criteria: PASS if only declared dependencies can be imported. FAIL if code imports undeclared packages relying on hoisting
|
|
451
|
+
|
|
452
|
+
## 13. Boundary Conditions (CQ-B)
|
|
453
|
+
|
|
454
|
+
Verifies that edge cases, limits, and boundary values are identified and handled.
|
|
455
|
+
|
|
456
|
+
Scope boundary: CQ-B addresses **value-level boundaries** (min/max, empty, overflow). Type-level safety mechanisms belong to CQ-T. Concurrency resource limits under load belong to CQ-C.
|
|
457
|
+
|
|
458
|
+
- **CQ-B-01** [P1] Are boundary values (min/max, empty, null) identified and tested for each input?
|
|
459
|
+
- Inference path: domain_scope.md 'Required Concept Categories' → Boundary condition → edge case failures; logic_rules.md §Error Handling Logic → Error Classification → operational errors include validation failure
|
|
460
|
+
- Verification criteria: PASS if each input has documented boundary values with tests for min, max, empty, and null cases. FAIL if boundary values are not identified or only happy-path values are tested
|
|
461
|
+
|
|
462
|
+
- **CQ-B-02** [P1] Are integer overflow/underflow risks identified in arithmetic operations?
|
|
463
|
+
- Inference path: domain_scope.md 'Required Concept Categories' → Boundary condition → integer overflow in payment calculation; logic_rules.md §Type System Logic → type safety
|
|
464
|
+
- Verification criteria: PASS if arithmetic operations on user-influenced values use overflow-safe types or explicit checks. FAIL if arithmetic can overflow silently (e.g., 32-bit integer for monetary values)
|
|
465
|
+
|
|
466
|
+
- **CQ-B-03** [P2] Are concurrent access boundaries addressed at resource limits?
|
|
467
|
+
- Inference path: domain_scope.md 'Required Concept Categories' → Boundary condition → concurrent access; logic_rules.md §Concurrency Logic → Race Condition Patterns
|
|
468
|
+
- Verification criteria: PASS if resource limits (connection pools, thread pools, queue depths) have defined behavior at capacity. FAIL if resource exhaustion leads to undefined behavior
|
|
469
|
+
|
|
470
|
+
- **CQ-B-04** [P2] Are collection size boundaries handled (empty collections, single-element, maximum size)?
|
|
471
|
+
- Inference path: domain_scope.md 'Required Concept Categories' → Boundary condition → empty array dereference; logic_rules.md §Constraint Design Logic → schema validation at entry point
|
|
472
|
+
- Verification criteria: PASS if operations on collections handle empty, single-element, and maximum-size cases. FAIL if code assumes non-empty collections without validation
|
|
473
|
+
|
|
474
|
+
---
|
|
475
|
+
|
|
476
|
+
## 14. Requirements & Specification (CQ-R)
|
|
477
|
+
|
|
478
|
+
Verifies that requirements are captured, testable, and traceable. Applicable when formal requirements management is practiced.
|
|
479
|
+
|
|
480
|
+
Scope boundary: CQ-R addresses **requirements traceability and quantification**. Test strategy and coverage belong to CQ-V.
|
|
481
|
+
|
|
482
|
+
- **CQ-R-01** [P2] Is each functional requirement traceable to at least one test or verification method?
|
|
483
|
+
- Inference path: domain_scope.md §Interface & Contract → Requirements & Specification → testable requirements; structure_spec.md §Golden Relationships → Test-Code coherence
|
|
484
|
+
- Verification criteria: PASS if a traceability matrix (or equivalent) links requirements to tests. FAIL if requirements exist without corresponding verification
|
|
485
|
+
|
|
486
|
+
- **CQ-R-02** [P2] Are non-functional requirements quantified with measurable targets?
|
|
487
|
+
- Inference path: domain_scope.md §Interface & Contract → Requirements & Specification → non-functional requirements must be quantified; domain_scope.md §Verification & Quality → Performance → p50/p95/p99
|
|
488
|
+
- Verification criteria: PASS if NFRs have numeric targets (e.g., p99 < 500ms, 99.9% availability). FAIL if NFRs are stated qualitatively ("should be fast")
|
|
489
|
+
|
|
490
|
+
---
|
|
491
|
+
|
|
492
|
+
## 15. Maintenance (CQ-MT)
|
|
493
|
+
|
|
494
|
+
Verifies that maintenance processes are defined and classified. Applicable when the system has an established user base with ongoing development.
|
|
495
|
+
|
|
496
|
+
- **CQ-MT-01** [P2] Are maintenance activities classified by type (corrective/adaptive/perfective/preventive)?
|
|
497
|
+
- Inference path: domain_scope.md §Operations, Deployment & Maintenance → Maintenance → IEEE 14764 four categories; concepts.md §Change Management Terms → Technical Debt
|
|
498
|
+
- Verification criteria: PASS if maintenance work is classified and tracked by type with distinct workflows. FAIL if all maintenance is treated as undifferentiated "bug fixes"
|
|
499
|
+
|
|
500
|
+
- **CQ-MT-02** [P2] Is technical debt tracked with remediation plans?
|
|
501
|
+
- Inference path: domain_scope.md §Operations, Deployment & Maintenance → Maintenance → preventive maintenance; concepts.md §Interpretation Principles → "Technical debt" is not "code I don't like"
|
|
502
|
+
- Verification criteria: PASS if technical debt items are documented with estimated cost and remediation priority. FAIL if technical debt is acknowledged informally but not tracked
|
|
503
|
+
|
|
504
|
+
---
|
|
505
|
+
|
|
506
|
+
## 16. Event/Messaging (CQ-M)
|
|
507
|
+
|
|
508
|
+
Verifies that asynchronous messaging patterns are correctly implemented. Applicable when the system uses message queues, event buses, or pub/sub patterns.
|
|
509
|
+
|
|
510
|
+
Scope boundary: CQ-M addresses **messaging infrastructure and delivery semantics**. Data flow traceability belongs to CQ-D.
|
|
511
|
+
|
|
512
|
+
- **CQ-M-01** [P1] Is the message delivery guarantee explicitly chosen and its trade-offs documented?
|
|
513
|
+
- Inference path: domain_scope.md §Structure & Architecture → Event/Messaging → at-most-once, at-least-once, exactly-once trade-offs; logic_rules.md §State Management Logic → determinism
|
|
514
|
+
- Verification criteria: PASS if delivery guarantee is documented with justification. FAIL if the guarantee is implicit or unknown
|
|
515
|
+
|
|
516
|
+
- **CQ-M-02** [P1] Are message consumers idempotent when at-least-once delivery is used?
|
|
517
|
+
- Inference path: concepts.md §Quality Terms → Idempotent; logic_rules.md §State Management Logic → determinism
|
|
518
|
+
- Verification criteria: PASS if consumers handle duplicate messages safely (idempotency keys, deduplication). FAIL if duplicate processing causes side effects
|
|
519
|
+
|
|
520
|
+
- **CQ-M-03** [P2] Is message ordering guaranteed where business logic requires it?
|
|
521
|
+
- Inference path: domain_scope.md §Structure & Architecture → Event/Messaging → pipeline scalability; logic_rules.md §State Management Logic → Fundamental State Rules → same input must produce same output
|
|
522
|
+
- Verification criteria: PASS if ordering-sensitive operations use partitioned/ordered channels. FAIL if ordering is assumed but not enforced
|
|
523
|
+
|
|
524
|
+
- **CQ-M-04** [P2] Are dead-letter queues configured for unprocessable messages?
|
|
525
|
+
- Inference path: logic_rules.md §Error Handling Logic → Error Classification → operational errors; domain_scope.md §Required Concept Categories → Error path
|
|
526
|
+
- Verification criteria: PASS if failed messages are routed to DLQ with monitoring. FAIL if unprocessable messages are silently dropped or block the queue
|
|
527
|
+
|
|
528
|
+
---
|
|
529
|
+
|
|
530
|
+
## Related Documents
|
|
531
|
+
- domain_scope.md — top-level scope definition and bias detection criteria
|
|
532
|
+
- concepts.md — term definitions for type system, architecture, testing, security, etc.
|
|
533
|
+
- logic_rules.md — rules for types (CQ-T), state (CQ-D), security (CQ-SE), concurrency (CQ-C), testing (CQ-V), AI agent collaboration (CQ-A)
|
|
534
|
+
- structure_spec.md — rules for module structure (CQ-S), golden relationships (CQ-V), verification pipeline (CQ-V), thresholds (CQ-S)
|
|
535
|
+
- logic_rules.md §Error Handling Logic — inference path target for CQ-B boundary condition questions
|
|
536
|
+
- domain_scope.md §Operations, Deployment & Maintenance — inference path target for CQ-MT maintenance questions
|
|
537
|
+
- dependency_rules.md — rules for dependency direction (CQ-DE), API management (CQ-I), build dependencies (CQ-DE), runtime dependencies (CQ-E)
|
|
538
|
+
- domain_scope.md §Sub-area to CQ Section Mapping — mapping between scope sub-areas and CQ sections
|