onto-mcp 0.3.2 → 0.4.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/processes/reconstruct/actionable-ontology-seed-recomposition-design.md +447 -0
- package/.onto/processes/reconstruct/foundry-style-ontology-seed-contract.md +934 -0
- package/.onto/processes/reconstruct/reconstruct-boundary-contract.md +303 -725
- package/.onto/processes/reconstruct/reconstruct-contract-registry.yaml +1645 -0
- package/.onto/processes/reconstruct/reconstruct-execution-ux-contract.md +26 -22
- package/.onto/processes/reconstruct/source-profile-contract.md +49 -23
- package/.onto/processes/reconstruct/source-profiles/code.md +6 -3
- package/.onto/processes/reconstruct/source-profiles/database.md +5 -2
- package/.onto/processes/reconstruct/source-profiles/document.md +5 -2
- package/.onto/processes/reconstruct/source-profiles/spreadsheet.md +5 -4
- package/.onto/processes/review/review-execution-ux-contract.md +40 -0
- package/.onto/processes/shared/pipeline-execution-ledger-contract.md +26 -10
- package/.onto/processes/shared/target-material-kind-contract.md +29 -16
- package/AGENTS.md +6 -4
- package/README.md +135 -76
- package/dist/cli.js +8 -8
- package/dist/core-api/reconstruct-api.js +117 -31
- package/dist/core-api/review-api.js +47 -0
- package/dist/core-runtime/cli/codex-review-unit-executor.js +39 -2
- package/dist/core-runtime/cli/complete-review-session.js +2 -2
- package/dist/core-runtime/cli/mock-review-unit-executor.js +1 -1
- package/dist/core-runtime/cli/review-invoke.js +9 -9
- package/dist/core-runtime/cli/run-review-prompt-execution.js +39 -5
- package/dist/core-runtime/cli/spawn-watcher.js +266 -47
- package/dist/core-runtime/cli/start-review-session.js +3 -3
- package/dist/core-runtime/llm/llm-caller.js +11 -0
- package/dist/core-runtime/llm/llm-tool-loop.js +2 -0
- package/dist/core-runtime/observability/runtime-stream-observation.js +118 -0
- package/dist/core-runtime/onboard/cli-host.js +149 -0
- package/dist/core-runtime/onboard/host-target.js +22 -0
- package/dist/core-runtime/onboard/json-config-host.js +122 -0
- package/dist/core-runtime/onboard/path-scan.js +26 -0
- package/dist/core-runtime/onboard/prompt.js +51 -0
- package/dist/core-runtime/onboard/register.js +207 -0
- package/dist/core-runtime/onboard/types.js +27 -0
- package/dist/core-runtime/reconstruct/actionable-seed-validation.js +1777 -0
- package/dist/core-runtime/reconstruct/artifact-types.js +10 -4
- package/dist/core-runtime/reconstruct/contract-registry.js +623 -0
- package/dist/core-runtime/reconstruct/domain-id.js +10 -0
- package/dist/core-runtime/reconstruct/governing-snapshot.js +716 -0
- package/dist/core-runtime/reconstruct/material-profile-validation.js +191 -0
- package/dist/core-runtime/reconstruct/materialize-preparation.js +49 -11
- package/dist/core-runtime/reconstruct/pipeline-execution-ledger.js +269 -79
- package/dist/core-runtime/reconstruct/post-seed-validation.js +1194 -51
- package/dist/core-runtime/reconstruct/record.js +104 -20
- package/dist/core-runtime/reconstruct/run.js +2107 -413
- package/dist/core-runtime/reconstruct/seed-claim-projections.js +268 -0
- package/dist/core-runtime/reconstruct/source-profiles.js +93 -4
- package/dist/core-runtime/reconstruct/terminal-validation.js +807 -0
- package/dist/core-runtime/review/review-invocation-runner.js +4 -4
- package/dist/mcp/server.js +110 -38
- package/dist/mcp/tool-schemas.js +20 -6
- package/package.json +8 -17
- package/scripts/onto-review-watch.sh +486 -0
- package/scripts/onto-runtime-watch.sh +122 -0
- package/scripts/postinstall-hint.js +22 -0
- package/.onto/processes/reconstruct/top-level-concept-discovery-contract.md +0 -387
- package/dist/core-runtime/cli/bootstrap-review-binding.js +0 -186
- package/dist/core-runtime/cli/codex-nested-dispatch.test.js +0 -390
- package/dist/core-runtime/cli/codex-nested-teamlead-executor.test.js +0 -335
- package/dist/core-runtime/cli/coordinator-helpers.js +0 -583
- package/dist/core-runtime/cli/coordinator-state-machine-deliberation.test.js +0 -167
- package/dist/core-runtime/cli/coordinator-state-machine.js +0 -794
- package/dist/core-runtime/cli/e2e-codex-multi-agent-fixes.test.js +0 -615
- package/dist/core-runtime/cli/e2e-start-review-session.test.js +0 -312
- package/dist/core-runtime/cli/health.js +0 -44
- package/dist/core-runtime/cli/inline-http-review-unit-executor.test.js +0 -567
- package/dist/core-runtime/cli/materialize-review-execution-preparation.js +0 -104
- package/dist/core-runtime/cli/migrate-session-roots.js +0 -118
- package/dist/core-runtime/cli/repo-layout-migration-replace.smoke.test.js +0 -106
- package/dist/core-runtime/cli/review-invoke-auto-resolution.test.js +0 -268
- package/dist/core-runtime/cli/review-invoke-coordinator-topology.test.js +0 -136
- package/dist/core-runtime/cli/review-invoke-resolver-caching.test.js +0 -201
- package/dist/core-runtime/cli/review-invoke-topology-dispatch.test.js +0 -192
- package/dist/core-runtime/cli/session-root-guard.js +0 -168
- package/dist/core-runtime/cli/spawn-watcher.test.js +0 -457
- package/dist/core-runtime/cli/strip-wrapping-code-fence.test.js +0 -79
- package/dist/core-runtime/cli/teamcreate-lens-deliberation-executor.js +0 -412
- package/dist/core-runtime/cli/teamcreate-lens-deliberation-executor.test.js +0 -351
- package/dist/core-runtime/cli/topology-executor-mapping.js +0 -139
- package/dist/core-runtime/cli/topology-executor-mapping.test.js +0 -173
- package/dist/core-runtime/cli/write-review-interpretation.js +0 -81
- package/dist/core-runtime/config/onto-config-cli.js +0 -278
- package/dist/core-runtime/config/onto-config-key-path.js +0 -288
- package/dist/core-runtime/config/onto-config-key-path.test.js +0 -195
- package/dist/core-runtime/config/onto-config-preview.js +0 -108
- package/dist/core-runtime/config/onto-config-preview.test.js +0 -132
- package/dist/core-runtime/discovery/config-chain.js +0 -118
- package/dist/core-runtime/discovery/config-chain.test.js +0 -103
- package/dist/core-runtime/discovery/config-profile.js +0 -199
- package/dist/core-runtime/discovery/config-profile.test.js +0 -233
- package/dist/core-runtime/discovery/host-detection.test.js +0 -186
- package/dist/core-runtime/discovery/installation-paths.test.js +0 -65
- package/dist/core-runtime/discovery/lens-registry.test.js +0 -81
- package/dist/core-runtime/discovery/path-normalization.test.js +0 -22
- package/dist/core-runtime/discovery/plugin-path.js +0 -72
- package/dist/core-runtime/discovery/plugin-path.test.js +0 -95
- package/dist/core-runtime/evolve/adapters/code-product/compile/compile-defense.js +0 -344
- package/dist/core-runtime/evolve/adapters/code-product/compile/compile-defense.test.js +0 -915
- package/dist/core-runtime/evolve/adapters/code-product/compile/compile.js +0 -564
- package/dist/core-runtime/evolve/adapters/code-product/compile/compile.test.js +0 -708
- package/dist/core-runtime/evolve/adapters/code-product/parsers/brief-parser.js +0 -165
- package/dist/core-runtime/evolve/adapters/code-product/parsers/brief-parser.test.js +0 -227
- package/dist/core-runtime/evolve/adapters/code-product/validators/validate.js +0 -59
- package/dist/core-runtime/evolve/adapters/code-product/validators/validate.test.js +0 -205
- package/dist/core-runtime/evolve/adapters/methodology/adapter.js +0 -16
- package/dist/core-runtime/evolve/adapters/methodology/adapter.test.js +0 -9
- package/dist/core-runtime/evolve/adapters/methodology/perspectives/authority-consistency.js +0 -298
- package/dist/core-runtime/evolve/adapters/methodology/perspectives/authority-consistency.test.js +0 -70
- package/dist/core-runtime/evolve/adapters/methodology/scope-types/process.js +0 -46
- package/dist/core-runtime/evolve/adapters/methodology/scope-types/process.test.js +0 -73
- package/dist/core-runtime/evolve/adapters/registry.js +0 -47
- package/dist/core-runtime/evolve/adapters/registry.test.js +0 -67
- package/dist/core-runtime/evolve/cli.js +0 -256
- package/dist/core-runtime/evolve/commands/align.js +0 -194
- package/dist/core-runtime/evolve/commands/align.test.js +0 -82
- package/dist/core-runtime/evolve/commands/apply.js +0 -161
- package/dist/core-runtime/evolve/commands/apply.test.js +0 -138
- package/dist/core-runtime/evolve/commands/close.js +0 -39
- package/dist/core-runtime/evolve/commands/close.test.js +0 -99
- package/dist/core-runtime/evolve/commands/defer.js +0 -40
- package/dist/core-runtime/evolve/commands/defer.test.js +0 -134
- package/dist/core-runtime/evolve/commands/draft.js +0 -323
- package/dist/core-runtime/evolve/commands/draft.test.js +0 -178
- package/dist/core-runtime/evolve/commands/e2e-evolve-full-cycle.test.js +0 -208
- package/dist/core-runtime/evolve/commands/error-messages.js +0 -125
- package/dist/core-runtime/evolve/commands/error-messages.test.js +0 -167
- package/dist/core-runtime/evolve/commands/propose-align.js +0 -222
- package/dist/core-runtime/evolve/commands/propose-align.test.js +0 -136
- package/dist/core-runtime/evolve/commands/reconstruct.js +0 -330
- package/dist/core-runtime/evolve/commands/reconstruct.test.js +0 -278
- package/dist/core-runtime/evolve/commands/shared.js +0 -22
- package/dist/core-runtime/evolve/commands/stale-check.js +0 -103
- package/dist/core-runtime/evolve/commands/stale-check.test.js +0 -84
- package/dist/core-runtime/evolve/commands/start.js +0 -887
- package/dist/core-runtime/evolve/commands/start.test.js +0 -396
- package/dist/core-runtime/evolve/config/project-config.js +0 -99
- package/dist/core-runtime/evolve/config/project-config.test.js +0 -170
- package/dist/core-runtime/evolve/renderers/align-packet.js +0 -280
- package/dist/core-runtime/evolve/renderers/align-packet.test.js +0 -332
- package/dist/core-runtime/evolve/renderers/draft-packet.js +0 -303
- package/dist/core-runtime/evolve/renderers/draft-packet.test.js +0 -377
- package/dist/core-runtime/evolve/renderers/format.js +0 -5
- package/dist/core-runtime/evolve/renderers/scope-md.js +0 -237
- package/dist/core-runtime/evolve/renderers/scope-md.test.js +0 -306
- package/dist/core-runtime/govern/cli.js +0 -369
- package/dist/core-runtime/govern/cli.test.js +0 -314
- package/dist/core-runtime/govern/drift-engine.js +0 -103
- package/dist/core-runtime/govern/drift-engine.test.js +0 -319
- package/dist/core-runtime/govern/promote-principle.js +0 -206
- package/dist/core-runtime/govern/promote-principle.test.js +0 -368
- package/dist/core-runtime/govern/queue.js +0 -81
- package/dist/core-runtime/govern/types.js +0 -16
- package/dist/core-runtime/install/cli.js +0 -530
- package/dist/core-runtime/install/detect.js +0 -128
- package/dist/core-runtime/install/detect.test.js +0 -155
- package/dist/core-runtime/install/gitignore-update.js +0 -74
- package/dist/core-runtime/install/gitignore-update.test.js +0 -64
- package/dist/core-runtime/install/install-integration.test.js +0 -373
- package/dist/core-runtime/install/prompts.js +0 -389
- package/dist/core-runtime/install/prompts.test.js +0 -293
- package/dist/core-runtime/install/types.js +0 -26
- package/dist/core-runtime/install/validation.js +0 -295
- package/dist/core-runtime/install/validation.test.js +0 -313
- package/dist/core-runtime/install/writer.js +0 -254
- package/dist/core-runtime/install/writer.test.js +0 -218
- package/dist/core-runtime/learning/extractor.js +0 -461
- package/dist/core-runtime/learning/feedback.js +0 -179
- package/dist/core-runtime/learning/health-report.js +0 -165
- package/dist/core-runtime/learning/health-report.test.js +0 -169
- package/dist/core-runtime/learning/loader.js +0 -388
- package/dist/core-runtime/learning/loader.test.js +0 -102
- package/dist/core-runtime/learning/promote/apply-state.js +0 -240
- package/dist/core-runtime/learning/promote/audit-obligation.js +0 -195
- package/dist/core-runtime/learning/promote/collector.js +0 -432
- package/dist/core-runtime/learning/promote/degraded-state.js +0 -125
- package/dist/core-runtime/learning/promote/domain-doc-proposer.js +0 -166
- package/dist/core-runtime/learning/promote/e2e-promote.test.js +0 -6385
- package/dist/core-runtime/learning/promote/health-snapshot.js +0 -150
- package/dist/core-runtime/learning/promote/insight-reclassifier.js +0 -544
- package/dist/core-runtime/learning/promote/judgment-auditor.js +0 -517
- package/dist/core-runtime/learning/promote/panel-reviewer.js +0 -1158
- package/dist/core-runtime/learning/promote/promote-executor.js +0 -1675
- package/dist/core-runtime/learning/promote/promoter.js +0 -307
- package/dist/core-runtime/learning/promote/retirement.js +0 -122
- package/dist/core-runtime/learning/promote/types.js +0 -23
- package/dist/core-runtime/learning/prompt-sections.js +0 -51
- package/dist/core-runtime/learning/shared/artifact-registry-init.js +0 -45
- package/dist/core-runtime/learning/shared/artifact-registry.js +0 -254
- package/dist/core-runtime/learning/shared/audit-obligation-kernel.js +0 -73
- package/dist/core-runtime/learning/shared/audit-state.js +0 -99
- package/dist/core-runtime/learning/shared/duplicate-check.js +0 -28
- package/dist/core-runtime/learning/shared/llm-caller.js +0 -831
- package/dist/core-runtime/learning/shared/llm-caller.test.js +0 -601
- package/dist/core-runtime/learning/shared/llm-tool-loop.js +0 -393
- package/dist/core-runtime/learning/shared/mode.js +0 -25
- package/dist/core-runtime/learning/shared/paths.js +0 -84
- package/dist/core-runtime/learning/shared/paths.test.js +0 -79
- package/dist/core-runtime/learning/shared/patterns.js +0 -37
- package/dist/core-runtime/learning/shared/recoverability.js +0 -355
- package/dist/core-runtime/learning/shared/recovery-context.js +0 -374
- package/dist/core-runtime/learning/shared/scope.js +0 -1
- package/dist/core-runtime/learning/shared/semantic-classifier.js +0 -94
- package/dist/core-runtime/learning/shared/specs/apply-execution-state-spec.js +0 -42
- package/dist/core-runtime/learning/shared/specs/audit-state-spec.js +0 -37
- package/dist/core-runtime/learning/shared/specs/backup-metadata-spec.js +0 -39
- package/dist/core-runtime/learning/shared/specs/emergency-log-spec.js +0 -41
- package/dist/core-runtime/learning/shared/specs/layout-version-spec.js +0 -38
- package/dist/core-runtime/learning/shared/specs/promote-decisions-spec.js +0 -43
- package/dist/core-runtime/learning/shared/specs/promote-report-spec.js +0 -113
- package/dist/core-runtime/learning/shared/specs/prune-log-spec.js +0 -36
- package/dist/core-runtime/learning/shared/specs/recovery-resolution-spec.js +0 -48
- package/dist/core-runtime/learning/shared/specs/restore-manifest-spec.js +0 -43
- package/dist/core-runtime/learning/shared/specs/spec-helpers.js +0 -64
- package/dist/core-runtime/learning/usage-tracker.js +0 -190
- package/dist/core-runtime/learning/usage-tracker.test.js +0 -176
- package/dist/core-runtime/onboard/detect-review-axes.js +0 -122
- package/dist/core-runtime/onboard/detect-review-axes.test.js +0 -127
- package/dist/core-runtime/onboard/write-review-block.js +0 -188
- package/dist/core-runtime/onboard/write-review-block.test.js +0 -240
- package/dist/core-runtime/readers/brownfield-builder.js +0 -150
- package/dist/core-runtime/readers/brownfield-builder.test.js +0 -136
- package/dist/core-runtime/readers/code-chunk-collector.js +0 -53
- package/dist/core-runtime/readers/code-chunk-collector.test.js +0 -136
- package/dist/core-runtime/readers/file-utils.js +0 -240
- package/dist/core-runtime/readers/file-utils.test.js +0 -146
- package/dist/core-runtime/readers/lexicon-citation-check.js +0 -93
- package/dist/core-runtime/readers/lexicon-citation-check.test.js +0 -77
- package/dist/core-runtime/readers/mcp-figma.js +0 -30
- package/dist/core-runtime/readers/mcp-figma.test.js +0 -82
- package/dist/core-runtime/readers/mcp-generic.js +0 -31
- package/dist/core-runtime/readers/mcp-generic.test.js +0 -76
- package/dist/core-runtime/readers/ontology-index.js +0 -148
- package/dist/core-runtime/readers/ontology-index.test.js +0 -245
- package/dist/core-runtime/readers/ontology-query.js +0 -168
- package/dist/core-runtime/readers/ontology-query.test.js +0 -311
- package/dist/core-runtime/readers/ontology-resolve.js +0 -48
- package/dist/core-runtime/readers/ontology-resolve.test.js +0 -48
- package/dist/core-runtime/readers/patterns/index.js +0 -7
- package/dist/core-runtime/readers/review-log.js +0 -213
- package/dist/core-runtime/readers/review-log.test.js +0 -313
- package/dist/core-runtime/readers/scan-local.js +0 -102
- package/dist/core-runtime/readers/scan-local.test.js +0 -102
- package/dist/core-runtime/readers/scan-tarball.js +0 -121
- package/dist/core-runtime/readers/scan-tarball.test.js +0 -283
- package/dist/core-runtime/readers/scan-vault.js +0 -34
- package/dist/core-runtime/readers/scan-vault.test.js +0 -81
- package/dist/core-runtime/readers/types.js +0 -42
- package/dist/core-runtime/readers/types.test.js +0 -94
- package/dist/core-runtime/readers/viewpoint-collectors.js +0 -229
- package/dist/core-runtime/reconstruct/seed-candidate-validation.js +0 -385
- package/dist/core-runtime/review/citation-audit.test.js +0 -165
- package/dist/core-runtime/review/execution-plan-resolver.js +0 -247
- package/dist/core-runtime/review/execution-plan-resolver.test.js +0 -243
- package/dist/core-runtime/review/execution-topology-resolver-axis-first.test.js +0 -246
- package/dist/core-runtime/review/execution-topology-resolver.js +0 -401
- package/dist/core-runtime/review/execution-topology-resolver.test.js +0 -315
- package/dist/core-runtime/review/inline-context-embedder.test.js +0 -154
- package/dist/core-runtime/review/legacy-mode-policy.js +0 -88
- package/dist/core-runtime/review/materializers-effort-persist.test.js +0 -79
- package/dist/core-runtime/review/ontology-path-classifier.js +0 -179
- package/dist/core-runtime/review/ontology-path-classifier.test.js +0 -216
- package/dist/core-runtime/review/packet-boundary-policy.test.js +0 -107
- package/dist/core-runtime/review/participating-lens-paths.test.js +0 -73
- package/dist/core-runtime/review/review-config-legacy-translate.js +0 -244
- package/dist/core-runtime/review/review-config-legacy-translate.test.js +0 -161
- package/dist/core-runtime/review/review-config-validator.js +0 -289
- package/dist/core-runtime/review/review-config-validator.test.js +0 -236
- package/dist/core-runtime/review/shape-pipeline-audit.test.js +0 -311
- package/dist/core-runtime/review/shape-to-topology-id.js +0 -117
- package/dist/core-runtime/review/shape-to-topology-id.test.js +0 -132
- package/dist/core-runtime/review/topology-shape-derivation.js +0 -155
- package/dist/core-runtime/review/topology-shape-derivation.test.js +0 -195
- package/dist/core-runtime/scope-runtime/constants.js +0 -12
- package/dist/core-runtime/scope-runtime/constraint-pool.js +0 -166
- package/dist/core-runtime/scope-runtime/constraint-pool.test.js +0 -674
- package/dist/core-runtime/scope-runtime/domain-validation-log.js +0 -135
- package/dist/core-runtime/scope-runtime/domain-validation-log.test.js +0 -156
- package/dist/core-runtime/scope-runtime/eval-persistence.js +0 -65
- package/dist/core-runtime/scope-runtime/eval-persistence.test.js +0 -84
- package/dist/core-runtime/scope-runtime/event-pipeline.js +0 -64
- package/dist/core-runtime/scope-runtime/event-pipeline.test.js +0 -450
- package/dist/core-runtime/scope-runtime/event-store.js +0 -39
- package/dist/core-runtime/scope-runtime/event-store.test.js +0 -95
- package/dist/core-runtime/scope-runtime/gate-guard.js +0 -348
- package/dist/core-runtime/scope-runtime/gate-guard.test.js +0 -1047
- package/dist/core-runtime/scope-runtime/hash.js +0 -4
- package/dist/core-runtime/scope-runtime/hash.test.js +0 -33
- package/dist/core-runtime/scope-runtime/id.js +0 -4
- package/dist/core-runtime/scope-runtime/id.test.js +0 -17
- package/dist/core-runtime/scope-runtime/reducer.js +0 -297
- package/dist/core-runtime/scope-runtime/reducer.test.js +0 -759
- package/dist/core-runtime/scope-runtime/scope-manager.js +0 -161
- package/dist/core-runtime/scope-runtime/state-machine.js +0 -309
- package/dist/core-runtime/scope-runtime/state-machine.test.js +0 -704
- package/dist/core-runtime/scope-runtime/types.js +0 -116
- package/dist/core-runtime/scope-runtime/types.test.js +0 -69
- package/dist/core-runtime/translate/render-for-user.js +0 -169
- package/dist/core-runtime/translate/render-for-user.test.js +0 -122
- package/dist/providers/capability-contract.js +0 -1
|
@@ -0,0 +1,934 @@
|
|
|
1
|
+
# Reconstruct Actionable Ontology Seed Contract
|
|
2
|
+
|
|
3
|
+
> Status: active seed contract.
|
|
4
|
+
> Purpose: define the target `ActionableOntologySeed` produced by
|
|
5
|
+
> `reconstruct`.
|
|
6
|
+
|
|
7
|
+
## 1. Position
|
|
8
|
+
|
|
9
|
+
An `ActionableOntologySeed` is the smallest evidence-backed semantic contract
|
|
10
|
+
that can support decision-making and action design for the declared purpose.
|
|
11
|
+
|
|
12
|
+
It is intentionally smaller than a full ontology. It must still be operational:
|
|
13
|
+
it needs objects, actors, actions, permissions, data bindings, validation
|
|
14
|
+
questions, and handoff limits in addition to orientation concepts.
|
|
15
|
+
|
|
16
|
+
```text
|
|
17
|
+
ActionableOntologySeed
|
|
18
|
+
= purpose
|
|
19
|
+
+ decision context
|
|
20
|
+
+ conceptual frame
|
|
21
|
+
+ semantic layer
|
|
22
|
+
+ kinetic layer
|
|
23
|
+
+ dynamic layer
|
|
24
|
+
+ data binding layer
|
|
25
|
+
+ validation layer
|
|
26
|
+
+ candidate disposition authority ref
|
|
27
|
+
+ ontology-facing handoff mapping
|
|
28
|
+
+ source authority
|
|
29
|
+
+ handoff limitations
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## 2. Design Rationale
|
|
33
|
+
|
|
34
|
+
Ontology is useful here because it turns source material into a basis for later
|
|
35
|
+
decisions and actions.
|
|
36
|
+
|
|
37
|
+
A concept map can explain a service, but it cannot by itself answer:
|
|
38
|
+
|
|
39
|
+
- who can act
|
|
40
|
+
- what object is acted on
|
|
41
|
+
- what state changes
|
|
42
|
+
- what permission or policy controls the action
|
|
43
|
+
- where the data is read from or written to
|
|
44
|
+
- which external question and assessment artifacts test the seed
|
|
45
|
+
|
|
46
|
+
The reconstruct run must therefore preserve every high-salience object, actor,
|
|
47
|
+
action, workflow, data source, and constraint candidate through the canonical
|
|
48
|
+
candidate-disposition artifact. A candidate may be promoted into a seed layer,
|
|
49
|
+
represented as a property or link, deferred, or rejected for the declared
|
|
50
|
+
purpose, but it must not vanish.
|
|
51
|
+
|
|
52
|
+
## 3. Ownership
|
|
53
|
+
|
|
54
|
+
The host LLM authors seed meaning. Runtime validates shape, ids, evidence refs,
|
|
55
|
+
layer closure, and handoff consistency.
|
|
56
|
+
|
|
57
|
+
Runtime may reject or mark a seed invalid. Runtime must not invent missing seed
|
|
58
|
+
content to make validation pass.
|
|
59
|
+
|
|
60
|
+
## 4. Seed Shape
|
|
61
|
+
|
|
62
|
+
The target artifact is `ontology-seed.yaml`.
|
|
63
|
+
|
|
64
|
+
Required root fields:
|
|
65
|
+
|
|
66
|
+
```yaml
|
|
67
|
+
seed_identity:
|
|
68
|
+
schema_version:
|
|
69
|
+
seed_id:
|
|
70
|
+
title:
|
|
71
|
+
target_refs: []
|
|
72
|
+
generated_at:
|
|
73
|
+
authoring_profile:
|
|
74
|
+
|
|
75
|
+
purpose:
|
|
76
|
+
declared_purpose:
|
|
77
|
+
intended_decisions: []
|
|
78
|
+
intended_actions: []
|
|
79
|
+
non_goals: []
|
|
80
|
+
evidence_refs: []
|
|
81
|
+
|
|
82
|
+
decision_context:
|
|
83
|
+
principal_user:
|
|
84
|
+
downstream_use:
|
|
85
|
+
decision_boundary:
|
|
86
|
+
risk_notes: []
|
|
87
|
+
|
|
88
|
+
conceptual_frame:
|
|
89
|
+
concepts: []
|
|
90
|
+
associations: []
|
|
91
|
+
|
|
92
|
+
semantic_layer:
|
|
93
|
+
object_types: []
|
|
94
|
+
link_types: []
|
|
95
|
+
value_types: []
|
|
96
|
+
constraints: []
|
|
97
|
+
|
|
98
|
+
kinetic_layer:
|
|
99
|
+
action_types: []
|
|
100
|
+
functions: []
|
|
101
|
+
workflows: []
|
|
102
|
+
|
|
103
|
+
dynamic_layer:
|
|
104
|
+
actor_types: []
|
|
105
|
+
actor_roles: []
|
|
106
|
+
permission_policies: []
|
|
107
|
+
state_models: []
|
|
108
|
+
lifecycle_rules: []
|
|
109
|
+
|
|
110
|
+
data_binding_layer:
|
|
111
|
+
source_bindings: []
|
|
112
|
+
read_models: []
|
|
113
|
+
writebacks: []
|
|
114
|
+
provenance_bindings: []
|
|
115
|
+
|
|
116
|
+
validation_layer:
|
|
117
|
+
question_authority_ref:
|
|
118
|
+
authority_scope:
|
|
119
|
+
projection_policy:
|
|
120
|
+
coverage_axes: []
|
|
121
|
+
unsupported_question_candidates: []
|
|
122
|
+
runtime_validation_refs: []
|
|
123
|
+
|
|
124
|
+
candidate_disposition_authority_ref:
|
|
125
|
+
authority_scope:
|
|
126
|
+
projection_policy:
|
|
127
|
+
ontology_handoff:
|
|
128
|
+
readiness_claim:
|
|
129
|
+
classification_mapping:
|
|
130
|
+
entity_identity_mapping:
|
|
131
|
+
instance_assertion_mapping:
|
|
132
|
+
terminology_mapping:
|
|
133
|
+
relation_type_mapping:
|
|
134
|
+
constraint_mapping:
|
|
135
|
+
modularity_boundary:
|
|
136
|
+
reasoning_or_formalism_profile:
|
|
137
|
+
application_context_mapping:
|
|
138
|
+
metadata_mapping:
|
|
139
|
+
provenance_mapping:
|
|
140
|
+
change_tracking_mapping:
|
|
141
|
+
competency_scope_mapping:
|
|
142
|
+
alignment_mapping:
|
|
143
|
+
modeling_concern_applicability:
|
|
144
|
+
reference_standard_mapping:
|
|
145
|
+
pattern_catalog_mapping:
|
|
146
|
+
query_access_contract:
|
|
147
|
+
visualization_contract:
|
|
148
|
+
graph_exploration_contract:
|
|
149
|
+
graph_connectivity:
|
|
150
|
+
limitation_refs: []
|
|
151
|
+
source_authority:
|
|
152
|
+
evidence_scope:
|
|
153
|
+
permission_scope:
|
|
154
|
+
trust_boundary:
|
|
155
|
+
instruction_authority:
|
|
156
|
+
external_content_handling:
|
|
157
|
+
included_source_refs: []
|
|
158
|
+
excluded_source_refs: []
|
|
159
|
+
restricted_source_refs: []
|
|
160
|
+
source_gaps: []
|
|
161
|
+
rationale:
|
|
162
|
+
handoff_limitations:
|
|
163
|
+
- limitation_id:
|
|
164
|
+
limitation_kind:
|
|
165
|
+
description:
|
|
166
|
+
affected_refs: []
|
|
167
|
+
missing_source_refs: []
|
|
168
|
+
mitigation_or_next_action:
|
|
169
|
+
evidence_refs: []
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
## 5. Conceptual Frame
|
|
173
|
+
|
|
174
|
+
The conceptual frame orients a reader. It is not the full seed authority.
|
|
175
|
+
|
|
176
|
+
```yaml
|
|
177
|
+
conceptual_frame:
|
|
178
|
+
concepts:
|
|
179
|
+
- concept_id:
|
|
180
|
+
name:
|
|
181
|
+
definition:
|
|
182
|
+
purpose_role:
|
|
183
|
+
evidence_refs: []
|
|
184
|
+
confidence: confirmed | provisional | unsupported
|
|
185
|
+
associations:
|
|
186
|
+
- association_id:
|
|
187
|
+
source_concept_id:
|
|
188
|
+
target_concept_id:
|
|
189
|
+
association_kind:
|
|
190
|
+
statement:
|
|
191
|
+
evidence_refs: []
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
Use this layer to explain the service or material in compact language. Do not
|
|
195
|
+
use it to hide objects, actors, actions, permissions, or data bindings that need
|
|
196
|
+
their own operational representation.
|
|
197
|
+
|
|
198
|
+
## 6. Semantic Layer
|
|
199
|
+
|
|
200
|
+
The semantic layer answers "what exists?"
|
|
201
|
+
|
|
202
|
+
```yaml
|
|
203
|
+
semantic_layer:
|
|
204
|
+
object_types:
|
|
205
|
+
- object_type_id:
|
|
206
|
+
name:
|
|
207
|
+
object_kind: entity | event | document | dataset | surface | service | other
|
|
208
|
+
description:
|
|
209
|
+
primary_key:
|
|
210
|
+
property_id:
|
|
211
|
+
name:
|
|
212
|
+
value_type:
|
|
213
|
+
evidence_refs: []
|
|
214
|
+
properties:
|
|
215
|
+
- property_id:
|
|
216
|
+
name:
|
|
217
|
+
value_type:
|
|
218
|
+
nullable:
|
|
219
|
+
description:
|
|
220
|
+
constraints: []
|
|
221
|
+
evidence_refs: []
|
|
222
|
+
backing_source_refs: []
|
|
223
|
+
evidence_refs: []
|
|
224
|
+
status: confirmed | provisional | deferred
|
|
225
|
+
link_types:
|
|
226
|
+
- link_type_id:
|
|
227
|
+
source_object_type_id:
|
|
228
|
+
target_object_type_id:
|
|
229
|
+
cardinality: one_to_one | one_to_many | many_to_many | unknown
|
|
230
|
+
business_meaning:
|
|
231
|
+
evidence_refs: []
|
|
232
|
+
value_types:
|
|
233
|
+
- value_type_id:
|
|
234
|
+
name:
|
|
235
|
+
representation:
|
|
236
|
+
constraints: []
|
|
237
|
+
evidence_refs: []
|
|
238
|
+
constraints:
|
|
239
|
+
- constraint_id:
|
|
240
|
+
target_ref:
|
|
241
|
+
constraint_kind:
|
|
242
|
+
statement:
|
|
243
|
+
evidence_refs: []
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
Object types must represent business or operational meaning, not merely copy
|
|
247
|
+
file names, table names, sheet names, or component names.
|
|
248
|
+
|
|
249
|
+
## 7. Kinetic Layer
|
|
250
|
+
|
|
251
|
+
The kinetic layer answers "what can be done?"
|
|
252
|
+
|
|
253
|
+
```yaml
|
|
254
|
+
kinetic_layer:
|
|
255
|
+
action_types:
|
|
256
|
+
- action_type_id:
|
|
257
|
+
name:
|
|
258
|
+
description:
|
|
259
|
+
actor_type_ids: []
|
|
260
|
+
target_object_type_ids: []
|
|
261
|
+
affected_object_type_ids: []
|
|
262
|
+
parameters:
|
|
263
|
+
- parameter_id:
|
|
264
|
+
name:
|
|
265
|
+
value_source: user_input | object_property | static_value | current_user | current_time | unknown
|
|
266
|
+
value_type:
|
|
267
|
+
required:
|
|
268
|
+
preconditions:
|
|
269
|
+
- precondition_id:
|
|
270
|
+
statement:
|
|
271
|
+
evidence_refs: []
|
|
272
|
+
postconditions:
|
|
273
|
+
- postcondition_id:
|
|
274
|
+
statement:
|
|
275
|
+
evidence_refs: []
|
|
276
|
+
side_effects:
|
|
277
|
+
- side_effect_id:
|
|
278
|
+
statement:
|
|
279
|
+
failure_behavior: cancels_action | records_failure | unknown
|
|
280
|
+
evidence_refs: []
|
|
281
|
+
writeback_behavior:
|
|
282
|
+
writes: true | false | unknown
|
|
283
|
+
writeback_source_refs: []
|
|
284
|
+
rationale:
|
|
285
|
+
evidence_refs: []
|
|
286
|
+
status: confirmed | provisional | deferred
|
|
287
|
+
functions:
|
|
288
|
+
- function_id:
|
|
289
|
+
name:
|
|
290
|
+
input_type_refs: []
|
|
291
|
+
return_type_ref:
|
|
292
|
+
purity: read_only | state_changing | unknown
|
|
293
|
+
evidence_refs: []
|
|
294
|
+
workflows:
|
|
295
|
+
- workflow_id:
|
|
296
|
+
name:
|
|
297
|
+
ordered_action_type_ids: []
|
|
298
|
+
trigger:
|
|
299
|
+
terminal_state:
|
|
300
|
+
evidence_refs: []
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
An action without actor binding and object binding is not action-ready. It may
|
|
304
|
+
remain in the seed only if the missing binding is recorded as a limitation.
|
|
305
|
+
|
|
306
|
+
## 8. Dynamic Layer
|
|
307
|
+
|
|
308
|
+
The dynamic layer answers "who can do what, and under what state or policy?"
|
|
309
|
+
|
|
310
|
+
```yaml
|
|
311
|
+
dynamic_layer:
|
|
312
|
+
actor_types:
|
|
313
|
+
- actor_type_id:
|
|
314
|
+
name:
|
|
315
|
+
actor_kind: human_user | system_service | ai_agent | organization | external_system | unknown
|
|
316
|
+
role_refs: []
|
|
317
|
+
description:
|
|
318
|
+
evidence_refs: []
|
|
319
|
+
actor_roles:
|
|
320
|
+
- role_id:
|
|
321
|
+
name:
|
|
322
|
+
holder_actor_type_ids: []
|
|
323
|
+
authority_scope_refs: []
|
|
324
|
+
evidence_refs: []
|
|
325
|
+
permission_policies:
|
|
326
|
+
- policy_id:
|
|
327
|
+
actor_type_id:
|
|
328
|
+
action_type_id:
|
|
329
|
+
object_type_id:
|
|
330
|
+
permission_kind: allowed | denied | conditional | unknown
|
|
331
|
+
condition:
|
|
332
|
+
evidence_refs: []
|
|
333
|
+
state_models:
|
|
334
|
+
- state_model_id:
|
|
335
|
+
object_type_id:
|
|
336
|
+
states: []
|
|
337
|
+
transitions:
|
|
338
|
+
- transition_id:
|
|
339
|
+
from_state:
|
|
340
|
+
to_state:
|
|
341
|
+
action_type_id:
|
|
342
|
+
evidence_refs: []
|
|
343
|
+
lifecycle_rules:
|
|
344
|
+
- rule_id:
|
|
345
|
+
target_ref:
|
|
346
|
+
statement:
|
|
347
|
+
evidence_refs: []
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
`actor_kind` is limited to bearer categories. Administrative authority, owner
|
|
351
|
+
status, approver status, reviewer status, and similar authorization posture must
|
|
352
|
+
be represented as `actor_roles[]`, `permission_policies[]`, or candidate
|
|
353
|
+
disposition evidence, not as actor bearer kinds.
|
|
354
|
+
|
|
355
|
+
Sensitive actions or sensitive data must not be left without actor and
|
|
356
|
+
permission treatment. If source material does not expose this treatment, the
|
|
357
|
+
gap belongs in `handoff_limitations`.
|
|
358
|
+
|
|
359
|
+
## 9. Data Binding Layer
|
|
360
|
+
|
|
361
|
+
The data binding layer answers "where does the seed touch source data?"
|
|
362
|
+
|
|
363
|
+
```yaml
|
|
364
|
+
data_binding_layer:
|
|
365
|
+
source_bindings:
|
|
366
|
+
- binding_id:
|
|
367
|
+
seed_ref:
|
|
368
|
+
source_ref:
|
|
369
|
+
binding_kind: evidence | storage | read_source | write_target | derived_projection | configuration
|
|
370
|
+
statement:
|
|
371
|
+
evidence_refs: []
|
|
372
|
+
read_models:
|
|
373
|
+
- read_model_id:
|
|
374
|
+
name:
|
|
375
|
+
object_type_ids: []
|
|
376
|
+
source_refs: []
|
|
377
|
+
transformation_summary:
|
|
378
|
+
evidence_refs: []
|
|
379
|
+
writebacks:
|
|
380
|
+
- writeback_id:
|
|
381
|
+
action_type_id:
|
|
382
|
+
target_source_refs: []
|
|
383
|
+
write_mode: create | update | delete | append | none | unknown
|
|
384
|
+
evidence_refs: []
|
|
385
|
+
provenance_bindings:
|
|
386
|
+
- provenance_id:
|
|
387
|
+
seed_ref:
|
|
388
|
+
source_ref:
|
|
389
|
+
author_or_system:
|
|
390
|
+
timestamp_ref:
|
|
391
|
+
evidence_refs: []
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
The seed must distinguish source evidence from operational storage. A file,
|
|
395
|
+
table, sheet, or document section can be evidence without being the operational
|
|
396
|
+
place where an object lives.
|
|
397
|
+
|
|
398
|
+
## 10. Validation Layer
|
|
399
|
+
|
|
400
|
+
The validation layer declares how the seed should be tested. It does not own
|
|
401
|
+
pass/fail gate status and it does not own the authoritative competency-question
|
|
402
|
+
set.
|
|
403
|
+
|
|
404
|
+
Canonical authority:
|
|
405
|
+
|
|
406
|
+
- `competency-questions.yaml` owns the question set.
|
|
407
|
+
- `competency-question-assessment.yaml` owns answerability results.
|
|
408
|
+
- runtime-owned validation artifacts own gate status.
|
|
409
|
+
- `ontology-seed.yaml.validation_layer` owns only seed-side requirements,
|
|
410
|
+
references, unsupported candidates, and expected coverage axes.
|
|
411
|
+
|
|
412
|
+
```yaml
|
|
413
|
+
validation_layer:
|
|
414
|
+
question_authority_ref:
|
|
415
|
+
artifact_ref: competency-questions.yaml
|
|
416
|
+
authority_scope: canonical_question_set
|
|
417
|
+
coverage_axes:
|
|
418
|
+
- purpose
|
|
419
|
+
- semantic_layer
|
|
420
|
+
- kinetic_layer
|
|
421
|
+
- dynamic_layer
|
|
422
|
+
- data_binding_layer
|
|
423
|
+
- ontology_handoff
|
|
424
|
+
- limitation
|
|
425
|
+
- source_authority
|
|
426
|
+
unsupported_question_candidates:
|
|
427
|
+
- candidate_id:
|
|
428
|
+
question:
|
|
429
|
+
unsupported_reason:
|
|
430
|
+
needed_source_or_confirmation:
|
|
431
|
+
runtime_validation_refs:
|
|
432
|
+
- artifact_ref: ontology-seed-validation.yaml
|
|
433
|
+
authority_scope: seed_shape_validation
|
|
434
|
+
- artifact_ref: competency-questions-validation.yaml
|
|
435
|
+
authority_scope: question_coverage_validation
|
|
436
|
+
- artifact_ref: competency-question-assessment-validation.yaml
|
|
437
|
+
authority_scope: question_assessment_validation
|
|
438
|
+
- artifact_ref: seed-confirmation-validation.yaml
|
|
439
|
+
authority_scope: seed_confirmation_validation
|
|
440
|
+
- artifact_ref: handoff-decision-validation.yaml
|
|
441
|
+
authority_scope: handoff_validation
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
`coverage_axis_refs[]` is the coarse question-level coverage axis projection for
|
|
445
|
+
`competency-questions.yaml`; seed-side expected axes remain in
|
|
446
|
+
`ontology-seed.yaml.validation_layer.coverage_axes[]`. The
|
|
447
|
+
allowed values are the `coverage_axis_registry` values in
|
|
448
|
+
`reconstruct-contract-registry.yaml`. Detailed operational proof belongs to
|
|
449
|
+
seed refs and validation gates, not to a second coverage-axis vocabulary.
|
|
450
|
+
Detailed ontology-facing coverage must use `ontology_handoff_axis_refs[]` on the
|
|
451
|
+
authoritative competency-question rows; do not reintroduce detailed
|
|
452
|
+
`ontology_*` values into `coverage_axis_refs[]`.
|
|
453
|
+
|
|
454
|
+
Competency questions must cover:
|
|
455
|
+
|
|
456
|
+
- declared purpose
|
|
457
|
+
- object identity and boundaries
|
|
458
|
+
- action availability and state effect
|
|
459
|
+
- actor and permission treatment
|
|
460
|
+
- data source, read, write, and provenance treatment
|
|
461
|
+
- ontology-facing mapping or limitation when the seed is used for ontology work,
|
|
462
|
+
including classification, entity identity, terminology, relation typing, constraints,
|
|
463
|
+
modularity, reasoning/formalism profile, application context, provenance,
|
|
464
|
+
change tracking, competency scope, alignment, and graph connectivity
|
|
465
|
+
- known limitations
|
|
466
|
+
|
|
467
|
+
## 11. Candidate Disposition Authority
|
|
468
|
+
|
|
469
|
+
`candidate-disposition.yaml` is the canonical disposition authority. The seed
|
|
470
|
+
must reference that authority and may summarize its result in prose, but it must
|
|
471
|
+
not carry an independent disposition ledger that can drift.
|
|
472
|
+
|
|
473
|
+
```yaml
|
|
474
|
+
candidate_disposition_authority_ref:
|
|
475
|
+
authority_scope: external_candidate_disposition
|
|
476
|
+
projection_policy: reference_only
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
Every high-salience candidate must have exactly one row in
|
|
480
|
+
`candidate-disposition.yaml`. Concrete artifact refs live in
|
|
481
|
+
`reconstruct-record.yaml` and `reconstruct-run-manifest.yaml`, not inside the
|
|
482
|
+
seed. For `promoted_to_seed_layer`, `target_seed_refs[]` are planned canonical
|
|
483
|
+
seed refs that the later `ontology-seed.yaml` must realize. Runtime first
|
|
484
|
+
validates that every disposition has allowed shape, rationale, and evidence
|
|
485
|
+
refs, then validates that the seed realizes each planned promoted target.
|
|
486
|
+
|
|
487
|
+
## 12. Ontology-Facing Handoff
|
|
488
|
+
|
|
489
|
+
`ActionableOntologySeed` is not a full formal ontology. When the declared
|
|
490
|
+
downstream use is ontology review, ontology extension, or ontology-as-code work,
|
|
491
|
+
the seed must still disclose how it maps to ontology-facing expectations or why
|
|
492
|
+
those expectations remain limitations.
|
|
493
|
+
|
|
494
|
+
If `readiness_claim` is `ready`, each mapping object below must contain
|
|
495
|
+
substantive mapping content or explicit `limitation_refs[]`. Empty mapping
|
|
496
|
+
shells such as `{ limitation_refs: [] }` are invalid because they do not provide
|
|
497
|
+
handoff evidence.
|
|
498
|
+
|
|
499
|
+
```yaml
|
|
500
|
+
ontology_handoff:
|
|
501
|
+
readiness_claim: ready | limited | not_ready | blocked
|
|
502
|
+
classification_mapping:
|
|
503
|
+
ontology_scope_kind:
|
|
504
|
+
classification_axis_policy:
|
|
505
|
+
classification_level_axis_refs: []
|
|
506
|
+
inheritance_model:
|
|
507
|
+
mece_status:
|
|
508
|
+
seed_refs: []
|
|
509
|
+
limitation_refs: []
|
|
510
|
+
entity_identity_mapping:
|
|
511
|
+
entity_id_policy:
|
|
512
|
+
uri_or_iri_policy:
|
|
513
|
+
canonical_identifier_refs: []
|
|
514
|
+
alias_identifier_refs: []
|
|
515
|
+
primitive_vs_defined_status:
|
|
516
|
+
definition_criteria_refs: []
|
|
517
|
+
limitation_refs: []
|
|
518
|
+
instance_assertion_mapping:
|
|
519
|
+
instance_availability_status: present | absent | unknown | not_applicable
|
|
520
|
+
instance_refs: []
|
|
521
|
+
example_assertion_refs: []
|
|
522
|
+
abox_assertion_refs: []
|
|
523
|
+
limitation_refs: []
|
|
524
|
+
terminology_mapping:
|
|
525
|
+
canonical_label_policy:
|
|
526
|
+
alias_policy:
|
|
527
|
+
hidden_label_policy:
|
|
528
|
+
homonym_policy:
|
|
529
|
+
multilingual_label_policy:
|
|
530
|
+
language_tag_policy:
|
|
531
|
+
limitation_refs: []
|
|
532
|
+
relation_type_mapping:
|
|
533
|
+
relation_type_refs: []
|
|
534
|
+
formal_relation_semantics:
|
|
535
|
+
domain_range_declaration_refs: []
|
|
536
|
+
relation_property_constraint_refs: []
|
|
537
|
+
unsupported_relation_candidates: []
|
|
538
|
+
limitation_refs: []
|
|
539
|
+
constraint_mapping:
|
|
540
|
+
constraint_refs: []
|
|
541
|
+
tbox_constraint_refs: []
|
|
542
|
+
abox_assertion_constraint_refs: []
|
|
543
|
+
shape_or_validation_constraint_refs: []
|
|
544
|
+
policy_constraint_refs: []
|
|
545
|
+
unsupported_constraint_candidates: []
|
|
546
|
+
limitation_refs: []
|
|
547
|
+
modularity_boundary:
|
|
548
|
+
module_candidates: []
|
|
549
|
+
import_or_reuse_refs: []
|
|
550
|
+
limitation_refs: []
|
|
551
|
+
reasoning_or_formalism_profile:
|
|
552
|
+
representation_formalism: <registry:reasoning_or_formalism_profile_contract.representation_formalism_values>
|
|
553
|
+
vocabulary_systems: []
|
|
554
|
+
validation_formalisms: []
|
|
555
|
+
ontology_type: <registry:reasoning_or_formalism_profile_contract.ontology_type_values>
|
|
556
|
+
owl_profile: <registry:reasoning_or_formalism_profile_contract.owl_profile_values>
|
|
557
|
+
alignment_posture: <registry:reasoning_or_formalism_profile_contract.alignment_posture_values>
|
|
558
|
+
reasoning_expectations: []
|
|
559
|
+
validation_expectations: []
|
|
560
|
+
limitation_refs: []
|
|
561
|
+
application_context_mapping:
|
|
562
|
+
application_context_refs: []
|
|
563
|
+
actor_or_surface_refs: []
|
|
564
|
+
limitation_refs: []
|
|
565
|
+
metadata_mapping:
|
|
566
|
+
descriptive_metadata_refs: []
|
|
567
|
+
bibliographic_metadata_refs: []
|
|
568
|
+
resource_metadata_refs: []
|
|
569
|
+
limitation_refs: []
|
|
570
|
+
provenance_mapping:
|
|
571
|
+
provenance_binding_refs: []
|
|
572
|
+
evidence_scope_refs: []
|
|
573
|
+
limitation_refs: []
|
|
574
|
+
change_tracking_mapping:
|
|
575
|
+
state_model_refs: []
|
|
576
|
+
lifecycle_rule_refs: []
|
|
577
|
+
migration_or_versioning_refs: []
|
|
578
|
+
limitation_refs: []
|
|
579
|
+
competency_scope_mapping:
|
|
580
|
+
expected_coverage_axes: []
|
|
581
|
+
required_handoff_axes: []
|
|
582
|
+
unsupported_axes: []
|
|
583
|
+
limitation_refs: []
|
|
584
|
+
alignment_mapping:
|
|
585
|
+
external_vocab_or_domain_refs: []
|
|
586
|
+
mapped_seed_refs: []
|
|
587
|
+
limitation_refs: []
|
|
588
|
+
modeling_concern_applicability:
|
|
589
|
+
rows:
|
|
590
|
+
- concern_id:
|
|
591
|
+
applies: true | false | unknown | not_applicable
|
|
592
|
+
applicability_predicate_ref:
|
|
593
|
+
trace_refs: []
|
|
594
|
+
limitation_refs: []
|
|
595
|
+
reference_standard_mapping:
|
|
596
|
+
standard_refs: []
|
|
597
|
+
mapped_concern_refs: []
|
|
598
|
+
limitation_refs: []
|
|
599
|
+
pattern_catalog_mapping:
|
|
600
|
+
pattern_catalog_refs: []
|
|
601
|
+
mapped_concern_refs: []
|
|
602
|
+
limitation_refs: []
|
|
603
|
+
query_access_contract:
|
|
604
|
+
applies: true | false | unknown | not_applicable
|
|
605
|
+
limitation_refs: []
|
|
606
|
+
visualization_contract:
|
|
607
|
+
applies: true | false | unknown | not_applicable
|
|
608
|
+
limitation_refs: []
|
|
609
|
+
graph_exploration_contract:
|
|
610
|
+
applies: true | false | unknown | not_applicable
|
|
611
|
+
limitation_refs: []
|
|
612
|
+
graph_connectivity:
|
|
613
|
+
connected_seed_refs: []
|
|
614
|
+
isolated_seed_refs: []
|
|
615
|
+
isolation_rationale_refs: []
|
|
616
|
+
limitation_refs: []
|
|
617
|
+
handoff_limitations:
|
|
618
|
+
- limitation_id:
|
|
619
|
+
limitation_kind: missing_source | unsupported_axis | insufficient_evidence | unresolved_confirmation | runtime_capability_gap | external_standard_unselected
|
|
620
|
+
description:
|
|
621
|
+
affected_refs: []
|
|
622
|
+
missing_source_refs: []
|
|
623
|
+
mitigation_or_next_action:
|
|
624
|
+
evidence_refs: []
|
|
625
|
+
```
|
|
626
|
+
|
|
627
|
+
If ontology-facing readiness is not claimed, `readiness_claim` may be `limited`
|
|
628
|
+
or `not_ready`, but the limitation must be explicit. Use `blocked` when missing
|
|
629
|
+
source or user confirmation prevents an honest ontology-facing readiness answer.
|
|
630
|
+
If `representation_formalism` is `owl` or `mixed`, `owl_profile` must be
|
|
631
|
+
explicit or the profile must cite a limitation explaining why the OWL profile is
|
|
632
|
+
not known. Vocabulary systems such as SKOS and validation formalisms such as
|
|
633
|
+
SHACL must be declared through their own fields, not collapsed into
|
|
634
|
+
`representation_formalism`. When ontology-facing handoff is claimed,
|
|
635
|
+
`ontology_type` must be explicit or limitation-backed.
|
|
636
|
+
|
|
637
|
+
`handoff_limitations[]` is the canonical limitation authority. Every
|
|
638
|
+
`limitation_refs[]` value in the seed, competency questions, assessments,
|
|
639
|
+
confirmation, terminal handoff readiness validation, query proof, visualization proof, or graph
|
|
640
|
+
exploration proof
|
|
641
|
+
must resolve to a `handoff_limitations[].limitation_id`; a free-text limitation
|
|
642
|
+
reference is invalid.
|
|
643
|
+
|
|
644
|
+
## 13. Query Proof Authority Contract
|
|
645
|
+
|
|
646
|
+
`query-proofs.yaml` is required when the seed claims executable queryability,
|
|
647
|
+
API access, implementation access, or another explicit ontology access surface.
|
|
648
|
+
It is separate from the seed so runtime can validate observed execution results
|
|
649
|
+
without making `ontology-seed.yaml` a transcript.
|
|
650
|
+
|
|
651
|
+
```yaml
|
|
652
|
+
query_proofs:
|
|
653
|
+
- query_proof_id:
|
|
654
|
+
question_ids: []
|
|
655
|
+
query_language_or_api:
|
|
656
|
+
query_engine_or_runtime_refs: []
|
|
657
|
+
query_artifact_refs: []
|
|
658
|
+
query_test_fixture_refs: []
|
|
659
|
+
expected_answer_shape_refs: []
|
|
660
|
+
observed_execution_result_refs: []
|
|
661
|
+
evidence_refs: []
|
|
662
|
+
limitation_refs: []
|
|
663
|
+
```
|
|
664
|
+
|
|
665
|
+
Runtime validates that every `query_proof_id` is unique, every `question_ids[]`
|
|
666
|
+
value points to `competency-questions.yaml`, and every `limitation_refs[]` value
|
|
667
|
+
points to `handoff_limitations[].limitation_id`. Proof rows own the canonical
|
|
668
|
+
question-to-proof relation through `question_ids[]`; competency-question rows and
|
|
669
|
+
seed-side handoff contracts do not duplicate proof refs.
|
|
670
|
+
|
|
671
|
+
`visualization-proofs.yaml` and `graph-exploration-proofs.yaml` are separate
|
|
672
|
+
conditional proof authorities. Visualization proves concrete visual surfaces or
|
|
673
|
+
overview shapes; graph exploration proves navigation, traversal, scale, or
|
|
674
|
+
expand/collapse capability. A run may satisfy one without satisfying the other.
|
|
675
|
+
|
|
676
|
+
```yaml
|
|
677
|
+
visualization_proofs:
|
|
678
|
+
- visualization_proof_id:
|
|
679
|
+
question_ids: []
|
|
680
|
+
visualization_surface_refs: []
|
|
681
|
+
expected_visualization_shape_refs: []
|
|
682
|
+
observed_visualization_result_refs: []
|
|
683
|
+
evidence_refs: []
|
|
684
|
+
limitation_refs: []
|
|
685
|
+
|
|
686
|
+
graph_exploration_proofs:
|
|
687
|
+
- graph_exploration_proof_id:
|
|
688
|
+
question_ids: []
|
|
689
|
+
graph_exploration_capability_refs: []
|
|
690
|
+
scale_or_navigation_constraint_refs: []
|
|
691
|
+
observed_exploration_result_refs: []
|
|
692
|
+
evidence_refs: []
|
|
693
|
+
limitation_refs: []
|
|
694
|
+
```
|
|
695
|
+
|
|
696
|
+
## 14. Competency-Question Authority Contract
|
|
697
|
+
|
|
698
|
+
`competency-questions.yaml` is the question-set authority. Each question row must
|
|
699
|
+
be concrete enough for runtime to validate coverage and for the host LLM to
|
|
700
|
+
assess answerability without inventing hidden scope.
|
|
701
|
+
|
|
702
|
+
```yaml
|
|
703
|
+
questions:
|
|
704
|
+
- question_id:
|
|
705
|
+
question:
|
|
706
|
+
linked_claim_ids: []
|
|
707
|
+
coverage_axis_refs: <registry:coverage_axis_registry.axis_id[]>
|
|
708
|
+
ontology_handoff_axis_refs: <registry:ontology_handoff_axis_registry.axis_id[]>
|
|
709
|
+
seed_ref_refs: []
|
|
710
|
+
limitation_refs: []
|
|
711
|
+
reasoning_or_formalism_facets: <registry:reasoning_or_formalism_profile_contract.facet_registry.facet_id[]>
|
|
712
|
+
entity_identity_facets: <registry:ontology_handoff_facet_contract.entity_identity_facet_registry.facet_id[]>
|
|
713
|
+
instance_assertion_facets: <registry:ontology_handoff_facet_contract.instance_assertion_facet_registry.facet_id[]>
|
|
714
|
+
terminology_facets: <registry:ontology_handoff_facet_contract.terminology_facet_registry.facet_id[]>
|
|
715
|
+
relation_type_facets: <registry:ontology_handoff_facet_contract.relation_type_facet_registry.facet_id[]>
|
|
716
|
+
classification_facets: <registry:ontology_handoff_facet_contract.classification_facet_registry.facet_id[]>
|
|
717
|
+
constraint_facets: <registry:ontology_handoff_facet_contract.constraint_facet_registry.facet_id[]>
|
|
718
|
+
modeling_concern_facets: <registry:ontology_handoff_facet_contract.modeling_concern_applicability_registry.concern_id[]>
|
|
719
|
+
reference_standard_refs: []
|
|
720
|
+
pattern_catalog_refs: []
|
|
721
|
+
query_access_contract_refs: []
|
|
722
|
+
visualization_contract_refs: []
|
|
723
|
+
graph_exploration_contract_refs: []
|
|
724
|
+
domain_competency_trace_refs: []
|
|
725
|
+
coverage_disposition: covered | limited | unsupported | deferred | not_applicable
|
|
726
|
+
expected_answer_kind: yes_no | explanation | list | mapping | gap_statement
|
|
727
|
+
handoff_relevance: required | supporting | diagnostic
|
|
728
|
+
lifecycle_status: active | deferred | unsupported_candidate
|
|
729
|
+
rationale:
|
|
730
|
+
```
|
|
731
|
+
|
|
732
|
+
`coverage_disposition` answers whether the question's covered scope is satisfied,
|
|
733
|
+
limited, unsupported, deferred, or not applicable. `handoff_relevance` answers
|
|
734
|
+
how strongly the question affects handoff. `lifecycle_status` answers whether
|
|
735
|
+
the row itself is active, deferred, or retained only as an unsupported candidate.
|
|
736
|
+
These fields are intentionally non-overlapping.
|
|
737
|
+
`required_evidence_scope` is runtime-owned and is emitted by
|
|
738
|
+
`competency-questions-validation.yaml.required_evidence_scope_projection[]`.
|
|
739
|
+
It is derived from the row's explicit reference fields rather than authored as a
|
|
740
|
+
second independent ref list.
|
|
741
|
+
|
|
742
|
+
Required ontology-handoff question coverage is validated from
|
|
743
|
+
`ontology_handoff_axis_refs[]`. The required axes are classification, entity identity,
|
|
744
|
+
instance assertion coverage, terminology, relation typing, constraints,
|
|
745
|
+
modularity, reasoning/formalism profile, application context, provenance, change
|
|
746
|
+
tracking, competency scope, alignment, graph connectivity, and explicit
|
|
747
|
+
limitations. If an axis is unsupported, the
|
|
748
|
+
question row must include that axis with `coverage_disposition: unsupported` or
|
|
749
|
+
`deferred` and cite the limitation or missing source instead of silently omitting
|
|
750
|
+
the axis.
|
|
751
|
+
|
|
752
|
+
Runtime validates that every `question_id` is unique, every `coverage_axis_refs[]`
|
|
753
|
+
value is allowed, every `ontology_handoff_axis_refs[]` value is allowed when
|
|
754
|
+
`coverage_axis_refs[]` includes `ontology_handoff`, every `seed_ref_refs[]` value
|
|
755
|
+
points to a known seed ref, every `limitation_refs[]` value points to
|
|
756
|
+
`handoff_limitations[].limitation_id`, and every required ontology-handoff axis
|
|
757
|
+
is either represented by an active question or recorded as unsupported/deferred
|
|
758
|
+
with a limitation ref.
|
|
759
|
+
When `ontology_handoff_axis_refs[]` includes `reasoning_or_formalism_profile`, the
|
|
760
|
+
question row must declare `reasoning_or_formalism_facets[]` from the registry
|
|
761
|
+
facet values. The question set must cover representation formalism, vocabulary
|
|
762
|
+
systems, validation formalisms, ontology type, alignment posture, and the OWL
|
|
763
|
+
profile when `representation_formalism` is `owl` or `mixed`, or it must cite the
|
|
764
|
+
limitation that makes those details unavailable.
|
|
765
|
+
When `ontology_handoff_axis_refs[]` includes `entity_identity`, question rows must
|
|
766
|
+
cover or limitation-back entity id policy, URI/IRI policy, canonical and alias
|
|
767
|
+
identifier refs, primitive-vs-defined status, and definition criteria refs.
|
|
768
|
+
When `ontology_handoff_axis_refs[]` includes `instance_assertion_coverage`, question
|
|
769
|
+
rows must cover or limitation-back instance availability status, concrete
|
|
770
|
+
instance refs, example assertion refs, and ABox assertion refs. If
|
|
771
|
+
`instance_availability_status` is `absent` or `unknown`, the seed must cite a
|
|
772
|
+
limitation explaining how that affects validation and downstream readiness.
|
|
773
|
+
When `ontology_handoff_axis_refs[]` includes `terminology`, question rows must cover
|
|
774
|
+
or limitation-back canonical label policy, alias policy, hidden-label/search
|
|
775
|
+
label policy, homonym policy, multilingual label policy, and language-tag
|
|
776
|
+
policy.
|
|
777
|
+
When `ontology_handoff_axis_refs[]` includes `relation_typing`, question rows must
|
|
778
|
+
cover or limitation-back relation type refs, formal relation semantics, formal
|
|
779
|
+
domain/range declarations, and relation-property constraints.
|
|
780
|
+
When `ontology_handoff_axis_refs[]` includes `classification`, question rows must
|
|
781
|
+
cover or limitation-back ontology scope kind, classification axis policy,
|
|
782
|
+
per-level classification axis refs, inheritance model, and MECE status. When
|
|
783
|
+
`ontology_handoff_axis_refs[]` includes
|
|
784
|
+
`constraints`, question rows must cover or limitation-back TBox constraints,
|
|
785
|
+
ABox assertion constraints, shape/validation constraints, and policy
|
|
786
|
+
constraints. When a `modeling_concern_applicability.rows[]` item has
|
|
787
|
+
`applies: true`, the question set must include a matching
|
|
788
|
+
`modeling_concern_facets[]` entry and, when a concrete reference standard is
|
|
789
|
+
selected, cite it through `reference_standard_refs[]`. When applicability is
|
|
790
|
+
`unknown`, the handoff must cite the missing source or confirmation needed to
|
|
791
|
+
decide it. Formalism, vocabulary, validation, metadata, dataset/catalog, and
|
|
792
|
+
queryability claims must cite registry-owned `reference_standard_refs[]` when a
|
|
793
|
+
standard such as OWL 2, RDFS, SKOS, SHACL, Dublin Core Terms, DCAT, PROV-O,
|
|
794
|
+
GeoSPARQL, QUDT, OM, W3C Time, RDF Data Cube, SOSA/SSN, or SPARQL is selected.
|
|
795
|
+
When the source or downstream use treats classes, properties, relation types,
|
|
796
|
+
shapes, or ontology design rules themselves as modeled things, the
|
|
797
|
+
`meta_modeling` concern must be covered or explicitly limitation-backed.
|
|
798
|
+
Ontology design pattern catalog selections are pattern-catalog refs, not
|
|
799
|
+
normative standard refs; they are recorded in
|
|
800
|
+
`ontology_handoff.pattern_catalog_mapping.pattern_catalog_refs[]` and may be
|
|
801
|
+
cited by question-level `pattern_catalog_refs[]` when
|
|
802
|
+
`concern_id: ontology_design_pattern` applies. Runtime validates those refs
|
|
803
|
+
against `reference_pattern_catalog_registry` and the selected run-manifest
|
|
804
|
+
pattern catalog snapshot. Pattern catalog canonical URIs are run-manifest facts:
|
|
805
|
+
the registry owns the policy that a selected catalog URI must be recorded,
|
|
806
|
+
non-empty, and bound to the selected catalog id and snapshot for that run.
|
|
807
|
+
When downstream use claims heterogeneous data integration, semantic
|
|
808
|
+
reconciliation, ontology-based ETL, or ontology-based data access, the
|
|
809
|
+
`data_integration` concern must be covered through data-binding, alignment, and
|
|
810
|
+
source-authority evidence or explicitly limitation-backed.
|
|
811
|
+
`query_interface` is
|
|
812
|
+
required when downstream use claims
|
|
813
|
+
queryability, API access, implementation access, or another explicit ontology
|
|
814
|
+
access surface; it must cite `query_access_contract_refs[]` with executable
|
|
815
|
+
proof-contract ids; `query-proofs.yaml` rows then own the question-to-proof
|
|
816
|
+
coverage through `question_ids[]`. Otherwise it must be limitation-backed.
|
|
817
|
+
`visualization_interface` is required when downstream use
|
|
818
|
+
claims static, hierarchical, dashboard, or overview visualization; it must cite
|
|
819
|
+
`visualization_contract_refs[]`; `visualization-proofs.yaml` rows own the
|
|
820
|
+
question-to-proof coverage through `question_ids[]`, or the question must be
|
|
821
|
+
marked not applicable or limitation-backed. `graph_exploration_interface` is
|
|
822
|
+
required when
|
|
823
|
+
downstream use claims large-graph navigation, traversal, graph exploration, or
|
|
824
|
+
expand/collapse behavior; it must cite `graph_exploration_contract_refs[]`;
|
|
825
|
+
`graph-exploration-proofs.yaml` rows own the question-to-proof coverage through
|
|
826
|
+
`question_ids[]`, or the question must be marked not applicable or
|
|
827
|
+
limitation-backed.
|
|
828
|
+
`domain_competency_trace_refs[]` records the admitted domain competency id that
|
|
829
|
+
makes the question necessary. Runtime validates those refs only against
|
|
830
|
+
`reconstruct-run-manifest.yaml#governing_snapshot.required_admitted_competency_ids`;
|
|
831
|
+
domain admission refs and source document refs are not trace refs. Untraced
|
|
832
|
+
generated questions must be diagnostic or limitation-backed. For every admitted
|
|
833
|
+
domain competency snapshot, runtime derives the admitted competency id set from
|
|
834
|
+
that snapshot: every P1 id is required, while P2 and P3 ids remain admitted
|
|
835
|
+
metadata until an explicit downstream promotion policy makes a row required or
|
|
836
|
+
supporting. Every required admitted id must be represented by exactly one
|
|
837
|
+
`competency-questions.yaml.questions[]` row.
|
|
838
|
+
Unsupported, deferred, and not-applicable cases are still question rows, using
|
|
839
|
+
`coverage_disposition`, `lifecycle_status`, `domain_competency_trace_refs[]`, and
|
|
840
|
+
`limitation_refs[]` as the single lookup path. Ontology handoff axes are
|
|
841
|
+
complementary coverage groups; they do not replace domain-competency
|
|
842
|
+
disposition completeness.
|
|
843
|
+
|
|
844
|
+
## 15. Competency-Question Assessment Contract
|
|
845
|
+
|
|
846
|
+
`competency-question-assessment.yaml` is the answerability result authority.
|
|
847
|
+
Each authoritative question must have exactly one assessment row.
|
|
848
|
+
|
|
849
|
+
```yaml
|
|
850
|
+
assessments:
|
|
851
|
+
- question_id:
|
|
852
|
+
answer_status: answerable | partially_answerable | unsupported | deferred | contradicted | not_applicable
|
|
853
|
+
answer_summary:
|
|
854
|
+
required_seed_refs: []
|
|
855
|
+
evidence_refs: []
|
|
856
|
+
missing_source_or_confirmation:
|
|
857
|
+
ambiguity_notes: []
|
|
858
|
+
downstream_effect: ready | limited | blocks_handoff | blocked_by_missing_source_or_confirmation | not_applicable
|
|
859
|
+
```
|
|
860
|
+
|
|
861
|
+
Runtime validates that `question_id` points to `competency-questions.yaml`, every
|
|
862
|
+
`required_seed_refs[]` is closed against the question row's `seed_ref_refs[]`,
|
|
863
|
+
every `evidence_refs[]` points to question-scoped observed source evidence, and
|
|
864
|
+
`downstream_effect` is consistent with `answer_status`.
|
|
865
|
+
|
|
866
|
+
## 16. Readiness Projection Contract
|
|
867
|
+
|
|
868
|
+
Runtime projects artifact-specific readiness fields into one canonical readiness
|
|
869
|
+
value before presenting status, final output, or result payloads.
|
|
870
|
+
|
|
871
|
+
| Canonical readiness | Meaning |
|
|
872
|
+
|---|---|
|
|
873
|
+
| `ready` | Required gates pass and the seed is safe for the declared downstream purpose |
|
|
874
|
+
| `limited` | Required gates pass or are explicitly bounded, and named limitations must travel with the seed |
|
|
875
|
+
| `not_ready` | Required gates failed or required ontology-facing coverage is unsupported |
|
|
876
|
+
| `blocked` | Missing source, unsupported runtime capability, or missing user confirmation prevents a valid readiness answer |
|
|
877
|
+
|
|
878
|
+
Mapping rules:
|
|
879
|
+
|
|
880
|
+
| Source field | Source value | Canonical readiness effect |
|
|
881
|
+
|---|---|---|
|
|
882
|
+
| `ontology_handoff.readiness_claim` | `ready` | `ready` |
|
|
883
|
+
| `ontology_handoff.readiness_claim` | `limited` | `limited` |
|
|
884
|
+
| `ontology_handoff.readiness_claim` | `not_ready` | `not_ready` |
|
|
885
|
+
| `ontology_handoff.readiness_claim` | `blocked` | `blocked` |
|
|
886
|
+
| `competency-question-assessment.downstream_effect` | `ready` | `ready` |
|
|
887
|
+
| `competency-question-assessment.downstream_effect` | `limited` | `limited` |
|
|
888
|
+
| `competency-question-assessment.downstream_effect` | `blocks_handoff` | `not_ready` |
|
|
889
|
+
| `competency-question-assessment.downstream_effect` | `blocked_by_missing_source_or_confirmation` | `blocked` |
|
|
890
|
+
| `competency-question-assessment.downstream_effect` | `not_applicable` | excluded from blockers |
|
|
891
|
+
|
|
892
|
+
`handoff-decision-validation.yaml` is the runtime authority that proves the
|
|
893
|
+
stop decision and readiness projection agree with validation artifacts before
|
|
894
|
+
final output and reconstruct record projection. It consumes
|
|
895
|
+
`reconstruct-run-manifest.pre-handoff-validation.yaml`; terminal output must not rely on an
|
|
896
|
+
unvalidated registry, contract, source-profile, validator, reference-standard,
|
|
897
|
+
version, or migration snapshot.
|
|
898
|
+
When readiness signals conflict, runtime projects the strictest value by this
|
|
899
|
+
order: `blocked`, `not_ready`, `limited`, `ready`. A missing required validation
|
|
900
|
+
artifact projects `blocked` only when its `required_when` condition applies; an
|
|
901
|
+
unmet `required_when` condition projects `not_applicable` for that artifact and
|
|
902
|
+
does not lower readiness by itself. A failed applicable validation artifact
|
|
903
|
+
projects `not_ready`; a skipped optional validation artifact projects `limited`.
|
|
904
|
+
|
|
905
|
+
Seed confirmation is required whenever seed validity or handoff readiness is
|
|
906
|
+
projected. If `seed-confirmation.yaml` or `seed-confirmation-validation.yaml` is
|
|
907
|
+
absent at that lifecycle point, runtime projects `blocked`. A limitation state is
|
|
908
|
+
allowed only when both artifacts exist and `seed-confirmation-validation.yaml`
|
|
909
|
+
proves the confirmation or limitation state against the validated seed. Assessment-aware
|
|
910
|
+
terminal readiness belongs to `handoff-decision-validation.yaml`.
|
|
911
|
+
|
|
912
|
+
## 17. Seed Validity
|
|
913
|
+
|
|
914
|
+
A seed is valid for handoff only when all required conditions are satisfied:
|
|
915
|
+
|
|
916
|
+
| Condition | Meaning |
|
|
917
|
+
|---|---|
|
|
918
|
+
| Purpose is explicit | The seed names the declared purpose, intended decisions, intended actions, and non-goals |
|
|
919
|
+
| Evidence closes | Every evidence ref points to an observed source record |
|
|
920
|
+
| Candidate disposition is complete | Every salient candidate has exactly one disposition |
|
|
921
|
+
| Objects are bounded | Every object type has a definition, evidence, and either a primary key or a limitation |
|
|
922
|
+
| Links close | Every link references known object types |
|
|
923
|
+
| Actions are bound | Every action references actors and affected objects or records a limitation |
|
|
924
|
+
| Dynamic treatment is explicit | Sensitive actions and data have permission treatment or a limitation |
|
|
925
|
+
| Data binding is explicit | Object and action state has source, read, write, or provenance treatment or a limitation |
|
|
926
|
+
| Ontology-facing handoff is explicit | Ontology-facing mapping or limitations cover the registry-owned `ontology_handoff_axis_registry`, including instance/ABox assertion coverage, reasoning/formalism profile, modeling concerns, reference-standard mapping, query access, visualization, graph exploration, graph connectivity, and limitations |
|
|
927
|
+
| Questions test the seed | `competency-questions.yaml` covers purpose, semantic, kinetic, dynamic, data, ontology-handoff, and limitation axes |
|
|
928
|
+
| Query proof is executable when claimed | `query-proofs-validation.yaml` proves query/API proof ids, fixtures, expected answer shapes, and observed results close to questions and evidence |
|
|
929
|
+
| Assessment is traceable | `competency-question-assessment.yaml` has exactly one traceable result per authoritative question |
|
|
930
|
+
| Seed confirmation is explicit | `seed-confirmation-validation.yaml` proves confirmation or limitation state matches the validated seed and derives CQ eligibility |
|
|
931
|
+
| Handoff is honest | `handoff-decision-validation.yaml` proves stop decision and readiness projection match validation results, including the validated pre-handoff run-manifest snapshot, before final output and record emission |
|
|
932
|
+
|
|
933
|
+
Validity does not mean the ontology is complete. It means the current seed is
|
|
934
|
+
safe to use for its declared downstream purpose with its limitations visible.
|