onto-mcp 0.4.12 → 0.4.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/.onto/authority/core-lexicon.yaml +1 -1
  2. package/.onto/authority/supported-models.yaml +137 -0
  3. package/.onto/domains/accounting-kr/competency_qs.md +153 -153
  4. package/.onto/processes/reconstruct/obligation-coverage-ledger.yaml +842 -0
  5. package/.onto/processes/reconstruct/obligation-coverage-recorded.yaml +225 -0
  6. package/.onto/processes/reconstruct/ontology-seeding-and-maturation-design.md +93 -54
  7. package/.onto/processes/reconstruct/reconstruct-contract-registry.yaml +169 -8
  8. package/.onto/processes/reconstruct/reconstruct-execution-ux-contract.md +72 -1
  9. package/.onto/processes/reconstruct/source-profiles/spreadsheet.md +35 -0
  10. package/.onto/processes/review/productized-live-path.md +9 -5
  11. package/.onto/processes/review/prompt-execution-runner-contract.md +32 -8
  12. package/.onto/processes/review/review-target-profile-contract.md +47 -4
  13. package/.onto/processes/shared/pipeline-execution-ledger-contract.md +11 -0
  14. package/.onto/processes/shared/target-material-kind-contract.md +1 -1
  15. package/README.md +64 -1
  16. package/dist/cli.js +11 -1
  17. package/dist/core-api/reconstruct-api.js +575 -24
  18. package/dist/core-api/review-api.js +70 -5
  19. package/dist/core-api/review-progress.js +7 -0
  20. package/dist/core-api/runtime-observation.js +7 -0
  21. package/dist/core-runtime/artifact-io.js +75 -3
  22. package/dist/core-runtime/cli/claude-code-review-unit-executor.js +19 -8
  23. package/dist/core-runtime/cli/materialize-review-prompt-packets.js +68 -14
  24. package/dist/core-runtime/cli/prepare-review-session.js +34 -1
  25. package/dist/core-runtime/cli/render-review-final-output.js +2 -1
  26. package/dist/core-runtime/cli/run-review-prompt-execution.js +758 -48
  27. package/dist/core-runtime/cli/run-seats.js +18 -0
  28. package/dist/core-runtime/cli/runtime-submit-context.js +10 -2
  29. package/dist/core-runtime/cli/unit-resubmit.js +269 -0
  30. package/dist/core-runtime/cli/worker-structured-output.js +80 -2
  31. package/dist/core-runtime/discovery/host-detection.js +71 -22
  32. package/dist/core-runtime/discovery/review-cert-assemble.js +208 -0
  33. package/dist/core-runtime/discovery/review-cert-record.js +442 -0
  34. package/dist/core-runtime/discovery/review-execution-units.js +22 -0
  35. package/dist/core-runtime/discovery/seat-inventory.js +167 -0
  36. package/dist/core-runtime/discovery/settings-chain.js +311 -52
  37. package/dist/core-runtime/discovery/supported-models.js +282 -29
  38. package/dist/core-runtime/discovery/synthesize-cert-assemble.js +197 -0
  39. package/dist/core-runtime/discovery/synthesize-cert-capsule.js +399 -0
  40. package/dist/core-runtime/discovery/synthesize-cert-judge.js +340 -0
  41. package/dist/core-runtime/discovery/synthesize-cert-loop.js +234 -0
  42. package/dist/core-runtime/discovery/synthesize-cert-mutation.js +117 -0
  43. package/dist/core-runtime/discovery/synthesize-cert-packet.js +182 -0
  44. package/dist/core-runtime/discovery/synthesize-cert-record.js +831 -0
  45. package/dist/core-runtime/discovery/synthesize-cert-sampler.js +336 -0
  46. package/dist/core-runtime/effort-calibration-ingest.js +135 -0
  47. package/dist/core-runtime/llm/dispatch-breaker.js +412 -0
  48. package/dist/core-runtime/llm/dispatch-fallback-adapter-capabilities.js +33 -0
  49. package/dist/core-runtime/llm/llm-caller.js +188 -47
  50. package/dist/core-runtime/llm/mock-llm-realization.js +35 -4
  51. package/dist/core-runtime/llm/model-switcher.js +1 -1
  52. package/dist/core-runtime/llm/openai-responses-incomplete-error.js +46 -0
  53. package/dist/core-runtime/llm/sealed-dispatch-capability.js +359 -0
  54. package/dist/core-runtime/llm/structured-dispatch-error.js +15 -0
  55. package/dist/core-runtime/onboard/claude-profile-scan.js +65 -0
  56. package/dist/core-runtime/onboard/cli-host.js +5 -2
  57. package/dist/core-runtime/onboard/configure-provider.js +33 -1
  58. package/dist/core-runtime/onboard/host-target.js +28 -3
  59. package/dist/core-runtime/onboard/register.js +54 -12
  60. package/dist/core-runtime/pipeline-execution-ledger.js +10 -0
  61. package/dist/core-runtime/reconstruct/artifact-types.js +35 -0
  62. package/dist/core-runtime/reconstruct/claim-projection-validation.js +17 -0
  63. package/dist/core-runtime/reconstruct/competency-projection-contract.js +63 -0
  64. package/dist/core-runtime/reconstruct/comprehension-artifact.js +321 -0
  65. package/dist/core-runtime/reconstruct/comprehension-reduce.js +367 -0
  66. package/dist/core-runtime/reconstruct/comprehension-semantic-map.js +771 -0
  67. package/dist/core-runtime/reconstruct/contract-registry.js +20 -0
  68. package/dist/core-runtime/reconstruct/dispatch-fallback-artifacts.js +640 -0
  69. package/dist/core-runtime/reconstruct/execution-telemetry.js +83 -9
  70. package/dist/core-runtime/reconstruct/final-output-sections.js +89 -0
  71. package/dist/core-runtime/reconstruct/governing-snapshot.js +36 -1
  72. package/dist/core-runtime/reconstruct/leaf-reader.js +305 -0
  73. package/dist/core-runtime/reconstruct/llm-dispatch-failure.js +270 -0
  74. package/dist/core-runtime/reconstruct/llm-touch-fingerprint.js +94 -0
  75. package/dist/core-runtime/reconstruct/material-admission-validation.js +18 -0
  76. package/dist/core-runtime/reconstruct/material-profile-validation.js +14 -0
  77. package/dist/core-runtime/reconstruct/materialize-preparation.js +304 -18
  78. package/dist/core-runtime/reconstruct/maturation-validation.js +1231 -53
  79. package/dist/core-runtime/reconstruct/mock-llm-realization.js +107 -3
  80. package/dist/core-runtime/reconstruct/obligation-assertion.js +18 -0
  81. package/dist/core-runtime/reconstruct/ontology-seed-validation.js +27 -0
  82. package/dist/core-runtime/reconstruct/output-budget.js +6 -0
  83. package/dist/core-runtime/reconstruct/pipeline-execution-ledger.js +87 -3
  84. package/dist/core-runtime/reconstruct/post-seed-validation.js +118 -5
  85. package/dist/core-runtime/reconstruct/purpose-authority-validation.js +117 -2
  86. package/dist/core-runtime/reconstruct/record.js +42 -0
  87. package/dist/core-runtime/reconstruct/registry-verification-validation.js +16 -0
  88. package/dist/core-runtime/reconstruct/run-control-validation.js +1011 -34
  89. package/dist/core-runtime/reconstruct/run.js +5198 -536
  90. package/dist/core-runtime/reconstruct/seed-authoring-readiness-validation.js +54 -3
  91. package/dist/core-runtime/reconstruct/semantic-quality-gate.js +105 -2
  92. package/dist/core-runtime/reconstruct/source-observation-delta-validation.js +41 -0
  93. package/dist/core-runtime/reconstruct/source-observations.js +166 -0
  94. package/dist/core-runtime/reconstruct/source-safety-validation.js +71 -183
  95. package/dist/core-runtime/reconstruct/source-scout-pack-validation.js +37 -1
  96. package/dist/core-runtime/reconstruct/terminal-validation.js +132 -2
  97. package/dist/core-runtime/review/continuation-plan.js +12 -5
  98. package/dist/core-runtime/review/issue-artifact-runtime.js +4 -1
  99. package/dist/core-runtime/review/materializers.js +100 -11
  100. package/dist/core-runtime/review/nesting-batch.js +6 -2
  101. package/dist/core-runtime/review/obligation-shardability.js +138 -0
  102. package/dist/core-runtime/review/pipeline-execution-ledger.js +42 -2
  103. package/dist/core-runtime/review/review-artifact-utils.js +217 -5
  104. package/dist/core-runtime/review/review-execution-steps.js +32 -8
  105. package/dist/core-runtime/review/review-progress-contract.js +8 -0
  106. package/dist/core-runtime/review/review-prompt-budget.js +97 -0
  107. package/dist/core-runtime/review/semantic-quality-gate.js +33 -7
  108. package/dist/core-runtime/review/spreadsheet-review-disposition.js +94 -0
  109. package/dist/core-runtime/route-identity.js +182 -0
  110. package/dist/core-runtime/spreadsheet-header-escalation.js +204 -0
  111. package/dist/core-runtime/spreadsheet-structure-observer.js +2689 -0
  112. package/dist/core-runtime/target-material-kind.js +58 -0
  113. package/dist/mcp/server.js +12 -5
  114. package/dist/tui/app.js +167 -0
  115. package/dist/tui/data/event-follower.js +116 -0
  116. package/dist/tui/data/node-detail.js +42 -0
  117. package/dist/tui/data/projection-poll.js +26 -0
  118. package/dist/tui/data/session-discovery.js +65 -0
  119. package/dist/tui/index.js +108 -0
  120. package/dist/tui/screens/log.js +25 -0
  121. package/dist/tui/screens/node-detail.js +17 -0
  122. package/dist/tui/screens/session-selector.js +26 -0
  123. package/dist/tui/screens/workflow-tree.js +90 -0
  124. package/dist/tui/view-model/reconstruct-adapter.js +162 -0
  125. package/dist/tui/view-model/review-adapter.js +270 -0
  126. package/dist/tui/view-model/tree-view-model.js +19 -0
  127. package/package.json +18 -3
  128. package/settings.example.json +77 -16
