{"schema":"qazvision-training-simulator-scenario-pack/v0","generated_at":"2026-09-05","source_policy":{"private_data_allowed":false,"fictional_claims_allowed":false,"ai_generated_answers_as_truth":false,"janus_is_optional_helper":true,"summary":"Use only public Qaz.Vision evidence URLs and machine-readable status surfaces. Janus may assist, but deterministic scoring is based on explicit evidence fields."},"scenario_count":10,"scenario_types":["claim_verification","freshness_triage","interop_review","janus_answer_review","machine_contract_review","release_gate","role_period_check","source_span_review"],"decision_options":["accept_as_identity_export","accept_as_working_coverage","accept_for_monitoring","accept_if_gate_ok_with_warnings","accept_if_source_url_and_text_present","accept_with_boundary","escalate_for_role_period_review","escalate_if_no_exact_span","reject_as_public_evidence","score_with_regression_rubric"],"scenarios":[{"scenario_id":"qv-sim-001-source-freshness","scenario_type":"freshness_triage","title":"Can the corpus be used for a same-day briefing?","role":"newsroom_editor","task":"Check whether current monitored sources show unresolved recent gaps before using Qaz.Vision for a same-day briefing.","evidence_paths":["/status","/status.json"],"allowed_tools":["status_page","status_json"],"expected_decision":"accept_with_boundary","scoring_rubric":["Reads source_freshness_audit.attention_required.","Distinguishes no new source items from failed checks and unmeasured coverage using the current audit.","Does not claim exhaustive real-time coverage."],"do_not_claim":"Do not say Qaz.Vision covers every public statement in real time."},{"scenario_id":"qv-sim-002-entity-graph-working-link","scenario_type":"role_period_check","title":"Verify a high-coverage person-role-institution chain","role":"analyst","task":"Use the graph layer to verify that a high-document-count role chain is evidence-backed.","evidence_paths":["/graf-svyazey","/api/entity-graph.json","/tokaev-persona"],"allowed_tools":["entity_graph_page","entity_graph_json","person_page"],"expected_decision":"accept_as_working_coverage","scoring_rubric":["Uses a role_period node, not only a person label.","Checks the document count or coverage state.","Links back to the public person page."],"do_not_claim":"Do not infer personal networks or hidden influence from the role graph."},{"scenario_id":"qv-sim-003-entity-graph-anchor-only","scenario_type":"role_period_check","title":"Separate anchor nodes from working coverage","role":"fact_checker","task":"Identify whether a low-document role period should be treated as working coverage or an anchor needing review.","evidence_paths":["/graf-svyazey","/api/entity-graph.json"],"allowed_tools":["entity_graph_page","entity_graph_json"],"expected_decision":"escalate_for_role_period_review","scoring_rubric":["Finds coverage_state or document-count evidence.","Does not upgrade anchor-only nodes to full coverage.","Records the exact role/institution label needing review."],"do_not_claim":"Do not call anchor-only role periods complete."},{"scenario_id":"qv-sim-004-janus-grounding-review","scenario_type":"janus_answer_review","title":"Review an assistant answer for grounding","role":"assistant_quality_reviewer","task":"Run the Janus regression checklist and classify an answer as pass, warn or fail based on source presence and unsupported claims.","evidence_paths":["/ii-assistent","/status.json","docs/janus-regression-pack-2026-06-30.md"],"allowed_tools":["janus_widget","status_json","janus_regression_checklist"],"expected_decision":"score_with_regression_rubric","scoring_rubric":["Requires answer sources.","Flags unsupported claims.","Flags answers that are too long for a brief query."],"do_not_claim":"Do not treat Janus output as evidence without source links."},{"scenario_id":"qv-sim-005-ai-manifest-boundary","scenario_type":"machine_contract_review","title":"Check QazLake evidence boundary in the AI manifest","role":"data_policy_reviewer","task":"Verify whether QazLake media can be used as public Qaz.Vision evidence.","evidence_paths":["/ai.json","/llms-full.txt"],"allowed_tools":["ai_manifest","llms_full"],"expected_decision":"reject_as_public_evidence","scoring_rubric":["Finds ecosystem_integrations.qazlake.","Notes automatic_media_enrichment=false.","Preserves Qaz.Vision canonical_url and official source_urls as evidence."],"do_not_claim":"Do not promote QazLake media search results into Qaz.Vision corpus evidence."},{"scenario_id":"qv-sim-006-temporal-feed","scenario_type":"machine_contract_review","title":"Use the temporal feed without downloading the corpus","role":"monitoring_operator","task":"Confirm that a monitor can use the QazStack temporal feed for recent document events.","evidence_paths":["/api/temporal/events.json","/ai.json"],"allowed_tools":["temporal_events","ai_manifest"],"expected_decision":"accept_for_monitoring","scoring_rubric":["Checks schema_version.","Uses event count or latest events only.","Does not treat the temporal feed as a full corpus export."],"do_not_claim":"Do not say temporal events replace document or atom exports."},{"scenario_id":"qv-sim-007-followthemoney-export","scenario_type":"interop_review","title":"Verify identity export availability","role":"research_data_user","task":"Check whether FollowTheMoney-compatible export is available and bounded for health checks.","evidence_paths":["/api-i-dannye","/api/interop/followthemoney.ndjson"],"allowed_tools":["api_docs","followthemoney_head"],"expected_decision":"accept_as_identity_export","scoring_rubric":["Uses HEAD or a bounded sample for health.","Confirms content type or endpoint listing.","Does not materialize a large export during routine health check."],"do_not_claim":"Do not claim full OpenSanctions equivalence; this is a narrow compatible export."},{"scenario_id":"qv-sim-008-document-source-card","scenario_type":"claim_verification","title":"Verify a document with source URL and full text","role":"journalist","task":"Open a recent document and decide whether it can support a cited statement in a briefing.","evidence_paths":["/status.json","/dokument/1"],"allowed_tools":["latest_documents","document_page"],"expected_decision":"accept_if_source_url_and_text_present","scoring_rubric":["Uses a real latest document URL from status.json rather than hard-coding an old page.","Checks source URL and full text presence.","Copies citation with Qaz.Vision URL and official source URL when available."],"do_not_claim":"Do not use a document card if text or source URL is missing."},{"scenario_id":"qv-sim-009-source-span-review","scenario_type":"source_span_review","title":"Decide whether a thesis has exact source-span evidence","role":"evidence_editor","task":"Review whether a thesis can be treated as source-span backed or should remain in the editorial queue.","evidence_paths":["/dokument/1","scripts/audit_release_quality.py","scripts/backfill_evidence_spans.py"],"allowed_tools":["document_page","release_quality_audit","source_span_backfill"],"expected_decision":"escalate_if_no_exact_span","scoring_rubric":["Distinguishes exact source span from reconstructed or missing evidence.","Does not guess offsets for ambiguous text.","Uses the editorial queue when exact span is absent."],"do_not_claim":"Do not call a thesis fully audited without an exact or reviewer-confirmed source span."},{"scenario_id":"qv-sim-010-release-go-no-go","scenario_type":"release_gate","title":"Run a release go/no-go check","role":"release_operator","task":"Decide whether the current release is safe after running the live release-quality gate.","evidence_paths":["scripts/live_release_quality_gate.py","/api/release.json","/status.json"],"allowed_tools":["live_release_quality_gate","release_manifest","status_json"],"expected_decision":"accept_if_gate_ok_with_warnings","scoring_rubric":["Fails on critical release-quality regressions.","Allows known multilingual/source-span warnings only as documented debt.","Requires live smoke and route proof to pass."],"do_not_claim":"Do not call warnings closed unless the data backfill actually changed the metrics."}]}