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.
Files changed (447) hide show
  1. package/.onto/authority/core-lens-registry.yaml +134 -0
  2. package/.onto/authority/core-lexicon.yaml +1562 -0
  3. package/.onto/authority/diagnostic-codes.yaml +94 -0
  4. package/.onto/domains/accounting/competency_qs.md +384 -0
  5. package/.onto/domains/accounting/concepts.md +186 -0
  6. package/.onto/domains/accounting/conciseness_rules.md +160 -0
  7. package/.onto/domains/accounting/dependency_rules.md +239 -0
  8. package/.onto/domains/accounting/domain_scope.md +213 -0
  9. package/.onto/domains/accounting/extension_cases.md +416 -0
  10. package/.onto/domains/accounting/logic_rules.md +226 -0
  11. package/.onto/domains/accounting/structure_spec.md +298 -0
  12. package/.onto/domains/accounting-kr/competency_qs.md +562 -0
  13. package/.onto/domains/accounting-kr/concepts.md +187 -0
  14. package/.onto/domains/accounting-kr/conciseness_rules.md +125 -0
  15. package/.onto/domains/accounting-kr/dependency_rules.md +93 -0
  16. package/.onto/domains/accounting-kr/domain_scope.md +140 -0
  17. package/.onto/domains/accounting-kr/extension_cases.md +343 -0
  18. package/.onto/domains/accounting-kr/logic_rules.md +160 -0
  19. package/.onto/domains/accounting-kr/structure_spec.md +85 -0
  20. package/.onto/domains/business/competency_qs.md +263 -0
  21. package/.onto/domains/business/concepts.md +200 -0
  22. package/.onto/domains/business/conciseness_rules.md +135 -0
  23. package/.onto/domains/business/dependency_rules.md +113 -0
  24. package/.onto/domains/business/domain_scope.md +240 -0
  25. package/.onto/domains/business/extension_cases.md +249 -0
  26. package/.onto/domains/business/logic_rules.md +134 -0
  27. package/.onto/domains/business/structure_spec.md +114 -0
  28. package/.onto/domains/finance/competency_qs.md +362 -0
  29. package/.onto/domains/finance/concepts.md +194 -0
  30. package/.onto/domains/finance/conciseness_rules.md +155 -0
  31. package/.onto/domains/finance/dependency_rules.md +171 -0
  32. package/.onto/domains/finance/domain_scope.md +215 -0
  33. package/.onto/domains/finance/extension_cases.md +350 -0
  34. package/.onto/domains/finance/logic_rules.md +191 -0
  35. package/.onto/domains/finance/structure_spec.md +182 -0
  36. package/.onto/domains/llm-native-development/competency_qs.md +430 -0
  37. package/.onto/domains/llm-native-development/concepts.md +242 -0
  38. package/.onto/domains/llm-native-development/conciseness_rules.md +163 -0
  39. package/.onto/domains/llm-native-development/dependency_rules.md +216 -0
  40. package/.onto/domains/llm-native-development/domain_scope.md +197 -0
  41. package/.onto/domains/llm-native-development/extension_cases.md +474 -0
  42. package/.onto/domains/llm-native-development/logic_rules.md +123 -0
  43. package/.onto/domains/llm-native-development/prompt_interface.md +49 -0
  44. package/.onto/domains/llm-native-development/structure_spec.md +245 -0
  45. package/.onto/domains/market-intelligence/competency_qs.md +274 -0
  46. package/.onto/domains/market-intelligence/concepts.md +233 -0
  47. package/.onto/domains/market-intelligence/conciseness_rules.md +165 -0
  48. package/.onto/domains/market-intelligence/dependency_rules.md +197 -0
  49. package/.onto/domains/market-intelligence/domain_scope.md +231 -0
  50. package/.onto/domains/market-intelligence/extension_cases.md +425 -0
  51. package/.onto/domains/market-intelligence/logic_rules.md +247 -0
  52. package/.onto/domains/market-intelligence/structure_spec.md +209 -0
  53. package/.onto/domains/ontology/competency_qs.md +394 -0
  54. package/.onto/domains/ontology/concepts.md +172 -0
  55. package/.onto/domains/ontology/conciseness_rules.md +134 -0
  56. package/.onto/domains/ontology/dependency_rules.md +125 -0
  57. package/.onto/domains/ontology/domain_scope.md +114 -0
  58. package/.onto/domains/ontology/extension_cases.md +501 -0
  59. package/.onto/domains/ontology/logic_rules.md +114 -0
  60. package/.onto/domains/ontology/problem_framing_profile.md +67 -0
  61. package/.onto/domains/ontology/structure_spec.md +115 -0
  62. package/.onto/domains/palantir-foundry/RESEARCH_NOTES.md +911 -0
  63. package/.onto/domains/palantir-foundry/competency_qs.md +191 -0
  64. package/.onto/domains/palantir-foundry/competitive_comparison.md +329 -0
  65. package/.onto/domains/palantir-foundry/concepts.md +197 -0
  66. package/.onto/domains/palantir-foundry/conciseness_rules.md +245 -0
  67. package/.onto/domains/palantir-foundry/dependency_rules.md +135 -0
  68. package/.onto/domains/palantir-foundry/domain_scope.md +395 -0
  69. package/.onto/domains/palantir-foundry/extension_cases.md +210 -0
  70. package/.onto/domains/palantir-foundry/logic_rules.md +172 -0
  71. package/.onto/domains/palantir-foundry/structure_spec.md +291 -0
  72. package/.onto/domains/software-engineering/competency_qs.md +538 -0
  73. package/.onto/domains/software-engineering/concepts.md +238 -0
  74. package/.onto/domains/software-engineering/conciseness_rules.md +167 -0
  75. package/.onto/domains/software-engineering/dependency_rules.md +216 -0
  76. package/.onto/domains/software-engineering/domain_scope.md +183 -0
  77. package/.onto/domains/software-engineering/extension_cases.md +551 -0
  78. package/.onto/domains/software-engineering/logic_rules.md +240 -0
  79. package/.onto/domains/software-engineering/problem_framing_profile.md +68 -0
  80. package/.onto/domains/software-engineering/structure_spec.md +185 -0
  81. package/.onto/domains/ui-design/competency_qs.md +567 -0
  82. package/.onto/domains/ui-design/concepts.md +194 -0
  83. package/.onto/domains/ui-design/conciseness_rules.md +190 -0
  84. package/.onto/domains/ui-design/dependency_rules.md +323 -0
  85. package/.onto/domains/ui-design/domain_scope.md +340 -0
  86. package/.onto/domains/ui-design/extension_cases.md +563 -0
  87. package/.onto/domains/ui-design/logic_rules.md +349 -0
  88. package/.onto/domains/ui-design/structure_spec.md +252 -0
  89. package/.onto/domains/visual-design/competency_qs.md +472 -0
  90. package/.onto/domains/visual-design/concepts.md +147 -0
  91. package/.onto/domains/visual-design/conciseness_rules.md +186 -0
  92. package/.onto/domains/visual-design/dependency_rules.md +282 -0
  93. package/.onto/domains/visual-design/domain_scope.md +290 -0
  94. package/.onto/domains/visual-design/extension_cases.md +480 -0
  95. package/.onto/domains/visual-design/logic_rules.md +232 -0
  96. package/.onto/domains/visual-design/structure_spec.md +213 -0
  97. package/.onto/principles/llm-native-development-guideline.md +401 -0
  98. package/.onto/principles/llm-runtime-interface-principles.md +665 -0
  99. package/.onto/principles/non-specialist-communication-guideline.md +74 -0
  100. package/.onto/principles/ontology-as-code-guideline.md +243 -0
  101. package/.onto/principles/ontology-as-code-naming-charter.md +130 -0
  102. package/.onto/principles/product-locality-principle.md +129 -0
  103. package/.onto/principles/productization-charter.md +569 -0
  104. package/.onto/processes/evolve/material-kind-adapter-contract.md +113 -0
  105. package/.onto/processes/reconstruct/reconstruct-boundary-contract.md +366 -0
  106. package/.onto/processes/reconstruct/source-profile-contract.md +107 -0
  107. package/.onto/processes/reconstruct/source-profiles/code.md +72 -0
  108. package/.onto/processes/reconstruct/source-profiles/database.md +74 -0
  109. package/.onto/processes/reconstruct/source-profiles/document.md +71 -0
  110. package/.onto/processes/reconstruct/source-profiles/spreadsheet.md +79 -0
  111. package/.onto/processes/review/binding-contract.md +270 -0
  112. package/.onto/processes/review/execution-preparation-artifacts.md +281 -0
  113. package/.onto/processes/review/interpretation-contract.md +245 -0
  114. package/.onto/processes/review/issue-stance-deliberation-contract.md +761 -0
  115. package/.onto/processes/review/lens-prompt-contract.md +402 -0
  116. package/.onto/processes/review/lens-registry.md +127 -0
  117. package/.onto/processes/review/pre-dispatch-contracts.md +428 -0
  118. package/.onto/processes/review/productized-live-path.md +398 -0
  119. package/.onto/processes/review/prompt-execution-runner-contract.md +187 -0
  120. package/.onto/processes/review/record-contract.md +427 -0
  121. package/.onto/processes/review/record-field-mapping.md +337 -0
  122. package/.onto/processes/review/review-context-manifest-contract.md +356 -0
  123. package/.onto/processes/review/review-execution-ux-contract.md +809 -0
  124. package/.onto/processes/review/review-target-profile-contract.md +259 -0
  125. package/.onto/processes/review/shared-phenomenon-contract.md +129 -0
  126. package/.onto/processes/review/synthesize-prompt-contract.md +343 -0
  127. package/.onto/processes/shared/target-material-kind-contract.md +198 -0
  128. package/.onto/roles/axiology.md +81 -0
  129. package/.onto/roles/conciseness.md +36 -0
  130. package/.onto/roles/coverage.md +34 -0
  131. package/.onto/roles/dependency.md +37 -0
  132. package/.onto/roles/evolution.md +35 -0
  133. package/.onto/roles/logic.md +104 -0
  134. package/.onto/roles/pragmatics.md +32 -0
  135. package/.onto/roles/semantics.md +36 -0
  136. package/.onto/roles/structure.md +33 -0
  137. package/.onto/roles/synthesize.md +92 -0
  138. package/AGENTS.md +240 -0
  139. package/CLAUDE.md +39 -0
  140. package/README.md +287 -0
  141. package/bin/onto +92 -0
  142. package/dist/cli.js +101 -0
  143. package/dist/core-api/reconstruct-api.js +222 -0
  144. package/dist/core-api/review-api.js +1271 -0
  145. package/dist/core-runtime/cli/assemble-review-record.js +431 -0
  146. package/dist/core-runtime/cli/bootstrap-review-binding.js +186 -0
  147. package/dist/core-runtime/cli/codex-nested-dispatch.js +226 -0
  148. package/dist/core-runtime/cli/codex-nested-dispatch.test.js +390 -0
  149. package/dist/core-runtime/cli/codex-nested-teamlead-executor.js +464 -0
  150. package/dist/core-runtime/cli/codex-nested-teamlead-executor.test.js +335 -0
  151. package/dist/core-runtime/cli/codex-review-unit-executor.js +228 -0
  152. package/dist/core-runtime/cli/complete-review-session.js +64 -0
  153. package/dist/core-runtime/cli/complexity-assessment.js +153 -0
  154. package/dist/core-runtime/cli/coordinator-helpers.js +583 -0
  155. package/dist/core-runtime/cli/coordinator-state-machine-deliberation.test.js +167 -0
  156. package/dist/core-runtime/cli/coordinator-state-machine.js +794 -0
  157. package/dist/core-runtime/cli/e2e-codex-multi-agent-fixes.test.js +615 -0
  158. package/dist/core-runtime/cli/e2e-start-review-session.test.js +312 -0
  159. package/dist/core-runtime/cli/health.js +44 -0
  160. package/dist/core-runtime/cli/inline-http-review-unit-executor.js +656 -0
  161. package/dist/core-runtime/cli/inline-http-review-unit-executor.test.js +567 -0
  162. package/dist/core-runtime/cli/materialize-review-execution-preparation.js +104 -0
  163. package/dist/core-runtime/cli/materialize-review-prompt-packets.js +952 -0
  164. package/dist/core-runtime/cli/migrate-session-roots.js +118 -0
  165. package/dist/core-runtime/cli/mock-review-unit-executor.js +285 -0
  166. package/dist/core-runtime/cli/onto-tools.js +369 -0
  167. package/dist/core-runtime/cli/prepare-review-session.js +272 -0
  168. package/dist/core-runtime/cli/render-review-final-output.js +350 -0
  169. package/dist/core-runtime/cli/repo-layout-migration-replace.smoke.test.js +106 -0
  170. package/dist/core-runtime/cli/review-invoke-auto-resolution.test.js +268 -0
  171. package/dist/core-runtime/cli/review-invoke-coordinator-topology.test.js +136 -0
  172. package/dist/core-runtime/cli/review-invoke-resolver-caching.test.js +201 -0
  173. package/dist/core-runtime/cli/review-invoke-topology-dispatch.test.js +192 -0
  174. package/dist/core-runtime/cli/review-invoke.js +2030 -0
  175. package/dist/core-runtime/cli/run-review-prompt-execution.js +2152 -0
  176. package/dist/core-runtime/cli/session-root-guard.js +168 -0
  177. package/dist/core-runtime/cli/spawn-watcher.js +173 -0
  178. package/dist/core-runtime/cli/spawn-watcher.test.js +457 -0
  179. package/dist/core-runtime/cli/start-review-session.js +68 -0
  180. package/dist/core-runtime/cli/strip-wrapping-code-fence.js +56 -0
  181. package/dist/core-runtime/cli/strip-wrapping-code-fence.test.js +79 -0
  182. package/dist/core-runtime/cli/teamcreate-lens-deliberation-executor.js +412 -0
  183. package/dist/core-runtime/cli/teamcreate-lens-deliberation-executor.test.js +351 -0
  184. package/dist/core-runtime/cli/topology-executor-mapping.js +139 -0
  185. package/dist/core-runtime/cli/topology-executor-mapping.test.js +173 -0
  186. package/dist/core-runtime/cli/write-review-interpretation.js +81 -0
  187. package/dist/core-runtime/config/onto-config-cli.js +278 -0
  188. package/dist/core-runtime/config/onto-config-key-path.js +288 -0
  189. package/dist/core-runtime/config/onto-config-key-path.test.js +195 -0
  190. package/dist/core-runtime/config/onto-config-preview.js +108 -0
  191. package/dist/core-runtime/config/onto-config-preview.test.js +132 -0
  192. package/dist/core-runtime/discovery/config-chain.js +118 -0
  193. package/dist/core-runtime/discovery/config-chain.test.js +103 -0
  194. package/dist/core-runtime/discovery/config-profile.js +199 -0
  195. package/dist/core-runtime/discovery/config-profile.test.js +233 -0
  196. package/dist/core-runtime/discovery/host-detection.js +33 -0
  197. package/dist/core-runtime/discovery/host-detection.test.js +186 -0
  198. package/dist/core-runtime/discovery/installation-paths.js +21 -0
  199. package/dist/core-runtime/discovery/installation-paths.test.js +65 -0
  200. package/dist/core-runtime/discovery/lens-registry.js +60 -0
  201. package/dist/core-runtime/discovery/lens-registry.test.js +81 -0
  202. package/dist/core-runtime/discovery/onto-home.js +71 -0
  203. package/dist/core-runtime/discovery/path-normalization.js +28 -0
  204. package/dist/core-runtime/discovery/path-normalization.test.js +22 -0
  205. package/dist/core-runtime/discovery/plugin-path.js +72 -0
  206. package/dist/core-runtime/discovery/plugin-path.test.js +95 -0
  207. package/dist/core-runtime/discovery/project-root.js +47 -0
  208. package/dist/core-runtime/discovery/settings-chain.js +353 -0
  209. package/dist/core-runtime/discovery/walk-up.js +17 -0
  210. package/dist/core-runtime/evolve/adapters/code-product/compile/compile-defense.js +344 -0
  211. package/dist/core-runtime/evolve/adapters/code-product/compile/compile-defense.test.js +915 -0
  212. package/dist/core-runtime/evolve/adapters/code-product/compile/compile.js +564 -0
  213. package/dist/core-runtime/evolve/adapters/code-product/compile/compile.test.js +708 -0
  214. package/dist/core-runtime/evolve/adapters/code-product/parsers/brief-parser.js +165 -0
  215. package/dist/core-runtime/evolve/adapters/code-product/parsers/brief-parser.test.js +227 -0
  216. package/dist/core-runtime/evolve/adapters/code-product/validators/validate.js +59 -0
  217. package/dist/core-runtime/evolve/adapters/code-product/validators/validate.test.js +205 -0
  218. package/dist/core-runtime/evolve/adapters/methodology/adapter.js +16 -0
  219. package/dist/core-runtime/evolve/adapters/methodology/adapter.test.js +9 -0
  220. package/dist/core-runtime/evolve/adapters/methodology/perspectives/authority-consistency.js +298 -0
  221. package/dist/core-runtime/evolve/adapters/methodology/perspectives/authority-consistency.test.js +70 -0
  222. package/dist/core-runtime/evolve/adapters/methodology/scope-types/process.js +46 -0
  223. package/dist/core-runtime/evolve/adapters/methodology/scope-types/process.test.js +73 -0
  224. package/dist/core-runtime/evolve/adapters/registry.js +47 -0
  225. package/dist/core-runtime/evolve/adapters/registry.test.js +67 -0
  226. package/dist/core-runtime/evolve/cli.js +256 -0
  227. package/dist/core-runtime/evolve/commands/align.js +194 -0
  228. package/dist/core-runtime/evolve/commands/align.test.js +82 -0
  229. package/dist/core-runtime/evolve/commands/apply.js +161 -0
  230. package/dist/core-runtime/evolve/commands/apply.test.js +138 -0
  231. package/dist/core-runtime/evolve/commands/close.js +39 -0
  232. package/dist/core-runtime/evolve/commands/close.test.js +99 -0
  233. package/dist/core-runtime/evolve/commands/defer.js +40 -0
  234. package/dist/core-runtime/evolve/commands/defer.test.js +134 -0
  235. package/dist/core-runtime/evolve/commands/draft.js +323 -0
  236. package/dist/core-runtime/evolve/commands/draft.test.js +178 -0
  237. package/dist/core-runtime/evolve/commands/e2e-evolve-full-cycle.test.js +208 -0
  238. package/dist/core-runtime/evolve/commands/error-messages.js +125 -0
  239. package/dist/core-runtime/evolve/commands/error-messages.test.js +167 -0
  240. package/dist/core-runtime/evolve/commands/propose-align.js +222 -0
  241. package/dist/core-runtime/evolve/commands/propose-align.test.js +136 -0
  242. package/dist/core-runtime/evolve/commands/reconstruct.js +330 -0
  243. package/dist/core-runtime/evolve/commands/reconstruct.test.js +278 -0
  244. package/dist/core-runtime/evolve/commands/shared.js +22 -0
  245. package/dist/core-runtime/evolve/commands/stale-check.js +103 -0
  246. package/dist/core-runtime/evolve/commands/stale-check.test.js +84 -0
  247. package/dist/core-runtime/evolve/commands/start.js +887 -0
  248. package/dist/core-runtime/evolve/commands/start.test.js +396 -0
  249. package/dist/core-runtime/evolve/config/project-config.js +99 -0
  250. package/dist/core-runtime/evolve/config/project-config.test.js +170 -0
  251. package/dist/core-runtime/evolve/renderers/align-packet.js +280 -0
  252. package/dist/core-runtime/evolve/renderers/align-packet.test.js +332 -0
  253. package/dist/core-runtime/evolve/renderers/draft-packet.js +303 -0
  254. package/dist/core-runtime/evolve/renderers/draft-packet.test.js +377 -0
  255. package/dist/core-runtime/evolve/renderers/format.js +5 -0
  256. package/dist/core-runtime/evolve/renderers/scope-md.js +237 -0
  257. package/dist/core-runtime/evolve/renderers/scope-md.test.js +306 -0
  258. package/dist/core-runtime/govern/cli.js +369 -0
  259. package/dist/core-runtime/govern/cli.test.js +314 -0
  260. package/dist/core-runtime/govern/drift-engine.js +103 -0
  261. package/dist/core-runtime/govern/drift-engine.test.js +319 -0
  262. package/dist/core-runtime/govern/promote-principle.js +206 -0
  263. package/dist/core-runtime/govern/promote-principle.test.js +368 -0
  264. package/dist/core-runtime/govern/queue.js +81 -0
  265. package/dist/core-runtime/govern/types.js +16 -0
  266. package/dist/core-runtime/install/cli.js +530 -0
  267. package/dist/core-runtime/install/detect.js +128 -0
  268. package/dist/core-runtime/install/detect.test.js +155 -0
  269. package/dist/core-runtime/install/gitignore-update.js +74 -0
  270. package/dist/core-runtime/install/gitignore-update.test.js +64 -0
  271. package/dist/core-runtime/install/install-integration.test.js +373 -0
  272. package/dist/core-runtime/install/prompts.js +389 -0
  273. package/dist/core-runtime/install/prompts.test.js +293 -0
  274. package/dist/core-runtime/install/types.js +26 -0
  275. package/dist/core-runtime/install/validation.js +295 -0
  276. package/dist/core-runtime/install/validation.test.js +313 -0
  277. package/dist/core-runtime/install/writer.js +254 -0
  278. package/dist/core-runtime/install/writer.test.js +218 -0
  279. package/dist/core-runtime/learning/extractor.js +461 -0
  280. package/dist/core-runtime/learning/feedback.js +179 -0
  281. package/dist/core-runtime/learning/health-report.js +165 -0
  282. package/dist/core-runtime/learning/health-report.test.js +169 -0
  283. package/dist/core-runtime/learning/loader.js +388 -0
  284. package/dist/core-runtime/learning/loader.test.js +102 -0
  285. package/dist/core-runtime/learning/promote/apply-state.js +240 -0
  286. package/dist/core-runtime/learning/promote/audit-obligation.js +195 -0
  287. package/dist/core-runtime/learning/promote/collector.js +432 -0
  288. package/dist/core-runtime/learning/promote/degraded-state.js +125 -0
  289. package/dist/core-runtime/learning/promote/domain-doc-proposer.js +166 -0
  290. package/dist/core-runtime/learning/promote/e2e-promote.test.js +6385 -0
  291. package/dist/core-runtime/learning/promote/health-snapshot.js +150 -0
  292. package/dist/core-runtime/learning/promote/insight-reclassifier.js +544 -0
  293. package/dist/core-runtime/learning/promote/judgment-auditor.js +517 -0
  294. package/dist/core-runtime/learning/promote/panel-reviewer.js +1158 -0
  295. package/dist/core-runtime/learning/promote/promote-executor.js +1675 -0
  296. package/dist/core-runtime/learning/promote/promoter.js +307 -0
  297. package/dist/core-runtime/learning/promote/retirement.js +122 -0
  298. package/dist/core-runtime/learning/promote/types.js +23 -0
  299. package/dist/core-runtime/learning/prompt-sections.js +51 -0
  300. package/dist/core-runtime/learning/shared/artifact-registry-init.js +45 -0
  301. package/dist/core-runtime/learning/shared/artifact-registry.js +254 -0
  302. package/dist/core-runtime/learning/shared/audit-obligation-kernel.js +73 -0
  303. package/dist/core-runtime/learning/shared/audit-state.js +99 -0
  304. package/dist/core-runtime/learning/shared/duplicate-check.js +28 -0
  305. package/dist/core-runtime/learning/shared/llm-caller.js +831 -0
  306. package/dist/core-runtime/learning/shared/llm-caller.test.js +601 -0
  307. package/dist/core-runtime/learning/shared/llm-tool-loop.js +393 -0
  308. package/dist/core-runtime/learning/shared/mode.js +25 -0
  309. package/dist/core-runtime/learning/shared/paths.js +84 -0
  310. package/dist/core-runtime/learning/shared/paths.test.js +79 -0
  311. package/dist/core-runtime/learning/shared/patterns.js +37 -0
  312. package/dist/core-runtime/learning/shared/recoverability.js +355 -0
  313. package/dist/core-runtime/learning/shared/recovery-context.js +374 -0
  314. package/dist/core-runtime/learning/shared/scope.js +1 -0
  315. package/dist/core-runtime/learning/shared/semantic-classifier.js +94 -0
  316. package/dist/core-runtime/learning/shared/specs/apply-execution-state-spec.js +42 -0
  317. package/dist/core-runtime/learning/shared/specs/audit-state-spec.js +37 -0
  318. package/dist/core-runtime/learning/shared/specs/backup-metadata-spec.js +39 -0
  319. package/dist/core-runtime/learning/shared/specs/emergency-log-spec.js +41 -0
  320. package/dist/core-runtime/learning/shared/specs/layout-version-spec.js +38 -0
  321. package/dist/core-runtime/learning/shared/specs/promote-decisions-spec.js +43 -0
  322. package/dist/core-runtime/learning/shared/specs/promote-report-spec.js +113 -0
  323. package/dist/core-runtime/learning/shared/specs/prune-log-spec.js +36 -0
  324. package/dist/core-runtime/learning/shared/specs/recovery-resolution-spec.js +48 -0
  325. package/dist/core-runtime/learning/shared/specs/restore-manifest-spec.js +43 -0
  326. package/dist/core-runtime/learning/shared/specs/spec-helpers.js +64 -0
  327. package/dist/core-runtime/learning/usage-tracker.js +190 -0
  328. package/dist/core-runtime/learning/usage-tracker.test.js +176 -0
  329. package/dist/core-runtime/llm/llm-caller.js +649 -0
  330. package/dist/core-runtime/llm/llm-tool-loop.js +401 -0
  331. package/dist/core-runtime/llm/model-switcher.js +62 -0
  332. package/dist/core-runtime/logger.js +22 -0
  333. package/dist/core-runtime/onboard/detect-review-axes.js +122 -0
  334. package/dist/core-runtime/onboard/detect-review-axes.test.js +127 -0
  335. package/dist/core-runtime/onboard/write-review-block.js +188 -0
  336. package/dist/core-runtime/onboard/write-review-block.test.js +240 -0
  337. package/dist/core-runtime/readers/brownfield-builder.js +150 -0
  338. package/dist/core-runtime/readers/brownfield-builder.test.js +136 -0
  339. package/dist/core-runtime/readers/code-chunk-collector.js +53 -0
  340. package/dist/core-runtime/readers/code-chunk-collector.test.js +136 -0
  341. package/dist/core-runtime/readers/file-utils.js +240 -0
  342. package/dist/core-runtime/readers/file-utils.test.js +146 -0
  343. package/dist/core-runtime/readers/lexicon-citation-check.js +93 -0
  344. package/dist/core-runtime/readers/lexicon-citation-check.test.js +77 -0
  345. package/dist/core-runtime/readers/mcp-figma.js +30 -0
  346. package/dist/core-runtime/readers/mcp-figma.test.js +82 -0
  347. package/dist/core-runtime/readers/mcp-generic.js +31 -0
  348. package/dist/core-runtime/readers/mcp-generic.test.js +76 -0
  349. package/dist/core-runtime/readers/ontology-index.js +148 -0
  350. package/dist/core-runtime/readers/ontology-index.test.js +245 -0
  351. package/dist/core-runtime/readers/ontology-query.js +168 -0
  352. package/dist/core-runtime/readers/ontology-query.test.js +311 -0
  353. package/dist/core-runtime/readers/ontology-resolve.js +48 -0
  354. package/dist/core-runtime/readers/ontology-resolve.test.js +48 -0
  355. package/dist/core-runtime/readers/patterns/index.js +7 -0
  356. package/dist/core-runtime/readers/review-log.js +213 -0
  357. package/dist/core-runtime/readers/review-log.test.js +313 -0
  358. package/dist/core-runtime/readers/scan-local.js +102 -0
  359. package/dist/core-runtime/readers/scan-local.test.js +102 -0
  360. package/dist/core-runtime/readers/scan-tarball.js +121 -0
  361. package/dist/core-runtime/readers/scan-tarball.test.js +283 -0
  362. package/dist/core-runtime/readers/scan-vault.js +34 -0
  363. package/dist/core-runtime/readers/scan-vault.test.js +81 -0
  364. package/dist/core-runtime/readers/types.js +42 -0
  365. package/dist/core-runtime/readers/types.test.js +94 -0
  366. package/dist/core-runtime/readers/viewpoint-collectors.js +229 -0
  367. package/dist/core-runtime/reconstruct/artifact-types.js +1 -0
  368. package/dist/core-runtime/reconstruct/directive-validation.js +123 -0
  369. package/dist/core-runtime/reconstruct/materialize-preparation.js +251 -0
  370. package/dist/core-runtime/reconstruct/record.js +198 -0
  371. package/dist/core-runtime/reconstruct/run.js +578 -0
  372. package/dist/core-runtime/reconstruct/seed-candidate-validation.js +356 -0
  373. package/dist/core-runtime/reconstruct/source-observations.js +62 -0
  374. package/dist/core-runtime/reconstruct/source-profiles.js +73 -0
  375. package/dist/core-runtime/release-channel/release-channel.js +90 -0
  376. package/dist/core-runtime/review/artifact-types.js +13 -0
  377. package/dist/core-runtime/review/citation-audit.js +204 -0
  378. package/dist/core-runtime/review/citation-audit.test.js +165 -0
  379. package/dist/core-runtime/review/controlled-lens-deliberation.js +125 -0
  380. package/dist/core-runtime/review/execution-plan-resolver.js +247 -0
  381. package/dist/core-runtime/review/execution-plan-resolver.test.js +243 -0
  382. package/dist/core-runtime/review/execution-topology-resolver-axis-first.test.js +246 -0
  383. package/dist/core-runtime/review/execution-topology-resolver.js +401 -0
  384. package/dist/core-runtime/review/execution-topology-resolver.test.js +315 -0
  385. package/dist/core-runtime/review/failure-records.js +57 -0
  386. package/dist/core-runtime/review/inline-context-embedder.js +141 -0
  387. package/dist/core-runtime/review/inline-context-embedder.test.js +154 -0
  388. package/dist/core-runtime/review/issue-artifact-runtime.js +859 -0
  389. package/dist/core-runtime/review/legacy-mode-policy.js +88 -0
  390. package/dist/core-runtime/review/lens-completion-policy.js +17 -0
  391. package/dist/core-runtime/review/materializers-effort-persist.test.js +79 -0
  392. package/dist/core-runtime/review/materializers.js +963 -0
  393. package/dist/core-runtime/review/ontology-path-classifier.js +179 -0
  394. package/dist/core-runtime/review/ontology-path-classifier.test.js +216 -0
  395. package/dist/core-runtime/review/packet-boundary-policy.js +215 -0
  396. package/dist/core-runtime/review/packet-boundary-policy.test.js +107 -0
  397. package/dist/core-runtime/review/participating-lens-paths.js +61 -0
  398. package/dist/core-runtime/review/participating-lens-paths.test.js +73 -0
  399. package/dist/core-runtime/review/review-artifact-utils.js +287 -0
  400. package/dist/core-runtime/review/review-config-legacy-translate.js +244 -0
  401. package/dist/core-runtime/review/review-config-legacy-translate.test.js +161 -0
  402. package/dist/core-runtime/review/review-config-validator.js +289 -0
  403. package/dist/core-runtime/review/review-config-validator.test.js +236 -0
  404. package/dist/core-runtime/review/review-execution-profile.js +193 -0
  405. package/dist/core-runtime/review/review-execution-route.js +52 -0
  406. package/dist/core-runtime/review/review-progress-contract.js +123 -0
  407. package/dist/core-runtime/review/review-record-validation.js +251 -0
  408. package/dist/core-runtime/review/review-result-classification.js +379 -0
  409. package/dist/core-runtime/review/review-state-machine.js +39 -0
  410. package/dist/core-runtime/review/route-visibility.js +125 -0
  411. package/dist/core-runtime/review/shape-pipeline-audit.test.js +311 -0
  412. package/dist/core-runtime/review/shape-to-topology-id.js +117 -0
  413. package/dist/core-runtime/review/shape-to-topology-id.test.js +132 -0
  414. package/dist/core-runtime/review/topology-shape-derivation.js +155 -0
  415. package/dist/core-runtime/review/topology-shape-derivation.test.js +195 -0
  416. package/dist/core-runtime/scope-runtime/constants.js +12 -0
  417. package/dist/core-runtime/scope-runtime/constraint-pool.js +166 -0
  418. package/dist/core-runtime/scope-runtime/constraint-pool.test.js +674 -0
  419. package/dist/core-runtime/scope-runtime/domain-validation-log.js +135 -0
  420. package/dist/core-runtime/scope-runtime/domain-validation-log.test.js +156 -0
  421. package/dist/core-runtime/scope-runtime/eval-persistence.js +65 -0
  422. package/dist/core-runtime/scope-runtime/eval-persistence.test.js +84 -0
  423. package/dist/core-runtime/scope-runtime/event-pipeline.js +64 -0
  424. package/dist/core-runtime/scope-runtime/event-pipeline.test.js +450 -0
  425. package/dist/core-runtime/scope-runtime/event-store.js +39 -0
  426. package/dist/core-runtime/scope-runtime/event-store.test.js +95 -0
  427. package/dist/core-runtime/scope-runtime/gate-guard.js +348 -0
  428. package/dist/core-runtime/scope-runtime/gate-guard.test.js +1047 -0
  429. package/dist/core-runtime/scope-runtime/hash.js +4 -0
  430. package/dist/core-runtime/scope-runtime/hash.test.js +33 -0
  431. package/dist/core-runtime/scope-runtime/id.js +4 -0
  432. package/dist/core-runtime/scope-runtime/id.test.js +17 -0
  433. package/dist/core-runtime/scope-runtime/reducer.js +297 -0
  434. package/dist/core-runtime/scope-runtime/reducer.test.js +759 -0
  435. package/dist/core-runtime/scope-runtime/scope-manager.js +161 -0
  436. package/dist/core-runtime/scope-runtime/state-machine.js +309 -0
  437. package/dist/core-runtime/scope-runtime/state-machine.test.js +704 -0
  438. package/dist/core-runtime/scope-runtime/types.js +116 -0
  439. package/dist/core-runtime/scope-runtime/types.test.js +69 -0
  440. package/dist/core-runtime/target-material-kind.js +256 -0
  441. package/dist/core-runtime/translate/render-for-user.js +169 -0
  442. package/dist/core-runtime/translate/render-for-user.test.js +122 -0
  443. package/dist/mcp/server.js +1011 -0
  444. package/dist/mcp/tool-schemas.js +93 -0
  445. package/dist/providers/capability-contract.js +1 -0
  446. package/package.json +68 -0
  447. package/settings.example.json +33 -0