@@ -0,0 +1,225 @@
1
+ # Obligation-coverage RECORDED set (G(a) / INV-OBLIGATION-COVERAGE-1).
2
+ # Generated; kept fresh by obligation-coverage-harvest.test.ts. Do NOT hand-edit.
3
+ # Each pair is a (validator_id, obligation_id) dynamically proven WIRED (assertObligation
4
+ # emits asserted_obligation_ids from real validator execution; the harvest test re-derives this).
5
+ recorded:
6
+ - validator_id: actionability-matrix-validator
7
+ obligation_id: validate_matrix_row_ids_are_stable_and_baseline_row_refs_close
8
+ - validator_id: actionability-matrix-validator
9
+ obligation_id: validate_matrix_rows_derive_from_validated_baseline_and_any_applicable_validated_deltas
10
+ - validator_id: actionability-matrix-validator
11
+ obligation_id: validate_blocking_question_refs_against_validated_question_frontier
12
+ - validator_id: baseline-actionability-matrix-validator
13
+ obligation_id: validate_matrix_row_ids_are_stable_and_baseline_row_refs_close
14
+ - validator_id: baseline-actionability-matrix-validator
15
+ obligation_id: reject_matrix_rows_without_baseline_row_ref
16
+ - validator_id: baseline-actionability-matrix-validator
17
+ obligation_id: validate_matrix_rows_derive_from_validated_baseline_without_maturation_deltas
18
+ - validator_id: baseline-actionability-matrix-validator
19
+ obligation_id: reject_blocking_question_refs_before_question_frontier_authoring
20
+ - validator_id: maturation-baseline-validator
21
+ obligation_id: validate_baseline_rows_cover_selected_purpose_frame_required_elements
22
+ - validator_id: maturation-baseline-validator
23
+ obligation_id: require_source_reconstruct_record_ref_and_sha256_before_maturation_baseline_consumption
24
+ - validator_id: maturation-baseline-validator
25
+ obligation_id: validate_mixed_baseline_rows_preserve_member_material_and_cross_material_lineage
26
+ - validator_id: maturation-answer-claims-validator
27
+ obligation_id: require_convergent_source_evidence_claims_to_have_two_independent_judge_confirmed_supports
28
+ - validator_id: maturation-answer-claims-validator
29
+ obligation_id: validate_answer_claim_question_refs
30
+ - validator_id: source-observation-delta-validator
31
+ obligation_id: validate_delta_observation_refs_exist_in_source_observations
32
+ - validator_id: source-observation-delta-validator
33
+ obligation_id: validate_delta_rows_match_accepted_frontier_refs
34
+ - validator_id: source-observation-delta-validator
35
+ obligation_id: validate_delta_rows_preserve_observation_batch_id_and_triggering_frontier_validation_ref
36
+ - validator_id: source-observation-delta-validator
37
+ obligation_id: validate_delta_source_ref_material_kind_and_observation_hash_match_observed_content
38
+ - validator_id: source-observation-reentry-validator
39
+ obligation_id: validate_delta_validation_passed_before_prompt_reentry
40
+ - validator_id: source-observation-reentry-validator
41
+ obligation_id: validate_each_delta_observation_exists_in_source_observations
42
+ - validator_id: source-observation-reentry-validator
43
+ obligation_id: validate_each_delta_observation_has_exact_prompt_context_source_safety_row
44
+ - validator_id: source-observation-reentry-validator
45
+ obligation_id: validate_source_safety_validation_passed_before_prompt_reentry
46
+ - validator_id: maturation-question-frontier-validator
47
+ obligation_id: require_blocker_and_high_questions_to_have_closure_frontier_limitation_or_authority_need
48
+ - validator_id: maturation-question-frontier-validator
49
+ obligation_id: require_unique_question_id
50
+ - validator_id: claim-realization-map-validator
51
+ obligation_id: require_exactly_one_realization_for_each_seed_claim
52
+ - validator_id: claim-realization-map-validator
53
+ obligation_id: validate_realization_claim_ids_against_ontology_seed_claim_ids
54
+ - validator_id: claim-realization-map-validator
55
+ obligation_id: validate_realization_evidence_refs_against_source_observations
56
+ - validator_id: answer-support-judgment-validator
57
+ obligation_id: require_convergent_clusters_to_judge_every_cited_evidence_ref
58
+ - validator_id: answer-support-judgment-validator
59
+ obligation_id: require_rationale_ref_for_each_judgment
60
+ - validator_id: answer-support-judgment-validator
61
+ obligation_id: require_supports_enum_for_each_judgment
62
+ - validator_id: answer-support-judgment-validator
63
+ obligation_id: validate_judgment_refs_resolve_to_answer_support_ledger_clusters_and_evidence
64
+ - validator_id: ontology-expansion-validator
65
+ obligation_id: validate_expansion_answer_claim_refs
66
+ - validator_id: ontology-expansion-validator
67
+ obligation_id: require_concept_economy_rationale_when_surface_increases
68
+ - validator_id: reconstruct-run-control-validator
69
+ obligation_id: validate_committed_write_transactions_have_artifact_refs_and_hashes
70
+ - validator_id: purpose-confirmation-validator
71
+ obligation_id: validate_confirmation_status_against_selected_purpose_candidate
72
+ - validator_id: purpose-confirmation-validator
73
+ obligation_id: require_confirmation_for_inferred_or_limitation_backed_purpose
74
+ - validator_id: purpose-confirmation-validator
75
+ obligation_id: block_seed_readiness_when_confirmation_is_pending_rejected_unavailable_or_evidence_check_pending
76
+ - validator_id: competency-question-assessment-validator
77
+ obligation_id: require_exactly_one_assessment_per_authoritative_question
78
+ - validator_id: competency-question-assessment-validator
79
+ obligation_id: validate_downstream_effect_consistent_with_answer_status
80
+ - validator_id: competency-question-assessment-validator
81
+ obligation_id: validate_required_seed_refs_close_against_question_seed_refs
82
+ - validator_id: material-admission-ledger-validator
83
+ obligation_id: validate_admission_row_uniqueness
84
+ - validator_id: material-admission-ledger-validator
85
+ obligation_id: require_admitted_required_or_supporting_rows_to_have_candidate_seed_maturation_limitation_blocked_or_out_of_scope_consumer
86
+ - validator_id: material-admission-ledger-validator
87
+ obligation_id: prevent_diagnostic_or_trace_only_rows_from_silently_affecting_actionability
88
+ - validator_id: material-admission-ledger-validator
89
+ obligation_id: require_rejected_ambiguous_rows_to_preserve_replayable_evidence_or_limitation
90
+ - validator_id: material-admission-ledger-validator
91
+ obligation_id: validate_purpose_element_refs_against_selected_purpose_frame
92
+ - validator_id: material-admission-ledger-validator
93
+ obligation_id: validate_source_refs_against_observed_source_refs
94
+ - validator_id: maturation-convergence-ledger-validator
95
+ obligation_id: validate_closure_source_observation_delta_refs_match_source_observation_delta_validation
96
+ - validator_id: actionable-ontology-validator
97
+ obligation_id: reject_actionable_ready_until_final_requestion_convergence_is_proven
98
+ - validator_id: actionable-ontology-validator
99
+ obligation_id: validate_actionability_claim_against_maturation_continuation_decision
100
+ - validator_id: actionable-ontology-validator
101
+ obligation_id: validate_actionable_limited_claim_scope_rows
102
+ - validator_id: actionable-ontology-validator
103
+ obligation_id: require_every_projected_row_to_trace_to_seed_expansion_or_limitation
104
+ - validator_id: registry-verification-evidence-validator
105
+ obligation_id: validate_registry_snapshot_hash_is_recorded
106
+ - validator_id: registry-verification-evidence-validator
107
+ obligation_id: validate_active_artifact_gate_validator_predicate_and_source_profile_ids_are_unique
108
+ - validator_id: registry-verification-evidence-validator
109
+ obligation_id: validate_active_registry_subject_lists_match_current_registry_catalogs
110
+ - validator_id: registry-verification-evidence-validator
111
+ obligation_id: validate_every_active_gate_has_a_validator_record
112
+ - validator_id: registry-verification-evidence-validator
113
+ obligation_id: validate_every_validator_gate_ref_resolves_to_an_active_gate
114
+ - validator_id: registry-verification-evidence-validator
115
+ obligation_id: validate_every_active_gate_required_when_predicate_resolves
116
+ - validator_id: registry-verification-evidence-validator
117
+ obligation_id: require_evidence_row_for_each_current_registry_subject_id
118
+ - validator_id: handoff-decision-validator
119
+ obligation_id: consume_all_active_validation_gate_statuses_emitted_by_runtime
120
+ - validator_id: handoff-decision-validator
121
+ obligation_id: project_missing_active_validation_artifact_as_blocked
122
+ - validator_id: candidate-disposition-validator
123
+ obligation_id: validate_candidate_inventory_candidate_kind_against_candidate_kind_registry
124
+ - validator_id: candidate-disposition-validator
125
+ obligation_id: validate_candidate_disposition_against_candidate_disposition_registry
126
+ - validator_id: candidate-disposition-validator
127
+ obligation_id: require_rationale_and_evidence_refs_for_each_disposition
128
+ - validator_id: candidate-disposition-validator
129
+ obligation_id: validate_promoted_candidate_target_seed_refs_are_declared_for_promoted_dispositions
130
+ - validator_id: answer-support-ledger-validator
131
+ obligation_id: validate_evidence_cluster_question_refs
132
+ - validator_id: answer-support-ledger-validator
133
+ obligation_id: require_two_independent_evidence_refs_for_convergent_source_evidence_unless_direct_authority
134
+ - validator_id: answer-support-ledger-validator
135
+ obligation_id: require_frontier_triggered_evidence_to_resolve_to_valid_reentry_validation
136
+ - validator_id: answer-support-ledger-validator
137
+ obligation_id: require_observation_specific_evidence_support_source_safety_row_with_claim_sufficiency_and_replay
138
+ - validator_id: maturation-continuation-decision-validator
139
+ obligation_id: reject_actionable_ready_until_final_requestion_convergence_is_proven
140
+ - validator_id: maturation-continuation-decision-validator
141
+ obligation_id: reject_actionable_ready_when_unresolved_revision_blockers_remain
142
+ - validator_id: maturation-continuation-decision-validator
143
+ obligation_id: require_revision_blocker_refs_in_continuation_limitation_refs
144
+ - validator_id: maturation-continuation-decision-validator
145
+ obligation_id: validate_revision_blocker_limitation_refs_against_validated_revision_proposal
146
+ - validator_id: claim-projection-validator
147
+ obligation_id: reject_unwired_material_kind_support_levels_above_profile_supported
148
+ - validator_id: claim-projection-validator
149
+ obligation_id: validate_material_kind_support_row_uses_capability_claim_not_actionability_claim
150
+ - validator_id: source-purpose-candidates-validator
151
+ obligation_id: preserve_contradictions_in_candidate_status_or_limitations
152
+ - validator_id: source-purpose-candidates-validator
153
+ obligation_id: reject_p5_only_primary_purpose_candidate
154
+ - validator_id: source-purpose-candidates-validator
155
+ obligation_id: require_mixed_purpose_frame_elements_to_carry_member_scope_refs_member_target_material_kind_member_source_refs_and_cross_material_ref_refs_or_validated_exclusion
156
+ - validator_id: source-purpose-candidates-validator
157
+ obligation_id: require_non_p1_primary_to_have_two_evidence_kinds_and_one_p2_p3_or_p4
158
+ - validator_id: source-purpose-candidates-validator
159
+ obligation_id: require_purpose_adequacy_frame_elements_to_have_surface_dimension_facet_and_evidence_or_limitation_state
160
+ - validator_id: source-purpose-candidates-validator
161
+ obligation_id: validate_purpose_candidate_evidence_refs_against_source_observations
162
+ - validator_id: maturation-closure-frontier-validator
163
+ obligation_id: reject_semantic_only_locations
164
+ - validator_id: maturation-closure-frontier-validator
165
+ obligation_id: require_unique_authority_request_id
166
+ - validator_id: maturation-closure-frontier-validator
167
+ obligation_id: validate_authority_request_kind_expected_response_kind_and_scope
168
+ - validator_id: ontology-seed-validator
169
+ obligation_id: require_static_kinetic_dynamic_actionability_coverage_axes
170
+ - validator_id: ontology-seed-validator
171
+ obligation_id: validate_purpose_required_element_seed_ref_refs_against_known_seed_refs
172
+ - validator_id: ontology-seed-validator
173
+ obligation_id: validate_promoted_candidate_target_seed_refs_are_realized
174
+ - validator_id: ontology-seed-validator
175
+ obligation_id: validate_instance_assertion_mapping_status
176
+ - validator_id: ontology-seed-validator
177
+ obligation_id: require_limitation_ref_when_instance_availability_status_is_absent_or_unknown
178
+ - validator_id: ontology-seed-validator
179
+ obligation_id: require_ready_ontology_handoff_mappings_to_have_substantive_content_or_limitation_refs
180
+ - validator_id: competency-questions-validator
181
+ obligation_id: require_unique_question_id
182
+ - validator_id: competency-questions-validator
183
+ obligation_id: validate_coverage_axes_against_coverage_axis_registry
184
+ - validator_id: competency-questions-validator
185
+ obligation_id: validate_ontology_handoff_axes_against_ontology_handoff_axis_registry
186
+ - validator_id: competency-questions-validator
187
+ obligation_id: validate_seed_ref_refs_close_against_known_seed_refs
188
+ - validator_id: competency-questions-validator
189
+ obligation_id: validate_limitation_refs_close_against_handoff_limitations
190
+ - validator_id: competency-questions-validator
191
+ obligation_id: validate_reference_standard_refs_against_reference_standard_registry
192
+ - validator_id: competency-questions-validator
193
+ obligation_id: validate_pattern_catalog_refs_against_reference_pattern_catalog_registry
194
+ - validator_id: competency-questions-validator
195
+ obligation_id: validate_domain_competency_trace_refs_against_run_manifest_context_snapshot
196
+ - validator_id: competency-questions-validator
197
+ obligation_id: enforce_admitted_domain_competency_disposition_rule
198
+ - validator_id: pre-handoff-run-manifest-validator
199
+ obligation_id: selected_reference_standard_ids_resolve_to_reference_standard_registry
200
+ - validator_id: pre-handoff-run-manifest-validator
201
+ obligation_id: selected_reference_standard_versions_or_snapshots_are_recorded
202
+ - validator_id: pre-handoff-run-manifest-validator
203
+ obligation_id: selected_pattern_catalog_ids_resolve_to_reference_pattern_catalog_registry
204
+ - validator_id: pre-handoff-run-manifest-validator
205
+ obligation_id: selected_pattern_catalog_versions_or_snapshots_are_recorded
206
+ - validator_id: source-safety-ledger-validator
207
+ obligation_id: validate_exactly_four_canonical_source_safety_axes
208
+ - validator_id: source-safety-ledger-validator
209
+ obligation_id: validate_source_safety_subject_refs_against_observed_source_refs
210
+ - validator_id: source-safety-ledger-validator
211
+ obligation_id: validate_visibility_tier_is_derived_not_independent_authority
212
+ - validator_id: target-material-profile-validator
213
+ obligation_id: every_selected_source_profile_snapshot_contains_version_policy_required_fields
214
+ - validator_id: target-material-profile-validator
215
+ obligation_id: every_selected_source_profile_snapshot_matches_source_profile_records_by_profile_id_and_target_material_kind
216
+ - validator_id: source-observation-lineage-index-validator
217
+ obligation_id: validate_unique_session_level_lineage_row_ids
218
+ - validator_id: seed-authoring-readiness-validator
219
+ obligation_id: validate_blocked_validation_gap_is_projection_not_semantic_decision
220
+ - validator_id: source-scout-pack-validator
221
+ obligation_id: validate_signal_rows_resolve_to_source_observations
222
+ - validator_id: source-scout-pack-pre-seed-validator
223
+ obligation_id: validate_signal_rows_resolve_to_source_observations
224
+ - validator_id: source-scout-pack-post-maturation-validator
225
+ obligation_id: validate_signal_rows_resolve_to_source_observations
@@ -119,7 +119,7 @@ element required by the source-derived `PurposeAdequacyFrame`.
119
119
  | `MaterialAdmissionAuthority` | runtime-assembled admission authority for purpose-critical adequacy elements, with a separate phase for literal source-backed material values | runtime |
