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,155 @@
1
+ ---
2
+ version: 1
3
+ last_updated: "2026-03-29"
4
+ source: bundled-domain-baseline
5
+ status: established
6
+ ---
7
+
8
+ # Conciseness Rules (finance)
9
+
10
+ This document contains the domain-specific rules that conciseness references during conciseness verification.
11
+ It is organized in the order: **type (allow/remove) -> verification criteria -> role boundaries -> measurement methods**.
12
+
13
+ ---
14
+
15
+ ## 1. Allowed Redundancy
16
+
17
+ Each rule is tagged with a severity level:
18
+ - **[MUST-ALLOW]**: Redundancy that breaks the system if removed. Must be retained.
19
+ - **[MAY-ALLOW]**: Redundancy kept for convenience. Can be consolidated, but only remove when the benefit clearly outweighs the consolidation cost.
20
+
21
+ ### Reporting Unit Related
22
+
23
+ - [MUST-ALLOW] Parallel consolidated and separate financial statements — the same account (e.g., revenue) exists in both consolidated and separate bases. The consolidated scope includes subsidiary aggregation and intercompany elimination, so the figures and meaning differ from separate. Removing either makes inter-reporting-unit comparison and consolidation adjustment verification impossible.
24
+ - [MUST-ALLOW] Parallel segment reporting and consolidated totals — segment-level revenue and operating income are components of consolidated totals, but intercompany transactions between segments and unallocated items mean they do not simply sum to the total. Removing segment figures makes divisional performance analysis impossible.
25
+
26
+ ### Temporal Attribute Related
27
+
28
+ - [MUST-ALLOW] Dual classification of instant/duration attributes — even for the same account, instant (point-in-time) and duration (period) items have different temporal attribution. Example: Cash and cash equivalents is expressed as instant (closing balance) on the Statement of Financial Position and as duration (period change) on the Cash Flow Statement. Consolidating into a single attribute causes loss of temporal dimension information.
29
+ - [MAY-ALLOW] Parallel presentation of opening and closing balances for Statement of Financial Position items — prior period-end (opening) and current period-end (closing) balances are displayed simultaneously for comparison purposes. The same figures can be referenced from prior period financial statements, but retain for comparison readability purposes.
30
+
31
+ ### Account Classification Related
32
+
33
+ - [MUST-ALLOW] Dual existence of the same account due to current/non-current classification — other financial assets split into current and non-current are separate Facts because their maturity/recovery periods differ. Consolidation makes liquidity analysis impossible.
34
+ - [MAY-ALLOW] Parallel presentation of labels and taxonomy element IDs — the taxonomy element ID is the primary identifier, but labels are retained for human readability. If only labels exist without taxonomy IDs, they are removal targets.
35
+
36
+ ### External Reference Related
37
+
38
+ - [MUST-ALLOW] Parallel IFRS taxonomy mapping and FIBO mapping — the same concept is mapped to both IFRS taxonomy and FIBO. The two standards have different purposes (financial reporting vs. financial industry ontology) and structures, so they cannot be consolidated into a single mapping.
39
+ - [MAY-ALLOW] Parallel company extension accounts and standard taxonomy accounts — per the original preservation principle, company-specific labels are retained while also mapped to canonical names. However, if the extension account is completely identical to the standard account with no additional information, consolidation is possible.
40
+
41
+ ---
42
+
43
+ ## 2. Removal Target Patterns
44
+
45
+ Each rule is tagged with a severity level:
46
+ - **[MUST-REMOVE]**: Redundancy whose mere existence causes errors or incorrect inferences.
47
+ - **[SHOULD-REMOVE]**: Redundancy that is not very harmful but adds unnecessary complexity.
48
+
49
+ ### Taxonomy Redundancy
50
+
51
+ - [MUST-REMOVE] Duplicate definition of multiple labels for the same taxonomy element as separate concepts — when several labels (e.g., "Revenue," "Sales," "Operating revenue") for a single taxonomy element ID are registered as separate concepts, use the synonym mappings in concepts.md to retain only the canonical name. Treating multiple labels as separate concepts causes double-counting in aggregation and comparison.
52
+ - [MUST-REMOVE] Creating extension accounts that duplicate accounts already existing in the standard taxonomy — when an extension element exists with the same meaning and constraints as a standard element, mapping inconsistencies arise. Use the standard element first.
53
+
54
+ ### Relation Redundancy
55
+
56
+ - [MUST-REMOVE] Multiple path aggregation between the same accounts — example: when both a current assets subtotal -> total assets path and individual current asset items -> total assets direct path exist simultaneously, aggregation logic is applied twice, causing amount inconsistencies.
57
+ - [SHOULD-REMOVE] Explicit redeclaration of relationships already guaranteed by accounting identities — when Assets = Liabilities + Equity is guaranteed in logic_rules.md, there is no need to separately redefine "equity is assets minus liabilities" as a separate relationship on individual nodes.
58
+
59
+ ### Classification Redundancy
60
+
61
+ - [SHOULD-REMOVE] Intermediate classification nodes with only 1 child account — example: when only a single item exists under "Other non-current assets," merge the intermediate node with the parent. However, retain if reserved for future expansion (see extension_cases.md).
62
+ - [SHOULD-REMOVE] Classification nodes with no actual amount data (Facts) — empty account classifications unused by any reporting entity should be removed. However, retain if they are mandatory elements of the standard taxonomy.
63
+
64
+ ### Definition Redundancy
65
+
66
+ - [MUST-REMOVE] Multiple calculation path definitions for the same derived metric — example: when ROE is simultaneously defined as "net income / total equity" and "net income / average equity," the results differ. Designate one definition as the authoritative version.
67
+ - [SHOULD-REMOVE] Same verification logic (e.g., identity verification) copied across multiple financial statement modules — extraction to a common verification module is needed.
68
+
69
+ ---
70
+
71
+ ## 3. Minimum Granularity Criteria
72
+
73
+ A sub-classification is permitted only if it satisfies **at least one** of the following. If none are satisfied, merge with the parent.
74
+
75
+ 1. **Competency question difference**: Does it generate a different answer to a question in competency_qs.md?
76
+ 2. **Constraint difference**: Do different constraints (temporal attribute, current/non-current classification, normal balance direction, cardinality) apply?
77
+ 3. **Dependency difference**: Does it belong to a different financial statement, segment, or reporting unit, or map to a different taxonomy element?
78
+
79
+ Examples:
80
+ - `Current other financial assets` and `Non-current other financial assets` are justified as separate classifications because different constraints (1-year maturity criterion, liquidity classification) apply.
81
+ - If `Total assets` and `Assets total` both map to the same taxonomy element (ifrs:Assets) with the same constraints, they are candidates for merging.
82
+
83
+ ---
84
+
85
+ ## 4. Boundaries — Domain-Specific Application Cases
86
+
87
+ The authoritative source for boundary definitions is `roles/conciseness.md`. This section describes only the specific application cases in the finance domain.
88
+
89
+ ### pragmatics boundary
90
+
91
+ - conciseness: Does an unnecessary element **exist**? (structural level)
92
+ - pragmatics: Does unnecessary information **hinder** query execution? (execution level)
93
+ - Example: Unused note items are included in financial statement query responses -> pragmatics. Unused accounts are defined in the taxonomy structure -> conciseness.
94
+
95
+ ### coverage boundary
96
+
97
+ - conciseness: Does something exist that should not? (reduction direction)
98
+ - coverage: Is something missing that should exist? (expansion direction)
99
+ - Example: Notes system is missing, making accounting policy disclosure impossible -> coverage. The same accounting policy is duplicated across multiple notes -> conciseness.
100
+
101
+ ### logic boundary (predecessor/successor relationship)
102
+
103
+ - logic predecessor: determines logical equivalence (entailment)
104
+ - conciseness successor: decides whether to remove after equivalence is confirmed
105
+ - Example: The accounting identity (Assets = Liabilities + Equity) already entails the definition of equity -> logic determines equivalence -> conciseness determines "separate calculation relationship redeclaration for equity is unnecessary."
106
+
107
+ ### semantics boundary (predecessor/successor relationship)
108
+
109
+ - semantics predecessor: determines semantic identity (synonym status)
110
+ - conciseness successor: decides whether merging is needed after synonym confirmation
111
+ - Example: "Revenue"/"Sales"/"Operating revenue" are the same taxonomy element -> semantics determines they are synonyms -> conciseness determines "consolidate to a single canonical name."
112
+
113
+ ---
114
+
115
+ ## 5. Quantitative Criteria
116
+
117
+ Domain-observed thresholds for conciseness judgment. Each threshold is a review signal, not an automatic removal trigger.
118
+
119
+ ### Taxonomy Redundancy Thresholds
120
+
121
+ - **Multiple labels per element**: same taxonomy element ID with 3+ different labels → consolidate to canonical name. Two labels may reflect legitimate regional variation; three almost certainly duplicates. (concepts.md §Core Synonym Mappings)
122
+ - **Extension account ratio**: if >30% of an entity's accounts are extensions, review for over-extension. Many extensions may map to existing standard elements. (concepts.md §Extension Account Handling)
123
+ - **Unused standard elements**: if >50% of standard taxonomy elements in a jurisdiction have zero usage across all entities → informational (valid placeholders, not removal targets)
124
+
125
+ ### Structural Redundancy Thresholds
126
+
127
+ - **Intermediate hierarchy nodes**: node with exactly 1 child for >2 reporting periods → merge candidate. Exception: reserved by taxonomy standard
128
+ - **Duplicate aggregation paths**: if the same account is reachable through 2+ aggregation paths → review for path consolidation. One canonical path must be designated
129
+ - **Orphan notes**: notes extracted but linked to zero FinancialFacts → review for linkage error or removal. Notes from unstructured sources are most prone to this
130
+
131
+ ### Derived Metric Redundancy
132
+
133
+ - **Multiple formula definitions**: same derived metric (e.g., ROE) defined with 2+ different formulas → consolidate to one authoritative definition. Document the formula choice rationale. (logic_rules.md §Derived Metric Calculation Rules)
134
+ - **Cached vs computed metrics**: if a derived metric is stored both as a precomputed value and computable from underlying data → prefer on-demand computation. Store only when computation cost is prohibitive
135
+
136
+ ### Cross-Tier Duplication
137
+
138
+ - **Tier-2/Tier-3 overlap**: same metric defined as both a taxonomy element (Tier-2) and an analytical convention (Tier-3) → consolidate to Tier-2 when the taxonomy element matches exactly. Retain Tier-3 separately only when the computation differs (e.g., "adjusted EBITDA" vs taxonomy operating income)
139
+
140
+ ### Review Output Conciseness
141
+
142
+ - **Finding deduplication**: 3+ findings citing the same root cause (e.g., multiple extension accounts mapping to the same standard element) → consolidate into 1 finding with root cause + all affected accounts
143
+ - **Cross-file deduplication**: issue flagged by both conciseness and a preceding agent (logic or semantics) → defer to the preceding agent's finding; add only the consolidation recommendation
144
+
145
+ ---
146
+
147
+ ## Related Documents
148
+
149
+ - `concepts.md` — Term definitions, synonym mappings, homonym lists, extension account handling (semantic criteria for redundancy determination)
150
+ - `structure_spec.md` — Isolated node rules, required relationships, ID system (structural removal criteria)
151
+ - `competency_qs.md` — CQ-ID sections for minimum granularity judgment
152
+ - `domain_scope.md` — Normative system classification (Tier system), cross-cutting concerns
153
+ - `dependency_rules.md` — External standard reference rules, source of truth management (basis for allowing parallel mappings)
154
+ - `logic_rules.md` — Accounting identities, derived metric formulas (criteria for logical equivalence determination)
155
+ - `extension_cases.md` — Taxonomy change and extension account scenarios (basis for classification node retain/remove decisions)
@@ -0,0 +1,171 @@
1
+ ---
2
+ version: 2
3
+ last_updated: "2026-04-16"
4
+ source: manual
5
+ status: established
6
+ ---
7
+
8
+ # Finance Domain — Dependency Rules
9
+
10
+ Classification axis: **Dependency type** — rules classified by the nature of the relationship constraint.
11
+
12
+ ## Acyclic Rules
13
+
14
+ No cycles are permitted in these relationship paths. Cycles indicate structural defects in the ontology.
15
+
16
+ | ID | Rule | Description | Violation Handling |
17
+ |---|---|---|---|
18
+ | AC01 | No cycles in Entity → Statement → FinancialFact path | Unidirectional from reporting entity to financial figures | Block |
19
+ | AC02 | No cycles in Concept hierarchy | Superordinate account → subordinate account hierarchy | Block |
20
+ | AC03 | No cycles in Note → FinancialFact references | Notes reference main statements; main statements do not back-reference notes | Block |
21
+ | AC04 | No cycles in Segment → Entity attribution | Segments belong to entities; entities do not belong to segments | Block |
22
+
23
+ > **AC03 rationale:** Notes explain and supplement main statement items. If main statements referenced notes, a circular dependency would arise: the meaning of a figure depends on a note that depends on the figure. Notes annotate; figures do not annotate notes.
24
+
25
+ ### Intentional Bidirectional Patterns (Not Cycles)
26
+
27
+ - **FinancialFact ↔ Period:** A Fact belongs to a Period (IN_PERIOD); a Period contains many Facts. This is a managed 1:N relationship, not a cycle. The Period is the source of truth for temporal context
28
+ - **Concept ↔ FinancialFact:** A Concept defines the meaning (HAS_CONCEPT); many Facts instantiate the Concept. The Concept is the source of truth for semantics
29
+ - **Cross-Statement Appearance:** Cash and cash equivalents appears in both BS and CF. This is intentional (DM01 allows it) — the same Fact can belong to multiple Statements
30
+
31
+ ## Direction Rules
32
+
33
+ | ID | Relationship | Allowed Direction | Prohibited Direction | Violation Handling |
34
+ |---|---|---|---|---|
35
+ | DR01 | REPORTED_BY | Fact → Entity | Entity → Fact | Block |
36
+ | DR02 | BELONGS_TO | Fact → Statement | Statement → Fact | Block |
37
+ | DR03 | HAS_CONCEPT | Fact → Concept | Concept → Fact | Block |
38
+ | DR04 | IN_PERIOD | Fact → Period | Period → Fact | Block |
39
+ | DR05 | ANNOTATES | Note → Fact | Fact → Note | Block |
40
+ | DR06 | IS_CHILD_OF | Child Concept → Parent Concept | — | Warning |
41
+ | DR07 | DISCLOSES_POLICY | Note → Policy | Policy → Note | Block |
42
+ | DR08 | IN_SEGMENT | Fact → Segment | Segment → Fact | Block |
43
+ | DR09 | PART_OF | Segment → Entity | Entity → Segment | Warning |
44
+
45
+ > **DR06 Warning:** The reverse direction (Parent → Child, i.e., HAS_CHILD) can be separately defined as a convenience relationship. It is not prohibited, but it must be derived from IS_CHILD_OF, not independently maintained. Independent maintenance creates synchronization risk.
46
+
47
+ ### Direction Rule Rationale
48
+
49
+ The direction rules encode the ontology's semantic model:
50
+ - **Facts are attributed** (to entities, statements, concepts, periods) — they are the "leaf" data
51
+ - **Notes annotate** (facts and policies) — they provide supplementary context
52
+ - **Concepts classify** (facts) — they define what the fact represents
53
+ - **Segments partition** (facts within an entity) — they provide dimensional analysis
54
+
55
+ Reversing any direction would change the semantic relationship. "Revenue is reported by Samsung" ≠ "Samsung is reported by Revenue."
56
+
57
+ ## Diamond Rules
58
+
59
+ | ID | Situation | Allowed? | Rationale |
60
+ |---|---|---|---|
61
+ | DM01 | Same Fact belongs to multiple Statements | **Allowed** | Cash appears in both BS and CF — this is correct per IFRS |
62
+ | DM02 | Same Concept used by multiple Entities | **Allowed** | ifrs:Revenue is shared across all companies — the concept is universal |
63
+ | DM03 | Same Fact attributed to multiple Periods | **Prohibited** | A single financial figure belongs to exactly one period/point-in-time. Multiple periods = data duplication error |
64
+ | DM04 | Same Fact attributed to multiple Entities | **Prohibited** | A fact is reported by one entity. Intercompany items are separate facts with separate entity attribution |
65
+ | DM05 | Same Concept appears at multiple hierarchy levels | **Prohibited** | A concept has one parent in the hierarchy. Multiple parents = taxonomy structure error |
66
+
67
+ ### DM01 Resolution Protocol
68
+
69
+ When the same Fact appears in multiple Statements (e.g., cash in BS and CF):
70
+ - The Fact node is created once
71
+ - Multiple BELONGS_TO edges point to different Statement nodes
72
+ - The values must be identical — if BS cash ≠ CF closing cash, this is a cross-statement linkage violation (XL02 in logic_rules.md)
73
+
74
+ ## Referential Integrity
75
+
76
+ | ID | Rule | Description | Violation Handling |
77
+ |---|---|---|---|
78
+ | RI01 | FinancialFact's HAS_CONCEPT target must exist | Referencing a non-existent account is prohibited | Block |
79
+ | RI02 | Note's ANNOTATES target must exist | Referencing a non-existent note target is prohibited | Block |
80
+ | RI03 | Temporary IDs treated as "warning" until converted to canonical | Reflects ID instability from unstructured sources | Warning |
81
+ | RI04 | Period node must have valid date format (ISO 8601) | Start/end dates must be parseable and logically consistent | Block |
82
+ | RI05 | Entity code must be a recognized identifier (stock code, LEI, etc.) | Prevents orphan entities without external linkage | Warning |
83
+
84
+ > **RI03 real-world context:** Notes extracted from PDFs via OCR may not have stable identifiers across different extraction runs. Temporary IDs are assigned during extraction. When the same note is obtained from a structured source (XBRL), convert to the canonical ID and elevate to Block level (same as RI02).
85
+
86
+ ### Referential Integrity Verification Pipeline
87
+
88
+ 1. **At ingestion:** RI01 (concept exists), RI04 (date valid), RI05 (entity recognized)
89
+ 2. **After normalization:** RI03 upgrade (temporary → canonical IDs)
90
+ 3. **At query time:** RI02 (note targets exist), cross-statement consistency
91
+ 4. **Periodic audit:** orphan node detection (structure_spec.md §Isolated Node Prohibition)
92
+
93
+ ## Source Dependencies
94
+
95
+ ### Source of Truth Transition Rules
96
+
97
+ | Priority | Source Type | Condition | Description | Data Quality |
98
+ |---|---|---|---|---|
99
+ | 1 | Structured (XBRL, API) | Structure complete and parsing successful | Machine-readable, taxonomy-tagged | Highest |
100
+ | 2 | Semi-structured (HTML, tables) | Structured source incomplete or parsing failed | Requires parsing/extraction | Medium |
101
+ | 3 | Unstructured (PDF, images) | Semi-structured not available | Requires OCR/NLP extraction | Lowest |
102
+
103
+ - Source transitions are common: structured XBRL may be incomplete (e.g., notes not tagged), requiring fallback to semi-structured HTML or unstructured PDF for supplementary data
104
+ - **SPOF risk:** When semi-structured is the sole source for a critical data element, a single parsing failure produces complete data loss. Mitigation: maintain at least 2 extraction methods for critical items
105
+ - **ID system unification** must precede source transitions — if different sources assign different IDs to the same concept, referential integrity breaks during transition
106
+
107
+ ### Source Quality Metadata
108
+
109
+ Every FinancialFact should carry source metadata:
110
+ - **source_type:** XBRL / HTML / PDF / API
111
+ - **source_confidence:** high (structured) / medium (semi-structured) / low (unstructured)
112
+ - **extraction_date:** when the data was extracted
113
+ - **filing_id:** the specific regulatory filing the data came from
114
+ - **audit_status:** audited / reviewed / unaudited
115
+
116
+ ### Taxonomy/Instance Separation
117
+
118
+ - **Taxonomy** (Concept hierarchy definitions) and **instances** (actual financial figures/Facts) have separate dependency paths
119
+ - Taxonomy changes affect only Concept nodes; instance changes affect only FinancialFact nodes
120
+ - When both change simultaneously (e.g., IFRS taxonomy update concurrent with new filing), referential integrity of HAS_CONCEPT relationships must be re-verified
121
+ - Taxonomy version must be tracked per entity-period — different filings may use different taxonomy versions
122
+
123
+ ## Cross-Entity Dependencies
124
+
125
+ ### Entity Hierarchy
126
+
127
+ - Parent entity → Subsidiary entity → Sub-subsidiary entity
128
+ - Consolidation scope depends on control (IFRS 10): holding >50% voting rights or effective control
129
+ - Associate: significant influence (typically 20-50% ownership) → equity method accounting
130
+ - Joint venture: joint control → equity method (IFRS 11)
131
+ - Changes in ownership percentage may trigger reclassification (subsidiary → associate or vice versa), which changes the consolidation method
132
+
133
+ ### Intercompany Transaction Dependency
134
+
135
+ - Intercompany transactions must be eliminated in consolidation
136
+ - Dependency chain: Intercompany Transaction Identified → Elimination Entry → Consolidated Figure Adjusted
137
+ - Failure mode: intercompany sales not eliminated → revenue double-counted in consolidated IS
138
+ - Verification: total intercompany sales in subsidiaries should net to zero in consolidated statements
139
+
140
+ ## Circular Dependency Detection
141
+
142
+ ### Unintentional Cycles (Defects)
143
+
144
+ - **Concept ↔ Concept:** Concept A is a child of Concept B, and B is a child of A → hierarchy cycle → Block
145
+ - **Entity ↔ Entity:** Entity A is a subsidiary of Entity B, and B is a subsidiary of A → ownership cycle → Block
146
+ - **Fact ↔ Note ↔ Fact:** Fact A is annotated by Note X, which references Fact B, which is annotated by Note Y, which references Fact A → annotation cycle. Resolution: notes annotate facts, not other notes' references
147
+
148
+ ### Detection Method
149
+
150
+ 1. For Concept hierarchy: topological sort — if sort fails, cycle exists
151
+ 2. For Entity hierarchy: ownership graph traversal — if any entity is its own ancestor, cycle exists
152
+ 3. For Note-Fact references: ANNOTATES edges form a bipartite graph (Note → Fact) — if Note → Note edges exist, investigate
153
+
154
+ ## SE Transfer Verification
155
+
156
+ | SE Pattern | Finance Equivalent | Key Difference |
157
+ |---|---|---|
158
+ | Acyclic Dependencies Principle (module DAG) | Acyclic Rules (AC01-AC04) | Both prohibit cycles; finance adds domain-specific intentional bidirectional patterns |
159
+ | Dependency Inversion (depend on abstractions) | Concept hierarchy (depend on taxonomy, not raw data) | SE uses interfaces; finance uses taxonomy elements as the abstraction |
160
+ | Referential Integrity (FK constraints) | RI01-RI05 | SE enforces at DB level; finance enforces at ontology validation + pipeline level |
161
+ | Source of Truth Management | Source Priority (XBRL > HTML > PDF) | SE has single SoT; finance has hierarchical SoT with fallback chain |
162
+ | Diamond Dependencies (version conflict) | DM01-DM05 | SE resolves with version managers; finance allows some diamonds (DM01, DM02) while prohibiting others |
163
+
164
+ ## Related Documents
165
+
166
+ - structure_spec.md — Node and relationship structure where dependency rules apply
167
+ - logic_rules.md — Accounting identities and rules complementing dependency rules
168
+ - domain_scope.md — Source format axis, industry classification, normative tiers
169
+ - concepts.md — Concept mapping system subject to referential integrity
170
+ - extension_cases.md — Extension scenarios requiring dependency rule changes
171
+ - competency_qs.md — Data quality questions (CQ-DQ) testing dependency enforcement
@@ -0,0 +1,215 @@
1
+ ---
2
+ version: 2
3
+ last_updated: "2026-04-16"
4
+ source: manual
5
+ status: established
6
+ ---
7
+
8
+ # Finance Domain — Domain Scope Definition
9
+
10
+ This is the reference document used by coverage to identify "what should exist but is missing."
11
+ This domain applies when **reviewing** financial reporting ontologies — structured representations of financial statements, taxonomy elements, accounting relationships, and derived metrics.
12
+
13
+ > **Boundary with accounting domain**: The accounting domain covers transaction-level bookkeeping (journal entries, ledger, trial balance, closing procedures). This domain covers the output of accounting — financial statements, their structure, inter-statement relationships, and analytical use. Journal entry mechanics are accounting's jurisdiction; how financial statements are structured, cross-referenced, and queried is this domain's jurisdiction.
14
+
15
+ > **Boundary with business domain**: The business domain covers business model analysis, strategy, market position, and competitive dynamics. This domain covers the financial data that quantifies business performance. Revenue growth analysis as a financial metric belongs here; revenue growth as a competitive strategy signal belongs to business.
16
+
17
+ ## Classification Axes
18
+
19
+ | Axis | Values | Description |
20
+ |---|---|---|
21
+ | Reporting framework | IFRS / US-GAAP / Local GAAP (K-IFRS, J-GAAP, etc.) | Applicable accounting standard |
22
+ | Reporting unit | Consolidated / Separate | Financial statement preparation unit |
23
+ | Reporting frequency | Annual / Semi-annual / Quarterly / Interim | Disclosure frequency |
24
+ | Industry classification | General / Financial (banking, insurance, securities) | Statement structure and chart of accounts differ |
25
+ | Temporal attribute | instant / duration | Time attribution method of financial items |
26
+ | Source format | Structured (XBRL) / Semi-structured (HTML) / Unstructured (PDF) | Data origin format |
27
+
28
+ ## Key Sub-Areas
29
+
30
+ Classification axis: **Financial reporting concern** — Classified by the concern that the financial ontology must address.
31
+
32
+ Applicability markers:
33
+ - **(required)**: Must be addressed in any financial reporting ontology review. Absence indicates a fundamental gap
34
+ - **(when applicable)**: Address when the system's scope includes the relevant feature. Condition type: feature existence (binary)
35
+ - **(scale-dependent)**: Becomes required beyond a scale threshold documented per item. Condition type: scale threshold (quantitative boundary crossed)
36
+
37
+ ### Financial Statement Structure
38
+ - **Statement Components** (required): Statement of Financial Position (BS), Income Statement (IS), Cash Flow Statement (CF), Statement of Changes in Equity, Statement of Comprehensive Income — components and interrelationships
39
+ - **Statement Linkage** (required): Net income flowing from IS to equity changes, opening/closing balance consistency across BS periods, CF reconciliation to BS cash balances
40
+ - **Financial Industry Statements** (when applicable): Insurance contract liabilities, loan receivables, regulatory capital ratios — additional or differently structured statements for banking, insurance, and securities industries
41
+
42
+ ### Chart of Accounts Classification
43
+ - **5-Element Structure** (required): Assets/Liabilities/Equity/Revenue/Expenses hierarchical classification, current/non-current distinction, normal balance direction
44
+ - **Account Hierarchy** (required): Parent-child account relationships, subtotal computation paths, roll-up logic from line items to totals
45
+ - **Extension Accounts** (required): Company-specific taxonomy extensions beyond standard accounts, normalization mapping to canonical names
46
+
47
+ ### Accounting Identity and Constraints
48
+ - **Fundamental Identities** (required): Assets = Liabilities + Equity (BS), revenue - expenses = net income (IS), opening cash + CF activities = closing cash (CF)
49
+ - **Cross-Statement Linkage** (required): Net income from IS appears in equity changes, CF reconciles to BS cash balance, comprehensive income components appear in OCI statement
50
+ - **Constraint Conflict Detection** (required): Consolidated ≥ separate total assets (general expectation), identity violations as data quality signals
51
+
52
+ ### Period and Point-in-Time
53
+ - **Temporal Attribution** (required): instant (BS items, point-in-time) vs duration (IS/CF items, over-a-period) distinction and enforcement
54
+ - **Period Matching** (required): Same-duration comparison enforcement (quarterly vs quarterly, annual vs annual), cumulative vs single-quarter distinction
55
+ - **Restatement Management** (required): Version tracking for restated figures, final version determination, historical comparison across restatements
56
+
57
+ ### Consolidated and Separate Reporting
58
+ - **Consolidation Scope** (required): Subsidiary inclusion criteria, consolidation adjustments, intercompany transaction elimination
59
+ - **Segment Reporting** (required): Business segment and geographic segment dimensions, segment-level P&L, reconciliation to consolidated totals
60
+ - **Associate and Joint Venture** (when applicable): Equity method accounting, proportionate consolidation, significant influence determination
61
+
62
+ ### Notes and Disclosure System
63
+ - **Note Structure** (required): Reference relationships between notes and main statement items, note categorization (accounting policies, estimates, contingencies)
64
+ - **Accounting Policy Disclosure** (required): Recognition, measurement, and presentation method choices disclosed per significant policy area
65
+ - **Contingent Liabilities and Commitments** (required): Off-balance-sheet items, guarantees, pending litigation — items not on the main statements but material for analysis
66
+
67
+ ### Key Accounting Standards
68
+ - **Revenue Recognition (IFRS 15)** (required): 5-step model (contract → performance obligations → transaction price → allocation → recognition), over-time vs point-in-time, variable consideration
69
+ - **Financial Instruments (IFRS 9)** (required): Classification (amortised cost/FVOCI/FVPL), impairment (3-stage expected credit loss), hedge accounting basics
70
+ - **Leases (IFRS 16)** (required): Right-of-use asset and lease liability recognition, operating/finance lease distinction elimination (lessee), impact on BS and ratios
71
+ - **Business Combinations (IFRS 3)** (when applicable): Acquisition method, goodwill recognition, purchase price allocation, contingent consideration
72
+ - **Impairment (IAS 36)** (when applicable): Cash-generating units, recoverable amount (higher of fair value less costs to sell and value in use), impairment indicators
73
+ - **Fair Value Measurement (IFRS 13)** (when applicable): Fair value hierarchy (Level 1 quoted prices, Level 2 observable inputs, Level 3 unobservable inputs), valuation techniques
74
+
75
+ ### Derived Metrics and Analysis
76
+ - **Profitability Metrics** (required): ROE, ROA, operating profit margin, net profit margin, EBITDA margin
77
+ - **Leverage Metrics** (required): Debt ratio, debt-to-equity ratio, interest coverage ratio, net debt
78
+ - **Liquidity Metrics** (required): Current ratio, quick ratio, cash conversion cycle
79
+ - **Market Metrics** (when applicable): EPS, P/E ratio, P/B ratio, dividend yield, market capitalization
80
+ - **Per-Share Metrics** (when applicable): Basic EPS, diluted EPS, book value per share
81
+
82
+ ### Regulatory and Compliance
83
+ - **IFRS Compliance** (required): Conformance to applicable IFRS/IAS standards, first-time adoption considerations
84
+ - **Audit Opinion** (required): Unqualified/qualified/adverse/disclaimer classification, going concern emphasis, key audit matters
85
+ - **Disclosure Requirements** (required): Statutory disclosure framework by jurisdiction, mandatory vs voluntary disclosures
86
+ - **Filing Requirements** (when applicable): SEC (10-K, 10-Q), FSC (사업보고서), FCA filings — jurisdiction-specific filing formats and deadlines
87
+
88
+ ## Normative System Classification
89
+
90
+ Standards governing financial reporting operate at four distinct tiers.
91
+
92
+ | Tier | Name | Enforcement Mechanism | Change Velocity | Examples |
93
+ |------|------|----------------------|-----------------|---------|
94
+ | Tier-1a | Accounting Standards | **Legal obligation** + auditor enforcement | Slow (years) | IFRS/IAS standards, US-GAAP ASC, local GAAP |
95
+ | Tier-1b | Regulatory Requirements | **Securities regulator** enforcement | Medium (annual) | SEC filing rules, FSC disclosure regulations, stock exchange listing requirements |
96
+ | Tier-2 | Taxonomy and Data Standards | Industry consortium enforcement, regulatory adoption | Medium (annual) | XBRL 2.1, IFRS Taxonomy, FIBO, ESEF |
97
+ | Tier-3 | Industry Practice and Heuristics | Analyst convention, peer comparison | Fast (per analysis) | Non-GAAP metrics (adjusted EBITDA), industry KPIs, analyst consensus methods |
98
+
99
+ **Ordering principle**: Tier-1a > Tier-1b > Tier-2 > Tier-3. Accounting standards override everything; regulatory requirements override data standards and practice; data standards override practice.
100
+
101
+ Tier classification decision tree:
102
+ 1. **Tier-1a**: Is this rule from an IFRS/IAS/US-GAAP standard or local GAAP? Would non-conformance produce a qualified audit opinion?
103
+ 2. **Tier-1b**: If not Tier-1a, is this rule from a securities regulator (SEC, FSC, FCA)? Would non-conformance produce a filing rejection or regulatory action?
104
+ 3. **Tier-2**: If not Tier-1a/1b, is this rule from a data/taxonomy standard (XBRL, IFRS Taxonomy, FIBO)? Is it enforced by filing systems or data consumers?
105
+ 4. **Tier-3**: If none of the above, is this an industry practice, analyst convention, or common analytical method?
106
+
107
+ ## Cross-Cutting Concerns
108
+
109
+ ### Data Quality and Consistency
110
+
111
+ Spans all sub-areas. Financial data must be internally consistent (identities hold, cross-statement linkages match) and externally consistent (comparable across entities and periods).
112
+
113
+ - Internal: logic_rules.md §Accounting Identities + §Cross-Statement Linkage Rules
114
+ - External: concepts.md §Extension Account Handling (normalization for comparability)
115
+ - Temporal: logic_rules.md §Period Rules (period matching for valid comparison)
116
+
117
+ ### Source Trustworthiness
118
+
119
+ Spans Financial Statement Structure, Notes System, and Regulatory Compliance. Data from different sources (XBRL, HTML, PDF) has different reliability levels.
120
+
121
+ - Source priority: dependency_rules.md §Source of Truth Transition Rules
122
+ - Audit status: reviewed (quarterly) vs audited (annual) vs unaudited
123
+ - Restatement handling: extension_cases.md §Restatement Processing
124
+
125
+ ## Required Concept Categories
126
+
127
+ | Category | Description | Risk if Missing | Example of Failure |
128
+ |---|---|---|---|
129
+ | Reporting entity | Legal entity that prepares financial statements | Cannot attribute financial data to an entity | Revenue figure exists but no entity reference — cannot determine whose revenue it is |
130
+ | Financial item | Monetary information at the account level | No queryable data | Ontology has structure but no actual financial figures loaded |
131
+ | Reporting period | Time range of financial information | Temporal analysis impossible | Revenue figure exists without period — cannot determine which year it belongs to |
132
+ | Accounting policy | Recognition, measurement, and presentation choices | Comparison produces misleading results | Two companies' inventory figures compared without noting one uses FIFO and the other weighted average |
133
+ | Note information | Detailed descriptions of main statement items | Contingent liabilities and off-balance-sheet risks invisible | Material litigation pending but not discoverable because notes are excluded from the ontology |
134
+ | External reference | Taxonomy and standard linkage information | Inter-entity comparison impossible | Each entity's "revenue" stored under different concept IDs with no normalization mapping |
135
+ | Segment information | Business division-level data | Diversified company analysis impossible | Conglomerate's overall revenue is available but cannot break down which division contributes what |
136
+ | Audit status | Audit opinion and assurance level | Data reliability unknown | Restated quarterly figures treated with same confidence as audited annual figures |
137
+
138
+ ## Reference Standards
139
+
140
+ This file is the **single source of truth for external standard version information** within the finance domain.
141
+
142
+ | Standard | Version/Year | Application Area | Core Content |
143
+ |----------|-------------|-----------------|--------------|
144
+ | IFRS | 2024 (annual bound volume) | Accounting standards | 17 IFRS + 29 IAS standards governing recognition, measurement, presentation, disclosure |
145
+ | XBRL | 2.1 (2003, maintained) | Data taxonomy | Structured financial reporting specification — instances, taxonomies, linkbases |
146
+ | IFRS Taxonomy | 2024 | Taxonomy elements | ~6,000 elements mapping to IFRS disclosure requirements |
147
+ | FIBO | Ongoing (W3C EDMC) | Financial ontology | Financial Industry Business Ontology — entities, instruments, regulatory concepts |
148
+ | US-GAAP | ASC (codification, updated) | US accounting standards | ~90 topics codified by FASB |
149
+ | ESEF | 2020 (EU regulation) | European filing | European Single Electronic Format — mandatory XBRL tagging for IFRS annual reports in EU |
150
+ | K-IFRS | 2024 (aligned with IFRS) | Korean accounting | Korean adoption of IFRS with local amendments |
151
+
152
+ ## Bias Detection Criteria
153
+
154
+ ### Coverage Distribution
155
+
156
+ - If more than 70% of questions concentrate on a single financial statement (e.g., BS only) → **statement bias**
157
+ - If only one of consolidated/separate is addressed → **reporting unit gap**
158
+ - If only a single point in time is addressed with no time series → **temporal bias**
159
+
160
+ ### System Completeness
161
+
162
+ - If the notes area is completely ignored → **notes absence** (contingent liabilities, policies invisible)
163
+ - If only raw items are addressed with no derived metrics → **analysis gap**
164
+ - If only a single industry (general or financial) is addressed → **industry bias**
165
+ - If source format is not differentiated (XBRL vs PDF treated identically) → **source quality blindness**
166
+
167
+ ### Analytical Depth
168
+
169
+ - If no inter-entity comparison capability exists → **comparability absence**
170
+ - If restatement handling is undefined → **version management gap**
171
+ - If segment reporting is absent for multi-segment entities → **segment blindness**
172
+ - If audit opinion/status is not tracked → **assurance level ignorance**
173
+
174
+ ## Inter-Document Contract
175
+
176
+ ### Rule Ownership
177
+
178
+ | Cross-cutting Topic | Owner File | Other Files |
179
+ |---|---|---|
180
+ | Accounting identities and math | logic_rules.md §Accounting Identities | structure_spec.md (references), dependency_rules.md (references) |
181
+ | Concept definitions and synonyms | concepts.md | All other files reference, do not redefine |
182
+ | Dependency direction rules | dependency_rules.md §Direction Rules | structure_spec.md (references) |
183
+ | Source of Truth priority | dependency_rules.md §Source of Truth Transition Rules | domain_scope.md (tier mapping) |
184
+ | Structural requirements | structure_spec.md §Required Node Types, §Required Relationships | Other files reference |
185
+ | Conciseness criteria | conciseness_rules.md | Other files reference |
186
+ | Competency questions | competency_qs.md | Other files provide inference path targets |
187
+ | Constraint conflict resolution | logic_rules.md §Constraint Conflict Checking | dependency_rules.md (cascading failures) |
188
+
189
+ ### Sub-area to CQ Section Mapping
190
+
191
+ | Sub-area | CQ Sections | Coverage |
192
+ |---|---|---|
193
+ | Financial Statement Structure | CQ-FS | Full |
194
+ | Chart of Accounts Classification | CQ-CA | Full |
195
+ | Accounting Identity | CQ-AI | Full |
196
+ | Period/Point-in-Time | CQ-TP | Full |
197
+ | Consolidated/Separate | CQ-CS | Full |
198
+ | Notes and Disclosure | CQ-ND | Full |
199
+ | Key Accounting Standards | CQ-AS | Full |
200
+ | Derived Metrics | CQ-DM | Full |
201
+ | Regulatory and Compliance | CQ-RC | Full |
202
+
203
+ Cross-cutting CQ sections:
204
+ - CQ-IE (Inter-Entity Comparison) — spans Chart of Accounts, Derived Metrics, Consolidated/Separate
205
+ - CQ-TS (Time Series) — spans all sub-areas with temporal dimension
206
+ - CQ-DQ (Data Quality) — spans all sub-areas; enforcement through logic_rules.md identities
207
+
208
+ ## Related Documents
209
+ - concepts.md — Synonym mappings, homonyms, interpretation principles, taxonomy element definitions
210
+ - competency_qs.md — Competency questions organized by CQ-ID sections
211
+ - structure_spec.md — Node types, relationships, and structural requirements
212
+ - logic_rules.md — Accounting identities, period rules, IFRS-specific rules
213
+ - dependency_rules.md — Acyclic, direction, diamond, referential integrity rules
214
+ - extension_cases.md — Taxonomy change, new entity, multi-country scenarios
215
+ - conciseness_rules.md — Allowed/prohibited redundancy patterns