eduevidence 5.2.0 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/CONTRIBUTING.md +105 -0
  2. package/README.md +142 -75
  3. package/README.zh-CN.md +73 -30
  4. package/SKILL.md +397 -131
  5. package/agents/openai.yaml +4 -0
  6. package/assets/readme/controlled-execution.svg +34 -0
  7. package/assets/readme/landing-tour.gif +0 -0
  8. package/assets/readme/logo.png +0 -0
  9. package/assets/readme/research-workflow.svg +56 -0
  10. package/assets/readme/studio-graph.png +0 -0
  11. package/assets/readme/studio-overview.png +0 -0
  12. package/assets/readme/studio-reports.png +0 -0
  13. package/assets/readme/studio-tour.gif +0 -0
  14. package/autoevolve/config.yaml +17 -0
  15. package/autoevolve/program.md +25 -0
  16. package/autoevolve/protected.manifest.yaml +34 -0
  17. package/benchmarks/adversarial/cases.jsonl +7 -0
  18. package/benchmarks/evidence-library.json +5268 -0
  19. package/benchmarks/partitions.json +8 -0
  20. package/bin/eduevidence.js +2 -1
  21. package/docs/architecture.md +496 -0
  22. package/docs/autoresearch-evolution-plan.md +2903 -0
  23. package/docs/autoresearch-implementation-status.md +101 -0
  24. package/docs/demo-storyboard.md +20 -0
  25. package/docs/demo-workplace-ai.md +92 -0
  26. package/docs/demo.md +32 -0
  27. package/docs/install-guide.md +150 -0
  28. package/docs/orchestration-role-model.md +1254 -0
  29. package/docs/release-closeout/README.md +17 -0
  30. package/docs/release-closeout/frontend-acceptance.md +23 -0
  31. package/docs/release-closeout/issues.md +19 -0
  32. package/docs/release-closeout/verification.md +28 -0
  33. package/docs/release-contract.md +108 -0
  34. package/docs/research-studio-guide.zh-CN.md +166 -0
  35. package/docs/sciverse-api.md +125 -0
  36. package/eduevidence_cli.py +29 -13
  37. package/engine/_resources.py +13 -0
  38. package/engine/autoevolve/__init__.py +3 -0
  39. package/engine/autoevolve/agent_view.py +167 -0
  40. package/engine/autoevolve/core.py +357 -0
  41. package/engine/autoevolve/events.py +11 -0
  42. package/engine/autoevolve/git_workspace.py +77 -0
  43. package/engine/autoevolve/projection.py +23 -0
  44. package/engine/autoevolve/runner.py +413 -0
  45. package/engine/autoevolve/trust.py +146 -0
  46. package/engine/autoresearch/__init__.py +6 -0
  47. package/engine/autoresearch/commit.py +132 -0
  48. package/engine/autoresearch/contracts.py +126 -0
  49. package/engine/autoresearch/controller.py +207 -0
  50. package/engine/autoresearch/events.py +12 -0
  51. package/engine/autoresearch/gap_priority.py +168 -0
  52. package/engine/autoresearch/projection.py +30 -0
  53. package/engine/autoresearch/research_memory.py +59 -0
  54. package/engine/autoresearch/saturation.py +91 -0
  55. package/engine/briefs.py +2 -1
  56. package/engine/capabilities.py +1 -0
  57. package/engine/contracts.py +3 -1
  58. package/engine/decision_policy.py +96 -0
  59. package/engine/evidence_graph.py +14 -10
  60. package/engine/evidencecore.py +7 -5
  61. package/engine/gaps.py +132 -73
  62. package/engine/ids.py +2 -0
  63. package/engine/judge_pack.py +65 -0
  64. package/engine/library.py +6 -2
  65. package/engine/library_builtin.py +3 -1
  66. package/engine/living.py +36 -5
  67. package/engine/meta_synthesis.py +3 -1
  68. package/engine/migration.py +88 -3
  69. package/engine/orchestration.py +460 -0
  70. package/engine/paths.py +2 -0
  71. package/engine/pilot.py +36 -33
  72. package/engine/project.py +2 -2
  73. package/engine/research_service.py +113 -0
  74. package/engine/studio_read_model.py +400 -0
  75. package/engine/taxonomy.py +211 -0
  76. package/engine/tribunal.py +44 -33
  77. package/engine/update.py +1 -0
  78. package/engine/versions.py +1 -1
  79. package/engine/worker_result.py +109 -0
  80. package/engine/workflows.py +70 -0
  81. package/examples/ai-coding-assistant-evidence/EduEvidence_Report.html +2934 -0
  82. package/examples/ai-coding-assistant-evidence/artifact_manifest.json +15 -0
  83. package/examples/ai-coding-assistant-evidence/citation_check.json +79 -0
  84. package/examples/ai-coding-assistant-evidence/claims.jsonl +12 -0
  85. package/examples/ai-coding-assistant-evidence/evaluation.json +35 -0
  86. package/examples/ai-coding-assistant-evidence/evidence.jsonl +12 -0
  87. package/examples/ai-coding-assistant-evidence/final_verdict.json +107 -0
  88. package/examples/ai-coding-assistant-evidence/frame.json +48 -0
  89. package/examples/ai-coding-assistant-evidence/gate_report.json +101 -0
  90. package/examples/ai-coding-assistant-evidence/intervention.json +51 -0
  91. package/examples/ai-coding-assistant-evidence/methodology.json +36 -0
  92. package/examples/ai-coding-assistant-evidence/raw_verdict.json +86 -0
  93. package/examples/ai-coding-assistant-evidence/report_spec.json +230 -0
  94. package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_academic.html +2934 -0
  95. package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_claude.html +2934 -0
  96. package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_datalab-dark.html +2934 -0
  97. package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_datalab.html +2934 -0
  98. package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_presentation.html +2934 -0
  99. package/examples/ai-coding-assistant-evidence/reports-5themes/report_academic.html +2934 -0
  100. package/examples/ai-coding-assistant-evidence/reports-5themes/report_claude.html +2934 -0
  101. package/examples/ai-coding-assistant-evidence/reports-5themes/report_datalab-dark.html +2934 -0
  102. package/examples/ai-coding-assistant-evidence/reports-5themes/report_datalab.html +2934 -0
  103. package/examples/ai-coding-assistant-evidence/reports-5themes/report_presentation.html +2934 -0
  104. package/examples/ai-coding-assistant-evidence/result.json +1457 -0
  105. package/examples/ai-coding-assistant-evidence/result.zh.json +1457 -0
  106. package/examples/ai-coding-assistant-evidence/skeptic.json +72 -0
  107. package/examples/ai-coding-assistant-evidence/sources.jsonl +8 -0
  108. package/examples/ai-coding-assistant-evidence/verdict.json +107 -0
  109. package/examples/spaced-retrieval-practice/applicability.json +14 -0
  110. package/examples/spaced-retrieval-practice/artifact_manifest.json +15 -0
  111. package/examples/spaced-retrieval-practice/claims.jsonl +3 -0
  112. package/examples/spaced-retrieval-practice/evidence.jsonl +6 -0
  113. package/examples/spaced-retrieval-practice/final_verdict.json +93 -0
  114. package/examples/spaced-retrieval-practice/frame.json +58 -0
  115. package/examples/spaced-retrieval-practice/gate_report.json +101 -0
  116. package/examples/spaced-retrieval-practice/methodology.json +78 -0
  117. package/examples/spaced-retrieval-practice/report_spec.json +212 -0
  118. package/examples/spaced-retrieval-practice/reports-5themes/EduEvidence_Report_academic.html +2728 -0
  119. package/examples/spaced-retrieval-practice/reports-5themes/EduEvidence_Report_claude.html +2728 -0
  120. package/examples/spaced-retrieval-practice/reports-5themes/EduEvidence_Report_datalab-dark.html +2728 -0
  121. package/examples/spaced-retrieval-practice/reports-5themes/EduEvidence_Report_datalab.html +2728 -0
  122. package/examples/spaced-retrieval-practice/reports-5themes/EduEvidence_Report_presentation.html +2728 -0
  123. package/examples/spaced-retrieval-practice/reports-5themes/report_academic.html +2728 -0
  124. package/examples/spaced-retrieval-practice/reports-5themes/report_claude.html +2728 -0
  125. package/examples/spaced-retrieval-practice/reports-5themes/report_datalab-dark.html +2728 -0
  126. package/examples/spaced-retrieval-practice/reports-5themes/report_datalab.html +2728 -0
  127. package/examples/spaced-retrieval-practice/reports-5themes/report_presentation.html +2728 -0
  128. package/examples/spaced-retrieval-practice/result.json +942 -0
  129. package/examples/spaced-retrieval-practice/result.zh.json +942 -0
  130. package/examples/spaced-retrieval-practice/skeptic.json +70 -0
  131. package/examples/spaced-retrieval-practice/sources.jsonl +7 -0
  132. package/examples/spaced-retrieval-practice/verdict.json +93 -0
  133. package/examples/workplace-ai-assistant/artifact_manifest.json +15 -0
  134. package/examples/workplace-ai-assistant/claims.jsonl +4 -0
  135. package/examples/workplace-ai-assistant/evaluation.json +19 -0
  136. package/examples/workplace-ai-assistant/evidence.jsonl +4 -0
  137. package/examples/workplace-ai-assistant/evidence_graph.json +444 -0
  138. package/examples/workplace-ai-assistant/final_verdict.json +78 -0
  139. package/examples/workplace-ai-assistant/frame.json +41 -0
  140. package/examples/workplace-ai-assistant/gate_report.json +101 -0
  141. package/examples/workplace-ai-assistant/intervention.json +27 -0
  142. package/examples/workplace-ai-assistant/legacy-link-check.json +16 -0
  143. package/examples/workplace-ai-assistant/methodology.json +60 -0
  144. package/examples/workplace-ai-assistant/report_spec.json +224 -0
  145. package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_academic.html +2814 -0
  146. package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_claude.html +2814 -0
  147. package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_datalab-dark.html +2814 -0
  148. package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_datalab.html +2814 -0
  149. package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_presentation.html +2814 -0
  150. package/examples/workplace-ai-assistant/reports-5themes/report_academic.html +2814 -0
  151. package/examples/workplace-ai-assistant/reports-5themes/report_claude.html +2814 -0
  152. package/examples/workplace-ai-assistant/reports-5themes/report_datalab-dark.html +2814 -0
  153. package/examples/workplace-ai-assistant/reports-5themes/report_datalab.html +2814 -0
  154. package/examples/workplace-ai-assistant/reports-5themes/report_presentation.html +2814 -0
  155. package/examples/workplace-ai-assistant/result.json +615 -0
  156. package/examples/workplace-ai-assistant/result.zh.json +615 -0
  157. package/examples/workplace-ai-assistant/search_log.json +19 -0
  158. package/examples/workplace-ai-assistant/skeptic.json +72 -0
  159. package/examples/workplace-ai-assistant/sources.jsonl +3 -0
  160. package/examples/workplace-ai-assistant/validation_result.json +9 -0
  161. package/examples/workplace-ai-assistant/verdict.json +78 -0
  162. package/install.sh +7 -7
  163. package/integrations/agent_mcp.py +2 -2
  164. package/integrations/orchestration_dispatch.py +146 -0
  165. package/package.json +46 -3
  166. package/pyproject.toml +14 -22
  167. package/references/autoresearch.md +30 -0
  168. package/references/evaluation-policy.md +24 -0
  169. package/references/orchestration.md +22 -0
  170. package/references/report-copy-style.md +67 -0
  171. package/references/retrieval-compliance.md +75 -0
  172. package/references/retrieval-protocol.md +20 -0
  173. package/references/scientific-invariants.md +19 -0
  174. package/retrieval/audit.py +178 -0
  175. package/retrieval/fetch.py +96 -0
  176. package/retrieval/sciverse.py +398 -0
  177. package/retrieval/search.py +47 -7
  178. package/schemas/applicability.schema.json +94 -0
  179. package/schemas/chart-spec.schema.json +10 -3
  180. package/schemas/evidence.schema.json +316 -43
  181. package/schemas/fetch-result.schema.json +2 -1
  182. package/schemas/intervention.schema.json +106 -21
  183. package/schemas/report-result.schema.json +12 -4
  184. package/schemas/report-spec.schema.json +98 -100
  185. package/schemas/skeptic.schema.json +86 -0
  186. package/schemas/source.schema.json +21 -2
  187. package/schemas/v2/finding.schema.json +5 -1
  188. package/schemas/v2/methodology-audit.schema.json +5 -1
  189. package/schemas/v2/outcome.schema.json +28 -5
  190. package/schemas/v2/project.schema.json +2 -2
  191. package/schemas/v2/run.schema.json +1 -1
  192. package/schemas/v2/study.schema.json +5 -1
  193. package/schemas/vNext/autoevolve-session.schema.json +34 -0
  194. package/schemas/vNext/eval-snapshot.schema.json +77 -0
  195. package/schemas/vNext/execution-plan.schema.json +50 -0
  196. package/schemas/vNext/gap-priority.schema.json +54 -0
  197. package/schemas/vNext/negative-search-record.schema.json +68 -0
  198. package/schemas/vNext/research-iteration.schema.json +87 -0
  199. package/schemas/vNext/research-strategy.schema.json +62 -0
  200. package/schemas/vNext/skill-experiment.schema.json +90 -0
  201. package/schemas/vNext/task-spec.schema.json +156 -0
  202. package/schemas/vNext/worker-result.schema.json +60 -0
  203. package/schemas/verdict.schema.json +164 -28
  204. package/scripts/benchmark_judge.py +2 -2
  205. package/scripts/benchmark_v3.py +26 -43
  206. package/scripts/build_esl_artifacts.py +4 -4
  207. package/scripts/build_evidence_library.py +2 -2
  208. package/scripts/build_gh_pages.py +98 -0
  209. package/scripts/build_readme_diagrams.py +72 -0
  210. package/scripts/build_report_variants.py +101 -0
  211. package/scripts/build_result.py +74 -9
  212. package/scripts/check_autoresearch_invariants.py +95 -0
  213. package/scripts/check_package_parity.py +85 -0
  214. package/scripts/check_protocol_alignment.py +375 -0
  215. package/scripts/check_versioned_schemas.py +254 -0
  216. package/scripts/claim_audit.py +13 -8
  217. package/scripts/compute_confidence.py +10 -0
  218. package/scripts/daily_evolve.py +30 -0
  219. package/scripts/dashboard_server.py +130 -101
  220. package/scripts/did_regression.py +17 -32
  221. package/scripts/enrich_projects_human_and_lieflat.py +1 -1
  222. package/scripts/evidence_score.py +5 -2
  223. package/scripts/generate_metrics.py +4 -3
  224. package/scripts/generate_new_projects.py +5 -5
  225. package/scripts/orchestrator.py +286 -36
  226. package/scripts/pre_verdict_gate.py +224 -26
  227. package/scripts/quickstart.py +18 -2
  228. package/scripts/rebake_all_5themes.py +1 -2
  229. package/scripts/research_auto_cli.py +475 -0
  230. package/scripts/run_workspace.py +24 -8
  231. package/scripts/search_provenance.py +64 -0
  232. package/scripts/serve_web.py +9 -10
  233. package/scripts/skill_lint.py +1 -1
  234. package/scripts/skill_payload.py +81 -0
  235. package/scripts/test_adversarial_empirical.py +26 -19
  236. package/scripts/validate_schema.py +46 -2
  237. package/scripts/vnext_cli.py +133 -0
  238. package/setup.py +12 -0
  239. package/skill/agents/evaluation-designer.md +20 -4
  240. package/skill/agents/evidence-analyst.md +19 -3
  241. package/skill/agents/evidence-judge.md +50 -2
  242. package/skill/agents/evidence-retriever.md +20 -3
  243. package/skill/agents/intervention-designer.md +20 -4
  244. package/skill/agents/method-reviewer.md +18 -2
  245. package/skill/agents/{education-planner.md → research-planner.md} +19 -3
  246. package/skill/agents/skeptic.md +18 -2
  247. package/skill/roles/registry.yaml +45 -0
  248. package/skill/sub-skills/aihot-trend-analysis/SKILL.md +28 -9
  249. package/skill/sub-skills/contradiction-analysis/SKILL.md +31 -11
  250. package/skill/sub-skills/data-analysis/SKILL.md +34 -15
  251. package/skill/sub-skills/ethics-review/SKILL.md +33 -10
  252. package/skill/sub-skills/evidence-extraction/SKILL.md +29 -11
  253. package/skill/sub-skills/evidence-review/SKILL.md +31 -12
  254. package/skill/sub-skills/gap-analysis/SKILL.md +31 -9
  255. package/skill/sub-skills/literature-review/SKILL.md +35 -14
  256. package/skill/sub-skills/methodology-audit/SKILL.md +29 -12
  257. package/skill/sub-skills/report-generation/SKILL.md +40 -6
  258. package/skill/sub-skills/research-planning/SKILL.md +41 -14
  259. package/skill/sub-skills/study-design/SKILL.md +30 -9
  260. package/skill/task-briefs/adjudicate.md +32 -7
  261. package/skill/task-briefs/applicability.md +38 -0
  262. package/skill/task-briefs/audit.md +32 -7
  263. package/skill/task-briefs/challenge.md +34 -5
  264. package/skill/task-briefs/evaluate.md +30 -5
  265. package/skill/task-briefs/extract.md +31 -8
  266. package/skill/task-briefs/frame.md +39 -10
  267. package/skill/task-briefs/intervene.md +32 -6
  268. package/skill/task-briefs/present.md +32 -8
  269. package/skill/task-briefs/projection.md +37 -0
  270. package/skill/task-briefs/retrieve.md +36 -6
  271. package/skill/workflows/decision-and-pilot.md +85 -0
  272. package/skill/workflows/evaluate-and-update.md +93 -0
  273. package/skill/workflows/evidence-review.md +117 -0
  274. package/visualization/eduevidence-report/assets/base.css +2 -2
  275. package/visualization/eduevidence-report/assets/reader.css +752 -0
  276. package/visualization/eduevidence-report/assets/reader.js +132 -0
  277. package/visualization/eduevidence-report/references/chart-selection-catalog.md +109 -0
  278. package/visualization/eduevidence-report/references/lieflat-composition.md +3 -1
  279. package/visualization/eduevidence-report/scripts/build_figures.py +25 -3
  280. package/visualization/eduevidence-report/scripts/build_infographics.py +5 -1
  281. package/visualization/eduevidence-report/scripts/build_report.py +561 -121
  282. package/visualization/eduevidence-report/scripts/charts_data.py +2 -0
  283. package/visualization/eduevidence-report/scripts/lieflat_engine.py +371 -136
  284. package/visualization/eduevidence-report/scripts/zh_labels.py +80 -1
  285. package/visualization/eduevidence-report/themes/academic.css +1 -1
  286. package/visualization/eduevidence-report/themes/claude.css +1 -1
  287. package/visualization/eduevidence-report/themes/datalab-dark.css +2 -2
  288. package/visualization/eduevidence-report/themes/datalab.css +2 -2
  289. package/visualization/eduevidence-report/themes/presentation.css +2 -2
  290. package/web/README.md +18 -0
  291. package/web/architecture.html +14885 -0
  292. package/web/index.html +53 -0
  293. package/web/studio/THIRD_PARTY_LICENSES.txt +146 -0
  294. package/web/studio/assets/index-B8tkF44Q.css +1 -0
  295. package/web/studio/assets/index-CQ6Keoyc.js +230 -0
  296. package/web/studio/config.json +1 -0
  297. package/web/studio/index.html +14 -0
  298. package/engine/__pycache__/__init__.cpython-312.pyc +0 -0
  299. package/engine/__pycache__/analysis.cpython-312.pyc +0 -0
  300. package/engine/__pycache__/bias.cpython-312.pyc +0 -0
  301. package/engine/__pycache__/briefs.cpython-312.pyc +0 -0
  302. package/engine/__pycache__/capabilities.cpython-312.pyc +0 -0
  303. package/engine/__pycache__/citation_check.cpython-312.pyc +0 -0
  304. package/engine/__pycache__/contracts.cpython-312.pyc +0 -0
  305. package/engine/__pycache__/datasets.cpython-312.pyc +0 -0
  306. package/engine/__pycache__/events.cpython-312.pyc +0 -0
  307. package/engine/__pycache__/evidence_graph.cpython-312.pyc +0 -0
  308. package/engine/__pycache__/evidence_review.cpython-312.pyc +0 -0
  309. package/engine/__pycache__/evidencecore.cpython-312.pyc +0 -0
  310. package/engine/__pycache__/gap_lens.cpython-312.pyc +0 -0
  311. package/engine/__pycache__/gaps.cpython-312.pyc +0 -0
  312. package/engine/__pycache__/graph_store.cpython-312.pyc +0 -0
  313. package/engine/__pycache__/graph_validate.cpython-312.pyc +0 -0
  314. package/engine/__pycache__/ids.cpython-312.pyc +0 -0
  315. package/engine/__pycache__/library.cpython-312.pyc +0 -0
  316. package/engine/__pycache__/library_builtin.cpython-312.pyc +0 -0
  317. package/engine/__pycache__/living.cpython-312.pyc +0 -0
  318. package/engine/__pycache__/log.cpython-312.pyc +0 -0
  319. package/engine/__pycache__/meta_analysis.cpython-312.pyc +0 -0
  320. package/engine/__pycache__/meta_synthesis.cpython-312.pyc +0 -0
  321. package/engine/__pycache__/migration.cpython-312.pyc +0 -0
  322. package/engine/__pycache__/mode_router.cpython-312.pyc +0 -0
  323. package/engine/__pycache__/paths.cpython-312.pyc +0 -0
  324. package/engine/__pycache__/pilot.cpython-312.pyc +0 -0
  325. package/engine/__pycache__/planner.cpython-312.pyc +0 -0
  326. package/engine/__pycache__/project.cpython-312.pyc +0 -0
  327. package/engine/__pycache__/projections.cpython-312.pyc +0 -0
  328. package/engine/__pycache__/robustness.cpython-312.pyc +0 -0
  329. package/engine/__pycache__/run.cpython-312.pyc +0 -0
  330. package/engine/__pycache__/semantics.cpython-312.pyc +0 -0
  331. package/engine/__pycache__/study_design.cpython-312.pyc +0 -0
  332. package/engine/__pycache__/synthesis.cpython-312.pyc +0 -0
  333. package/engine/__pycache__/tribunal.cpython-312.pyc +0 -0
  334. package/engine/__pycache__/update.cpython-312.pyc +0 -0
  335. package/engine/__pycache__/versions.cpython-312.pyc +0 -0
  336. package/integrations/__pycache__/__init__.cpython-312.pyc +0 -0
  337. package/integrations/__pycache__/agent_mcp.cpython-312.pyc +0 -0
  338. package/integrations/__pycache__/smart_web_fetch.cpython-312.pyc +0 -0
  339. package/retrieval/__pycache__/__init__.cpython-312.pyc +0 -0
  340. package/retrieval/__pycache__/corpus_store.cpython-312.pyc +0 -0
  341. package/retrieval/__pycache__/dedupe.cpython-312.pyc +0 -0
  342. package/retrieval/__pycache__/failures.cpython-312.pyc +0 -0
  343. package/retrieval/__pycache__/fetch.cpython-312.pyc +0 -0
  344. package/retrieval/__pycache__/search.cpython-312.pyc +0 -0
  345. package/retrieval/__pycache__/source.cpython-312.pyc +0 -0
  346. package/retrieval/__pycache__/validate.cpython-312.pyc +0 -0
  347. package/scripts/__pycache__/__init__.cpython-312.pyc +0 -0
  348. package/scripts/__pycache__/benchmark.cpython-312.pyc +0 -0
  349. package/scripts/__pycache__/benchmark_evaluator.cpython-312.pyc +0 -0
  350. package/scripts/__pycache__/benchmark_judge.cpython-312.pyc +0 -0
  351. package/scripts/__pycache__/benchmark_routing.cpython-312.pyc +0 -0
  352. package/scripts/__pycache__/benchmark_v2.cpython-312.pyc +0 -0
  353. package/scripts/__pycache__/benchmark_v3.cpython-312.pyc +0 -0
  354. package/scripts/__pycache__/build_result.cpython-312.pyc +0 -0
  355. package/scripts/__pycache__/claim_audit.cpython-312.pyc +0 -0
  356. package/scripts/__pycache__/complexity_gate.cpython-312.pyc +0 -0
  357. package/scripts/__pycache__/compute_confidence.cpython-312.pyc +0 -0
  358. package/scripts/__pycache__/dashboard_server.cpython-312.pyc +0 -0
  359. package/scripts/__pycache__/did_regression.cpython-312.pyc +0 -0
  360. package/scripts/__pycache__/effect_calculator.cpython-312.pyc +0 -0
  361. package/scripts/__pycache__/evidence_matrix.cpython-312.pyc +0 -0
  362. package/scripts/__pycache__/evidence_score.cpython-312.pyc +0 -0
  363. package/scripts/__pycache__/evidence_semantics.cpython-312.pyc +0 -0
  364. package/scripts/__pycache__/fetch_benchmark.cpython-312.pyc +0 -0
  365. package/scripts/__pycache__/lint_report_layout.cpython-312.pyc +0 -0
  366. package/scripts/__pycache__/orchestrator.cpython-312.pyc +0 -0
  367. package/scripts/__pycache__/pre_verdict_gate.cpython-312.pyc +0 -0
  368. package/scripts/__pycache__/recompute_demo_quality.cpython-312.pyc +0 -0
  369. package/scripts/__pycache__/render_report.cpython-312.pyc +0 -0
  370. package/scripts/__pycache__/render_report_html.cpython-312.pyc +0 -0
  371. package/scripts/__pycache__/run_workspace.cpython-312.pyc +0 -0
  372. package/scripts/__pycache__/skill_lint.cpython-312.pyc +0 -0
  373. package/scripts/__pycache__/startup_probe.cpython-312.pyc +0 -0
  374. package/scripts/__pycache__/sync_killer_demo_report.cpython-312.pyc +0 -0
  375. package/scripts/__pycache__/test_adversarial_empirical.cpython-312-pytest-9.0.2.pyc +0 -0
  376. package/scripts/__pycache__/test_adversarial_empirical.cpython-312-pytest-9.1.1.pyc +0 -0
  377. package/scripts/__pycache__/validate_schema.cpython-312.pyc +0 -0
  378. package/visualization/eduevidence-report/scripts/__pycache__/adapter_contract.cpython-312.pyc +0 -0
  379. package/visualization/eduevidence-report/scripts/__pycache__/build_artifact_manifest.cpython-312.pyc +0 -0
  380. package/visualization/eduevidence-report/scripts/__pycache__/build_charts.cpython-312.pyc +0 -0
  381. package/visualization/eduevidence-report/scripts/__pycache__/build_figures.cpython-312.pyc +0 -0
  382. package/visualization/eduevidence-report/scripts/__pycache__/build_infographics.cpython-312.pyc +0 -0
  383. package/visualization/eduevidence-report/scripts/__pycache__/build_report.cpython-312.pyc +0 -0
  384. package/visualization/eduevidence-report/scripts/__pycache__/charts_data.cpython-312.pyc +0 -0
  385. package/visualization/eduevidence-report/scripts/__pycache__/lieflat_engine.cpython-312.pyc +0 -0
  386. package/visualization/eduevidence-report/scripts/__pycache__/zh_labels.cpython-312.pyc +0 -0