120
120
  | `MaterialValueDisposition` | admission and closure decision for source-backed values that may affect actionability | host LLM authored, runtime validated |
121
121
  | `DomainCompetencyAdmission` | run-manifest admission of domain competency questions into required, supporting, or diagnostic maturity coverage | runtime |
122
- | `SourceSafetyAuthority` | validator-consumed lifecycle, authorization, privacy, redaction, proof-sufficiency, and replay state for observed source records, keyed by exact observation safety row id with derived visibility policy and conservative public/material defaults | runtime |
122
+ | `SourceSafetyAuthority` | validator-consumed lifecycle, authorization, proof-sufficiency, and replay state for observed source records, keyed by exact observation safety row id with derived visibility policy and conservative public/material defaults | runtime |
123
123
  | `MutableVocabularyAuthority` | replayable identity, snapshot, mapping, alias, supersession, and migration state for external terms, standards, provider/framework terms, and profile-owned facets | planned until registry promotion |
124
124
  | `SourceDeltaFact` | runtime-observed source freshness fact before semantic actionability interpretation | runtime |
125
125
  | `SourceDeltaImpactJudgment` | source-delta impact interpretation against purpose, surfaces, and dimensions | host LLM authored, runtime validated |
@@ -1260,6 +1260,13 @@ source_reconstruct_record_ref: reconstruct-record.yaml
1260
1260
  source_run_manifest_ref: reconstruct-run-manifest.yaml
