Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "mvr_context_compile", "mvr_decision_check", "mvr_entity_resolve" and 2 more
before
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Resolved subject, market scope, and mixed evidence to compile into safe and unsafe inferences.","properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"decision_stage":{"type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Individual face-to-face/telephone collection also requires staffing, duration, total available minutes per collector and sample size. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for individual face-to-face/telephone interviews, not invented for documentary evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Individual face-to-face/telephone collection also requires staffing, duration, total available minutes per collector and sample size. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for individual face-to-face/telephone interviews, not invented for documentary evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Declared decision geography, not source geography. Supply district/districts or decision_scope_level country/subnational; subnational requires locality. No district is inferred from claim prose.","properties":{"city":{"description":"Declared target city.","type":"string"},"corridor":{"description":"Declared target corridor.","type":"string"},"country":{"description":"Declared target country, not the source country.","type":"string"},"decision_scope_level":{"description":"Explicit decision scope. Subnational needs declared locality. A country-only decision must be declared, not inferred from absent districts.","enum":["country","subnational"],"type":"string"},"district":{"description":"Nonblank target district; not verified source coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Target districts as nonblank strings; empty is allowed but does not declare subnational scope.","items":{"pattern":"\\S","type":"string"},"type":"array"},"micro_context":{"description":"Explicit local decision context.","type":"string"},"region":{"description":"Declared target region.","type":"string"},"town_or_zone":{"description":"Declared target town or zone.","type":"string"}},"type":"object"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"subject":{"additionalProperties":true,"description":"Resolved or supplied entity under assessment.","properties":{"entity_archetype":{"type":"string"},"entity_name":{"type":"string"},"sector":{"type":"string"}},"type":"object"},"target_claim":{"type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}after
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Resolved subject, market scope, and mixed evidence to compile into safe and unsafe inferences.","properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"decision_stage":{"type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Collector-administered modes require staffing, duration, available minutes per collector and sample size. Group modes additionally require session_count, participants_per_session, session_duration_minutes and collectors_per_session, never inferred from an individual interview duration. Online, observation and administrative_record modes require collection_administration; self-administered online and automated observation/record sources do not need invented collector capacity. Explicit public/documentary origins are not caller fieldwork solely because evidence_type is survey; conflicting explicit field origins still block. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collection_administration":{"description":"Source-grounded administration, required for online, observation and administrative_record modes. self_administered is supported for online; automated for observation or administrative_record. Face-to-face, telephone and group modes are collector-administered and cannot opt out.","enum":["collector_administered","self_administered","automated","unknown"],"type":"string"},"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"collectors_per_session":{"description":"Collectors required concurrently for each group session, drawn from enumerator_count. No default facilitator count is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"description":"Collector time per individual interview or per observed/processed sample record for collector-administered non-group modes.","exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"participants_per_session":{"description":"Source-grounded maximum participants in any session. Sample size cannot exceed session_count times this bound; no default group size is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"session_count":{"description":"Actual number of group sessions in the source records.","maximum":9007199254740991,"minimum":1,"type":"integer"},"session_duration_minutes":{"description":"Source-recorded duration of each group session in this declaration, not an alias for individual interview duration.","exclusiveMinimum":0,"type":"number"},"source_extraction":{"additionalProperties":false,"description":"Optional caller-supplied second reading of source facts for conflict comparison only. Not independently authenticated; cannot supply missing primary declarations or establish source authenticity.","properties":{"fields":{"additionalProperties":false,"properties":{"collection_administration":{"description":"Source-grounded administration, required for online, observation and administrative_record modes. self_administered is supported for online; automated for observation or administrative_record. Face-to-face, telephone and group modes are collector-administered and cannot opt out.","enum":["collector_administered","self_administered","automated","unknown"],"type":"string"},"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"collectors_per_session":{"description":"Collectors required concurrently for each group session, drawn from enumerator_count. No default facilitator count is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"description":"Collector time per individual interview or per observed/processed sample record for collector-administered non-group modes.","exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"participants_per_session":{"description":"Source-grounded maximum participants in any session. Sample size cannot exceed session_count times this bound; no default group size is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"session_count":{"description":"Actual number of group sessions in the source records.","maximum":9007199254740991,"minimum":1,"type":"integer"},"session_duration_minutes":{"description":"Source-recorded duration of each group session in this declaration, not an alias for individual interview duration.","exclusiveMinimum":0,"type":"number"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"source_ref":{"maxLength":512,"minLength":1,"type":"string"}},"required":["source_ref","fields"],"type":"object"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Declared source origin. Explicit public/documentary sources are not caller fieldwork solely because evidence_type is survey. Conflicting explicit field origins still block; never relabel to pass.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for collector-administered modes, including groups. Group sample cannot exceed session_count times participants_per_session. All supplied aliases must agree; never invent a sample for documentary or self-administered evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label. Explicit field/public conflicts, including provenance_ledger.source_family, require reconciliation; one label cannot erase another.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Collector-administered modes require staffing, duration, available minutes per collector and sample size. Group modes additionally require session_count, participants_per_session, session_duration_minutes and collectors_per_session, never inferred from an individual interview duration. Online, observation and administrative_record modes require collection_administration; self-administered online and automated observation/record sources do not need invented collector capacity. Explicit public/documentary origins are not caller fieldwork solely because evidence_type is survey; conflicting explicit field origins still block. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collection_administration":{"description":"Source-grounded administration, required for online, observation and administrative_record modes. self_administered is supported for online; automated for observation or administrative_record. Face-to-face, telephone and group modes are collector-administered and cannot opt out.","enum":["collector_administered","self_administered","automated","unknown"],"type":"string"},"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"collectors_per_session":{"description":"Collectors required concurrently for each group session, drawn from enumerator_count. No default facilitator count is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"description":"Collector time per individual interview or per observed/processed sample record for collector-administered non-group modes.","exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"participants_per_session":{"description":"Source-grounded maximum participants in any session. Sample size cannot exceed session_count times this bound; no default group size is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"session_count":{"description":"Actual number of group sessions in the source records.","maximum":9007199254740991,"minimum":1,"type":"integer"},"session_duration_minutes":{"description":"Source-recorded duration of each group session in this declaration, not an alias for individual interview duration.","exclusiveMinimum":0,"type":"number"},"source_extraction":{"additionalProperties":false,"description":"Optional caller-supplied second reading of source facts for conflict comparison only. Not independently authenticated; cannot supply missing primary declarations or establish source authenticity.","properties":{"fields":{"additionalProperties":false,"properties":{"collection_administration":{"description":"Source-grounded administration, required for online, observation and administrative_record modes. self_administered is supported for online; automated for observation or administrative_record. Face-to-face, telephone and group modes are collector-administered and cannot opt out.","enum":["collector_administered","self_administered","automated","unknown"],"type":"string"},"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"collectors_per_session":{"description":"Collectors required concurrently for each group session, drawn from enumerator_count. No default facilitator count is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"description":"Collector time per individual interview or per observed/processed sample record for collector-administered non-group modes.","exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"participants_per_session":{"description":"Source-grounded maximum participants in any session. Sample size cannot exceed session_count times this bound; no default group size is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"session_count":{"description":"Actual number of group sessions in the source records.","maximum":9007199254740991,"minimum":1,"type":"integer"},"session_duration_minutes":{"description":"Source-recorded duration of each group session in this declaration, not an alias for individual interview duration.","exclusiveMinimum":0,"type":"number"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"source_ref":{"maxLength":512,"minLength":1,"type":"string"}},"required":["source_ref","fields"],"type":"object"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Declared source origin. Explicit public/documentary sources are not caller fieldwork solely because evidence_type is survey. Conflicting explicit field origins still block; never relabel to pass.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for collector-administered modes, including groups. Group sample cannot exceed session_count times participants_per_session. All supplied aliases must agree; never invent a sample for documentary or self-administered evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label. Explicit field/public conflicts, including provenance_ledger.source_family, require reconciliation; one label cannot erase another.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Declared decision geography, not source geography. Supply district/districts or decision_scope_level country/subnational; subnational requires locality. A bounded Uganda target-name cross-check can require scope review, never insert districts or establish field coverage.","properties":{"city":{"description":"Declared target city.","type":"string"},"corridor":{"description":"Declared target corridor.","type":"string"},"country":{"description":"Declared target country, not the source country.","type":"string"},"decision_scope_level":{"description":"Explicit decision scope. Subnational needs declared locality. A country-only decision must be declared, not inferred from absent districts.","enum":["country","subnational"],"type":"string"},"district":{"description":"Nonblank target district; not verified source coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Target districts as nonblank strings; empty is allowed but does not declare subnational scope.","items":{"pattern":"\\S","type":"string"},"type":"array"},"micro_context":{"description":"Explicit local decision context.","type":"string"},"region":{"description":"Declared target region.","type":"string"},"town_or_zone":{"description":"Declared target town or zone.","type":"string"}},"type":"object"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"subject":{"additionalProperties":true,"description":"Resolved or supplied entity under assessment.","properties":{"entity_archetype":{"type":"string"},"entity_name":{"type":"string"},"sector":{"type":"string"}},"type":"object"},"target_claim":{"type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}⟨47 unchanged words⟩ "issues":{"items":{"properties":{"allowed_values":{"items":{"type":"string"},"type":"array"},"blocking":{"type":"boolean"},"code":{"description":"StableCodes:correctionFIELD_PROVENANCE_REQUIRED,code.FIELD_PROVENANCE_CONFLICT, FIELDWORK_CAPACITY_CONTRADICTION, SOURCE_INDEPENDENCE_CONTRADICTION, SOURCE_VERIFICATION_CONTRADICTION, FIELD_SOURCE_MODALITY_CONFLICT, DECISION_GEOGRAPHY_SCOPE_REQUIRED, DECISION_SCOPE_REQUIRED, DECISION_SCOPE_REVIEW_REQUIRED, DECISION_SCOPE_CROSS_CHECK_LIMIT, SOURCE_EXTRACTION_INVALID, SOURCE_EXTRACTION_REFERENCE_CONFLICT, ADVERSE_SOURCE_REVIEW_REQUIRED, INVALID_CLAIM_INPUT, OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY, ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Correct indexed evidence_input_feedback/evidence_fit paths and missing_fields against originals. INVALID_CLAIM_INPUT is HTTP 422 on claim-consuming REST routes; correct root or decision_result claim/citation paths in details/validation_errors without deleting adverse evidence. Never invent or relabel facts. Explicit adverse states need review, not approved support. These checks do not authenticate sources or authorize action. Recovery: /docs/mcp-integration.md.","type":"string"},"message":{ ⟨23 unchanged words⟩ "linkage_gaps":{"items":{"properties":{"allowed_values":{"items":{"type":"string"},"type":"array"},"blocking":{"type":"boolean"},"code":{"description":"StableCodes:correctionFIELD_PROVENANCE_REQUIRED,code.FIELD_PROVENANCE_CONFLICT, FIELDWORK_CAPACITY_CONTRADICTION, SOURCE_INDEPENDENCE_CONTRADICTION, SOURCE_VERIFICATION_CONTRADICTION, FIELD_SOURCE_MODALITY_CONFLICT, DECISION_GEOGRAPHY_SCOPE_REQUIRED, DECISION_SCOPE_REQUIRED, DECISION_SCOPE_REVIEW_REQUIRED, DECISION_SCOPE_CROSS_CHECK_LIMIT, SOURCE_EXTRACTION_INVALID, SOURCE_EXTRACTION_REFERENCE_CONFLICT, ADVERSE_SOURCE_REVIEW_REQUIRED, INVALID_CLAIM_INPUT, OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY, ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Correct indexed evidence_input_feedback/evidence_fit paths and missing_fields against originals. INVALID_CLAIM_INPUT is HTTP 422 on claim-consuming REST routes; correct root or decision_result claim/citation paths in details/validation_errors without deleting adverse evidence. Never invent or relabel facts. Explicit adverse states need review, not approved support. These checks do not authenticate sources or authorize action. Recovery: /docs/mcp-integration.md.
before
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Decision question, resolved subject, market scope, and evidence for a bounded recommendation or abstention.","properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"decision_stage":{"description":"Idea, pre-entry, pilot, launch, expansion, or scale stage.","type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Individual face-to-face/telephone collection also requires staffing, duration, total available minutes per collector and sample size. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for individual face-to-face/telephone interviews, not invented for documentary evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Individual face-to-face/telephone collection also requires staffing, duration, total available minutes per collector and sample size. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for individual face-to-face/telephone interviews, not invented for documentary evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Declared decision geography, not source geography. Supply district/districts or decision_scope_level country/subnational; subnational requires locality. No district is inferred from claim prose.","properties":{"city":{"description":"Declared target city.","type":"string"},"corridor":{"description":"Declared target corridor.","type":"string"},"country":{"description":"Declared target country, not the source country.","type":"string"},"decision_scope_level":{"description":"Explicit decision scope. Subnational needs declared locality. A country-only decision must be declared, not inferred from absent districts.","enum":["country","subnational"],"type":"string"},"district":{"description":"Nonblank target district; not verified source coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Target districts as nonblank strings; empty is allowed but does not declare subnational scope.","items":{"pattern":"\\S","type":"string"},"type":"array"},"micro_context":{"description":"Explicit local decision context.","type":"string"},"region":{"description":"Declared target region.","type":"string"},"town_or_zone":{"description":"Declared target town or zone.","type":"string"}},"type":"object"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"subject":{"additionalProperties":true,"description":"Resolved or supplied entity under assessment.","properties":{"entity_archetype":{"type":"string"},"entity_name":{"type":"string"},"sector":{"type":"string"}},"type":"object"},"target_claim":{"description":"Exact claim or readiness question to authorize, limit, or abstain on.","type":"string"},"target_use":{"description":"Internal planning, pilot design, customer-facing, investor-facing, or rollout use.","type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}before
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Entity and market context to canonicalize before evidence assessment.","minProperties":1,"properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"country":{"description":"ISO country code or country name when known.","type":"string"},"entity_archetype":{"description":"Known MVR archetype, if already identified.","type":"string"},"entity_name":{"description":"Venture, company, market actor, or hypothetical entity name.","type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Individual face-to-face/telephone collection also requires staffing, duration, total available minutes per collector and sample size. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for individual face-to-face/telephone interviews, not invented for documentary evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Individual face-to-face/telephone collection also requires staffing, duration, total available minutes per collector and sample size. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for individual face-to-face/telephone interviews, not invented for documentary evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Declared decision geography, not source geography. Supply district/districts or decision_scope_level country/subnational; subnational requires locality. No district is inferred from claim prose.","properties":{"city":{"description":"Declared target city.","type":"string"},"corridor":{"description":"Declared target corridor.","type":"string"},"country":{"description":"Declared target country, not the source country.","type":"string"},"decision_scope_level":{"description":"Explicit decision scope. Subnational needs declared locality. A country-only decision must be declared, not inferred from absent districts.","enum":["country","subnational"],"type":"string"},"district":{"description":"Nonblank target district; not verified source coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Target districts as nonblank strings; empty is allowed but does not declare subnational scope.","items":{"pattern":"\\S","type":"string"},"type":"array"},"micro_context":{"description":"Explicit local decision context.","type":"string"},"region":{"description":"Declared target region.","type":"string"},"town_or_zone":{"description":"Declared target town or zone.","type":"string"}},"type":"object"},"organization_type":{"description":"Founder, SME, corporate, investor, institution, or other operator type when relevant.","type":"string"},"query":{"description":"Free-text entity description when no stable name exists.","type":"string"},"sector":{"description":"Sector or operating category when known.","type":"string"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}before
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Evidence pack and decision context to test for missing proof.","properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"decision_stage":{"description":"Idea, pre-entry, pilot, launch, expansion, or scale stage.","type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Individual face-to-face/telephone collection also requires staffing, duration, total available minutes per collector and sample size. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for individual face-to-face/telephone interviews, not invented for documentary evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Individual face-to-face/telephone collection also requires staffing, duration, total available minutes per collector and sample size. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for individual face-to-face/telephone interviews, not invented for documentary evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Declared decision geography, not source geography. Supply district/districts or decision_scope_level country/subnational; subnational requires locality. No district is inferred from claim prose.","properties":{"city":{"description":"Declared target city.","type":"string"},"corridor":{"description":"Declared target corridor.","type":"string"},"country":{"description":"Declared target country, not the source country.","type":"string"},"decision_scope_level":{"description":"Explicit decision scope. Subnational needs declared locality. A country-only decision must be declared, not inferred from absent districts.","enum":["country","subnational"],"type":"string"},"district":{"description":"Nonblank target district; not verified source coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Target districts as nonblank strings; empty is allowed but does not declare subnational scope.","items":{"pattern":"\\S","type":"string"},"type":"array"},"micro_context":{"description":"Explicit local decision context.","type":"string"},"region":{"description":"Declared target region.","type":"string"},"town_or_zone":{"description":"Declared target town or zone.","type":"string"}},"type":"object"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"subject":{"additionalProperties":true,"description":"Resolved or supplied entity under assessment.","properties":{"entity_archetype":{"type":"string"},"entity_name":{"type":"string"},"sector":{"type":"string"}},"type":"object"},"target_claim":{"description":"Claim or readiness question the evidence is meant to support.","type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}before
{"additionalProperties":true,"properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"company_name":{"type":"string"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"country":{"type":"string"},"entity":{"type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Individual face-to-face/telephone collection also requires staffing, duration, total available minutes per collector and sample size. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for individual face-to-face/telephone interviews, not invented for documentary evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Individual face-to-face/telephone collection also requires staffing, duration, total available minutes per collector and sample size. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for individual face-to-face/telephone interviews, not invented for documentary evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"known_partners":{"items":{"type":"string"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Declared decision geography, not source geography. Supply district/districts or decision_scope_level country/subnational; subnational requires locality. No district is inferred from claim prose.","properties":{"city":{"description":"Declared target city.","type":"string"},"corridor":{"description":"Declared target corridor.","type":"string"},"country":{"description":"Declared target country, not the source country.","type":"string"},"decision_scope_level":{"description":"Explicit decision scope. Subnational needs declared locality. A country-only decision must be declared, not inferred from absent districts.","enum":["country","subnational"],"type":"string"},"district":{"description":"Nonblank target district; not verified source coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Target districts as nonblank strings; empty is allowed but does not declare subnational scope.","items":{"pattern":"\\S","type":"string"},"type":"array"},"micro_context":{"description":"Explicit local decision context.","type":"string"},"region":{"description":"Declared target region.","type":"string"},"town_or_zone":{"description":"Declared target town or zone.","type":"string"}},"type":"object"},"question":{"type":"string"},"sector":{"type":"string"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"target_users":{"type":"string"},"use_case":{"type":"string"}},"type":"object"}Changed the definition of "mvr_context_compile", "mvr_decision_check", "mvr_entity_resolve" and 2 more
⟨76 unchanged words⟩ : arguments.payload. evidence_pack: object array. String fields:id, claim,evidence_type, source_class, stakeholder_class, verification_status, source_date, source_doc_id. geography:string or object;string/object; evidence_geography: object; district: nonblank string; districts: nonblank strings array.Dates:ISOISO.dates. Omit unknown dates/references, never null or invented.Uncheckedverification_status:unverified.unverified if unchecked. *_role: original_source_record, independent_evaluation or human_attestation;otherwiseelse ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE.
Changed the definition of "mvr_context_compile", "mvr_decision_check", "mvr_entity_resolve" and 2 more
⟨70 unchanged words⟩ or personal identifiers. Evidence input location: arguments.payload.Full replacementevidence_pack: objectarray; retain workflow context.array. String fields: id, claim, evidence_type, source_class, stakeholder_class, verification_status,geography,source_date, source_doc_id. geography:source-countrystringstring;or object; evidence_geography:{country,city?,region?},object;alldistrict:strings.nonblank
Changed the definition of "mvr_context_compile", "mvr_decision_check", "mvr_entity_resolve" and 2 more
{"additionalProperties":true,"description":"Public preflight serves no calibration. Licensed calibration_disposition (calibration_retired or calibration_quarantined) prohibits serving or replacement; it does not verify source truth.","properties":{"claim_review":{"properties":{"blocking ⟨114 unchanged words⟩ "integer"}},"type":"object"},"code":{"description":"OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY","type":"string"},"continuation_disposition":{"enum":["call_now","await_input" ⟨397 unchanged words⟩ ,"options"],"type":"object"},"receipt_evidence_findings":{"items":{"additionalProperties":false,"properties":{"evidence_id":{"maxLength":160,"type":["string","null"]},"evidence_id_truncated":{"type":"boolean"},"marker":{"type":"string"},"path":{"description":"RFC 6901 JSON Pointer into the submitted body. Truncated pointers are not directly resolvable.","maxLength":1024,"type":"string"},"path_truncated":{"type":"boolean"}},"required":["path","evidence_id","marker","path_truncated","evidence_id_truncated"],"type":"object"},"maxItems":15,"type":"array"},"receipt_validation":{"properties":{"expiry":{"enum":["unknown"],"type":"string"},"performed":{"enum":[false],"type":"boolean"},"revocation":{"enum":["unknown"],"type":"string"},"status":{"enum":["not_checked"],"type":"string"},"validity":{"enum":["unknown"],"type":"string"}},"type":"object"},"required_user_inputs":{"items":{"type":"string" ⟨34 unchanged words⟩
Changed the definition of "mvr_first_call"
{"additionalProperties":true,"properties":{"activation_outcome":{"description":"relevance_unresolved: clarify scope.","type":"string"},"claim_review":{"properties" ⟨583 unchanged words⟩ },"type":"object"},"status":{"description":"awaiting_scope_clarification: ask scope.","type":"string"},"subject":{"type ⟨14 unchanged words⟩
Certificate recorded, valid to 2026-11-26
Authorization not required
Changed the definition of "mvr_context_compile", "mvr_decision_check", "mvr_entity_resolve" and 2 more
⟨66 unchanged words⟩ confidential datasets, secrets, credentials, or personal identifiers. Evidence input location: arguments.payload. Full replacement evidence_pack: object array; retain workflow context. String fields: id, claim, evidence_type, source_class, stakeholder_class, verification_status, geography, source_date, source_doc_id. geography: source-country string; evidence_geography: {country,city?,region?}, all strings. source_date: YYYY-MM-DD or ISO timestamp with timezone. Omit unknown dates/references, never null or invented. Unchecked: verification_status: unverified. Keep adverse facts in claim; formatting is not verification.
⟨142 unchanged words⟩ verified classification.","type":"string"},"evidence_field_guide":{"description":"Self-contained public evidence field types and unknown-metadata policy. Formatting guidance, not verification or authority.","type":"string"},"evidence_fit":{"properties":{"analysis_date":{"type ⟨101 unchanged words⟩ "issues_truncated":{"type":"boolean"},"warning_count
First tool surface recorded: 5 tools (server version v6.32.0)
Showing the latest 9 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
after
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Decision question, resolved subject, market scope, and evidence for a bounded recommendation or abstention.","properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"decision_stage":{"description":"Idea, pre-entry, pilot, launch, expansion, or scale stage.","type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Collector-administered modes require staffing, duration, available minutes per collector and sample size. Group modes additionally require session_count, participants_per_session, session_duration_minutes and collectors_per_session, never inferred from an individual interview duration. Online, observation and administrative_record modes require collection_administration; self-administered online and automated observation/record sources do not need invented collector capacity. Explicit public/documentary origins are not caller fieldwork solely because evidence_type is survey; conflicting explicit field origins still block. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collection_administration":{"description":"Source-grounded administration, required for online, observation and administrative_record modes. self_administered is supported for online; automated for observation or administrative_record. Face-to-face, telephone and group modes are collector-administered and cannot opt out.","enum":["collector_administered","self_administered","automated","unknown"],"type":"string"},"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"collectors_per_session":{"description":"Collectors required concurrently for each group session, drawn from enumerator_count. No default facilitator count is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"description":"Collector time per individual interview or per observed/processed sample record for collector-administered non-group modes.","exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"participants_per_session":{"description":"Source-grounded maximum participants in any session. Sample size cannot exceed session_count times this bound; no default group size is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"session_count":{"description":"Actual number of group sessions in the source records.","maximum":9007199254740991,"minimum":1,"type":"integer"},"session_duration_minutes":{"description":"Source-recorded duration of each group session in this declaration, not an alias for individual interview duration.","exclusiveMinimum":0,"type":"number"},"source_extraction":{"additionalProperties":false,"description":"Optional caller-supplied second reading of source facts for conflict comparison only. Not independently authenticated; cannot supply missing primary declarations or establish source authenticity.","properties":{"fields":{"additionalProperties":false,"properties":{"collection_administration":{"description":"Source-grounded administration, required for online, observation and administrative_record modes. self_administered is supported for online; automated for observation or administrative_record. Face-to-face, telephone and group modes are collector-administered and cannot opt out.","enum":["collector_administered","self_administered","automated","unknown"],"type":"string"},"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"collectors_per_session":{"description":"Collectors required concurrently for each group session, drawn from enumerator_count. No default facilitator count is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"description":"Collector time per individual interview or per observed/processed sample record for collector-administered non-group modes.","exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"participants_per_session":{"description":"Source-grounded maximum participants in any session. Sample size cannot exceed session_count times this bound; no default group size is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"session_count":{"description":"Actual number of group sessions in the source records.","maximum":9007199254740991,"minimum":1,"type":"integer"},"session_duration_minutes":{"description":"Source-recorded duration of each group session in this declaration, not an alias for individual interview duration.","exclusiveMinimum":0,"type":"number"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"source_ref":{"maxLength":512,"minLength":1,"type":"string"}},"required":["source_ref","fields"],"type":"object"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Declared source origin. Explicit public/documentary sources are not caller fieldwork solely because evidence_type is survey. Conflicting explicit field origins still block; never relabel to pass.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for collector-administered modes, including groups. Group sample cannot exceed session_count times participants_per_session. All supplied aliases must agree; never invent a sample for documentary or self-administered evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label. Explicit field/public conflicts, including provenance_ledger.source_family, require reconciliation; one label cannot erase another.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Collector-administered modes require staffing, duration, available minutes per collector and sample size. Group modes additionally require session_count, participants_per_session, session_duration_minutes and collectors_per_session, never inferred from an individual interview duration. Online, observation and administrative_record modes require collection_administration; self-administered online and automated observation/record sources do not need invented collector capacity. Explicit public/documentary origins are not caller fieldwork solely because evidence_type is survey; conflicting explicit field origins still block. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collection_administration":{"description":"Source-grounded administration, required for online, observation and administrative_record modes. self_administered is supported for online; automated for observation or administrative_record. Face-to-face, telephone and group modes are collector-administered and cannot opt out.","enum":["collector_administered","self_administered","automated","unknown"],"type":"string"},"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"collectors_per_session":{"description":"Collectors required concurrently for each group session, drawn from enumerator_count. No default facilitator count is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"description":"Collector time per individual interview or per observed/processed sample record for collector-administered non-group modes.","exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"participants_per_session":{"description":"Source-grounded maximum participants in any session. Sample size cannot exceed session_count times this bound; no default group size is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"session_count":{"description":"Actual number of group sessions in the source records.","maximum":9007199254740991,"minimum":1,"type":"integer"},"session_duration_minutes":{"description":"Source-recorded duration of each group session in this declaration, not an alias for individual interview duration.","exclusiveMinimum":0,"type":"number"},"source_extraction":{"additionalProperties":false,"description":"Optional caller-supplied second reading of source facts for conflict comparison only. Not independently authenticated; cannot supply missing primary declarations or establish source authenticity.","properties":{"fields":{"additionalProperties":false,"properties":{"collection_administration":{"description":"Source-grounded administration, required for online, observation and administrative_record modes. self_administered is supported for online; automated for observation or administrative_record. Face-to-face, telephone and group modes are collector-administered and cannot opt out.","enum":["collector_administered","self_administered","automated","unknown"],"type":"string"},"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"collectors_per_session":{"description":"Collectors required concurrently for each group session, drawn from enumerator_count. No default facilitator count is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"description":"Collector time per individual interview or per observed/processed sample record for collector-administered non-group modes.","exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"participants_per_session":{"description":"Source-grounded maximum participants in any session. Sample size cannot exceed session_count times this bound; no default group size is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"session_count":{"description":"Actual number of group sessions in the source records.","maximum":9007199254740991,"minimum":1,"type":"integer"},"session_duration_minutes":{"description":"Source-recorded duration of each group session in this declaration, not an alias for individual interview duration.","exclusiveMinimum":0,"type":"number"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"source_ref":{"maxLength":512,"minLength":1,"type":"string"}},"required":["source_ref","fields"],"type":"object"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Declared source origin. Explicit public/documentary sources are not caller fieldwork solely because evidence_type is survey. Conflicting explicit field origins still block; never relabel to pass.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for collector-administered modes, including groups. Group sample cannot exceed session_count times participants_per_session. All supplied aliases must agree; never invent a sample for documentary or self-administered evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label. Explicit field/public conflicts, including provenance_ledger.source_family, require reconciliation; one label cannot erase another.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Declared decision geography, not source geography. Supply district/districts or decision_scope_level country/subnational; subnational requires locality. A bounded Uganda target-name cross-check can require scope review, never insert districts or establish field coverage.","properties":{"city":{"description":"Declared target city.","type":"string"},"corridor":{"description":"Declared target corridor.","type":"string"},"country":{"description":"Declared target country, not the source country.","type":"string"},"decision_scope_level":{"description":"Explicit decision scope. Subnational needs declared locality. A country-only decision must be declared, not inferred from absent districts.","enum":["country","subnational"],"type":"string"},"district":{"description":"Nonblank target district; not verified source coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Target districts as nonblank strings; empty is allowed but does not declare subnational scope.","items":{"pattern":"\\S","type":"string"},"type":"array"},"micro_context":{"description":"Explicit local decision context.","type":"string"},"region":{"description":"Declared target region.","type":"string"},"town_or_zone":{"description":"Declared target town or zone.","type":"string"}},"type":"object"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"subject":{"additionalProperties":true,"description":"Resolved or supplied entity under assessment.","properties":{"entity_archetype":{"type":"string"},"entity_name":{"type":"string"},"sector":{"type":"string"}},"type":"object"},"target_claim":{"description":"Exact claim or readiness question to authorize, limit, or abstain on.","type":"string"},"target_use":{"description":"Internal planning, pilot design, customer-facing, investor-facing, or rollout use.","type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}⟨47 unchanged words⟩ "issues":{"items":{"properties":{"allowed_values":{"items":{"type":"string"},"type":"array"},"blocking":{"type":"boolean"},"code":{"description":"StableCodes:correctionFIELD_PROVENANCE_REQUIRED,code.FIELD_PROVENANCE_CONFLICT, FIELDWORK_CAPACITY_CONTRADICTION, SOURCE_INDEPENDENCE_CONTRADICTION, SOURCE_VERIFICATION_CONTRADICTION, FIELD_SOURCE_MODALITY_CONFLICT, DECISION_GEOGRAPHY_SCOPE_REQUIRED, DECISION_SCOPE_REQUIRED, DECISION_SCOPE_REVIEW_REQUIRED, DECISION_SCOPE_CROSS_CHECK_LIMIT, SOURCE_EXTRACTION_INVALID, SOURCE_EXTRACTION_REFERENCE_CONFLICT, ADVERSE_SOURCE_REVIEW_REQUIRED, INVALID_CLAIM_INPUT, OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY, ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Correct indexed evidence_input_feedback/evidence_fit paths and missing_fields against originals. INVALID_CLAIM_INPUT is HTTP 422 on claim-consuming REST routes; correct root or decision_result claim/citation paths in details/validation_errors without deleting adverse evidence. Never invent or relabel facts. Explicit adverse states need review, not approved support. These checks do not authenticate sources or authorize action. Recovery: /docs/mcp-integration.md.","type":"string"},"message":{ ⟨23 unchanged words⟩ "linkage_gaps":{"items":{"properties":{"allowed_values":{"items":{"type":"string"},"type":"array"},"blocking":{"type":"boolean"},"code":{"description":"StableCodes:correctionFIELD_PROVENANCE_REQUIRED,code.FIELD_PROVENANCE_CONFLICT, FIELDWORK_CAPACITY_CONTRADICTION, SOURCE_INDEPENDENCE_CONTRADICTION, SOURCE_VERIFICATION_CONTRADICTION, FIELD_SOURCE_MODALITY_CONFLICT, DECISION_GEOGRAPHY_SCOPE_REQUIRED, DECISION_SCOPE_REQUIRED, DECISION_SCOPE_REVIEW_REQUIRED, DECISION_SCOPE_CROSS_CHECK_LIMIT, SOURCE_EXTRACTION_INVALID, SOURCE_EXTRACTION_REFERENCE_CONFLICT, ADVERSE_SOURCE_REVIEW_REQUIRED, INVALID_CLAIM_INPUT, OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY, ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Correct indexed evidence_input_feedback/evidence_fit paths and missing_fields against originals. INVALID_CLAIM_INPUT is HTTP 422 on claim-consuming REST routes; correct root or decision_result claim/citation paths in details/validation_errors without deleting adverse evidence. Never invent or relabel facts. Explicit adverse states need review, not approved support. These checks do not authenticate sources or authorize action. Recovery: /docs/mcp-integration.md.","type":"string"},"message":{ ⟨45 unchanged words⟩ :"object"},"code":{"description":"Codes: FIELD_PROVENANCE_REQUIRED, FIELD_PROVENANCE_CONFLICT, FIELDWORK_CAPACITY_CONTRADICTION, SOURCE_INDEPENDENCE_CONTRADICTION, SOURCE_VERIFICATION_CONTRADICTION, FIELD_SOURCE_MODALITY_CONFLICT, DECISION_GEOGRAPHY_SCOPE_REQUIRED, DECISION_SCOPE_REQUIRED, DECISION_SCOPE_REVIEW_REQUIRED, DECISION_SCOPE_CROSS_CHECK_LIMIT, SOURCE_EXTRACTION_INVALID, SOURCE_EXTRACTION_REFERENCE_CONFLICT, ADVERSE_SOURCE_REVIEW_REQUIRED, INVALID_CLAIM_INPUT, OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY, ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Correct indexed evidence_input_feedback/evidence_fit paths and missing_fields against originals. INVALID_CLAIM_INPUT is HTTP 422 on claim-consuming REST routes; correct root or decision_result claim/citation paths in details/validation_errors without deleting adverse evidence. Never invent or relabel facts. Explicit adverse states need review, not approved support. These checks do not authenticate sources or authorize action. Recovery: /docs/mcp-integration.md.","type":"string"},"continuation_disposition":{ ⟨76 unchanged words⟩ "issues":{"items":{"properties":{"allowed_values":{"items":{"type":"string"},"type":"array"},"blocking":{"type":"boolean"},"code":{"description":"StableCodes:correctionFIELD_PROVENANCE_REQUIRED,code.FIELD_PROVENANCE_CONFLICT, FIELDWORK_CAPACITY_CONTRADICTION, SOURCE_INDEPENDENCE_CONTRADICTION, SOURCE_VERIFICATION_CONTRADICTION, FIELD_SOURCE_MODALITY_CONFLICT, DECISION_GEOGRAPHY_SCOPE_REQUIRED, DECISION_SCOPE_REQUIRED, DECISION_SCOPE_REVIEW_REQUIRED, DECISION_SCOPE_CROSS_CHECK_LIMIT, SOURCE_EXTRACTION_INVALID, SOURCE_EXTRACTION_REFERENCE_CONFLICT, ADVERSE_SOURCE_REVIEW_REQUIRED, INVALID_CLAIM_INPUT, OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY, ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Correct indexed evidence_input_feedback/evidence_fit paths and missing_fields against originals. INVALID_CLAIM_INPUT is HTTP 422 on claim-consuming REST routes; correct root or decision_result claim/citation paths in details/validation_errors without deleting adverse evidence. Never invent or relabel facts. Explicit adverse states need review, not approved support. These checks do not authenticate sources or authorize action. Recovery: /docs/mcp-integration.md.","type":"string"},"message":{ ⟨45 unchanged words⟩ "issues":{"items":{"properties":{"allowed_values":{"items":{"type":"string"},"type":"array"},"blocking":{"type":"boolean"},"code":{"description":"StableCodes:correctionFIELD_PROVENANCE_REQUIRED,code.FIELD_PROVENANCE_CONFLICT, FIELDWORK_CAPACITY_CONTRADICTION, SOURCE_INDEPENDENCE_CONTRADICTION, SOURCE_VERIFICATION_CONTRADICTION, FIELD_SOURCE_MODALITY_CONFLICT, DECISION_GEOGRAPHY_SCOPE_REQUIRED, DECISION_SCOPE_REQUIRED, DECISION_SCOPE_REVIEW_REQUIRED, DECISION_SCOPE_CROSS_CHECK_LIMIT, SOURCE_EXTRACTION_INVALID, SOURCE_EXTRACTION_REFERENCE_CONFLICT, ADVERSE_SOURCE_REVIEW_REQUIRED, INVALID_CLAIM_INPUT, OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY, ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Correct indexed evidence_input_feedback/evidence_fit paths and missing_fields against originals. INVALID_CLAIM_INPUT is HTTP 422 on claim-consuming REST routes; correct root or decision_result claim/citation paths in details/validation_errors without deleting adverse evidence. Never invent or relabel facts. Explicit adverse states need review, not approved support. These checks do not authenticate sources or authorize action. Recovery: /docs/mcp-integration.md.","type":"string"},"message":{ ⟨430 unchanged words⟩
after
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Entity and market context to canonicalize before evidence assessment.","minProperties":1,"properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"country":{"description":"ISO country code or country name when known.","type":"string"},"entity_archetype":{"description":"Known MVR archetype, if already identified.","type":"string"},"entity_name":{"description":"Venture, company, market actor, or hypothetical entity name.","type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Collector-administered modes require staffing, duration, available minutes per collector and sample size. Group modes additionally require session_count, participants_per_session, session_duration_minutes and collectors_per_session, never inferred from an individual interview duration. Online, observation and administrative_record modes require collection_administration; self-administered online and automated observation/record sources do not need invented collector capacity. Explicit public/documentary origins are not caller fieldwork solely because evidence_type is survey; conflicting explicit field origins still block. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collection_administration":{"description":"Source-grounded administration, required for online, observation and administrative_record modes. self_administered is supported for online; automated for observation or administrative_record. Face-to-face, telephone and group modes are collector-administered and cannot opt out.","enum":["collector_administered","self_administered","automated","unknown"],"type":"string"},"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"collectors_per_session":{"description":"Collectors required concurrently for each group session, drawn from enumerator_count. No default facilitator count is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"description":"Collector time per individual interview or per observed/processed sample record for collector-administered non-group modes.","exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"participants_per_session":{"description":"Source-grounded maximum participants in any session. Sample size cannot exceed session_count times this bound; no default group size is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"session_count":{"description":"Actual number of group sessions in the source records.","maximum":9007199254740991,"minimum":1,"type":"integer"},"session_duration_minutes":{"description":"Source-recorded duration of each group session in this declaration, not an alias for individual interview duration.","exclusiveMinimum":0,"type":"number"},"source_extraction":{"additionalProperties":false,"description":"Optional caller-supplied second reading of source facts for conflict comparison only. Not independently authenticated; cannot supply missing primary declarations or establish source authenticity.","properties":{"fields":{"additionalProperties":false,"properties":{"collection_administration":{"description":"Source-grounded administration, required for online, observation and administrative_record modes. self_administered is supported for online; automated for observation or administrative_record. Face-to-face, telephone and group modes are collector-administered and cannot opt out.","enum":["collector_administered","self_administered","automated","unknown"],"type":"string"},"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"collectors_per_session":{"description":"Collectors required concurrently for each group session, drawn from enumerator_count. No default facilitator count is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"description":"Collector time per individual interview or per observed/processed sample record for collector-administered non-group modes.","exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"participants_per_session":{"description":"Source-grounded maximum participants in any session. Sample size cannot exceed session_count times this bound; no default group size is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"session_count":{"description":"Actual number of group sessions in the source records.","maximum":9007199254740991,"minimum":1,"type":"integer"},"session_duration_minutes":{"description":"Source-recorded duration of each group session in this declaration, not an alias for individual interview duration.","exclusiveMinimum":0,"type":"number"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"source_ref":{"maxLength":512,"minLength":1,"type":"string"}},"required":["source_ref","fields"],"type":"object"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Declared source origin. Explicit public/documentary sources are not caller fieldwork solely because evidence_type is survey. Conflicting explicit field origins still block; never relabel to pass.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for collector-administered modes, including groups. Group sample cannot exceed session_count times participants_per_session. All supplied aliases must agree; never invent a sample for documentary or self-administered evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label. Explicit field/public conflicts, including provenance_ledger.source_family, require reconciliation; one label cannot erase another.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Collector-administered modes require staffing, duration, available minutes per collector and sample size. Group modes additionally require session_count, participants_per_session, session_duration_minutes and collectors_per_session, never inferred from an individual interview duration. Online, observation and administrative_record modes require collection_administration; self-administered online and automated observation/record sources do not need invented collector capacity. Explicit public/documentary origins are not caller fieldwork solely because evidence_type is survey; conflicting explicit field origins still block. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collection_administration":{"description":"Source-grounded administration, required for online, observation and administrative_record modes. self_administered is supported for online; automated for observation or administrative_record. Face-to-face, telephone and group modes are collector-administered and cannot opt out.","enum":["collector_administered","self_administered","automated","unknown"],"type":"string"},"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"collectors_per_session":{"description":"Collectors required concurrently for each group session, drawn from enumerator_count. No default facilitator count is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"description":"Collector time per individual interview or per observed/processed sample record for collector-administered non-group modes.","exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"participants_per_session":{"description":"Source-grounded maximum participants in any session. Sample size cannot exceed session_count times this bound; no default group size is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"session_count":{"description":"Actual number of group sessions in the source records.","maximum":9007199254740991,"minimum":1,"type":"integer"},"session_duration_minutes":{"description":"Source-recorded duration of each group session in this declaration, not an alias for individual interview duration.","exclusiveMinimum":0,"type":"number"},"source_extraction":{"additionalProperties":false,"description":"Optional caller-supplied second reading of source facts for conflict comparison only. Not independently authenticated; cannot supply missing primary declarations or establish source authenticity.","properties":{"fields":{"additionalProperties":false,"properties":{"collection_administration":{"description":"Source-grounded administration, required for online, observation and administrative_record modes. self_administered is supported for online; automated for observation or administrative_record. Face-to-face, telephone and group modes are collector-administered and cannot opt out.","enum":["collector_administered","self_administered","automated","unknown"],"type":"string"},"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"collectors_per_session":{"description":"Collectors required concurrently for each group session, drawn from enumerator_count. No default facilitator count is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"description":"Collector time per individual interview or per observed/processed sample record for collector-administered non-group modes.","exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"participants_per_session":{"description":"Source-grounded maximum participants in any session. Sample size cannot exceed session_count times this bound; no default group size is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"session_count":{"description":"Actual number of group sessions in the source records.","maximum":9007199254740991,"minimum":1,"type":"integer"},"session_duration_minutes":{"description":"Source-recorded duration of each group session in this declaration, not an alias for individual interview duration.","exclusiveMinimum":0,"type":"number"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"source_ref":{"maxLength":512,"minLength":1,"type":"string"}},"required":["source_ref","fields"],"type":"object"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Declared source origin. Explicit public/documentary sources are not caller fieldwork solely because evidence_type is survey. Conflicting explicit field origins still block; never relabel to pass.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for collector-administered modes, including groups. Group sample cannot exceed session_count times participants_per_session. All supplied aliases must agree; never invent a sample for documentary or self-administered evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label. Explicit field/public conflicts, including provenance_ledger.source_family, require reconciliation; one label cannot erase another.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Declared decision geography, not source geography. Supply district/districts or decision_scope_level country/subnational; subnational requires locality. A bounded Uganda target-name cross-check can require scope review, never insert districts or establish field coverage.","properties":{"city":{"description":"Declared target city.","type":"string"},"corridor":{"description":"Declared target corridor.","type":"string"},"country":{"description":"Declared target country, not the source country.","type":"string"},"decision_scope_level":{"description":"Explicit decision scope. Subnational needs declared locality. A country-only decision must be declared, not inferred from absent districts.","enum":["country","subnational"],"type":"string"},"district":{"description":"Nonblank target district; not verified source coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Target districts as nonblank strings; empty is allowed but does not declare subnational scope.","items":{"pattern":"\\S","type":"string"},"type":"array"},"micro_context":{"description":"Explicit local decision context.","type":"string"},"region":{"description":"Declared target region.","type":"string"},"town_or_zone":{"description":"Declared target town or zone.","type":"string"}},"type":"object"},"organization_type":{"description":"Founder, SME, corporate, investor, institution, or other operator type when relevant.","type":"string"},"query":{"description":"Free-text entity description when no stable name exists.","type":"string"},"sector":{"description":"Sector or operating category when known.","type":"string"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}⟨51 unchanged words⟩ "issues":{"items":{"properties":{"allowed_values":{"items":{"type":"string"},"type":"array"},"blocking":{"type":"boolean"},"code":{"description":"StableCodes:correctionFIELD_PROVENANCE_REQUIRED,code.FIELD_PROVENANCE_CONFLICT, FIELDWORK_CAPACITY_CONTRADICTION, SOURCE_INDEPENDENCE_CONTRADICTION, SOURCE_VERIFICATION_CONTRADICTION, FIELD_SOURCE_MODALITY_CONFLICT, DECISION_GEOGRAPHY_SCOPE_REQUIRED, DECISION_SCOPE_REQUIRED, DECISION_SCOPE_REVIEW_REQUIRED, DECISION_SCOPE_CROSS_CHECK_LIMIT, SOURCE_EXTRACTION_INVALID, SOURCE_EXTRACTION_REFERENCE_CONFLICT, ADVERSE_SOURCE_REVIEW_REQUIRED, INVALID_CLAIM_INPUT, OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY, ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Correct indexed evidence_input_feedback/evidence_fit paths and missing_fields against originals. INVALID_CLAIM_INPUT is HTTP 422 on claim-consuming REST routes; correct root or decision_result claim/citation paths in details/validation_errors without deleting adverse evidence. Never invent or relabel facts. Explicit adverse states need review, not approved support. These checks do not authenticate sources or authorize action. Recovery: /docs/mcp-integration.md.","type":"string"},"message":{ ⟨23 unchanged words⟩ "linkage_gaps":{"items":{"properties":{"allowed_values":{"items":{"type":"string"},"type":"array"},"blocking":{"type":"boolean"},"code":{"description":"StableCodes:correctionFIELD_PROVENANCE_REQUIRED,code.FIELD_PROVENANCE_CONFLICT, FIELDWORK_CAPACITY_CONTRADICTION, SOURCE_INDEPENDENCE_CONTRADICTION, SOURCE_VERIFICATION_CONTRADICTION, FIELD_SOURCE_MODALITY_CONFLICT, DECISION_GEOGRAPHY_SCOPE_REQUIRED, DECISION_SCOPE_REQUIRED, DECISION_SCOPE_REVIEW_REQUIRED, DECISION_SCOPE_CROSS_CHECK_LIMIT, SOURCE_EXTRACTION_INVALID, SOURCE_EXTRACTION_REFERENCE_CONFLICT, ADVERSE_SOURCE_REVIEW_REQUIRED, INVALID_CLAIM_INPUT, OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY, ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Correct indexed evidence_input_feedback/evidence_fit paths and missing_fields against originals. INVALID_CLAIM_INPUT is HTTP 422 on claim-consuming REST routes; correct root or decision_result claim/citation paths in details/validation_errors without deleting adverse evidence. Never invent or relabel facts. Explicit adverse states need review, not approved support. These checks do not authenticate sources or authorize action. Recovery: /docs/mcp-integration.md.","type":"string"},"message":{ ⟨45 unchanged words⟩ :"object"},"code":{"description":"Codes: FIELD_PROVENANCE_REQUIRED, FIELD_PROVENANCE_CONFLICT, FIELDWORK_CAPACITY_CONTRADICTION, SOURCE_INDEPENDENCE_CONTRADICTION, SOURCE_VERIFICATION_CONTRADICTION, FIELD_SOURCE_MODALITY_CONFLICT, DECISION_GEOGRAPHY_SCOPE_REQUIRED, DECISION_SCOPE_REQUIRED, DECISION_SCOPE_REVIEW_REQUIRED, DECISION_SCOPE_CROSS_CHECK_LIMIT, SOURCE_EXTRACTION_INVALID, SOURCE_EXTRACTION_REFERENCE_CONFLICT, ADVERSE_SOURCE_REVIEW_REQUIRED, INVALID_CLAIM_INPUT, OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY, ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Correct indexed evidence_input_feedback/evidence_fit paths and missing_fields against originals. INVALID_CLAIM_INPUT is HTTP 422 on claim-consuming REST routes; correct root or decision_result claim/citation paths in details/validation_errors without deleting adverse evidence. Never invent or relabel facts. Explicit adverse states need review, not approved support. These checks do not authenticate sources or authorize action. Recovery: /docs/mcp-integration.md.","type":"string"},"continuation_disposition":{ ⟨76 unchanged words⟩ "issues":{"items":{"properties":{"allowed_values":{"items":{"type":"string"},"type":"array"},"blocking":{"type":"boolean"},"code":{"description":"StableCodes:correctionFIELD_PROVENANCE_REQUIRED,code.FIELD_PROVENANCE_CONFLICT, FIELDWORK_CAPACITY_CONTRADICTION, SOURCE_INDEPENDENCE_CONTRADICTION, SOURCE_VERIFICATION_CONTRADICTION, FIELD_SOURCE_MODALITY_CONFLICT, DECISION_GEOGRAPHY_SCOPE_REQUIRED, DECISION_SCOPE_REQUIRED, DECISION_SCOPE_REVIEW_REQUIRED, DECISION_SCOPE_CROSS_CHECK_LIMIT, SOURCE_EXTRACTION_INVALID, SOURCE_EXTRACTION_REFERENCE_CONFLICT, ADVERSE_SOURCE_REVIEW_REQUIRED, INVALID_CLAIM_INPUT, OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY, ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Correct indexed evidence_input_feedback/evidence_fit paths and missing_fields against originals. INVALID_CLAIM_INPUT is HTTP 422 on claim-consuming REST routes; correct root or decision_result claim/citation paths in details/validation_errors without deleting adverse evidence. Never invent or relabel facts. Explicit adverse states need review, not approved support. These checks do not authenticate sources or authorize action. Recovery: /docs/mcp-integration.md.","type":"string"},"message":{ ⟨39 unchanged words⟩ "issues":{"items":{"properties":{"allowed_values":{"items":{"type":"string"},"type":"array"},"blocking":{"type":"boolean"},"code":{"description":"StableCodes:correctionFIELD_PROVENANCE_REQUIRED,code.FIELD_PROVENANCE_CONFLICT, FIELDWORK_CAPACITY_CONTRADICTION, SOURCE_INDEPENDENCE_CONTRADICTION, SOURCE_VERIFICATION_CONTRADICTION, FIELD_SOURCE_MODALITY_CONFLICT, DECISION_GEOGRAPHY_SCOPE_REQUIRED, DECISION_SCOPE_REQUIRED, DECISION_SCOPE_REVIEW_REQUIRED, DECISION_SCOPE_CROSS_CHECK_LIMIT, SOURCE_EXTRACTION_INVALID, SOURCE_EXTRACTION_REFERENCE_CONFLICT, ADVERSE_SOURCE_REVIEW_REQUIRED, INVALID_CLAIM_INPUT, OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY, ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Correct indexed evidence_input_feedback/evidence_fit paths and missing_fields against originals. INVALID_CLAIM_INPUT is HTTP 422 on claim-consuming REST routes; correct root or decision_result claim/citation paths in details/validation_errors without deleting adverse evidence. Never invent or relabel facts. Explicit adverse states need review, not approved support. These checks do not authenticate sources or authorize action. Recovery: /docs/mcp-integration.md.","type":"string"},"message":{ ⟨412 unchanged words⟩
after
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Evidence pack and decision context to test for missing proof.","properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"decision_stage":{"description":"Idea, pre-entry, pilot, launch, expansion, or scale stage.","type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Collector-administered modes require staffing, duration, available minutes per collector and sample size. Group modes additionally require session_count, participants_per_session, session_duration_minutes and collectors_per_session, never inferred from an individual interview duration. Online, observation and administrative_record modes require collection_administration; self-administered online and automated observation/record sources do not need invented collector capacity. Explicit public/documentary origins are not caller fieldwork solely because evidence_type is survey; conflicting explicit field origins still block. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collection_administration":{"description":"Source-grounded administration, required for online, observation and administrative_record modes. self_administered is supported for online; automated for observation or administrative_record. Face-to-face, telephone and group modes are collector-administered and cannot opt out.","enum":["collector_administered","self_administered","automated","unknown"],"type":"string"},"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"collectors_per_session":{"description":"Collectors required concurrently for each group session, drawn from enumerator_count. No default facilitator count is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"description":"Collector time per individual interview or per observed/processed sample record for collector-administered non-group modes.","exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"participants_per_session":{"description":"Source-grounded maximum participants in any session. Sample size cannot exceed session_count times this bound; no default group size is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"session_count":{"description":"Actual number of group sessions in the source records.","maximum":9007199254740991,"minimum":1,"type":"integer"},"session_duration_minutes":{"description":"Source-recorded duration of each group session in this declaration, not an alias for individual interview duration.","exclusiveMinimum":0,"type":"number"},"source_extraction":{"additionalProperties":false,"description":"Optional caller-supplied second reading of source facts for conflict comparison only. Not independently authenticated; cannot supply missing primary declarations or establish source authenticity.","properties":{"fields":{"additionalProperties":false,"properties":{"collection_administration":{"description":"Source-grounded administration, required for online, observation and administrative_record modes. self_administered is supported for online; automated for observation or administrative_record. Face-to-face, telephone and group modes are collector-administered and cannot opt out.","enum":["collector_administered","self_administered","automated","unknown"],"type":"string"},"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"collectors_per_session":{"description":"Collectors required concurrently for each group session, drawn from enumerator_count. No default facilitator count is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"description":"Collector time per individual interview or per observed/processed sample record for collector-administered non-group modes.","exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"participants_per_session":{"description":"Source-grounded maximum participants in any session. Sample size cannot exceed session_count times this bound; no default group size is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"session_count":{"description":"Actual number of group sessions in the source records.","maximum":9007199254740991,"minimum":1,"type":"integer"},"session_duration_minutes":{"description":"Source-recorded duration of each group session in this declaration, not an alias for individual interview duration.","exclusiveMinimum":0,"type":"number"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"source_ref":{"maxLength":512,"minLength":1,"type":"string"}},"required":["source_ref","fields"],"type":"object"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Declared source origin. Explicit public/documentary sources are not caller fieldwork solely because evidence_type is survey. Conflicting explicit field origins still block; never relabel to pass.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for collector-administered modes, including groups. Group sample cannot exceed session_count times participants_per_session. All supplied aliases must agree; never invent a sample for documentary or self-administered evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label. Explicit field/public conflicts, including provenance_ledger.source_family, require reconciliation; one label cannot erase another.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Collector-administered modes require staffing, duration, available minutes per collector and sample size. Group modes additionally require session_count, participants_per_session, session_duration_minutes and collectors_per_session, never inferred from an individual interview duration. Online, observation and administrative_record modes require collection_administration; self-administered online and automated observation/record sources do not need invented collector capacity. Explicit public/documentary origins are not caller fieldwork solely because evidence_type is survey; conflicting explicit field origins still block. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collection_administration":{"description":"Source-grounded administration, required for online, observation and administrative_record modes. self_administered is supported for online; automated for observation or administrative_record. Face-to-face, telephone and group modes are collector-administered and cannot opt out.","enum":["collector_administered","self_administered","automated","unknown"],"type":"string"},"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"collectors_per_session":{"description":"Collectors required concurrently for each group session, drawn from enumerator_count. No default facilitator count is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"description":"Collector time per individual interview or per observed/processed sample record for collector-administered non-group modes.","exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"participants_per_session":{"description":"Source-grounded maximum participants in any session. Sample size cannot exceed session_count times this bound; no default group size is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"session_count":{"description":"Actual number of group sessions in the source records.","maximum":9007199254740991,"minimum":1,"type":"integer"},"session_duration_minutes":{"description":"Source-recorded duration of each group session in this declaration, not an alias for individual interview duration.","exclusiveMinimum":0,"type":"number"},"source_extraction":{"additionalProperties":false,"description":"Optional caller-supplied second reading of source facts for conflict comparison only. Not independently authenticated; cannot supply missing primary declarations or establish source authenticity.","properties":{"fields":{"additionalProperties":false,"properties":{"collection_administration":{"description":"Source-grounded administration, required for online, observation and administrative_record modes. self_administered is supported for online; automated for observation or administrative_record. Face-to-face, telephone and group modes are collector-administered and cannot opt out.","enum":["collector_administered","self_administered","automated","unknown"],"type":"string"},"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"collectors_per_session":{"description":"Collectors required concurrently for each group session, drawn from enumerator_count. No default facilitator count is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"description":"Collector time per individual interview or per observed/processed sample record for collector-administered non-group modes.","exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"participants_per_session":{"description":"Source-grounded maximum participants in any session. Sample size cannot exceed session_count times this bound; no default group size is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"session_count":{"description":"Actual number of group sessions in the source records.","maximum":9007199254740991,"minimum":1,"type":"integer"},"session_duration_minutes":{"description":"Source-recorded duration of each group session in this declaration, not an alias for individual interview duration.","exclusiveMinimum":0,"type":"number"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"source_ref":{"maxLength":512,"minLength":1,"type":"string"}},"required":["source_ref","fields"],"type":"object"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Declared source origin. Explicit public/documentary sources are not caller fieldwork solely because evidence_type is survey. Conflicting explicit field origins still block; never relabel to pass.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for collector-administered modes, including groups. Group sample cannot exceed session_count times participants_per_session. All supplied aliases must agree; never invent a sample for documentary or self-administered evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label. Explicit field/public conflicts, including provenance_ledger.source_family, require reconciliation; one label cannot erase another.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Declared decision geography, not source geography. Supply district/districts or decision_scope_level country/subnational; subnational requires locality. A bounded Uganda target-name cross-check can require scope review, never insert districts or establish field coverage.","properties":{"city":{"description":"Declared target city.","type":"string"},"corridor":{"description":"Declared target corridor.","type":"string"},"country":{"description":"Declared target country, not the source country.","type":"string"},"decision_scope_level":{"description":"Explicit decision scope. Subnational needs declared locality. A country-only decision must be declared, not inferred from absent districts.","enum":["country","subnational"],"type":"string"},"district":{"description":"Nonblank target district; not verified source coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Target districts as nonblank strings; empty is allowed but does not declare subnational scope.","items":{"pattern":"\\S","type":"string"},"type":"array"},"micro_context":{"description":"Explicit local decision context.","type":"string"},"region":{"description":"Declared target region.","type":"string"},"town_or_zone":{"description":"Declared target town or zone.","type":"string"}},"type":"object"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"subject":{"additionalProperties":true,"description":"Resolved or supplied entity under assessment.","properties":{"entity_archetype":{"type":"string"},"entity_name":{"type":"string"},"sector":{"type":"string"}},"type":"object"},"target_claim":{"description":"Claim or readiness question the evidence is meant to support.","type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}⟨47 unchanged words⟩ "issues":{"items":{"properties":{"allowed_values":{"items":{"type":"string"},"type":"array"},"blocking":{"type":"boolean"},"code":{"description":"StableCodes:correctionFIELD_PROVENANCE_REQUIRED,code.FIELD_PROVENANCE_CONFLICT, FIELDWORK_CAPACITY_CONTRADICTION, SOURCE_INDEPENDENCE_CONTRADICTION, SOURCE_VERIFICATION_CONTRADICTION, FIELD_SOURCE_MODALITY_CONFLICT, DECISION_GEOGRAPHY_SCOPE_REQUIRED, DECISION_SCOPE_REQUIRED, DECISION_SCOPE_REVIEW_REQUIRED, DECISION_SCOPE_CROSS_CHECK_LIMIT, SOURCE_EXTRACTION_INVALID, SOURCE_EXTRACTION_REFERENCE_CONFLICT, ADVERSE_SOURCE_REVIEW_REQUIRED, INVALID_CLAIM_INPUT, OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY, ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Correct indexed evidence_input_feedback/evidence_fit paths and missing_fields against originals. INVALID_CLAIM_INPUT is HTTP 422 on claim-consuming REST routes; correct root or decision_result claim/citation paths in details/validation_errors without deleting adverse evidence. Never invent or relabel facts. Explicit adverse states need review, not approved support. These checks do not authenticate sources or authorize action. Recovery: /docs/mcp-integration.md.","type":"string"},"message":{ ⟨23 unchanged words⟩ "linkage_gaps":{"items":{"properties":{"allowed_values":{"items":{"type":"string"},"type":"array"},"blocking":{"type":"boolean"},"code":{"description":"StableCodes:correctionFIELD_PROVENANCE_REQUIRED,code.FIELD_PROVENANCE_CONFLICT, FIELDWORK_CAPACITY_CONTRADICTION, SOURCE_INDEPENDENCE_CONTRADICTION, SOURCE_VERIFICATION_CONTRADICTION, FIELD_SOURCE_MODALITY_CONFLICT, DECISION_GEOGRAPHY_SCOPE_REQUIRED, DECISION_SCOPE_REQUIRED, DECISION_SCOPE_REVIEW_REQUIRED, DECISION_SCOPE_CROSS_CHECK_LIMIT, SOURCE_EXTRACTION_INVALID, SOURCE_EXTRACTION_REFERENCE_CONFLICT, ADVERSE_SOURCE_REVIEW_REQUIRED, INVALID_CLAIM_INPUT, OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY, ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Correct indexed evidence_input_feedback/evidence_fit paths and missing_fields against originals. INVALID_CLAIM_INPUT is HTTP 422 on claim-consuming REST routes; correct root or decision_result claim/citation paths in details/validation_errors without deleting adverse evidence. Never invent or relabel facts. Explicit adverse states need review, not approved support. These checks do not authenticate sources or authorize action. Recovery: /docs/mcp-integration.md.","type":"string"},"message":{ ⟨45 unchanged words⟩ :"object"},"code":{"description":"Codes: FIELD_PROVENANCE_REQUIRED, FIELD_PROVENANCE_CONFLICT, FIELDWORK_CAPACITY_CONTRADICTION, SOURCE_INDEPENDENCE_CONTRADICTION, SOURCE_VERIFICATION_CONTRADICTION, FIELD_SOURCE_MODALITY_CONFLICT, DECISION_GEOGRAPHY_SCOPE_REQUIRED, DECISION_SCOPE_REQUIRED, DECISION_SCOPE_REVIEW_REQUIRED, DECISION_SCOPE_CROSS_CHECK_LIMIT, SOURCE_EXTRACTION_INVALID, SOURCE_EXTRACTION_REFERENCE_CONFLICT, ADVERSE_SOURCE_REVIEW_REQUIRED, INVALID_CLAIM_INPUT, OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY, ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Correct indexed evidence_input_feedback/evidence_fit paths and missing_fields against originals. INVALID_CLAIM_INPUT is HTTP 422 on claim-consuming REST routes; correct root or decision_result claim/citation paths in details/validation_errors without deleting adverse evidence. Never invent or relabel facts. Explicit adverse states need review, not approved support. These checks do not authenticate sources or authorize action. Recovery: /docs/mcp-integration.md.","type":"string"},"continuation_disposition":{ ⟨79 unchanged words⟩ "issues":{"items":{"properties":{"allowed_values":{"items":{"type":"string"},"type":"array"},"blocking":{"type":"boolean"},"code":{"description":"StableCodes:correctionFIELD_PROVENANCE_REQUIRED,code.FIELD_PROVENANCE_CONFLICT, FIELDWORK_CAPACITY_CONTRADICTION, SOURCE_INDEPENDENCE_CONTRADICTION, SOURCE_VERIFICATION_CONTRADICTION, FIELD_SOURCE_MODALITY_CONFLICT, DECISION_GEOGRAPHY_SCOPE_REQUIRED, DECISION_SCOPE_REQUIRED, DECISION_SCOPE_REVIEW_REQUIRED, DECISION_SCOPE_CROSS_CHECK_LIMIT, SOURCE_EXTRACTION_INVALID, SOURCE_EXTRACTION_REFERENCE_CONFLICT, ADVERSE_SOURCE_REVIEW_REQUIRED, INVALID_CLAIM_INPUT, OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY, ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Correct indexed evidence_input_feedback/evidence_fit paths and missing_fields against originals. INVALID_CLAIM_INPUT is HTTP 422 on claim-consuming REST routes; correct root or decision_result claim/citation paths in details/validation_errors without deleting adverse evidence. Never invent or relabel facts. Explicit adverse states need review, not approved support. These checks do not authenticate sources or authorize action. Recovery: /docs/mcp-integration.md.","type":"string"},"message":{ ⟨45 unchanged words⟩ "issues":{"items":{"properties":{"allowed_values":{"items":{"type":"string"},"type":"array"},"blocking":{"type":"boolean"},"code":{"description":"StableCodes:correctionFIELD_PROVENANCE_REQUIRED,code.FIELD_PROVENANCE_CONFLICT, FIELDWORK_CAPACITY_CONTRADICTION, SOURCE_INDEPENDENCE_CONTRADICTION, SOURCE_VERIFICATION_CONTRADICTION, FIELD_SOURCE_MODALITY_CONFLICT, DECISION_GEOGRAPHY_SCOPE_REQUIRED, DECISION_SCOPE_REQUIRED, DECISION_SCOPE_REVIEW_REQUIRED, DECISION_SCOPE_CROSS_CHECK_LIMIT, SOURCE_EXTRACTION_INVALID, SOURCE_EXTRACTION_REFERENCE_CONFLICT, ADVERSE_SOURCE_REVIEW_REQUIRED, INVALID_CLAIM_INPUT, OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY, ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Correct indexed evidence_input_feedback/evidence_fit paths and missing_fields against originals. INVALID_CLAIM_INPUT is HTTP 422 on claim-consuming REST routes; correct root or decision_result claim/citation paths in details/validation_errors without deleting adverse evidence. Never invent or relabel facts. Explicit adverse states need review, not approved support. These checks do not authenticate sources or authorize action. Recovery: /docs/mcp-integration.md.","type":"string"},"message":{ ⟨433 unchanged words⟩
after
{"additionalProperties":true,"properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"company_name":{"type":"string"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"country":{"type":"string"},"entity":{"type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Collector-administered modes require staffing, duration, available minutes per collector and sample size. Group modes additionally require session_count, participants_per_session, session_duration_minutes and collectors_per_session, never inferred from an individual interview duration. Online, observation and administrative_record modes require collection_administration; self-administered online and automated observation/record sources do not need invented collector capacity. Explicit public/documentary origins are not caller fieldwork solely because evidence_type is survey; conflicting explicit field origins still block. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collection_administration":{"description":"Source-grounded administration, required for online, observation and administrative_record modes. self_administered is supported for online; automated for observation or administrative_record. Face-to-face, telephone and group modes are collector-administered and cannot opt out.","enum":["collector_administered","self_administered","automated","unknown"],"type":"string"},"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"collectors_per_session":{"description":"Collectors required concurrently for each group session, drawn from enumerator_count. No default facilitator count is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"description":"Collector time per individual interview or per observed/processed sample record for collector-administered non-group modes.","exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"participants_per_session":{"description":"Source-grounded maximum participants in any session. Sample size cannot exceed session_count times this bound; no default group size is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"session_count":{"description":"Actual number of group sessions in the source records.","maximum":9007199254740991,"minimum":1,"type":"integer"},"session_duration_minutes":{"description":"Source-recorded duration of each group session in this declaration, not an alias for individual interview duration.","exclusiveMinimum":0,"type":"number"},"source_extraction":{"additionalProperties":false,"description":"Optional caller-supplied second reading of source facts for conflict comparison only. Not independently authenticated; cannot supply missing primary declarations or establish source authenticity.","properties":{"fields":{"additionalProperties":false,"properties":{"collection_administration":{"description":"Source-grounded administration, required for online, observation and administrative_record modes. self_administered is supported for online; automated for observation or administrative_record. Face-to-face, telephone and group modes are collector-administered and cannot opt out.","enum":["collector_administered","self_administered","automated","unknown"],"type":"string"},"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"collectors_per_session":{"description":"Collectors required concurrently for each group session, drawn from enumerator_count. No default facilitator count is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"description":"Collector time per individual interview or per observed/processed sample record for collector-administered non-group modes.","exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"participants_per_session":{"description":"Source-grounded maximum participants in any session. Sample size cannot exceed session_count times this bound; no default group size is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"session_count":{"description":"Actual number of group sessions in the source records.","maximum":9007199254740991,"minimum":1,"type":"integer"},"session_duration_minutes":{"description":"Source-recorded duration of each group session in this declaration, not an alias for individual interview duration.","exclusiveMinimum":0,"type":"number"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"source_ref":{"maxLength":512,"minLength":1,"type":"string"}},"required":["source_ref","fields"],"type":"object"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Declared source origin. Explicit public/documentary sources are not caller fieldwork solely because evidence_type is survey. Conflicting explicit field origins still block; never relabel to pass.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for collector-administered modes, including groups. Group sample cannot exceed session_count times participants_per_session. All supplied aliases must agree; never invent a sample for documentary or self-administered evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label. Explicit field/public conflicts, including provenance_ledger.source_family, require reconciliation; one label cannot erase another.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Collector-administered modes require staffing, duration, available minutes per collector and sample size. Group modes additionally require session_count, participants_per_session, session_duration_minutes and collectors_per_session, never inferred from an individual interview duration. Online, observation and administrative_record modes require collection_administration; self-administered online and automated observation/record sources do not need invented collector capacity. Explicit public/documentary origins are not caller fieldwork solely because evidence_type is survey; conflicting explicit field origins still block. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collection_administration":{"description":"Source-grounded administration, required for online, observation and administrative_record modes. self_administered is supported for online; automated for observation or administrative_record. Face-to-face, telephone and group modes are collector-administered and cannot opt out.","enum":["collector_administered","self_administered","automated","unknown"],"type":"string"},"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"collectors_per_session":{"description":"Collectors required concurrently for each group session, drawn from enumerator_count. No default facilitator count is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"description":"Collector time per individual interview or per observed/processed sample record for collector-administered non-group modes.","exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"participants_per_session":{"description":"Source-grounded maximum participants in any session. Sample size cannot exceed session_count times this bound; no default group size is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"session_count":{"description":"Actual number of group sessions in the source records.","maximum":9007199254740991,"minimum":1,"type":"integer"},"session_duration_minutes":{"description":"Source-recorded duration of each group session in this declaration, not an alias for individual interview duration.","exclusiveMinimum":0,"type":"number"},"source_extraction":{"additionalProperties":false,"description":"Optional caller-supplied second reading of source facts for conflict comparison only. Not independently authenticated; cannot supply missing primary declarations or establish source authenticity.","properties":{"fields":{"additionalProperties":false,"properties":{"collection_administration":{"description":"Source-grounded administration, required for online, observation and administrative_record modes. self_administered is supported for online; automated for observation or administrative_record. Face-to-face, telephone and group modes are collector-administered and cannot opt out.","enum":["collector_administered","self_administered","automated","unknown"],"type":"string"},"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"collectors_per_session":{"description":"Collectors required concurrently for each group session, drawn from enumerator_count. No default facilitator count is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"description":"Collector time per individual interview or per observed/processed sample record for collector-administered non-group modes.","exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"participants_per_session":{"description":"Source-grounded maximum participants in any session. Sample size cannot exceed session_count times this bound; no default group size is assumed.","maximum":9007199254740991,"minimum":1,"type":"integer"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"session_count":{"description":"Actual number of group sessions in the source records.","maximum":9007199254740991,"minimum":1,"type":"integer"},"session_duration_minutes":{"description":"Source-recorded duration of each group session in this declaration, not an alias for individual interview duration.","exclusiveMinimum":0,"type":"number"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"source_ref":{"maxLength":512,"minLength":1,"type":"string"}},"required":["source_ref","fields"],"type":"object"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Declared source origin. Explicit public/documentary sources are not caller fieldwork solely because evidence_type is survey. Conflicting explicit field origins still block; never relabel to pass.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for collector-administered modes, including groups. Group sample cannot exceed session_count times participants_per_session. All supplied aliases must agree; never invent a sample for documentary or self-administered evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label. Explicit field/public conflicts, including provenance_ledger.source_family, require reconciliation; one label cannot erase another.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"known_partners":{"items":{"type":"string"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Declared decision geography, not source geography. Supply district/districts or decision_scope_level country/subnational; subnational requires locality. A bounded Uganda target-name cross-check can require scope review, never insert districts or establish field coverage.","properties":{"city":{"description":"Declared target city.","type":"string"},"corridor":{"description":"Declared target corridor.","type":"string"},"country":{"description":"Declared target country, not the source country.","type":"string"},"decision_scope_level":{"description":"Explicit decision scope. Subnational needs declared locality. A country-only decision must be declared, not inferred from absent districts.","enum":["country","subnational"],"type":"string"},"district":{"description":"Nonblank target district; not verified source coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Target districts as nonblank strings; empty is allowed but does not declare subnational scope.","items":{"pattern":"\\S","type":"string"},"type":"array"},"micro_context":{"description":"Explicit local decision context.","type":"string"},"region":{"description":"Declared target region.","type":"string"},"town_or_zone":{"description":"Declared target town or zone.","type":"string"}},"type":"object"},"question":{"type":"string"},"sector":{"type":"string"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"target_users":{"type":"string"},"use_case":{"type":"string"}},"type":"object"}⟨54 unchanged words⟩ "issues":{"items":{"properties":{"allowed_values":{"items":{"type":"string"},"type":"array"},"blocking":{"type":"boolean"},"code":{"description":"StableCodes:correctionFIELD_PROVENANCE_REQUIRED,code.FIELD_PROVENANCE_CONFLICT, FIELDWORK_CAPACITY_CONTRADICTION, SOURCE_INDEPENDENCE_CONTRADICTION, SOURCE_VERIFICATION_CONTRADICTION, FIELD_SOURCE_MODALITY_CONFLICT, DECISION_GEOGRAPHY_SCOPE_REQUIRED, DECISION_SCOPE_REQUIRED, DECISION_SCOPE_REVIEW_REQUIRED, DECISION_SCOPE_CROSS_CHECK_LIMIT, SOURCE_EXTRACTION_INVALID, SOURCE_EXTRACTION_REFERENCE_CONFLICT, ADVERSE_SOURCE_REVIEW_REQUIRED, INVALID_CLAIM_INPUT, OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY, ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Correct indexed evidence_input_feedback/evidence_fit paths and missing_fields against originals. INVALID_CLAIM_INPUT is HTTP 422 on claim-consuming REST routes; correct root or decision_result claim/citation paths in details/validation_errors without deleting adverse evidence. Never invent or relabel facts. Explicit adverse states need review, not approved support. These checks do not authenticate sources or authorize action. Recovery: /docs/mcp-integration.md.","type":"string"},"message":{ ⟨23 unchanged words⟩ "linkage_gaps":{"items":{"properties":{"allowed_values":{"items":{"type":"string"},"type":"array"},"blocking":{"type":"boolean"},"code":{"description":"StableCodes:correctionFIELD_PROVENANCE_REQUIRED,code.FIELD_PROVENANCE_CONFLICT, FIELDWORK_CAPACITY_CONTRADICTION, SOURCE_INDEPENDENCE_CONTRADICTION, SOURCE_VERIFICATION_CONTRADICTION, FIELD_SOURCE_MODALITY_CONFLICT, DECISION_GEOGRAPHY_SCOPE_REQUIRED, DECISION_SCOPE_REQUIRED, DECISION_SCOPE_REVIEW_REQUIRED, DECISION_SCOPE_CROSS_CHECK_LIMIT, SOURCE_EXTRACTION_INVALID, SOURCE_EXTRACTION_REFERENCE_CONFLICT, ADVERSE_SOURCE_REVIEW_REQUIRED, INVALID_CLAIM_INPUT, OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY, ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Correct indexed evidence_input_feedback/evidence_fit paths and missing_fields against originals. INVALID_CLAIM_INPUT is HTTP 422 on claim-consuming REST routes; correct root or decision_result claim/citation paths in details/validation_errors without deleting adverse evidence. Never invent or relabel facts. Explicit adverse states need review, not approved support. These checks do not authenticate sources or authorize action. Recovery: /docs/mcp-integration.md.","type":"string"},"message":{ ⟨45 unchanged words⟩ :"object"},"code":{"description":"Codes: FIELD_PROVENANCE_REQUIRED, FIELD_PROVENANCE_CONFLICT, FIELDWORK_CAPACITY_CONTRADICTION, SOURCE_INDEPENDENCE_CONTRADICTION, SOURCE_VERIFICATION_CONTRADICTION, FIELD_SOURCE_MODALITY_CONFLICT, DECISION_GEOGRAPHY_SCOPE_REQUIRED, DECISION_SCOPE_REQUIRED, DECISION_SCOPE_REVIEW_REQUIRED, DECISION_SCOPE_CROSS_CHECK_LIMIT, SOURCE_EXTRACTION_INVALID, SOURCE_EXTRACTION_REFERENCE_CONFLICT, ADVERSE_SOURCE_REVIEW_REQUIRED, INVALID_CLAIM_INPUT, OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY, ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Correct indexed evidence_input_feedback/evidence_fit paths and missing_fields against originals. INVALID_CLAIM_INPUT is HTTP 422 on claim-consuming REST routes; correct root or decision_result claim/citation paths in details/validation_errors without deleting adverse evidence. Never invent or relabel facts. Explicit adverse states need review, not approved support. These checks do not authenticate sources or authorize action. Recovery: /docs/mcp-integration.md.","type":"string"},"commercial_next_step":{ ⟨82 unchanged words⟩ "issues":{"items":{"properties":{"allowed_values":{"items":{"type":"string"},"type":"array"},"blocking":{"type":"boolean"},"code":{"description":"StableCodes:correctionFIELD_PROVENANCE_REQUIRED,code.FIELD_PROVENANCE_CONFLICT, FIELDWORK_CAPACITY_CONTRADICTION, SOURCE_INDEPENDENCE_CONTRADICTION, SOURCE_VERIFICATION_CONTRADICTION, FIELD_SOURCE_MODALITY_CONFLICT, DECISION_GEOGRAPHY_SCOPE_REQUIRED, DECISION_SCOPE_REQUIRED, DECISION_SCOPE_REVIEW_REQUIRED, DECISION_SCOPE_CROSS_CHECK_LIMIT, SOURCE_EXTRACTION_INVALID, SOURCE_EXTRACTION_REFERENCE_CONFLICT, ADVERSE_SOURCE_REVIEW_REQUIRED, INVALID_CLAIM_INPUT, OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY, ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Correct indexed evidence_input_feedback/evidence_fit paths and missing_fields against originals. INVALID_CLAIM_INPUT is HTTP 422 on claim-consuming REST routes; correct root or decision_result claim/citation paths in details/validation_errors without deleting adverse evidence. Never invent or relabel facts. Explicit adverse states need review, not approved support. These checks do not authenticate sources or authorize action. Recovery: /docs/mcp-integration.md.","type":"string"},"message":{ ⟨45 unchanged words⟩ "issues":{"items":{"properties":{"allowed_values":{"items":{"type":"string"},"type":"array"},"blocking":{"type":"boolean"},"code":{"description":"StableCodes:correctionFIELD_PROVENANCE_REQUIRED,code.FIELD_PROVENANCE_CONFLICT, FIELDWORK_CAPACITY_CONTRADICTION, SOURCE_INDEPENDENCE_CONTRADICTION, SOURCE_VERIFICATION_CONTRADICTION, FIELD_SOURCE_MODALITY_CONFLICT, DECISION_GEOGRAPHY_SCOPE_REQUIRED, DECISION_SCOPE_REQUIRED, DECISION_SCOPE_REVIEW_REQUIRED, DECISION_SCOPE_CROSS_CHECK_LIMIT, SOURCE_EXTRACTION_INVALID, SOURCE_EXTRACTION_REFERENCE_CONFLICT, ADVERSE_SOURCE_REVIEW_REQUIRED, INVALID_CLAIM_INPUT, OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY, ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Correct indexed evidence_input_feedback/evidence_fit paths and missing_fields against originals. INVALID_CLAIM_INPUT is HTTP 422 on claim-consuming REST routes; correct root or decision_result claim/citation paths in details/validation_errors without deleting adverse evidence. Never invent or relabel facts. Explicit adverse states need review, not approved support. These checks do not authenticate sources or authorize action. Recovery: /docs/mcp-integration.md.","type":"string"},"message":{ ⟨441 unchanged words⟩
before
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Resolved subject, market scope, and mixed evidence to compile into safe and unsafe inferences.","properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"decision_stage":{"type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Geography to which the compiled inferences apply.","properties":{"city":{"type":"string"},"corridor":{"type":"string"},"country":{"type":"string"},"region":{"type":"string"}},"type":"object"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"subject":{"additionalProperties":true,"description":"Resolved or supplied entity under assessment.","properties":{"entity_archetype":{"type":"string"},"entity_name":{"type":"string"},"sector":{"type":"string"}},"type":"object"},"target_claim":{"type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}after
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Resolved subject, market scope, and mixed evidence to compile into safe and unsafe inferences.","properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"decision_stage":{"type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Individual face-to-face/telephone collection also requires staffing, duration, total available minutes per collector and sample size. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for individual face-to-face/telephone interviews, not invented for documentary evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Individual face-to-face/telephone collection also requires staffing, duration, total available minutes per collector and sample size. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for individual face-to-face/telephone interviews, not invented for documentary evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Declared decision geography, not source geography. Supply district/districts or decision_scope_level country/subnational; subnational requires locality. No district is inferred from claim prose.","properties":{"city":{"description":"Declared target city.","type":"string"},"corridor":{"description":"Declared target corridor.","type":"string"},"country":{"description":"Declared target country, not the source country.","type":"string"},"decision_scope_level":{"description":"Explicit decision scope. Subnational needs declared locality. A country-only decision must be declared, not inferred from absent districts.","enum":["country","subnational"],"type":"string"},"district":{"description":"Nonblank target district; not verified source coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Target districts as nonblank strings; empty is allowed but does not declare subnational scope.","items":{"pattern":"\\S","type":"string"},"type":"array"},"micro_context":{"description":"Explicit local decision context.","type":"string"},"region":{"description":"Declared target region.","type":"string"},"town_or_zone":{"description":"Declared target town or zone.","type":"string"}},"type":"object"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"subject":{"additionalProperties":true,"description":"Resolved or supplied entity under assessment.","properties":{"entity_archetype":{"type":"string"},"entity_name":{"type":"string"},"sector":{"type":"string"}},"type":"object"},"target_claim":{"type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}⟨202 unchanged words⟩ ,"coverage_exclusion_count":{"type":"integer"},"decision_scope":{"properties":{"level":{"type":["string","null"]},"missing_fields":{"items":{"type":"string"},"type":"array"},"status":{"enum":["declared","unresolved","not_requested"],"type":"string"}},"type":"object"},"issues":{"items":{"properties":{"blocking ⟨496 unchanged words⟩
⟨85 unchanged words⟩ : arguments.payload. evidence_pack: object array. String fields:id, claim,evidence_type, source_class, stakeholder_class, verification_status, source_date, source_doc_id. geography:string or object;string/object; evidence_geography: object; district: nonblank string; districts: nonblank strings array.Dates:ISOISO.dates. Omit unknown dates/references, never null or invented.Uncheckedverification_status:unverified.unverified if unchecked. *_role: original_source_record, independent_evaluation or human_attestation;otherwiseelse ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE.Nevercollection_contextrelabel+toprovenance_ledger:pass.see schema/feedback. Keep adverse facts;formattingneverisrelabelnottoverification.pass.
before
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Decision question, resolved subject, market scope, and evidence for a bounded recommendation or abstention.","properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"decision_stage":{"description":"Idea, pre-entry, pilot, launch, expansion, or scale stage.","type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Geography for the proposed decision.","properties":{"city":{"type":"string"},"corridor":{"type":"string"},"country":{"type":"string"},"region":{"type":"string"}},"type":"object"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"subject":{"additionalProperties":true,"description":"Resolved or supplied entity under assessment.","properties":{"entity_archetype":{"type":"string"},"entity_name":{"type":"string"},"sector":{"type":"string"}},"type":"object"},"target_claim":{"description":"Exact claim or readiness question to authorize, limit, or abstain on.","type":"string"},"target_use":{"description":"Internal planning, pilot design, customer-facing, investor-facing, or rollout use.","type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}⟨202 unchanged words⟩ ,"coverage_exclusion_count":{"type":"integer"},"decision_scope":{"properties":{"level":{"type":["string","null"]},"missing_fields":{"items":{"type":"string"},"type":"array"},"status":{"enum":["declared","unresolved","not_requested"],"type":"string"}},"type":"object"},"issues":{"items":{"properties":{"blocking ⟨499 unchanged words⟩
⟨87 unchanged words⟩ : arguments.payload. evidence_pack: object array. String fields:id, claim,evidence_type, source_class, stakeholder_class, verification_status, source_date, source_doc_id. geography:string or object;string/object; evidence_geography: object; district: nonblank string; districts: nonblank strings array.Dates:ISOISO.dates. Omit unknown dates/references, never null or invented.Uncheckedverification_status:unverified.unverified if unchecked. *_role: original_source_record, independent_evaluation or human_attestation;otherwiseelse ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE.Nevercollection_contextrelabel+toprovenance_ledger:pass.see schema/feedback. Keep adverse facts;formattingneverisrelabelnottoverification.pass.
before
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Entity and market context to canonicalize before evidence assessment.","minProperties":1,"properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"country":{"description":"ISO country code or country name when known.","type":"string"},"entity_archetype":{"description":"Known MVR archetype, if already identified.","type":"string"},"entity_name":{"description":"Venture, company, market actor, or hypothetical entity name.","type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Target geography for the proposed decision.","properties":{"city":{"type":"string"},"corridor":{"type":"string"},"country":{"type":"string"},"region":{"type":"string"}},"type":"object"},"organization_type":{"description":"Founder, SME, corporate, investor, institution, or other operator type when relevant.","type":"string"},"query":{"description":"Free-text entity description when no stable name exists.","type":"string"},"sector":{"description":"Sector or operating category when known.","type":"string"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}⟨206 unchanged words⟩ ,"coverage_exclusion_count":{"type":"integer"},"decision_scope":{"properties":{"level":{"type":["string","null"]},"missing_fields":{"items":{"type":"string"},"type":"array"},"status":{"enum":["declared","unresolved","not_requested"],"type":"string"}},"type":"object"},"issues":{"items":{"properties":{"blocking ⟨475 unchanged words⟩
⟨75 unchanged words⟩ : arguments.payload. evidence_pack: object array. String fields:id, claim,evidence_type, source_class, stakeholder_class, verification_status, source_date, source_doc_id. geography:string or object;string/object; evidence_geography: object; district: nonblank string; districts: nonblank strings array.Dates:ISOISO.dates. Omit unknown dates/references, never null or invented.Uncheckedverification_status:unverified.unverified if unchecked. *_role: original_source_record, independent_evaluation or human_attestation;otherwiseelse ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE.Nevercollection_contextrelabel+toprovenance_ledger:pass.see schema/feedback. Keep adverse facts;formattingneverisrelabelnottoverification.pass.
before
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Evidence pack and decision context to test for missing proof.","properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"decision_stage":{"description":"Idea, pre-entry, pilot, launch, expansion, or scale stage.","type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Geography in which the evidence must be valid.","properties":{"city":{"type":"string"},"corridor":{"type":"string"},"country":{"type":"string"},"region":{"type":"string"}},"type":"object"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"subject":{"additionalProperties":true,"description":"Resolved or supplied entity under assessment.","properties":{"entity_archetype":{"type":"string"},"entity_name":{"type":"string"},"sector":{"type":"string"}},"type":"object"},"target_claim":{"description":"Claim or readiness question the evidence is meant to support.","type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}⟨205 unchanged words⟩ ,"coverage_exclusion_count":{"type":"integer"},"decision_scope":{"properties":{"level":{"type":["string","null"]},"missing_fields":{"items":{"type":"string"},"type":"array"},"status":{"enum":["declared","unresolved","not_requested"],"type":"string"}},"type":"object"},"issues":{"items":{"properties":{"blocking ⟨502 unchanged words⟩
⟨99 unchanged words⟩ : arguments. evidence_pack: object array. String fields:id, claim,evidence_type, source_class, stakeholder_class, verification_status, source_date, source_doc_id. geography:string or object;string/object; evidence_geography: object; district: nonblank string; districts: nonblank strings array.Dates:ISOISO.dates. Omit unknown dates/references, never null or invented.Uncheckedverification_status:unverified.unverified if unchecked. *_role: original_source_record, independent_evaluation or human_attestation;otherwiseelse ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE.Nevercollection_contextrelabel+toprovenance_ledger:pass.see schema/feedback. Keep adverse facts;formattingneverisrelabelnottoverification.pass.
before
{"additionalProperties":true,"properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"company_name":{"type":"string"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"country":{"type":"string"},"entity":{"type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"known_partners":{"items":{"type":"string"},"type":"array"},"question":{"type":"string"},"sector":{"type":"string"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"target_users":{"type":"string"},"use_case":{"type":"string"}},"type":"object"}⟨215 unchanged words⟩ ,"coverage_exclusion_count":{"type":"integer"},"decision_scope":{"properties":{"level":{"type":["string","null"]},"missing_fields":{"items":{"type":"string"},"type":"array"},"status":{"enum":["declared","unresolved","not_requested"],"type":"string"}},"type":"object"},"issues":{"items":{"properties":{"blocking ⟨510 unchanged words⟩
before
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Resolved subject, market scope, and mixed evidence to compile into safe and unsafe inferences.","properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"decision_stage":{"type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"region":{"description":"Declared source region.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"description":"Source country name/code or broader geographic description. Known country conflicts are flagged; local applicability is not authenticated.","type":"string"},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. Not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"region":{"description":"Declared source region.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"description":"Source country name/code or broader geographic description. Known country conflicts are flagged; local applicability is not authenticated.","type":"string"},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. Not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Geography to which the compiled inferences apply.","properties":{"city":{"type":"string"},"corridor":{"type":"string"},"country":{"type":"string"},"region":{"type":"string"}},"type":"object"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"subject":{"additionalProperties":true,"description":"Resolved or supplied entity under assessment.","properties":{"entity_archetype":{"type":"string"},"entity_name":{"type":"string"},"sector":{"type":"string"}},"type":"object"},"target_claim":{"type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}after
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Resolved subject, market scope, and mixed evidence to compile into safe and unsafe inferences.","properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"decision_stage":{"type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Geography to which the compiled inferences apply.","properties":{"city":{"type":"string"},"corridor":{"type":"string"},"country":{"type":"string"},"region":{"type":"string"}},"type":"object"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"subject":{"additionalProperties":true,"description":"Resolved or supplied entity under assessment.","properties":{"entity_archetype":{"type":"string"},"entity_name":{"type":"string"},"sector":{"type":"string"}},"type":"object"},"target_claim":{"type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}⟨79 unchanged words⟩ or personal identifiers. Evidence input location: arguments.payload.Full replacementevidence_pack: objectarray; retain workflow context.array. String fields: id, claim, evidence_type, source_class, stakeholder_class, verification_status,geography,source_date, source_doc_id. geography:source-countrystringstring;or object; evidence_geography:{country,city?,region?},object;alldistrict:strings.nonblanksource_date:string;YYYY-MM-DDdistricts:ornonblankISOstringstimestamparray.withDates:timezone.ISO. Omit unknown dates/references, never null or invented. Unchecked:verification_status: unverified.Keep*_role:adverseoriginal_source_record,factsindependent_evaluationinorclaim;human_attestation; otherwise ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel to pass. Keep adverse facts; formatting is not verification.
before
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Decision question, resolved subject, market scope, and evidence for a bounded recommendation or abstention.","properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"decision_stage":{"description":"Idea, pre-entry, pilot, launch, expansion, or scale stage.","type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"region":{"description":"Declared source region.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"description":"Source country name/code or broader geographic description. Known country conflicts are flagged; local applicability is not authenticated.","type":"string"},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. Not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"region":{"description":"Declared source region.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"description":"Source country name/code or broader geographic description. Known country conflicts are flagged; local applicability is not authenticated.","type":"string"},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. Not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Geography for the proposed decision.","properties":{"city":{"type":"string"},"corridor":{"type":"string"},"country":{"type":"string"},"region":{"type":"string"}},"type":"object"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"subject":{"additionalProperties":true,"description":"Resolved or supplied entity under assessment.","properties":{"entity_archetype":{"type":"string"},"entity_name":{"type":"string"},"sector":{"type":"string"}},"type":"object"},"target_claim":{"description":"Exact claim or readiness question to authorize, limit, or abstain on.","type":"string"},"target_use":{"description":"Internal planning, pilot design, customer-facing, investor-facing, or rollout use.","type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}⟨81 unchanged words⟩ or confidential evidence. Evidence input location: arguments.payload.Full replacementevidence_pack: objectarray; retain workflow context.array. String fields: id, claim, evidence_type, source_class, stakeholder_class, verification_status,geography,source_date, source_doc_id. geography:source-countrystringstring;or object; evidence_geography:{country,city?,region?},object;alldistrict:strings.nonblanksource_date:string;YYYY-MM-DDdistricts:ornonblankISOstringstimestamparray.withDates:timezone.ISO. Omit unknown dates/references, never null or invented. Unchecked:verification_status: unverified.Keep*_role:adverseoriginal_source_record,factsindependent_evaluationinorclaim;human_attestation; otherwise ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel to pass. Keep adverse facts; formatting is not verification.
before
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Entity and market context to canonicalize before evidence assessment.","minProperties":1,"properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"country":{"description":"ISO country code or country name when known.","type":"string"},"entity_archetype":{"description":"Known MVR archetype, if already identified.","type":"string"},"entity_name":{"description":"Venture, company, market actor, or hypothetical entity name.","type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"region":{"description":"Declared source region.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"description":"Source country name/code or broader geographic description. Known country conflicts are flagged; local applicability is not authenticated.","type":"string"},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. Not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"region":{"description":"Declared source region.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"description":"Source country name/code or broader geographic description. Known country conflicts are flagged; local applicability is not authenticated.","type":"string"},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. Not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Target geography for the proposed decision.","properties":{"city":{"type":"string"},"corridor":{"type":"string"},"country":{"type":"string"},"region":{"type":"string"}},"type":"object"},"organization_type":{"description":"Founder, SME, corporate, investor, institution, or other operator type when relevant.","type":"string"},"query":{"description":"Free-text entity description when no stable name exists.","type":"string"},"sector":{"description":"Sector or operating category when known.","type":"string"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}⟨69 unchanged words⟩ or personal identifiers. Evidence input location: arguments.payload.Full replacementevidence_pack: objectarray; retain workflow context.array. String fields: id, claim, evidence_type, source_class, stakeholder_class, verification_status,geography,source_date, source_doc_id. geography:source-countrystringstring;or object; evidence_geography:{country,city?,region?},object;alldistrict:strings.nonblanksource_date:string;YYYY-MM-DDdistricts:ornonblankISOstringstimestamparray.withDates:timezone.ISO. Omit unknown dates/references, never null or invented. Unchecked:verification_status: unverified.Keep*_role:adverseoriginal_source_record,factsindependent_evaluationinorclaim;human_attestation; otherwise ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel to pass. Keep adverse facts; formatting is not verification.
before
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Evidence pack and decision context to test for missing proof.","properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"decision_stage":{"description":"Idea, pre-entry, pilot, launch, expansion, or scale stage.","type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"region":{"description":"Declared source region.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"description":"Source country name/code or broader geographic description. Known country conflicts are flagged; local applicability is not authenticated.","type":"string"},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. Not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"region":{"description":"Declared source region.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"description":"Source country name/code or broader geographic description. Known country conflicts are flagged; local applicability is not authenticated.","type":"string"},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. Not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Geography in which the evidence must be valid.","properties":{"city":{"type":"string"},"corridor":{"type":"string"},"country":{"type":"string"},"region":{"type":"string"}},"type":"object"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"subject":{"additionalProperties":true,"description":"Resolved or supplied entity under assessment.","properties":{"entity_archetype":{"type":"string"},"entity_name":{"type":"string"},"sector":{"type":"string"}},"type":"object"},"target_claim":{"description":"Claim or readiness question the evidence is meant to support.","type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}⟨93 unchanged words⟩ evidence; never secrets. Evidence input location: arguments.Full replacementevidence_pack: objectarray; retain workflow context.array. String fields: id, claim, evidence_type, source_class, stakeholder_class, verification_status,geography,source_date, source_doc_id. geography:source-countrystringstring;or object; evidence_geography:{country,city?,region?},object;alldistrict:strings.nonblanksource_date:string;YYYY-MM-DDdistricts:ornonblankISOstringstimestamparray.withDates:timezone.ISO. Omit unknown dates/references, never null or invented. Unchecked:verification_status: unverified.Keep*_role:adverseoriginal_source_record,factsindependent_evaluationinorclaim;human_attestation; otherwise ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel to pass. Keep adverse facts; formatting is not verification.
before
{"additionalProperties":true,"properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"company_name":{"type":"string"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"country":{"type":"string"},"entity":{"type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"region":{"description":"Declared source region.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"description":"Source country name/code or broader geographic description. Known country conflicts are flagged; local applicability is not authenticated.","type":"string"},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. Not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"region":{"description":"Declared source region.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"description":"Source country name/code or broader geographic description. Known country conflicts are flagged; local applicability is not authenticated.","type":"string"},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. Not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"known_partners":{"items":{"type":"string"},"type":"array"},"question":{"type":"string"},"sector":{"type":"string"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"target_users":{"type":"string"},"use_case":{"type":"string"}},"type":"object"}{"additionalProperties":true,"description":"Public preflight serves no calibration. Licensed calibration_disposition (calibration_retired or calibration_quarantined) prohibits serving or replacement; it does not verify source truth.","properties":{"claim_review":{"properties":{"blocking ⟨114 unchanged words⟩ "integer"}},"type":"object"},"code":{"description":"OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY","type":"string"},"continuation_disposition":{"enum":["call_now","await_input" ⟨406 unchanged words⟩ ,"reason":{"type":"string"},"receipt_evidence_findings":{"items":{"additionalProperties":false,"properties":{"evidence_id":{"maxLength":160,"type":["string","null"]},"evidence_id_truncated":{"type":"boolean"},"marker":{"type":"string"},"path":{"description":"RFC 6901 JSON Pointer into the submitted body. Truncated pointers are not directly resolvable.","maxLength":1024,"type":"string"},"path_truncated":{"type":"boolean"}},"required":["path","evidence_id","marker","path_truncated","evidence_id_truncated"],"type":"object"},"maxItems":15,"type":"array"},"receipt_validation":{"properties":{"expiry":{"enum":["unknown"],"type":"string"},"performed":{"enum":[false],"type":"boolean"},"revocation":{"enum":["unknown"],"type":"string"},"status":{"enum":["not_checked"],"type":"string"},"validity":{"enum":["unknown"],"type":"string"}},"type":"object"},"recommendation":{"type":"string"},"required_user_inputs" ⟨33 unchanged words⟩ "object"},"status":{"type":"string"},"total_errors":{"minimum":0,"type":"integer"},"validation_errors_truncated":{"type":"boolean"},"verification_basis":{"type":"string"} ⟨13 unchanged words⟩
{"additionalProperties":true,"description":"Public preflight serves no calibration. Licensed calibration_disposition (calibration_retired or calibration_quarantined) prohibits serving or replacement; it does not verify source truth.","properties":{"canonical_entity":{"type":["object ⟨118 unchanged words⟩ "integer"}},"type":"object"},"code":{"description":"OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY","type":"string"},"continuation_disposition":{"enum":["call_now","await_input" ⟨391 unchanged words⟩ ,"options"],"type":"object"},"receipt_evidence_findings":{"items":{"additionalProperties":false,"properties":{"evidence_id":{"maxLength":160,"type":["string","null"]},"evidence_id_truncated":{"type":"boolean"},"marker":{"type":"string"},"path":{"description":"RFC 6901 JSON Pointer into the submitted body. Truncated pointers are not directly resolvable.","maxLength":1024,"type":"string"},"path_truncated":{"type":"boolean"}},"required":["path","evidence_id","marker","path_truncated","evidence_id_truncated"],"type":"object"},"maxItems":15,"type":"array"},"receipt_validation":{"properties":{"expiry":{"enum":["unknown"],"type":"string"},"performed":{"enum":[false],"type":"boolean"},"revocation":{"enum":["unknown"],"type":"string"},"status":{"enum":["not_checked"],"type":"string"},"validity":{"enum":["unknown"],"type":"string"}},"type":"object"},"required_user_inputs":{"items":{"type":"string" ⟨24 unchanged words⟩ "object"},"status":{"type":"string"},"total_errors":{"minimum":0,"type":"integer"},"validation_errors_truncated":{"type":"boolean"},"warning":{"type":"string"} ⟨13 unchanged words⟩
{"additionalProperties":true,"description":"Public preflight serves no calibration. Licensed calibration_disposition (calibration_retired or calibration_quarantined) prohibits serving or replacement; it does not verify source truth.","properties":{"claim_review":{"properties":{"blocking ⟨114 unchanged words⟩ "integer"}},"type":"object"},"code":{"description":"OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY","type":"string"},"continuation_disposition":{"enum":["call_now","await_input" ⟨400 unchanged words⟩ ,"options"],"type":"object"},"receipt_evidence_findings":{"items":{"additionalProperties":false,"properties":{"evidence_id":{"maxLength":160,"type":["string","null"]},"evidence_id_truncated":{"type":"boolean"},"marker":{"type":"string"},"path":{"description":"RFC 6901 JSON Pointer into the submitted body. Truncated pointers are not directly resolvable.","maxLength":1024,"type":"string"},"path_truncated":{"type":"boolean"}},"required":["path","evidence_id","marker","path_truncated","evidence_id_truncated"],"type":"object"},"maxItems":15,"type":"array"},"receipt_validation":{"properties":{"expiry":{"enum":["unknown"],"type":"string"},"performed":{"enum":[false],"type":"boolean"},"revocation":{"enum":["unknown"],"type":"string"},"status":{"enum":["not_checked"],"type":"string"},"validity":{"enum":["unknown"],"type":"string"}},"type":"object"},"required_user_inputs":{"items":{"type":"string" ⟨34 unchanged words⟩ ,"status":{"type":"string"},"total_errors":{"minimum":0,"type":"integer"},"unverified_evidence_count":{"type":"number"},"validation_errors_truncated":{"type":"boolean"},"verification_basis":{"type":"string"} ⟨22 unchanged words⟩
before
{"additionalProperties":true,"properties":{"activation_outcome":{"description":"relevance_unresolved: clarify scope.","type":"string"},"claim_review":{"properties":{"blocking":{"type":"boolean"},"boundary":{"type":"string"},"claim_count":{"type":"integer"},"content_assessment_performed":{"type":"boolean"},"content_item_count":{"type":"integer"},"declared_contradiction_count":{"type":"integer"},"declared_qualification_count":{"type":"integer"},"issues":{"items":{"properties":{"blocking":{"type":"boolean"},"code":{"description":"Stable correction code.","type":"string"},"message":{"description":"Correction without echoing source content.","type":"string"},"path":{"description":"Indexed submitted payload path.","type":"string"},"severity":{"type":"string"}},"type":"object"},"type":"array"},"linkage_gaps":{"items":{"properties":{"blocking":{"type":"boolean"},"code":{"description":"Stable correction code.","type":"string"},"message":{"description":"Correction without echoing source content.","type":"string"},"path":{"description":"Indexed submitted payload path.","type":"string"},"severity":{"type":"string"}},"type":"object"},"type":"array"},"linkage_gaps_truncated":{"type":"boolean"},"links":{"items":{"type":"object"},"type":"array"},"source_authenticity_verified":{"type":"boolean"},"status":{"type":"string"},"unlinked_claim_count":{"type":"integer"},"unlinked_evidence_count":{"type":"integer"}},"type":"object"},"code":{"type":"string"},"commercial_next_step":{"type":"object"},"continuation_disposition":{"enum":["call_now","await_input","terminal"],"type":"string"},"decision_domain":{"type":"string"},"decision_domains":{"items":{"type":"string"},"type":"array"},"domain_routing_basis":{"description":"Routing basis, not a verified classification.","type":"string"},"evidence_field_guide":{"description":"Self-contained public evidence field types and unknown-metadata policy. Formatting guidance, not verification or authority.","type":"string"},"evidence_fit":{"properties":{"analysis_date":{"type":"string"},"analysis_timezone":{"type":["string","null"]},"blocking":{"type":"boolean"},"coverage_exclusion_count":{"type":"integer"},"issues":{"items":{"properties":{"blocking":{"type":"boolean"},"code":{"description":"Stable correction code.","type":"string"},"message":{"description":"Correction without echoing source content.","type":"string"},"path":{"description":"Indexed submitted payload path.","type":"string"},"severity":{"type":"string"}},"type":"object"},"type":"array"},"source_authenticity_verified":{"type":"boolean"}},"type":"object"},"evidence_gaps":{"items":{"type":"string"},"type":"array"},"evidence_input_feedback":{"properties":{"contract_version":{"description":"Feedback version.","type":"string"},"error_count":{"type":"integer"},"issues":{"items":{"properties":{"blocking":{"type":"boolean"},"code":{"description":"Stable correction code.","type":"string"},"message":{"description":"Correction without echoing source content.","type":"string"},"path":{"description":"Indexed submitted payload path.","type":"string"},"severity":{"type":"string"}},"type":"object"},"type":"array"},"issues_truncated":{"type":"boolean"},"warning_count":{"type":"integer"}},"type":"object"},"evidence_intake":{"properties":{"boundary":{"description":"Intake format is not evidence assessment.","type":"string"},"content_assessment_performed":{"type":"boolean"},"contract_version":{"description":"Intake disclosure version.","type":"string"},"evidence_count_semantics":{"description":"Counts submitted entries, not underlying records or verified sources.","type":"string"},"source_authenticity_verified":{"type":"boolean"},"status":{"enum":["invalid_submission","described_not_structured","no_evidence_supplied","structured_items_supplied","mixed_descriptions_and_structured_items"],"type":"string"},"structured_item_count":{"type":"integer"},"underlying_records_checked":{"type":"boolean"},"unstructured_description_count":{"type":"integer"}},"type":"object"},"evidence_received":{"type":"object"},"evidence_requirements":{"items":{"type":"string"},"type":"array"},"exact_next_calls":{"items":{"type":"object"},"type":"array"},"example_next_request":{"type":["object","null"]},"max_safe_action_available_now":{"type":"string"},"mcp_next_call":{"anyOf":[{"type":"null"},{"additionalProperties":false,"properties":{"arguments":{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"type":"object"}},"required":["payload"],"type":"object"},"name":{"type":"string"}},"required":["name","arguments"],"type":"object"}]},"mcp_next_tool":{"anyOf":[{"type":"null"},{"additionalProperties":false,"properties":{"arguments":{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"type":"object"}},"required":["payload"],"type":"object"},"tool_name":{"type":"string"}},"required":["tool_name","arguments"],"type":"object"}]},"mvr_response_receipt":{"additionalProperties":false,"properties":{"authority_boundary":{"type":"string"},"calibration_version":{"type":"string"},"core_api_version":{"type":"string"},"deployment_revision":{"type":"string"},"host_recipe_version":{"type":"string"},"mcp_contract_version":{"type":"string"},"mcp_protocol_versions":{"items":{"type":"string"},"type":"array"},"mcp_tool":{"type":"string"},"policy_version":{"type":"string"},"receipt_schema_version":{"type":"string"},"sdk_version":{"type":"string"},"tool_profile_version":{"type":"string"}},"required":["receipt_schema_version","mcp_tool","core_api_version","mcp_protocol_versions","mcp_contract_version","tool_profile_version","sdk_version","policy_version","calibration_version","deployment_revision","host_recipe_version","authority_boundary"],"type":"object"},"next_steps":{"additionalProperties":false,"properties":{"automatic_action_authorized":{"const":false,"type":"boolean"},"boundary":{"type":"string"},"offer_registry":{"format":"uri","type":"string"},"options":{"items":{"additionalProperties":false,"properties":{"id":{"type":"string"},"label":{"type":"string"},"url":{"format":"uri","type":"string"},"when_to_use":{"type":"string"}},"required":["id","label","url","when_to_use"],"type":"object"},"maxItems":3,"type":"array"},"purpose":{"const":"optional_routing_not_recommendation","type":"string"},"schema_version":{"const":"mvr-optional-routing@1.0","type":"string"}},"required":["schema_version","purpose","automatic_action_authorized","boundary","offer_registry","options"],"type":"object"},"next_three_unlocks":{"items":{"type":"string"},"type":"array"},"not_a_verdict":{"type":"boolean"},"required_user_inputs":{"items":{"type":"string"},"type":"array"},"response_meta":{"type":"object"},"source_review":{"properties":{"evidence_strength":{"type":["number","null"]},"required_before_consequential_reliance":{"type":"boolean"},"status":{"type":"string"},"tasks":{"items":{"type":"object"},"type":"array"}},"type":"object"},"status":{"description":"awaiting_scope_clarification: ask scope.","type":"string"},"subject":{"type":"object"},"workflow_expires_at":{"type":["string","null"]},"workflow_id":{"type":["string","null"]},"workflow_status":{"type":"string"}},"type":"object"}after
{"additionalProperties":true,"description":"Public preflight serves no calibration. Licensed calibration_disposition (calibration_retired or calibration_quarantined) prohibits serving or replacement; it does not verify source truth.","properties":{"activation_outcome":{"description":"relevance_unresolved: clarify scope.","type":"string"},"claim_review":{"properties":{"blocking":{"type":"boolean"},"boundary":{"type":"string"},"claim_count":{"type":"integer"},"content_assessment_performed":{"type":"boolean"},"content_item_count":{"type":"integer"},"declared_contradiction_count":{"type":"integer"},"declared_qualification_count":{"type":"integer"},"issues":{"items":{"properties":{"blocking":{"type":"boolean"},"code":{"description":"Stable correction code.","type":"string"},"message":{"description":"Correction without echoing source content.","type":"string"},"path":{"description":"Indexed submitted payload path.","type":"string"},"severity":{"type":"string"}},"type":"object"},"type":"array"},"linkage_gaps":{"items":{"properties":{"blocking":{"type":"boolean"},"code":{"description":"Stable correction code.","type":"string"},"message":{"description":"Correction without echoing source content.","type":"string"},"path":{"description":"Indexed submitted payload path.","type":"string"},"severity":{"type":"string"}},"type":"object"},"type":"array"},"linkage_gaps_truncated":{"type":"boolean"},"links":{"items":{"type":"object"},"type":"array"},"source_authenticity_verified":{"type":"boolean"},"status":{"type":"string"},"unlinked_claim_count":{"type":"integer"},"unlinked_evidence_count":{"type":"integer"}},"type":"object"},"code":{"description":"OUTPUT_RECEIPT_NOT_REQUEST_AUTHORITY","type":"string"},"commercial_next_step":{"type":"object"},"continuation_disposition":{"enum":["call_now","await_input","terminal"],"type":"string"},"decision_domain":{"type":"string"},"decision_domains":{"items":{"type":"string"},"type":"array"},"domain_routing_basis":{"description":"Routing basis, not a verified classification.","type":"string"},"evidence_field_guide":{"description":"Self-contained public evidence field types and unknown-metadata policy. Formatting guidance, not verification or authority.","type":"string"},"evidence_fit":{"properties":{"analysis_date":{"type":"string"},"analysis_timezone":{"type":["string","null"]},"blocking":{"type":"boolean"},"coverage_exclusion_count":{"type":"integer"},"issues":{"items":{"properties":{"blocking":{"type":"boolean"},"code":{"description":"Stable correction code.","type":"string"},"message":{"description":"Correction without echoing source content.","type":"string"},"path":{"description":"Indexed submitted payload path.","type":"string"},"severity":{"type":"string"}},"type":"object"},"type":"array"},"source_authenticity_verified":{"type":"boolean"}},"type":"object"},"evidence_gaps":{"items":{"type":"string"},"type":"array"},"evidence_input_feedback":{"properties":{"contract_version":{"description":"Feedback version.","type":"string"},"error_count":{"type":"integer"},"issues":{"items":{"properties":{"blocking":{"type":"boolean"},"code":{"description":"Stable correction code.","type":"string"},"message":{"description":"Correction without echoing source content.","type":"string"},"path":{"description":"Indexed submitted payload path.","type":"string"},"severity":{"type":"string"}},"type":"object"},"type":"array"},"issues_truncated":{"type":"boolean"},"warning_count":{"type":"integer"}},"type":"object"},"evidence_intake":{"properties":{"boundary":{"description":"Intake format is not evidence assessment.","type":"string"},"content_assessment_performed":{"type":"boolean"},"contract_version":{"description":"Intake disclosure version.","type":"string"},"evidence_count_semantics":{"description":"Counts submitted entries, not underlying records or verified sources.","type":"string"},"source_authenticity_verified":{"type":"boolean"},"status":{"enum":["invalid_submission","described_not_structured","no_evidence_supplied","structured_items_supplied","mixed_descriptions_and_structured_items"],"type":"string"},"structured_item_count":{"type":"integer"},"underlying_records_checked":{"type":"boolean"},"unstructured_description_count":{"type":"integer"}},"type":"object"},"evidence_received":{"type":"object"},"evidence_requirements":{"items":{"type":"string"},"type":"array"},"exact_next_calls":{"items":{"type":"object"},"type":"array"},"example_next_request":{"type":["object","null"]},"max_safe_action_available_now":{"type":"string"},"mcp_next_call":{"anyOf":[{"type":"null"},{"additionalProperties":false,"properties":{"arguments":{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"type":"object"}},"required":["payload"],"type":"object"},"name":{"type":"string"}},"required":["name","arguments"],"type":"object"}]},"mcp_next_tool":{"anyOf":[{"type":"null"},{"additionalProperties":false,"properties":{"arguments":{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"type":"object"}},"required":["payload"],"type":"object"},"tool_name":{"type":"string"}},"required":["tool_name","arguments"],"type":"object"}]},"mvr_response_receipt":{"additionalProperties":false,"properties":{"authority_boundary":{"type":"string"},"calibration_version":{"type":"string"},"core_api_version":{"type":"string"},"deployment_revision":{"type":"string"},"host_recipe_version":{"type":"string"},"mcp_contract_version":{"type":"string"},"mcp_protocol_versions":{"items":{"type":"string"},"type":"array"},"mcp_tool":{"type":"string"},"policy_version":{"type":"string"},"receipt_schema_version":{"type":"string"},"sdk_version":{"type":"string"},"tool_profile_version":{"type":"string"}},"required":["receipt_schema_version","mcp_tool","core_api_version","mcp_protocol_versions","mcp_contract_version","tool_profile_version","sdk_version","policy_version","calibration_version","deployment_revision","host_recipe_version","authority_boundary"],"type":"object"},"next_steps":{"additionalProperties":false,"properties":{"automatic_action_authorized":{"const":false,"type":"boolean"},"boundary":{"type":"string"},"offer_registry":{"format":"uri","type":"string"},"options":{"items":{"additionalProperties":false,"properties":{"id":{"type":"string"},"label":{"type":"string"},"url":{"format":"uri","type":"string"},"when_to_use":{"type":"string"}},"required":["id","label","url","when_to_use"],"type":"object"},"maxItems":3,"type":"array"},"purpose":{"const":"optional_routing_not_recommendation","type":"string"},"schema_version":{"const":"mvr-optional-routing@1.0","type":"string"}},"required":["schema_version","purpose","automatic_action_authorized","boundary","offer_registry","options"],"type":"object"},"next_three_unlocks":{"items":{"type":"string"},"type":"array"},"not_a_verdict":{"type":"boolean"},"receipt_evidence_findings":{"items":{"additionalProperties":false,"properties":{"evidence_id":{"maxLength":160,"type":["string","null"]},"evidence_id_truncated":{"type":"boolean"},"marker":{"type":"string"},"path":{"description":"RFC 6901 JSON Pointer into the submitted body. Truncated pointers are not directly resolvable.","maxLength":1024,"type":"string"},"path_truncated":{"type":"boolean"}},"required":["path","evidence_id","marker","path_truncated","evidence_id_truncated"],"type":"object"},"maxItems":15,"type":"array"},"receipt_validation":{"properties":{"expiry":{"enum":["unknown"],"type":"string"},"performed":{"enum":[false],"type":"boolean"},"revocation":{"enum":["unknown"],"type":"string"},"status":{"enum":["not_checked"],"type":"string"},"validity":{"enum":["unknown"],"type":"string"}},"type":"object"},"required_user_inputs":{"items":{"type":"string"},"type":"array"},"response_meta":{"type":"object"},"source_review":{"properties":{"evidence_strength":{"type":["number","null"]},"required_before_consequential_reliance":{"type":"boolean"},"status":{"type":"string"},"tasks":{"items":{"type":"object"},"type":"array"}},"type":"object"},"status":{"description":"awaiting_scope_clarification: ask scope.","type":"string"},"subject":{"type":"object"},"total_errors":{"minimum":0,"type":"integer"},"validation_errors_truncated":{"type":"boolean"},"workflow_expires_at":{"type":["string","null"]},"workflow_id":{"type":["string","null"]},"workflow_status":{"type":"string"}},"type":"object"}⟨75 unchanged words⟩ evidence; never secrets, credentials, or personal identifiers. Evidence input location: arguments.payload. Full replacement evidence_pack: object array; retain workflow context. String fields: id, claim, evidence_type, source_class, stakeholder_class, verification_status, geography, source_date, source_doc_id. geography: source-country string; evidence_geography: {country,city?,region?}, all strings. source_date: YYYY-MM-DD or ISO timestamp with timezone. Omit unknown dates/references, never null or invented. Unchecked: verification_status: unverified. Keep adverse facts in claim; formatting is not verification.
⟨142 unchanged words⟩ verified classification.","type":"string"},"evidence_field_guide":{"description":"Self-contained public evidence field types and unknown-metadata policy. Formatting guidance, not verification or authority.","type":"string"},"evidence_fit":{"properties":{"analysis_date":{"type ⟨107 unchanged words⟩ "issues_truncated":{"type":"boolean"},"warning_count":{"type":"integer"}},"type":"object"},"evidence_intake":{"properties":{"boundary":{"description":"Intake format is not evidence assessment.","type":"string"},"content_assessment_performed":{"type":"boolean"},"contract_version":{"description":"Intake disclosure version.","type":"string"},"evidence_count_semantics":{"description":"Counts submitted entries, not underlying records or verified sources.","type":"string"},"source_authenticity_verified":{"type":"boolean"},"status":{"enum":["invalid_submission","described_not_structured","no_evidence_supplied","structured_items_supplied","mixed_descriptions_and_structured_items"],"type":"string"},"structured_item_count":{"type":"integer"},"underlying_records_checked":{"type":"boolean"},"unstructured_description_count":{"type":"integer"}},"type" ⟨253 unchanged words⟩
⟨77 unchanged words⟩ identifiers, raw private interviews, or confidential evidence. Evidence input location: arguments.payload. Full replacement evidence_pack: object array; retain workflow context. String fields: id, claim, evidence_type, source_class, stakeholder_class, verification_status, geography, source_date, source_doc_id. geography: source-country string; evidence_geography: {country,city?,region?}, all strings. source_date: YYYY-MM-DD or ISO timestamp with timezone. Omit unknown dates/references, never null or invented. Unchecked: verification_status: unverified. Keep adverse facts in claim; formatting is not verification.
⟨146 unchanged words⟩ verified classification.","type":"string"},"evidence_field_guide":{"description":"Self-contained public evidence field types and unknown-metadata policy. Formatting guidance, not verification or authority.","type":"string"},"evidence_fit":{"properties":{"analysis_date":{"type ⟨101 unchanged words⟩ "issues_truncated":{"type":"boolean"},"warning_count":{"type":"integer"}},"type":"object"},"evidence_intake":{"properties":{"boundary":{"description":"Intake format is not evidence assessment.","type":"string"},"content_assessment_performed":{"type":"boolean"},"contract_version":{"description":"Intake disclosure version.","type":"string"},"evidence_count_semantics":{"description":"Counts submitted entries, not underlying records or verified sources.","type":"string"},"source_authenticity_verified":{"type":"boolean"},"status":{"enum":["invalid_submission","described_not_structured","no_evidence_supplied","structured_items_supplied","mixed_descriptions_and_structured_items"],"type":"string"},"structured_item_count":{"type":"integer"},"underlying_records_checked":{"type":"boolean"},"unstructured_description_count":{"type":"integer"}},"type" ⟨235 unchanged words⟩
⟨65 unchanged words⟩ private interviews, secrets, credentials, or personal identifiers. Evidence input location: arguments.payload. Full replacement evidence_pack: object array; retain workflow context. String fields: id, claim, evidence_type, source_class, stakeholder_class, verification_status, geography, source_date, source_doc_id. geography: source-country string; evidence_geography: {country,city?,region?}, all strings. source_date: YYYY-MM-DD or ISO timestamp with timezone. Omit unknown dates/references, never null or invented. Unchecked: verification_status: unverified. Keep adverse facts in claim; formatting is not verification.
⟨146 unchanged words⟩ ,"evidence_count":{"type":"number"},"evidence_field_guide":{"description":"Self-contained public evidence field types and unknown-metadata policy. Formatting guidance, not verification or authority.","type":"string"},"evidence_fit":{"properties":{"analysis_date":{"type ⟨107 unchanged words⟩ "issues_truncated":{"type":"boolean"},"warning_count":{"type":"integer"}},"type":"object"},"evidence_intake":{"properties":{"boundary":{"description":"Intake format is not evidence assessment.","type":"string"},"content_assessment_performed":{"type":"boolean"},"contract_version":{"description":"Intake disclosure version.","type":"string"},"evidence_count_semantics":{"description":"Counts submitted entries, not underlying records or verified sources.","type":"string"},"source_authenticity_verified":{"type":"boolean"},"status":{"enum":["invalid_submission","described_not_structured","no_evidence_supplied","structured_items_supplied","mixed_descriptions_and_structured_items"],"type":"string"},"structured_item_count":{"type":"integer"},"underlying_records_checked":{"type":"boolean"},"unstructured_description_count":{"type":"integer"}},"type" ⟨256 unchanged words⟩
⟨89 unchanged words⟩ data-minimized, redacted, or aggregated evidence; never secrets. Evidence input location: arguments. Full replacement evidence_pack: object array; retain workflow context. String fields: id, claim, evidence_type, source_class, stakeholder_class, verification_status, geography, source_date, source_doc_id. geography: source-country string; evidence_geography: {country,city?,region?}, all strings. source_date: YYYY-MM-DD or ISO timestamp with timezone. Omit unknown dates/references, never null or invented. Unchecked: verification_status: unverified. Keep adverse facts in claim; formatting is not verification.
⟨154 unchanged words⟩ verified classification.","type":"string"},"evidence_field_guide":{"description":"Self-contained public evidence field types and unknown-metadata policy. Formatting guidance, not verification or authority.","type":"string"},"evidence_fit":{"properties":{"analysis_date":{"type ⟨107 unchanged words⟩ "issues_truncated":{"type":"boolean"},"warning_count":{"type":"integer"}},"type":"object"},"evidence_intake":{"properties":{"boundary":{"description":"Intake format is not evidence assessment.","type":"string"},"content_assessment_performed":{"type":"boolean"},"contract_version":{"description":"Intake disclosure version.","type":"string"},"evidence_count_semantics":{"description":"Counts submitted entries, not underlying records or verified sources.","type":"string"},"source_authenticity_verified":{"type":"boolean"},"status":{"enum":["invalid_submission","described_not_structured","no_evidence_supplied","structured_items_supplied","mixed_descriptions_and_structured_items"],"type":"string"},"structured_item_count":{"type":"integer"},"underlying_records_checked":{"type":"boolean"},"unstructured_description_count":{"type":"integer"}},"type" ⟨260 unchanged words⟩
after
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Decision question, resolved subject, market scope, and evidence for a bounded recommendation or abstention.","properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"decision_stage":{"description":"Idea, pre-entry, pilot, launch, expansion, or scale stage.","type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Individual face-to-face/telephone collection also requires staffing, duration, total available minutes per collector and sample size. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for individual face-to-face/telephone interviews, not invented for documentary evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Individual face-to-face/telephone collection also requires staffing, duration, total available minutes per collector and sample size. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for individual face-to-face/telephone interviews, not invented for documentary evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Declared decision geography, not source geography. Supply district/districts or decision_scope_level country/subnational; subnational requires locality. No district is inferred from claim prose.","properties":{"city":{"description":"Declared target city.","type":"string"},"corridor":{"description":"Declared target corridor.","type":"string"},"country":{"description":"Declared target country, not the source country.","type":"string"},"decision_scope_level":{"description":"Explicit decision scope. Subnational needs declared locality. A country-only decision must be declared, not inferred from absent districts.","enum":["country","subnational"],"type":"string"},"district":{"description":"Nonblank target district; not verified source coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Target districts as nonblank strings; empty is allowed but does not declare subnational scope.","items":{"pattern":"\\S","type":"string"},"type":"array"},"micro_context":{"description":"Explicit local decision context.","type":"string"},"region":{"description":"Declared target region.","type":"string"},"town_or_zone":{"description":"Declared target town or zone.","type":"string"}},"type":"object"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"subject":{"additionalProperties":true,"description":"Resolved or supplied entity under assessment.","properties":{"entity_archetype":{"type":"string"},"entity_name":{"type":"string"},"sector":{"type":"string"}},"type":"object"},"target_claim":{"description":"Exact claim or readiness question to authorize, limit, or abstain on.","type":"string"},"target_use":{"description":"Internal planning, pilot design, customer-facing, investor-facing, or rollout use.","type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}after
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Entity and market context to canonicalize before evidence assessment.","minProperties":1,"properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"country":{"description":"ISO country code or country name when known.","type":"string"},"entity_archetype":{"description":"Known MVR archetype, if already identified.","type":"string"},"entity_name":{"description":"Venture, company, market actor, or hypothetical entity name.","type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Individual face-to-face/telephone collection also requires staffing, duration, total available minutes per collector and sample size. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for individual face-to-face/telephone interviews, not invented for documentary evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Individual face-to-face/telephone collection also requires staffing, duration, total available minutes per collector and sample size. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for individual face-to-face/telephone interviews, not invented for documentary evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Declared decision geography, not source geography. Supply district/districts or decision_scope_level country/subnational; subnational requires locality. No district is inferred from claim prose.","properties":{"city":{"description":"Declared target city.","type":"string"},"corridor":{"description":"Declared target corridor.","type":"string"},"country":{"description":"Declared target country, not the source country.","type":"string"},"decision_scope_level":{"description":"Explicit decision scope. Subnational needs declared locality. A country-only decision must be declared, not inferred from absent districts.","enum":["country","subnational"],"type":"string"},"district":{"description":"Nonblank target district; not verified source coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Target districts as nonblank strings; empty is allowed but does not declare subnational scope.","items":{"pattern":"\\S","type":"string"},"type":"array"},"micro_context":{"description":"Explicit local decision context.","type":"string"},"region":{"description":"Declared target region.","type":"string"},"town_or_zone":{"description":"Declared target town or zone.","type":"string"}},"type":"object"},"organization_type":{"description":"Founder, SME, corporate, investor, institution, or other operator type when relevant.","type":"string"},"query":{"description":"Free-text entity description when no stable name exists.","type":"string"},"sector":{"description":"Sector or operating category when known.","type":"string"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}after
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Evidence pack and decision context to test for missing proof.","properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"decision_stage":{"description":"Idea, pre-entry, pilot, launch, expansion, or scale stage.","type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Individual face-to-face/telephone collection also requires staffing, duration, total available minutes per collector and sample size. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for individual face-to-face/telephone interviews, not invented for documentary evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Individual face-to-face/telephone collection also requires staffing, duration, total available minutes per collector and sample size. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for individual face-to-face/telephone interviews, not invented for documentary evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Declared decision geography, not source geography. Supply district/districts or decision_scope_level country/subnational; subnational requires locality. No district is inferred from claim prose.","properties":{"city":{"description":"Declared target city.","type":"string"},"corridor":{"description":"Declared target corridor.","type":"string"},"country":{"description":"Declared target country, not the source country.","type":"string"},"decision_scope_level":{"description":"Explicit decision scope. Subnational needs declared locality. A country-only decision must be declared, not inferred from absent districts.","enum":["country","subnational"],"type":"string"},"district":{"description":"Nonblank target district; not verified source coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Target districts as nonblank strings; empty is allowed but does not declare subnational scope.","items":{"pattern":"\\S","type":"string"},"type":"array"},"micro_context":{"description":"Explicit local decision context.","type":"string"},"region":{"description":"Declared target region.","type":"string"},"town_or_zone":{"description":"Declared target town or zone.","type":"string"}},"type":"object"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"subject":{"additionalProperties":true,"description":"Resolved or supplied entity under assessment.","properties":{"entity_archetype":{"type":"string"},"entity_name":{"type":"string"},"sector":{"type":"string"}},"type":"object"},"target_claim":{"description":"Claim or readiness question the evidence is meant to support.","type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}after
{"additionalProperties":true,"properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"company_name":{"type":"string"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"country":{"type":"string"},"entity":{"type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Individual face-to-face/telephone collection also requires staffing, duration, total available minutes per collector and sample size. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for individual face-to-face/telephone interviews, not invented for documentary evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"collection_context":{"additionalProperties":true,"description":"Source-grounded collection declarations, not source authentication. Unknown facts must remain missing; do not invent values to pass. Field decision use requires source modality, collector relationship, interview mode, source-document identity and an explicit parent-source list. Individual face-to-face/telephone collection also requires staffing, duration, total available minutes per collector and sample size. Independent verification labels require a separate reviewer relationship; persisted review is still checked separately.","properties":{"collector_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"enumerator_count":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"fieldwork_window_minutes":{"description":"Total available collection minutes per collector across the entire period, not daily or team-person-minutes.","exclusiveMinimum":0,"type":"number"},"interview_duration_minutes":{"exclusiveMinimum":0,"type":"number"},"interview_mode":{"enum":["face_to_face","telephone","online","focus_group","group_interview","observation","administrative_record","unknown"],"type":"string"},"reviewer_relationship":{"enum":["independent","employee","company_staff","internal","contractor","partner","self_collected","unknown"],"type":"string"},"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"},"source_modality":{"enum":["direct_observation","documentary","secondary_summary","unknown"],"type":"string"}},"type":"object"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"description":"Field evidence needs source_doc_id and an explicit parent_source_ids array (empty allowed). Unknown lineage stays incomplete, not invented.","properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Declared source family; distinct labels do not prove independence.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"sample_size":{"description":"Actual sample size; required for individual face-to-face/telephone interviews, not invented for documentary evidence.","maximum":9007199254740991,"minimum":1,"type":"integer"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"survey_payload":{"additionalProperties":true,"description":"Existing sample_size alias; all supplied sample-size aliases must agree.","properties":{"sample_size":{"maximum":9007199254740991,"minimum":1,"type":"integer"}},"type":"object"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"known_partners":{"items":{"type":"string"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Declared decision geography, not source geography. Supply district/districts or decision_scope_level country/subnational; subnational requires locality. No district is inferred from claim prose.","properties":{"city":{"description":"Declared target city.","type":"string"},"corridor":{"description":"Declared target corridor.","type":"string"},"country":{"description":"Declared target country, not the source country.","type":"string"},"decision_scope_level":{"description":"Explicit decision scope. Subnational needs declared locality. A country-only decision must be declared, not inferred from absent districts.","enum":["country","subnational"],"type":"string"},"district":{"description":"Nonblank target district; not verified source coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Target districts as nonblank strings; empty is allowed but does not declare subnational scope.","items":{"pattern":"\\S","type":"string"},"type":"array"},"micro_context":{"description":"Explicit local decision context.","type":"string"},"region":{"description":"Declared target region.","type":"string"},"town_or_zone":{"description":"Declared target town or zone.","type":"string"}},"type":"object"},"question":{"type":"string"},"sector":{"type":"string"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"target_users":{"type":"string"},"use_case":{"type":"string"}},"type":"object"}after
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Decision question, resolved subject, market scope, and evidence for a bounded recommendation or abstention.","properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"decision_stage":{"description":"Idea, pre-entry, pilot, launch, expansion, or scale stage.","type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Geography for the proposed decision.","properties":{"city":{"type":"string"},"corridor":{"type":"string"},"country":{"type":"string"},"region":{"type":"string"}},"type":"object"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"subject":{"additionalProperties":true,"description":"Resolved or supplied entity under assessment.","properties":{"entity_archetype":{"type":"string"},"entity_name":{"type":"string"},"sector":{"type":"string"}},"type":"object"},"target_claim":{"description":"Exact claim or readiness question to authorize, limit, or abstain on.","type":"string"},"target_use":{"description":"Internal planning, pilot design, customer-facing, investor-facing, or rollout use.","type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}after
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Entity and market context to canonicalize before evidence assessment.","minProperties":1,"properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"country":{"description":"ISO country code or country name when known.","type":"string"},"entity_archetype":{"description":"Known MVR archetype, if already identified.","type":"string"},"entity_name":{"description":"Venture, company, market actor, or hypothetical entity name.","type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Target geography for the proposed decision.","properties":{"city":{"type":"string"},"corridor":{"type":"string"},"country":{"type":"string"},"region":{"type":"string"}},"type":"object"},"organization_type":{"description":"Founder, SME, corporate, investor, institution, or other operator type when relevant.","type":"string"},"query":{"description":"Free-text entity description when no stable name exists.","type":"string"},"sector":{"description":"Sector or operating category when known.","type":"string"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}after
{"additionalProperties":false,"properties":{"payload":{"additionalProperties":true,"description":"Evidence pack and decision context to test for missing proof.","properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"decision_stage":{"description":"Idea, pre-entry, pilot, launch, expansion, or scale stage.","type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"market_scope":{"additionalProperties":true,"description":"Geography in which the evidence must be valid.","properties":{"city":{"type":"string"},"corridor":{"type":"string"},"country":{"type":"string"},"region":{"type":"string"}},"type":"object"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"subject":{"additionalProperties":true,"description":"Resolved or supplied entity under assessment.","properties":{"entity_archetype":{"type":"string"},"entity_name":{"type":"string"},"sector":{"type":"string"}},"type":"object"},"target_claim":{"description":"Claim or readiness question the evidence is meant to support.","type":"string"}},"type":"object"}},"required":["payload"],"type":"object"}after
{"additionalProperties":true,"properties":{"analysis_date":{"description":"Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff.","type":"string"},"analysis_timezone":{"description":"Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day.","type":"string"},"claims":{"description":"Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.","items":{"properties":{"claim":{"description":"Minimal public-safe target proposition.","type":"string"},"claim_id":{"description":"Opaque claim identifier.","type":"string"},"support_links":{"items":{"properties":{"claim_id":{"description":"Must match the containing claim.","type":"string"},"evidence_id":{"description":"Must identify an item in this complete evidence pack.","type":"string"},"locator":{"description":"Specific page, cell or section. A locator is not proof.","type":"string"},"relationship":{"enum":["direct_support","qualifies","contradicts","context_only"],"type":"string"},"review_event_id":{"description":"Only the licensed review service can check this event; ignored as authority by public preflight.","type":"string"}},"required":["claim_id","evidence_id","relationship","locator"],"type":"object"},"type":"array"}},"required":["claim_id","claim"],"type":"object"},"type":"array"},"company_name":{"type":"string"},"context_freshness_window_days":{"description":"Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.","minimum":1,"type":"integer"},"country":{"type":"string"},"entity":{"type":"string"},"evidence_available":{"description":"Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists.","items":{"type":"string"},"type":"array"},"evidence_items":{"description":"Alias for evidence_pack. Supply one field, not conflicting copies.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"evidence_pack":{"description":"Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.","items":{"additionalProperties":true,"description":"A caller-declared, consented and redacted evidence item. No required fields at intake: incomplete items receive correction feedback. Explicit artifact_role, evidence_role, source_role, record_role and content_role declarations admit only original_source_record, independent_evaluation or human_attestation; other declared roles are rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Omission remains supported for legacy items. Passing coverage never verifies truth, permission or readiness.","properties":{"claim":{"description":"Minimal, non-confidential claim supported by the item; do not send raw private interviews.","type":"string"},"evidence_geography":{"additionalProperties":true,"properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":"object"},"evidence_origin":{"description":"Alias for source_class. Source-class precedence: source_class, evidence_origin, source_family, then evidence_type.","type":"string"},"evidence_type":{"description":"What was collected, for example interview, field observation or licence record. Not merely the conclusion.","type":"string"},"freshness_date":{"description":"Compatibility alias for source_date; conflicting supplied dates require correction.","type":"string"},"geography":{"additionalProperties":true,"description":"Source country name/code or broader description, or an object with country, city, region and town_or_zone strings, a nonblank district string and a districts array of nonblank strings (empty allowed). Known country conflicts, including conflicting evidence_geography.country, are flagged; local applicability is not authenticated.","properties":{"city":{"description":"Declared source city.","type":"string"},"country":{"description":"Declared source country, not the target country.","type":"string"},"district":{"description":"Nonblank declared source district, not verified local coverage.","pattern":"\\S","type":"string"},"districts":{"description":"Declared source districts, each a nonblank string. An empty array is allowed. Not verified fieldwork or representative coverage.","items":{"pattern":"\\S","type":"string"},"type":"array"},"region":{"description":"Declared source region.","type":"string"},"town_or_zone":{"description":"Declared source town or zone.","type":"string"}},"type":["string","object"]},"id":{"description":"Optional item identifier. Does not establish a distinct source.","type":"string"},"is_load_bearing":{"description":"Compatibility alias for load_bearing.","type":"boolean"},"load_bearing":{"description":"True if the target recommendation materially depends on this item.","type":"boolean"},"parent_source_ids":{"items":{"type":"string"},"type":"array"},"provenance_ledger":{"additionalProperties":true,"properties":{"parent_source_ids":{"items":{"type":"string"},"type":"array"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"synthetic_fields":{"description":"Source-reference fields that were generated rather than observed; these do not establish lineage.","items":{"type":"string"},"type":"array"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"}},"type":"object"},"source_class":{"description":"Origin label, for example entity_reported, regulator_published, structured_field_research, operational_data or counterparty_reference. model_inferred is not source evidence and is rejected with ARTIFACT_ROLE_NOT_SOURCE_EVIDENCE. Never relabel it to pass. Origin is not a claim of independence.","type":"string"},"source_date":{"description":"Declared source date, YYYY-MM-DD or ISO timestamp with timezone. Date validity and age can be checked; the source and current applicability remain unverified.","type":"string"},"source_doc_id":{"description":"Opaque source-document reference, not an evidence-item ID or personal identifier.","type":"string"},"source_family":{"description":"Compatibility origin label; source_class takes precedence.","type":"string"},"source_grade":{"description":"Caller-supplied grade. Not a substitute for verification or source lineage.","type":"string"},"source_hash":{"description":"Optional SHA-256 source hash, 64 hexadecimal characters; a hash does not authenticate its origin.","type":"string"},"source_locator":{"description":"Redacted document-specific locator, not the shared folder holding unrelated documents. Never invent a locator. Genuine shared upstream references count together.","type":"string"},"source_url":{"description":"Source reference only; the sandbox does not fetch or authenticate it.","type":"string"},"stakeholder_class":{"description":"Role represented, for example guardian, customer, supplier or partner. Do not submit a person identifier.","type":"string"},"status":{"description":"Legacy alias for verification_status.","type":"string"},"upstream_source_ids":{"description":"Disclose shared upstream sources; distinct identifiers do not prove independence.","items":{"type":"string"},"type":"array"},"verification_status":{"description":"Caller label. verified, independently_verified, corroborated, attested, confirmed and validated count for the structural prefilter only. self_attested, unverified, missing and other labels do not. Do not change labels without actually checking the source.","type":"string"}},"type":"object"},"type":"array"},"known_partners":{"items":{"type":"string"},"type":"array"},"question":{"type":"string"},"sector":{"type":"string"},"stage":{"description":"Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.","type":"string"},"target_users":{"type":"string"},"use_case":{"type":"string"}},"type":"object"}