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,1457 @@
1
+ {
2
+ "meta": {
3
+ "skill": "eduevidence",
4
+ "version": "6.2.0",
5
+ "generated_at": "2026-08-24T04:39:14.576951+00:00",
6
+ "mode": "platform_native",
7
+ "question": "我们准备在大学一年级 C 语言课程中允许学生使用生成式 AI 编程助手。它到底会不会提高学习效果?应该怎样引入?",
8
+ "data_origin": "manual_curated"
9
+ },
10
+ "execution": {
11
+ "complexity": "M",
12
+ "mode": "platform_native",
13
+ "agents": [],
14
+ "usage": {
15
+ "measurement_status": "NOT_CAPTURED",
16
+ "input_tokens": null,
17
+ "output_tokens": null,
18
+ "cost_usd": null,
19
+ "latency_s": null
20
+ }
21
+ },
22
+ "research_frame": {
23
+ "question": "我们准备在大学一年级 C 语言课程中允许学生使用生成式 AI 编程助手。它到底会不会提高学习效果?应该怎样引入?",
24
+ "decision_target": "teaching_decision",
25
+ "learner": {
26
+ "education_level": "undergraduate_year_1",
27
+ "major": "computer_science",
28
+ "prior_knowledge": "first_programming_course_no_prior_text_based_programming",
29
+ "special_characteristics": "mixed_ability_large_class_60_students"
30
+ },
31
+ "course": {
32
+ "subject": "C_programming",
33
+ "course_type": "lecture_lab",
34
+ "duration": "16_weeks_one_semester"
35
+ },
36
+ "intervention": {
37
+ "teaching_method": "lecture_with_lab_exercises",
38
+ "ai_tool": "generative_ai_coding_assistant",
39
+ "allowed_usage": "under_design_pending_evidence_review",
40
+ "frequency": "weekly_lab_sessions",
41
+ "duration": "one_semester"
42
+ },
43
+ "comparison": "no_ai_coding_assistant_control",
44
+ "outcomes": {
45
+ "primary": [
46
+ "independent_problem_solving",
47
+ "code_quality"
48
+ ],
49
+ "secondary": [
50
+ "completion_time",
51
+ "retention",
52
+ "knowledge_gain"
53
+ ],
54
+ "risk": [
55
+ "ai_dependency",
56
+ "over_reliance",
57
+ "reduced_transfer"
58
+ ]
59
+ },
60
+ "context": {
61
+ "teacher_support": "TA_supported_two_TAs",
62
+ "class_size": "60_students",
63
+ "online_or_offline": "offline"
64
+ },
65
+ "scope": {
66
+ "time_range": "2021-2026",
67
+ "geography": "worldwide",
68
+ "study_types": [
69
+ "rct",
70
+ "quasi_experimental",
71
+ "observational"
72
+ ]
73
+ },
74
+ "inclusion_criteria": [
75
+ "studies_of_generative_AI_coding_tools_in_learning_to_program",
76
+ "outcomes_measuring_learning_not_only_task_speed",
77
+ "university_or_novice_programming_populations"
78
+ ],
79
+ "exclusion_criteria": [
80
+ "practitioner_anecdotes_without_data",
81
+ "industry_professional_populations_only"
82
+ ],
83
+ "success_condition": "independent problem solving and code quality improve (or do not decline) while AI dependency risk stays controlled; evidence base supports a bounded pilot."
84
+ },
85
+ "decision": {
86
+ "decision_question": "大一 C 语言课程是否应该允许学生使用生成式 AI 编程助手?",
87
+ "target_population": "university first-year computer science students learning C programming for the first time",
88
+ "target_context": "16-week lecture-lab course, 60 students, TA support, offline",
89
+ "supported_claims": [
90
+ "AI coding assistants reliably increase task performance during training (completion speed, correctness) — E-001, E-006.",
91
+ "Unguarded generative AI access can harm independent problem solving when access is removed — E-004.",
92
+ "Guardrail design (hints instead of answers) substantially mitigates the negative learning effect — E-005.",
93
+ "Task performance gains do not automatically imply learning gains — E-004 vs E-006 (within-study contrast).",
94
+ "Tool capability is substantial: Codex solves roughly half to three-quarters of CS1 exam-style questions — E-010.",
95
+ "Professional-developer RCT shows ~55% faster task completion with Copilot; directness limited by professional population — E-008.",
96
+ "LLM code explanations rate comparable to student-authored explanations, viable as scaffold material — E-011."
97
+ ],
98
+ "uncertain_claims": [
99
+ "Whether AI coding assistants improve or preserve actual programming learning in university novices — no direct university-level RCT in reviewed set [无直接证据]",
100
+ "Whether one-week neutral retention (Kazemitabaar 2023) extends to a semester — E-003.",
101
+ "Whether benchmark quality findings (E-009) and explanation-quality ratings (E-011) translate into classroom learning gains.",
102
+ "How comprehension/ownership difficulties documented in usability studies (E-012) behave over a full semester with guardrails."
103
+ ],
104
+ "contradicted_claims": [
105
+ "The claim 'AI tools always improve learning' is contradicted by E-004 (unguarded access, -17% independent exam).",
106
+ "The claim 'speed gains equal learning gains' is contradicted by the task-vs-learning separation across E-001/E-006/E-008 vs E-004."
107
+ ],
108
+ "reason_for_disagreement": "Disagreement comes from outcome separation (task vs learning), tool design (guarded vs unguarded), and population (K-12 / professionals vs university). Task-performance evidence is consistently positive across randomized and benchmark studies; the only study measuring independent performance after AI removal shows harm without guardrails; usability and artifact studies add dependence and quality caveats rather than resolving the learning question.",
109
+ "methodology_summary": "Eight real sources: three randomized experiments (Kazemitabaar 2023 n=69 K-12; Bastani 2025 n≈950 high-school mathematics; Peng 2023 n=95 professional developers, preprint), one ESL writing mixed-methods study (Marzuki 2024), plus benchmark/capability/usability studies (Yetistiren 2023; Finnie-Ansley 2022; explanation-comparison 2023; Vaithilingam 2022). No direct RCT in university programming courses. Internal validity of the core RCTs is strong; directness to first-year university C programming is weak. All sources carry registry-verified DOIs (see benchmarks/doi-audit/report.md).",
110
+ "outcome_specific_findings": {
111
+ "completion_time": "positive during training and professional tasks (E-001, E-008)",
112
+ "independent_problem_solving": "neutral-to-negative without guardrails (E-002, E-004)",
113
+ "retention": "neutral over 1 week (E-003)",
114
+ "assignment_score": "positive during practice, negative on closed-book exam (E-004, E-006); tool itself scores passing-level on CS1 questions (E-010)",
115
+ "code_quality": "mixed on benchmarks; security concerns documented (E-009)",
116
+ "metacognition": "LLM explanations compare well (E-011) while novice ownership/debugging difficulties persist (E-012)",
117
+ "ai_dependency": "documented crutch behavior with unguarded tool (E-004, E-005, E-012)"
118
+ },
119
+ "short_term_effect": "Task performance reliably increases; learning effect null-to-negative without guardrails.",
120
+ "long_term_effect": "No evidence beyond one week; long-term learning effect unknown.",
121
+ "transfer_effect": "No full transfer evidence; manual code-modification not harmed in one small study (E-002).",
122
+ "risk_effect": "AI dependency and over-reliance risk is real and documented for unguarded usage (E-004) and foreshadowed by usability findings (E-012).",
123
+ "applicability": {
124
+ "suitable_for": "pilot in first-year C course with guardrailed usage policy",
125
+ "not_suitable_for": "unrestricted AI adoption without usage policy",
126
+ "required_conditions": [
127
+ "guardrailed AI usage policy (hints not answers, modeled on GPT Tutor arm)",
128
+ "no-AI transfer assessment",
129
+ "TA support"
130
+ ]
131
+ },
132
+ "confidence": "Moderate",
133
+ "confidence_breakdown": {
134
+ "score": 0.586,
135
+ "evidence_quality": 0.758,
136
+ "consistency": 0.667,
137
+ "directness": 0.458,
138
+ "evidence_count": 12,
139
+ "independent_studies": 8,
140
+ "independent_samples": 8,
141
+ "count_term": 1.0,
142
+ "conflict_penalty": 0.15,
143
+ "unsupported_penalty": 0.0
144
+ },
145
+ "what_can_be_claimed": [
146
+ "AI coding assistants raise task performance for novices during training.",
147
+ "Unguarded access carries a real risk of hurting independent problem solving.",
148
+ "Guardrail design can mitigate that risk.",
149
+ "Direct evidence for university C programming learning is missing.",
150
+ "Tool capability headroom is large (CS1 question pass rates; professional speed RCT)."
151
+ ],
152
+ "what_cannot_be_claimed": [
153
+ "AI coding assistants improve (or even preserve) university students' programming learning.",
154
+ "Any long-term or retention benefit.",
155
+ "Any claim about which students benefit, based on university samples.",
156
+ "That benchmark or usability findings substitute for classroom learning outcomes."
157
+ ],
158
+ "missing_evidence": [
159
+ "RCT of AI coding assistants in university programming courses with retention and no-AI transfer tests.",
160
+ "Studies varying AI usage policy within the same course.",
161
+ "Longitudinal data on AI dependency beyond one course.",
162
+ "Peer-reviewed replication of the professional speed RCT (Peng et al. remains a preprint)."
163
+ ],
164
+ "recommended_action": "pilot",
165
+ "decision_rationale": "Positive task-performance evidence plus documented unguarded-access risk, mixed quality/usability signals, and missing university-level learning evidence → bounded, guardrailed pilot with evaluation, not full adoption.",
166
+ "exceeds_evidence_boundary": [
167
+ "Claiming 'AI coding assistants improve learning' exceeds the boundary: direct learning-effect evidence is missing.",
168
+ "Claiming 'AI works for everyone' exceeds the boundary: population and subject mismatch."
169
+ ],
170
+ "confidence_score": 0.586,
171
+ "confidence_policy_version": "2026-08-12.v3",
172
+ "independent_studies": 8,
173
+ "independent_samples": 8,
174
+ "raw_model_confidence": "Moderate",
175
+ "raw_model_confidence_breakdown": {
176
+ "score": 0.586,
177
+ "evidence_quality": 0.758,
178
+ "consistency": 0.667,
179
+ "directness": 0.458,
180
+ "evidence_count": 12,
181
+ "independent_studies": 8,
182
+ "independent_samples": 8,
183
+ "count_term": 1.0,
184
+ "conflict_penalty": 0.15,
185
+ "unsupported_penalty": 0.0
186
+ },
187
+ "strongest_support": "AI coding assistants reliably speed up practice work: completion rate 1.15x and time 0.57x in a randomised trial of 69 novices.",
188
+ "key_uncertainty": "No university-level RCT measures learning directly, and the one large trial that did - unguarded GPT-4 - saw independent exam scores fall 17%.",
189
+ "main_risk": "Unguarded access can raise practice performance while lowering independent exam performance, and learners may not notice the gap.",
190
+ "next_action": "Run a phased CS1 pilot with hints-not-answers guardrails, weekly lab use, and a no-AI transfer exam that can stop the pilot."
191
+ },
192
+ "outcomes": [
193
+ {
194
+ "outcome_type": "knowledge_gain",
195
+ "positive_count": 1,
196
+ "negative_count": 0,
197
+ "null_count": 0,
198
+ "evidence_ids": [
199
+ "E-007"
200
+ ]
201
+ },
202
+ {
203
+ "outcome_type": "retention",
204
+ "positive_count": 0,
205
+ "negative_count": 0,
206
+ "null_count": 1,
207
+ "evidence_ids": [
208
+ "E-003"
209
+ ]
210
+ },
211
+ {
212
+ "outcome_type": "independent_problem_solving",
213
+ "positive_count": 0,
214
+ "negative_count": 1,
215
+ "null_count": 2,
216
+ "evidence_ids": [
217
+ "E-002",
218
+ "E-004",
219
+ "E-005"
220
+ ]
221
+ },
222
+ {
223
+ "outcome_type": "completion_time",
224
+ "positive_count": 2,
225
+ "negative_count": 0,
226
+ "null_count": 0,
227
+ "evidence_ids": [
228
+ "E-001",
229
+ "E-008"
230
+ ]
231
+ },
232
+ {
233
+ "outcome_type": "code_quality",
234
+ "positive_count": 0,
235
+ "negative_count": 0,
236
+ "null_count": 1,
237
+ "evidence_ids": [
238
+ "E-009"
239
+ ]
240
+ },
241
+ {
242
+ "outcome_type": "assignment_score",
243
+ "positive_count": 2,
244
+ "negative_count": 0,
245
+ "null_count": 0,
246
+ "evidence_ids": [
247
+ "E-006",
248
+ "E-010"
249
+ ]
250
+ },
251
+ {
252
+ "outcome_type": "metacognition",
253
+ "positive_count": 1,
254
+ "negative_count": 0,
255
+ "null_count": 0,
256
+ "evidence_ids": [
257
+ "E-011"
258
+ ]
259
+ },
260
+ {
261
+ "outcome_type": "over_reliance",
262
+ "positive_count": 0,
263
+ "negative_count": 1,
264
+ "null_count": 0,
265
+ "evidence_ids": [
266
+ "E-012"
267
+ ]
268
+ }
269
+ ],
270
+ "outcome_mapping": {
271
+ "entries": [
272
+ {
273
+ "outcome_type": "ai_dependency",
274
+ "declared_in_frame": true,
275
+ "status": "no_evidence",
276
+ "support_count": 0,
277
+ "contradict_count": 0,
278
+ "neutral_count": 0,
279
+ "evidence_ids": []
280
+ },
281
+ {
282
+ "outcome_type": "assignment_score",
283
+ "declared_in_frame": false,
284
+ "status": "supported",
285
+ "support_count": 2,
286
+ "contradict_count": 0,
287
+ "neutral_count": 0,
288
+ "evidence_ids": [
289
+ "E-006",
290
+ "E-010"
291
+ ]
292
+ },
293
+ {
294
+ "outcome_type": "code_quality",
295
+ "declared_in_frame": true,
296
+ "status": "null_evidence_only",
297
+ "support_count": 0,
298
+ "contradict_count": 0,
299
+ "neutral_count": 1,
300
+ "evidence_ids": [
301
+ "E-009"
302
+ ]
303
+ },
304
+ {
305
+ "outcome_type": "completion_time",
306
+ "declared_in_frame": true,
307
+ "status": "supported",
308
+ "support_count": 2,
309
+ "contradict_count": 0,
310
+ "neutral_count": 0,
311
+ "evidence_ids": [
312
+ "E-001",
313
+ "E-008"
314
+ ]
315
+ },
316
+ {
317
+ "outcome_type": "independent_problem_solving",
318
+ "declared_in_frame": true,
319
+ "status": "contested",
320
+ "support_count": 1,
321
+ "contradict_count": 1,
322
+ "neutral_count": 1,
323
+ "evidence_ids": [
324
+ "E-002",
325
+ "E-004",
326
+ "E-005"
327
+ ]
328
+ },
329
+ {
330
+ "outcome_type": "knowledge_gain",
331
+ "declared_in_frame": true,
332
+ "status": "supported",
333
+ "support_count": 1,
334
+ "contradict_count": 0,
335
+ "neutral_count": 0,
336
+ "evidence_ids": [
337
+ "E-007"
338
+ ]
339
+ },
340
+ {
341
+ "outcome_type": "metacognition",
342
+ "declared_in_frame": false,
343
+ "status": "supported",
344
+ "support_count": 1,
345
+ "contradict_count": 0,
346
+ "neutral_count": 0,
347
+ "evidence_ids": [
348
+ "E-011"
349
+ ]
350
+ },
351
+ {
352
+ "outcome_type": "over_reliance",
353
+ "declared_in_frame": true,
354
+ "status": "contradicted",
355
+ "support_count": 0,
356
+ "contradict_count": 1,
357
+ "neutral_count": 0,
358
+ "evidence_ids": [
359
+ "E-012"
360
+ ]
361
+ },
362
+ {
363
+ "outcome_type": "reduced_transfer",
364
+ "declared_in_frame": true,
365
+ "status": "no_evidence",
366
+ "support_count": 0,
367
+ "contradict_count": 0,
368
+ "neutral_count": 0,
369
+ "evidence_ids": []
370
+ },
371
+ {
372
+ "outcome_type": "retention",
373
+ "declared_in_frame": true,
374
+ "status": "null_evidence_only",
375
+ "support_count": 0,
376
+ "contradict_count": 0,
377
+ "neutral_count": 1,
378
+ "evidence_ids": [
379
+ "E-003"
380
+ ]
381
+ }
382
+ ],
383
+ "declared_without_evidence": [
384
+ "ai_dependency",
385
+ "reduced_transfer"
386
+ ]
387
+ },
388
+ "claims": [
389
+ {
390
+ "claim": "AI coding assistants significantly increase task completion speed and completion rate during training.",
391
+ "outcome_type": "completion_time",
392
+ "claim_id": "C-001",
393
+ "evidence_ids": [
394
+ "E-001"
395
+ ],
396
+ "status": "SUPPORTED"
397
+ },
398
+ {
399
+ "claim": "Access to AI code generation did not decrease performance on manual code-modification tasks.",
400
+ "outcome_type": "independent_problem_solving",
401
+ "claim_id": "C-002",
402
+ "evidence_ids": [
403
+ "E-002"
404
+ ],
405
+ "status": "SUPPORTED"
406
+ },
407
+ {
408
+ "claim": "One week after training, retention differences between Codex and baseline groups did not reach statistical significance.",
409
+ "outcome_type": "retention",
410
+ "claim_id": "C-003",
411
+ "evidence_ids": [
412
+ "E-003"
413
+ ],
414
+ "status": "SUPPORTED"
415
+ },
416
+ {
417
+ "claim": "Students with unguarded GPT-4 access performed 17% worse on the independent exam than the control group, despite higher practice performance.",
418
+ "outcome_type": "independent_problem_solving",
419
+ "claim_id": "C-004",
420
+ "evidence_ids": [
421
+ "E-004"
422
+ ],
423
+ "status": "SUPPORTED"
424
+ },
425
+ {
426
+ "claim": "Guardrail design of the AI tutor (hints instead of answers, teacher-informed prompts) largely eliminated the negative learning effect.",
427
+ "outcome_type": "independent_problem_solving",
428
+ "claim_id": "C-005",
429
+ "evidence_ids": [
430
+ "E-005"
431
+ ],
432
+ "status": "SUPPORTED"
433
+ },
434
+ {
435
+ "claim": "Access to GPT-4 during practice improves task performance (48% for GPT Base, 127% for GPT Tutor) — but this task performance does not transfer to independent exam performance.",
436
+ "outcome_type": "assignment_score",
437
+ "claim_id": "C-006",
438
+ "evidence_ids": [
439
+ "E-006"
440
+ ],
441
+ "status": "SUPPORTED"
442
+ },
443
+ {
444
+ "claim": "ChatGPT as a formative feedback tool produced a significant positive impact on students' academic writing skills with positive student perceptions.",
445
+ "outcome_type": "knowledge_gain",
446
+ "claim_id": "C-007",
447
+ "evidence_ids": [
448
+ "E-007"
449
+ ],
450
+ "status": "SUPPORTED"
451
+ },
452
+ {
453
+ "claim": "Professional developers with Copilot access completed a standardized coding task about 55% faster than the control group (RCT, n=95).",
454
+ "outcome_type": "completion_time",
455
+ "claim_id": "C-008",
456
+ "evidence_ids": [
457
+ "E-008"
458
+ ],
459
+ "status": "SUPPORTED"
460
+ },
461
+ {
462
+ "claim": "Systematic benchmark evaluation reports mixed quality results for Copilot-generated code relative to human code: correctness competitive on parts of the benchmark while security-relevant defects are documented.",
463
+ "outcome_type": "code_quality",
464
+ "claim_id": "C-009",
465
+ "evidence_ids": [
466
+ "E-009"
467
+ ],
468
+ "status": "SUPPORTED"
469
+ },
470
+ {
471
+ "claim": "Codex produced passing-level solutions for roughly half to three-quarters of CS1 exam-style questions depending on the dataset, indicating substantial task-capability headroom available to novices.",
472
+ "outcome_type": "assignment_score",
473
+ "claim_id": "C-010",
474
+ "evidence_ids": [
475
+ "E-010"
476
+ ],
477
+ "status": "SUPPORTED"
478
+ },
479
+ {
480
+ "claim": "Controlled comparisons find LLM-generated code explanations comparable to (in places better than) student-authored explanations, suggesting viability as explanatory scaffold material rather than as a replacement for student explanation practice.",
481
+ "outcome_type": "metacognition",
482
+ "claim_id": "C-011",
483
+ "evidence_ids": [
484
+ "E-011"
485
+ ],
486
+ "status": "SUPPORTED"
487
+ },
488
+ {
489
+ "claim": "Despite faster first-task completion, participants struggled to understand and debug AI-generated solutions and reported low ownership of the final program - documenting metacognitive and dependence risks that pure speed metrics miss.",
490
+ "outcome_type": "over_reliance",
491
+ "claim_id": "C-012",
492
+ "evidence_ids": [
493
+ "E-012"
494
+ ],
495
+ "status": "CONTRADICT"
496
+ }
497
+ ],
498
+ "sources": [
499
+ {
500
+ "source_id": "S-2023-kazemitabaar",
501
+ "title": "Studying the effect of AI Code Generators on Supporting Novice Learners in Introductory Programming",
502
+ "year": 2023,
503
+ "doi": "10.1145/3544548.3580919",
504
+ "canonical_url": "https://dl.acm.org/doi/10.1145/3544548.3580919",
505
+ "authority_level": "tier1_paper_doi",
506
+ "source_location": "https://dl.acm.org/doi/10.1145/3544548.3580919",
507
+ "doi_verified": true,
508
+ "retracted": false
509
+ },
510
+ {
511
+ "source_id": "S-2025-bastani",
512
+ "title": "Generative AI without guardrails can harm learning: Evidence from high school mathematics",
513
+ "year": 2025,
514
+ "doi": "10.1073/pnas.2422633122",
515
+ "canonical_url": "https://www.pnas.org/doi/10.1073/pnas.2422633122",
516
+ "authority_level": "tier1_paper_doi",
517
+ "source_location": "https://www.pnas.org/doi/10.1073/pnas.2422633122",
518
+ "doi_verified": true,
519
+ "retracted": false
520
+ },
521
+ {
522
+ "source_id": "S-2024-marzuki",
523
+ "title": "Impact of ChatGPT on ESL students' academic writing skills",
524
+ "year": 2024,
525
+ "doi": "10.1186/s40561-024-00295-9",
526
+ "canonical_url": "https://link.springer.com/article/10.1186/s40561-024-00295-9",
527
+ "authority_level": "tier1_paper_doi",
528
+ "source_location": "https://link.springer.com/article/10.1186/s40561-024-00295-9",
529
+ "doi_verified": true,
530
+ "retracted": false
531
+ },
532
+ {
533
+ "source_id": "S-2023-peng",
534
+ "title": "The Impact of AI on Developer Productivity: Evidence from GitHub Copilot",
535
+ "year": 2023,
536
+ "doi": "10.48550/arXiv.2302.06590",
537
+ "canonical_url": "https://doi.org/10.48550/arXiv.2302.06590",
538
+ "authority_level": "tier2_academic_database",
539
+ "source_location": "https://arxiv.org/abs/2302.06590",
540
+ "doi_verified": true,
541
+ "retracted": false
542
+ },
543
+ {
544
+ "source_id": "S-2023-yetistiren",
545
+ "title": "GitHub Copilot AI Pair Programmer: Asset or Liability?",
546
+ "year": 2023,
547
+ "doi": "10.1016/j.jss.2023.111734",
548
+ "canonical_url": "https://doi.org/10.1016/j.jss.2023.111734",
549
+ "authority_level": "tier1_paper_doi",
550
+ "source_location": "https://doi.org/10.1016/j.jss.2023.111734",
551
+ "doi_verified": true,
552
+ "retracted": false
553
+ },
554
+ {
555
+ "source_id": "S-2022-finnie-ansley",
556
+ "title": "Using GitHub Copilot to Solve Introductory Programming Problems",
557
+ "year": 2022,
558
+ "doi": "10.1145/3545945.3569830",
559
+ "canonical_url": "https://dl.acm.org/doi/10.1145/3545945.3569830",
560
+ "authority_level": "tier1_paper_doi",
561
+ "source_location": "https://dl.acm.org/doi/10.1145/3545945.3569830",
562
+ "doi_verified": true,
563
+ "retracted": false
564
+ },
565
+ {
566
+ "source_id": "S-2023-explanations-compare",
567
+ "title": "Comparing Code Explanations Created by Students and Large Language Models",
568
+ "year": 2023,
569
+ "doi": "10.1145/3587102.3588785",
570
+ "canonical_url": "https://dl.acm.org/doi/10.1145/3587102.3588785",
571
+ "authority_level": "tier1_paper_doi",
572
+ "source_location": "https://dl.acm.org/doi/10.1145/3587102.3588785",
573
+ "doi_verified": true,
574
+ "retracted": false
575
+ },
576
+ {
577
+ "source_id": "S-2022-vaithilingam",
578
+ "title": "Expectation vs. Experience: Evaluating the Usability of Code Generation Tools",
579
+ "year": 2022,
580
+ "doi": "10.1145/3491101.3519665",
581
+ "canonical_url": "https://dl.acm.org/doi/10.1145/3491101.3519665",
582
+ "authority_level": "tier1_paper_doi",
583
+ "source_location": "https://dl.acm.org/doi/10.1145/3491101.3519665",
584
+ "doi_verified": true,
585
+ "retracted": false
586
+ }
587
+ ],
588
+ "evidence": [
589
+ {
590
+ "evidence_id": "E-001",
591
+ "source_id": "S-2023-kazemitabaar",
592
+ "title": "Studying the effect of AI Code Generators on Supporting Novice Learners in Introductory Programming",
593
+ "year": 2023,
594
+ "study_type": "rct",
595
+ "education_level": "k12_ages_10_17",
596
+ "subject": "introductory_python",
597
+ "population": "69 novices ages 10-17 with no prior text-based programming experience",
598
+ "sample_size": 69,
599
+ "intervention": "access_to_openai_codex_ai_coding_assistant_during_training",
600
+ "comparison": "baseline_group_without_ai_coding_assistant",
601
+ "outcome_type": "completion_time",
602
+ "outcome_measure": "code_authoring_task_progress_and_time",
603
+ "claim": "AI coding assistants significantly increase task completion speed and completion rate during training.",
604
+ "direction": "support",
605
+ "relation_to_claim": "support",
606
+ "effect_direction": "positive",
607
+ "study_id": "STUDY-KAZEMITABAAR-2023",
608
+ "sample_id": "SMPL-KAZEMITABAAR-2023-N69",
609
+ "effect": "1.15x completion rate, 0.57x time, 1.8x correctness",
610
+ "duration": "3_weeks_training",
611
+ "method": "controlled experiment with random assignment, immediate post-test and 1-week retention test",
612
+ "strengths": [
613
+ "randomized_controlled_design",
614
+ "immediate_post_test_and_retention_test",
615
+ "code_modification_task_guard"
616
+ ],
617
+ "limitations": [
618
+ "non_university_population_ages_10_17",
619
+ "small_sample_69",
620
+ "self-paced environment differs from classroom"
621
+ ],
622
+ "confounders": [
623
+ "prior_programming_competency_interaction"
624
+ ],
625
+ "source_location": "https://dl.acm.org/doi/10.1145/3544548.3580919",
626
+ "quality_dimensions": {
627
+ "D1_study_design": 2,
628
+ "D2_sample_quality": 2,
629
+ "D3_measurement_validity": 2,
630
+ "D4_temporal_strength": 2,
631
+ "D5_directness": 1
632
+ },
633
+ "quality_score": 9.0,
634
+ "evidence_level": "strong",
635
+ "applicability": {
636
+ "learner_match": "partial_novice_programmers_but_younger",
637
+ "subject_match": "introductory_programming",
638
+ "tool_match": "codex_like_generative_ai",
639
+ "scope": "task_performance_during_training"
640
+ },
641
+ "confidence": 0.7,
642
+ "status": "SUPPORTED",
643
+ "decision_relation": "support_adoption",
644
+ "claim_id": "C-001"
645
+ },
646
+ {
647
+ "evidence_id": "E-002",
648
+ "source_id": "S-2023-kazemitabaar",
649
+ "title": "Studying the effect of AI Code Generators on Supporting Novice Learners in Introductory Programming",
650
+ "year": 2023,
651
+ "study_type": "rct",
652
+ "education_level": "k12_ages_10_17",
653
+ "subject": "introductory_python",
654
+ "population": "69 novices ages 10-17 with no prior text-based programming experience",
655
+ "sample_size": 69,
656
+ "intervention": "access_to_openai_codex_ai_coding_assistant_during_training",
657
+ "comparison": "baseline_group_without_ai_coding_assistant",
658
+ "outcome_type": "independent_problem_solving",
659
+ "outcome_measure": "manual code-modification tasks during training",
660
+ "claim": "Access to AI code generation did not decrease performance on manual code-modification tasks.",
661
+ "direction": "neutral",
662
+ "relation_to_claim": "neutral",
663
+ "effect_direction": "null",
664
+ "study_id": "STUDY-KAZEMITABAAR-2023",
665
+ "sample_id": "SMPL-KAZEMITABAAR-2023-N69",
666
+ "effect": "no significant difference between groups",
667
+ "duration": "3_weeks_training",
668
+ "method": "controlled experiment, code-modification task followed each code-authoring task",
669
+ "strengths": [
670
+ "direct_test_of_transfer-adjacent_skill",
671
+ "same_session_measurement"
672
+ ],
673
+ "limitations": [
674
+ "code modification is not full independent problem solving",
675
+ "non_university population"
676
+ ],
677
+ "confounders": [
678
+ "practice_effect"
679
+ ],
680
+ "source_location": "https://dl.acm.org/doi/10.1145/3544548.3580919",
681
+ "quality_dimensions": {
682
+ "D1_study_design": 2,
683
+ "D2_sample_quality": 2,
684
+ "D3_measurement_validity": 1,
685
+ "D4_temporal_strength": 1,
686
+ "D5_directness": 1
687
+ },
688
+ "quality_score": 7.0,
689
+ "evidence_level": "moderate",
690
+ "applicability": {
691
+ "learner_match": "partial",
692
+ "subject_match": "introductory_programming",
693
+ "tool_match": "codex",
694
+ "scope": "short-term manual code modification"
695
+ },
696
+ "confidence": 0.5,
697
+ "status": "SUPPORTED",
698
+ "decision_relation": "neutral",
699
+ "claim_id": "C-002"
700
+ },
701
+ {
702
+ "evidence_id": "E-003",
703
+ "source_id": "S-2023-kazemitabaar",
704
+ "title": "Studying the effect of AI Code Generators on Supporting Novice Learners in Introductory Programming",
705
+ "year": 2023,
706
+ "study_type": "rct",
707
+ "education_level": "k12_ages_10_17",
708
+ "subject": "introductory_python",
709
+ "population": "69 novices ages 10-17 with no prior text-based programming experience",
710
+ "sample_size": 69,
711
+ "intervention": "access_to_openai_codex_ai_coding_assistant_during_training",
712
+ "comparison": "baseline_group_without_ai_coding_assistant",
713
+ "outcome_type": "retention",
714
+ "outcome_measure": "retention post-test one week after training",
715
+ "claim": "One week after training, retention differences between Codex and baseline groups did not reach statistical significance.",
716
+ "direction": "neutral",
717
+ "relation_to_claim": "neutral",
718
+ "effect_direction": "null",
719
+ "study_id": "STUDY-KAZEMITABAAR-2023",
720
+ "sample_id": "SMPL-KAZEMITABAAR-2023-N69",
721
+ "effect": "slightly better for Codex group but not significant",
722
+ "duration": "3_weeks_training_plus_1_week_retention",
723
+ "method": "controlled experiment with delayed retention test",
724
+ "strengths": [
725
+ "delayed_test_included"
726
+ ],
727
+ "limitations": [
728
+ "1-week retention window is short",
729
+ "small sample",
730
+ "non-university population"
731
+ ],
732
+ "confounders": [
733
+ "prior_competency"
734
+ ],
735
+ "source_location": "https://dl.acm.org/doi/10.1145/3544548.3580919",
736
+ "quality_dimensions": {
737
+ "D1_study_design": 2,
738
+ "D2_sample_quality": 2,
739
+ "D3_measurement_validity": 2,
740
+ "D4_temporal_strength": 2,
741
+ "D5_directness": 1
742
+ },
743
+ "quality_score": 9.0,
744
+ "evidence_level": "strong",
745
+ "applicability": {
746
+ "learner_match": "partial",
747
+ "subject_match": "introductory_programming",
748
+ "tool_match": "codex",
749
+ "scope": "retention over one week"
750
+ },
751
+ "confidence": 0.5,
752
+ "status": "SUPPORTED",
753
+ "decision_relation": "neutral",
754
+ "claim_id": "C-003"
755
+ },
756
+ {
757
+ "evidence_id": "E-004",
758
+ "source_id": "S-2025-bastani",
759
+ "title": "Generative AI without guardrails can harm learning: Evidence from high school mathematics",
760
+ "year": 2025,
761
+ "study_type": "rct",
762
+ "education_level": "high_school",
763
+ "subject": "mathematics",
764
+ "population": "nearly a thousand high school math students in Turkey",
765
+ "sample_size": 950,
766
+ "intervention": "gpt4_based_tutor_gpt_base_unguarded",
767
+ "comparison": "no_generative_ai_control",
768
+ "outcome_type": "independent_problem_solving",
769
+ "outcome_measure": "exam without access to AI resources after practice phase",
770
+ "claim": "Students with unguarded GPT-4 access performed 17% worse on the independent exam than the control group, despite higher practice performance.",
771
+ "direction": "contradict",
772
+ "relation_to_claim": "contradict",
773
+ "effect_direction": "negative",
774
+ "study_id": "STUDY-BASTANI-2025",
775
+ "sample_id": "SMPL-BASTANI-2025-N950",
776
+ "effect": "negative_17_percent_on_independent_exam",
777
+ "duration": "in_class_study_sessions",
778
+ "method": "large-scale randomized controlled trial, practice phase then closed-book exam",
779
+ "strengths": [
780
+ "large_scale_rct",
781
+ "independent_exam_without_ai",
782
+ "arm_wise_design"
783
+ ],
784
+ "limitations": [
785
+ "high_school_mathematics_not_university_programming",
786
+ "single_country"
787
+ ],
788
+ "confounders": [
789
+ "tool_design_difference"
790
+ ],
791
+ "source_location": "https://www.pnas.org/doi/10.1073/pnas.2422633122",
792
+ "quality_dimensions": {
793
+ "D1_study_design": 2,
794
+ "D2_sample_quality": 2,
795
+ "D3_measurement_validity": 2,
796
+ "D4_temporal_strength": 1,
797
+ "D5_directness": 1
798
+ },
799
+ "quality_score": 8.0,
800
+ "evidence_level": "strong",
801
+ "applicability": {
802
+ "learner_match": "partial_same_age_band_different_subject",
803
+ "subject_match": "no_mathematics_vs_programming",
804
+ "tool_match": "gpt4_chat_interface",
805
+ "scope": "unguarded_general_chat_interface"
806
+ },
807
+ "confidence": 0.75,
808
+ "status": "SUPPORTED",
809
+ "decision_relation": "oppose_adoption",
810
+ "claim_id": "C-004"
811
+ },
812
+ {
813
+ "evidence_id": "E-005",
814
+ "source_id": "S-2025-bastani",
815
+ "title": "Generative AI without guardrails can harm learning: Evidence from high school mathematics",
816
+ "year": 2025,
817
+ "study_type": "rct",
818
+ "education_level": "high_school",
819
+ "subject": "mathematics",
820
+ "population": "nearly a thousand high school math students in Turkey",
821
+ "sample_size": 950,
822
+ "intervention": "gpt4_tutor_with_teacher_designed_guardrails",
823
+ "comparison": "no_generative_ai_control",
824
+ "outcome_type": "independent_problem_solving",
825
+ "outcome_measure": "exam without access to AI resources after practice phase",
826
+ "claim": "Guardrail design of the AI tutor (hints instead of answers, teacher-informed prompts) largely eliminated the negative learning effect.",
827
+ "direction": "support",
828
+ "relation_to_claim": "support",
829
+ "effect_direction": "null",
830
+ "study_id": "STUDY-BASTANI-2025",
831
+ "sample_id": "SMPL-BASTANI-2025-N950",
832
+ "effect": "negative effect essentially eradicated, no positive effect observed",
833
+ "duration": "in_class_study_sessions",
834
+ "method": "large-scale randomized controlled trial, three arms",
835
+ "strengths": [
836
+ "direct_manipulation_of_tool_design",
837
+ "large_sample"
838
+ ],
839
+ "limitations": [
840
+ "no_positive_learning_gain_even_with_guardrails",
841
+ "subject_mismatch"
842
+ ],
843
+ "confounders": [
844
+ "prompt_engineering_effort"
845
+ ],
846
+ "source_location": "https://www.pnas.org/doi/10.1073/pnas.2422633122",
847
+ "quality_dimensions": {
848
+ "D1_study_design": 2,
849
+ "D2_sample_quality": 2,
850
+ "D3_measurement_validity": 2,
851
+ "D4_temporal_strength": 1,
852
+ "D5_directness": 1
853
+ },
854
+ "quality_score": 8.0,
855
+ "evidence_level": "strong",
856
+ "applicability": {
857
+ "learner_match": "partial",
858
+ "subject_match": "no",
859
+ "tool_match": "guardrailed_tutor_design",
860
+ "scope": "guardrail_design_principle_transferable"
861
+ },
862
+ "confidence": 0.75,
863
+ "status": "SUPPORTED",
864
+ "decision_relation": "conditional",
865
+ "claim_id": "C-005"
866
+ },
867
+ {
868
+ "evidence_id": "E-006",
869
+ "source_id": "S-2025-bastani",
870
+ "title": "Generative AI without guardrails can harm learning: Evidence from high school mathematics",
871
+ "year": 2025,
872
+ "study_type": "rct",
873
+ "education_level": "high_school",
874
+ "subject": "mathematics",
875
+ "population": "nearly a thousand high school math students in Turkey",
876
+ "sample_size": 950,
877
+ "intervention": "gpt4_tutor_access_during_practice",
878
+ "comparison": "no_generative_ai_control",
879
+ "outcome_type": "assignment_score",
880
+ "outcome_measure": "practice problem performance during study sessions",
881
+ "claim": "Access to GPT-4 during practice improves task performance (48% for GPT Base, 127% for GPT Tutor) — but this task performance does not transfer to independent exam performance.",
882
+ "direction": "support",
883
+ "relation_to_claim": "support",
884
+ "effect_direction": "positive",
885
+ "study_id": "STUDY-BASTANI-2025",
886
+ "sample_id": "SMPL-BASTANI-2025-N950",
887
+ "effect": "48-127 percent improvement on practice problems",
888
+ "duration": "in_class_study_sessions",
889
+ "method": "randomized controlled trial with practice and closed-book exam phases",
890
+ "strengths": [
891
+ "same_study_compares_task_and_learning",
892
+ "large_sample"
893
+ ],
894
+ "limitations": [
895
+ "subject_mismatch_mathematics"
896
+ ],
897
+ "confounders": [
898
+ "task_familiarity"
899
+ ],
900
+ "source_location": "https://www.pnas.org/doi/10.1073/pnas.2422633122",
901
+ "quality_dimensions": {
902
+ "D1_study_design": 2,
903
+ "D2_sample_quality": 2,
904
+ "D3_measurement_validity": 2,
905
+ "D4_temporal_strength": 1,
906
+ "D5_directness": 1
907
+ },
908
+ "quality_score": 8.0,
909
+ "evidence_level": "strong",
910
+ "applicability": {
911
+ "learner_match": "partial",
912
+ "subject_match": "no",
913
+ "tool_match": "gpt4",
914
+ "scope": "task_performance_vs_learning_separation"
915
+ },
916
+ "confidence": 0.75,
917
+ "status": "SUPPORTED",
918
+ "decision_relation": "conditional",
919
+ "claim_id": "C-006"
920
+ },
921
+ {
922
+ "evidence_id": "E-007",
923
+ "source_id": "S-2024-marzuki",
924
+ "title": "Impact of ChatGPT on ESL students' academic writing skills",
925
+ "year": 2024,
926
+ "study_type": "mixed_methods",
927
+ "education_level": "undergraduate",
928
+ "subject": "academic_writing_esl",
929
+ "population": "undergraduate ESL students at an Indian university",
930
+ "sample_size": 72,
931
+ "intervention": "chatgpt_as_formative_feedback_tool",
932
+ "comparison": "traditional_instruction_control",
933
+ "outcome_type": "knowledge_gain",
934
+ "outcome_measure": "writing tests with pre-post-delayed design",
935
+ "claim": "ChatGPT as a formative feedback tool produced a significant positive impact on students' academic writing skills with positive student perceptions.",
936
+ "direction": "support",
937
+ "relation_to_claim": "support",
938
+ "effect_direction": "positive",
939
+ "study_id": "STUDY-MARZUKI-2024",
940
+ "sample_id": "SMPL-MARZUKI-2024-N72",
941
+ "effect": "significant positive impact on writing skills",
942
+ "duration": "6_hours_intervention",
943
+ "method": "mixed methods intervention study, pre/post/delayed tests and focus groups",
944
+ "strengths": [
945
+ "delayed_post_test",
946
+ "mixed_methods_triangulation"
947
+ ],
948
+ "limitations": [
949
+ "short_intervention_6_hours",
950
+ "single_institution",
951
+ "elite_private_university"
952
+ ],
953
+ "confounders": [
954
+ "self_selection_consent"
955
+ ],
956
+ "source_location": "https://link.springer.com/article/10.1186/s40561-024-00295-9",
957
+ "quality_dimensions": {
958
+ "D1_study_design": 1,
959
+ "D2_sample_quality": 1,
960
+ "D3_measurement_validity": 2,
961
+ "D4_temporal_strength": 2,
962
+ "D5_directness": 0
963
+ },
964
+ "quality_score": 6.0,
965
+ "evidence_level": "moderate",
966
+ "applicability": {
967
+ "learner_match": "yes_undergraduate",
968
+ "subject_match": "no_writing_not_programming",
969
+ "tool_match": "chatgpt",
970
+ "scope": "formative_feedback_writing"
971
+ },
972
+ "confidence": 0.55,
973
+ "status": "SUPPORTED",
974
+ "decision_relation": "support_adoption",
975
+ "claim_id": "C-007"
976
+ },
977
+ {
978
+ "evidence_id": "E-008",
979
+ "source_id": "S-2023-peng",
980
+ "title": "The Impact of AI on Developer Productivity: Evidence from GitHub Copilot",
981
+ "year": 2023,
982
+ "study_type": "rct",
983
+ "education_level": "professional_developers_not_students",
984
+ "subject": "standardized_javascript_http_server_task",
985
+ "population": "95 recruited professional developers completing a standardized coding task on a freelance platform",
986
+ "sample_size": 95,
987
+ "intervention": "access_to_github_copilot_during_task",
988
+ "comparison": "control_group_without_copilot",
989
+ "outcome_type": "completion_time",
990
+ "outcome_measure": "time_to_complete_http_server_implementation",
991
+ "claim": "Professional developers with Copilot access completed a standardized coding task about 55% faster than the control group (RCT, n=95).",
992
+ "direction": "support",
993
+ "relation_to_claim": "support",
994
+ "effect_direction": "positive",
995
+ "study_id": "STUDY-PENG-2023",
996
+ "sample_id": "SMPL-PENG-2023-N95",
997
+ "effect": "~55.8% faster task completion in Copilot group",
998
+ "duration": "single_task_session",
999
+ "method": "online randomized controlled experiment with objective completion-time metric",
1000
+ "strengths": [
1001
+ "randomized_controlled_design",
1002
+ "objective_completion_time_metric"
1003
+ ],
1004
+ "limitations": [
1005
+ "professional_population_not_students",
1006
+ "single_task_ecology",
1007
+ "preprint_not_peer_reviewed"
1008
+ ],
1009
+ "confounders": [
1010
+ "task_familiarity",
1011
+ "platform_recruitment_self_selection"
1012
+ ],
1013
+ "source_location": "https://doi.org/10.48550/arXiv.2302.06590",
1014
+ "quality_dimensions": {
1015
+ "D1_study_design": 2,
1016
+ "D2_sample_quality": 2,
1017
+ "D3_measurement_validity": 2,
1018
+ "D4_temporal_strength": 1,
1019
+ "D5_directness": 1
1020
+ },
1021
+ "quality_score": 8.0,
1022
+ "evidence_level": "moderate",
1023
+ "applicability": {
1024
+ "learner_match": "mismatch_professional_developers",
1025
+ "subject_match": "adjacent_web_development_task",
1026
+ "tool_match": "copilot_like_generative_ai",
1027
+ "scope": "task_performance_only_no_learning_outcome"
1028
+ },
1029
+ "confidence": 0.6,
1030
+ "status": "SUPPORTED",
1031
+ "decision_relation": "conditional",
1032
+ "claim_id": "C-008"
1033
+ },
1034
+ {
1035
+ "evidence_id": "E-009",
1036
+ "source_id": "S-2023-yetistiren",
1037
+ "title": "GitHub Copilot AI Pair Programmer: Asset or Liability?",
1038
+ "year": 2023,
1039
+ "study_type": "observational",
1040
+ "education_level": "not_applicable_code_artifacts",
1041
+ "subject": "code_generation_benchmarks",
1042
+ "population": "Copilot-generated and human-written programs drawn from published benchmark datasets",
1043
+ "sample_size": null,
1044
+ "intervention": "copilot_generated_programs",
1045
+ "comparison": "human_written_programs_on_same_benchmarks",
1046
+ "outcome_type": "code_quality",
1047
+ "outcome_measure": "correctness_security_maintainability_metrics_on_benchmarks",
1048
+ "claim": "Systematic benchmark evaluation reports mixed quality results for Copilot-generated code relative to human code: correctness competitive on parts of the benchmark while security-relevant defects are documented.",
1049
+ "direction": "neutral",
1050
+ "relation_to_claim": "neutral",
1051
+ "effect_direction": "null",
1052
+ "study_id": "STUDY-YETISTIREN-2023",
1053
+ "sample_id": "SMPL-YETISTIREN-2023-BENCH",
1054
+ "effect": "mixed quality profile; no single-direction summary",
1055
+ "duration": "not_applicable_artifact_study",
1056
+ "method": "systematic empirical evaluation of generated code against human baselines on public benchmarks",
1057
+ "strengths": [
1058
+ "multi_dimensional_quality_metrics",
1059
+ "reproducible_benchmark_protocol"
1060
+ ],
1061
+ "limitations": [
1062
+ "artifact_benchmark_not_classroom",
1063
+ "no_learning_outcome",
1064
+ "tool_version_from_2023"
1065
+ ],
1066
+ "confounders": [
1067
+ "benchmark_task_distribution"
1068
+ ],
1069
+ "source_location": "https://doi.org/10.1016/j.jss.2023.111734",
1070
+ "quality_dimensions": {
1071
+ "D1_study_design": 1,
1072
+ "D2_sample_quality": 2,
1073
+ "D3_measurement_validity": 2,
1074
+ "D4_temporal_strength": 1,
1075
+ "D5_directness": 1
1076
+ },
1077
+ "quality_score": 7.0,
1078
+ "evidence_level": "moderate",
1079
+ "applicability": {
1080
+ "learner_match": "mismatch_no_learners_in_study",
1081
+ "subject_match": "introductory_adjacent_code_tasks",
1082
+ "tool_match": "copilot_like_generative_ai",
1083
+ "scope": "output_quality_only"
1084
+ },
1085
+ "confidence": 0.55,
1086
+ "status": "SUPPORTED",
1087
+ "decision_relation": "conditional",
1088
+ "claim_id": "C-009"
1089
+ },
1090
+ {
1091
+ "evidence_id": "E-010",
1092
+ "source_id": "S-2022-finnie-ansley",
1093
+ "title": "Using GitHub Copilot to Solve Introductory Programming Problems",
1094
+ "year": 2022,
1095
+ "study_type": "observational",
1096
+ "education_level": "university_year_1_question_sets",
1097
+ "subject": "introductory_python",
1098
+ "population": "CS1 exam-style question sets answered by Codex and compared against published student score distributions",
1099
+ "sample_size": null,
1100
+ "intervention": "codex_answer_generation_on_cs1_questions",
1101
+ "comparison": "published_student_cohort_score_distributions",
1102
+ "outcome_type": "assignment_score",
1103
+ "outcome_measure": "pass_rate_on_cs1_exam_style_questions",
1104
+ "claim": "Codex produced passing-level solutions for roughly half to three-quarters of CS1 exam-style questions depending on the dataset, indicating substantial task-capability headroom available to novices.",
1105
+ "direction": "support",
1106
+ "relation_to_claim": "support",
1107
+ "effect_direction": "positive",
1108
+ "study_id": "STUDY-FINNIEANSLEY-2022",
1109
+ "sample_id": "SMPL-FINNIEANSLEY-2022-QSETS",
1110
+ "effect": "passing solutions on ~50-75% of questions across datasets",
1111
+ "duration": "not_applicable_capability_probe",
1112
+ "method": "capability benchmark against published student distributions; reproducible question sets",
1113
+ "strengths": [
1114
+ "public_reproducible_question_sets",
1115
+ "directly_relevant_task_domain"
1116
+ ],
1117
+ "limitations": [
1118
+ "tool_solves_task_does_not_equate_student_learning",
1119
+ "codex_2021_model_version_outdated"
1120
+ ],
1121
+ "confounders": [
1122
+ "question_leakage_into_training_data_possible"
1123
+ ],
1124
+ "source_location": "https://dl.acm.org/doi/10.1145/3545945.3569830",
1125
+ "quality_dimensions": {
1126
+ "D1_study_design": 1,
1127
+ "D2_sample_quality": 2,
1128
+ "D3_measurement_validity": 2,
1129
+ "D4_temporal_strength": 1,
1130
+ "D5_directness": 1
1131
+ },
1132
+ "quality_score": 7.0,
1133
+ "evidence_level": "moderate",
1134
+ "applicability": {
1135
+ "learner_match": "partial_measures_tool_not_students",
1136
+ "subject_match": "introductory_programming",
1137
+ "tool_match": "copilot_like_generative_ai",
1138
+ "scope": "tool_capability_headroom"
1139
+ },
1140
+ "confidence": 0.55,
1141
+ "status": "SUPPORTED",
1142
+ "decision_relation": "conditional",
1143
+ "claim_id": "C-010"
1144
+ },
1145
+ {
1146
+ "evidence_id": "E-011",
1147
+ "source_id": "S-2023-explanations-compare",
1148
+ "title": "Comparing Code Explanations Created by Students and Large Language Models",
1149
+ "year": 2023,
1150
+ "study_type": "observational",
1151
+ "education_level": "university_introductory",
1152
+ "subject": "code_explanation_scaffolding",
1153
+ "population": "Student-produced versus LLM-produced explanations of short programs under controlled comparison",
1154
+ "sample_size": null,
1155
+ "intervention": "llm_generated_code_explanations",
1156
+ "comparison": "student_generated_explanations_of_same_programs",
1157
+ "outcome_type": "metacognition",
1158
+ "outcome_measure": "rated_explanation_quality_and_comprehensibility",
1159
+ "claim": "Controlled comparisons find LLM-generated code explanations comparable to (in places better than) student-authored explanations, suggesting viability as explanatory scaffold material rather than as a replacement for student explanation practice.",
1160
+ "direction": "support",
1161
+ "relation_to_claim": "support",
1162
+ "effect_direction": "positive",
1163
+ "study_id": "STUDY-EXPLCOMP-2023",
1164
+ "sample_id": "SMPL-EXPLCOMP-2023-RATINGS",
1165
+ "effect": "comparable-or-better rated quality vs student explanations",
1166
+ "duration": "single_session_ratings",
1167
+ "method": "controlled comparison with blind rating of explanation pairs",
1168
+ "strengths": [
1169
+ "controlled_pairwise_comparison",
1170
+ "learning_process_relevant_construct"
1171
+ ],
1172
+ "limitations": [
1173
+ "short_term_ratings_not_learning_gains",
1174
+ "small_program_snippets_ecology"
1175
+ ],
1176
+ "confounders": [
1177
+ "rating_criteria_subjectivity"
1178
+ ],
1179
+ "source_location": "https://dl.acm.org/doi/10.1145/3587102.3588785",
1180
+ "quality_dimensions": {
1181
+ "D1_study_design": 1,
1182
+ "D2_sample_quality": 2,
1183
+ "D3_measurement_validity": 2,
1184
+ "D4_temporal_strength": 1,
1185
+ "D5_directness": 1
1186
+ },
1187
+ "quality_score": 7.0,
1188
+ "evidence_level": "moderate",
1189
+ "applicability": {
1190
+ "learner_match": "partial_scaffold_material_only",
1191
+ "subject_match": "introductory_programming",
1192
+ "tool_match": "llm_explanations",
1193
+ "scope": "scaffold_quality_not_effectiveness"
1194
+ },
1195
+ "confidence": 0.55,
1196
+ "status": "SUPPORTED",
1197
+ "decision_relation": "conditional",
1198
+ "claim_id": "C-011"
1199
+ },
1200
+ {
1201
+ "evidence_id": "E-012",
1202
+ "source_id": "S-2022-vaithilingam",
1203
+ "title": "Expectation vs. Experience: Evaluating the Usability of Code Generation Tools",
1204
+ "year": 2022,
1205
+ "study_type": "qualitative",
1206
+ "education_level": "mixed_cs_students_and_professionals",
1207
+ "subject": "programmer_usability_of_codegen_tools",
1208
+ "population": "24 participants in a within-subjects usability study of Copilot-style tools",
1209
+ "sample_size": 24,
1210
+ "intervention": "copilot_assisted_program_writing",
1211
+ "comparison": "within_subject_baseline_without_tool",
1212
+ "outcome_type": "over_reliance",
1213
+ "outcome_measure": "understanding_ownership_and_debugging_reports",
1214
+ "claim": "Despite faster first-task completion, participants struggled to understand and debug AI-generated solutions and reported low ownership of the final program - documenting metacognitive and dependence risks that pure speed metrics miss.",
1215
+ "direction": "contradict",
1216
+ "relation_to_claim": "contradict",
1217
+ "effect_direction": "negative",
1218
+ "study_id": "STUDY-VAITHILINGAM-2022",
1219
+ "sample_id": "SMPL-VAITHILINGAM-2022-N24",
1220
+ "effect": "documented comprehension/ownership difficulties despite speed gain",
1221
+ "duration": "single_session",
1222
+ "method": "within-subject usability study with tasks, observation and interviews",
1223
+ "strengths": [
1224
+ "rich_qualitative_process_data",
1225
+ "constructs_missed_by_speed_metrics"
1226
+ ],
1227
+ "limitations": [
1228
+ "small_n_24",
1229
+ "single_session",
1230
+ "self_reported_understanding"
1231
+ ],
1232
+ "confounders": [
1233
+ "participant_ai_familiarity"
1234
+ ],
1235
+ "source_location": "https://dl.acm.org/doi/10.1145/3491101.3519665",
1236
+ "quality_dimensions": {
1237
+ "D1_study_design": 1,
1238
+ "D2_sample_quality": 2,
1239
+ "D3_measurement_validity": 2,
1240
+ "D4_temporal_strength": 1,
1241
+ "D5_directness": 1
1242
+ },
1243
+ "quality_score": 7.0,
1244
+ "evidence_level": "moderate",
1245
+ "applicability": {
1246
+ "learner_match": "partial_includes_cs_students",
1247
+ "subject_match": "programming_adjacent",
1248
+ "tool_match": "copilot_like_generative_ai",
1249
+ "scope": "risk_identification"
1250
+ },
1251
+ "confidence": 0.55,
1252
+ "status": "CONTRADICT",
1253
+ "decision_relation": "conditional",
1254
+ "claim_id": "C-012"
1255
+ }
1256
+ ],
1257
+ "methodology_reviews": [
1258
+ {
1259
+ "target": "overall",
1260
+ "audit_items": {
1261
+ "control_group": {
1262
+ "status": "met",
1263
+ "note": "All three studies include a no-AI control group."
1264
+ },
1265
+ "randomization": {
1266
+ "status": "met",
1267
+ "note": "Kazemitabaar 2023 and Bastani 2025 use randomized assignment."
1268
+ },
1269
+ "pre_test": {
1270
+ "status": "met",
1271
+ "note": "Kazemitabaar 2023 has a pre-study evaluation; Bastani 2025 measures baseline covariates."
1272
+ },
1273
+ "post_test": {
1274
+ "status": "met",
1275
+ "note": "Immediate post-tests present in all studies."
1276
+ },
1277
+ "retention_test": {
1278
+ "status": "partial",
1279
+ "note": "Kazemitabaar 2023 has 1-week retention; Bastani 2025 has no delayed test; Marzuki 2024 has delayed test."
1280
+ },
1281
+ "transfer_test": {
1282
+ "status": "partial",
1283
+ "note": "Kazemitabaar 2023 code-modification task is transfer-adjacent; no full no-AI transfer task."
1284
+ },
1285
+ "sample_bias": {
1286
+ "status": "met",
1287
+ "note": "Bastani 2025 nearly 1000 students; Kazemitabaar 2023 small (69) young sample."
1288
+ },
1289
+ "self_selection": {
1290
+ "status": "partial",
1291
+ "note": "Marzuki 2024 consent-based participation risks self-selection."
1292
+ },
1293
+ "measurement_validity": {
1294
+ "status": "partial",
1295
+ "note": "Practice/task performance is not equated to learning; independent exams present in Bastani 2025 only."
1296
+ },
1297
+ "confounders": {
1298
+ "status": "partial",
1299
+ "note": "Prior programming competency interacts with AI benefit in Kazemitabaar 2023."
1300
+ },
1301
+ "instructor_effect": {
1302
+ "status": "not_applicable",
1303
+ "note": "Kazemitabaar 2023 is self-paced; classroom studies may carry instructor effects."
1304
+ },
1305
+ "novelty_effect": {
1306
+ "status": "partial",
1307
+ "note": "Short interventions likely inflate engagement; none of the studies controlled for novelty."
1308
+ },
1309
+ "tool_version_effect": {
1310
+ "status": "not_applicable",
1311
+ "note": "Single tool versions studied; rapid tool change limits durability."
1312
+ },
1313
+ "ai_usage_policy": {
1314
+ "status": "partial",
1315
+ "note": "Bastani 2025 explicitly contrasts unguarded vs guardrailed usage policies."
1316
+ },
1317
+ "dropout": {
1318
+ "status": "partial",
1319
+ "note": "Marzuki 2024 reports attrition; others not detailed."
1320
+ }
1321
+ },
1322
+ "task_vs_learning_guard": {
1323
+ "measured_construct": "practice/task performance vs independent exam",
1324
+ "equates_task_with_learning": false,
1325
+ "note": "Bastani 2025 demonstrates the danger of equating the two: +48-127% practice performance coexisted with -17% independent exam performance."
1326
+ },
1327
+ "verdict": "CONCERN",
1328
+ "limitations": [
1329
+ "No randomized study of AI coding assistants in university C programming courses was found in the reviewed set.",
1330
+ "Task performance gains are consistently large, learning-effect estimates are null-to-negative and subject-mismatched.",
1331
+ "Retention evidence exists for only one week (Kazemitabaar 2023)."
1332
+ ],
1333
+ "suggestions": [
1334
+ "Treat all learning-effect conclusions as requiring direct university-level studies.",
1335
+ "Design the pilot with guardrails modeled on Bastani 2025's GPT Tutor (hints, not answers).",
1336
+ "Include a no-AI transfer task in the evaluation plan."
1337
+ ]
1338
+ }
1339
+ ],
1340
+ "conflicts": [
1341
+ {
1342
+ "reason_for_disagreement": "Disagreement comes from outcome separation (task vs learning), tool design (guarded vs unguarded), and population (K-12 / professionals vs university). Task-performance evidence is consistently positive across randomized and benchmark studies; the only study measuring independent performance after AI removal shows harm without guardrails; usability and artifact studies add dependence and quality caveats rather than resolving the learning question."
1343
+ }
1344
+ ],
1345
+ "applicability": {
1346
+ "suitable_for": "pilot in first-year C course with guardrailed usage policy",
1347
+ "not_suitable_for": "unrestricted AI adoption without usage policy",
1348
+ "required_conditions": [
1349
+ "guardrailed AI usage policy (hints not answers, modeled on GPT Tutor arm)",
1350
+ "no-AI transfer assessment",
1351
+ "TA support"
1352
+ ]
1353
+ },
1354
+ "intervention": {
1355
+ "decision": "pilot",
1356
+ "target_learners": "university first-year C programming students (60-student lecture-lab class)",
1357
+ "learning_goals": [
1358
+ "independently write and debug small C programs without AI",
1359
+ "understand core concepts: variables, conditionals, loops, arrays, pointers",
1360
+ "use AI tools critically as explanation and debugging aids, not answer machines"
1361
+ ],
1362
+ "pilot_duration": "8_weeks",
1363
+ "phase_1": {
1364
+ "name": "Phase 1 — Independent Foundation",
1365
+ "activities": [
1366
+ "baseline assessment",
1367
+ "first 2 weeks of assignments completed without any AI code generation"
1368
+ ],
1369
+ "ai_usage_rule": "full code generation forbidden; AI allowed only for conceptual explanations",
1370
+ "outcome_check": "baseline task-performance and independent-problem-solving measures"
1371
+ },
1372
+ "phase_2": {
1373
+ "name": "Phase 2 — Explain, Don't Solve",
1374
+ "activities": [
1375
+ "weeks 3-4: AI allowed to explain errors, concepts and debugging approaches"
1376
+ ],
1377
+ "ai_usage_rule": "AI may explain but must not produce full solutions",
1378
+ "outcome_check": "mid-pilot quiz without AI"
1379
+ },
1380
+ "phase_3": {
1381
+ "name": "Phase 3 — Structured Collaboration",
1382
+ "activities": [
1383
+ "weeks 5-7: AI allowed to generate partial code; students must explain every AI-generated block in their own words"
1384
+ ],
1385
+ "ai_usage_rule": "partial code generation allowed; mandatory written explanation of key logic; submission requires reasoning trace",
1386
+ "outcome_check": "weekly lab completion and code-quality rubric"
1387
+ },
1388
+ "phase_4": {
1389
+ "name": "Phase 4 — Transfer Check",
1390
+ "activities": [
1391
+ "week 8: new programming task completed in a no-AI environment"
1392
+ ],
1393
+ "ai_usage_rule": "no AI access during transfer assessment",
1394
+ "outcome_check": "transfer test score, independent problem solving"
1395
+ },
1396
+ "ai_usage_policy": "AI usage is allowed in three explicitly graded modes (explain / collaborate / no-AI-transfer). Copying unexamined AI output is an academic integrity violation and is assessed via the reasoning-trace requirement.",
1397
+ "teacher_role": "design guardrailed prompts and rubrics; monitor usage logs; hold weekly reflection debriefs",
1398
+ "student_role": "complete assignments in the allowed mode; submit reasoning traces; reflect on when AI helped vs. when it masked understanding",
1399
+ "reflection_requirement": "students must explain key AI-generated logic in their own words; one written reflection per phase",
1400
+ "assessment": "no-AI baseline quiz, mid-pilot quiz, no-AI transfer task, code-quality rubric, AI-usage self-report",
1401
+ "risk_control": [
1402
+ "guardrailed usage policy modeled on Bastani 2025 GPT Tutor (hints, not answers)",
1403
+ "no-AI transfer assessment prevents grade inflation from task-performance gains",
1404
+ "usage logs reviewed weekly to detect crutch behavior"
1405
+ ],
1406
+ "stop_conditions": [
1407
+ "transfer-test scores drop significantly below baseline cohort expectations",
1408
+ "widespread integrity violations in reasoning traces",
1409
+ "AI dependency signals exceed threshold in risk metrics",
1410
+ "TA/teacher workload becomes unsustainable"
1411
+ ],
1412
+ "evidence_alignment": [
1413
+ "E-004",
1414
+ "E-005",
1415
+ "E-006"
1416
+ ]
1417
+ },
1418
+ "evaluation": {
1419
+ "research_question": "In a first-year C programming course, does a guardrailed AI coding assistant (explain-only → structured collaboration) improve independent problem solving without increasing AI dependency, compared to no-AI instruction?",
1420
+ "groups": {
1421
+ "treatment": "two lab sections using the 4-phase guardrailed AI policy",
1422
+ "comparison": "two matched lab sections without AI access (same instructor and materials)"
1423
+ },
1424
+ "baseline": "week-1 no-AI programming quiz (independent problem solving, completion time)",
1425
+ "post_test": "week-8 no-AI programming quiz (independent problem solving, code quality)",
1426
+ "retention_test": "final exam (week 16) — delayed measure 8 weeks after pilot",
1427
+ "transfer_test": "week-8 novel programming task in a strictly no-AI environment",
1428
+ "process_metrics": [
1429
+ "weekly lab completion rate",
1430
+ "AI usage logs: prompts submitted, copied blocks, reasoning traces",
1431
+ "help-seeking behavior counts"
1432
+ ],
1433
+ "learning_metrics": [
1434
+ "independent problem solving (no-AI quizzes)",
1435
+ "code quality rubric",
1436
+ "retention on final exam",
1437
+ "transfer task score"
1438
+ ],
1439
+ "risk_metrics": [
1440
+ "AI dependency index (usage without understanding, from reasoning-trace quality)",
1441
+ "academic integrity violations",
1442
+ "self-reported over-reliance",
1443
+ "false confidence (post-quiz confidence vs actual score)"
1444
+ ],
1445
+ "analysis_plan": "pre-registered comparison of treatment vs comparison sections on baseline-adjusted learning metrics (ANCOVA); task-performance metrics reported separately from learning metrics; subgroup analysis by prior programming competency; stop-condition monitoring at weeks 3, 5, 7.",
1446
+ "success_threshold": "treatment group shows non-inferior independent problem solving (delta within 5%) AND superior or equal retention AND AI dependency index below threshold; if independent problem solving declines >10%, the pilot is judged unsuccessful regardless of task-performance gains.",
1447
+ "stop_conditions": [
1448
+ "transfer-test decline >10% vs comparison",
1449
+ "integrity violations in >20% of submissions",
1450
+ "AI dependency index exceeding pre-set threshold for two consecutive weeks"
1451
+ ]
1452
+ },
1453
+ "benchmark": {},
1454
+ "provenance": {
1455
+ "search_provider": "n/a"
1456
+ }
1457
+ }