1261
1261
  source_handoff_decision_validation_ref:
1262
1262
  purpose_frame_ref:
1263
+ # Purpose-candidate-level limitations bound the overall purpose/source, not any single
1264
+ # surface x dimension row. They constrain the actionable claim (continuation stays
1265
+ # actionable_limited, not actionable_ready, and they appear in the claim limitation_refs)
1266
+ # and signal next-round source frontier, WITHOUT marking any row limitation_backed.
1267
+ # The validator anchors this list to the selected purpose candidate's limitation_refs;
1268
+ # the actionability matrix carries the same list forward.
1269
+ candidate_limitation_refs: []
1263
1270
  baseline_rows:
1264
1271
  - baseline_row_id:
1265
1272
  purpose_element_ref:
@@ -1278,6 +1285,9 @@ baseline_rows:
1278
1285
  supporting_seed_refs: []
1279
1286
  supporting_evidence_refs: []
1280
1287
  supporting_validation_refs: []
1288
+ # Row-level limitations are the row's OWN seed-element limitations only (they drive
1289
+ # frontier gating and member_readiness); candidate-level limitations live in the
1290
+ # top-level candidate_limitation_refs above, never copied onto rows.
1281
1291
  limitation_refs: []
1282
1292
  blocking_reason:
1283
1293
  ```
@@ -1675,7 +1685,7 @@ projected_rows:
1675
1685
  purpose_element_ref:
1676
1686
  materiality: blocker | high | medium | low | info
1677
1687
  maturity_level: L0_missing | L1_identified | L2_modeled | L3_evidenced | L4_validated_for_purpose
1678
- member_readiness: closed | limitation_backed | frontier_required | out_of_scope
1688
+ member_readiness: closed | limitation_backed | frontier_required | value_resolved | out_of_scope
1679
1689
  seed_ref_refs: []
1680
1690
  expansion_refs: []
1681
1691
  evidence_refs: []
@@ -1698,6 +1708,10 @@ claimed.
1698
1708
  maturation is converging:
1699
1709
 
1700
1710
  ```yaml