@@ -0,0 +1,70 @@
1
+ {
2
+ "search_performed": true,
3
+ "method": "derived from evidence corpus directions (demo/test mode)",
4
+ "skeptic_findings": [
5
+ {
6
+ "check": "1_null_result",
7
+ "status": "found",
8
+ "detail": "derived from the evidence corpus in demo/test mode",
9
+ "related_evidence_ids": [
10
+ "E-005"
11
+ ]
12
+ },
13
+ {
14
+ "check": "2_negative_result",
15
+ "status": "not_found",
16
+ "detail": "derived from the evidence corpus in demo/test mode",
17
+ "related_evidence_ids": []
18
+ },
19
+ {
20
+ "check": "3_contradictory_evidence",
21
+ "status": "not_found",
22
+ "detail": "derived from the evidence corpus in demo/test mode",
23
+ "related_evidence_ids": []
24
+ },
25
+ {
26
+ "check": "4_alternative_explanation",
27
+ "status": "found",
28
+ "detail": "derived from the evidence corpus in demo/test mode",
29
+ "related_evidence_ids": []
30
+ },
31
+ {
32
+ "check": "5_measurement_mismatch",
33
+ "status": "not_found",
34
+ "detail": "derived from the evidence corpus in demo/test mode",
35
+ "related_evidence_ids": []
36
+ },
37
+ {
38
+ "check": "6_sampling_bias",
39
+ "status": "not_found",
40
+ "detail": "derived from the evidence corpus in demo/test mode",
41
+ "related_evidence_ids": []
42
+ },
43
+ {
44
+ "check": "7_novelty_effect",
45
+ "status": "not_found",
46
+ "detail": "derived from the evidence corpus in demo/test mode",
47
+ "related_evidence_ids": []
48
+ },
49
+ {
50
+ "check": "8_ai_dependency",
51
+ "status": "not_found",
52
+ "detail": "derived from the evidence corpus in demo/test mode",
53
+ "related_evidence_ids": []
54
+ },
55
+ {
56
+ "check": "9_scope_overreach",
57
+ "status": "not_found",
58
+ "detail": "derived from the evidence corpus in demo/test mode",
59
+ "related_evidence_ids": []
60
+ }
61
+ ],
62
+ "contradictory_evidence_found": false,
63
+ "no_contradictory_evidence_statement": "NO CONTRADICTORY EVIDENCE FOUND",
64
+ "threats_to_validity": [
65
+ "materials differ across experiments",
66
+ "sample of convenience",
67
+ "short retention interval",
68
+ "single institution"
69
+ ]
70
+ }
@@ -0,0 +1,7 @@
1
+ {"source_id": "S-KARPICKE-EXPANDING-RETRIEVAL-PRACTICE", "title": "Expanding retrieval practice promotes short-term retention, but equally spaced retrieval enhances long-term retention.", "authors": ["Jeffrey D. Karpicke", "Henry L. Roediger"], "year": 2007, "doi": "10.1037/0278-7393.33.4.704", "canonical_url": "https://doi.org/10.1037/0278-7393.33.4.704", "source_type": "journal_article", "authority_level": "tier1_paper_doi", "discovered_by": "search", "discovery_provider": "sciverse", "fetch": {"fetch_status": "FETCH_VALID", "fetch_provider": "sciverse_content", "fetched_at": "2026-09-12T00:00:00+00:00", "doc_id": "e069d8f2e9492d57305fc1d8477ba042e93074fcb1bc3319faef7f3d0e0cad33", "offset": 0, "extensions": {"sciverse": {"doc_id": "e069d8f2e9492d57305fc1d8477ba042e93074fcb1bc3319faef7f3d0e0cad33", "offset": 0}}}, "content_hash": "", "dedupe_keys": {"canonical_url": "https://doi.org/10.1037/0278-7393.33.4.704", "doi": "10.1037/0278-7393.33.4.704", "title_fingerprint": "expandingretrievalpracticepromotesshorttermretentionbutequallysp", "content_hash": ""}, "status": "DISCOVERED"}
2
+ {"source_id": "S-SMITH-COVERT-RETRIEVAL-PRACTICE", "title": "Covert retrieval practice benefits retention as much as overt retrieval practice.", "authors": ["Megan A. Smith", "Henry L. Roediger", "Jeffrey D. Karpicke"], "year": 2013, "doi": "10.1037/a0033569", "canonical_url": "https://doi.org/10.1037/a0033569", "source_type": "journal_article", "authority_level": "tier1_paper_doi", "discovered_by": "search", "discovery_provider": "sciverse", "fetch": {"fetch_status": "FETCH_VALID", "fetch_provider": "sciverse_content", "fetched_at": "2026-09-12T00:00:00+00:00", "doc_id": "902842a9906c39fc7f033576871741049c44b7bb1fc1e0d35a0d9c9bff7829e4", "offset": 0, "extensions": {"sciverse": {"doc_id": "902842a9906c39fc7f033576871741049c44b7bb1fc1e0d35a0d9c9bff7829e4", "offset": 0}}}, "content_hash": "", "dedupe_keys": {"canonical_url": "https://doi.org/10.1037/a0033569", "doi": "10.1037/a0033569", "title_fingerprint": "covertretrievalpracticebenefitsretentionasmuchasovertretrievalpr", "content_hash": ""}, "status": "DISCOVERED"}
3
+ {"source_id": "S-HOPKINS-SPACED-RETRIEVAL-PRACTICE", "title": "Spaced Retrieval Practice Increases College Students’ Short- and Long-Term Retention of Mathematics Knowledge", "authors": ["Robin F. Hopkins", "Keith B. Lyle", "Jeff L. Hieb", "Patricia Ralston"], "year": 2016, "doi": "10.1007/s10648-015-9349-8", "canonical_url": "https://doi.org/10.1007/s10648-015-9349-8", "source_type": "journal_article", "authority_level": "tier1_paper_doi", "discovered_by": "search", "discovery_provider": "sciverse", "fetch": {"fetch_status": "FETCH_VALID", "fetch_provider": "sciverse_content", "fetched_at": "2026-09-12T00:00:00+00:00", "doc_id": "6dc15a82805e8edf16c8b1856860c07941368e51d1ce1a6de0c205686401ed10", "offset": 0, "extensions": {"sciverse": {"doc_id": "6dc15a82805e8edf16c8b1856860c07941368e51d1ce1a6de0c205686401ed10", "offset": 0}}}, "content_hash": "", "dedupe_keys": {"canonical_url": "https://doi.org/10.1007/s10648-015-9349-8", "doi": "10.1007/s10648-015-9349-8", "title_fingerprint": "spacedretrievalpracticeincreasescollegestudentsshortandlongtermr", "content_hash": ""}, "status": "DISCOVERED"}
4
+ {"source_id": "S-MORANO-RETRIEVAL-PRACTICE-RETENTION", "title": "Retrieval Practice for Retention and Transfer", "authors": ["Stephanie Morano"], "year": 2019, "doi": "10.1177/0040059919847210", "canonical_url": "https://doi.org/10.1177/0040059919847210", "source_type": "journal_article", "authority_level": "tier1_paper_doi", "discovered_by": "search", "discovery_provider": "sciverse", "fetch": {"fetch_status": "FETCH_VALID", "fetch_provider": "sciverse_content", "fetched_at": "2026-09-12T00:00:00+00:00", "doc_id": "1ff36b02b69d64e3cf2efd92680b3407b81c728ed26a85fb124a2731b3d458de", "offset": 0, "extensions": {"sciverse": {"doc_id": "1ff36b02b69d64e3cf2efd92680b3407b81c728ed26a85fb124a2731b3d458de", "offset": 0}}}, "content_hash": "", "dedupe_keys": {"canonical_url": "https://doi.org/10.1177/0040059919847210", "doi": "10.1177/0040059919847210", "title_fingerprint": "retrievalpracticeforretentionandtransfer", "content_hash": ""}, "status": "DISCOVERED"}
5
+ {"source_id": "S-AZZAM-RETRIEVAL-PRACTICE-IMPROVING", "title": "Retrieval Practice for Improving Long-Term Retention in Anatomical Education: A Quasi-Experimental Study", "authors": ["Mohammad Azzam", "Ronald Easteal"], "year": 2021, "doi": "10.1007/s40670-021-01298-8", "canonical_url": "https://doi.org/10.1007/s40670-021-01298-8", "source_type": "journal_article", "authority_level": "tier1_paper_doi", "discovered_by": "search", "discovery_provider": "sciverse", "fetch": {"fetch_status": "FETCH_VALID", "fetch_provider": "sciverse_content", "fetched_at": "2026-09-12T00:00:00+00:00", "doc_id": "9804661dd92756cf27bcda2ea2bf01055fec4dd376b7b8ace356b42082c1c2d3", "offset": 0, "extensions": {"sciverse": {"doc_id": "9804661dd92756cf27bcda2ea2bf01055fec4dd376b7b8ace356b42082c1c2d3", "offset": 0}}}, "content_hash": "", "dedupe_keys": {"canonical_url": "https://doi.org/10.1007/s40670-021-01298-8", "doi": "10.1007/s40670-021-01298-8", "title_fingerprint": "retrievalpracticeforimprovinglongtermretentioninanatomicaleducat", "content_hash": ""}, "status": "DISCOVERED"}
6
+ {"source_id": "S-ROWLAND-MNEMONIC-BENEFITS-RETRIEVAL", "title": "Mnemonic benefits of retrieval practice at short retention intervals", "authors": ["Christopher A. Rowland", "Edward L. DeLosh"], "year": 2015, "doi": "10.1080/09658211.2014.889710", "canonical_url": "https://doi.org/10.1080/09658211.2014.889710", "source_type": "journal_article", "authority_level": "tier1_paper_doi", "discovered_by": "search", "discovery_provider": "sciverse", "fetch": {"fetch_status": "FETCH_VALID", "fetch_provider": "sciverse_content", "fetched_at": "2026-09-12T00:00:00+00:00", "doc_id": "e63f7407d2277c2de899b647c3f9e9fbc949ddab83d8af1900e31872804c9e50", "offset": 0, "extensions": {"sciverse": {"doc_id": "e63f7407d2277c2de899b647c3f9e9fbc949ddab83d8af1900e31872804c9e50", "offset": 0}}}, "content_hash": "", "dedupe_keys": {"canonical_url": "https://doi.org/10.1080/09658211.2014.889710", "doi": "10.1080/09658211.2014.889710", "title_fingerprint": "mnemonicbenefitsofretrievalpracticeatshortretentionintervals", "content_hash": ""}, "status": "DISCOVERED"}
7
+ {"source_id": "S-ZHENG-PRACTICING-MORE-RETRIEVAL", "title": "Practicing more retrieval routes leads to greater memory retention", "authors": ["Jun Zheng", "Wei Zhang", "Tongtong Li", "Zhaomin Liu", "Liang Luo"], "year": 2016, "doi": "10.1016/j.actpsy.2016.05.014", "canonical_url": "https://doi.org/10.1016/j.actpsy.2016.05.014", "source_type": "journal_article", "authority_level": "tier1_paper_doi", "discovered_by": "search", "discovery_provider": "sciverse", "fetch": {"fetch_status": "FETCH_VALID", "fetch_provider": "sciverse_content", "fetched_at": "2026-09-12T00:00:00+00:00", "doc_id": "a6f7a317cc0a21e068fdaaf076a3f4b525a4652137dc818853e58789943bcef4", "offset": 0, "extensions": {"sciverse": {"doc_id": "a6f7a317cc0a21e068fdaaf076a3f4b525a4652137dc818853e58789943bcef4", "offset": 0}}}, "content_hash": "", "dedupe_keys": {"canonical_url": "https://doi.org/10.1016/j.actpsy.2016.05.014", "doi": "10.1016/j.actpsy.2016.05.014", "title_fingerprint": "practicingmoreretrievalroutesleadstogreatermemoryretention", "content_hash": ""}, "status": "DISCOVERED"}
@@ -0,0 +1,93 @@
1
+ {
2
+ "decision_question": "是否应该用间隔重复与检索练习替代传统集中式复习?",
3
+ "target_population": "大学程序设计入门课程的一年级学生",
4
+ "target_context": "16 周讲授 + 实验课,大班教学,有助教支持,线下",
5
+ "supported_claims": [
6
+ "间隔检索练习在延迟保持上稳定优于集中复习(多项随机对照与元分析一致)—— E-001、E-002、E-003、E-004。",
7
+ "隐式检索与显式检索的收益相当,实施形式可以灵活 —— E-002。",
8
+ "增加检索路径数量可提升迁移表现,价值不限于记忆本身 —— E-006。"
9
+ ],
10
+ "uncertain_claims": [
11
+ "程序设计课程内的直接现场证据少于心理学实验室证据 [无直接证据]。",
12
+ "收益幅度受材料难度与反馈设计调节,最佳间隔尚未确定 —— E-004、E-005。"
13
+ ],
14
+ "contradicted_claims": [],
15
+ "reason_for_disagreement": "实验室证据与课程现场证据的生态效度差异,而非方向冲突。",
16
+ "methodology_summary": "纳入研究以随机对照与元分析为主,多数设有延迟后测;现场研究数量有限。",
17
+ "outcome_specific_findings": {
18
+ "retention": "positive across studies",
19
+ "transfer": "positive but thinner evidence"
20
+ },
21
+ "short_term_effect": "短期保持同样受益,但效应量与延迟间隔设计相关。",
22
+ "long_term_effect": "长期保持是证据最一致的受益结果。",
23
+ "transfer_effect": "迁移有正向证据,但研究数量少于保持。",
24
+ "risk_effect": "未发现显著风险;需注意练习设计不当可能增加认知负荷。",
25
+ "applicability": {
26
+ "suitable_for": "有固定课时的入门编程课程,教师能稳定安排每周短练习",
27
+ "not_suitable_for": "没有固定复习环节的课程,或无法保证延迟测评的场景",
28
+ "required_conditions": [
29
+ "每周固定短时检索练习",
30
+ "统一的延迟后测口径"
31
+ ]
32
+ },
33
+ "confidence": "High",
34
+ "confidence_breakdown": {
35
+ "score": 0.893,
36
+ "evidence_quality": 0.755,
37
+ "consistency": 1.0,
38
+ "directness": 0.833,
39
+ "evidence_count": 6,
40
+ "independent_studies": 6,
41
+ "independent_samples": 6,
42
+ "count_term": 1.0,
43
+ "conflict_penalty": 0.0,
44
+ "unsupported_penalty": 0.0
45
+ },
46
+ "recommended_action": "adopt",
47
+ "decision_rationale": "延迟保持与迁移两个主要结果上都有直接且一致的证据(多项随机对照与元分析,直接性记为 2),实施成本低、风险可控,因此支持在课程内采用。最佳间隔安排与课程现场证据的厚度仍是记录在案的不确定性,纳入采用后的持续监测,而不是阻止采用。",
48
+ "strongest_support": "间隔检索练习在延迟保持上稳定优于集中复习,多项随机对照与元分析结论一致。",
49
+ "key_uncertainty": "程序设计课程内的直接现场证据少于心理学实验室证据,最佳间隔设计尚未确定。",
50
+ "main_risk": "练习设计不当可能增加认知负荷,且收益幅度受材料难度与反馈方式调节。",
51
+ "next_action": "在入门编程课内采用每周固定短时闭卷检索练习,并以统一延迟后测持续验收:若延迟后测低于基线或练习完成率持续低于 60%,回退到试点状态复核。",
52
+ "missing_evidence": [
53
+ "程序设计课程内的随机对照现场研究",
54
+ "不同间隔安排的直接比较"
55
+ ],
56
+ "what_can_be_claimed": [
57
+ "在延迟保持上,间隔检索练习优于集中复习",
58
+ "实施形式可以从隐式到显式灵活选择"
59
+ ],
60
+ "what_cannot_be_claimed": [
61
+ "具体到某门程序设计课程一定产生同等幅度收益",
62
+ "存在唯一最优的间隔安排"
63
+ ],
64
+ "exceeds_evidence_boundary": [],
65
+ "confidence_score": 0.893,
66
+ "confidence_policy_version": "2026-08-12.v3",
67
+ "independent_studies": 6,
68
+ "independent_samples": 6,
69
+ "extensions": {
70
+ "action_enforcement": {
71
+ "policy": "engine/decision_policy.py",
72
+ "gate": "pre_verdict_gate.decision_action_consistency",
73
+ "action_before": "pilot",
74
+ "action_after": "adopt",
75
+ "basis": "confidence High (>=0.72), decisive support_adoption studies present, and direct evidence (directness=2) on a primary outcome (retention/transfer)",
76
+ "note": "The earlier pilot label came from hand-written verdict text plus a migration that flattened link directness to 1; the corpus itself meets the ADOPT gate."
77
+ }
78
+ },
79
+ "raw_model_confidence": "Moderate",
80
+ "raw_model_confidence_breakdown": {
81
+ "score": 0.893,
82
+ "evidence_quality": 0.755,
83
+ "consistency": 1.0,
84
+ "directness": 0.833,
85
+ "evidence_count": 6,
86
+ "independent_studies": 6,
87
+ "independent_samples": 6,
88
+ "count_term": 1.0,
89
+ "conflict_penalty": 0.0,
90
+ "unsupported_penalty": 0.0,
91
+ "note": "Adjudicator-stated confidence before the deterministic override; the adjudicator called the band Moderate while the recomputation reaches High."
92
+ }
93
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "result_sha256": "c26e7e1d60d3cf94bcba29233fbda453626aed47f77ea35b425c2535185316e7",
3
+ "result_zh_sha256": "65376ba253660d3fb6909f8d292ce1bd00ef92478dfa771f59ee95e9a2fc776b",
4
+ "renderer_version": "1.0.0",
5
+ "git_commit": "56f5dc3edc6e805c2614767208a83009b0f0a097",
6
+ "evidence_count": 4,
7
+ "source_count": 3,
8
+ "themes": [
9
+ "claude",
10
+ "academic",
11
+ "datalab",
12
+ "datalab-dark",
13
+ "presentation"
14
+ ]
15
+ }
@@ -0,0 +1,4 @@
1
+ {"claim_id": "C-001", "claim": "AI assistance can shorten customer chat handling in a bounded support setting; throughput is a separate outcome.", "outcome_type": "policy_effectiveness", "evidence_ids": ["E-001"], "status": "SUPPORTED", "pooled_effect_g": null}
2
+ {"claim_id": "C-002", "claim": "ChatGPT reduced time on short professional writing tasks; this is indirect evidence for customer support.", "outcome_type": "policy_effectiveness", "evidence_ids": ["E-002"], "status": "SUPPORTED", "pooled_effect_g": null}
3
+ {"claim_id": "C-003", "claim": "AI can reduce correctness on tasks outside its capability frontier; consulting evidence is indirect for support.", "outcome_type": "implementation_risk", "evidence_ids": ["E-003"], "status": "SUPPORTED", "pooled_effect_g": null}
4
+ {"claim_id": "C-004", "claim": "Experienced, high-skill support staff need separate quality monitoring rather than assumed uniform benefits.", "outcome_type": "implementation_risk", "evidence_ids": ["E-004"], "status": "SUPPORTED", "pooled_effect_g": null}
@@ -0,0 +1,19 @@
1
+ {
2
+ "research_question": "Should an enterprise customer-support team introduce a generative AI assistant?",
3
+ "groups": {
4
+ "treatment": "Eligible teams randomly assigned to supervised assistant access, stratified by tenure and baseline performance.",
5
+ "comparison": "Concurrent teams retaining the existing workflow; document contamination."
6
+ },
7
+ "baseline": "Record resolution rate, paid hours, repeat contacts, blinded quality and review costs before allocation.",
8
+ "post_test": "Assess the same outcomes at pilot end; separately audit privacy and unsafe commitments.",
9
+ "analysis_plan": "Preregister an intention-to-treat comparison with team-clustered uncertainty and subgroup estimates. Set sample size and noninferiority margins from local baseline variance and operational priorities before enrollment.",
10
+ "success_threshold": "Expand only if quality is noninferior, verified resolutions per paid hour improve, net cost is acceptable and no serious unresolved safety incident remains; thresholds require local agreement.",
11
+ "stop_conditions": [
12
+ "Pause immediately after a verified privacy leak or a serious unsafe or unauthorized customer commitment; investigate before resuming.",
13
+ "Pause expansion if blinded quality review crosses a pre-agreed noninferiority margin, including within experience strata."
14
+ ],
15
+ "extensions": {
16
+ "gap_id": "G-001",
17
+ "status": "proposed_not_executed"
18
+ }
19
+ }
@@ -0,0 +1,4 @@
1
+ {"evidence_id": "E-001", "source_id": "S-001", "study_id": "ST-001", "sample_id": "SAMPLE-support-all", "claim_id": "C-001", "title": "Generative AI at Work", "year": 2025, "study_type": "quasi_experimental", "population": "Customer-support agents", "sample_size": 5172, "outcome_type": "policy_effectiveness", "outcome_measure": "Chat handling time; separate throughput summary: about 15% more issues resolved per hour.", "claim": "AI assistance can shorten customer chat handling in a bounded support setting; throughput is a separate outcome.", "direction": "support", "relation_to_claim": "support", "effect_direction": "positive", "decision_relation": "conditional", "source_location": "https://academic.oup.com/qje/article/140/2/889/7990658", "limitations": ["One firm, one tool and a staggered nonrandom rollout; causal interpretation depends on identification assumptions."], "status": "SUPPORTED", "quality_dimensions": {"D1_study_design": 1, "D2_sample_quality": 2, "D3_measurement_validity": 2, "D4_temporal_strength": 2, "D5_directness": 2}, "quality_score": 9.0, "extensions": {"domain": "policy", "policy_outcome": "policy_effectiveness", "teaching_neutral_outcome_token": "completion_time", "directness": "direct", "raw_result": {"metric": "issues_resolved_per_hour_relative_change", "value": 15, "unit": "percent", "role": "separate_throughput_measure_not_completion_time", "ci_lower": null, "ci_upper": null, "p_value": null, "uncertainty_status": "not_extracted_for_this_summary_estimand"}, "standardized_effect": null, "study_total_n": 5172, "note": "Row-specific sample; study_total_n must not replace the analyzed sample. E-004 shares the S-001 cohort and is not separately counted."}}
2
+ {"evidence_id": "E-002", "source_id": "S-002", "study_id": "ST-002", "sample_id": "SAMPLE-writing", "claim_id": "C-002", "title": "Experimental evidence on the productivity effects of generative artificial intelligence", "year": 2023, "study_type": "rct", "population": "College-educated working professionals", "sample_size": 453, "outcome_type": "policy_effectiveness", "outcome_measure": "Self-reported task time: approximately 40% lower; assessed writing quality approximately 18% higher is a separate measure.", "claim": "ChatGPT reduced time on short professional writing tasks; this is indirect evidence for customer support.", "direction": "support", "relation_to_claim": "support", "effect_direction": "positive", "decision_relation": "conditional", "source_location": "https://shakkednoy.com/Noy%20Zhang%20NBER%20SI.pdf", "limitations": ["Indirect evidence, not directly generalizable: brief incentivized writing tasks did not demand precise factual accuracy or customer-specific context."], "status": "SUPPORTED", "quality_dimensions": {"D1_study_design": 2, "D2_sample_quality": 2, "D3_measurement_validity": 1, "D4_temporal_strength": 1, "D5_directness": 1}, "quality_score": 7.0, "extensions": {"domain": "policy", "policy_outcome": "policy_effectiveness", "teaching_neutral_outcome_token": "completion_time", "directness": "indirect", "raw_result": {"metric": "task_time_relative_change", "value": -40, "unit": "percent", "ci_lower": null, "ci_upper": null, "p_value": null, "uncertainty_status": "not_extracted_for_this_summary_estimand"}, "standardized_effect": null, "study_total_n": 453, "note": "Row-specific sample; study_total_n must not replace the analyzed sample. E-004 shares the S-001 cohort and is not separately counted."}}
3
+ {"evidence_id": "E-003", "source_id": "S-003", "study_id": "ST-003", "sample_id": "SAMPLE-consulting-outside", "claim_id": "C-003", "title": "Navigating the Jagged Technological Frontier: Field Experimental Evidence of the Effects of Artificial Intelligence on Knowledge Worker Productivity and Quality", "year": 2026, "study_type": "rct", "population": "BCG consultants in the outside-frontier experiment", "sample_size": 373, "outcome_type": "implementation_risk", "outcome_measure": "Correct business recommendation: about 19 percentage points lower across AI arms; Table 7 has 373 participants, not 758.", "claim": "AI can reduce correctness on tasks outside its capability frontier; consulting evidence is indirect for support.", "direction": "support", "relation_to_claim": "support", "effect_direction": "negative", "decision_relation": "conditional", "source_location": "https://pubsonline.informs.org/doi/10.1287/orsc.2025.21838", "limitations": ["Indirect evidence, not directly generalizable: consultants solving an experimental business case, not live customer tickets."], "status": "SUPPORTED", "quality_dimensions": {"D1_study_design": 2, "D2_sample_quality": 2, "D3_measurement_validity": 2, "D4_temporal_strength": 1, "D5_directness": 1}, "quality_score": 8.0, "extensions": {"domain": "policy", "policy_outcome": "implementation_risk", "teaching_neutral_outcome_token": "accuracy", "directness": "indirect", "raw_result": {"metric": "correctness_absolute_change", "value": -19, "unit": "percentage_points", "ci_lower": null, "ci_upper": null, "p_value": null, "uncertainty_status": "not_extracted_for_this_summary_estimand"}, "standardized_effect": null, "study_total_n": 758, "note": "Row-specific sample; study_total_n must not replace the analyzed sample. E-004 shares the S-001 cohort and is not separately counted."}}
4
+ {"evidence_id": "E-004", "source_id": "S-001", "study_id": "ST-001", "sample_id": "SAMPLE-support-all", "claim_id": "C-004", "title": "Generative AI at Work", "year": 2025, "study_type": "quasi_experimental", "population": "Experienced and high-skill customer-support agents", "sample_size": null, "outcome_type": "implementation_risk", "outcome_measure": "Small quality declines among the most experienced and highest-skilled support staff.", "claim": "Experienced, high-skill support staff need separate quality monitoring rather than assumed uniform benefits.", "direction": "support", "relation_to_claim": "support", "effect_direction": "negative", "decision_relation": "conditional", "source_location": "https://academic.oup.com/qje/article/140/2/889/7990658", "limitations": ["Same study as E-001; subgroup sample size was not extracted. This is not an independent replication."], "status": "SUPPORTED", "quality_dimensions": {"D1_study_design": 1, "D2_sample_quality": 1, "D3_measurement_validity": 2, "D4_temporal_strength": 2, "D5_directness": 2}, "quality_score": 8.0, "extensions": {"domain": "policy", "policy_outcome": "implementation_risk", "teaching_neutral_outcome_token": "accuracy", "directness": "direct", "raw_result": {"metric": "experienced_staff_quality", "value": null, "unit": "not_extracted", "ci_lower": null, "ci_upper": null, "p_value": null, "uncertainty_status": "not_extracted_for_this_summary_estimand"}, "standardized_effect": null, "study_total_n": 5172, "note": "Row-specific sample; study_total_n must not replace the analyzed sample. E-004 shares the S-001 cohort and is not separately counted."}}