@@ -0,0 +1,147 @@
1
+ ---
2
+ version: 2
3
+ last_updated: "2026-04-16"
4
+ source: manual
5
+ status: established
6
+ ---
7
+
8
+ # Visual Design Domain — Concept Dictionary and Interpretation Rules
9
+
10
+ Classification axis: **Visual design concern** — classified by the design concern each term addresses. Each term is tagged with its abstraction layer: [L1] Standard/Specification, [L2] Principle/Convention, [L3] Practice/Tool-Specific.
11
+
12
+ ## Abstraction Layer Reference
13
+
14
+ - **[L1] Standard/Specification**: Elements defined by W3C, ISO, ICC, or platform specifications. Exist as codified standards with formal versioning. Example: WCAG contrast ratio 4.5:1 is L1 — it is a published specification with legal enforcement in some jurisdictions.
15
+ - **[L2] Principle/Convention**: Design principles and conventions widely adopted by practice. No formal specification enforcement — adherence depends on design review and team discipline. Example: the 60-30-10 color ratio rule is L2 — widely taught and applied but not codified in any standard.
16
+ - **[L3] Practice/Tool-Specific**: Terms belonging to specific tools, workflows, or organizational practices. Example: Figma component variants are L3 — they are a tool-specific implementation of the general concept of component variations.
17
+
18
+ **[L1]/[L2] boundary**: W3C/ISO/ICC defines → [L1]. Applied by convention without specification → [L2]. When a spec defines a capability (L1) but effective use requires a design principle, both layers noted.
19
+
20
+ **Tier × L relationship**: Normative tiers (domain_scope.md [Tier-1a/1b/2/3]) and abstraction layers ([L1/L2/L3]) are independently defined. See domain_scope.md §Relationship Between Tier and Abstraction Layer for the occupied combinations.
21
+
22
+ ## Composition Principle Core Terms
23
+
24
+ - [L2] Visual Hierarchy = a system that conveys the order of information importance using visual means such as size, color, contrast, and position. Intentionally designing the user's gaze movement path. Multiple means combined create stronger hierarchy than any single means alone
25
+ - [L2] Gestalt Principles = principles about how humans perceive visual elements as groups. Six principles: Proximity (closer = related), Similarity (visually alike = related), Continuity (aligned = related), Closure (incomplete shapes perceived as whole), Figure-Ground (separation of foreground from background), Common Fate (elements moving together = related). Wertheimer (1923), formalized by Koffka (1935)
26
+ - [L2] CRAP Principles = Contrast, Repetition, Alignment, Proximity. Four layout principles for non-designers organized by Robin Williams ("The Non-Designer's Design Book," 1994). Overlap with Gestalt is intentional — CRAP operationalizes Gestalt for layout decisions
27
+ - [L2] Negative Space (whitespace) = empty areas where no design elements are placed. When used intentionally, it serves as visual breathing room, element relationship clarification, and gaze guidance. Not "empty" but "intentionally left empty." Active whitespace (deliberately placed for emphasis) vs passive whitespace (natural margins)
28
+ - [L2] Golden Ratio (1:1.618) = a ratio observed in nature and classical art (phi, Fibonacci). Used as a reference point for visual balance in layout, type scale, and image composition. Not a universal rule — empirical support is mixed, but a useful starting point
29
+ - [L2] Rule of Thirds = a composition technique where the screen is divided into 3 equal horizontal and vertical sections, placing key elements at intersection points. Derived from photography and painting; in UI, it guides hero section composition and landing page focal points
30
+ - [L2] Visual Weight = the perceived importance or dominance of an element. Determined by size, color saturation, contrast with surroundings, complexity, and isolation. Larger, darker, more saturated, more complex, and more isolated elements carry more visual weight
31
+ - [L2] F-pattern / Z-pattern = empirical gaze movement patterns. F-pattern: text-heavy pages scanned top→left→down (Nielsen, 2006 eye-tracking study). Z-pattern: image-heavy pages scanned top-left→top-right→bottom-left→bottom-right. Layout should place critical information along these paths
32
+
33
+ ## Typography Core Terms
34
+
35
+ - [L2] Typeface = the entire family of characters designed under the same design principles. Helvetica, Noto Sans, Source Han Sans. Typeface is the "design"; font is the specific "file" or "instance"
36
+ - [L2] Font = a specific weight, style, and size combination of a typeface. Helvetica Bold 16px is one font. In digital design, the distinction has blurred — "font" is colloquially used for both
37
+ - [L2] Type Scale = a size step system generated by applying a ratio to the body size as the base. Common ratios: Minor Third (1.2), Major Third (1.25), Perfect Fourth (1.333), Golden Ratio (1.618). Chosen ratio affects visual rhythm — tighter ratios for compact interfaces, wider ratios for dramatic hierarchy
38
+ - [L2] Line-height (leading) = the vertical spacing between text baselines. Body text at 1.4~1.6× and headings at 1.1~1.3× are general readability standards. Too tight causes line collision; too loose breaks inter-line cohesion
39
+ - [L2] Letter-spacing (tracking) = the uniform horizontal spacing adjustment across entire text. Distinct from kerning (specific character pairs). Headings often benefit from tighter tracking; small/uppercase text from wider tracking
40
+ - [L2] Readability = the degree of comfort in reading a block of text. Affected by line-height, measure (line length), alignment, foreground-background contrast, and surrounding whitespace. A property of text blocks, not individual characters
41
+ - [L2] Legibility = the degree to which individual characters can be distinguished and recognized. Affected by typeface characteristics: x-height (proportion of lowercase to uppercase), counter (enclosed space in letters like 'o', 'e'), stroke contrast. A property of the typeface design itself
42
+ - [L2] Measure (line length) = the width of a single line of text. Optimal readability range: 45~75 characters for English, 25~35 characters for Korean/CJK. Too long: eye loses track of next line. Too short: excessive line breaks disrupt reading
43
+ - [L1] Variable Font = a single font file containing multiple axes of variation (weight, width, slant, optical size). W3C OpenType specification 1.8 (2016). Reduces file count and enables fluid interpolation between styles. Axes: `wght`, `wdth`, `ital`, `slnt`, `opsz`
44
+ - [L2] Optical Size = adjusting letterform details based on display size. Small sizes: larger x-height, wider counters, heavier strokes for legibility. Large sizes: finer strokes, tighter spacing for elegance. Variable font `opsz` axis automates this
45
+
46
+ ## Color Core Terms
47
+
48
+ - [L2] Color Wheel = a tool representing color relationships in a circular format. Basis for harmony: complementary (opposite), analogous (adjacent), triadic (equilateral triangle), split-complementary (one base + two adjacent to its complement). Newton (1666); Itten's 12-hue wheel (1961)
49
+ - [L1] Color Space = a mathematical model defining a range of representable colors. sRGB (standard web, 8-bit per channel), Display P3 (wider gamut, Apple devices since 2016), Adobe RGB (print/photography). Specifying color space prevents cross-device color shift. ICC profiles standardize conversion
50
+ - [L2] Hue = the type of color (red, blue, yellow). Position on the color wheel, measured in degrees (0°=red, 120°=green, 240°=blue in HSL)
51
+ - [L2] Saturation = the vividness of a color. 100% = pure hue; 0% = neutral gray. High saturation for accents; low saturation for backgrounds and large areas
52
+ - [L2] Lightness/Value = the brightness of a color. 100% = white; 0% = black. Controls visual weight and hierarchy. Lightness steps must be perceptually even (not mathematically even)
53
+ - [L1] Contrast Ratio = the relative luminance difference between foreground and background colors, calculated per WCAG 2.x formula. Criteria: normal text 4.5:1 (AA), 7:1 (AAA); large text (18px+ or 14px bold+) 3:1 (AA), 4.5:1 (AAA); UI components and graphical objects 3:1 (WCAG 2.1 SC 1.4.11)
54
+ <!-- derived-from: WCAG 2.2, SC 1.4.3, 1.4.6, 1.4.11 -->
55
+ - [L2] Semantic Color = colors with functional meaning assigned. success (green), error (red), warning (yellow/amber), info (blue). Named by meaning, not raw value. Semantic colors decouple visual intent from specific hue — enabling theme switching
56
+ - [L3] Color Token = a variable that abstracts color values into a design system. Two-layer minimum: Primitive (blue-500, gray-100) and Semantic (color-error, color-surface-primary). Three-layer with Component tokens (button-bg-primary). See structure_spec.md §Token Layer Structure
57
+ - [L2] 60-30-10 Rule = empirical color ratio: dominant 60% (backgrounds, large surfaces), secondary 30% (supporting elements), accent 10% (CTAs, highlights). Maintains visual balance and clear hierarchy. Not a rigid formula — proportions vary by context
58
+ - [L2] Tonal Palette = a set of lightness/darkness variations of a single hue. Material Design 3 generates tonal palettes algorithmically from a key color. Used for maintaining harmony across light/dark themes while preserving contrast
59
+
60
+ ## Layout Core Terms
61
+
62
+ - [L2] Grid System = a structural framework for aligning and placing content. Composed of columns, gutters, and margins. Purpose: consistent alignment, predictable content placement, scalable layouts
63
+ - [L2] Column Grid = a grid dividing the screen into vertical columns. 12-column grid is versatile (divisible by 2, 3, 4, 6). 4-column for mobile, 8-column for tablet, 12-column for desktop
64
+ - [L2] Modular Grid = a grid combining vertical columns and horizontal rows to create modules. More rigid than column grids; useful for image-heavy layouts and dashboards
65
+ - [L2] Gutter = the spacing between columns. Provides visual separation. Gutter width must be less than margin width — otherwise content blocks appear more separated from each other than from the page edge
66
+ - [L2] Breakpoint = the viewport width threshold at which layout changes. Content-driven, not device-driven — breakpoints should be where the layout breaks, not where a specific device starts
67
+ - [L2] Responsive Design = a design approach where layout fluidly adapts to viewport size using flexible grids and media queries. Ethan Marcotte (2010). Same content structure, different visual presentation
68
+ - [L2] Adaptive Design = a design approach where layout discretely switches at pre-defined breakpoints. Distinct layouts per range rather than fluid scaling
69
+ - [L2] Baseline Grid = a horizontal grid based on the line-height of body text. All vertical spacing aligns to multiples of this baseline. Creates vertical rhythm — a sense of visual order across the page
70
+ - [L2] Spatial System = a comprehensive spacing scale derived from a base unit (typically 4px or 8px). Defines all permissible spacing values: 4, 8, 12, 16, 24, 32, 48, 64, 96px. Values outside the scale are prohibited without documented exception
71
+
72
+ ## Design System Core Terms
73
+
74
+ - [L3] Design Token = atomic named value storing a design decision. Jina Anne (Salesforce Lightning, 2014). Encodes color, spacing, typography, shadow, border-radius, z-index, motion as platform-agnostic key-value pairs. Single update propagates everywhere
75
+ - [L3] Primitive Token = lowest-level token expressing the value itself as its name. Example: `blue-500`, `spacing-16`, `shadow-sm`. Raw palette values without contextual meaning
76
+ - [L3] Semantic Token = token expressing usage/meaning as its name. Example: `color-primary`, `color-error`, `spacing-component-gap`. References a primitive token. Enables theme switching by remapping semantic→primitive references
77
+ - [L3] Component Token = token limited to a specific component. Example: `button-bg-primary`, `input-border-focus`. References a semantic token. Provides component-level overrides without breaking the global system
78
+ - [L2] Atomic Design = Brad Frost's 5-layer component composition methodology (2013). Atom (button, icon, label) → Molecule (search bar, form field) → Organism (header, card list) → Template (page layout) → Page (actual content). Provides a shared vocabulary for component granularity
79
+ - [L2] Variant = a visual/functional variation of the same component. Axes of variation: Size (small/medium/large), Style (primary/secondary/ghost/destructive), State (default/hover/active/disabled). Each variant must be documented with usage criteria
80
+ - [L3] Design System Governance = procedures for adding, changing, and deprecating tokens/components. Includes contribution model, review process, version management (semantic versioning for breaking changes), and adoption tracking
81
+ - [L3] Figma Component = Figma's implementation of reusable design elements. Variants panel, auto-layout, component properties. Tool-specific — not identical to code components. Synchronization frequency and acceptable discrepancy range between Figma and code must be defined
82
+ - [L2] Design System Maturity = L1 style guide → L2 pattern library → L3 full system (tokens, governance) → L4 infrastructure (tooling, metrics, automated enforcement). Most organizations plateau at L2
83
+
84
+ ## Accessibility Core Terms
85
+
86
+ <!-- derived-from: WCAG 2.2, SC 1.4.1, 1.4.3, 1.4.6, 1.4.11 -->
87
+ - [L1] WCAG = Web Content Accessibility Guidelines, published by W3C. Version 2.2 (2023). Three conformance levels: Level A (minimum), AA (standard target), AAA (enhanced). Four principles: Perceivable, Operable, Understandable, Robust (POUR)
88
+ - [L1] Perceivable = the first WCAG principle. Information and interface elements must be presentable to users in ways they can perceive. Visual design implications: sufficient contrast, text alternatives for images, information not conveyed by color alone
89
+ - [L1] Color Blindness Accommodation = designing for color vision deficiency. Protanopia/deuteranopia (red-green, ~8% of males), tritanopia (blue-yellow, rare). Information must not be conveyed by color alone (WCAG 1.4.1). Supplementary means: shape, pattern, text, icon, position
90
+ - [L1] Focus Indicator = visual device indicating the currently focused element during keyboard navigation. Minimum: 2px solid outline with 3:1 contrast ratio against adjacent colors. WCAG 2.4.7 (AA) requires visible focus; WCAG 2.4.11/2.4.12 (AA/AAA in 2.2) specify minimum area and contrast
91
+ - [L1] Alt Text = text description of an image's content for screen readers. Decorative images use empty alt (`alt=""`). Informative images describe the content. Complex images (charts, diagrams) use long description
92
+ - [L1] prefers-reduced-motion = CSS media query respecting user's OS-level motion reduction setting. WCAG 2.3.3 (AAA) recommends; practical standard is to support it at AA level. All non-essential motion should be suppressed when active
93
+ - [L2] Perceptual Uniformity = ensuring that equal numerical steps in a color scale produce equal perceived differences. CIE LAB and OKLCH color spaces are perceptually uniform; sRGB is not. A 10-step gray ramp in sRGB looks uneven; in OKLCH it looks evenly spaced
94
+
95
+ ## Brand Identity Core Terms
96
+
97
+ - [L2] Brand Identity = the totality of visual and verbal expressions that a brand intentionally constructs. Logo, colors, typefaces, tone and manner, image style, motion style. Distinct from brand image (how the audience perceives the brand)
98
+ - [L2] Logo = the visual symbol representing a brand. Types: wordmark (letter-based, e.g., Google), symbol/icon (shape-based, e.g., Apple), combination mark (letters + shape, e.g., Adidas), emblem (text inside symbol, e.g., Starbucks). Each type has different scalability and recognition characteristics
99
+ - [L2] Clear Space = the minimum margin around a logo that other elements cannot encroach upon. Defined by the logo's own proportions (e.g., the height of the letter 'A' in the logo). Ensures visual isolation and recognition
100
+ - [L2] Tone and Manner = the visual and verbal tone and atmosphere of a brand. Defined by adjective pairs: "professional and warm," "bold and innovative," "minimal and precise." Constrains typeface, color, image, and motion choices
101
+ - [L2] Style Guide = a document recording usage rules for brand visual elements. Narrower scope than a design system (limited to brand elements). Covers: logo usage, color palette, typography, image style, do/don't examples
102
+ - [L2] Brand Architecture = the organizational structure of brands within a company. Monolithic (one brand, e.g., FedEx), endorsed (parent endorses sub-brands, e.g., Marriott), pluralistic (independent brands, e.g., P&G). Determines how visual systems relate across products
103
+ - [L2] Co-branding = visual rules when two brands appear together. Requires: relative size, placement priority, clear space preservation, color conflict resolution. Without pre-defined rules, co-branding produces inconsistent visual hierarchies
104
+
105
+ ## Motion Core Terms
106
+
107
+ - [L2] Easing = the speed change curve of an animation. Standard functions: ease-in (starts slow — for exit), ease-out (ends slow — for entrance), ease-in-out (slow on both ends — for repositioning). Linear easing feels mechanical and is appropriate only for looping/progress indicators
108
+ - [L2] Duration = the time an animation runs. Ranges by complexity: micro-feedback (100~200ms), state transitions (200~300ms), element entrance/exit (200~400ms), complex layout changes (400~700ms). Duration > 700ms feels sluggish for UI
109
+ - [L2] Micro-interaction = immediate visual feedback for a single action. Button press, toggle switch, input confirmation. Dan Saffer's framework (2013): Trigger → Rules → Feedback → Loops/Modes
110
+ - [L2] Transition = visual change from one state to another. Page transitions, modal appearance, layout changes. Must convey spatial or logical relationship between states
111
+ - [L2] Choreography = coordinating multiple animated elements to create a coherent sequence. Staggered entry (elements appear sequentially with 30~50ms offset), shared axis (elements moving in same direction), focal point (attention drawn to one element first). More than 2 simultaneous animations increase cognitive load
112
+ - [L2] Motion Semantics = the meaning conveyed by motion type. Expansion = revealing content, collapse = hiding, slide-in = new context arriving, fade = subtle appearance/disappearance. Inconsistent motion semantics confuse users about what is happening
113
+
114
+ ## Homonyms Requiring Attention
115
+
116
+ - "style": CSS style (code implementation) != visual style (design intent) != brand style (tone and manner). Default: design intent
117
+ - "component": design component (reusable element in Figma) != code component (React/Vue/Swift implementation unit). 1:1 correspondence is not guaranteed; synchronization is a managed process, not an assumption
118
+ - "token": design token (abstract value of visual properties) != authentication token (security) != language token (NLP). Default in this domain: design token
119
+ - "hierarchy": visual hierarchy (information importance) != component hierarchy (Atomic Design levels) != token hierarchy (primitive/semantic/component). Qualify on first use
120
+ - "grid": layout grid (page structure) != icon grid (icon design keyline) != data grid (table-format UI). Default: layout grid
121
+ - "theme": color theme (light/dark mode) != brand theme (brand-specific visual variations) != seasonal theme (time-limited visual changes). Default: color theme
122
+ - "consistency": visual consistency (same expression for same meaning) != functional consistency (same behavior for same pattern) != platform consistency (OS convention adherence). See domain_scope.md §Cross-Cutting Concerns
123
+ - "contrast": contrast ratio (WCAG accessibility metric, L1) != visual contrast (emphasizing differences as a design principle, L2). Both valid within this domain; qualify when ambiguous
124
+ - "scale": type scale (size steps) != scale (zoom level) != scale (size/magnitude). Default: type scale
125
+ - "weight": font weight (boldness) != visual weight (perceived dominance of an element). Default: font weight
126
+
127
+ ## Interpretation Principles
128
+
129
+ - "Beautiful" is not a design quality criterion. Visual design quality is judged by whether the intended purpose (information delivery, action guidance, brand communication) is achieved. Aesthetic-usability effect (Tractinsky, 1997): users perceive attractive interfaces as more usable, but this perception can mask real problems
130
+ - Accessibility is not optional but a baseline requirement. A design that does not meet WCAG AA is not a complete design. This is both an ethical principle and, in many jurisdictions, a legal requirement
131
+ - In the 3-layer design token hierarchy (primitive → semantic → component), upper layers must reference lower layers. Semantic tokens directly containing hardcoded values make theme switching impossible and consistency maintenance intractable
132
+ - Typeface selection is a functional decision, not a sensory one. It is constrained by medium (screen/print), content type (body/headings/code), target users (age/language), and licensing. "It looks nice" is insufficient rationale
133
+ - Design tool (Figma) components and code components are synchronization targets, not identical objects. The acceptable range of discrepancy and synchronization frequency must be defined. Neither is inherently the source of truth — the design system documentation is
134
+ - A design without visual hierarchy is equivalent to asserting "everything is important." If everything is important, nothing is important. Visual hierarchy must be a deliberate, documented decision
135
+ - Motion/animation is information, not decoration. Motion that does not convey state change, spatial relationship, or feedback only increases cognitive load and harms users with vestibular disorders
136
+ - Meaning must not be conveyed by color alone (WCAG 1.4.1). Red-green color blind users (~8% of males) may not distinguish error (red) from success (green). Supplementary means — shape, text, icons, position — must always accompany color-based meaning
137
+ - Perceptual uniformity matters more than mathematical uniformity. Color ramps, spacing scales, and type scales should produce perceptually even steps, which requires non-linear mathematical intervals
138
+ - Consistency is a means, not an end. Consistency reduces learning cost and builds trust. But forcing consistency where context requires different treatment creates false uniformity — the worst kind of inconsistency is consistent misapplication
139
+
140
+ ## Related Documents
141
+ - domain_scope.md — Domain definition, normative tier classification, cross-cutting concerns
142
+ - domain_scope.md §Relationship Between Tier and Abstraction Layer — Tier × L matrix
143
+ - logic_rules.md — Color logic, typography logic, accessibility rules, constraint conflict checks
144
+ - structure_spec.md — Token layers, component layers, visual design system structural requirements
145
+ - dependency_rules.md — Token–component, brand–visual system, color–accessibility dependency chains
146
+ - competency_qs.md — Competency questions referencing terms defined here
147
+ - conciseness_rules.md — Deduplication rules using synonym mappings from this file
@@ -0,0 +1,186 @@
1
+ ---
2
+ version: 2
3
+ last_updated: "2026-04-16"
4
+ source: manual
5
+ status: established
6
+ ---
7
+
8
+ # Conciseness Rules (visual-design)
9
+
10
+ This document contains the domain-specific rules that conciseness references during conciseness verification.
11
+ It is organized in the order of **type (allow/remove) → verification criteria → role boundaries → measurement method**.
12
+
13
+ ---
14
+
15
+ ## 1. Allowed Duplication
16
+
17
+ Each rule is tagged with a strength level:
18
+ - **[MUST-ALLOW]**: Duplication that breaks the system if removed. Must be retained.
19
+ - **[MAY-ALLOW]**: Duplication retained for convenience. Can be consolidated, but only remove when the benefit clearly outweighs the consolidation cost.
20
+
21
+ ### Dark Mode / Themes
22
+
23
+ - [MUST-ALLOW] Dual semantic token definitions for light mode and dark mode — The same semantic name (e.g., `color-surface-primary`) references different primitive tokens in light/dark contexts. Consolidating into one makes theme switching impossible. (structure_spec.md §Token Layer Structure)
24
+ - [MUST-ALLOW] Token redefinition per brand theme — In a multi-brand system, the same semantic token references different primitive values for each brand. A necessary condition for visual independence between brands. (dependency_rules.md §Token–Component Dependency)
25
+
26
+ ### Typography + Grid Integration
27
+
28
+ - [MUST-ALLOW] Typography scale and grid spacing system each re-referencing the same base unit (e.g., 8px) — Typography line-height/size and grid gutter/margin share the same base unit, but must be independently defined. Consolidating causes layout to unintentionally change when typography changes. (dependency_rules.md §Typography–Layout Dependency)
29
+ - [MAY-ALLOW] Typography scale redefinition per responsive breakpoint — Defining separate size steps per viewport is allowed when the purpose is readability maintenance. Steps with no difference between breakpoints can be consolidated. (structure_spec.md §Responsive Structure)
30
+
31
+ ### Source of Truth Related
32
+
33
+ - [MUST-ALLOW] Design tool (Figma) components and code components each maintaining the same visual specification — Both are implementations of the design system documentation; both must independently maintain specifications. Synchronization frequency must be separately defined. (dependency_rules.md §Design Tool–Code Dependency)
34
+ - [MAY-ALLOW] Style guide (brand) and design system (product) each describing the same colors/typefaces — Brand style guides target all media (print, digital, environmental) while design systems are limited to digital products. If scopes are identical, consolidate by having one reference the other. (dependency_rules.md §Brand–Visual System Dependency)
35
+
36
+ ### Accessibility
37
+
38
+ - [MUST-ALLOW] Accessibility criteria (contrast ratio, focus indicator) repeated in both the color system and component specifications — Color system verifies palette-level suitability; component specifications verify per-state contrast for individual components. Verification targets differ. (domain_scope.md §Cross-Cutting Concerns, Accessibility Conformance)
39
+ - [MUST-ALLOW] Supplementary means definitions per semantic color and per component — The semantic color definition says "error uses icon + text"; the component specification says "input error state shows exclamation icon + red border + error message." Both are needed — one defines the principle, the other the implementation. (dependency_rules.md §Color–Accessibility Dependency)
40
+
41
+ ### Cross-Concern Appearances
42
+
43
+ - [MAY-ALLOW] Responsive rules across concern areas — Mobile adaptations (type scale changes, grid column changes, icon size changes) described in respective areas. Common principles defined once in domain_scope.md §Key Sub-Areas; each area adds its specific adaptation. (structure_spec.md §Responsive Structure)
44
+ - [MAY-ALLOW] Brand alignment rules in both brand identity section and individual element sections — Brand identity defines the overall constraints; individual elements (typography, color, icon) add their specific alignment rules. Primary definition in brand identity; others reference without duplicating values.
45
+
46
+ ### Tier-Level Duplication
47
+
48
+ - [MUST-ALLOW] Same visual rule at different tiers — e.g., "4.5:1 contrast" in WCAG 2.2 (Tier-1a) and design system token contrast requirements (Tier-2). Tier-1a = legal baseline; Tier-2 = implementation spec. Removing either leaves a gap. (domain_scope.md §Normative System Classification)
49
+ - [MAY-ALLOW] Tier-3 heuristic and Tier-2 design system rule expressing the same principle — retain both if Tier-2 adds specificity; consolidate if Tier-2 merely quotes Tier-3. Example: "60-30-10 rule" (Tier-3) and token-level color ratio enforcement (Tier-2). Retain both only if Tier-2 adds operational specificity.
50
+
51
+ ---
52
+
53
+ ## 2. Removal Target Patterns
54
+
55
+ Each rule is tagged with a strength level:
56
+ - **[MUST-REMOVE]**: Duplication whose existence causes errors or incorrect reasoning.
57
+ - **[SHOULD-REMOVE]**: Duplication that is not significantly harmful but adds unnecessary complexity.
58
+
59
+ ### Token Layer Duplication
60
+
61
+ - [MUST-REMOVE] Intermediate layers between primitive → semantic → component tokens that simply pass through without adding functional difference — Example: `blue-500` → `color-brand-blue` → `button-color-brand`. If `color-brand-blue` adds no semantic meaning beyond `blue-500`, remove it. Pass-through layers add update omission risk. (structure_spec.md §Token Layer Structure)
62
+ - [SHOULD-REMOVE] Semantic tokens and component tokens in 1:1 correspondence with identical values — When directly referencing the semantic token would suffice, a separate component token only adds unnecessary indirection. Retain only if the component may override the semantic value in a future theme.
63
+
64
+ ### Brand and Accessibility Unseparated
65
+
66
+ - [MUST-REMOVE] Brand color definitions and accessibility contrast requirements mixed in a single specification — Brand colors are marketing/identity decisions; accessibility contrast is a perceivability requirement. When mixed, brand color changes may bypass accessibility verification. Separate into distinct systems and cross-verify. (logic_rules.md §Constraint Conflict Checks)
67
+ - [SHOULD-REMOVE] Accessibility criteria embedded only within the color system with no independent verification — Accessibility spans typography (minimum size), motion (reduced-motion), focus indicators, and icons, not just color. Subordinating to color causes omissions in other areas. (domain_scope.md §Cross-Cutting Concerns)
68
+
69
+ ### Relationship Duplication
70
+
71
+ - [MUST-REMOVE] Multiple path definitions of the same visual property — If a component's background is defined through both a token reference and a hardcoded value, changing the token creates inconsistency. Maintain only one path. (dependency_rules.md §Token–Component Dependency)
72
+ - [MUST-REMOVE] Redundant re-declarations of visual properties already guaranteed by parent component — If a card defines `border-radius: 8px`, internal content areas do not need to re-declare the same value. (logic_rules.md §Component Logic)
73
+
74
+ ### Classification Duplication
75
+
76
+ - [SHOULD-REMOVE] Component variants with only 1 instance — If there is only 1 variant, it has no classification significance and should be merged into the default. Retention possible if future extension is explicitly planned in extension_cases.md. (structure_spec.md §Component Layer Structure)
77
+ - [SHOULD-REMOVE] Different name definitions for the same visual expression — Based on synonym mapping in concepts.md §Homonyms, if `card-shadow` and `elevation-1` are the same shadow value, consolidate into one canonical token. (concepts.md §Homonyms Requiring Attention)
78
+
79
+ ### Definition Duplication
80
+
81
+ - [MUST-REMOVE] Duplicate definitions of the same visual element under different paths/names — Determined by the synonym mapping in concepts.md. Canonical term is the one in the design system documentation; others are aliases to be removed.
82
+ - [SHOULD-REMOVE] The same accessibility verification logic copied across multiple component specifications — Extract into common accessibility verification criteria in structure_spec.md §Required Relationships. (structure_spec.md §Required Relationships)
83
+
84
+ ### Design System Redundancy
85
+
86
+ - [MUST-REMOVE] Outdated component documentation alongside current version without deprecation marking — Mark with deprecation notice, sunset date, migration path. Undeprecated old docs cause implementers to build against the wrong spec. (extension_cases.md §Case 10)
87
+ - [SHOULD-REMOVE] Token aliases adding no semantic value — `color-brand-primary` → `color-blue-500` with no contextual meaning is pure indirection. Retain only if enabling theme switching or context-specific overrides.
88
+
89
+ ---
90
+
91
+ ## 3. Minimum Granularity Criteria
92
+
93
+ A sub-classification is allowed only if it satisfies **one or more** of the following. If none are satisfied, merge with the parent.
94
+
95
+ 1. **Competency question difference**: Does it produce a different answer to a question in competency_qs.md? (11 CQ sections: CQ-VH, CQ-T, CQ-C, CQ-GL, CQ-II, CQ-DS, CQ-AC, CQ-BI, CQ-MO, CQ-SOT, CQ-CO)
96
+ 2. **Constraint difference**: Do different constraints (contrast ratio, minimum size, ratio, usage context) apply?
97
+ 3. **Dependency difference**: Does it depend on different tokens/components/systems, or do different tokens/components/systems depend on it?
98
+
99
+ Examples:
100
+ - `button-primary` and `button-secondary` have different color tokens and visual hierarchy → classification justified.
101
+ - If `icon-small` and `icon-compact` are the same size (16px) and use the same grid → merge candidates.
102
+ - `color-error` and `color-destructive` both resolve to the same red and serve the same meaning → merge to canonical name.
103
+
104
+ Anti-examples:
105
+ - "Dark-mode-blue-500" vs "Light-mode-blue-500" differing only in context — context separation is a theme mechanism, not a classification axis.
106
+ - Variants differing only by a single token value (e.g., button color) — may be one variant with a color prop rather than separate classifications.
107
+
108
+ ---
109
+
110
+ ## 4. Boundaries — Domain-Specific Application Cases
111
+
112
+ The authoritative source for boundary definitions is `roles/conciseness.md`. This section describes only the specific application cases in the visual-design domain.
113
+
114
+ ### pragmatics Boundary
115
+
116
+ - conciseness: Does an unnecessary element **exist**? (structural level)
117
+ - pragmatics: Does unnecessary information **impede** query execution? (execution level)
118
+ - Example: An unused variant is included in a component specification → conciseness. Too many variants make it difficult for designers to select the correct one → pragmatics.
119
+
120
+ ### coverage Boundary
121
+
122
+ - conciseness: Is there something that should not be there? (reduction direction)
123
+ - coverage: Is there something missing that should be there? (expansion direction)
124
+ - Example: A color system and typography exist but a spacing system is not defined → coverage. The spacing system has the same value duplicately defined under different names → conciseness.
125
+
126
+ ### logic Boundary (preceding/following relationship)
127
+
128
+ - logic precedes: Determines logical equivalence (implication)
129
+ - conciseness follows: Decides whether to remove after equivalence is confirmed
130
+ - Example: A parent component's `border-radius` implies a child element's `border-radius` → logic determines equivalence → conciseness determines "child re-declaration unnecessary."
131
+
132
+ ### semantics Boundary (preceding/following relationship)
133
+
134
+ - semantics precedes: Determines semantic identity (synonym status)
135
+ - conciseness follows: Decides whether merging is needed after synonym is confirmed
136
+ - Example: `elevation-1` and `card-shadow` are the same visual effect → semantics determines synonym → conciseness determines "consolidate into one canonical token."
137
+
138
+ ### structure Boundary
139
+
140
+ - structure: Does the element conform to structural rules? (structure_spec.md §Token Layer Structure, §Component Layer Structure)
141
+ - conciseness: Is the element duplicated or unnecessary given the structure?
142
+ - Example: Token bypassing the semantic layer to directly reference a primitive → structure violation. Token duplicating another token's value → conciseness.
143
+
144
+ ---
145
+
146
+ ## 5. Quantitative Criteria
147
+
148
+ Domain-observed thresholds for conciseness judgment. Each threshold is a review signal, not an automatic removal trigger. **Conciseness judgment only** — behavioral thresholds → logic_rules.md; structural thresholds → structure_spec.md.
149
+
150
+ ### Token System Thresholds
151
+
152
+ - **Token alias depth**: Token chain >3 levels → review for unnecessary indirection. Each level must add semantic meaning; pass-through aliases are removal targets. (structure_spec.md §Token Layer Structure)
153
+ - **Primitive token count per hue**: >12 steps per single hue → review for over-granulation. Most systems function well with 8~10 steps. Exception: tonal palette systems (Material Design 3) may use 13 steps by design.
154
+ - **Unused token ratio**: If >20% of defined tokens are unreferenced by any component → review for cleanup. Unreferenced tokens accumulate through incremental changes without corresponding cleanup.
155
+
156
+ ### Component Thresholds
157
+
158
+ - **Component variant count**: >7 variants with overlapping props → review for split or consolidation. Conciseness signal, not structural rule. (logic_rules.md §Component Logic)
159
+ - **Single-instance variants**: Variant with exactly 1 use instance for >1 review cycle → merge with default or parent variant.
160
+
161
+ ### Pattern Repetition Thresholds
162
+
163
+ - **Visual property repetition**: Same hardcoded value (not token) in 3+ components → extract into a token. Two copies may be coincidental; three almost certainly share one definition.
164
+ - **State definition repetition**: Same state visual treatment identical across 3+ components → extract into a shared state definition.
165
+
166
+ ### Cross-Tier Duplication Thresholds
167
+
168
+ - **Tier-rule overlap**: Tier-2 and Tier-3 expressing same constraint at same specificity → consolidate to Tier-2. Retain both only when Tier-2 adds operational specificity beyond Tier-3. (domain_scope.md §Normative System Classification)
169
+ - **L-layer duplication**: Same concept at [L2] and [L3] without [L3] adding tool/practice-specific detail → merge into [L2]. (concepts.md §Abstraction Layer Reference)
170
+
171
+ ### Review Output Conciseness
172
+
173
+ - **Finding deduplication**: 3+ findings citing same root cause → consolidate into 1 finding with root cause + affected locations.
174
+ - **Cross-file finding deduplication**: Issue flagged by both conciseness and a preceding agent → defer to preceding agent's finding; add only the removal recommendation.
175
+
176
+ ---
177
+
178
+ ## Related Documents
179
+
180
+ - `concepts.md` — §Homonyms Requiring Attention (synonym mappings), §Design System Core Terms (token hierarchy), §Abstraction Layer Reference ([L1]/[L2]/[L3])
181
+ - `structure_spec.md` — §Token Layer Structure, §Component Layer Structure, §State System, §Isolated Node Prohibition, §Required Relationships
182
+ - `competency_qs.md` — CQ-ID sections for minimum granularity judgment
183
+ - `domain_scope.md` — §Key Sub-Areas, §Normative System Classification (Tier system), §Cross-Cutting Concerns
184
+ - `logic_rules.md` — §Component Logic, §Color Logic, §Constraint Conflict Checks
185
+ - `dependency_rules.md` — §Token–Component Dependency, §Brand–Visual System Dependency, §Design Tool–Code Dependency
186
+ - `extension_cases.md` — Cases 9, 10 (shrinkage scenarios relevant to removal targets)