1711
+ # Carried forward from the maturation baseline (must match it; the matrix validator
1712
+ # rejects drift). Continuation keeps a fully-closed run at actionable_limited and lists
1713
+ # these in the claim limitation_refs when present; never marks a row limitation_backed.
1714
+ candidate_limitation_refs: []
1701
1715
  rows:
1702
1716
  - matrix_row_id:
1703
1717
  baseline_row_refs: []
@@ -1708,7 +1722,7 @@ rows:
1708
1722
  materiality_ref:
1709
1723
  member_scope_refs: []
1710
1724
  member_target_material_kind:
1711
- member_readiness: closed | limitation_backed | frontier_required | out_of_scope
1725
+ member_readiness: closed | limitation_backed | frontier_required | value_resolved | out_of_scope
1712
1726
  member_source_refs: []
1713
1727
  cross_material_ref_refs: []
1714
1728
  competency_question_refs: []
@@ -1724,6 +1738,28 @@ rows:
1724
1738
  explicitly limitation-backed without making an actionability claim for that
1725
1739
  limited area.
1726
1740
 
1741
+ `value_resolved` is the terminal readiness for a material row whose
1742
+ value-dependent limitation was discharged by the maturation value-read stage
1743
+ (reading authorized runtime-target source values to satisfy the limitation). It
1744
+ is distinct from `closed` (not L4-validated) and from `frontier_required` (needs
1745
+ a new source): the row's residual limitation set reached zero **by discharge**,
1746
+ so it anchors a bounded actionable claim on an explicit value-read basis. Only a
1747
+ validated, satisfied value-discharge that the matrix builder/validator both
1748
+ re-derive (derive-and-assert) may move a row to `value_resolved`; a continuation
1749
+ carrying `value_resolved` rows projects at most `actionable_limited` (never
1750
+ `actionable_ready`, which requires L4). value_resolved rows are claimable
1751
+ (included in `claim_scope`) like closed rows. See the maturation value-read cut
1752
+ design (`development-records/design/20260630-maturation-value-read-cut-design.md`
1753
+ §13).
1754
+
1755
+ `blocking_question_refs` is the reverse link from a row to the maturation
1756
+ frontier question(s) that block it from closing. It is the mirror of the
1757
+ question's forward `baseline_row_refs`, so the baseline matrix (authored before
1758
+ any question exists) leaves it empty and the current matrix populates it for each
1759
+ still-open `frontier_required` row from the validated question frontier; closed
1760
+ or limitation-backed rows carry none. The matrix validator enforces this against
1761
+ the validated frontier (`validate_blocking_question_refs_against_validated_question_frontier`).
1762
+
1727
1763
  The active first-pass runtime keeps two matrix artifacts so artifact refs stay
