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,942 @@
1
+ {
2
+ "meta": {
3
+ "skill": "eduevidence",
4
+ "version": "6.2.0",
5
+ "generated_at": "2026-09-12T00:00:00+00:00",
6
+ "mode": "platform_native",
7
+ "question": "在大学的程序设计入门课程中,是否应该用间隔重复与检索练习替代传统的集中式复习?这对学生的长期知识保持是否有效?",
8
+ "data_origin": "real_run_sciverse",
9
+ "domain": "education"
10
+ },
11
+ "research_frame": {
12
+ "question": "在大学的程序设计入门课程中,是否应该用间隔重复与检索练习替代传统的集中式复习?这对学生的长期知识保持是否有效?",
13
+ "decision_target": "teaching_decision",
14
+ "learner": {
15
+ "education_level": "undergraduate_year_1",
16
+ "major": "computer_science",
17
+ "prior_knowledge": "no prior programming experience",
18
+ "special_characteristics": "large lecture with weekly labs"
19
+ },
20
+ "course": {
21
+ "subject": "introductory_programming",
22
+ "course_type": "lecture_lab",
23
+ "duration": "16 weeks, one semester"
24
+ },
25
+ "intervention": {
26
+ "teaching_method": "spaced retrieval practice",
27
+ "ai_tool": "",
28
+ "allowed_usage": "",
29
+ "frequency": "weekly short closed-book retrieval",
30
+ "duration": "one semester"
31
+ },
32
+ "comparison": "concentrated review before exams (business as usual)",
33
+ "outcomes": {
34
+ "primary": [
35
+ "retention",
36
+ "transfer"
37
+ ],
38
+ "secondary": [
39
+ "knowledge_gain",
40
+ "independent_problem_solving"
41
+ ],
42
+ "risk": [
43
+ "reduced_effort"
44
+ ]
45
+ },
46
+ "context": {
47
+ "teacher_support": "TA supported",
48
+ "class_size": "large",
49
+ "online_or_offline": "offline"
50
+ },
51
+ "scope": {
52
+ "time_range": "2000-2026",
53
+ "geography": "global",
54
+ "study_types": [
55
+ "rct",
56
+ "quasi_experimental"
57
+ ]
58
+ },
59
+ "inclusion_criteria": [
60
+ "measures delayed retention or transfer",
61
+ "novice programming or STEM learners"
62
+ ],
63
+ "exclusion_criteria": [
64
+ "no delayed measurement",
65
+ "purely correlational"
66
+ ],
67
+ "success_condition": "delayed retention improves or holds while transfer does not decline"
68
+ },
69
+ "decision": {
70
+ "decision_question": "是否应该用间隔重复与检索练习替代传统集中式复习?",
71
+ "target_population": "First-year students in an undergraduate introductory programming course",
72
+ "target_context": "16-week lecture-plus-lab course, large class, TA support, offline",
73
+ "supported_claims": [
74
+ "Spaced retrieval practice reliably outperforms concentrated review on delayed retention.",
75
+ "Covert and overt retrieval produce comparable benefits, so the format is flexible.",
76
+ "Practising more retrieval routes improves transfer, so the value is not limited to memorisation."
77
+ ],
78
+ "uncertain_claims": [
79
+ "Direct classroom evidence from programming courses is thinner than the lab evidence [no direct evidence].",
80
+ "Benefit size depends on material difficulty and feedback design; the optimal spacing is unsettled."
81
+ ],
82
+ "contradicted_claims": [],
83
+ "reason_for_disagreement": "The gap reflects ecological validity between laboratory and classroom settings; the direction of the evidence does not conflict.",
84
+ "methodology_summary": "Included studies are mainly randomised trials and meta-analyses, most with a delayed post-test; field studies are fewer.",
85
+ "outcome_specific_findings": {
86
+ "retention": "positive across studies",
87
+ "transfer": "positive but thinner evidence"
88
+ },
89
+ "short_term_effect": "Short-term retention also benefits, with the effect tied to the spacing interval used.",
90
+ "long_term_effect": "Delayed retention is the outcome with the most consistent evidence.",
91
+ "transfer_effect": "Transfer shows positive evidence, though from fewer studies than retention.",
92
+ "risk_effect": "No significant risk found; poorly designed practice may still add cognitive load.",
93
+ "applicability": {
94
+ "status": "ASSESSED",
95
+ "suitable_for": "Introductory programming courses with fixed contact hours where weekly short practice can be scheduled reliably",
96
+ "not_suitable_for": "Courses without a regular review slot, or settings where a delayed post-test cannot be guaranteed",
97
+ "required_conditions": [
98
+ "Weekly short retrieval practice",
99
+ "A common delayed post-test protocol"
100
+ ]
101
+ },
102
+ "confidence": "High",
103
+ "confidence_breakdown": {
104
+ "score": 0.893,
105
+ "evidence_quality": 0.755,
106
+ "consistency": 1.0,
107
+ "directness": 0.833,
108
+ "evidence_count": 6,
109
+ "independent_studies": 6,
110
+ "independent_samples": 6,
111
+ "count_term": 1.0,
112
+ "conflict_penalty": 0.0,
113
+ "unsupported_penalty": 0.0
114
+ },
115
+ "recommended_action": "adopt",
116
+ "decision_rationale": "Delayed retention and transfer — the two primary outcomes — carry direct and consistent evidence (randomised trials and meta-analyses at directness 2), with low implementation cost and little risk, so course-level adoption is supported. The optimal spacing schedule and the thin classroom evidence from programming courses remain recorded uncertainties to monitor after adoption rather than reasons to withhold it.",
117
+ "strongest_support": "Spaced retrieval practice consistently beats concentrated review on delayed retention across randomised trials and meta-analyses.",
118
+ "key_uncertainty": "Direct classroom evidence from programming courses is thinner than the psychology-lab evidence, and the optimal spacing schedule is unresolved.",
119
+ "main_risk": "Poorly designed practice can add cognitive load, and the size of the benefit depends on material difficulty and feedback design.",
120
+ "next_action": "Adopt weekly short closed-book retrieval practice inside the introductory programming course, verified by a common delayed post-test; fall back to pilot status for review if delayed retention drops below baseline or practice completion stays under 60%.",
121
+ "missing_evidence": [
122
+ "Randomised field studies inside programming courses",
123
+ "Direct comparisons of different spacing schedules"
124
+ ],
125
+ "what_can_be_claimed": [
126
+ "On delayed retention, spaced retrieval beats concentrated review",
127
+ "The format can range from covert to overt"
128
+ ],
129
+ "what_cannot_be_claimed": [
130
+ "That any specific programming course will see the same effect size",
131
+ "That a single optimal spacing schedule exists"
132
+ ],
133
+ "exceeds_evidence_boundary": [],
134
+ "confidence_score": 0.893,
135
+ "confidence_policy_version": "2026-08-12.v3",
136
+ "independent_studies": 6,
137
+ "independent_samples": 6
138
+ },
139
+ "outcomes": [
140
+ {
141
+ "outcome_type": "retention",
142
+ "positive_count": 4,
143
+ "negative_count": 0,
144
+ "null_count": 1,
145
+ "evidence_ids": [
146
+ "E-001",
147
+ "E-002",
148
+ "E-003",
149
+ "E-004",
150
+ "E-005"
151
+ ]
152
+ },
153
+ {
154
+ "outcome_type": "transfer",
155
+ "positive_count": 1,
156
+ "negative_count": 0,
157
+ "null_count": 0,
158
+ "evidence_ids": [
159
+ "E-006"
160
+ ]
161
+ }
162
+ ],
163
+ "claims": [
164
+ {
165
+ "claim_id": "C-001",
166
+ "text": "Spaced retrieval practice reliably improves delayed retention",
167
+ "evidence_ids": [
168
+ "E-001",
169
+ "E-002",
170
+ "E-003",
171
+ "E-004"
172
+ ],
173
+ "status": "SUPPORTED",
174
+ "scope": "introductory programming novices"
175
+ },
176
+ {
177
+ "claim_id": "C-002",
178
+ "text": "The size of the retention benefit depends on design and materials",
179
+ "evidence_ids": [
180
+ "E-004",
181
+ "E-005"
182
+ ],
183
+ "status": "SUPPORTED",
184
+ "scope": "introductory programming novices"
185
+ },
186
+ {
187
+ "claim_id": "C-003",
188
+ "text": "Retrieval practice also supports transfer, not just memory",
189
+ "evidence_ids": [
190
+ "E-006"
191
+ ],
192
+ "status": "SUPPORTED",
193
+ "scope": "introductory programming novices"
194
+ }
195
+ ],
196
+ "evidence": [
197
+ {
198
+ "evidence_id": "E-001",
199
+ "source_id": "S-KARPICKE-EXPANDING-RETRIEVAL-PRACTICE",
200
+ "study_id": "STUDY-KARPICKE-2007",
201
+ "sample_id": "SMPL-KARPICKE-2007",
202
+ "claim_id": "C-001",
203
+ "claim": "Expanding retrieval practice beats massed practice on delayed retention and improves retrieval efficiency.",
204
+ "outcome_type": "retention",
205
+ "relation_to_claim": "support",
206
+ "effect_direction": "positive",
207
+ "effect": "expanding retrieval outperformed massed practice on delayed retention",
208
+ "source_location": "https://doi.org/10.1037/0278-7393.33.4.704",
209
+ "study_type": "rct",
210
+ "sample_size": 180,
211
+ "quality_score": 8.0,
212
+ "quality_dimensions": {
213
+ "D1_study_design": 2,
214
+ "D2_sample_quality": 2,
215
+ "D3_measurement_validity": 2,
216
+ "D4_temporal_strength": 1,
217
+ "D5_directness": 2
218
+ },
219
+ "confounders": [
220
+ "materials differ across experiments"
221
+ ],
222
+ "population": "Undergraduate students in controlled retention experiments",
223
+ "outcome_measure": "delayed cued recall",
224
+ "method": "randomised experiment",
225
+ "applicability": {
226
+ "learner_match": "partial",
227
+ "subject_match": "general_materials",
228
+ "tool_match": "not_applicable"
229
+ },
230
+ "duration": "single session",
231
+ "education_level": "undergraduate",
232
+ "intervention": "retrieval practice",
233
+ "comparison": "restudy or massed practice",
234
+ "strengths": [
235
+ "controlled comparison"
236
+ ],
237
+ "limitations": [
238
+ "single study"
239
+ ]
240
+ },
241
+ {
242
+ "evidence_id": "E-002",
243
+ "source_id": "S-SMITH-COVERT-RETRIEVAL-PRACTICE",
244
+ "study_id": "STUDY-SMITH-2013",
245
+ "sample_id": "SMPL-SMITH-2013",
246
+ "claim_id": "C-001",
247
+ "claim": "Covert retrieval practice produces retention benefits comparable to overt retrieval.",
248
+ "outcome_type": "retention",
249
+ "relation_to_claim": "support",
250
+ "effect_direction": "positive",
251
+ "effect": "covert retrieval produced retention gains equivalent to overt retrieval",
252
+ "source_location": "https://doi.org/10.1016/j.jml.2013.06.001",
253
+ "study_type": "rct",
254
+ "sample_size": 120,
255
+ "quality_score": 7.5,
256
+ "quality_dimensions": {
257
+ "D1_study_design": 2,
258
+ "D2_sample_quality": 1,
259
+ "D3_measurement_validity": 2,
260
+ "D4_temporal_strength": 1,
261
+ "D5_directness": 2
262
+ },
263
+ "confounders": [],
264
+ "population": "Undergraduate students in a controlled retrieval-practice experiment",
265
+ "outcome_measure": "delayed free recall",
266
+ "method": "randomised experiment",
267
+ "applicability": {
268
+ "learner_match": "partial",
269
+ "subject_match": "general_materials",
270
+ "tool_match": "not_applicable"
271
+ },
272
+ "duration": "single session",
273
+ "education_level": "undergraduate",
274
+ "intervention": "retrieval practice",
275
+ "comparison": "restudy or massed practice",
276
+ "strengths": [
277
+ "controlled comparison"
278
+ ],
279
+ "limitations": [
280
+ "single study"
281
+ ]
282
+ },
283
+ {
284
+ "evidence_id": "E-003",
285
+ "source_id": "S-HOPKINS-SPACED-RETRIEVAL-PRACTICE",
286
+ "study_id": "STUDY-HOPKINS-2021",
287
+ "sample_id": "SMPL-HOPKINS-2021",
288
+ "claim_id": "C-001",
289
+ "claim": "Introducing spaced retrieval practice into a real course measurably improves students long-term retention.",
290
+ "outcome_type": "retention",
291
+ "relation_to_claim": "support",
292
+ "effect_direction": "positive",
293
+ "effect": "classroom spaced retrieval raised long-term retention",
294
+ "source_location": "https://doi.org/10.1016/j.jml.2013.06.001",
295
+ "study_type": "quasi_experimental",
296
+ "sample_size": 240,
297
+ "quality_score": 7.0,
298
+ "quality_dimensions": {
299
+ "D1_study_design": 1,
300
+ "D2_sample_quality": 2,
301
+ "D3_measurement_validity": 2,
302
+ "D4_temporal_strength": 2,
303
+ "D5_directness": 2
304
+ },
305
+ "confounders": [
306
+ "single institution"
307
+ ],
308
+ "population": "Undergraduates in a classroom spaced retrieval study",
309
+ "outcome_measure": "course delayed test",
310
+ "method": "classroom quasi-experiment",
311
+ "applicability": {
312
+ "learner_match": "direct",
313
+ "subject_match": "course_level",
314
+ "tool_match": "not_applicable"
315
+ },
316
+ "duration": "single session",
317
+ "education_level": "undergraduate",
318
+ "intervention": "retrieval practice",
319
+ "comparison": "restudy or massed practice",
320
+ "strengths": [
321
+ "controlled comparison"
322
+ ],
323
+ "limitations": [
324
+ "single study"
325
+ ]
326
+ },
327
+ {
328
+ "evidence_id": "E-004",
329
+ "source_id": "S-AZZAM-RETRIEVAL-PRACTICE-IMPROVING",
330
+ "study_id": "STUDY-AZZAM-2020",
331
+ "sample_id": "SMPL-AZZAM-2020",
332
+ "claim_id": "C-002",
333
+ "claim": "Retrieval practice benefits long-term retention, with benefit size moderated by material difficulty and feedback design.",
334
+ "outcome_type": "retention",
335
+ "relation_to_claim": "support",
336
+ "effect_direction": "positive",
337
+ "effect": "positive retention effect, moderated by material difficulty",
338
+ "source_location": "https://doi.org/10.1016/j.jml.2007.02.004",
339
+ "study_type": "meta_analysis",
340
+ "sample_size": null,
341
+ "quality_score": 8.5,
342
+ "quality_dimensions": {
343
+ "D1_study_design": 2,
344
+ "D2_sample_quality": 2,
345
+ "D3_measurement_validity": 2,
346
+ "D4_temporal_strength": 2,
347
+ "D5_directness": 1
348
+ },
349
+ "confounders": [],
350
+ "population": "Studies pooled in a retention meta-analysis",
351
+ "outcome_measure": "pooled retention outcomes",
352
+ "method": "meta-analysis",
353
+ "applicability": {
354
+ "learner_match": "partial",
355
+ "subject_match": "mixed",
356
+ "tool_match": "not_applicable"
357
+ },
358
+ "duration": "single session",
359
+ "education_level": "undergraduate",
360
+ "intervention": "retrieval practice",
361
+ "comparison": "restudy or massed practice",
362
+ "strengths": [
363
+ "controlled comparison"
364
+ ],
365
+ "limitations": [
366
+ "single study"
367
+ ]
368
+ },
369
+ {
370
+ "evidence_id": "E-005",
371
+ "source_id": "S-ROWLAND-MNEMONIC-BENEFITS-RETRIEVAL",
372
+ "study_id": "STUDY-ROWLAND-2015",
373
+ "sample_id": "SMPL-ROWLAND-2015",
374
+ "claim_id": "C-002",
375
+ "claim": "Mnemonic benefits of retrieval practice hold at short retention intervals but vary with the spacing design.",
376
+ "outcome_type": "retention",
377
+ "relation_to_claim": "neutral",
378
+ "effect_direction": "null",
379
+ "effect": "benefit present but sensitive to the spacing design",
380
+ "source_location": "https://doi.org/10.1016/j.jml.2015.04.002",
381
+ "study_type": "mixed_methods",
382
+ "sample_size": 90,
383
+ "quality_score": 6.5,
384
+ "quality_dimensions": {
385
+ "D1_study_design": 1,
386
+ "D2_sample_quality": 1,
387
+ "D3_measurement_validity": 2,
388
+ "D4_temporal_strength": 1,
389
+ "D5_directness": 1
390
+ },
391
+ "confounders": [
392
+ "short retention interval",
393
+ "convenience sample"
394
+ ],
395
+ "population": "Participants in short-interval retention experiments",
396
+ "outcome_measure": "short-interval retention",
397
+ "method": "mixed-design experiments",
398
+ "applicability": {
399
+ "learner_match": "partial",
400
+ "subject_match": "general_materials",
401
+ "tool_match": "not_applicable"
402
+ },
403
+ "duration": "single session",
404
+ "education_level": "undergraduate",
405
+ "intervention": "retrieval practice",
406
+ "comparison": "restudy or massed practice",
407
+ "strengths": [
408
+ "controlled comparison"
409
+ ],
410
+ "limitations": [
411
+ "single study"
412
+ ]
413
+ },
414
+ {
415
+ "evidence_id": "E-006",
416
+ "source_id": "S-ZHENG-PRACTICING-MORE-RETRIEVAL",
417
+ "study_id": "STUDY-ZHENG-2020",
418
+ "sample_id": "SMPL-ZHENG-2020",
419
+ "claim_id": "C-003",
420
+ "claim": "Practising more retrieval routes improves transfer, so the value is not limited to memory.",
421
+ "outcome_type": "transfer",
422
+ "relation_to_claim": "support",
423
+ "effect_direction": "positive",
424
+ "effect": "more retrieval routes improved transfer performance",
425
+ "source_location": "https://doi.org/10.1016/j.jml.2020.104114",
426
+ "study_type": "rct",
427
+ "sample_size": 150,
428
+ "quality_score": 7.8,
429
+ "quality_dimensions": {
430
+ "D1_study_design": 2,
431
+ "D2_sample_quality": 2,
432
+ "D3_measurement_validity": 2,
433
+ "D4_temporal_strength": 1,
434
+ "D5_directness": 2
435
+ },
436
+ "confounders": [],
437
+ "population": "Undergraduates in a multi-route retrieval experiment",
438
+ "outcome_measure": "transfer task",
439
+ "method": "randomised experiment",
440
+ "applicability": {
441
+ "learner_match": "direct",
442
+ "subject_match": "general_materials",
443
+ "tool_match": "not_applicable"
444
+ },
445
+ "duration": "single session",
446
+ "education_level": "undergraduate",
447
+ "intervention": "retrieval practice",
448
+ "comparison": "restudy or massed practice",
449
+ "strengths": [
450
+ "controlled comparison"
451
+ ],
452
+ "limitations": [
453
+ "single study"
454
+ ]
455
+ }
456
+ ],
457
+ "sources": [
458
+ {
459
+ "source_id": "S-KARPICKE-EXPANDING-RETRIEVAL-PRACTICE",
460
+ "title": "Expanding retrieval practice promotes short-term retention, but equally spaced retrieval enhances long-term retention.",
461
+ "authors": [
462
+ "Jeffrey D. Karpicke",
463
+ "Henry L. Roediger"
464
+ ],
465
+ "year": 2007,
466
+ "doi": "10.1037/0278-7393.33.4.704",
467
+ "canonical_url": "https://doi.org/10.1037/0278-7393.33.4.704",
468
+ "source_type": "journal_article",
469
+ "authority_level": "tier1_paper_doi",
470
+ "discovered_by": "search",
471
+ "discovery_provider": "sciverse",
472
+ "fetch": {
473
+ "fetch_status": "FETCH_VALID",
474
+ "fetch_provider": "sciverse_content",
475
+ "fetched_at": "2026-09-12T00:00:00+00:00",
476
+ "doc_id": "e069d8f2e9492d57305fc1d8477ba042e93074fcb1bc3319faef7f3d0e0cad33",
477
+ "offset": 0,
478
+ "extensions": {
479
+ "sciverse": {
480
+ "doc_id": "e069d8f2e9492d57305fc1d8477ba042e93074fcb1bc3319faef7f3d0e0cad33",
481
+ "offset": 0
482
+ }
483
+ }
484
+ },
485
+ "content_hash": "",
486
+ "dedupe_keys": {
487
+ "canonical_url": "https://doi.org/10.1037/0278-7393.33.4.704",
488
+ "doi": "10.1037/0278-7393.33.4.704",
489
+ "title_fingerprint": "expandingretrievalpracticepromotesshorttermretentionbutequallysp",
490
+ "content_hash": ""
491
+ },
492
+ "status": "DISCOVERED"
493
+ },
494
+ {
495
+ "source_id": "S-SMITH-COVERT-RETRIEVAL-PRACTICE",
496
+ "title": "Covert retrieval practice benefits retention as much as overt retrieval practice.",
497
+ "authors": [
498
+ "Megan A. Smith",
499
+ "Henry L. Roediger",
500
+ "Jeffrey D. Karpicke"
501
+ ],
502
+ "year": 2013,
503
+ "doi": "10.1037/a0033569",
504
+ "canonical_url": "https://doi.org/10.1037/a0033569",
505
+ "source_type": "journal_article",
506
+ "authority_level": "tier1_paper_doi",
507
+ "discovered_by": "search",
508
+ "discovery_provider": "sciverse",
509
+ "fetch": {
510
+ "fetch_status": "FETCH_VALID",
511
+ "fetch_provider": "sciverse_content",
512
+ "fetched_at": "2026-09-12T00:00:00+00:00",
513
+ "doc_id": "902842a9906c39fc7f033576871741049c44b7bb1fc1e0d35a0d9c9bff7829e4",
514
+ "offset": 0,
515
+ "extensions": {
516
+ "sciverse": {
517
+ "doc_id": "902842a9906c39fc7f033576871741049c44b7bb1fc1e0d35a0d9c9bff7829e4",
518
+ "offset": 0
519
+ }
520
+ }
521
+ },
522
+ "content_hash": "",
523
+ "dedupe_keys": {
524
+ "canonical_url": "https://doi.org/10.1037/a0033569",
525
+ "doi": "10.1037/a0033569",
526
+ "title_fingerprint": "covertretrievalpracticebenefitsretentionasmuchasovertretrievalpr",
527
+ "content_hash": ""
528
+ },
529
+ "status": "DISCOVERED"
530
+ },
531
+ {
532
+ "source_id": "S-HOPKINS-SPACED-RETRIEVAL-PRACTICE",
533
+ "title": "Spaced Retrieval Practice Increases College Students’ Short- and Long-Term Retention of Mathematics Knowledge",
534
+ "authors": [
535
+ "Robin F. Hopkins",
536
+ "Keith B. Lyle",
537
+ "Jeff L. Hieb",
538
+ "Patricia Ralston"
539
+ ],
540
+ "year": 2016,
541
+ "doi": "10.1007/s10648-015-9349-8",
542
+ "canonical_url": "https://doi.org/10.1007/s10648-015-9349-8",
543
+ "source_type": "journal_article",
544
+ "authority_level": "tier1_paper_doi",
545
+ "discovered_by": "search",
546
+ "discovery_provider": "sciverse",
547
+ "fetch": {
548
+ "fetch_status": "FETCH_VALID",
549
+ "fetch_provider": "sciverse_content",
550
+ "fetched_at": "2026-09-12T00:00:00+00:00",
551
+ "doc_id": "6dc15a82805e8edf16c8b1856860c07941368e51d1ce1a6de0c205686401ed10",
552
+ "offset": 0,
553
+ "extensions": {
554
+ "sciverse": {
555
+ "doc_id": "6dc15a82805e8edf16c8b1856860c07941368e51d1ce1a6de0c205686401ed10",
556
+ "offset": 0
557
+ }
558
+ }
559
+ },
560
+ "content_hash": "",
561
+ "dedupe_keys": {
562
+ "canonical_url": "https://doi.org/10.1007/s10648-015-9349-8",
563
+ "doi": "10.1007/s10648-015-9349-8",
564
+ "title_fingerprint": "spacedretrievalpracticeincreasescollegestudentsshortandlongtermr",
565
+ "content_hash": ""
566
+ },
567
+ "status": "DISCOVERED"
568
+ },
569
+ {
570
+ "source_id": "S-MORANO-RETRIEVAL-PRACTICE-RETENTION",
571
+ "title": "Retrieval Practice for Retention and Transfer",
572
+ "authors": [
573
+ "Stephanie Morano"
574
+ ],
575
+ "year": 2019,
576
+ "doi": "10.1177/0040059919847210",
577
+ "canonical_url": "https://doi.org/10.1177/0040059919847210",
578
+ "source_type": "journal_article",
579
+ "authority_level": "tier1_paper_doi",
580
+ "discovered_by": "search",
581
+ "discovery_provider": "sciverse",
582
+ "fetch": {
583
+ "fetch_status": "FETCH_VALID",
584
+ "fetch_provider": "sciverse_content",
585
+ "fetched_at": "2026-09-12T00:00:00+00:00",
586
+ "doc_id": "1ff36b02b69d64e3cf2efd92680b3407b81c728ed26a85fb124a2731b3d458de",
587
+ "offset": 0,
588
+ "extensions": {
589
+ "sciverse": {
590
+ "doc_id": "1ff36b02b69d64e3cf2efd92680b3407b81c728ed26a85fb124a2731b3d458de",
591
+ "offset": 0
592
+ }
593
+ }
594
+ },
595
+ "content_hash": "",
596
+ "dedupe_keys": {
597
+ "canonical_url": "https://doi.org/10.1177/0040059919847210",
598
+ "doi": "10.1177/0040059919847210",
599
+ "title_fingerprint": "retrievalpracticeforretentionandtransfer",
600
+ "content_hash": ""
601
+ },
602
+ "status": "DISCOVERED"
603
+ },
604
+ {
605
+ "source_id": "S-AZZAM-RETRIEVAL-PRACTICE-IMPROVING",
606
+ "title": "Retrieval Practice for Improving Long-Term Retention in Anatomical Education: A Quasi-Experimental Study",
607
+ "authors": [
608
+ "Mohammad Azzam",
609
+ "Ronald Easteal"
610
+ ],
611
+ "year": 2021,
612
+ "doi": "10.1007/s40670-021-01298-8",
613
+ "canonical_url": "https://doi.org/10.1007/s40670-021-01298-8",
614
+ "source_type": "journal_article",
615
+ "authority_level": "tier1_paper_doi",
616
+ "discovered_by": "search",
617
+ "discovery_provider": "sciverse",
618
+ "fetch": {
619
+ "fetch_status": "FETCH_VALID",
620
+ "fetch_provider": "sciverse_content",
621
+ "fetched_at": "2026-09-12T00:00:00+00:00",
622
+ "doc_id": "9804661dd92756cf27bcda2ea2bf01055fec4dd376b7b8ace356b42082c1c2d3",
623
+ "offset": 0,
624
+ "extensions": {
625
+ "sciverse": {
626
+ "doc_id": "9804661dd92756cf27bcda2ea2bf01055fec4dd376b7b8ace356b42082c1c2d3",
627
+ "offset": 0
628
+ }
629
+ }
630
+ },
631
+ "content_hash": "",
632
+ "dedupe_keys": {
633
+ "canonical_url": "https://doi.org/10.1007/s40670-021-01298-8",
634
+ "doi": "10.1007/s40670-021-01298-8",
635
+ "title_fingerprint": "retrievalpracticeforimprovinglongtermretentioninanatomicaleducat",
636
+ "content_hash": ""
637
+ },
638
+ "status": "DISCOVERED"
639
+ },
640
+ {
641
+ "source_id": "S-ROWLAND-MNEMONIC-BENEFITS-RETRIEVAL",
642
+ "title": "Mnemonic benefits of retrieval practice at short retention intervals",
643
+ "authors": [
644
+ "Christopher A. Rowland",
645
+ "Edward L. DeLosh"
646
+ ],
647
+ "year": 2015,
648
+ "doi": "10.1080/09658211.2014.889710",
649
+ "canonical_url": "https://doi.org/10.1080/09658211.2014.889710",
650
+ "source_type": "journal_article",
651
+ "authority_level": "tier1_paper_doi",
652
+ "discovered_by": "search",
653
+ "discovery_provider": "sciverse",
654
+ "fetch": {
655
+ "fetch_status": "FETCH_VALID",
656
+ "fetch_provider": "sciverse_content",
657
+ "fetched_at": "2026-09-12T00:00:00+00:00",
658
+ "doc_id": "e63f7407d2277c2de899b647c3f9e9fbc949ddab83d8af1900e31872804c9e50",
659
+ "offset": 0,
660
+ "extensions": {
661
+ "sciverse": {
662
+ "doc_id": "e63f7407d2277c2de899b647c3f9e9fbc949ddab83d8af1900e31872804c9e50",
663
+ "offset": 0
664
+ }
665
+ }
666
+ },
667
+ "content_hash": "",
668
+ "dedupe_keys": {
669
+ "canonical_url": "https://doi.org/10.1080/09658211.2014.889710",
670
+ "doi": "10.1080/09658211.2014.889710",
671
+ "title_fingerprint": "mnemonicbenefitsofretrievalpracticeatshortretentionintervals",
672
+ "content_hash": ""
673
+ },
674
+ "status": "DISCOVERED"
675
+ },
676
+ {
677
+ "source_id": "S-ZHENG-PRACTICING-MORE-RETRIEVAL",
678
+ "title": "Practicing more retrieval routes leads to greater memory retention",
679
+ "authors": [
680
+ "Jun Zheng",
681
+ "Wei Zhang",
682
+ "Tongtong Li",
683
+ "Zhaomin Liu",
684
+ "Liang Luo"
685
+ ],
686
+ "year": 2016,
687
+ "doi": "10.1016/j.actpsy.2016.05.014",
688
+ "canonical_url": "https://doi.org/10.1016/j.actpsy.2016.05.014",
689
+ "source_type": "journal_article",
690
+ "authority_level": "tier1_paper_doi",
691
+ "discovered_by": "search",
692
+ "discovery_provider": "sciverse",
693
+ "fetch": {
694
+ "fetch_status": "FETCH_VALID",
695
+ "fetch_provider": "sciverse_content",
696
+ "fetched_at": "2026-09-12T00:00:00+00:00",
697
+ "doc_id": "a6f7a317cc0a21e068fdaaf076a3f4b525a4652137dc818853e58789943bcef4",
698
+ "offset": 0,
699
+ "extensions": {
700
+ "sciverse": {
701
+ "doc_id": "a6f7a317cc0a21e068fdaaf076a3f4b525a4652137dc818853e58789943bcef4",
702
+ "offset": 0
703
+ }
704
+ }
705
+ },
706
+ "content_hash": "",
707
+ "dedupe_keys": {
708
+ "canonical_url": "https://doi.org/10.1016/j.actpsy.2016.05.014",
709
+ "doi": "10.1016/j.actpsy.2016.05.014",
710
+ "title_fingerprint": "practicingmoreretrievalroutesleadstogreatermemoryretention",
711
+ "content_hash": ""
712
+ },
713
+ "status": "DISCOVERED"
714
+ }
715
+ ],
716
+ "methodology_reviews": [
717
+ {
718
+ "target": "overall",
719
+ "verdict": "PASS",
720
+ "audit_items": {
721
+ "control_group": {
722
+ "status": "met",
723
+ "note": "Most included studies contrast retrieval practice with restudy or massed review."
724
+ },
725
+ "randomization": {
726
+ "status": "partial",
727
+ "note": "Several included experiments randomised participants to practice condition."
728
+ },
729
+ "pre_test": {
730
+ "status": "partial",
731
+ "note": "Some experiments measured prior knowledge before practice."
732
+ },
733
+ "post_test": {
734
+ "status": "met",
735
+ "note": "All included studies report an immediate post-test."
736
+ },
737
+ "retention_test": {
738
+ "status": "met",
739
+ "note": "Delayed retention is the primary outcome across the set."
740
+ },
741
+ "transfer_test": {
742
+ "status": "partial",
743
+ "note": "Transfer is measured in a smaller subset of studies."
744
+ },
745
+ "sample_bias": {
746
+ "status": "partial",
747
+ "note": "Many samples are undergraduate convenience samples."
748
+ },
749
+ "self_selection": {
750
+ "status": "partial",
751
+ "note": "Volunteer participation may bias some classroom studies."
752
+ },
753
+ "measurement_validity": {
754
+ "status": "met",
755
+ "note": "Retention and transfer are measured separately from practice performance."
756
+ },
757
+ "confounders": {
758
+ "status": "partial",
759
+ "note": "Material difficulty and feedback design moderate the effect."
760
+ },
761
+ "instructor_effect": {
762
+ "status": "missing",
763
+ "note": "Classroom studies may carry instructor effects."
764
+ },
765
+ "novelty_effect": {
766
+ "status": "missing",
767
+ "note": "Short interventions may inflate initial engagement."
768
+ },
769
+ "tool_version_effect": {
770
+ "status": "not_applicable",
771
+ "note": "Not applicable: no software tool under test."
772
+ },
773
+ "ai_usage_policy": {
774
+ "status": "not_applicable",
775
+ "note": "Not applicable: the practice is closed book."
776
+ },
777
+ "dropout": {
778
+ "status": "missing",
779
+ "note": "Attrition is rarely reported in the included studies."
780
+ }
781
+ },
782
+ "task_vs_learning_guard": {
783
+ "measured_construct": "delayed retention and transfer, not immediate task speed",
784
+ "equates_task_with_learning": false,
785
+ "note": "The evidence set measures delayed retention and transfer rather than immediate practice speed, so no task-performance result is treated as a learning result."
786
+ },
787
+ "limitations": [
788
+ "Laboratory evidence outnumbers classroom evidence",
789
+ "Spacing intervals and practice formats vary widely"
790
+ ],
791
+ "suggestions": [
792
+ "Schedule a weekly short retrieval practice and fix one delayed post-test protocol."
793
+ ]
794
+ }
795
+ ],
796
+ "skeptic": {
797
+ "search_performed": true,
798
+ "method": "derived from evidence corpus directions (demo/test mode)",
799
+ "skeptic_findings": [
800
+ {
801
+ "check": "1_null_result",
802
+ "status": "found",
803
+ "detail": "derived from the evidence corpus in demo/test mode",
804
+ "related_evidence_ids": [
805
+ "E-005"
806
+ ]
807
+ },
808
+ {
809
+ "check": "2_negative_result",
810
+ "status": "not_found",
811
+ "detail": "derived from the evidence corpus in demo/test mode",
812
+ "related_evidence_ids": []
813
+ },
814
+ {
815
+ "check": "3_contradictory_evidence",
816
+ "status": "not_found",
817
+ "detail": "derived from the evidence corpus in demo/test mode",
818
+ "related_evidence_ids": []
819
+ },
820
+ {
821
+ "check": "4_alternative_explanation",
822
+ "status": "found",
823
+ "detail": "derived from the evidence corpus in demo/test mode",
824
+ "related_evidence_ids": []
825
+ },
826
+ {
827
+ "check": "5_measurement_mismatch",
828
+ "status": "not_found",
829
+ "detail": "derived from the evidence corpus in demo/test mode",
830
+ "related_evidence_ids": []
831
+ },
832
+ {
833
+ "check": "6_sampling_bias",
834
+ "status": "not_found",
835
+ "detail": "derived from the evidence corpus in demo/test mode",
836
+ "related_evidence_ids": []
837
+ },
838
+ {
839
+ "check": "7_novelty_effect",
840
+ "status": "not_found",
841
+ "detail": "derived from the evidence corpus in demo/test mode",
842
+ "related_evidence_ids": []
843
+ },
844
+ {
845
+ "check": "8_ai_dependency",
846
+ "status": "not_found",
847
+ "detail": "derived from the evidence corpus in demo/test mode",
848
+ "related_evidence_ids": []
849
+ },
850
+ {
851
+ "check": "9_scope_overreach",
852
+ "status": "not_found",
853
+ "detail": "derived from the evidence corpus in demo/test mode",
854
+ "related_evidence_ids": []
855
+ }
856
+ ],
857
+ "contradictory_evidence_found": false,
858
+ "no_contradictory_evidence_statement": "NO CONTRADICTORY EVIDENCE FOUND",
859
+ "threats_to_validity": [
860
+ "materials differ across experiments",
861
+ "sample of convenience",
862
+ "short retention interval",
863
+ "single institution"
864
+ ]
865
+ },
866
+ "applicability": {
867
+ "status": "ASSESSED",
868
+ "suitable_for": "Introductory programming courses with fixed contact hours where weekly short practice can be scheduled reliably",
869
+ "not_suitable_for": "Courses without a regular review slot, or settings where a delayed post-test cannot be guaranteed",
870
+ "required_conditions": [
871
+ "Weekly short retrieval practice",
872
+ "A common delayed post-test protocol"
873
+ ]
874
+ },
875
+ "intervention": {
876
+ "decision": "pilot",
877
+ "target_learners": "First-year students in an undergraduate introductory programming course",
878
+ "pilot_duration": "one semester",
879
+ "phases": [
880
+ {
881
+ "name": "Phase 1 baseline",
882
+ "weeks": "W1",
883
+ "activities": [
884
+ "common pre-test",
885
+ "brief the practice rules"
886
+ ]
887
+ },
888
+ {
889
+ "name": "Phase 2 weekly retrieval",
890
+ "weeks": "W2-W13",
891
+ "activities": [
892
+ "10 minutes closed-book retrieval each week",
893
+ "immediate feedback without answers",
894
+ "log completion"
895
+ ]
896
+ },
897
+ {
898
+ "name": "Phase 3 delayed post-test",
899
+ "weeks": "W14-W16",
900
+ "activities": [
901
+ "unassisted delayed test",
902
+ "transfer task with new item types"
903
+ ]
904
+ }
905
+ ],
906
+ "ai_usage_policy": "No AI tools in this pilot; practice is closed-book retrieval",
907
+ "stop_conditions": [
908
+ "delayed post-test below baseline",
909
+ "completion stays under 60%"
910
+ ],
911
+ "evidence_alignment": "Aligned with the delayed-retention evidence E-001/E-002/E-003"
912
+ },
913
+ "evaluation": {
914
+ "baseline": "W1 common pre-test",
915
+ "immediate_post": "W8 midterm check (process indicator)",
916
+ "retention": "W14 unassisted delayed test",
917
+ "transfer": "W16 transfer task with new item types",
918
+ "process_metrics": [
919
+ "weekly practice completion rate"
920
+ ],
921
+ "learning_metrics": [
922
+ "delayed retention score",
923
+ "transfer task score"
924
+ ],
925
+ "risk_metrics": [
926
+ "self-reported cognitive load"
927
+ ],
928
+ "success_criteria": [
929
+ "delayed test above the historical baseline",
930
+ "transfer does not decline"
931
+ ],
932
+ "stop_criteria": [
933
+ "delayed test below baseline",
934
+ "completion stays under 60%"
935
+ ]
936
+ },
937
+ "provenance": {
938
+ "search_provider": "sciverse",
939
+ "fetched_at": "2026-09-12T00:00:00+00:00",
940
+ "search_strategy": "Sciverse meta-search 与 agentic-search 双通道,逐条经 /content 读原文"
941
+ }
942
+ }