onto-mcp 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.onto/authority/core-lens-registry.yaml +134 -0
- package/.onto/authority/core-lexicon.yaml +1562 -0
- package/.onto/authority/diagnostic-codes.yaml +94 -0
- package/.onto/domains/accounting/competency_qs.md +384 -0
- package/.onto/domains/accounting/concepts.md +186 -0
- package/.onto/domains/accounting/conciseness_rules.md +160 -0
- package/.onto/domains/accounting/dependency_rules.md +239 -0
- package/.onto/domains/accounting/domain_scope.md +213 -0
- package/.onto/domains/accounting/extension_cases.md +416 -0
- package/.onto/domains/accounting/logic_rules.md +226 -0
- package/.onto/domains/accounting/structure_spec.md +298 -0
- package/.onto/domains/accounting-kr/competency_qs.md +562 -0
- package/.onto/domains/accounting-kr/concepts.md +187 -0
- package/.onto/domains/accounting-kr/conciseness_rules.md +125 -0
- package/.onto/domains/accounting-kr/dependency_rules.md +93 -0
- package/.onto/domains/accounting-kr/domain_scope.md +140 -0
- package/.onto/domains/accounting-kr/extension_cases.md +343 -0
- package/.onto/domains/accounting-kr/logic_rules.md +160 -0
- package/.onto/domains/accounting-kr/structure_spec.md +85 -0
- package/.onto/domains/business/competency_qs.md +263 -0
- package/.onto/domains/business/concepts.md +200 -0
- package/.onto/domains/business/conciseness_rules.md +135 -0
- package/.onto/domains/business/dependency_rules.md +113 -0
- package/.onto/domains/business/domain_scope.md +240 -0
- package/.onto/domains/business/extension_cases.md +249 -0
- package/.onto/domains/business/logic_rules.md +134 -0
- package/.onto/domains/business/structure_spec.md +114 -0
- package/.onto/domains/finance/competency_qs.md +362 -0
- package/.onto/domains/finance/concepts.md +194 -0
- package/.onto/domains/finance/conciseness_rules.md +155 -0
- package/.onto/domains/finance/dependency_rules.md +171 -0
- package/.onto/domains/finance/domain_scope.md +215 -0
- package/.onto/domains/finance/extension_cases.md +350 -0
- package/.onto/domains/finance/logic_rules.md +191 -0
- package/.onto/domains/finance/structure_spec.md +182 -0
- package/.onto/domains/llm-native-development/competency_qs.md +430 -0
- package/.onto/domains/llm-native-development/concepts.md +242 -0
- package/.onto/domains/llm-native-development/conciseness_rules.md +163 -0
- package/.onto/domains/llm-native-development/dependency_rules.md +216 -0
- package/.onto/domains/llm-native-development/domain_scope.md +197 -0
- package/.onto/domains/llm-native-development/extension_cases.md +474 -0
- package/.onto/domains/llm-native-development/logic_rules.md +123 -0
- package/.onto/domains/llm-native-development/prompt_interface.md +49 -0
- package/.onto/domains/llm-native-development/structure_spec.md +245 -0
- package/.onto/domains/market-intelligence/competency_qs.md +274 -0
- package/.onto/domains/market-intelligence/concepts.md +233 -0
- package/.onto/domains/market-intelligence/conciseness_rules.md +165 -0
- package/.onto/domains/market-intelligence/dependency_rules.md +197 -0
- package/.onto/domains/market-intelligence/domain_scope.md +231 -0
- package/.onto/domains/market-intelligence/extension_cases.md +425 -0
- package/.onto/domains/market-intelligence/logic_rules.md +247 -0
- package/.onto/domains/market-intelligence/structure_spec.md +209 -0
- package/.onto/domains/ontology/competency_qs.md +394 -0
- package/.onto/domains/ontology/concepts.md +172 -0
- package/.onto/domains/ontology/conciseness_rules.md +134 -0
- package/.onto/domains/ontology/dependency_rules.md +125 -0
- package/.onto/domains/ontology/domain_scope.md +114 -0
- package/.onto/domains/ontology/extension_cases.md +501 -0
- package/.onto/domains/ontology/logic_rules.md +114 -0
- package/.onto/domains/ontology/problem_framing_profile.md +67 -0
- package/.onto/domains/ontology/structure_spec.md +115 -0
- package/.onto/domains/palantir-foundry/RESEARCH_NOTES.md +911 -0
- package/.onto/domains/palantir-foundry/competency_qs.md +191 -0
- package/.onto/domains/palantir-foundry/competitive_comparison.md +329 -0
- package/.onto/domains/palantir-foundry/concepts.md +197 -0
- package/.onto/domains/palantir-foundry/conciseness_rules.md +245 -0
- package/.onto/domains/palantir-foundry/dependency_rules.md +135 -0
- package/.onto/domains/palantir-foundry/domain_scope.md +395 -0
- package/.onto/domains/palantir-foundry/extension_cases.md +210 -0
- package/.onto/domains/palantir-foundry/logic_rules.md +172 -0
- package/.onto/domains/palantir-foundry/structure_spec.md +291 -0
- package/.onto/domains/software-engineering/competency_qs.md +538 -0
- package/.onto/domains/software-engineering/concepts.md +238 -0
- package/.onto/domains/software-engineering/conciseness_rules.md +167 -0
- package/.onto/domains/software-engineering/dependency_rules.md +216 -0
- package/.onto/domains/software-engineering/domain_scope.md +183 -0
- package/.onto/domains/software-engineering/extension_cases.md +551 -0
- package/.onto/domains/software-engineering/logic_rules.md +240 -0
- package/.onto/domains/software-engineering/problem_framing_profile.md +68 -0
- package/.onto/domains/software-engineering/structure_spec.md +185 -0
- package/.onto/domains/ui-design/competency_qs.md +567 -0
- package/.onto/domains/ui-design/concepts.md +194 -0
- package/.onto/domains/ui-design/conciseness_rules.md +190 -0
- package/.onto/domains/ui-design/dependency_rules.md +323 -0
- package/.onto/domains/ui-design/domain_scope.md +340 -0
- package/.onto/domains/ui-design/extension_cases.md +563 -0
- package/.onto/domains/ui-design/logic_rules.md +349 -0
- package/.onto/domains/ui-design/structure_spec.md +252 -0
- package/.onto/domains/visual-design/competency_qs.md +472 -0
- package/.onto/domains/visual-design/concepts.md +147 -0
- package/.onto/domains/visual-design/conciseness_rules.md +186 -0
- package/.onto/domains/visual-design/dependency_rules.md +282 -0
- package/.onto/domains/visual-design/domain_scope.md +290 -0
- package/.onto/domains/visual-design/extension_cases.md +480 -0
- package/.onto/domains/visual-design/logic_rules.md +232 -0
- package/.onto/domains/visual-design/structure_spec.md +213 -0
- package/.onto/principles/llm-native-development-guideline.md +401 -0
- package/.onto/principles/llm-runtime-interface-principles.md +665 -0
- package/.onto/principles/non-specialist-communication-guideline.md +74 -0
- package/.onto/principles/ontology-as-code-guideline.md +243 -0
- package/.onto/principles/ontology-as-code-naming-charter.md +130 -0
- package/.onto/principles/product-locality-principle.md +129 -0
- package/.onto/principles/productization-charter.md +569 -0
- package/.onto/processes/evolve/material-kind-adapter-contract.md +113 -0
- package/.onto/processes/reconstruct/reconstruct-boundary-contract.md +366 -0
- package/.onto/processes/reconstruct/source-profile-contract.md +107 -0
- package/.onto/processes/reconstruct/source-profiles/code.md +72 -0
- package/.onto/processes/reconstruct/source-profiles/database.md +74 -0
- package/.onto/processes/reconstruct/source-profiles/document.md +71 -0
- package/.onto/processes/reconstruct/source-profiles/spreadsheet.md +79 -0
- package/.onto/processes/review/binding-contract.md +270 -0
- package/.onto/processes/review/execution-preparation-artifacts.md +281 -0
- package/.onto/processes/review/interpretation-contract.md +245 -0
- package/.onto/processes/review/issue-stance-deliberation-contract.md +761 -0
- package/.onto/processes/review/lens-prompt-contract.md +402 -0
- package/.onto/processes/review/lens-registry.md +127 -0
- package/.onto/processes/review/pre-dispatch-contracts.md +428 -0
- package/.onto/processes/review/productized-live-path.md +398 -0
- package/.onto/processes/review/prompt-execution-runner-contract.md +187 -0
- package/.onto/processes/review/record-contract.md +427 -0
- package/.onto/processes/review/record-field-mapping.md +337 -0
- package/.onto/processes/review/review-context-manifest-contract.md +356 -0
- package/.onto/processes/review/review-execution-ux-contract.md +809 -0
- package/.onto/processes/review/review-target-profile-contract.md +259 -0
- package/.onto/processes/review/shared-phenomenon-contract.md +129 -0
- package/.onto/processes/review/synthesize-prompt-contract.md +343 -0
- package/.onto/processes/shared/target-material-kind-contract.md +198 -0
- package/.onto/roles/axiology.md +81 -0
- package/.onto/roles/conciseness.md +36 -0
- package/.onto/roles/coverage.md +34 -0
- package/.onto/roles/dependency.md +37 -0
- package/.onto/roles/evolution.md +35 -0
- package/.onto/roles/logic.md +104 -0
- package/.onto/roles/pragmatics.md +32 -0
- package/.onto/roles/semantics.md +36 -0
- package/.onto/roles/structure.md +33 -0
- package/.onto/roles/synthesize.md +92 -0
- package/AGENTS.md +240 -0
- package/CLAUDE.md +39 -0
- package/README.md +287 -0
- package/bin/onto +92 -0
- package/dist/cli.js +101 -0
- package/dist/core-api/reconstruct-api.js +222 -0
- package/dist/core-api/review-api.js +1271 -0
- package/dist/core-runtime/cli/assemble-review-record.js +431 -0
- package/dist/core-runtime/cli/bootstrap-review-binding.js +186 -0
- package/dist/core-runtime/cli/codex-nested-dispatch.js +226 -0
- package/dist/core-runtime/cli/codex-nested-dispatch.test.js +390 -0
- package/dist/core-runtime/cli/codex-nested-teamlead-executor.js +464 -0
- package/dist/core-runtime/cli/codex-nested-teamlead-executor.test.js +335 -0
- package/dist/core-runtime/cli/codex-review-unit-executor.js +228 -0
- package/dist/core-runtime/cli/complete-review-session.js +64 -0
- package/dist/core-runtime/cli/complexity-assessment.js +153 -0
- package/dist/core-runtime/cli/coordinator-helpers.js +583 -0
- package/dist/core-runtime/cli/coordinator-state-machine-deliberation.test.js +167 -0
- package/dist/core-runtime/cli/coordinator-state-machine.js +794 -0
- package/dist/core-runtime/cli/e2e-codex-multi-agent-fixes.test.js +615 -0
- package/dist/core-runtime/cli/e2e-start-review-session.test.js +312 -0
- package/dist/core-runtime/cli/health.js +44 -0
- package/dist/core-runtime/cli/inline-http-review-unit-executor.js +656 -0
- package/dist/core-runtime/cli/inline-http-review-unit-executor.test.js +567 -0
- package/dist/core-runtime/cli/materialize-review-execution-preparation.js +104 -0
- package/dist/core-runtime/cli/materialize-review-prompt-packets.js +952 -0
- package/dist/core-runtime/cli/migrate-session-roots.js +118 -0
- package/dist/core-runtime/cli/mock-review-unit-executor.js +285 -0
- package/dist/core-runtime/cli/onto-tools.js +369 -0
- package/dist/core-runtime/cli/prepare-review-session.js +272 -0
- package/dist/core-runtime/cli/render-review-final-output.js +350 -0
- package/dist/core-runtime/cli/repo-layout-migration-replace.smoke.test.js +106 -0
- package/dist/core-runtime/cli/review-invoke-auto-resolution.test.js +268 -0
- package/dist/core-runtime/cli/review-invoke-coordinator-topology.test.js +136 -0
- package/dist/core-runtime/cli/review-invoke-resolver-caching.test.js +201 -0
- package/dist/core-runtime/cli/review-invoke-topology-dispatch.test.js +192 -0
- package/dist/core-runtime/cli/review-invoke.js +2030 -0
- package/dist/core-runtime/cli/run-review-prompt-execution.js +2152 -0
- package/dist/core-runtime/cli/session-root-guard.js +168 -0
- package/dist/core-runtime/cli/spawn-watcher.js +173 -0
- package/dist/core-runtime/cli/spawn-watcher.test.js +457 -0
- package/dist/core-runtime/cli/start-review-session.js +68 -0
- package/dist/core-runtime/cli/strip-wrapping-code-fence.js +56 -0
- package/dist/core-runtime/cli/strip-wrapping-code-fence.test.js +79 -0
- package/dist/core-runtime/cli/teamcreate-lens-deliberation-executor.js +412 -0
- package/dist/core-runtime/cli/teamcreate-lens-deliberation-executor.test.js +351 -0
- package/dist/core-runtime/cli/topology-executor-mapping.js +139 -0
- package/dist/core-runtime/cli/topology-executor-mapping.test.js +173 -0
- package/dist/core-runtime/cli/write-review-interpretation.js +81 -0
- package/dist/core-runtime/config/onto-config-cli.js +278 -0
- package/dist/core-runtime/config/onto-config-key-path.js +288 -0
- package/dist/core-runtime/config/onto-config-key-path.test.js +195 -0
- package/dist/core-runtime/config/onto-config-preview.js +108 -0
- package/dist/core-runtime/config/onto-config-preview.test.js +132 -0
- package/dist/core-runtime/discovery/config-chain.js +118 -0
- package/dist/core-runtime/discovery/config-chain.test.js +103 -0
- package/dist/core-runtime/discovery/config-profile.js +199 -0
- package/dist/core-runtime/discovery/config-profile.test.js +233 -0
- package/dist/core-runtime/discovery/host-detection.js +33 -0
- package/dist/core-runtime/discovery/host-detection.test.js +186 -0
- package/dist/core-runtime/discovery/installation-paths.js +21 -0
- package/dist/core-runtime/discovery/installation-paths.test.js +65 -0
- package/dist/core-runtime/discovery/lens-registry.js +60 -0
- package/dist/core-runtime/discovery/lens-registry.test.js +81 -0
- package/dist/core-runtime/discovery/onto-home.js +71 -0
- package/dist/core-runtime/discovery/path-normalization.js +28 -0
- package/dist/core-runtime/discovery/path-normalization.test.js +22 -0
- package/dist/core-runtime/discovery/plugin-path.js +72 -0
- package/dist/core-runtime/discovery/plugin-path.test.js +95 -0
- package/dist/core-runtime/discovery/project-root.js +47 -0
- package/dist/core-runtime/discovery/settings-chain.js +353 -0
- package/dist/core-runtime/discovery/walk-up.js +17 -0
- package/dist/core-runtime/evolve/adapters/code-product/compile/compile-defense.js +344 -0
- package/dist/core-runtime/evolve/adapters/code-product/compile/compile-defense.test.js +915 -0
- package/dist/core-runtime/evolve/adapters/code-product/compile/compile.js +564 -0
- package/dist/core-runtime/evolve/adapters/code-product/compile/compile.test.js +708 -0
- package/dist/core-runtime/evolve/adapters/code-product/parsers/brief-parser.js +165 -0
- package/dist/core-runtime/evolve/adapters/code-product/parsers/brief-parser.test.js +227 -0
- package/dist/core-runtime/evolve/adapters/code-product/validators/validate.js +59 -0
- package/dist/core-runtime/evolve/adapters/code-product/validators/validate.test.js +205 -0
- package/dist/core-runtime/evolve/adapters/methodology/adapter.js +16 -0
- package/dist/core-runtime/evolve/adapters/methodology/adapter.test.js +9 -0
- package/dist/core-runtime/evolve/adapters/methodology/perspectives/authority-consistency.js +298 -0
- package/dist/core-runtime/evolve/adapters/methodology/perspectives/authority-consistency.test.js +70 -0
- package/dist/core-runtime/evolve/adapters/methodology/scope-types/process.js +46 -0
- package/dist/core-runtime/evolve/adapters/methodology/scope-types/process.test.js +73 -0
- package/dist/core-runtime/evolve/adapters/registry.js +47 -0
- package/dist/core-runtime/evolve/adapters/registry.test.js +67 -0
- package/dist/core-runtime/evolve/cli.js +256 -0
- package/dist/core-runtime/evolve/commands/align.js +194 -0
- package/dist/core-runtime/evolve/commands/align.test.js +82 -0
- package/dist/core-runtime/evolve/commands/apply.js +161 -0
- package/dist/core-runtime/evolve/commands/apply.test.js +138 -0
- package/dist/core-runtime/evolve/commands/close.js +39 -0
- package/dist/core-runtime/evolve/commands/close.test.js +99 -0
- package/dist/core-runtime/evolve/commands/defer.js +40 -0
- package/dist/core-runtime/evolve/commands/defer.test.js +134 -0
- package/dist/core-runtime/evolve/commands/draft.js +323 -0
- package/dist/core-runtime/evolve/commands/draft.test.js +178 -0
- package/dist/core-runtime/evolve/commands/e2e-evolve-full-cycle.test.js +208 -0
- package/dist/core-runtime/evolve/commands/error-messages.js +125 -0
- package/dist/core-runtime/evolve/commands/error-messages.test.js +167 -0
- package/dist/core-runtime/evolve/commands/propose-align.js +222 -0
- package/dist/core-runtime/evolve/commands/propose-align.test.js +136 -0
- package/dist/core-runtime/evolve/commands/reconstruct.js +330 -0
- package/dist/core-runtime/evolve/commands/reconstruct.test.js +278 -0
- package/dist/core-runtime/evolve/commands/shared.js +22 -0
- package/dist/core-runtime/evolve/commands/stale-check.js +103 -0
- package/dist/core-runtime/evolve/commands/stale-check.test.js +84 -0
- package/dist/core-runtime/evolve/commands/start.js +887 -0
- package/dist/core-runtime/evolve/commands/start.test.js +396 -0
- package/dist/core-runtime/evolve/config/project-config.js +99 -0
- package/dist/core-runtime/evolve/config/project-config.test.js +170 -0
- package/dist/core-runtime/evolve/renderers/align-packet.js +280 -0
- package/dist/core-runtime/evolve/renderers/align-packet.test.js +332 -0
- package/dist/core-runtime/evolve/renderers/draft-packet.js +303 -0
- package/dist/core-runtime/evolve/renderers/draft-packet.test.js +377 -0
- package/dist/core-runtime/evolve/renderers/format.js +5 -0
- package/dist/core-runtime/evolve/renderers/scope-md.js +237 -0
- package/dist/core-runtime/evolve/renderers/scope-md.test.js +306 -0
- package/dist/core-runtime/govern/cli.js +369 -0
- package/dist/core-runtime/govern/cli.test.js +314 -0
- package/dist/core-runtime/govern/drift-engine.js +103 -0
- package/dist/core-runtime/govern/drift-engine.test.js +319 -0
- package/dist/core-runtime/govern/promote-principle.js +206 -0
- package/dist/core-runtime/govern/promote-principle.test.js +368 -0
- package/dist/core-runtime/govern/queue.js +81 -0
- package/dist/core-runtime/govern/types.js +16 -0
- package/dist/core-runtime/install/cli.js +530 -0
- package/dist/core-runtime/install/detect.js +128 -0
- package/dist/core-runtime/install/detect.test.js +155 -0
- package/dist/core-runtime/install/gitignore-update.js +74 -0
- package/dist/core-runtime/install/gitignore-update.test.js +64 -0
- package/dist/core-runtime/install/install-integration.test.js +373 -0
- package/dist/core-runtime/install/prompts.js +389 -0
- package/dist/core-runtime/install/prompts.test.js +293 -0
- package/dist/core-runtime/install/types.js +26 -0
- package/dist/core-runtime/install/validation.js +295 -0
- package/dist/core-runtime/install/validation.test.js +313 -0
- package/dist/core-runtime/install/writer.js +254 -0
- package/dist/core-runtime/install/writer.test.js +218 -0
- package/dist/core-runtime/learning/extractor.js +461 -0
- package/dist/core-runtime/learning/feedback.js +179 -0
- package/dist/core-runtime/learning/health-report.js +165 -0
- package/dist/core-runtime/learning/health-report.test.js +169 -0
- package/dist/core-runtime/learning/loader.js +388 -0
- package/dist/core-runtime/learning/loader.test.js +102 -0
- package/dist/core-runtime/learning/promote/apply-state.js +240 -0
- package/dist/core-runtime/learning/promote/audit-obligation.js +195 -0
- package/dist/core-runtime/learning/promote/collector.js +432 -0
- package/dist/core-runtime/learning/promote/degraded-state.js +125 -0
- package/dist/core-runtime/learning/promote/domain-doc-proposer.js +166 -0
- package/dist/core-runtime/learning/promote/e2e-promote.test.js +6385 -0
- package/dist/core-runtime/learning/promote/health-snapshot.js +150 -0
- package/dist/core-runtime/learning/promote/insight-reclassifier.js +544 -0
- package/dist/core-runtime/learning/promote/judgment-auditor.js +517 -0
- package/dist/core-runtime/learning/promote/panel-reviewer.js +1158 -0
- package/dist/core-runtime/learning/promote/promote-executor.js +1675 -0
- package/dist/core-runtime/learning/promote/promoter.js +307 -0
- package/dist/core-runtime/learning/promote/retirement.js +122 -0
- package/dist/core-runtime/learning/promote/types.js +23 -0
- package/dist/core-runtime/learning/prompt-sections.js +51 -0
- package/dist/core-runtime/learning/shared/artifact-registry-init.js +45 -0
- package/dist/core-runtime/learning/shared/artifact-registry.js +254 -0
- package/dist/core-runtime/learning/shared/audit-obligation-kernel.js +73 -0
- package/dist/core-runtime/learning/shared/audit-state.js +99 -0
- package/dist/core-runtime/learning/shared/duplicate-check.js +28 -0
- package/dist/core-runtime/learning/shared/llm-caller.js +831 -0
- package/dist/core-runtime/learning/shared/llm-caller.test.js +601 -0
- package/dist/core-runtime/learning/shared/llm-tool-loop.js +393 -0
- package/dist/core-runtime/learning/shared/mode.js +25 -0
- package/dist/core-runtime/learning/shared/paths.js +84 -0
- package/dist/core-runtime/learning/shared/paths.test.js +79 -0
- package/dist/core-runtime/learning/shared/patterns.js +37 -0
- package/dist/core-runtime/learning/shared/recoverability.js +355 -0
- package/dist/core-runtime/learning/shared/recovery-context.js +374 -0
- package/dist/core-runtime/learning/shared/scope.js +1 -0
- package/dist/core-runtime/learning/shared/semantic-classifier.js +94 -0
- package/dist/core-runtime/learning/shared/specs/apply-execution-state-spec.js +42 -0
- package/dist/core-runtime/learning/shared/specs/audit-state-spec.js +37 -0
- package/dist/core-runtime/learning/shared/specs/backup-metadata-spec.js +39 -0
- package/dist/core-runtime/learning/shared/specs/emergency-log-spec.js +41 -0
- package/dist/core-runtime/learning/shared/specs/layout-version-spec.js +38 -0
- package/dist/core-runtime/learning/shared/specs/promote-decisions-spec.js +43 -0
- package/dist/core-runtime/learning/shared/specs/promote-report-spec.js +113 -0
- package/dist/core-runtime/learning/shared/specs/prune-log-spec.js +36 -0
- package/dist/core-runtime/learning/shared/specs/recovery-resolution-spec.js +48 -0
- package/dist/core-runtime/learning/shared/specs/restore-manifest-spec.js +43 -0
- package/dist/core-runtime/learning/shared/specs/spec-helpers.js +64 -0
- package/dist/core-runtime/learning/usage-tracker.js +190 -0
- package/dist/core-runtime/learning/usage-tracker.test.js +176 -0
- package/dist/core-runtime/llm/llm-caller.js +649 -0
- package/dist/core-runtime/llm/llm-tool-loop.js +401 -0
- package/dist/core-runtime/llm/model-switcher.js +62 -0
- package/dist/core-runtime/logger.js +22 -0
- package/dist/core-runtime/onboard/detect-review-axes.js +122 -0
- package/dist/core-runtime/onboard/detect-review-axes.test.js +127 -0
- package/dist/core-runtime/onboard/write-review-block.js +188 -0
- package/dist/core-runtime/onboard/write-review-block.test.js +240 -0
- package/dist/core-runtime/readers/brownfield-builder.js +150 -0
- package/dist/core-runtime/readers/brownfield-builder.test.js +136 -0
- package/dist/core-runtime/readers/code-chunk-collector.js +53 -0
- package/dist/core-runtime/readers/code-chunk-collector.test.js +136 -0
- package/dist/core-runtime/readers/file-utils.js +240 -0
- package/dist/core-runtime/readers/file-utils.test.js +146 -0
- package/dist/core-runtime/readers/lexicon-citation-check.js +93 -0
- package/dist/core-runtime/readers/lexicon-citation-check.test.js +77 -0
- package/dist/core-runtime/readers/mcp-figma.js +30 -0
- package/dist/core-runtime/readers/mcp-figma.test.js +82 -0
- package/dist/core-runtime/readers/mcp-generic.js +31 -0
- package/dist/core-runtime/readers/mcp-generic.test.js +76 -0
- package/dist/core-runtime/readers/ontology-index.js +148 -0
- package/dist/core-runtime/readers/ontology-index.test.js +245 -0
- package/dist/core-runtime/readers/ontology-query.js +168 -0
- package/dist/core-runtime/readers/ontology-query.test.js +311 -0
- package/dist/core-runtime/readers/ontology-resolve.js +48 -0
- package/dist/core-runtime/readers/ontology-resolve.test.js +48 -0
- package/dist/core-runtime/readers/patterns/index.js +7 -0
- package/dist/core-runtime/readers/review-log.js +213 -0
- package/dist/core-runtime/readers/review-log.test.js +313 -0
- package/dist/core-runtime/readers/scan-local.js +102 -0
- package/dist/core-runtime/readers/scan-local.test.js +102 -0
- package/dist/core-runtime/readers/scan-tarball.js +121 -0
- package/dist/core-runtime/readers/scan-tarball.test.js +283 -0
- package/dist/core-runtime/readers/scan-vault.js +34 -0
- package/dist/core-runtime/readers/scan-vault.test.js +81 -0
- package/dist/core-runtime/readers/types.js +42 -0
- package/dist/core-runtime/readers/types.test.js +94 -0
- package/dist/core-runtime/readers/viewpoint-collectors.js +229 -0
- package/dist/core-runtime/reconstruct/artifact-types.js +1 -0
- package/dist/core-runtime/reconstruct/directive-validation.js +123 -0
- package/dist/core-runtime/reconstruct/materialize-preparation.js +251 -0
- package/dist/core-runtime/reconstruct/record.js +198 -0
- package/dist/core-runtime/reconstruct/run.js +578 -0
- package/dist/core-runtime/reconstruct/seed-candidate-validation.js +356 -0
- package/dist/core-runtime/reconstruct/source-observations.js +62 -0
- package/dist/core-runtime/reconstruct/source-profiles.js +73 -0
- package/dist/core-runtime/release-channel/release-channel.js +90 -0
- package/dist/core-runtime/review/artifact-types.js +13 -0
- package/dist/core-runtime/review/citation-audit.js +204 -0
- package/dist/core-runtime/review/citation-audit.test.js +165 -0
- package/dist/core-runtime/review/controlled-lens-deliberation.js +125 -0
- package/dist/core-runtime/review/execution-plan-resolver.js +247 -0
- package/dist/core-runtime/review/execution-plan-resolver.test.js +243 -0
- package/dist/core-runtime/review/execution-topology-resolver-axis-first.test.js +246 -0
- package/dist/core-runtime/review/execution-topology-resolver.js +401 -0
- package/dist/core-runtime/review/execution-topology-resolver.test.js +315 -0
- package/dist/core-runtime/review/failure-records.js +57 -0
- package/dist/core-runtime/review/inline-context-embedder.js +141 -0
- package/dist/core-runtime/review/inline-context-embedder.test.js +154 -0
- package/dist/core-runtime/review/issue-artifact-runtime.js +859 -0
- package/dist/core-runtime/review/legacy-mode-policy.js +88 -0
- package/dist/core-runtime/review/lens-completion-policy.js +17 -0
- package/dist/core-runtime/review/materializers-effort-persist.test.js +79 -0
- package/dist/core-runtime/review/materializers.js +963 -0
- package/dist/core-runtime/review/ontology-path-classifier.js +179 -0
- package/dist/core-runtime/review/ontology-path-classifier.test.js +216 -0
- package/dist/core-runtime/review/packet-boundary-policy.js +215 -0
- package/dist/core-runtime/review/packet-boundary-policy.test.js +107 -0
- package/dist/core-runtime/review/participating-lens-paths.js +61 -0
- package/dist/core-runtime/review/participating-lens-paths.test.js +73 -0
- package/dist/core-runtime/review/review-artifact-utils.js +287 -0
- package/dist/core-runtime/review/review-config-legacy-translate.js +244 -0
- package/dist/core-runtime/review/review-config-legacy-translate.test.js +161 -0
- package/dist/core-runtime/review/review-config-validator.js +289 -0
- package/dist/core-runtime/review/review-config-validator.test.js +236 -0
- package/dist/core-runtime/review/review-execution-profile.js +193 -0
- package/dist/core-runtime/review/review-execution-route.js +52 -0
- package/dist/core-runtime/review/review-progress-contract.js +123 -0
- package/dist/core-runtime/review/review-record-validation.js +251 -0
- package/dist/core-runtime/review/review-result-classification.js +379 -0
- package/dist/core-runtime/review/review-state-machine.js +39 -0
- package/dist/core-runtime/review/route-visibility.js +125 -0
- package/dist/core-runtime/review/shape-pipeline-audit.test.js +311 -0
- package/dist/core-runtime/review/shape-to-topology-id.js +117 -0
- package/dist/core-runtime/review/shape-to-topology-id.test.js +132 -0
- package/dist/core-runtime/review/topology-shape-derivation.js +155 -0
- package/dist/core-runtime/review/topology-shape-derivation.test.js +195 -0
- package/dist/core-runtime/scope-runtime/constants.js +12 -0
- package/dist/core-runtime/scope-runtime/constraint-pool.js +166 -0
- package/dist/core-runtime/scope-runtime/constraint-pool.test.js +674 -0
- package/dist/core-runtime/scope-runtime/domain-validation-log.js +135 -0
- package/dist/core-runtime/scope-runtime/domain-validation-log.test.js +156 -0
- package/dist/core-runtime/scope-runtime/eval-persistence.js +65 -0
- package/dist/core-runtime/scope-runtime/eval-persistence.test.js +84 -0
- package/dist/core-runtime/scope-runtime/event-pipeline.js +64 -0
- package/dist/core-runtime/scope-runtime/event-pipeline.test.js +450 -0
- package/dist/core-runtime/scope-runtime/event-store.js +39 -0
- package/dist/core-runtime/scope-runtime/event-store.test.js +95 -0
- package/dist/core-runtime/scope-runtime/gate-guard.js +348 -0
- package/dist/core-runtime/scope-runtime/gate-guard.test.js +1047 -0
- package/dist/core-runtime/scope-runtime/hash.js +4 -0
- package/dist/core-runtime/scope-runtime/hash.test.js +33 -0
- package/dist/core-runtime/scope-runtime/id.js +4 -0
- package/dist/core-runtime/scope-runtime/id.test.js +17 -0
- package/dist/core-runtime/scope-runtime/reducer.js +297 -0
- package/dist/core-runtime/scope-runtime/reducer.test.js +759 -0
- package/dist/core-runtime/scope-runtime/scope-manager.js +161 -0
- package/dist/core-runtime/scope-runtime/state-machine.js +309 -0
- package/dist/core-runtime/scope-runtime/state-machine.test.js +704 -0
- package/dist/core-runtime/scope-runtime/types.js +116 -0
- package/dist/core-runtime/scope-runtime/types.test.js +69 -0
- package/dist/core-runtime/target-material-kind.js +256 -0
- package/dist/core-runtime/translate/render-for-user.js +169 -0
- package/dist/core-runtime/translate/render-for-user.test.js +122 -0
- package/dist/mcp/server.js +1011 -0
- package/dist/mcp/tool-schemas.js +93 -0
- package/dist/providers/capability-contract.js +1 -0
- package/package.json +68 -0
- package/settings.example.json +33 -0
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# CLAUDE.md
|
|
2
|
+
|
|
3
|
+
## Authority 위계
|
|
4
|
+
|
|
5
|
+
| 순위 | 역할 | 위치 |
|
|
6
|
+
|---|---|---|
|
|
7
|
+
| 1 | 개념 SSOT | .onto/authority/core-lexicon.yaml |
|
|
8
|
+
| 2 | 개발 원칙: OaC | .onto/principles/ontology-as-code-guideline.md |
|
|
9
|
+
| 2 | 개발 원칙: LLM-Native | .onto/principles/llm-native-development-guideline.md |
|
|
10
|
+
| 2 | 개발 원칙: 비전문가 소통 | .onto/principles/non-specialist-communication-guideline.md |
|
|
11
|
+
| 2 | 개발 원칙: product 우선 | .onto/principles/product-locality-principle.md |
|
|
12
|
+
| 3 | 제품 방향 | .onto/principles/productization-charter.md |
|
|
13
|
+
| 4 | 인터페이스 명세 | .onto/principles/llm-runtime-interface-principles.md |
|
|
14
|
+
| 4 | 이름 규칙 | .onto/principles/ontology-as-code-naming-charter.md |
|
|
15
|
+
| 5 | 기능별 계약 | .onto/processes/{feature}/*.md (계약 파일) |
|
|
16
|
+
| 6 | 타입·구현 | src/core-runtime/ |
|
|
17
|
+
| 7 | 기능 프로세스 | .onto/processes/review/*.md, .onto/roles/*.md |
|
|
18
|
+
| 8 | 개발 기록 | development-records/ |
|
|
19
|
+
|
|
20
|
+
.onto/authority/ 구성: 개념 SSOT + runtime lens registry (core-lens-registry.yaml)
|
|
21
|
+
.onto/principles/ 구성: rank 2~4 개발 규범 문서 7개 (배포 제외)
|
|
22
|
+
위계 밖: development-records/ (이력/참조)
|
|
23
|
+
|
|
24
|
+
## current runtime 구조
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
src/core-runtime/
|
|
28
|
+
├── cli/ ← review bounded step entrypoints
|
|
29
|
+
├── discovery/ ← settings, onto home, lens registry
|
|
30
|
+
├── llm/ ← provider switcher + LLM call wrappers
|
|
31
|
+
├── review/ ← review artifact types, materializers, deliberation, route policy
|
|
32
|
+
├── logger.ts ← 공용 로거
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
- **review**: 현재 제품화 대상. context-isolated lenses, controlled deliberation, synthesize, ReviewRecord를 소유한다.
|
|
36
|
+
- **llm**: API key / OAuth / local provider selection을 단순화한 runtime boundary다.
|
|
37
|
+
- **development-records/archive/**: retired CLI/process/learning/govern/evolve material을 격리 보관한다.
|
|
38
|
+
|
|
39
|
+
동일 순위 충돌 해소: 같은 순위 파일은 규범 내용이 중복되지 않는다. 중복 발견 시, 원칙의 성격에 부합하는 파일이 canonical이며, 나머지는 참조만 한다. 예외: 동일 개념이 서로 다른 소비 목적(구조 규칙 vs 설계 가이드)으로 필요한 경우, 각 파일의 고유 범위를 확정하고 상호 참조를 명기하여 이중 존재를 허용한다.
|
package/README.md
ADDED
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
# Onto MCP
|
|
2
|
+
|
|
3
|
+
`onto-mcp` is the TypeScript product core for ontology-as-code review. The
|
|
4
|
+
public interface is MCP-native; repository-local npm scripts remain development
|
|
5
|
+
harnesses for verification and debugging.
|
|
6
|
+
|
|
7
|
+
```text
|
|
8
|
+
.onto contracts and domain documents
|
|
9
|
+
-> TS review runtime
|
|
10
|
+
-> core API facade
|
|
11
|
+
-> MCP tools
|
|
12
|
+
-> provider adapters
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Current Product Slice
|
|
16
|
+
|
|
17
|
+
The active implementation target is `review`.
|
|
18
|
+
|
|
19
|
+
Across `review`, `reconstruct`, and future `evolve`, targets are not assumed to
|
|
20
|
+
be code. Runtime contracts classify the material form with
|
|
21
|
+
`target_material_kind` (`code`, `spreadsheet`, `document`, `database`, `mixed`,
|
|
22
|
+
or `unknown`) before choosing observation, validation, or adapter behavior. The
|
|
23
|
+
cross-process goal contract lives at
|
|
24
|
+
`.onto/processes/shared/target-material-kind-contract.md`.
|
|
25
|
+
|
|
26
|
+
`review` performs:
|
|
27
|
+
|
|
28
|
+
1. invocation interpretation and binding
|
|
29
|
+
2. execution preparation artifacts
|
|
30
|
+
3. isolated parallel lens execution
|
|
31
|
+
4. issue ledger and issue stance closure artifacts
|
|
32
|
+
5. controlled lens deliberation
|
|
33
|
+
6. conservative synthesis
|
|
34
|
+
7. `ReviewRecord` assembly
|
|
35
|
+
8. concise human-readable final output
|
|
36
|
+
|
|
37
|
+
`reconstruct` now has a current design contract under
|
|
38
|
+
`.onto/processes/reconstruct/`, material-aware runtime helpers, and a bounded
|
|
39
|
+
happy-path runner. The runner classifies target material, writes source
|
|
40
|
+
observations, accepts pluggable LLM-owned directive authors and confirmation
|
|
41
|
+
providers, validates evidence refs, computes deterministic metrics, and writes
|
|
42
|
+
`final-output.md`, `reconstruct-run-manifest.yaml`, and the primary
|
|
43
|
+
`reconstruct-record.yaml`. Code is the first fixture; the runner path is shared
|
|
44
|
+
with spreadsheet/document/database material through source profiles and
|
|
45
|
+
material-specific observers. The current public run path is an explicit mock
|
|
46
|
+
semantic/confirmation happy path; domain context selection, failure
|
|
47
|
+
classification, and revision proposal are recorded as deferred scope.
|
|
48
|
+
`evolve` has a future material-kind adapter contract at
|
|
49
|
+
`.onto/processes/evolve/material-kind-adapter-contract.md`, but no active
|
|
50
|
+
runtime or MCP tool. `learn` and `govern` remain separate design slices.
|
|
51
|
+
|
|
52
|
+
## Public Interface
|
|
53
|
+
|
|
54
|
+
Install from npm:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
npm install -g onto-mcp
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Start the MCP server:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
onto mcp
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
For project-local installs, add `onto-mcp` to the project and run the local
|
|
67
|
+
binary:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npm install --save-dev onto-mcp
|
|
71
|
+
npm exec -- onto mcp
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Available MCP tools:
|
|
75
|
+
|
|
76
|
+
| Tool | Purpose |
|
|
77
|
+
|---|---|
|
|
78
|
+
| `onto.review` | Run the full review path and return artifact refs plus summary |
|
|
79
|
+
| `onto.prepare_review` | Prepare a review session and prompt packets |
|
|
80
|
+
| `onto.review_status` | Read structured status and artifact refs |
|
|
81
|
+
| `onto.review_result` | Read `review-record.yaml` and final output |
|
|
82
|
+
| `onto.list_lenses` | List canonical lens sets |
|
|
83
|
+
| `onto.list_domains` | List available domain ids |
|
|
84
|
+
| `onto.list_source_profiles` | List reconstruct source profiles |
|
|
85
|
+
| `onto.observe_source` | Materialize reconstruct material profile, inventory, source observations, and initial record |
|
|
86
|
+
| `onto.validate_reconstruct_directive` | Validate LLM-authored reconstruct directive files |
|
|
87
|
+
| `onto.reconstruct` | Run the material-aware reconstruct happy path with explicit mock semantic/confirmation realization |
|
|
88
|
+
| `onto.reconstruct_status` | Read reconstruct session status and artifact refs |
|
|
89
|
+
| `onto.reconstruct_result` | Read `reconstruct-record.yaml`, run manifest, and final output |
|
|
90
|
+
|
|
91
|
+
MCP results include `llmPresentation` prompts. The runtime supplies bounded
|
|
92
|
+
facts; the host LLM should use those prompts to explain the opening brief and
|
|
93
|
+
final result to the user without inventing settings or findings.
|
|
94
|
+
|
|
95
|
+
Minimal reconstruct MCP call shape:
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"name": "onto.reconstruct",
|
|
100
|
+
"arguments": {
|
|
101
|
+
"projectRoot": "/path/to/project",
|
|
102
|
+
"targetRefs": ["src/example.ts"],
|
|
103
|
+
"intent": "Create a bounded reconstruct Seed from this target.",
|
|
104
|
+
"sessionRoot": ".onto/reconstruct/example-run",
|
|
105
|
+
"semanticAuthorRealization": "mock",
|
|
106
|
+
"confirmationProviderRealization": "mock"
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
`semanticAuthorRealization` and `confirmationProviderRealization` are required
|
|
112
|
+
so completed reconstruct runs are explicit about their current mock semantics.
|
|
113
|
+
Today this proves the material-aware happy path, artifact gates, and MCP
|
|
114
|
+
surface. It does not claim live host-LLM semantic authorship or live
|
|
115
|
+
user-mediated confirmation.
|
|
116
|
+
|
|
117
|
+
Repository-local development harness:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
npm run review:invoke -- <target> "<intent>"
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
`review:invoke` prints a structured start preview before execution begins:
|
|
124
|
+
|
|
125
|
+
- review target and filesystem boundary
|
|
126
|
+
- request intent
|
|
127
|
+
- selected domain and selection mode
|
|
128
|
+
- review mode and lens ids
|
|
129
|
+
- execution mode, seats, deliberation mode, concurrency
|
|
130
|
+
- model auth/provider/model/effort/service tier
|
|
131
|
+
- settings locations and MCP/dev-harness override points
|
|
132
|
+
|
|
133
|
+
During execution, the runner prints numbered progress markers for the bounded
|
|
134
|
+
review stages. At completion, it prints a structured result overview:
|
|
135
|
+
|
|
136
|
+
- outcome status and deliberation status
|
|
137
|
+
- target/domain/review mode
|
|
138
|
+
- planned, participating, and degraded lens counts
|
|
139
|
+
- comprehensive `Final Review Result` explanation from synthesize
|
|
140
|
+
- issue count plus severity/timing/closure classification
|
|
141
|
+
- top problem definitions from `problem-framing.yaml`
|
|
142
|
+
- primary artifact paths
|
|
143
|
+
|
|
144
|
+
For MCP clients, prefer the `llmPresentation.openingBrief` and
|
|
145
|
+
`llmPresentation.finalResult` prompt/input pairs over CLI stdout when presenting
|
|
146
|
+
start and finish explanations.
|
|
147
|
+
|
|
148
|
+
Runtime hardening is available as a development verification harness:
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
npm run test:review:hardening
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
It runs large and repeated mock reviews, validates primary artifact consistency,
|
|
155
|
+
checks `Tools: required` native-tool boundaries, verifies provider preflight
|
|
156
|
+
fail-loud behavior, and removes temporary fixtures unless
|
|
157
|
+
`ONTO_REVIEW_HARDENING_KEEP_TMP=1` is set.
|
|
158
|
+
|
|
159
|
+
## Settings
|
|
160
|
+
|
|
161
|
+
Runtime settings live in JSON:
|
|
162
|
+
|
|
163
|
+
| Path | Role |
|
|
164
|
+
|---|---|
|
|
165
|
+
| `{project}/.onto/settings.json` | project-local settings |
|
|
166
|
+
| `~/.onto/settings.json` | user defaults |
|
|
167
|
+
|
|
168
|
+
Project settings override user defaults for scalar keys.
|
|
169
|
+
|
|
170
|
+
Minimal Codex OAuth profile:
|
|
171
|
+
|
|
172
|
+
```json
|
|
173
|
+
{
|
|
174
|
+
"llm": {
|
|
175
|
+
"auth": "oauth",
|
|
176
|
+
"provider": "openai",
|
|
177
|
+
"model": "gpt-5.5",
|
|
178
|
+
"effort": "medium",
|
|
179
|
+
"service_tier": "fast"
|
|
180
|
+
},
|
|
181
|
+
"review": {
|
|
182
|
+
"execution": {
|
|
183
|
+
"mode": "main-workers",
|
|
184
|
+
"teamlead": {
|
|
185
|
+
"seat": "main",
|
|
186
|
+
"llm": "inherit"
|
|
187
|
+
},
|
|
188
|
+
"lens": {
|
|
189
|
+
"seat": "worker",
|
|
190
|
+
"llm": "inherit"
|
|
191
|
+
},
|
|
192
|
+
"synthesize": {
|
|
193
|
+
"seat": "worker",
|
|
194
|
+
"llm": {
|
|
195
|
+
"effort": "xhigh"
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
"deliberation": "controlled-lens-deliberation"
|
|
199
|
+
}
|
|
200
|
+
},
|
|
201
|
+
"review_mode": "full"
|
|
202
|
+
}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
LLM switcher axes:
|
|
206
|
+
|
|
207
|
+
| auth | provider | Runtime path |
|
|
208
|
+
|---|---|---|
|
|
209
|
+
| `oauth` | `openai` | Codex worker |
|
|
210
|
+
| `api_key` | `openai` | OpenAI API |
|
|
211
|
+
| `api_key` | `anthropic` | Anthropic API |
|
|
212
|
+
| `api_key` | `grok` | xAI/Grok OpenAI-style API |
|
|
213
|
+
| `local` | `lmstudio` | LM Studio OpenAI-style endpoint |
|
|
214
|
+
|
|
215
|
+
Unsupported settings stop during profile resolution.
|
|
216
|
+
|
|
217
|
+
## Review Artifacts
|
|
218
|
+
|
|
219
|
+
A review session writes artifacts under `.onto/review/<session-id>/`.
|
|
220
|
+
|
|
221
|
+
Primary outputs:
|
|
222
|
+
|
|
223
|
+
| Artifact | Purpose |
|
|
224
|
+
|---|---|
|
|
225
|
+
| `execution-plan.yaml` | bounded runtime plan |
|
|
226
|
+
| `issue-ledger.yaml` | normalized issue list |
|
|
227
|
+
| `issue-stance-matrix.yaml` | every participating lens stance per issue |
|
|
228
|
+
| `deliberation.md` | teamlead-controlled deliberation result |
|
|
229
|
+
| `problem-framing.yaml` | end-of-review problem classification |
|
|
230
|
+
| `review-run-manifest.yaml` | packet/output refs and hashes |
|
|
231
|
+
| `review-record.yaml` | primary structured review artifact |
|
|
232
|
+
| `final-output.md` | principal-facing report with `Final Review Result` explanation |
|
|
233
|
+
|
|
234
|
+
## Reconstruct Artifacts
|
|
235
|
+
|
|
236
|
+
A reconstruct session writes artifacts under `.onto/reconstruct/<session-id>/`.
|
|
237
|
+
|
|
238
|
+
Implemented happy-path outputs:
|
|
239
|
+
|
|
240
|
+
| Artifact | Owner | Purpose |
|
|
241
|
+
|---|---|---|
|
|
242
|
+
| `target-material-profile.yaml` | runtime | detected `target_material_kind`, support status, and selected source profiles |
|
|
243
|
+
| `source-inventory.yaml` | runtime | material-specific inventory units and scan boundary |
|
|
244
|
+
| `source-observations.yaml` | runtime | structural observations with stable evidence ids |
|
|
245
|
+
| `source-observation-directive.yaml` | mock/host author | selected observations for evidence use |
|
|
246
|
+
| `source-observation-directive-validation.yaml` | runtime | validation of selected observation refs |
|
|
247
|
+
| `seed-candidate.yaml` | mock/host author | evidence-backed Seed candidate |
|
|
248
|
+
| `seed-candidate-validation.yaml` | runtime | Seed claim and evidence-ref validation |
|
|
249
|
+
| `seed-confirmation.yaml` | mock/host/user mediated | accepted, rejected, or partial Seed confirmation |
|
|
250
|
+
| `competency-questions.yaml` | mock/host author | questions linked to confirmed claims |
|
|
251
|
+
| `reconstruct-metrics.yaml` | runtime | deterministic counts, unresolved count, and pass rate |
|
|
252
|
+
| `stop-decision.yaml` | mock/host author | stop, continue, or ask-user decision based on metrics |
|
|
253
|
+
| `final-output.md` | mock/host author | user-facing result grounded in artifacts |
|
|
254
|
+
| `reconstruct-run-manifest.yaml` | runtime | step refs, `performed_by` provenance, execution profile, and happy-path scope |
|
|
255
|
+
| `reconstruct-record.yaml` | runtime | primary structured reconstruct artifact |
|
|
256
|
+
|
|
257
|
+
Current deferred reconstruct artifacts are recorded in
|
|
258
|
+
`reconstruct-run-manifest.yaml` under `happy_path_scope.deferred_artifacts`:
|
|
259
|
+
`domain_context_selection`, `failure_classification`, and `revision_proposal`.
|
|
260
|
+
Those require additional host/user semantic decisions and are outside the
|
|
261
|
+
current mock happy path.
|
|
262
|
+
|
|
263
|
+
## Repository Map
|
|
264
|
+
|
|
265
|
+
| Path | Role |
|
|
266
|
+
|---|---|
|
|
267
|
+
| `.onto/authority/` | canonical ontology data and runtime registries |
|
|
268
|
+
| `.onto/processes/shared/` | cross-process target and runtime contracts |
|
|
269
|
+
| `.onto/processes/review/` | review contracts |
|
|
270
|
+
| `.onto/processes/reconstruct/` | reconstruct contracts and source profiles |
|
|
271
|
+
| `.onto/domains/` | bundled domain documents |
|
|
272
|
+
| `src/core-runtime/` | TypeScript runtime |
|
|
273
|
+
| `src/core-api/` | library facade used by MCP |
|
|
274
|
+
| `src/mcp/` | MCP tool surface |
|
|
275
|
+
| `development-records/` | development records and archived material |
|
|
276
|
+
| `IMPLEMENTATION_MAP.html` | visual architecture and roadmap map |
|
|
277
|
+
|
|
278
|
+
## Verification
|
|
279
|
+
|
|
280
|
+
```bash
|
|
281
|
+
npm run check:ts-core
|
|
282
|
+
npm run build:ts-core
|
|
283
|
+
npm run test:mcp:review
|
|
284
|
+
npm run test:review:hardening
|
|
285
|
+
npm run test:e2e
|
|
286
|
+
git diff --check
|
|
287
|
+
```
|
package/bin/onto
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
// Public binary entry point for onto-mcp.
|
|
4
|
+
// Uses tsx for TypeScript execution in development.
|
|
5
|
+
// For production, compile first: npm run build
|
|
6
|
+
//
|
|
7
|
+
// Product Locality Principle (.onto/principles/product-locality-principle.md):
|
|
8
|
+
// If a project-local installation exists, delegate execution to it.
|
|
9
|
+
// --global flag bypasses delegation.
|
|
10
|
+
|
|
11
|
+
import { fileURLToPath } from "node:url";
|
|
12
|
+
import path from "node:path";
|
|
13
|
+
import { execSync } from "node:child_process";
|
|
14
|
+
import fs from "node:fs";
|
|
15
|
+
|
|
16
|
+
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
|
17
|
+
const ontoRoot = path.resolve(__dirname, "..");
|
|
18
|
+
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
// Project-local delegation (§2.1)
|
|
21
|
+
// ---------------------------------------------------------------------------
|
|
22
|
+
|
|
23
|
+
function findProjectRoot(startDir) {
|
|
24
|
+
let dir = startDir;
|
|
25
|
+
while (true) {
|
|
26
|
+
if (
|
|
27
|
+
fs.existsSync(path.join(dir, ".onto", "settings.json")) ||
|
|
28
|
+
fs.existsSync(path.join(dir, ".git")) ||
|
|
29
|
+
fs.existsSync(path.join(dir, "package.json"))
|
|
30
|
+
) {
|
|
31
|
+
return dir;
|
|
32
|
+
}
|
|
33
|
+
const parent = path.dirname(dir);
|
|
34
|
+
if (parent === dir) return startDir;
|
|
35
|
+
dir = parent;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
function tryDelegateToLocal(argv) {
|
|
40
|
+
if (argv.includes("--global")) return false;
|
|
41
|
+
|
|
42
|
+
const projectRoot = findProjectRoot(process.cwd());
|
|
43
|
+
const localBin = path.join(projectRoot, "node_modules", "onto-mcp", "bin", "onto");
|
|
44
|
+
|
|
45
|
+
// Don't delegate to ourselves
|
|
46
|
+
if (!fs.existsSync(localBin)) return false;
|
|
47
|
+
const resolvedLocal = fs.realpathSync(localBin);
|
|
48
|
+
const resolvedSelf = fs.realpathSync(fileURLToPath(import.meta.url));
|
|
49
|
+
if (resolvedLocal === resolvedSelf) return false;
|
|
50
|
+
|
|
51
|
+
// CON-2: Force ONTO_HOME to the local installation to prevent resource mismatch (§3 #5)
|
|
52
|
+
const localOntoRoot = path.resolve(path.dirname(localBin), "..");
|
|
53
|
+
try {
|
|
54
|
+
execSync(`"${process.execPath}" "${localBin}" ${argv.map(a => `"${a}"`).join(" ")}`, {
|
|
55
|
+
stdio: "inherit",
|
|
56
|
+
cwd: process.cwd(),
|
|
57
|
+
env: { ...process.env, ONTO_HOME: localOntoRoot },
|
|
58
|
+
});
|
|
59
|
+
} catch (error) {
|
|
60
|
+
process.exit(error && typeof error === "object" && "status" in error ? Number(error.status) || 1 : 1);
|
|
61
|
+
}
|
|
62
|
+
process.exit(0);
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
const userArgs = process.argv.slice(2);
|
|
66
|
+
|
|
67
|
+
if (!tryDelegateToLocal(userArgs)) {
|
|
68
|
+
// ---------------------------------------------------------------------------
|
|
69
|
+
// No local installation — run from this (global/development) binary
|
|
70
|
+
// ---------------------------------------------------------------------------
|
|
71
|
+
|
|
72
|
+
const distEntry = path.join(ontoRoot, "dist", "cli.js");
|
|
73
|
+
const srcEntry = path.join(ontoRoot, "src", "cli.ts");
|
|
74
|
+
|
|
75
|
+
if (fs.existsSync(distEntry)) {
|
|
76
|
+
// Production: use compiled JS
|
|
77
|
+
await import(distEntry);
|
|
78
|
+
} else {
|
|
79
|
+
// Development: use tsx
|
|
80
|
+
const tsxBin = path.join(ontoRoot, "node_modules", ".bin", "tsx");
|
|
81
|
+
const args = [srcEntry, ...userArgs];
|
|
82
|
+
try {
|
|
83
|
+
execSync(`"${tsxBin}" ${args.map(a => `"${a}"`).join(" ")}`, {
|
|
84
|
+
stdio: "inherit",
|
|
85
|
+
cwd: process.cwd(),
|
|
86
|
+
env: { ...process.env, ONTO_HOME: ontoRoot },
|
|
87
|
+
});
|
|
88
|
+
} catch (error) {
|
|
89
|
+
process.exit(error && typeof error === "object" && "status" in error ? Number(error.status) || 1 : 1);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
package/dist/cli.js
ADDED
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import fs from "node:fs";
|
|
3
|
+
import os from "node:os";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { readOntoVersion } from "./core-runtime/release-channel/release-channel.js";
|
|
6
|
+
/**
|
|
7
|
+
* Public binary surface for the MCP-native product.
|
|
8
|
+
*
|
|
9
|
+
* Product tools are exposed through MCP (`onto mcp`). Review and other
|
|
10
|
+
* runtime flows are no longer public `onto <activity>` CLI commands. The
|
|
11
|
+
* `npm run review:*` scripts remain internal development harnesses.
|
|
12
|
+
*/
|
|
13
|
+
function loadOntoEnvFile(filePath) {
|
|
14
|
+
if (!fs.existsSync(filePath))
|
|
15
|
+
return;
|
|
16
|
+
let contents;
|
|
17
|
+
try {
|
|
18
|
+
contents = fs.readFileSync(filePath, "utf8");
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
for (const rawLine of contents.split(/\r?\n/)) {
|
|
24
|
+
const line = rawLine.trim();
|
|
25
|
+
if (!line || line.startsWith("#"))
|
|
26
|
+
continue;
|
|
27
|
+
const eq = line.indexOf("=");
|
|
28
|
+
if (eq === -1)
|
|
29
|
+
continue;
|
|
30
|
+
const key = line.slice(0, eq).trim();
|
|
31
|
+
if (!key || process.env[key] !== undefined)
|
|
32
|
+
continue;
|
|
33
|
+
process.env[key] = line.slice(eq + 1);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
function printHelp() {
|
|
37
|
+
console.log([
|
|
38
|
+
"Usage: onto mcp",
|
|
39
|
+
"",
|
|
40
|
+
"Active interface:",
|
|
41
|
+
" mcp Start the MCP stdio tool server",
|
|
42
|
+
"",
|
|
43
|
+
"Available MCP tools:",
|
|
44
|
+
" onto.review",
|
|
45
|
+
" onto.prepare_review",
|
|
46
|
+
" onto.review_status",
|
|
47
|
+
" onto.review_result",
|
|
48
|
+
" onto.list_lenses",
|
|
49
|
+
" onto.list_domains",
|
|
50
|
+
" onto.list_source_profiles",
|
|
51
|
+
" onto.observe_source",
|
|
52
|
+
" onto.validate_reconstruct_directive",
|
|
53
|
+
" onto.reconstruct",
|
|
54
|
+
" onto.reconstruct_status",
|
|
55
|
+
" onto.reconstruct_result",
|
|
56
|
+
"",
|
|
57
|
+
"Development harness:",
|
|
58
|
+
" npm run review:invoke -- <target> \"<intent>\"",
|
|
59
|
+
"",
|
|
60
|
+
"Options:",
|
|
61
|
+
" --version, -v Show version",
|
|
62
|
+
" --help, -h Show this help",
|
|
63
|
+
].join("\n"));
|
|
64
|
+
}
|
|
65
|
+
function unsupportedCommandMessage(subcommand) {
|
|
66
|
+
return [
|
|
67
|
+
`[onto] Unsupported public CLI subcommand: ${subcommand}`,
|
|
68
|
+
"Active public command: onto mcp",
|
|
69
|
+
"Development harness: npm run review:invoke -- <target> \"<intent>\"",
|
|
70
|
+
].join("\n");
|
|
71
|
+
}
|
|
72
|
+
async function main() {
|
|
73
|
+
const argv = process.argv.slice(2);
|
|
74
|
+
const subcommand = argv[0];
|
|
75
|
+
loadOntoEnvFile(path.join(os.homedir(), ".onto", ".env"));
|
|
76
|
+
loadOntoEnvFile(path.join(process.cwd(), ".onto", ".env"));
|
|
77
|
+
switch (subcommand) {
|
|
78
|
+
case "mcp": {
|
|
79
|
+
const { startMcpServer } = await import("./mcp/server.js");
|
|
80
|
+
return startMcpServer();
|
|
81
|
+
}
|
|
82
|
+
case "--version":
|
|
83
|
+
case "-v": {
|
|
84
|
+
const version = await readOntoVersion();
|
|
85
|
+
console.log(`onto-mcp ${version}`);
|
|
86
|
+
return 0;
|
|
87
|
+
}
|
|
88
|
+
case "--help":
|
|
89
|
+
case "-h":
|
|
90
|
+
case undefined:
|
|
91
|
+
printHelp();
|
|
92
|
+
return 0;
|
|
93
|
+
default:
|
|
94
|
+
console.error(unsupportedCommandMessage(subcommand));
|
|
95
|
+
return 1;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
main().then((exitCode) => process.exit(exitCode), (error) => {
|
|
99
|
+
console.error(error instanceof Error ? error.message : String(error));
|
|
100
|
+
process.exit(1);
|
|
101
|
+
});
|