1728
1764
  truthful. `baseline-actionability-matrix.yaml` is the immutable
1729
1765
  baseline-derived M1 matrix consumed by `maturation-question-frontier.yaml`.
@@ -2516,8 +2552,8 @@ activation conditions.
2516
2552
  | `claim-projection-validation.yaml` | runtime | proves claim level, decision state, actionability claim, material-kind/member support, bounded UX fields, target-material profile validation, and pre-publication run-control/registry/validation evidence closure |
2517
2553
  | `material-admission-ledger.yaml` | runtime | canonical admission/disposition rows for purpose-critical adequacy elements, and later source-backed material values when that phase is promoted |
2518
2554
  | `material-admission-ledger-validation.yaml` | runtime | proves admitted, deferred, rejected, and out-of-scope admission rows are replayable and closed downstream |
2519
- | `source-safety-ledger.yaml` | runtime | lifecycle, authorization, privacy, redaction, proof sufficiency, and replay state for observed source records, keyed by exact observation safety row id with derived visibility policy and conservative public/material claim defaults |
2520
- | `source-safety-ledger-validation.yaml` | runtime | proves unsafe, retired, redacted, disposed, invalidated, unauthorized, privacy-sensitive, or proof-insufficient source refs fail closed or become limitations |
2555
+ | `source-safety-ledger.yaml` | runtime | lifecycle, authorization, proof sufficiency, and replay state for observed source records, keyed by exact observation safety row id with derived visibility policy and conservative public/material claim defaults |
2556
+ | `source-safety-ledger-validation.yaml` | runtime | proves unsafe, retired, disposed, invalidated, unauthorized, or proof-insufficient source refs fail closed or become limitations |
2521
2557
  | `source-observation-lineage-index.yaml` | runtime | session-level index of every round-scoped source-observation delta, delta validation, re-entry validation, frontier kind, and added observation id consumed by answer-support validation |
2522
2558
  | `source-observation-lineage-index-validation.yaml` | runtime | proves the session lineage index matches valid per-round delta validations, re-entry validations, frontier kinds, and source observation ids before semantic downstream consumption |
2523
2559
  | `vocabulary-authority-ledger.yaml` | planned | identity, snapshot, mapping, applicability, alias, supersession, and migration rows for mutable vocabulary |
@@ -2648,7 +2684,7 @@ through prose shortcuts.
2648
2684
  |---|---|---|---|---|
2649
2685
  | 0 | `reconstruct-run-control-validation.yaml` | any seeding, maturation, retry, resume, status, result, or public projection writes/reads session artifacts | every writer, validator, status/result reader, final-output writer, record assembler | block or return existing trusted run before semantic artifacts are consumed |
2650
2686
  | 1 | `registry-verification-evidence-validation.yaml` | prose or public surface claims `active`, `promoted`, `current`, `implemented`, `executable`, `ready`, or material-kind support | claim projection, final-output provenance, MCP/API/status/result, prompt packet materialization | mark `pending_verification` and prevent runtime/public consumption |
2651
- | 2 | `source-safety-ledger-validation.yaml` | an observed source record enters context assembly, a prompt packet, source observation re-entry, evidence support, or source-backed claim | prompt-packet materialization/context assembly, source observation re-entry, source-backed evidence support | exclude, redact, limit, or block according to lifecycle, authorization, privacy, redaction, proof sufficiency, replay, and observation-specific derived prompt visibility policy |
2687
+ | 2 | `source-safety-ledger-validation.yaml` | an observed source record enters context assembly, a prompt packet, source observation re-entry, evidence support, or source-backed claim | prompt-packet materialization/context assembly, source observation re-entry, source-backed evidence support | exclude, limit, or block according to lifecycle, authorization, proof sufficiency, replay, and observation-specific derived prompt visibility policy |
2652
2688
  | 3 | `material-admission-ledger-validation.yaml` | source-backed values can affect actionability, evidence trust, dynamic boundaries, permissions, obligations, calculations, or public claims | candidate disposition, seed validation, maturation baseline, question frontier, matrix, convergence ledger | every admitted/required source-backed row must be consumed downstream or surfaced as limitation/blocked/out-of-scope |
2653
2689
  | planned | `vocabulary-authority-ledger-validation.yaml` | mutable profile facets, domain terms, provider/framework terms, external standards, or reference patterns need active runtime vocabulary proof | source profile selection, seed rows, maturation rows, external boundary rows, claim projection | planned authority; current runtime must not claim this validation has active coverage |
2654
2690
  | 5 | `claim-projection-validation.yaml` | any status/result/MCP/API/handoff surface reports success, readiness, actionability, `blocked`, `ask_user`, or material-kind support; final-output claim sections may only cite canonical refs until this closes | all public and downstream result surfaces | surfaces may not infer claim level or next action from distributed artifacts |
@@ -2704,17 +2740,15 @@ source record's exact safety row identity into validator-consumed state. Safety
2704
2740
  row identity is scoped by both observation and intended consumption:
2705
2741
  `source_safety:<observation_id>:<intended_consumption>`.
2706
2742
 
2707
- Canonical source safety has exactly six independent validation axes:
2743
+ Canonical source safety has exactly four independent validation axes:
2708
2744
 
2709
2745
  1. `lifecycle_state`
2710
2746
  2. `authorization_state`
2711
- 3. `privacy_state`
2712
- 4. `redaction_state`
2713
- 5. `proof_sufficiency_state`
2714
- 6. `replay_state`
2747
+ 3. `proof_sufficiency_state`
2748
+ 4. `replay_state`
2715
2749
 
