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,194 @@
1
+ ---
2
+ version: 2
3
+ last_updated: "2026-03-31"
4
+ source: manual
5
+ status: established
6
+ ---
7
+
8
+ # UI Design Domain — Concept Dictionary and Interpretation Rules
9
+
10
+ Classification axis: **UI design concern** — classified by the design concern each term addresses. Each term is tagged with its abstraction layer: [L1] Platform/Standard, [L2] Pattern/Principle, [L3] Domain/Practice.
11
+
12
+ ## Abstraction Layer Reference
13
+
14
+ - **[L1] Platform/Standard**: Elements provided by browser/OS/device and defined in standard specifications (W3C, WCAG, WAI-ARIA). Exist as built-in capabilities regardless of design methodology.
15
+ - **[L2] Pattern/Principle**: Design principles and recurring solutions applied by convention. No technical enforcement — adherence depends on design review and team discipline.
16
+ - **[L3] Domain/Practice**: Terms belonging to specific UI design sub-disciplines (design systems, performance, micro-interactions).
17
+
18
+ **[L1]/[L2] boundary**: Browser/OS/device enforces or W3C/ISO defines → [L1]. Applied by convention without enforcement → [L2]. When a spec defines capability (L1) but effective use requires a pattern, both layers noted.
19
+
20
+ **SE layer difference**: SE [L1] = Language/Runtime primitives. UI [L1] = Platform/Standard capabilities. L2 and L3 share meaning across both domains.
21
+
22
+ **Tier × L relationship**: Normative tiers (domain_scope.md [Tier-1a/1b/2/3]) and abstraction layers ([L1/L2/L3]) are independently defined. Not all combinations are valid — Tier-1a/1b map primarily to L1; Tier-3 (heuristics) does not produce L1 terms. Two axes: normative authority vs. abstraction level.
23
+
24
+ ## Usability Principle Core Terms
25
+
26
+ - [L2] Usability = effectiveness, efficiency, and satisfaction with which users achieve goals. ISO 9241-11 (1998, rev. 2018). Three components measured independently. See logic_rules.md §Constraint Conflict Checks
27
+ - [L2] Affordance = a property suggesting possible actions. Gibson (1977); applied to UI by Norman (1988). Norman distinguished affordance (actual possibility) from signifier (its indication)
28
+ - [L2] Signifier = explicit cue communicating affordance. Norman (2013). Underlined blue text signifies "clickable." Without signifiers, users cannot discover actions. See logic_rules.md §Action Guidance Logic
29
+ - [L2] Mental Model = user's internal understanding of how a system works. Three models: designer's model, system image, user's model (Norman). Mismatches are the root cause of usability problems
30
+ - [L2] Cognitive Load = information processing demand on working memory. Sweller (1988). Three types: intrinsic (task complexity — irreducible), extraneous (poor design — primary optimization target), germane (learning — beneficial). See logic_rules.md §Information Density vs Cognitive Load
31
+ - [L2] Progressive Disclosure = revealing information gradually by user need. Carroll & Rosson (1984). Manages cognitive load but can harm discoverability if over-applied
32
+ - [L2] Discoverability = degree to which users can find features on their own. Norman (2013, "The Design of Everyday Things" revised edition) identifies discoverability as a fundamental property of good design. In tension with progressive disclosure. See structure_spec.md §Navigation Structure
33
+ - [L2] Hick's Law = decision time increases logarithmically with choices. Hick & Hyman (1952). Does not apply when users already know their target. See logic_rules.md §Navigation Logic
34
+ - [L2] Miller's Law = working memory holds ~7 ± 2 items. Miller (1956). Applies when users hold items simultaneously — scanned navigation items are not subject. See structure_spec.md §Navigation Structure
35
+ - [L2] Jakob's Law = users expect your site to work like others they know. Nielsen. Foundation for convention consistency. Deviation requires clear user benefit. See domain_scope.md §Cross-Cutting Concerns
36
+ - [L2] Fitts's Law = time to reach a target is f(distance, size). Fitts (1954). Frequent actions → large and close; destructive → far from primary. Touch minimum: 44×44 CSS px (WCAG 2.5.5). See logic_rules.md §Fitts's Law Application
37
+
38
+ ## Navigation Core Terms
39
+
40
+ - [L2] Information Architecture (IA) = design of content organization, classification, labeling, and navigation. Wurman coined the term (1976); Morville & Rosenfeld formalized the four-system model (organization, labeling, navigation, search) in "Information Architecture for the World Wide Web" (1998, 2nd ed. 2002, 3rd ed. 2006). See structure_spec.md §Navigation Structure
41
+ - [L1] Global Navigation = top-level navigation accessible throughout the app (top bar, sidebar, bottom tab). Browser back/forward is platform [L1]; app-level global nav is [L2] coexisting with it. See structure_spec.md §Navigation Structure
42
+ - [L2] Local Navigation = sub-navigation within a section (tabs, segment controls, submenus). Must maintain clear relationship to global navigation
43
+ - [L1] Breadcrumb = secondary navigation showing hierarchical path. WAI-ARIA Authoring Practices pattern (`nav` + `aria-label="Breadcrumb"`). Effective for 3+ depth levels
44
+ - [L2] Wayfinding = recognizing location, finding destination, determining path. Kevin Lynch (1960). Users answer: "Where am I?", "Where can I go?", "How do I get there?"
45
+ - [L1] Deep Linking = URL/path for direct access to a specific screen or state. Platform capability (browser/OS routing). Essential for shareability and SEO. See dependency_rules.md §Navigation–URL References
46
+ - [L2] Navigation Pattern Types = hierarchical, hub-and-spoke, sequential, matrix. Selection depends on content structure and task complexity. See logic_rules.md §Navigation Logic
47
+
48
+ ## Forms and Input Core Terms
49
+
50
+ - [L1] Inline Validation = checking validity on input or blur. HTML5 Constraint Validation API (required, pattern, min/max). Wroblewski (2009): reduced errors 22%, increased completion 42%. See logic_rules.md §Inline Validation Timing
51
+ - [L2] Error Message = guidance when validation fails. Three elements: (1) what went wrong, (2) why, (3) how to fix. Must not blame user. Placement: adjacent to field. See logic_rules.md §Error Message Quality
52
+ - [L1] Placeholder = hint text via HTML `placeholder`. Disappears on input → cannot replace a label (WCAG 1.3.1, 3.3.2). Low contrast also fails WCAG 1.4.3
53
+ - [L2] Input Mask = auto-applied format (phone, date). Prevents format errors but can frustrate with unexpected formats. Must accept unformatted paste
54
+ - [L2] Default Value = pre-filled value. Most common choice improves efficiency. Status quo bias: defaults in consent/privacy require careful consideration
55
+ - [L2] Multi-step Form = long form in logical steps. Requires: step indicator, prev/next, state preservation, summary before submission. See structure_spec.md §Form Structure Requirements
56
+ - [L2] Autocomplete = suggestions as user types. Autosuggest (predefined list) vs. autocompletion (partial text). Requires debouncing, keyboard nav, graceful degradation
57
+ - [L1] Form Accessibility = label association (`<label for>`), fieldset/legend, error linking (`aria-describedby`), keyboard operability, visible focus. WCAG 1.3.1, 2.1.1, 3.3.1, 3.3.2, 4.1.2. See domain_scope.md §Normative System Classification
58
+
59
+ ## Feedback and Status Core Terms
60
+
61
+ - [L2] Toast = non-blocking temporary notification. Origin: Android SDK. Requirements: auto-dismiss (3-5s), manual close, `aria-live="polite"`. Not for critical errors. See logic_rules.md §Feedback Logic
62
+ - [L2] Notification = message classified by urgency × persistence. Four quadrants: urgent+persistent (system alert), urgent+transient (incoming call), informational+persistent (badge), informational+transient (toast). Notification fatigue: excess causes all to be ignored
63
+ - [L2] Skeleton Screen = layout outline preview during loading. Facebook (2014). Reduces perceived load vs. spinners. Effective only when closely matching final layout. See §Performance Perception Terms
64
+ - [L2] Optimistic Update = UI updates before server response, rollback on failure. Best for >99% success rate. Example: "like" fills instantly, reverts on API failure. See logic_rules.md §Feedback Logic
65
+ - [L2] Empty State = screen with no content. Three types: first use (onboarding), no data (explain and guide), no results (suggest alternatives). See structure_spec.md §Screen State Matrix
66
+ - [L2] Dead End = state with no next action. Every screen must offer at least one forward or backward path
67
+ - [L2] Loading State Tiers = perception thresholds by duration: 0-100ms (instantaneous), 100ms-1s (noticeable delay), >1s (requires progress indication). Nielsen (1993). Implementation thresholds differ — logic_rules.md §Feedback Logic adapts these to 0-300ms/300ms-1s/1-10s/10s+ with a 300ms delay before showing any indicator
68
+
69
+ ## Action Guidance Core Terms
70
+
71
+ - [L2] CTA (Call to Action) = element guiding user to act. One primary CTA per screen. Action-specific text: "Create Account" > "Submit." See logic_rules.md §Action Guidance Logic
72
+ - [L2] Primary Action = screen's core purpose action. Most visually prominent. One per viewport (Hick's Law)
73
+ - [L2] Secondary Action = alternative to primary. Less prominent, must not compete. See structure_spec.md §Action Guidance System
74
+ - [L2] Destructive Action = hard-to-undo action (deletion, cancellation). Requires confirmation, red differentiation, distance from primary. See logic_rules.md §Destructive Action Confirmation Labels
75
+ - [L2] Confirmation = re-verification before destructive action. Must name specific item. Overuse causes fatigue. Prefer undo when possible
76
+ - [L2] Undo = reverse action after execution. Better than confirmation (Raskin): act → observe → reverse. Window: 5-10s via timed toast
77
+
78
+ ## Modal and Overlay Core Terms
79
+
80
+ - [L2] Modal Dialog = overlay preventing background interaction. Blocks flow — overuse causes frustration. Valid: irreversible confirmations, critical messages, focused sub-tasks. See logic_rules.md §Modal Usage Criteria
81
+ - [L1] Focus Trap = keyboard focus cycles within modal only (WCAG 2.4.3). Focus to modal on open, to trigger on close. `<dialog>` + `showModal()` provides natively
82
+ - [L2] Popover = floating UI near trigger. No background blocking. Dismisses on outside click/Escape. HTML Popover API (`popover`) transitioning partially to [L1]
83
+ - [L2] Bottom Sheet = panel from bottom. Mobile modal alternative. Three states: peek, half, full. Material Design origin. Requires drag handle + alt close
84
+ - [L2] Drawer = side panel. Left for navigation, right for details. Persistent or temporary. See structure_spec.md §Responsive Component Transition Rules
85
+ - [L2] Lightbox = full-screen overlay for media. Requires keyboard nav, Escape, swipe, alt text
86
+
87
+ ## Data Display Core Terms
88
+
89
+ - [L2] Pagination = data in fixed-size pages. Predictable performance, footer access, sharable URLs. Best for structured data. See logic_rules.md §Pagination vs Infinite Scroll
90
+ - [L2] Infinite Scroll = auto-loading on scroll. For browsing (feeds, galleries). Drawbacks: unreachable footer, lost position, unpredictable weight
91
+ - [L2] Virtual Scrolling = renders only visible items, recycles DOM. Required when items >~500. Trade-offs: variable-height complexity, find-in-page limits
92
+ - [L2] Sorting = rearranging by criterion. Current sort/direction must be indicated. Multi-column shows priority. State in URL. See structure_spec.md §Data Display System
93
+ - [L2] Filtering = data matching conditions. Required: active count, reset, result count, visible values. State in URL. See structure_spec.md §Data Display System
94
+ - [L2] Card Pattern = grouped info in visual containers. Self-contained, grid-flexible. Material Design: "surface for single topic." See structure_spec.md §Data Display System
95
+ - [L2] Data Table = rows/columns for tabular data. Not for layout. Requires sortable headers, row hover, responsive adaptation. Accessibility: `<table>`, `<th scope>`. See structure_spec.md §Data Display System
96
+
97
+ ## Accessible Interaction Core Terms
98
+
99
+ - [L1] Tab Order = focus order via Tab key. DOM order and `tabindex`. DOM/visual order must match (WCAG 1.3.2, 2.4.3). `tabindex="0"` natural; `tabindex="-1"` programmatic; >0 anti-pattern. See logic_rules.md §Accessible Interaction Logic
100
+ - [L1] ARIA = WAI-ARIA (W3C 1.2). Roles (`role="dialog"`), properties (`aria-label`), states (`aria-expanded`). First rule: use native HTML when possible — ARIA misuse worsens accessibility. See domain_scope.md §Normative System Classification
101
+ - [L1] Live Region = ARIA region for dynamic content announcements. `polite` (queued), `assertive` (immediate, urgent only). Overuse overwhelms screen reader users
102
+ - [L1] Skip Link = hidden-until-focused link bypassing navigation. WCAG 2.4.1. First focusable in DOM, visible on focus
103
+ - [L1] Screen Reader = AT reading content aloud. VoiceOver, NVDA/JAWS, TalkBack. Reads accessibility tree, not visual rendering. See dependency_rules.md §Accessibility–Interaction Dependency
104
+ - [L1] Accessibility Tree = browser's parallel DOM for AT. Each element → node with role, name, state, value. Missing = nonexistent for AT. Inspectable via DevTools
105
+ - [L1] Color Contrast = luminance ratio. WCAG 1.4.3: 4.5:1 normal text, 3:1 large; 1.4.11: 3:1 UI components. Color alone must not convey info (1.4.1)
106
+ - [L1] Keyboard Accessibility = all functionality via keyboard (WCAG 2.1.1). No traps (2.1.2). Visible focus (2.4.7). Custom components implement expected patterns
107
+
108
+ ## Design System Terms
109
+
110
+ Design systems scale consistent design across products. Emerged when teams outgrew informal convention (Salesforce, Google, Airbnb, 2013-2016).
111
+
112
+ - [L3] Design Token = atomic named value storing a design decision. Jina Anne (Salesforce Lightning, 2014). Encodes color, spacing, typography as platform-agnostic pairs. One update propagates everywhere. See dependency_rules.md §Component–Design System References
113
+ - [L3] Semantic Token = token named by purpose, not value. `color-text-error` vs. `color-red-500`. Hierarchy: primitive → semantic → component-specific. Enables theme switching. See dependency_rules.md §Component–Design System References
114
+ - [L3] Component API = props, slots, events a component exposes. Balances flexibility with consistency. Surface grows conservatively — adding easy, removing breaking
115
+ - [L3] Design System Governance = decision process for additions/modifications/deprecations. Contribution model, review, versioning, adoption tracking. Without it, systems diverge or stagnate
116
+ - [L3] Design Pattern (design systems) = documented solution with context, problem, solution, rationale. Composes multiple components. See extension_cases.md §Design System Pattern Addition
117
+ - [L3] Component Library = implemented components with APIs, guidelines, examples. Subset of design system. Tools: Storybook, Figma libraries
118
+ - [L3] Design System Maturity = L1 style guide → L2 pattern library → L3 full system (tokens, governance) → L4 infrastructure (tooling, metrics). Most plateau at L2
119
+
120
+ ## Performance Perception Terms
121
+
122
+ Perceived speed vs. objective speed. Connects to §Feedback and Status Core Terms and logic_rules.md §Feedback Logic.
123
+
124
+ - [L2] Perceived Performance = subjective speed experience. Skeleton at 200ms feels faster than spinner at 200ms. Techniques: skeletons, progressive loading, optimistic updates. See logic_rules.md §Feedback Logic
125
+ - [L3] RAIL Model = Google's performance model (2015). Response <100ms, Animation <16ms/frame, Idle <50ms chunks, Load <5s (3G). See logic_rules.md §Feedback Logic
126
+ - [L3] First Contentful Paint (FCP) = time to first rendered content. Core Web Vital. <1.8s good, >3.0s poor. Does not measure useful content (see LCP)
127
+ - [L3] Largest Contentful Paint (LCP) = time until largest viewport element renders. Core Web Vital. <2.5s good, >4.0s poor
128
+ - [L3] Skeleton Screen Psychology = why skeletons reduce perceived wait. Progress perception (visual change signals progress) + expectation setting (shapes set layout expectations). Chung (2017): ~15% reduction vs. spinners
129
+ - [L2] Optimistic UI = design philosophy assuming success. Broader than Optimistic Update (§Feedback and Status): all interactions feel instant, rare failures handled gracefully
130
+
131
+ ## Micro-interaction Terms
132
+
133
+ Dan Saffer's framework ("Microinteractions," 2013). Contained moments for a single task: trigger → rules → feedback → loops & modes.
134
+
135
+ - [L2] Trigger = event initiating micro-interaction. User-initiated (tap, click, gesture) or system-initiated (time, data). Must be discoverable. See logic_rules.md §Simplicity vs Discoverability
136
+ - [L2] Rules = logic after trigger. Sequence, branching, constraints. Must feel natural. Example: long-press → selection mode → haptic → multi-select
137
+ - [L2] Feedback = sensory response (visual, auditory, haptic, spatial). Immediate (<100ms), proportional, context-appropriate. See logic_rules.md §Feedback Logic
138
+ - [L2] Loops and Modes = change over time (loops: repeat/evolve) and alternative behaviors (modes: edit vs. view). Minimize modes — each doubles cognitive load
139
+ - [L2] Animation Principles for UI = Disney's 12 applied to UI. Easing (ease-out enter, ease-in exit), anticipation, follow-through. Duration: 100-200ms simple, 200-500ms complex, never >500ms. See logic_rules.md §Feedback Logic
140
+ - [L2] State Transitions = changes between states (default, hover, focus, active, disabled, loading, error, success). Each visible, consistent, distinguishable
141
+
142
+ ## Responsive and Adaptive Design Terms
143
+
144
+ - [L2] Responsive Design = fluid viewport adaptation via flexible grids and media queries. Ethan Marcotte (2010). Same HTML, different CSS. See structure_spec.md §Responsive Component Transition Rules
145
+ - [L1] Media Query = CSS conditional styles by viewport/device. W3C spec. The [L1] mechanism for responsive design [L2]. `prefers-reduced-motion` is both platform and WCAG 2.3.3
146
+ - [L2] Breakpoint = viewport width where layout changes. Common: 320/768/1024/1440px. Determined by content, not devices. See structure_spec.md §Responsive Component Transition Rules
147
+ - [L2] Mobile-first = design smallest viewport first, enhance upward. Forces content prioritization
148
+ - [L2] Touch Target = tappable area minimum. 44×44 CSS px (WCAG 2.5.5), 48×48 dp (Material), 44pt (HIG). ≥8px spacing. See logic_rules.md §Fitts's Law Application
149
+ - [L2] Content Priority = importance per viewport. Small viewports require explicit visibility/interaction/removal decisions. See structure_spec.md §Responsive–Content Coherence
150
+
151
+ ## Homonyms Requiring Attention
152
+
153
+ - "state": component state (hover/active/disabled) != app state (data) != server state (HTTP) != design system state (variant). Default: component visual/interaction state
154
+ - "modal": modal dialog (§Modal and Overlay) != modal interaction (blocked-task mode) != modal window (OS)
155
+ - "navigation": IA navigation (§Navigation) != routing (SE) != browser navigation (platform). Default: IA navigation
156
+ - "form": UI form (§Forms) != HTML `<form>` != form state management (SE). Default: UI form design patterns
157
+ - "layout": page layout (visual-design) != IA (this domain). Default: content placement intent
158
+ - "responsive": responsive layout (visual-design, grid) != responsive UI adaptation (this domain, component/content priority). See domain_scope.md §Key Sub-Areas
159
+ - "feedback": system feedback (§Feedback) != user feedback (research) != haptic (platform) != micro-interaction feedback (§Micro-interaction)
160
+ - "pattern": UI pattern != software design pattern (SE) != visual pattern (visual-design) != design system pattern (§Design System)
161
+ - "token": design token (§Design System) != auth/CSRF/session token (SE). Default: design token
162
+ - "component": UI component != software component (SE) != design system component (§Design System, with API). Default: UI component
163
+ - "accessibility": digital (§Accessible Interaction) != physical (ADA) != access control (SE). Default: digital accessibility
164
+ - "animation": functional (this domain) != decorative (visual-design) != CSS animation ([L1]). Default: functional
165
+ - "validation": form (§Forms) != design validation (testing) != accessibility validation (WCAG). Qualify on first use
166
+
167
+ ## Interpretation Principles
168
+
169
+ - Users achieve goals, not learn interfaces. The UI is means, not end. (Goal-directed design, Alan Cooper)
170
+ - Match interface to user's mental model. Exposing technical structure (DB schema, HTTP codes) conflicts with user models
171
+ - Errors are interface failures, not user faults. "Invalid input" → "This field only accepts numbers." Norman's error classification: slips (unintended actions — prevent with constraints) vs. mistakes (wrong goals — make correct action obvious). See logic_rules.md §Error Message Quality
172
+ - Consistency reduces learning costs. Four levels (priority order): within-screen, across-app, across-products (design system), platform conventions. Deviation requires stated benefit. See domain_scope.md §Cross-Cutting Concerns
173
+ - The "3-click rule" is not absolute. Information scent (cue strength indicating path-to-target) matters more than click count. Porter (2003): no correlation between clicks and success; strong correlation between navigation clarity and success
174
+ - Modals block flow. Prefer non-modal alternatives when possible. See logic_rules.md §Modal Usage Criteria
175
+ - Placeholders cannot replace labels. Disappear on input → field purpose lost. Both usability principle and WCAG requirement
176
+ - Design for extremes (max data, empty data, errors, slow networks, AT users) and the middle takes care of itself. See structure_spec.md §Screen State Matrix
177
+ - Aesthetic-Usability Effect: users perceive attractive interfaces as more usable. Visual quality measurably impacts perceived usability — and can mask real problems in testing
178
+ - Paradox of the active user (Carroll): users prefer trying over reading. Interfaces must be safe to explore — undo, non-destructive defaults, clear error recovery
179
+
180
+ ## Related Documents
181
+ - domain_scope.md §Key Sub-Areas — Domain boundaries for these terms
182
+ - domain_scope.md §Normative System Classification — Tier-1a requirements referenced by [L1] terms
183
+ - domain_scope.md §Cross-Cutting Concerns — Consistency evaluation rules
184
+ - logic_rules.md §Feedback Logic — Timing thresholds for feedback and loading
185
+ - logic_rules.md §Inline Validation Timing — Validation timing and error patterns
186
+ - logic_rules.md §Action Guidance Logic — CTA hierarchy and destructive action rules
187
+ - logic_rules.md §Accessible Interaction Logic — Focus, tab order, keyboard rules
188
+ - structure_spec.md §Navigation Structure — Element count and depth guidelines
189
+ - structure_spec.md §Responsive Component Transition Rules — Breakpoints and component transitions
190
+ - structure_spec.md §Screen State Matrix — Boundary state requirements
191
+ - dependency_rules.md §Component–Design System References — Token dependency chains
192
+ - dependency_rules.md §Accessibility–Interaction Dependency — Screen reader patterns
193
+ - competency_qs.md — Competency questions referencing terms here
194
+ - conciseness_rules.md — Deduplication rules for review output
@@ -0,0 +1,190 @@
1
+ ---
2
+ version: 2
3
+ last_updated: "2026-03-31"
4
+ source: manual
5
+ status: established
6
+ ---
7
+
8
+ # Conciseness Rules (ui-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
+ ### Feedback and Status Communication
22
+
23
+ - [MUST-ALLOW] Multiple definitions of error states — Network, permission, and validation errors each require different guidance, recovery paths, and visual treatments. Consolidating into one generic error prevents users from understanding what went wrong. (logic_rules.md §Feedback Logic; structure_spec.md §Feedback Type–Representation Matrix)
24
+ - [MUST-ALLOW] Separate definitions by empty state type — First use, no data, no search results, and no permission each need different guidance and CTAs. (structure_spec.md §Screen State Matrix)
25
+
26
+ ### Cross-Concern Appearances
27
+
28
+ - [MAY-ALLOW] Form validation in both "Forms and Input" and "Feedback and Status" — the former covers timing/methods, the latter covers message presentation/visual states. The validation rules themselves must be defined in only one place. (domain_scope.md §Inter-Document Contract)
29
+ - [MAY-ALLOW] Responsive rules across each concern area — mobile adaptations (top bar→bottom nav, table→card, modal→bottom sheet) described in respective areas. "Responsive UI Adaptation" defines only common principles; each area adds its specific adaptation.
30
+ - [MAY-ALLOW] Accessibility requirements across sub-areas — e.g., touch target sizing in both "Responsive UI Adaptation" and "Accessible Interaction." Primary enforcement point determines ownership (WCAG 2.5.5 → Accessible Interaction); others reference without duplicating. (domain_scope.md §Cross-cutting Concern Attribution)
31
+
32
+ ### Source of Truth Related
33
+
34
+ - [MUST-ALLOW] Platform guidelines (Material Design, HIG) and internal pattern library each defining the same component — removing either makes conformity tracking impossible. (dependency_rules.md §Source of Truth Management)
35
+ - [MAY-ALLOW] Design tokens in both component specs and responsive rules — value definitions in one place (token system); specs and rules reference tokens. (concepts.md §Design System Terms)
36
+
37
+ ### Accessibility
38
+
39
+ - [MUST-ALLOW] Accessibility requirements in each component definition — modal focus traps, form error associations (aria-describedby), toast live regions (aria-live). "Accessible Interaction" defines common principles; each component adds its specifics.
40
+
41
+ ### Design System Architecture
42
+
43
+ - [MUST-ALLOW] Component-level token binding coexisting with global token definition — `button-padding: token(spacing-md)` alongside `spacing-md: 16px` is a binding, not value duplication. (concepts.md §Design System Terms)
44
+ - [MAY-ALLOW] Pattern documentation repeating component API descriptions — allowed when describing composition; consolidate if merely copying component internals.
45
+
46
+ ### Tier-Level Duplication
47
+
48
+ - [MUST-ALLOW] Same interaction rule at different tiers — e.g., "visible focus" in WCAG 2.4.7 (Tier-1a) and design system focus spec (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.
50
+
51
+ ### Micro-interaction and Animation
52
+
53
+ - [MAY-ALLOW] Per-component transition definitions alongside global motion system — global system defines easing/duration; components add direction, delay. Not duplication if adding context the global system does not contain. (concepts.md §Micro-interaction Terms)
54
+
55
+ ---
56
+
57
+ ## 2. Removal Target Patterns
58
+
59
+ Each rule is tagged with a strength level:
60
+ - **[MUST-REMOVE]**: Duplication whose existence causes errors or incorrect reasoning.
61
+ - **[SHOULD-REMOVE]**: Duplication that is not significantly harmful but adds unnecessary complexity.
62
+
63
+ ### Pattern Duplication
64
+
65
+ - [MUST-REMOVE] Duplicate definitions of reusable modal patterns per concern — if open/close, focus trap, and background blocking are redefined per modal type, update omissions cause inconsistency. Define common modal pattern once; each type defines only content and actions. (logic_rules.md §Modal Logic)
66
+ - [MUST-REMOVE] Multiple path representations of same feedback pattern — if success feedback is defined as toast, banner, and inline message simultaneously, authority is unclear. One representation per type. (structure_spec.md §Feedback Type–Representation Matrix)
67
+ - [MUST-REMOVE] Duplicate interaction patterns between design system docs and screen specs — if both define a dropdown's keyboard behavior, they diverge on update. Screen specs should reference the design system component.
68
+
69
+ ### State Duplication
70
+
71
+ - [MUST-REMOVE] Confusion between global state and component state — components independently defining app state (login, permissions) causes inconsistency. App state once globally; component states (hover, active, disabled) distinguished. (concepts.md §Homonyms Requiring Attention)
72
+ - [SHOULD-REMOVE] Same loading state defined differently across screens — varying spinner/skeleton/progress bar criteria per screen increases learning cost. Define commonly (logic_rules.md §Loading State Representation).
73
+
74
+ ### Classification Duplication
75
+
76
+ - [SHOULD-REMOVE] Intermediate hierarchy nodes with only 1 child — e.g., only "Toast" under "Notifications" has no classification value; merge with parent.
77
+ - [SHOULD-REMOVE] Empty classifications without actual instances — remove unless reserved for future extension (see extension_cases.md).
78
+ - [SHOULD-REMOVE] Redundant sub-classifications across Tiers — if Tier-2 and Tier-3 define overlapping classifications, consolidate to Tier-2. Retain separate only if Tier-3 covers broader scope.
79
+
80
+ ### Definition Duplication
81
+
82
+ - [MUST-REMOVE] Same component defined under different names — per concepts.md §Homonyms Requiring Attention (e.g., "popup" vs "modal dialog"). Consolidate to canonical term.
83
+ - [SHOULD-REMOVE] Same interaction pattern copied across multiple screen specs — extract into common pattern. (dependency_rules.md §Component–Design System References)
84
+ - [SHOULD-REMOVE] Duplicate motion definitions — same easing/duration hardcoded across components instead of referencing motion system. Extract to shared token. (concepts.md §Micro-interaction Terms)
85
+
86
+ ### Design System Redundancy
87
+
88
+ - [MUST-REMOVE] Outdated component documentation alongside current version without deprecation marking — mark with deprecation notice, sunset date, migration path. (extension_cases.md)
89
+ - [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.
90
+
91
+ ---
92
+
93
+ ## 3. Minimum Granularity Criteria
94
+
95
+ A sub-classification is allowed only if it satisfies **one or more** of the following. If none are satisfied, merge with the parent.
96
+
97
+ 1. **Competency question difference**: Does it produce a different answer to a question in competency_qs.md? (11 CQ sections: CQ-N, CQ-FI, CQ-FS, CQ-DD, CQ-MO, CQ-AD, CQ-R, CQ-AC, CQ-DS, CQ-MI, CQ-CO)
98
+ 2. **Interaction difference**: Do different user actions (click, swipe, keyboard, drag, long-press) apply? (logic_rules.md §Constraint Conflict Checks)
99
+ 3. **State difference**: Different set of states (active/inactive, loading/complete, error/success)? (structure_spec.md §Screen State Matrix)
100
+
101
+ Examples:
102
+ - `Toast` and `Banner` have different interactions (auto-dismiss vs manual close) and different states (transient vs persistent) → classification justified.
103
+ - `ConfirmModal` and `AlertModal` with same layout, same behavior, single CTA → merge candidates.
104
+ - `PrimitiveToken` and `SemanticToken` produce different CQ-DS answers: "what values exist?" vs "what purpose does this value serve?" → classification justified.
105
+
106
+ Anti-examples:
107
+ - "Primary Spinner" vs "Secondary Spinner" differing only in color — color is a token value, not a classification axis.
108
+ - "Mobile Modal" vs "Desktop Modal" with identical behavior, different presentation — responsive transitions (structure_spec.md §Responsive Component Transition Rules) govern presentation, not classification.
109
+
110
+ ---
111
+
112
+ ## 4. Boundaries — Domain-Specific Application Cases
113
+
114
+ The authoritative source for boundary definitions is `roles/conciseness.md`. This section describes only the specific application cases in the ui-design domain.
115
+
116
+ ### pragmatics Boundary
117
+
118
+ - conciseness: Does an unnecessary element **exist**? (structural level)
119
+ - pragmatics: Does unnecessary information **impede** user task execution? (execution level)
120
+ - Example: Unused filter options in UI spec → conciseness. Too many filter options impeding discovery → pragmatics.
121
+
122
+ ### coverage Boundary
123
+
124
+ - conciseness: Is there something that should not be there? (reduction direction)
125
+ - coverage: Is there something missing that should be there? (expansion direction)
126
+ - Example: Error states not defined → coverage. Same error message duplicated in three places → conciseness.
127
+
128
+ ### logic Boundary (preceding/following relationship)
129
+
130
+ - logic precedes: Determines logical equivalence (implication). (logic_rules.md §Constraint Conflict Checks, §Modal Logic)
131
+ - conciseness follows: Decides whether to remove after equivalence is confirmed
132
+ - Example: Common modal behavior implies individual definitions → logic determines equivalence → conciseness determines "redefinition unnecessary."
133
+
134
+ ### semantics Boundary (preceding/following relationship)
135
+
136
+ - semantics precedes: Determines semantic identity (synonym status). (concepts.md §Homonyms Requiring Attention)
137
+ - conciseness follows: Decides whether merging is needed after synonym is confirmed
138
+ - Example: "popup" and "modal dialog" are the same pattern → semantics determines synonym → conciseness determines "consolidate to canonical term."
139
+
140
+ ### structure Boundary
141
+
142
+ - structure: Does the element conform to structural rules? (structure_spec.md §UI Design Required Elements, §Required Relationships)
143
+ - conciseness: Is the element duplicated or unnecessary given the structure?
144
+ - Example: Navigation item violating structure_spec.md §Navigation Structure Patterns → structure. Navigation item duplicating another's destination → conciseness.
145
+
146
+ ---
147
+
148
+ ## 5. Quantitative Criteria
149
+
150
+ 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.
151
+
152
+ ### Pattern Repetition Thresholds
153
+
154
+ - **Interaction pattern repetition**: Same pattern (dropdown open/close, modal entry/exit, swipe-to-dismiss) in 3+ screen specs → extract into common pattern. Two copies may vary by context; three almost certainly share one definition. (dependency_rules.md §Component–Design System References)
155
+ - **Feedback pattern repetition**: Same feedback representation in 3+ locations → consolidate into structure_spec.md §Feedback Type–Representation Matrix.
156
+ - **State definition repetition**: Same state with identical content in 3+ screens → extract into common definition per structure_spec.md §Screen State Matrix. Context-specific variations (different CTA, different guidance) are not duplicates.
157
+
158
+ ### Classification Health Thresholds
159
+
160
+ - **Minimum instance count**: Sub-classification with <2 instances → merge candidate. Exception: reserved future extensions in extension_cases.md.
161
+ - **Maximum nesting depth**: Classification hierarchy exceeding 3 levels → flatten candidate. Each level must justify via §3 Minimum Granularity Criteria.
162
+ - **Single-child intermediate nodes**: Intermediate node with exactly 1 child for >1 review cycle → merge with parent or child.
163
+
164
+ ### Cross-Tier Duplication Thresholds
165
+
166
+ - **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.
167
+ - **L-layer duplication**: Same concept at [L2] and [L3] without [L3] adding domain-specific detail → merge into [L2]. (concepts.md §Abstraction Layer Reference)
168
+
169
+ ### Design System Conciseness Thresholds
170
+
171
+ - **Token alias depth**: Token chain >3 levels → review for unnecessary indirection. Each level must add semantic meaning; pass-through aliases are removal targets.
172
+ - **Component variant count**: >7 variants with overlapping props → review for split or consolidation. Conciseness signal, not structural rule. (structure_spec.md §Classification Criteria Design)
173
+ - **Pattern documentation staleness**: References to superseded component version (>1 release cycle) → update or remove.
174
+
175
+ ### Review Output Conciseness
176
+
177
+ - **Finding deduplication**: 3+ findings citing same root cause → consolidate into 1 finding with root cause + affected locations.
178
+ - **Cross-file finding deduplication**: Issue flagged by both conciseness and preceding agent → defer to preceding agent's finding, add only removal recommendation.
179
+
180
+ ---
181
+
182
+ ## Related Documents
183
+
184
+ - `concepts.md` — §Homonyms Requiring Attention (synonym mappings), §Design System Terms (token hierarchy), §Micro-interaction Terms (motion system), §Abstraction Layer Reference ([L1]/[L2]/[L3])
185
+ - `structure_spec.md` — §UI Design Required Elements, §Screen State Matrix, §Feedback Type–Representation Matrix, §Responsive Component Transition Rules, §Classification Criteria Design
186
+ - `competency_qs.md` — CQ-ID sections (CQ-N through CQ-MI, CQ-CO) for minimum granularity judgment
187
+ - `domain_scope.md` — §Key Sub-Areas, §Normative System Classification (Tier system), §Cross-Cutting Concerns, §Inter-Document Contract (rule ownership)
188
+ - `logic_rules.md` — §Modal Logic, §Feedback Logic, §Constraint Conflict Checks, §Accessible Interaction Logic
189
+ - `dependency_rules.md` — §Source of Truth Management, §Component–Design System References, §Circular Dependency Detection and Classification
190
+ - `extension_cases.md` — Reserved future extensions, deprecation scenarios