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,665 @@
1
+ # LLM Runtime Interface Principles
2
+
3
+ > 상태: Active
4
+ > 목적: `LLM`과 runtime 사이의 interface를 어떤 원칙과 기준으로 구성할지 고정한다.
5
+ > 기준 문서:
6
+ > - `.onto/principles/productization-charter.md`
7
+ > - `.onto/authority/core-lexicon.yaml`
8
+
9
+ ---
10
+
11
+ ## 1. Position
12
+
13
+ 이 문서는 `LLM`과 runtime 사이의 interface를
14
+ 단순한 prompt formatting 문제가 아니라
15
+ `ontology as code`의 핵심 경계 문제로 본다.
16
+
17
+ 즉 interface는 아래를 동시에 만족해야 한다.
18
+
19
+ 1. `LLM`이 실제로 잘 작동해야 한다
20
+ 2. runtime은 semantic drift를 임의로 보정하지 못해야 한다
21
+ 3. prompt path와 implementation path가 같은 artifact truth를 봐야 한다
22
+
23
+ 한 문장으로 말하면:
24
+
25
+ - runtime은 seat와 gate를 고정하고
26
+ - `LLM`은 그 seat 안에서 의미 판단을 수행한다
27
+
28
+ ---
29
+
30
+ ## 2. Core Principle
31
+
32
+ runtime은 interface의 `meaning`이 아니라 `shape`를 고정한다.
33
+ `LLM`은 그 shape 안에서 의미 판단을 수행한다.
34
+
35
+ LLM/runtime 소유 분리의 상세 원칙은 `.onto/principles/llm-native-development-guideline.md`가 canonical이다.
36
+
37
+ ---
38
+
39
+ ## 3. Interface Construction Principles
40
+
41
+ ### 3.1 declared boundary는 세 가지를 함께 정한다
42
+
43
+ `declared boundary`는 단순히
44
+ “무엇을 넘길 것인가”만 정하는 게 아니다.
45
+
46
+ 반드시 아래 세 가지를 함께 정해야 한다.
47
+
48
+ 1. 어떤 요소를 선언하는가
49
+ 2. 어떤 방식으로 제시하는가
50
+ 3. 어떤 방식으로 통제하는가
51
+
52
+ 즉 interface boundary는
53
+ `declared inputs + presentation mode + control policy`
54
+ 의 조합이다.
55
+
56
+ 하지만 실제 제품화에서는 이것을 더 정확히 아래 네 seat로 분리해 다루는 것이 좋다.
57
+
58
+ 1. `경계 정책 (BoundaryPolicy)`
59
+ 2. `경계 제시 (BoundaryPresentation)`
60
+ 3. `경계 강제 프로필 (BoundaryEnforcementProfile)`
61
+ 4. `실효 경계 상태 (EffectiveBoundaryState)`
62
+
63
+ ### 3.2 declared input은 두 층으로 나뉜다
64
+
65
+ `LLM`이 읽는 입력은 아래 두 층으로 나뉜다.
66
+
67
+ #### 선언형 handoff 입력 (DeclaredHandoffInputs)
68
+
69
+ 주체: runtime
70
+
71
+ 내용:
72
+
73
+ 1. role / task instruction
74
+ 2. primary target
75
+ 3. required context
76
+ 4. output seat
77
+ 5. explicit constraints
78
+ 6. exploration allowance boundary
79
+
80
+ 성격:
81
+
82
+ 1. predeclared
83
+ 2. artifact-first
84
+ 3. deterministic
85
+ 4. contract로 고정 가능
86
+
87
+ #### 자율 탐색 입력 (SelfDirectedExplorationInputs)
88
+
89
+ 주체: `LLM`
90
+
91
+ 내용:
92
+
93
+ 1. 추가 파일 탐색
94
+ 2. repo 내부 탐색
95
+ 3. 필요 시 웹 리서치
96
+ 4. 추가 evidence 확보
97
+ 5. 근거 재검증
98
+
99
+ 성격:
100
+
101
+ 1. self-directed
102
+ 2. semantic
103
+ 3. non-deterministic
104
+ 4. 문제 해결 과정의 일부
105
+
106
+ 중요한 규칙:
107
+
108
+ - runtime은 첫 번째 층을 제공한다
109
+ - `LLM`은 두 번째 층을 스스로 획득한다
110
+ - runtime은 두 번째 층의 대상 선택을 대신하면 안 된다
111
+
112
+ 즉 runtime은
113
+ `무엇을 반드시 줘야 하는가`
114
+ 를 고정하고,
115
+ `LLM`은
116
+ `무엇을 더 찾아야 하는가`
117
+ 를 판단한다.
118
+
119
+ ### 3.3 artifact-first interface
120
+
121
+ `LLM`/runtime interface는 자유 텍스트 conversation이 아니라
122
+ artifact seat를 중심으로 구성한다.
123
+
124
+ 즉 interface는 아래 조합으로 정의한다.
125
+
126
+ 1. input artifact refs
127
+ 2. optional embedded primary content
128
+ 3. output artifact seat
129
+ 4. bounded execution directives
130
+
131
+ 예:
132
+
133
+ - input:
134
+ - `materialized-input.md`
135
+ - `.onto/roles/logic.md`
136
+ - `interpretation.yaml`
137
+ - `binding.yaml`
138
+ - output:
139
+ - `round1/logic.md`
140
+
141
+ ### 3.4 declared boundary elements
142
+
143
+ `declared boundary`는 최소한 아래 요소들에 대해 seat와 policy를 가져야 한다.
144
+
145
+ 1. instruction boundary
146
+ 2. target boundary
147
+ 3. required context boundary
148
+ 4. output boundary
149
+ 5. exploration boundary
150
+ 6. write boundary
151
+ 7. tool/research boundary
152
+ 8. evidence/provenance boundary
153
+ 9. degraded/failure boundary
154
+
155
+ 각 항목의 뜻은 아래와 같다.
156
+
157
+ #### instruction boundary
158
+
159
+ 어떤 역할 정의와 task 지시가 authoritative instruction인지 정한다.
160
+
161
+ 예:
162
+
163
+ - `.onto/roles/logic.md`
164
+ - `prompt-packets/logic.prompt.md`
165
+
166
+ #### target boundary
167
+
168
+ 이번 reasoning의 primary object가 무엇인지 정한다.
169
+
170
+ 예:
171
+
172
+ - `materialized-input.md`
173
+ - `review_target_scope`
174
+
175
+ #### required context boundary
176
+
177
+ 반드시 같이 고려해야 하는 supporting artifact를 정한다.
178
+
179
+ 예:
180
+
181
+ - `binding.yaml`
182
+ - `interpretation.yaml`
183
+ - `context-candidate-assembly.yaml`
184
+
185
+ #### output boundary
186
+
187
+ 결과가 반드시 써져야 하는 seat를 정한다.
188
+
189
+ 예:
190
+
191
+ - `round1/logic.md`
192
+ - `synthesis.md`
193
+
194
+ #### exploration boundary
195
+
196
+ `LLM`이 자율 탐색할 수 있는 범위를 정한다.
197
+
198
+ 예:
199
+
200
+ - repo 내부 탐색 허용
201
+ - packet에 명시된 ref 우선
202
+ - target 내부 링크 재귀 추적 금지
203
+
204
+ #### write boundary
205
+
206
+ `LLM`이 어디에 써도 되고 어디에 쓰면 안 되는지 정한다.
207
+
208
+ 예:
209
+
210
+ - output seat만 write 허용
211
+ - source doc 수정 금지
212
+
213
+ #### tool/research boundary
214
+
215
+ shell, 파일 읽기, 웹 리서치 등 외부 도구 사용 가능 범위를 정한다.
216
+
217
+ 예:
218
+
219
+ - repo file read 허용
220
+ - web research 금지 또는 허용
221
+ - patch/write 금지
222
+
223
+ #### evidence/provenance boundary
224
+
225
+ 추가 탐색을 했다면 어떤 evidence/provenance를 남겨야 하는지 정한다.
226
+
227
+ 예:
228
+
229
+ - external source URL
230
+ - inspected file ref
231
+ - cited section
232
+
233
+ #### degraded/failure boundary
234
+
235
+ 입력이 부족하거나 output을 못 만들었을 때 어떤 상태로 끝내야 하는지 정한다.
236
+
237
+ 예:
238
+
239
+ - `Unverified`
240
+ - `deliberation required`
241
+ - `fail-close`
242
+
243
+ ### 3.5 boundary seat 분리
244
+
245
+ `declared boundary`는 아래처럼 seat를 나눠서 표현하는 것이 좋다.
246
+
247
+ #### `BoundaryPolicy`
248
+
249
+ 무엇이 허용/금지/요구되는지를 선언한다.
250
+
251
+ 예:
252
+
253
+ ```yaml
254
+ boundary_policy:
255
+ web_research_policy: denied
256
+ filesystem_scope:
257
+ allowed_roots:
258
+ - /repo-a
259
+ write_policy:
260
+ allowed_outputs:
261
+ - round1/logic.md
262
+ ```
263
+
264
+ #### `BoundaryPresentation`
265
+
266
+ 그 정책을 `LLM`에게 어떤 방식으로 드러내는지 선언한다.
267
+
268
+ 예:
269
+
270
+ ```yaml
271
+ boundary_presentation:
272
+ prompt_packet: declared
273
+ binding_artifact: declared
274
+ capability_notice: optional
275
+ ```
276
+
277
+ #### `BoundaryEnforcementProfile`
278
+
279
+ 그 정책이 실제 실행 환경에서 어떻게 강제되는지 선언한다.
280
+
281
+ 예:
282
+
283
+ ```yaml
284
+ boundary_enforcement_profile:
285
+ prompt: declared_only
286
+ filesystem: mcp_scoped
287
+ network: environment_enforced
288
+ write: host_enforced
289
+ ```
290
+
291
+ #### `EffectiveBoundaryState`
292
+
293
+ 실제로 적용된 최종 상태를 남긴다.
294
+
295
+ 예:
296
+
297
+ ```yaml
298
+ effective_boundary_state:
299
+ web_research_policy: denied
300
+ filesystem_scope:
301
+ allowed_roots:
302
+ - /repo-a
303
+ ```
304
+
305
+ ### 3.6 weakest/strongest boundary
306
+
307
+ 같은 `BoundaryPolicy`라도 강제 강도는 다를 수 있다.
308
+
309
+ #### 약한 경계
310
+
311
+ - prompt-declared only
312
+ - host가 사실상 신뢰에 기대는 경계
313
+
314
+ #### 강한 경계
315
+
316
+ - host-enforced
317
+ - MCP-scoped
318
+ - environment-enforced
319
+
320
+ 현재 productization 단계에서는
321
+ `worker + prompt-declared boundary`로 먼저 작동을 확인할 수 있다.
322
+
323
+ 하지만 설계 자체는
324
+ 나중에 더 강한 enforcement로 승격될 수 있어야 한다.
325
+
326
+ ### 3.7 deny precedence
327
+
328
+ 정책과 강제 프로필이 여러 층에 걸쳐 공존할 때는
329
+ 기본 우선순위를 아래처럼 둔다.
330
+
331
+ - 가장 강한 `deny`가 승리한다
332
+
333
+ 예:
334
+
335
+ 1. prompt는 web 허용
336
+ 2. host는 web 허용
337
+ 3. environment는 network 차단
338
+
339
+ 이 경우 `EffectiveBoundaryState`는 `web_research_policy: denied`가 된다.
340
+
341
+ 즉 선언보다 실제 적용 상태가 우선이고,
342
+ 실제 적용 상태에서는 가장 강한 deny가 authority가 된다.
343
+
344
+ ### 3.8 smallest sufficient bundle
345
+
346
+ interface는 `LLM`에게 가장 큰 bundle을 던지는 것이 아니라,
347
+ **가장 작은 충분 집합**을 줘야 한다.
348
+
349
+ 원칙:
350
+
351
+ 1. primary reasoning object는 우선 제공
352
+ 2. secondary context는 ref로 제공
353
+ 3. optional context는 정말 필요할 때만 읽게 한다
354
+ 4. target 안의 참조를 재귀적으로 계속 따라가게 만들지 않는다
355
+
356
+ 즉 좋은 interface는
357
+ `more context`가 아니라 `sharper context`다.
358
+
359
+ ### 3.9 declared boundary presentation modes
360
+
361
+ declared boundary는 아래 방식으로 제시할 수 있다.
362
+
363
+ 1. embed
364
+ 2. ref
365
+ 3. seat map
366
+ 4. explicit allow/deny rule
367
+ 5. bounded policy statement
368
+
369
+ 즉 runtime은 단순히 파일 몇 개를 나열하는 것이 아니라,
370
+ 각 요소가 어떤 presentation mode를 갖는지까지 정해야 한다.
371
+
372
+ 예:
373
+
374
+ - `materialized input` -> embed
375
+ - `binding.yaml` -> ref
376
+ - `round1/logic.md` -> output seat
377
+ - `repo 내부 탐색 허용, web 금지` -> bounded policy statement
378
+
379
+ ### 3.10 embed vs ref criteria
380
+
381
+ 무엇을 packet에 직접 넣고 무엇을 ref로만 줄지의 기준은 아래다.
382
+
383
+ #### embed해야 하는 것
384
+
385
+ 1. 이번 reasoning의 핵심 대상 본문
386
+ 2. 한 번의 lens 판단에 반드시 필요한 짧은 canonical instruction
387
+ 3. file lookup 비용보다 즉시 가시성이 더 중요한 작은 primary input
388
+
389
+ 예:
390
+
391
+ - `materialized input`
392
+ - lens-specific minimal directives
393
+
394
+ #### ref로 넘겨야 하는 것
395
+
396
+ 1. 부가 맥락 문서
397
+ 2. session metadata
398
+ 3. binding/interpretation artifact
399
+ 4. context candidate assembly
400
+ 5. 다른 lens output seat
401
+
402
+ 예:
403
+
404
+ - `interpretation.yaml`
405
+ - `binding.yaml`
406
+ - `context-candidate-assembly.yaml`
407
+ - `round1/{lens}.md`
408
+
409
+ #### embed하면 안 되는 것
410
+
411
+ 1. target과 직접 무관한 대형 문서 묶음
412
+ 2. target 본문을 다시 감싼 giant repeated payload
413
+ 3. 이미 file seat가 있는 artifact 전체를 중복 복사한 packet
414
+
415
+ 즉:
416
+
417
+ - primary target content는 embed 가능
418
+ - supporting context는 원칙적으로 ref
419
+
420
+ ### 3.11 declared boundary control modes
421
+
422
+ declared boundary의 통제 방식은 최소 아래를 포함해야 한다.
423
+
424
+ 1. allowlist
425
+ 2. denylist
426
+ 3. scope cap
427
+ 4. write restriction
428
+ 5. provenance obligation
429
+ 6. fail-close gate
430
+
431
+ 예:
432
+
433
+ - packet에 명시된 파일 우선
434
+ - 문서 내부 링크의 재귀 추적 금지
435
+ - output seat 외 write 금지
436
+ - 웹 리서치 시 URL 증거 남기기
437
+ - required section이 없으면 fail-close
438
+
439
+ 즉 boundary는 단순 제시가 아니라
440
+ `allowed / disallowed / required / forbidden`
441
+ 을 함께 선언해야 한다.
442
+
443
+ ### 3.12 no hidden expansion
444
+
445
+ packet이 가리키는 파일 집합이 interface boundary다.
446
+
447
+ 따라서 `LLM`은 아래를 기본으로 해서는 안 된다.
448
+
449
+ 1. target 안의 문서 링크를 계속 재귀 추적
450
+ 2. packet에 없는 광범위한 repo 탐색
451
+ 3. self-directed context expansion
452
+
453
+ 예외가 있으려면 packet이나 contract가 그 확장을 명시적으로 허용해야 한다.
454
+
455
+ ### 3.13 single-purpose output
456
+
457
+ 각 interface call은 단일 목적의 output seat를 가진다.
458
+
459
+ 예:
460
+
461
+ - `logic` -> `round1/logic.md`
462
+ - `axiology` -> `round1/axiology.md`
463
+ - `synthesize` -> `synthesis.md`
464
+
465
+ runtime은 이 output seat의 존재/비어있지 않음을 검사할 수는 있지만,
466
+ 그 의미를 다시 써서는 안 된다.
467
+
468
+ ### 3.14 human-readable source layer와 primary artifact를 분리
469
+
470
+ `LLM` output은 우선 human-readable/source layer로 남을 수 있다.
471
+
472
+ 예:
473
+
474
+ - `round1/*.md`
475
+ - `synthesis.md`
476
+
477
+ 그 다음 runtime이 deterministic하게 아래를 조립한다.
478
+
479
+ - `final-output.md`
480
+ - `review-record.yaml`
481
+
482
+ 즉 interface의 중요한 원칙은:
483
+
484
+ - `LLM`은 reasoning/source layer를 만든다
485
+ - runtime은 primary artifact를 조립한다
486
+
487
+ ### 3.15 host/runtime neutrality
488
+
489
+ interface는 특정 host command에 묶이면 안 된다.
490
+
491
+ 즉 canonical seat는 아래 두 축으로 본다.
492
+
493
+ 1. `실행 실현 방식 (execution_realization)`
494
+ 2. `호스트 런타임 (host_runtime)`
495
+
496
+ 예:
497
+
498
+ ```yaml
499
+ execution_realization: worker
500
+ host_runtime: codex
501
+ ```
502
+
503
+ interface contract는 이 두 축을 분리해서 유지해야 한다.
504
+
505
+ ### 3.16 process identity preservation
506
+
507
+ prompt path와 implementation path는
508
+ interface의 identity가 같아야 한다.
509
+
510
+ 즉 아래가 동일해야 한다.
511
+
512
+ - `declared handoff inputs`
513
+ - `presentation mode`
514
+ - `control policy`
515
+
516
+ 허용되지 않는 것:
517
+
518
+ 1. target마다 ad hoc prompt로 절차를 바꾸는 것
519
+ 2. 설계 문서에 없는 reasoning step을 adapter 내부에서 암묵적으로 추가하는 것
520
+ 3. contract에 없는 output field를 사실상 required처럼 쓰는 것
521
+
522
+ ---
523
+
524
+ ## 4. Interface Gate Principles
525
+
526
+ ### 4.1 runtime은 structural gate다
527
+
528
+ runtime이 검사하는 것은 아래다.
529
+
530
+ 1. declared input seat 존재 여부
531
+ 2. declared output seat 존재 여부
532
+ 3. output 비어있지 않음
533
+ 4. deterministic field/section extraction 가능 여부
534
+ 5. artifact 조립 가능 여부
535
+
536
+ 즉 runtime은 `structure`만 gate한다.
537
+
538
+ ### 4.2 `LLM`은 semantic gate다
539
+
540
+ `맥락 격리 추론 단위 (ContextIsolatedReasoningUnit)`는
541
+ 메인 콘텍스트와 분리된 semantic gate 역할을 한다.
542
+
543
+ 즉:
544
+
545
+ 1. 메인 콘텍스트 drift를 그대로 따라가지 않는다
546
+ 2. lens-specific 관점에서 독립 판단을 한다
547
+ 3. disagreement와 uncertainty를 독립적으로 남긴다
548
+
549
+ ### 4.3 boundary-constrained degradation
550
+
551
+ 경계 때문에 필요한 탐색이나 근거 확보가 불가능해진 경우,
552
+ `LLM`은 억지 결론으로 타협하면 안 된다.
553
+
554
+ 이때는 아래 같은 degraded 상태로 끝내야 한다.
555
+
556
+ 1. `insufficient_access`
557
+ 2. `insufficient_evidence_within_boundary`
558
+ 3. `deliberation_required`
559
+ 4. `fail-close`
560
+
561
+ 즉 boundary는 단순 금지 규칙이 아니라,
562
+ 문제를 풀지 못할 때의 종료 posture까지 함께 가져야 한다.
563
+
564
+ ---
565
+
566
+ ## 5. Review Interface Template
567
+
568
+ 현재 `review`에서의 canonical interface template은 아래다.
569
+
570
+ ### 5.1 runtime -> lens
571
+
572
+ input:
573
+
574
+ 1. `role definition`
575
+ 2. `materialized input`
576
+ 3. optional refs:
577
+ - `interpretation.yaml`
578
+ - `binding.yaml`
579
+ - `session metadata`
580
+ - `target snapshot`
581
+ - `context candidate assembly`
582
+ 4. declared control policy:
583
+ - repo exploration allowance
584
+ - recursive expansion 금지
585
+ - output seat only write
586
+ - provenance requirement if extra exploration occurs
587
+ 5. optional boundary seats:
588
+ - `BoundaryPolicy`
589
+ - `BoundaryPresentation`
590
+ - `BoundaryEnforcementProfile`
591
+ - `EffectiveBoundaryState`
592
+
593
+ output:
594
+
595
+ 1. `round1/{lens}.md`
596
+
597
+ ### 5.2 runtime -> synthesize
598
+
599
+ input:
600
+
601
+ 1. `materialized input`
602
+ 2. participating `round1/{lens}.md` refs
603
+ 3. optional refs:
604
+ - `interpretation.yaml`
605
+ - `binding.yaml`
606
+ - `session metadata`
607
+ 4. declared control policy:
608
+ - participating lens outputs만 authoritative input
609
+ - 새 독립 관점 invent 금지
610
+ - output seat only write
611
+ 5. optional boundary seats:
612
+ - `BoundaryPolicy`
613
+ - `EffectiveBoundaryState`
614
+
615
+ output:
616
+
617
+ 1. `synthesis.md`
618
+
619
+ ### 5.3 runtime after LLM
620
+
621
+ input:
622
+
623
+ 1. `synthesis.md`
624
+ 2. `binding.yaml`
625
+ 3. `session-metadata.yaml`
626
+
627
+ output:
628
+
629
+ 1. `final-output.md`
630
+ 2. `review-record.yaml`
631
+
632
+ ---
633
+
634
+ ## 6. Interface Design Priority Ordering
635
+
636
+ productization 중간 단계에서는
637
+ runtime deterministicization을 늘리는 것보다
638
+ `LLM`/runtime interface를 더 잘 자르는 것이 우선일 수 있다.
639
+
640
+ interface를 손볼 때의 우선순위는 아래다.
641
+
642
+ 1. `LLM`이 실제로 더 잘 작동하도록 bundle을 줄인다
643
+ 2. primary target과 output seat를 더 선명하게 한다
644
+ 3. supporting context는 ref로 내린다
645
+ 4. seat와 artifact truth는 유지한다
646
+ 5. 그 다음에만 hardened runtime gate를 더한다
647
+
648
+ 즉:
649
+
650
+ - 먼저 `작동하는 review`
651
+ - 그 다음 `더 엄격한 runtime`
652
+
653
+ 순서다.
654
+
655
+ ---
656
+
657
+ ## 7. Immediate Rule Of Thumb
658
+
659
+ 실무적으로는 아래 한 줄로 판단한다.
660
+
661
+ - runtime interface는 **seat를 고정하되 bundle은 최소화**하고,
662
+ - `LLM`에게는 **선언형 handoff 입력 + explicit output seat + bounded refs + declared control policy**를 준다.
663
+
664
+ 이 기준을 벗어나 giant packet, hidden expansion, semantic repair가 생기면
665
+ interface를 다시 잘라야 한다.