2716
- `visibility_tier` is not a seventh axis. It is a deterministic sink/output policy
2717
- derived from the six canonical axes and the intended consumption
2750
+ `visibility_tier` is not a fifth axis. It is a deterministic sink/output policy
2751
+ derived from the four canonical axes and the intended consumption
2718
2752
  (`prompt_context`, `evidence_support`, `public_output`, `replay`, or
2719
2753
  `material_claim`). Validators must preserve both the failing canonical axis and
2720
2754
  the derived visibility tier when they limit or block consumption. One valid
@@ -2726,8 +2760,34 @@ consumption. Runtime read scope can authorize internal `prompt_context`,
2726
2760
  `evidence_support`, and replay checks, but `public_output` and `material_claim`
2727
2761
  rows must remain authority-gap rows (`authorization_state: unknown`,
2728
2762
  `proof_sufficiency_state: insufficient_for_claim`, derived `no_prompt_use`, and
2729
- a limitation ref) unless the observed source explicitly authorizes that exact
2730
- intended consumption.
2763
+ a limitation ref) **unless at least one canonical authorization basis is
2764
+ satisfied for that exact intended consumption**. The canonical authorization
2765
+ bases for `public_output` and `material_claim` are:
2766
+
2767
+ - **(A) runtime-target provenance** — the observation is the user-provided
2768
+ reconstruct runtime-target source (`is_runtime_target_source: true`, set by the
2769
+ observation producer only for refs the caller resolved as the request target,
2770
+ never for frontier-discovered or maturation-closure re-entry observations). The
2771
+ user providing a source as the reconstruct target is authorization to derive
2772
+ material claims from it and surface them to that user. Audited with
2773
+ `authorization_scope_ref: runtime_target_ref_read_scope`.
2774
+ - **(B) source self-declaration** — the observation carries an explicit
2775
+ `structural_data.source_safety_consumption_authorizations` entry for that
2776
+ consumption. Audited with
2777
+ `authorization_scope_ref: source_safety_explicit_consumption_authorization`.
2778
+ - **(C) user/owner confirmation** — an explicit user/owner consumption grant
2779
+ (purpose-confirmation channel). *Not wired in the initial cut.*
2780
+ - **(D) authority response** — an authority request answered `provided` through
2781
+ the maturation authority-response flow, the canonical channel for
2782
+ frontier-discovered secondary sources. *Not wired in the initial cut.*
2783
+
2784
+ Authorization is the union: a `public_output`/`material_claim` row is authorized
2785
+ iff any basis A–D holds. Each basis is scoped to its own source, so a
2786
+ frontier-discovered or non-target observation that satisfies none stays an
2787
+ authority-gap row (no leak). Basis attribution is enforced, not merely declared:
2788
+ an `authorization_state: authorized` upper-tier row must be justified by basis A
2789
+ (`is_runtime_target_source`) or basis B (the explicit field); the source-safety
2790
+ validator rejects an authorized upper-tier row backed by neither.
2731
2791
 
2732
2792
  ```yaml
2733
2793
  schema_version: "1"
@@ -2739,26 +2799,18 @@ safety_rows:
2739
2799
  subject_kind: source_ref
2740
2800
  lifecycle_state: active | retired | disposed | invalidated | stale | missing
2741
2801
  authorization_state: authorized | unauthorized | unknown | not_required
2742
- privacy_state: non_sensitive | privacy_sensitive | unknown
2743
- redaction_state: none | redacted | required | insufficient
2744
- proof_sufficiency_state: sufficient_for_claim | insufficient_for_claim | trace_only | unavailable
2745
- replay_state: replay_allowed | replay_with_redaction | no_replay_use | unknown
2746
- visibility_tier: consumption_allowed | internal_only | redacted_output_only | no_prompt_use | no_replay_use
2802
+ proof_sufficiency_state: sufficient_for_claim | insufficient_for_claim | unavailable
2803
+ replay_state: replay_allowed | no_replay_use | unknown
2804
+ visibility_tier: consumption_allowed | internal_only | no_prompt_use | no_replay_use
2747
2805
  visibility_derivation:
2748
2806
  intended_consumption: prompt_context | evidence_support | public_output | replay | material_claim
2749
2807
  derived_from_axes:
2750
2808
  - lifecycle_state
2751
2809
  - authorization_state
2752
- - privacy_state
2753
- - redaction_state
2754
2810
  - proof_sufficiency_state
2755
2811
  - replay_state
2756
2812
  derivation_rule_ref:
2757
2813
  authorization_scope_ref:
2758
- redaction_evidence:
2759
- raw_value_available: true | false
2760
- allowed_proof_forms: [raw_value | hash | bounded_summary | source_ref_only | unavailable]
2761
- redaction_rule_ref:
2762
2814
  tombstone:
2763
2815
  tombstone_ref:
2764
2816
  reason:
@@ -2770,18 +2822,17 @@ safety_rows:
2770
2822
  The first consumer is prompt-packet materialization/context assembly. Raw source
2771
2823
  excerpts, document sections, spreadsheet cells, database comments, or other
2772
2824
  observed source values must not enter LLM-facing context until a source-safety
2773
- row exists and validates for prompt use. If a row derives `no_prompt_use`, the
2774
- observation is excluded from prompt payloads; redacted rows may include only
2775
- allowed hash, bounded summary, or source-ref-only proof forms and must carry the
2776
- limitation forward.
2825
+ row exists and validates for prompt use. A row is admitted into the prompt only
2826
+ when it derives `consumption_allowed`; any other tier excludes the observation
2827
+ from prompt payloads.
2777
2828
 
2778
2829
  `source-safety-ledger-validation.yaml` must be consumed by prompt-packet
2779
2830
  materialization/context assembly and source-observation re-entry before observed
2780
2831
  source rows re-enter semantic authoring. A validator must fail closed when a
2781
2832
  source-backed claim requires an observed source ref whose lifecycle,
2782
- authorization, privacy, redaction, proof-sufficiency, or replay axis does not
2783
- support the intended consumption, whose scoped safety row is missing, or whose
2784
- derived `visibility_tier` prohibits that sink.
2833
+ authorization, proof-sufficiency, or replay axis does not support the intended
2834
+ consumption, whose scoped safety row is missing, or whose derived
2835
+ `visibility_tier` prohibits that sink.
2785
2836
 
2786
2837
  Answer-support validation consumes `source-observation-lineage-index.yaml`,
2787
2838
  `source-observation-lineage-index-validation.yaml`, and
@@ -2794,7 +2845,7 @@ observation-specific `evidence_support` source-safety row that is sufficient for
2794
2845
  claim support and replay; prompt visibility alone is not material evidence
2795
2846
  authority.
2796
2847
 
2797
- Source safety validation has six independent axes. A row can pass one axis and
2848
+ Source safety validation has four independent axes. A row can pass one axis and
2798
2849
  fail another; validators must preserve the specific failing axis in limitations,
2799
2850
  blocked rows, and public recovery text.
2800
2851
 
@@ -2802,25 +2853,17 @@ blocked rows, and public recovery text.
2802
2853
  |---|---|---|
2803
2854
  | lifecycle | active snapshot or tombstone lineage | subject is retired, disposed, invalidated, stale, or missing for a material claim |
2804
2855
  | authorization | authorization scope or user/runtime authority | the run is not allowed to inspect, prompt, replay, or display the subject |
2805
- | privacy | sensitivity classification and allowed disclosure basis | sensitive data would be exposed without an allowed disclosure basis |
2806
- | redaction | redaction status and proof form | raw value is unavailable and bounded summary/hash is insufficient for the claim |
2807
- | proof sufficiency | proof form matches claim level | trace-only proof is used to raise semantic or actionability level |
2808
- | replay | replay eligibility and allowed proof form | future replay would require a raw value or authority snapshot that is not replayable |
2856
+ | proof sufficiency | proof form matches claim level | proof is unavailable or insufficient for the intended consumption |
2857
+ | replay | replay eligibility | future replay would require an authority snapshot that is not replayable |
2809
2858
 
2810
2859
  Derived visibility projection:
2811
2860
 
2812
2861
  | Derived `visibility_tier` | Projection rule |
2813
2862
  |---|---|
2814
- | `no_prompt_use` | any canonical axis blocks `prompt_context` consumption, or the only allowed form is unavailable for prompt materialization |
2863
+ | `no_prompt_use` | any canonical axis blocks `prompt_context` consumption, or proof is unavailable for prompt materialization |
2815
2864
  | `no_replay_use` | `replay_state` is `no_replay_use` or `unknown` for a replay-required material claim |
2816
- | `redacted_output_only` | the subject may be surfaced only through an allowed redacted, hashed, bounded-summary, or source-ref-only form |
2817
2865
  | `internal_only` | the subject may support internal validation or evidence closure but must not appear in public output |
2818
- | `consumption_allowed` | all six canonical axes support the row's `intended_consumption`; public disclosure is allowed only when `intended_consumption` is `public_output` |
2819
-
2820
- Top-level axis state fields are canonical. Nested detail fields such as
2821
- `redaction_evidence` are supporting proof only; they must not introduce a second
2822
- authority path for redaction or proof sufficiency. Validation must fail when a
2823
- supporting detail contradicts its top-level canonical state.
2866
+ | `consumption_allowed` | all four canonical axes support the row's `intended_consumption`; public disclosure is allowed only when `intended_consumption` is `public_output` |
2824
2867
 
2825
2868
  #### Mutable Vocabulary Authority
2826
2869
 
@@ -2960,7 +3003,7 @@ Validation responsibilities:
2960
3003
  - material-admission validation for purpose-critical adequacy elements, with
2961
3004
  source-backed material values only after their phase is promoted
2962
3005
  - source-safety validation before prompt-packet materialization/context assembly
2963
- and for lifecycle, authorization, privacy, redaction, proof sufficiency, replay
3006
+ and for lifecycle, authorization, proof sufficiency, replay
2964
3007
  eligibility, and derived visibility projection
2965
3008
  - planned mutable-vocabulary validation for external/profile/provider/framework
2966
3009
  terms after registry promotion
@@ -2990,19 +3033,15 @@ Safety and lifecycle rules:
2990
3033
  validators, tool policies, or user-confirmed run scope;
2991
3034
  - prompt packets include only the minimum source excerpts needed for the current
2992
3035
  stage and preserve refs so omitted context can be audited;
2993
- - secrets, credentials, personal data, and sensitive business values are redacted
2994
- from user-facing prose unless the user explicitly authorizes disclosure for the
2995
- run; artifact truth may preserve hashes, refs, labels, or bounded summaries
2996
- instead of raw sensitive text;
2997
3036
  - authority responses record identity, scope, timestamp/version, and replay
2998
3037
  eligibility, and unavailable or rejected authority responses remain visible as
2999
3038
  limitations or blocked rows;
3000
3039
  - stale source snapshots, stale profile snapshots, and unresolved migration refs
3001
3040
  cannot be treated as current authority;
3002
- - retirement, disposal, or redaction of an artifact must leave an audit-visible
3041
+ - retirement or disposal of an artifact must leave an audit-visible
3003
3042
  tombstone with artifact ref, hash when available, lifecycle state, reason, and
3004
3043
  downstream refs that can no longer be trusted; and
3005
- - replay must fail closed when a required source ref, redacted value, retired
3044
+ - replay must fail closed when a required source ref, retired
3006
3045
  artifact, or authority snapshot is needed to prove a material claim.
3007
3046
 
3008
3047
  These prose rules are implementation guidance only until
@@ -3157,7 +3196,7 @@ Per-kind release evidence requirements:
3157
3196
  | Material kind | Release-supported only when |
3158
3197
  |---|---|
3159
3198
  | `code` | real or golden repository run proves file/module/service observation, purpose inference or confirmation, actor/object/action/data-binding extraction, dependency and external-boundary mapping, validation failure visibility, and artifact refs |
3160
- | `document` | real or golden document run proves section/heading/decision/action-item observation, purpose extraction or inference, citation-preserving evidence refs, source-safety/redaction handling, and limitation output for ambiguous prose |
3199
+ | `document` | real or golden document run proves section/heading/decision/action-item observation, purpose extraction or inference, citation-preserving evidence refs, source-safety handling, and limitation output for ambiguous prose |
3161
3200
  | `spreadsheet` | real or golden workbook run proves sheet/range/named-range/formula/decision-cell observation, source values and derived outputs are distinguished, formula or calculation evidence is replayable, and stale workbook or hidden-sheet gaps fail loud |
3162
3201
  | `database` | real or golden database/schema snapshot proves table/view/key/grant/default/derived-view observation, sampled evidence boundaries are explicit, permission and retention constraints are represented, and unavailable credentials or schema drift block/limit claims |
3163
3202
  | `meeting_record` | real or golden meeting artifact proves participants, decisions, action owners, due dates, open questions, and unresolved policy decisions are extracted as purpose-relevant evidence without inventing workflow paths |