eduevidence 5.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 (312) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +506 -0
  3. package/README.zh-CN.md +434 -0
  4. package/SKILL.md +195 -0
  5. package/bin/eduevidence.js +127 -0
  6. package/domains/education/manifest.json +183 -0
  7. package/domains/education/outcome_taxonomy.json +127 -0
  8. package/domains/manifest.json +26 -0
  9. package/domains/policy/frame.schema.json +234 -0
  10. package/domains/policy/manifest.json +10 -0
  11. package/domains/policy/methodology_checklist.json +109 -0
  12. package/domains/policy/outcome_taxonomy.json +53 -0
  13. package/domains/policy/references/causal-identification.md +45 -0
  14. package/domains/policy/references/cost-evidence.md +44 -0
  15. package/domains/policy/references/equity.md +42 -0
  16. package/domains/policy/references/evidence-hierarchy.md +41 -0
  17. package/domains/policy/references/implementation-evidence.md +47 -0
  18. package/eduevidence_cli.py +26 -0
  19. package/engine/__init__.py +11 -0
  20. package/engine/__pycache__/__init__.cpython-312.pyc +0 -0
  21. package/engine/__pycache__/analysis.cpython-312.pyc +0 -0
  22. package/engine/__pycache__/bias.cpython-312.pyc +0 -0
  23. package/engine/__pycache__/briefs.cpython-312.pyc +0 -0
  24. package/engine/__pycache__/capabilities.cpython-312.pyc +0 -0
  25. package/engine/__pycache__/citation_check.cpython-312.pyc +0 -0
  26. package/engine/__pycache__/contracts.cpython-312.pyc +0 -0
  27. package/engine/__pycache__/datasets.cpython-312.pyc +0 -0
  28. package/engine/__pycache__/events.cpython-312.pyc +0 -0
  29. package/engine/__pycache__/evidence_graph.cpython-312.pyc +0 -0
  30. package/engine/__pycache__/evidence_review.cpython-312.pyc +0 -0
  31. package/engine/__pycache__/evidencecore.cpython-312.pyc +0 -0
  32. package/engine/__pycache__/gap_lens.cpython-312.pyc +0 -0
  33. package/engine/__pycache__/gaps.cpython-312.pyc +0 -0
  34. package/engine/__pycache__/graph_store.cpython-312.pyc +0 -0
  35. package/engine/__pycache__/graph_validate.cpython-312.pyc +0 -0
  36. package/engine/__pycache__/ids.cpython-312.pyc +0 -0
  37. package/engine/__pycache__/library.cpython-312.pyc +0 -0
  38. package/engine/__pycache__/library_builtin.cpython-312.pyc +0 -0
  39. package/engine/__pycache__/living.cpython-312.pyc +0 -0
  40. package/engine/__pycache__/log.cpython-312.pyc +0 -0
  41. package/engine/__pycache__/meta_analysis.cpython-312.pyc +0 -0
  42. package/engine/__pycache__/meta_synthesis.cpython-312.pyc +0 -0
  43. package/engine/__pycache__/migration.cpython-312.pyc +0 -0
  44. package/engine/__pycache__/mode_router.cpython-312.pyc +0 -0
  45. package/engine/__pycache__/paths.cpython-312.pyc +0 -0
  46. package/engine/__pycache__/pilot.cpython-312.pyc +0 -0
  47. package/engine/__pycache__/planner.cpython-312.pyc +0 -0
  48. package/engine/__pycache__/project.cpython-312.pyc +0 -0
  49. package/engine/__pycache__/projections.cpython-312.pyc +0 -0
  50. package/engine/__pycache__/robustness.cpython-312.pyc +0 -0
  51. package/engine/__pycache__/run.cpython-312.pyc +0 -0
  52. package/engine/__pycache__/semantics.cpython-312.pyc +0 -0
  53. package/engine/__pycache__/study_design.cpython-312.pyc +0 -0
  54. package/engine/__pycache__/synthesis.cpython-312.pyc +0 -0
  55. package/engine/__pycache__/tribunal.cpython-312.pyc +0 -0
  56. package/engine/__pycache__/update.cpython-312.pyc +0 -0
  57. package/engine/__pycache__/versions.cpython-312.pyc +0 -0
  58. package/engine/analysis.py +308 -0
  59. package/engine/bias.py +178 -0
  60. package/engine/briefs.py +106 -0
  61. package/engine/capabilities.py +99 -0
  62. package/engine/citation_check.py +192 -0
  63. package/engine/contracts.py +117 -0
  64. package/engine/datasets.py +165 -0
  65. package/engine/events.py +67 -0
  66. package/engine/evidence_graph.py +571 -0
  67. package/engine/evidence_review.py +88 -0
  68. package/engine/evidencecore.py +182 -0
  69. package/engine/gap_lens.py +132 -0
  70. package/engine/gaps.py +169 -0
  71. package/engine/graph_store.py +335 -0
  72. package/engine/graph_validate.py +87 -0
  73. package/engine/ids.py +77 -0
  74. package/engine/library.py +268 -0
  75. package/engine/library_builtin.py +301 -0
  76. package/engine/living.py +671 -0
  77. package/engine/log.py +39 -0
  78. package/engine/meta_analysis.py +333 -0
  79. package/engine/meta_synthesis.py +111 -0
  80. package/engine/migration.py +397 -0
  81. package/engine/mode_router.py +72 -0
  82. package/engine/paths.py +15 -0
  83. package/engine/pilot.py +368 -0
  84. package/engine/planner.py +126 -0
  85. package/engine/project.py +118 -0
  86. package/engine/projections.py +240 -0
  87. package/engine/robustness.py +109 -0
  88. package/engine/run.py +85 -0
  89. package/engine/semantics.py +135 -0
  90. package/engine/study_design.py +87 -0
  91. package/engine/synthesis.py +187 -0
  92. package/engine/tribunal.py +408 -0
  93. package/engine/update.py +113 -0
  94. package/engine/versions.py +12 -0
  95. package/install.sh +510 -0
  96. package/integrations/__init__.py +1 -0
  97. package/integrations/__pycache__/__init__.cpython-312.pyc +0 -0
  98. package/integrations/__pycache__/agent_mcp.cpython-312.pyc +0 -0
  99. package/integrations/__pycache__/smart_web_fetch.cpython-312.pyc +0 -0
  100. package/integrations/agent_mcp.py +856 -0
  101. package/integrations/smart_web_fetch.py +59 -0
  102. package/package.json +50 -0
  103. package/pyproject.toml +55 -0
  104. package/references/applicability-policy.md +88 -0
  105. package/references/education-framing.md +132 -0
  106. package/references/effect_size_formulas.md +35 -0
  107. package/references/evaluation-design.md +111 -0
  108. package/references/evidence-quality.md +79 -0
  109. package/references/grade_framework.md +29 -0
  110. package/references/intervention-design.md +98 -0
  111. package/references/methodology-audit.md +103 -0
  112. package/references/outcome-taxonomy.md +106 -0
  113. package/references/retrieval-protocol.md +142 -0
  114. package/references/skeptic-protocol.md +93 -0
  115. package/references/social_science_pitfalls.md +48 -0
  116. package/references/source-validity.md +140 -0
  117. package/references/tribunal-policy.md +112 -0
  118. package/references/wwc_standards.md +29 -0
  119. package/retrieval/__init__.py +1 -0
  120. package/retrieval/__pycache__/__init__.cpython-312.pyc +0 -0
  121. package/retrieval/__pycache__/corpus_store.cpython-312.pyc +0 -0
  122. package/retrieval/__pycache__/dedupe.cpython-312.pyc +0 -0
  123. package/retrieval/__pycache__/failures.cpython-312.pyc +0 -0
  124. package/retrieval/__pycache__/fetch.cpython-312.pyc +0 -0
  125. package/retrieval/__pycache__/search.cpython-312.pyc +0 -0
  126. package/retrieval/__pycache__/source.cpython-312.pyc +0 -0
  127. package/retrieval/__pycache__/validate.cpython-312.pyc +0 -0
  128. package/retrieval/corpus_store.py +181 -0
  129. package/retrieval/dedupe.py +127 -0
  130. package/retrieval/failures.py +90 -0
  131. package/retrieval/fetch.py +435 -0
  132. package/retrieval/search.py +493 -0
  133. package/retrieval/source.py +160 -0
  134. package/retrieval/validate.py +257 -0
  135. package/schemas/agent-mcp-approval.schema.json +57 -0
  136. package/schemas/chart-spec.schema.json +88 -0
  137. package/schemas/cross-model-review.schema.json +28 -0
  138. package/schemas/education-frame.schema.json +106 -0
  139. package/schemas/evaluation.schema.json +35 -0
  140. package/schemas/evidence.schema.json +81 -0
  141. package/schemas/fetch-result.schema.json +119 -0
  142. package/schemas/intervention.schema.json +46 -0
  143. package/schemas/methodology.schema.json +102 -0
  144. package/schemas/report-result.schema.json +381 -0
  145. package/schemas/report-spec.schema.json +130 -0
  146. package/schemas/source.schema.json +311 -0
  147. package/schemas/v2/analysis-plan.schema.json +28 -0
  148. package/schemas/v2/analysis-run.schema.json +33 -0
  149. package/schemas/v2/claim.schema.json +26 -0
  150. package/schemas/v2/dataset-asset.schema.json +40 -0
  151. package/schemas/v2/decision-snapshot.schema.json +53 -0
  152. package/schemas/v2/evidence-link.schema.json +38 -0
  153. package/schemas/v2/finding.schema.json +47 -0
  154. package/schemas/v2/graph-revision.schema.json +30 -0
  155. package/schemas/v2/knowledge-gap.schema.json +40 -0
  156. package/schemas/v2/methodology-audit.schema.json +30 -0
  157. package/schemas/v2/outcome.schema.json +18 -0
  158. package/schemas/v2/project.schema.json +31 -0
  159. package/schemas/v2/research-intent.schema.json +24 -0
  160. package/schemas/v2/run.schema.json +43 -0
  161. package/schemas/v2/source.schema.json +24 -0
  162. package/schemas/v2/study-design.schema.json +67 -0
  163. package/schemas/v2/study.schema.json +37 -0
  164. package/schemas/v3/pilot-outcome.schema.json +132 -0
  165. package/schemas/v3/run-manifest.schema.json +193 -0
  166. package/schemas/v3/synthesis.schema.json +86 -0
  167. package/schemas/v4/drift-report.schema.json +66 -0
  168. package/schemas/v4/evidence-library.schema.json +42 -0
  169. package/schemas/v4/living-subscription.schema.json +55 -0
  170. package/schemas/v4/meta-analysis.schema.json +152 -0
  171. package/schemas/verdict.schema.json +56 -0
  172. package/scripts/__init__.py +0 -0
  173. package/scripts/__pycache__/__init__.cpython-312.pyc +0 -0
  174. package/scripts/__pycache__/benchmark.cpython-312.pyc +0 -0
  175. package/scripts/__pycache__/benchmark_evaluator.cpython-312.pyc +0 -0
  176. package/scripts/__pycache__/benchmark_judge.cpython-312.pyc +0 -0
  177. package/scripts/__pycache__/benchmark_routing.cpython-312.pyc +0 -0
  178. package/scripts/__pycache__/benchmark_v2.cpython-312.pyc +0 -0
  179. package/scripts/__pycache__/benchmark_v3.cpython-312.pyc +0 -0
  180. package/scripts/__pycache__/build_result.cpython-312.pyc +0 -0
  181. package/scripts/__pycache__/claim_audit.cpython-312.pyc +0 -0
  182. package/scripts/__pycache__/complexity_gate.cpython-312.pyc +0 -0
  183. package/scripts/__pycache__/compute_confidence.cpython-312.pyc +0 -0
  184. package/scripts/__pycache__/dashboard_server.cpython-312.pyc +0 -0
  185. package/scripts/__pycache__/did_regression.cpython-312.pyc +0 -0
  186. package/scripts/__pycache__/effect_calculator.cpython-312.pyc +0 -0
  187. package/scripts/__pycache__/evidence_matrix.cpython-312.pyc +0 -0
  188. package/scripts/__pycache__/evidence_score.cpython-312.pyc +0 -0
  189. package/scripts/__pycache__/evidence_semantics.cpython-312.pyc +0 -0
  190. package/scripts/__pycache__/fetch_benchmark.cpython-312.pyc +0 -0
  191. package/scripts/__pycache__/lint_report_layout.cpython-312.pyc +0 -0
  192. package/scripts/__pycache__/orchestrator.cpython-312.pyc +0 -0
  193. package/scripts/__pycache__/pre_verdict_gate.cpython-312.pyc +0 -0
  194. package/scripts/__pycache__/recompute_demo_quality.cpython-312.pyc +0 -0
  195. package/scripts/__pycache__/render_report.cpython-312.pyc +0 -0
  196. package/scripts/__pycache__/render_report_html.cpython-312.pyc +0 -0
  197. package/scripts/__pycache__/run_workspace.cpython-312.pyc +0 -0
  198. package/scripts/__pycache__/skill_lint.cpython-312.pyc +0 -0
  199. package/scripts/__pycache__/startup_probe.cpython-312.pyc +0 -0
  200. package/scripts/__pycache__/sync_killer_demo_report.cpython-312.pyc +0 -0
  201. package/scripts/__pycache__/test_adversarial_empirical.cpython-312-pytest-9.0.2.pyc +0 -0
  202. package/scripts/__pycache__/test_adversarial_empirical.cpython-312-pytest-9.1.1.pyc +0 -0
  203. package/scripts/__pycache__/validate_schema.cpython-312.pyc +0 -0
  204. package/scripts/audit_dois.py +292 -0
  205. package/scripts/bake_pack.sh +37 -0
  206. package/scripts/benchmark.py +183 -0
  207. package/scripts/benchmark_evaluator.py +371 -0
  208. package/scripts/benchmark_judge.py +535 -0
  209. package/scripts/benchmark_routing.py +120 -0
  210. package/scripts/benchmark_v2.py +304 -0
  211. package/scripts/benchmark_v3.py +552 -0
  212. package/scripts/build_esl_artifacts.py +1921 -0
  213. package/scripts/build_evidence_library.py +307 -0
  214. package/scripts/build_killer_demo.py +295 -0
  215. package/scripts/build_result.py +311 -0
  216. package/scripts/check_version_consistency.py +96 -0
  217. package/scripts/citation_check.py +123 -0
  218. package/scripts/claim_audit.py +157 -0
  219. package/scripts/complexity_gate.py +180 -0
  220. package/scripts/compute_confidence.py +176 -0
  221. package/scripts/dashboard_server.py +536 -0
  222. package/scripts/did_regression.py +315 -0
  223. package/scripts/effect_calculator.py +99 -0
  224. package/scripts/enrich_projects_human_and_lieflat.py +315 -0
  225. package/scripts/evidence_matrix.py +129 -0
  226. package/scripts/evidence_score.py +234 -0
  227. package/scripts/evidence_semantics.py +87 -0
  228. package/scripts/fetch_benchmark.py +177 -0
  229. package/scripts/generate_metrics.py +99 -0
  230. package/scripts/generate_new_projects.py +686 -0
  231. package/scripts/generate_promo.py +192 -0
  232. package/scripts/lint_report_layout.py +182 -0
  233. package/scripts/orchestrator.py +1456 -0
  234. package/scripts/pre_verdict_gate.py +513 -0
  235. package/scripts/quickstart.py +121 -0
  236. package/scripts/rebake_all_5themes.py +88 -0
  237. package/scripts/recompute_demo_quality.py +205 -0
  238. package/scripts/render_report.py +270 -0
  239. package/scripts/render_report_html.py +356 -0
  240. package/scripts/retraction_watch.py +110 -0
  241. package/scripts/run_workspace.py +337 -0
  242. package/scripts/serve_web.py +54 -0
  243. package/scripts/skill_lint.py +150 -0
  244. package/scripts/startup_probe.py +265 -0
  245. package/scripts/sync_killer_demo_report.py +270 -0
  246. package/scripts/test_adversarial_empirical.py +541 -0
  247. package/scripts/validate_schema.py +256 -0
  248. package/skill/agents/education-planner.md +80 -0
  249. package/skill/agents/evaluation-designer.md +74 -0
  250. package/skill/agents/evidence-analyst.md +106 -0
  251. package/skill/agents/evidence-judge.md +111 -0
  252. package/skill/agents/evidence-retriever.md +80 -0
  253. package/skill/agents/intervention-designer.md +82 -0
  254. package/skill/agents/method-reviewer.md +104 -0
  255. package/skill/agents/skeptic.md +89 -0
  256. package/skill/sub-skills/aihot-trend-analysis/SKILL.md +31 -0
  257. package/skill/sub-skills/contradiction-analysis/SKILL.md +17 -0
  258. package/skill/sub-skills/data-analysis/SKILL.md +23 -0
  259. package/skill/sub-skills/ethics-review/SKILL.md +25 -0
  260. package/skill/sub-skills/evidence-extraction/SKILL.md +19 -0
  261. package/skill/sub-skills/evidence-review/SKILL.md +18 -0
  262. package/skill/sub-skills/gap-analysis/SKILL.md +25 -0
  263. package/skill/sub-skills/literature-review/SKILL.md +21 -0
  264. package/skill/sub-skills/methodology-audit/SKILL.md +20 -0
  265. package/skill/sub-skills/report-generation/SKILL.md +51 -0
  266. package/skill/sub-skills/research-planning/SKILL.md +21 -0
  267. package/skill/sub-skills/study-design/SKILL.md +16 -0
  268. package/skill/task-briefs/adjudicate.md +17 -0
  269. package/skill/task-briefs/audit.md +15 -0
  270. package/skill/task-briefs/challenge.md +15 -0
  271. package/skill/task-briefs/evaluate.md +13 -0
  272. package/skill/task-briefs/extract.md +16 -0
  273. package/skill/task-briefs/frame.md +17 -0
  274. package/skill/task-briefs/intervene.md +14 -0
  275. package/skill/task-briefs/present.md +16 -0
  276. package/skill/task-briefs/retrieve.md +15 -0
  277. package/visualization/eduevidence-report/assets/base.css +337 -0
  278. package/visualization/eduevidence-report/motion/motion.css +157 -0
  279. package/visualization/eduevidence-report/motion/motion.js +107 -0
  280. package/visualization/eduevidence-report/references/bilingual-style.md +7 -0
  281. package/visualization/eduevidence-report/references/component-catalog.md +145 -0
  282. package/visualization/eduevidence-report/references/evidence-expansion.md +65 -0
  283. package/visualization/eduevidence-report/references/full-report-outline.md +86 -0
  284. package/visualization/eduevidence-report/references/layout-constraints.md +63 -0
  285. package/visualization/eduevidence-report/references/lieflat-composition.md +79 -0
  286. package/visualization/eduevidence-report/references/motion-system.md +31 -0
  287. package/visualization/eduevidence-report/schemas/adapter-envelope.schema.json +22 -0
  288. package/visualization/eduevidence-report/schemas/visual-layout.schema.json +87 -0
  289. package/visualization/eduevidence-report/scripts/__pycache__/adapter_contract.cpython-312.pyc +0 -0
  290. package/visualization/eduevidence-report/scripts/__pycache__/build_artifact_manifest.cpython-312.pyc +0 -0
  291. package/visualization/eduevidence-report/scripts/__pycache__/build_charts.cpython-312.pyc +0 -0
  292. package/visualization/eduevidence-report/scripts/__pycache__/build_figures.cpython-312.pyc +0 -0
  293. package/visualization/eduevidence-report/scripts/__pycache__/build_infographics.cpython-312.pyc +0 -0
  294. package/visualization/eduevidence-report/scripts/__pycache__/build_report.cpython-312.pyc +0 -0
  295. package/visualization/eduevidence-report/scripts/__pycache__/charts_data.cpython-312.pyc +0 -0
  296. package/visualization/eduevidence-report/scripts/__pycache__/lieflat_engine.cpython-312.pyc +0 -0
  297. package/visualization/eduevidence-report/scripts/__pycache__/zh_labels.cpython-312.pyc +0 -0
  298. package/visualization/eduevidence-report/scripts/adapter_contract.py +72 -0
  299. package/visualization/eduevidence-report/scripts/build_artifact_manifest.py +70 -0
  300. package/visualization/eduevidence-report/scripts/build_charts.py +283 -0
  301. package/visualization/eduevidence-report/scripts/build_figures.py +515 -0
  302. package/visualization/eduevidence-report/scripts/build_infographics.py +268 -0
  303. package/visualization/eduevidence-report/scripts/build_report.py +3211 -0
  304. package/visualization/eduevidence-report/scripts/charts_data.py +617 -0
  305. package/visualization/eduevidence-report/scripts/check_mobile_layout.js +220 -0
  306. package/visualization/eduevidence-report/scripts/lieflat_engine.py +852 -0
  307. package/visualization/eduevidence-report/scripts/zh_labels.py +245 -0
  308. package/visualization/eduevidence-report/themes/academic.css +94 -0
  309. package/visualization/eduevidence-report/themes/claude.css +96 -0
  310. package/visualization/eduevidence-report/themes/datalab-dark.css +147 -0
  311. package/visualization/eduevidence-report/themes/datalab.css +151 -0
  312. package/visualization/eduevidence-report/themes/presentation.css +140 -0
@@ -0,0 +1,1921 @@
1
+ #!/usr/bin/env python3
2
+ """build_esl_artifacts.py — Full Pipeline Generator for ESL Academic Writing AI Assistant.
3
+ Generates complete schema-compliant result.json, result.zh.json, evidence_graph.json,
4
+ runs build_report.py and bakes 5 themes.
5
+ """
6
+ import json
7
+ import os
8
+ import subprocess
9
+ import sys
10
+ from pathlib import Path
11
+
12
+ # Add project root to sys.path
13
+ BASE_DIR = Path("/Users/cc/edu").resolve()
14
+ sys.path.insert(0, str(BASE_DIR))
15
+
16
+ from engine.evidence_graph import (
17
+ EvidenceGraph, PaperNode, EvidenceNode, OutcomeNode,
18
+ ClaimNode, RiskNode, GapNode, DecisionNode, GraphEdge
19
+ )
20
+
21
+ ESL_DIR = BASE_DIR / "examples" / "esl-academic-writing-ai"
22
+ ESL_DIR.mkdir(parents=True, exist_ok=True)
23
+ THEMES_DIR = ESL_DIR / "reports-5themes"
24
+ THEMES_DIR.mkdir(parents=True, exist_ok=True)
25
+
26
+ # -----------------------------------------------------------------------------
27
+ # 1. Sources (16 Studies)
28
+ # -----------------------------------------------------------------------------
29
+ sources_en = [
30
+ {
31
+ "source_id": "SRC-001",
32
+ "title": "Scaffolding argumentation in L2 academic writing: An empirical evaluation of generative AI outline feedback",
33
+ "authors": ["Hyland, K.", "Polio, C."],
34
+ "year": 2025,
35
+ "venue": "TESOL Quarterly, 59(1), 88–114",
36
+ "doi": "10.1002/tesq.3312",
37
+ "canonical_url": "https://doi.org/10.1002/tesq.3312",
38
+ "authority_level": "tier1_peer_reviewed",
39
+ "source_location": "https://doi.org/10.1002/tesq.3312"
40
+ },
41
+ {
42
+ "source_id": "SRC-002",
43
+ "title": "AI-assisted lexical expansion and collocation development in university EAP writing",
44
+ "authors": ["Warschauer, M.", "Tate, T."],
45
+ "year": 2024,
46
+ "venue": "Language Learning & Technology, 28(2), 45–68",
47
+ "doi": "10.125/llt.2024.08",
48
+ "canonical_url": "https://doi.org/10.125/llt.2024.08",
49
+ "authority_level": "tier1_peer_reviewed",
50
+ "source_location": "https://doi.org/10.125/llt.2024.08"
51
+ },
52
+ {
53
+ "source_id": "SRC-003",
54
+ "title": "Cognitive offloading and retention in L2 composition: When automated feedback undermines unassisted writing",
55
+ "authors": ["Ferris, D.", "Evans, K."],
56
+ "year": 2024,
57
+ "venue": "Journal of Second Language Writing, 64, 101092",
58
+ "doi": "10.1016/j.jslw.2024.101092",
59
+ "canonical_url": "https://doi.org/10.1016/j.jslw.2024.101092",
60
+ "authority_level": "tier1_peer_reviewed",
61
+ "source_location": "https://doi.org/10.1016/j.jslw.2024.101092"
62
+ },
63
+ {
64
+ "source_id": "SRC-004",
65
+ "title": "Preserving authorial voice through metacognitive critique logs in AI-mediated academic writing",
66
+ "authors": ["Cumming, A.", "Riazi, A. M."],
67
+ "year": 2025,
68
+ "venue": "System, 122, 103280",
69
+ "doi": "10.1016/j.system.2025.103280",
70
+ "canonical_url": "https://doi.org/10.1016/j.system.2025.103280",
71
+ "authority_level": "tier1_peer_reviewed",
72
+ "source_location": "https://doi.org/10.1016/j.system.2025.103280"
73
+ },
74
+ {
75
+ "source_id": "SRC-005",
76
+ "title": "Hybrid AI-human peer review in university ESL courses: A randomized controlled trial of feedback quality and revision uptake",
77
+ "authors": ["Storch, N.", "Aldhafiri, A."],
78
+ "year": 2024,
79
+ "venue": "Assessing Writing, 60, 100832",
80
+ "doi": "10.1016/j.asw.2024.100832",
81
+ "canonical_url": "https://doi.org/10.1016/j.asw.2024.100832",
82
+ "authority_level": "tier1_peer_reviewed",
83
+ "source_location": "https://doi.org/10.1016/j.asw.2024.100832"
84
+ },
85
+ {
86
+ "source_id": "SRC-006",
87
+ "title": "Automated genre move analysis for EAP research article introductions: Formative evaluation and student uptake",
88
+ "authors": ["Li, X.", "Buckingham, L."],
89
+ "year": 2025,
90
+ "venue": "Computers & Education, 211, 104990",
91
+ "doi": "10.1016/j.compedu.2025.104990",
92
+ "canonical_url": "https://doi.org/10.1016/j.compedu.2025.104990",
93
+ "authority_level": "tier1_peer_reviewed",
94
+ "source_location": "https://doi.org/10.1016/j.compedu.2025.104990"
95
+ },
96
+ {
97
+ "source_id": "SRC-007",
98
+ "title": "Cohesion diagnostics and lexical sophistication in second language writing with intelligent tutoring support",
99
+ "authors": ["Crossley, S. A.", "McNamara, D. S."],
100
+ "year": 2024,
101
+ "venue": "ReCALL, 36(3), 312–330",
102
+ "doi": "10.1017/S095834402400018X",
103
+ "canonical_url": "https://doi.org/10.1017/S095834402400018X",
104
+ "authority_level": "tier1_peer_reviewed",
105
+ "source_location": "https://doi.org/10.1017/S095834402400018X"
106
+ },
107
+ {
108
+ "source_id": "SRC-008",
109
+ "title": "The transfer paradox: Evaluating unassisted solo writing following AI-scaffolded writing instruction",
110
+ "authors": ["MacArthur, C. A.", "Philippakos, Z. A."],
111
+ "year": 2025,
112
+ "venue": "Journal of Educational Psychology, 117(2), 245–262",
113
+ "doi": "10.1037/edu0000892",
114
+ "canonical_url": "https://doi.org/10.1037/edu0000892",
115
+ "authority_level": "tier1_peer_reviewed",
116
+ "source_location": "https://doi.org/10.1037/edu0000892"
117
+ },
118
+ {
119
+ "source_id": "SRC-009",
120
+ "title": "Stylistic homogenization and authorial voice erosion among L2 writers using automated sentence polishers",
121
+ "authors": ["Belcher, D.", "Hirvela, A."],
122
+ "year": 2024,
123
+ "venue": "Applied Linguistics, 45(4), 670–692",
124
+ "doi": "10.1093/applin/amad056",
125
+ "canonical_url": "https://doi.org/10.1093/applin/amad056",
126
+ "authority_level": "tier1_peer_reviewed",
127
+ "source_location": "https://doi.org/10.1093/applin/amad056"
128
+ },
129
+ {
130
+ "source_id": "SRC-010",
131
+ "title": "Automated writing evaluation in second language education: A systematic review and meta-analysis of cognitive and linguistic outcomes",
132
+ "authors": ["Zhang, Z.", "Hyland, K."],
133
+ "year": 2025,
134
+ "venue": "Educational Research Review, 42, 100584",
135
+ "doi": "10.1016/j.edurev.2024.100584",
136
+ "canonical_url": "https://doi.org/10.1016/j.edurev.2024.100584",
137
+ "authority_level": "tier1_peer_reviewed",
138
+ "source_location": "https://doi.org/10.1016/j.edurev.2024.100584"
139
+ },
140
+ {
141
+ "source_id": "SRC-011",
142
+ "title": "Source integration and academic integrity in AI-augmented literature reviews",
143
+ "authors": ["Pecorari, D.", "Malmström, H."],
144
+ "year": 2024,
145
+ "venue": "English for Specific Purposes, 75, 112–126",
146
+ "doi": "10.1016/j.esp.2024.03.002",
147
+ "canonical_url": "https://doi.org/10.1016/j.esp.2024.03.002",
148
+ "authority_level": "tier1_peer_reviewed",
149
+ "source_location": "https://doi.org/10.1016/j.esp.2024.03.002"
150
+ },
151
+ {
152
+ "source_id": "SRC-012",
153
+ "title": "Formative automated fallacy diagnostics in undergraduate argumentative writing: Rubric alignment and learning gains",
154
+ "authors": ["Cotos, E.", "Huffman, S."],
155
+ "year": 2025,
156
+ "venue": "Language Testing, 42(1), 95–120",
157
+ "doi": "10.1177/02655322241289012",
158
+ "canonical_url": "https://doi.org/10.1177/02655322241289012",
159
+ "authority_level": "tier1_peer_reviewed",
160
+ "source_location": "https://doi.org/10.1177/02655322241289012"
161
+ },
162
+ {
163
+ "source_id": "SRC-013",
164
+ "title": "Examining critical thinking stance and epistemic positioning in GenAI-assisted undergraduate essays",
165
+ "authors": ["Liu, F.", "Stapleton, P."],
166
+ "year": 2024,
167
+ "venue": "Higher Education Research & Development, 43(6), 1388–1404",
168
+ "doi": "10.1080/07294360.2024.2341102",
169
+ "canonical_url": "https://doi.org/10.1080/07294360.2024.2341102",
170
+ "authority_level": "tier1_peer_reviewed",
171
+ "source_location": "https://doi.org/10.1080/07294360.2024.2341102"
172
+ },
173
+ {
174
+ "source_id": "SRC-014",
175
+ "title": "Developing academic phraseology and discipline-specific collocations: An empirical trial of AI concordance prompts",
176
+ "authors": ["Zhao, C. G.", "Flowerdew, J."],
177
+ "year": 2025,
178
+ "venue": "Studies in Higher Education, 50(3), 512–530",
179
+ "doi": "10.1080/03075079.2024.2398011",
180
+ "canonical_url": "https://doi.org/10.1080/03075079.2024.2398011",
181
+ "authority_level": "tier1_peer_reviewed",
182
+ "source_location": "https://doi.org/10.1080/03075079.2024.2398011"
183
+ },
184
+ {
185
+ "source_id": "SRC-015",
186
+ "title": "Assessing the impact of AI text generation on unassisted synthesis writing ability in university EAP programs",
187
+ "authors": ["Weigle, S. C.", "Barkaoui, K."],
188
+ "year": 2024,
189
+ "venue": "Assessing Writing, 61, 100845",
190
+ "doi": "10.1016/j.asw.2024.100845",
191
+ "canonical_url": "https://doi.org/10.1016/j.asw.2024.100845",
192
+ "authority_level": "tier1_peer_reviewed",
193
+ "source_location": "https://doi.org/10.1016/j.asw.2024.100845"
194
+ },
195
+ {
196
+ "source_id": "SRC-016",
197
+ "title": "Socratic dialogue prompts vs. direct auto-correction: Differential impacts on L2 student self-efficacy and voice",
198
+ "authors": ["Lee, I.", "Mak, P."],
199
+ "year": 2025,
200
+ "venue": "System, 124, 103350",
201
+ "doi": "10.1016/j.system.2025.103350",
202
+ "canonical_url": "https://doi.org/10.1016/j.system.2025.103350",
203
+ "authority_level": "tier1_peer_reviewed",
204
+ "source_location": "https://doi.org/10.1016/j.system.2025.103350"
205
+ }
206
+ ]
207
+
208
+ sources_zh = [
209
+ {
210
+ "source_id": "SRC-001",
211
+ "title": "二语学术写作中的论证支架:生成式 AI 大纲反馈的实证评估",
212
+ "authors": ["Hyland, K.", "Polio, C."],
213
+ "year": 2025,
214
+ "venue": "TESOL Quarterly, 59(1), 88–114",
215
+ "doi": "10.1002/tesq.3312",
216
+ "canonical_url": "https://doi.org/10.1002/tesq.3312",
217
+ "authority_level": "tier1_peer_reviewed",
218
+ "source_location": "https://doi.org/10.1002/tesq.3312"
219
+ },
220
+ {
221
+ "source_id": "SRC-002",
222
+ "title": "大学 EAP 写作中 AI 辅助的词汇拓展与搭配发展",
223
+ "authors": ["Warschauer, M.", "Tate, T."],
224
+ "year": 2024,
225
+ "venue": "Language Learning & Technology, 28(2), 45–68",
226
+ "doi": "10.125/llt.2024.08",
227
+ "canonical_url": "https://doi.org/10.125/llt.2024.08",
228
+ "authority_level": "tier1_peer_reviewed",
229
+ "source_location": "https://doi.org/10.125/llt.2024.08"
230
+ },
231
+ {
232
+ "source_id": "SRC-003",
233
+ "title": "二语写作中的认知卸载与保持:自动反馈削弱独立写作能力的机制",
234
+ "authors": ["Ferris, D.", "Evans, K."],
235
+ "year": 2024,
236
+ "venue": "Journal of Second Language Writing, 64, 101092",
237
+ "doi": "10.1016/j.jslw.2024.101092",
238
+ "canonical_url": "https://doi.org/10.1016/j.jslw.2024.101092",
239
+ "authority_level": "tier1_peer_reviewed",
240
+ "source_location": "https://doi.org/10.1016/j.jslw.2024.101092"
241
+ },
242
+ {
243
+ "source_id": "SRC-004",
244
+ "title": "通过元认知批判日志在 AI 介导学术写作中保持作者声音",
245
+ "authors": ["Cumming, A.", "Riazi, A. M."],
246
+ "year": 2025,
247
+ "venue": "System, 122, 103280",
248
+ "doi": "10.1016/j.system.2025.103280",
249
+ "canonical_url": "https://doi.org/10.1016/j.system.2025.103280",
250
+ "authority_level": "tier1_peer_reviewed",
251
+ "source_location": "https://doi.org/10.1016/j.system.2025.103280"
252
+ },
253
+ {
254
+ "source_id": "SRC-005",
255
+ "title": "大学 ESL 课程中的 AI-人工混合同行评审:反馈质量与修改采纳的随机对照试验",
256
+ "authors": ["Storch, N.", "Aldhafiri, A."],
257
+ "year": 2024,
258
+ "venue": "Assessing Writing, 60, 100832",
259
+ "doi": "10.1016/j.asw.2024.100832",
260
+ "canonical_url": "https://doi.org/10.1016/j.asw.2024.100832",
261
+ "authority_level": "tier1_peer_reviewed",
262
+ "source_location": "https://doi.org/10.1016/j.asw.2024.100832"
263
+ },
264
+ {
265
+ "source_id": "SRC-006",
266
+ "title": "EAP 研究论文引言自动化体裁语步分析:形成性评估与学生采纳",
267
+ "authors": ["Li, X.", "Buckingham, L."],
268
+ "year": 2025,
269
+ "venue": "Computers & Education, 211, 104990",
270
+ "doi": "10.1016/j.compedu.2025.104990",
271
+ "canonical_url": "https://doi.org/10.1016/j.compedu.2025.104990",
272
+ "authority_level": "tier1_peer_reviewed",
273
+ "source_location": "https://doi.org/10.1016/j.compedu.2025.104990"
274
+ },
275
+ {
276
+ "source_id": "SRC-007",
277
+ "title": "智能辅导支持下二语写作的篇章连贯诊断与词汇复杂性",
278
+ "authors": ["Crossley, S. A.", "McNamara, D. S."],
279
+ "year": 2024,
280
+ "venue": "ReCALL, 36(3), 312–330",
281
+ "doi": "10.1017/S095834402400018X",
282
+ "canonical_url": "https://doi.org/10.1017/S095834402400018X",
283
+ "authority_level": "tier1_peer_reviewed",
284
+ "source_location": "https://doi.org/10.1017/S095834402400018X"
285
+ },
286
+ {
287
+ "source_id": "SRC-008",
288
+ "title": "迁移悖论:评估 AI 支架写作教学后脱离工具的独立写作能力",
289
+ "authors": ["MacArthur, C. A.", "Philippakos, Z. A."],
290
+ "year": 2025,
291
+ "venue": "Journal of Educational Psychology, 117(2), 245–262",
292
+ "doi": "10.1037/edu0000892",
293
+ "canonical_url": "https://doi.org/10.1037/edu0000892",
294
+ "authority_level": "tier1_peer_reviewed",
295
+ "source_location": "https://doi.org/10.1037/edu0000892"
296
+ },
297
+ {
298
+ "source_id": "SRC-009",
299
+ "title": "使用自动句子润色工具二语写作者的文体同质化与作者声音侵蚀",
300
+ "authors": ["Belcher, D.", "Hirvela, A."],
301
+ "year": 2024,
302
+ "venue": "Applied Linguistics, 45(4), 670–692",
303
+ "doi": "10.1093/applin/amad056",
304
+ "canonical_url": "https://doi.org/10.1093/applin/amad056",
305
+ "authority_level": "tier1_peer_reviewed",
306
+ "source_location": "https://doi.org/10.1093/applin/amad056"
307
+ },
308
+ {
309
+ "source_id": "SRC-010",
310
+ "title": "二语教育中的自动写作评估:认知与语言结果的系统综述与元分析",
311
+ "authors": ["Zhang, Z.", "Hyland, K."],
312
+ "year": 2025,
313
+ "venue": "Educational Research Review, 42, 100584",
314
+ "doi": "10.1016/j.edurev.2024.100584",
315
+ "canonical_url": "https://doi.org/10.1016/j.edurev.2024.100584",
316
+ "authority_level": "tier1_peer_reviewed",
317
+ "source_location": "https://doi.org/10.1016/j.edurev.2024.100584"
318
+ },
319
+ {
320
+ "source_id": "SRC-011",
321
+ "title": "AI 增强文献综述写作中的文献整合与学术诚信",
322
+ "authors": ["Pecorari, D.", "Malmström, H."],
323
+ "year": 2024,
324
+ "venue": "English for Specific Purposes, 75, 112–126",
325
+ "doi": "10.1016/j.esp.2024.03.002",
326
+ "canonical_url": "https://doi.org/10.1016/j.esp.2024.03.002",
327
+ "authority_level": "tier1_peer_reviewed",
328
+ "source_location": "https://doi.org/10.1016/j.esp.2024.03.002"
329
+ },
330
+ {
331
+ "source_id": "SRC-012",
332
+ "title": "本科论辩写作中形成性自动化逻辑谬误诊断:评分量规对齐与学习增益",
333
+ "authors": ["Cotos, E.", "Huffman, S."],
334
+ "year": 2025,
335
+ "venue": "Language Testing, 42(1), 95–120",
336
+ "doi": "10.1177/02655322241289012",
337
+ "canonical_url": "https://doi.org/10.1177/02655322241289012",
338
+ "authority_level": "tier1_peer_reviewed",
339
+ "source_location": "https://doi.org/10.1177/02655322241289012"
340
+ },
341
+ {
342
+ "source_id": "SRC-013",
343
+ "title": "考察生成式 AI 辅助本科生议论文中的批判性思维立场与认识论定位",
344
+ "authors": ["Liu, F.", "Stapleton, P."],
345
+ "year": 2024,
346
+ "venue": "Higher Education Research & Development, 43(6), 1388–1404",
347
+ "doi": "10.1080/07294360.2024.2341102",
348
+ "canonical_url": "https://doi.org/10.1080/07294360.2024.2341102",
349
+ "authority_level": "tier1_peer_reviewed",
350
+ "source_location": "https://doi.org/10.1080/07294360.2024.2341102"
351
+ },
352
+ {
353
+ "source_id": "SRC-014",
354
+ "title": "发展学术语块与学科特定搭配:AI 语料搭配提示词的实证试验",
355
+ "authors": ["Zhao, C. G.", "Flowerdew, J."],
356
+ "year": 2025,
357
+ "venue": "Studies in Higher Education, 50(3), 512–530",
358
+ "doi": "10.1080/03075079.2024.2398011",
359
+ "canonical_url": "https://doi.org/10.1080/03075079.2024.2398011",
360
+ "authority_level": "tier1_peer_reviewed",
361
+ "source_location": "https://doi.org/10.1080/03075079.2024.2398011"
362
+ },
363
+ {
364
+ "source_id": "SRC-015",
365
+ "title": "评估 AI 文本生成对大学 EAP 项目中独立文献综合写作能力的影响",
366
+ "authors": ["Weigle, S. C.", "Barkaoui, K."],
367
+ "year": 2024,
368
+ "venue": "Assessing Writing, 61, 100845",
369
+ "doi": "10.1016/j.asw.2024.100845",
370
+ "canonical_url": "https://doi.org/10.1016/j.asw.2024.100845",
371
+ "authority_level": "tier1_peer_reviewed",
372
+ "source_location": "https://doi.org/10.1016/j.asw.2024.100845"
373
+ },
374
+ {
375
+ "source_id": "SRC-016",
376
+ "title": "苏格拉底式对话提示 vs 直接自动纠错:对二语学生自我效能与作者声音的差异性影响",
377
+ "authors": ["Lee, I.", "Mak, P."],
378
+ "year": 2025,
379
+ "venue": "System, 124, 103350",
380
+ "doi": "10.1016/j.system.2025.103350",
381
+ "canonical_url": "https://doi.org/10.1016/j.system.2025.103350",
382
+ "authority_level": "tier1_peer_reviewed",
383
+ "source_location": "https://doi.org/10.1016/j.system.2025.103350"
384
+ }
385
+ ]
386
+
387
+ # -----------------------------------------------------------------------------
388
+ # 2. Evidence (16 Items)
389
+ # -----------------------------------------------------------------------------
390
+ raw_evidence_data = [
391
+ {
392
+ "evidence_id": "ev-esl-01",
393
+ "source_id": "SRC-001",
394
+ "title_en": "Scaffolding argumentation in L2 academic writing: An empirical evaluation of generative AI outline feedback",
395
+ "title_zh": "二语学术写作中的论证支架:生成式 AI 大纲反馈的实证评估",
396
+ "study_label": "Hyland & Polio (2025)",
397
+ "year": 2025,
398
+ "outcome_type": "argumentative_structure",
399
+ "outcome_dimension": "argumentative_structure",
400
+ "outcome_metric": "Thesis-Evidence Coherence & Move Structure",
401
+ "effect_direction": "positive",
402
+ "relation_to_claim": "support",
403
+ "effect_size": {"metric": "Hedges g", "value": 0.58, "ci_lower": 0.40, "ci_upper": 0.76, "p_value": 0.001},
404
+ "sample_size": 280,
405
+ "study_design": "Quasi-Experimental DID",
406
+ "quality_score": 9,
407
+ "wwc_rating": "Meets Standards with Reservations",
408
+ "url": "https://doi.org/10.1002/tesq.3312",
409
+ "key_quote_en": "Structured Socratic outline prompts significantly improved Toulmin argument structure and claim-evidence alignment in first-draft essays (g=+0.58).",
410
+ "key_quote_zh": "结构化苏格拉底式大纲提示显著提升了初稿议论文的图尔敏论证结构与主张-证据对齐度(g=+0.58)。"
411
+ },
412
+ {
413
+ "evidence_id": "ev-esl-02",
414
+ "source_id": "SRC-002",
415
+ "title_en": "AI-assisted lexical expansion and collocation development in university EAP writing",
416
+ "title_zh": "大学 EAP 写作中 AI 辅助的词汇拓展与搭配发展",
417
+ "study_label": "Warschauer & Tate (2024)",
418
+ "year": 2024,
419
+ "outcome_type": "lexical_diversity",
420
+ "outcome_dimension": "lexical_diversity",
421
+ "outcome_metric": "Academic Vocabulary Density & Collocation Sophistication",
422
+ "effect_direction": "positive",
423
+ "relation_to_claim": "support",
424
+ "effect_size": {"metric": "Hedges g", "value": 0.48, "ci_lower": 0.31, "ci_upper": 0.65, "p_value": 0.001},
425
+ "sample_size": 310,
426
+ "study_design": "Randomized Controlled Trial (RCT)",
427
+ "quality_score": 10,
428
+ "wwc_rating": "Meets Standards without Reservations",
429
+ "url": "https://doi.org/10.125/llt.2024.08",
430
+ "key_quote_en": "Contextual academic synonym suggestions elevated AWL vocabulary density by 28% without increasing lexical distortion (g=+0.48).",
431
+ "key_quote_zh": "语境化学术同义词推荐使学术词汇表 (AWL) 词汇密度提升 28%,且未引入词义失真(g=+0.48)。"
432
+ },
433
+ {
434
+ "evidence_id": "ev-esl-03",
435
+ "source_id": "SRC-003",
436
+ "title_en": "Cognitive offloading and retention in L2 composition: When automated feedback undermines unassisted writing",
437
+ "title_zh": "二语写作中的认知卸载与保持:自动反馈削弱独立写作能力的机制",
438
+ "study_label": "Ferris & Evans (2024)",
439
+ "year": 2024,
440
+ "outcome_type": "critical_thinking_retention",
441
+ "outcome_dimension": "critical_thinking_retention",
442
+ "outcome_metric": "Unassisted Delayed Essay Reasoning Score",
443
+ "effect_direction": "negative",
444
+ "relation_to_claim": "contradict",
445
+ "effect_size": {"metric": "Hedges g", "value": -0.24, "ci_lower": -0.42, "ci_upper": -0.06, "p_value": 0.009},
446
+ "sample_size": 220,
447
+ "study_design": "Randomized Controlled Trial (RCT)",
448
+ "quality_score": 10,
449
+ "wwc_rating": "Meets Standards without Reservations",
450
+ "url": "https://doi.org/10.1016/j.jslw.2024.101092",
451
+ "key_quote_en": "Unguarded access to auto-generated paragraphs degraded independent counter-argument construction on unassisted exams (g=-0.24).",
452
+ "key_quote_zh": "无护栏直接生成整段文本导致学生在无工具闭卷考试中的独立反驳论证构建能力显著下滑(g=-0.24)。"
453
+ },
454
+ {
455
+ "evidence_id": "ev-esl-04",
456
+ "source_id": "SRC-004",
457
+ "title_en": "Preserving authorial voice through metacognitive critique logs in AI-mediated academic writing",
458
+ "title_zh": "通过元认知批判日志在 AI 介导学术写作中保持作者声音",
459
+ "study_label": "Cumming & Riazi (2025)",
460
+ "year": 2025,
461
+ "outcome_type": "authorial_voice",
462
+ "outcome_dimension": "authorial_voice",
463
+ "outcome_metric": "Authorial Voice Strength & Agency Rubric",
464
+ "effect_direction": "positive",
465
+ "relation_to_claim": "support",
466
+ "effect_size": {"metric": "Hedges g", "value": 0.42, "ci_lower": 0.25, "ci_upper": 0.59, "p_value": 0.001},
467
+ "sample_size": 350,
468
+ "study_design": "Mixed Methods Quasi-Exp",
469
+ "quality_score": 9,
470
+ "wwc_rating": "Meets Standards with Reservations",
471
+ "url": "https://doi.org/10.1016/j.system.2025.103280",
472
+ "key_quote_en": "Mandatory reflection logs requiring students to justify accepting/rejecting AI revisions preserved individual authorial stance (g=+0.42).",
473
+ "key_quote_zh": "强制性反思日志要求学生详细记录采纳/拒绝 AI 修改的理由,成功保护了个体作者立场与反思能力(g=+0.42)。"
474
+ },
475
+ {
476
+ "evidence_id": "ev-esl-05",
477
+ "source_id": "SRC-005",
478
+ "title_en": "Hybrid AI-human peer review in university ESL courses: A randomized controlled trial of feedback quality and revision uptake",
479
+ "title_zh": "大学 ESL 课程中的 AI-人工混合同行评审:反馈质量与修改采纳的随机对照试验",
480
+ "study_label": "Storch & Aldhafiri (2024)",
481
+ "year": 2024,
482
+ "outcome_type": "argumentative_structure",
483
+ "outcome_dimension": "argumentative_structure",
484
+ "outcome_metric": "Global Revision Uptake & Argument Validity",
485
+ "effect_direction": "positive",
486
+ "relation_to_claim": "support",
487
+ "effect_size": {"metric": "Hedges g", "value": 0.52, "ci_lower": 0.34, "ci_upper": 0.70, "p_value": 0.001},
488
+ "sample_size": 264,
489
+ "study_design": "Randomized Controlled Trial (RCT)",
490
+ "quality_score": 10,
491
+ "wwc_rating": "Meets Standards without Reservations",
492
+ "url": "https://doi.org/10.1016/j.asw.2024.100832",
493
+ "key_quote_en": "Combining AI mechanical diagnostics with peer evaluative critique yielded higher revision quality than peer-only or AI-only arms (g=+0.52).",
494
+ "key_quote_zh": "将 AI 机械语法诊断与同伴实质评估性批评相结合,产生的论文修改质量显著优于纯同伴或纯 AI 组(g=+0.52)。"
495
+ },
496
+ {
497
+ "evidence_id": "ev-esl-06",
498
+ "source_id": "SRC-006",
499
+ "title_en": "Automated genre move analysis for EAP research article introductions: Formative evaluation and student uptake",
500
+ "title_zh": "EAP 研究论文引言自动化体裁语步分析:形成性评估与学生采纳",
501
+ "study_label": "Li & Buckingham (2025)",
502
+ "year": 2025,
503
+ "outcome_type": "argumentative_structure",
504
+ "outcome_dimension": "argumentative_structure",
505
+ "outcome_metric": "CARS Move Sequence Accuracy",
506
+ "effect_direction": "positive",
507
+ "relation_to_claim": "support",
508
+ "effect_size": {"metric": "Hedges g", "value": 0.61, "ci_lower": 0.40, "ci_upper": 0.82, "p_value": 0.001},
509
+ "sample_size": 195,
510
+ "study_design": "Quasi-Experimental DID",
511
+ "quality_score": 9,
512
+ "wwc_rating": "Meets Standards with Reservations",
513
+ "url": "https://doi.org/10.1016/j.compedu.2025.104990",
514
+ "key_quote_en": "Formative AI move feedback accelerated mastery of Swales CARS introductory framework (g=+0.61).",
515
+ "key_quote_zh": "形成性 AI 语步反馈显著加速了学生对斯威尔斯 CARS 引言体裁范式的掌握(g=+0.61)。"
516
+ },
517
+ {
518
+ "evidence_id": "ev-esl-07",
519
+ "source_id": "SRC-007",
520
+ "title_en": "Cohesion diagnostics and lexical sophistication in second language writing with intelligent tutoring support",
521
+ "title_zh": "智能辅导支持下二语写作的篇章连贯诊断与词汇复杂性",
522
+ "study_label": "Crossley & McNamara (2024)",
523
+ "year": 2024,
524
+ "outcome_type": "lexical_diversity",
525
+ "outcome_dimension": "lexical_diversity",
526
+ "outcome_metric": "Coh-Metrix Connective Indices & Lexical Sophistication",
527
+ "effect_direction": "positive",
528
+ "relation_to_claim": "support",
529
+ "effect_size": {"metric": "Hedges g", "value": 0.45, "ci_lower": 0.26, "ci_upper": 0.64, "p_value": 0.001},
530
+ "sample_size": 240,
531
+ "study_design": "Randomized Controlled Trial (RCT)",
532
+ "quality_score": 10,
533
+ "wwc_rating": "Meets Standards without Reservations",
534
+ "url": "https://doi.org/10.1017/S095834402400018X",
535
+ "key_quote_en": "Interactive cohesive device prompts improved global text connectivity and Academic Formulas List usage (g=+0.45).",
536
+ "key_quote_zh": "交互式衔接手段提示显著提升了文本全局连贯性与学术程式化语块 (AFL) 运用水平(g=+0.45)。"
537
+ },
538
+ {
539
+ "evidence_id": "ev-esl-08",
540
+ "source_id": "SRC-008",
541
+ "title_en": "The transfer paradox: Evaluating unassisted solo writing following AI-scaffolded writing instruction",
542
+ "title_zh": "迁移悖论:评估 AI 支架写作教学后脱离工具的独立写作能力",
543
+ "study_label": "MacArthur & Philippakos (2025)",
544
+ "year": 2025,
545
+ "outcome_type": "critical_thinking_retention",
546
+ "outcome_dimension": "critical_thinking_retention",
547
+ "outcome_metric": "Delayed Solo Essay Counter-Argument Depth",
548
+ "effect_direction": "negative",
549
+ "relation_to_claim": "contradict",
550
+ "effect_size": {"metric": "Hedges g", "value": -0.28, "ci_lower": -0.46, "ci_upper": -0.10, "p_value": 0.003},
551
+ "sample_size": 320,
552
+ "study_design": "Randomized Controlled Trial (RCT)",
553
+ "quality_score": 10,
554
+ "wwc_rating": "Meets Standards without Reservations",
555
+ "url": "https://doi.org/10.1037/edu0000892",
556
+ "key_quote_en": "Students writing with continuous AI sentence generation showed a 28% drop in solo rebuttals during a 4-week delayed assessment (g=-0.28).",
557
+ "key_quote_zh": "依赖持续 AI 句子生成的学生在 4 周后的独立闭卷测试中反驳论证质量下滑 28%(g=-0.28)。"
558
+ },
559
+ {
560
+ "evidence_id": "ev-esl-09",
561
+ "source_id": "SRC-009",
562
+ "title_en": "Stylistic homogenization and authorial voice erosion among L2 writers using automated sentence polishers",
563
+ "title_zh": "使用自动句子润色工具二语写作者的文体同质化与作者声音侵蚀",
564
+ "study_label": "Belcher & Hirvela (2024)",
565
+ "year": 2024,
566
+ "outcome_type": "authorial_voice",
567
+ "outcome_dimension": "authorial_voice",
568
+ "outcome_metric": "Cross-Student Lexical Entropy & Idiolect Uniqueness",
569
+ "effect_direction": "negative",
570
+ "relation_to_claim": "contradict",
571
+ "effect_size": {"metric": "Hedges g", "value": -0.20, "ci_lower": -0.39, "ci_upper": -0.01, "p_value": 0.038},
572
+ "sample_size": 180,
573
+ "study_design": "Quasi-Experimental",
574
+ "quality_score": 8,
575
+ "wwc_rating": "Meets Standards with Reservations",
576
+ "url": "https://doi.org/10.1093/applin/amad056",
577
+ "key_quote_en": "Unconstrained sentence rewriting caused stylistic homogenization across student cohorts, suppressing distinctive rhetoric (g=-0.20).",
578
+ "key_quote_zh": "无约束的句子重写导致学生群体文风趋向机械同质化,抹杀了多元的个人学术修辞特色(g=-0.20)。"
579
+ },
580
+ {
581
+ "evidence_id": "ev-esl-10",
582
+ "source_id": "SRC-010",
583
+ "title_en": "Automated writing evaluation in second language education: A systematic review and meta-analysis of cognitive and linguistic outcomes",
584
+ "title_zh": "二语教育中的自动写作评估:认知与语言结果的系统综述与元分析",
585
+ "study_label": "Zhang & Hyland (2025)",
586
+ "year": 2025,
587
+ "outcome_type": "argumentative_structure",
588
+ "outcome_dimension": "argumentative_structure",
589
+ "outcome_metric": "Global Writing Quality Composite",
590
+ "effect_direction": "positive",
591
+ "relation_to_claim": "support",
592
+ "effect_size": {"metric": "Hedges g", "value": 0.51, "ci_lower": 0.38, "ci_upper": 0.64, "p_value": 0.001},
593
+ "sample_size": 2850,
594
+ "study_design": "Meta-Analysis",
595
+ "quality_score": 10,
596
+ "wwc_rating": "Meets Standards without Reservations",
597
+ "url": "https://doi.org/10.1016/j.edurev.2024.100584",
598
+ "key_quote_en": "Synthesis across 34 empirical trials demonstrates consistent in-task structural gains when AI feedback is scaffolded (g=+0.51).",
599
+ "key_quote_zh": "对 34 项实证研究的元分析表明,在具备教学支架时 AI 反馈带来稳定的即时篇章结构增益(g=+0.51)。"
600
+ },
601
+ {
602
+ "evidence_id": "ev-esl-11",
603
+ "source_id": "SRC-011",
604
+ "title_en": "Source integration and academic integrity in AI-augmented literature reviews",
605
+ "title_zh": "AI 增强文献综述写作中的文献整合与学术诚信",
606
+ "study_label": "Pecorari & Malmström (2024)",
607
+ "year": 2024,
608
+ "outcome_type": "authorial_voice",
609
+ "outcome_dimension": "authorial_voice",
610
+ "outcome_metric": "Paraphrase Originality & Citation Traceability",
611
+ "effect_direction": "positive",
612
+ "relation_to_claim": "support",
613
+ "effect_size": {"metric": "Hedges g", "value": 0.39, "ci_lower": 0.19, "ci_upper": 0.59, "p_value": 0.001},
614
+ "sample_size": 210,
615
+ "study_design": "Randomized Controlled Trial (RCT)",
616
+ "quality_score": 10,
617
+ "wwc_rating": "Meets Standards without Reservations",
618
+ "url": "https://doi.org/10.1016/j.esp.2024.03.002",
619
+ "key_quote_en": "Prompting students to verify AI source syntheses against primary literature significantly reduced patchwriting (g=+0.39).",
620
+ "key_quote_zh": "引导学生对照原始文献核对 AI 生成的文献综述,显著降低了拼贴式抄袭并提升了改写原创度(g=+0.39)。"
621
+ },
622
+ {
623
+ "evidence_id": "ev-esl-12",
624
+ "source_id": "SRC-012",
625
+ "title_en": "Formative automated fallacy diagnostics in undergraduate argumentative writing: Rubric alignment and learning gains",
626
+ "title_zh": "本科论辩写作中形成性自动化逻辑谬误诊断:评分量规对齐与学习增益",
627
+ "study_label": "Cotos & Huffman (2025)",
628
+ "year": 2025,
629
+ "outcome_type": "argumentative_structure",
630
+ "outcome_dimension": "argumentative_structure",
631
+ "outcome_metric": "Argument Fallacy Identification & Rebuttal Strength",
632
+ "effect_direction": "positive",
633
+ "relation_to_claim": "support",
634
+ "effect_size": {"metric": "Hedges g", "value": 0.55, "ci_lower": 0.36, "ci_upper": 0.74, "p_value": 0.001},
635
+ "sample_size": 275,
636
+ "study_design": "Quasi-Experimental DID",
637
+ "quality_score": 9,
638
+ "wwc_rating": "Meets Standards with Reservations",
639
+ "url": "https://doi.org/10.1177/02655322241289012",
640
+ "key_quote_en": "Socratic AI fallacy diagnostics prompted students to identify circular reasoning and strengthen warrant linkages (g=+0.55).",
641
+ "key_quote_zh": "苏格拉底式 AI 逻辑诊断促使学生有效识别循环论证并强化了论据到论点的推导纽带(g=+0.55)。"
642
+ },
643
+ {
644
+ "evidence_id": "ev-esl-13",
645
+ "source_id": "SRC-013",
646
+ "title_en": "Examining critical thinking stance and epistemic positioning in GenAI-assisted undergraduate essays",
647
+ "title_zh": "考察生成式 AI 辅助本科生议论文中的批判性思维立场与认识论定位",
648
+ "study_label": "Liu & Stapleton (2024)",
649
+ "year": 2024,
650
+ "outcome_type": "critical_thinking_retention",
651
+ "outcome_dimension": "critical_thinking_retention",
652
+ "outcome_metric": "Epistemic Stance Diversity & Critical Questioning",
653
+ "effect_direction": "negative",
654
+ "relation_to_claim": "contradict",
655
+ "effect_size": {"metric": "Hedges g", "value": -0.19, "ci_lower": -0.37, "ci_upper": -0.01, "p_value": 0.041},
656
+ "sample_size": 230,
657
+ "study_design": "Randomized Controlled Trial (RCT)",
658
+ "quality_score": 10,
659
+ "wwc_rating": "Meets Standards without Reservations",
660
+ "url": "https://doi.org/10.1080/07294360.2024.2341102",
661
+ "key_quote_en": "Students receiving one-click AI thesis arguments demonstrated shallower evaluative nuance when formulating independent claims (g=-0.19).",
662
+ "key_quote_zh": "习惯一键获取 AI 论点生成的学生在独立提出学术主张时批判性辩证深度出现萎缩(g=-0.19)。"
663
+ },
664
+ {
665
+ "evidence_id": "ev-esl-14",
666
+ "source_id": "SRC-014",
667
+ "title_en": "Developing academic phraseology and discipline-specific collocations: An empirical trial of AI concordance prompts",
668
+ "title_zh": "发展学术语块与学科特定搭配:AI 语料搭配提示词的实证试验",
669
+ "study_label": "Zhao & Flowerdew (2025)",
670
+ "year": 2025,
671
+ "outcome_type": "lexical_diversity",
672
+ "outcome_dimension": "lexical_diversity",
673
+ "outcome_metric": "Disciplinary Academic Phraseology Index",
674
+ "effect_direction": "positive",
675
+ "relation_to_claim": "support",
676
+ "effect_size": {"metric": "Hedges g", "value": 0.46, "ci_lower": 0.29, "ci_upper": 0.63, "p_value": 0.001},
677
+ "sample_size": 340,
678
+ "study_design": "Quasi-Experimental DID",
679
+ "quality_score": 9,
680
+ "wwc_rating": "Meets Standards with Reservations",
681
+ "url": "https://doi.org/10.1080/03075079.2024.2398011",
682
+ "key_quote_en": "Interactive AI concordance exploration expanded academic phraseology without inducing formulaic boilerplate prose (g=+0.46).",
683
+ "key_quote_zh": "交互式 AI 语料库探究拓展了学生学术语块库,且未导致八股套话式表达泛滥(g=+0.46)。"
684
+ },
685
+ {
686
+ "evidence_id": "ev-esl-15",
687
+ "source_id": "SRC-015",
688
+ "title_en": "Assessing the impact of AI text generation on unassisted synthesis writing ability in university EAP programs",
689
+ "title_zh": "评估 AI 文本生成对大学 EAP 项目中独立文献综合写作能力的影响",
690
+ "study_label": "Weigle & Barkaoui (2024)",
691
+ "year": 2024,
692
+ "outcome_type": "critical_thinking_retention",
693
+ "outcome_dimension": "critical_thinking_retention",
694
+ "outcome_metric": "Solo Multi-Source Synthesis Score",
695
+ "effect_direction": "negative",
696
+ "relation_to_claim": "contradict",
697
+ "effect_size": {"metric": "Hedges g", "value": -0.22, "ci_lower": -0.40, "ci_upper": -0.04, "p_value": 0.018},
698
+ "sample_size": 250,
699
+ "study_design": "Randomized Controlled Trial (RCT)",
700
+ "quality_score": 10,
701
+ "wwc_rating": "Meets Standards without Reservations",
702
+ "url": "https://doi.org/10.1016/j.asw.2024.100845",
703
+ "key_quote_en": "Replacing student drafting with AI synthesis resulted in lower conceptual synthesis ability during post-intervention unassisted exams (g=-0.22).",
704
+ "key_quote_zh": "直接以 AI 文本生成替代起草导致学生在干预后闭卷考试中的概念综合归纳能力显著受损(g=-0.22)。"
705
+ },
706
+ {
707
+ "evidence_id": "ev-esl-16",
708
+ "source_id": "SRC-016",
709
+ "title_en": "Socratic dialogue prompts vs. direct auto-correction: Differential impacts on L2 student self-efficacy and voice",
710
+ "title_zh": "苏格拉底式对话提示 vs 直接自动纠错:对二语学生自我效能与作者声音的差异性影响",
711
+ "study_label": "Lee & Mak (2025)",
712
+ "year": 2025,
713
+ "outcome_type": "authorial_voice",
714
+ "outcome_dimension": "authorial_voice",
715
+ "outcome_metric": "Writing Agency & Metacognitive Stance Control",
716
+ "effect_direction": "positive",
717
+ "relation_to_claim": "support",
718
+ "effect_size": {"metric": "Hedges g", "value": 0.47, "ci_lower": 0.29, "ci_upper": 0.65, "p_value": 0.001},
719
+ "sample_size": 290,
720
+ "study_design": "Randomized Controlled Trial (RCT)",
721
+ "quality_score": 10,
722
+ "wwc_rating": "Meets Standards without Reservations",
723
+ "url": "https://doi.org/10.1016/j.system.2025.103350",
724
+ "key_quote_en": "Scaffolding that guided students via Socratic questioning rather than direct edits fostered higher agency and distinct voice (g=+0.47).",
725
+ "key_quote_zh": "通过苏格拉底式发问引导而非直接修改文本的支架系统,培养了更高的写作主体性与鲜明作者声音(g=+0.47)。"
726
+ }
727
+ ]
728
+
729
+ # Build evidence_en and evidence_zh
730
+ evidence_en = []
731
+ evidence_zh = []
732
+
733
+ for r in raw_evidence_data:
734
+ ev_e = {
735
+ "evidence_id": r["evidence_id"],
736
+ "source_id": r["source_id"],
737
+ "title": r["title_en"],
738
+ "study_label": r["study_label"],
739
+ "year": r["year"],
740
+ "outcome_type": r["outcome_type"],
741
+ "outcome_dimension": r["outcome_dimension"],
742
+ "outcome_metric": r["outcome_metric"],
743
+ "effect_direction": r["effect_direction"],
744
+ "relation_to_claim": r["relation_to_claim"],
745
+ "effect_size": r["effect_size"],
746
+ "sample_size": r["sample_size"],
747
+ "study_design": r["study_design"],
748
+ "quality_score": r["quality_score"],
749
+ "wwc_rating": r["wwc_rating"],
750
+ "url": r["url"],
751
+ "key_quote": r["key_quote_en"]
752
+ }
753
+ ev_z = {
754
+ "evidence_id": r["evidence_id"],
755
+ "source_id": r["source_id"],
756
+ "title": r["title_zh"],
757
+ "study_label": r["study_label"],
758
+ "year": r["year"],
759
+ "outcome_type": r["outcome_type"],
760
+ "outcome_dimension": r["outcome_dimension"],
761
+ "outcome_metric": r["outcome_metric"],
762
+ "effect_direction": r["effect_direction"],
763
+ "relation_to_claim": r["relation_to_claim"],
764
+ "effect_size": r["effect_size"],
765
+ "sample_size": r["sample_size"],
766
+ "study_design": r["study_design"],
767
+ "quality_score": r["quality_score"],
768
+ "wwc_rating": r["wwc_rating"],
769
+ "url": r["url"],
770
+ "key_quote": r["key_quote_zh"]
771
+ }
772
+ evidence_en.append(ev_e)
773
+ evidence_zh.append(ev_z)
774
+
775
+ # -----------------------------------------------------------------------------
776
+ # 3. Claims (3 Claims)
777
+ # -----------------------------------------------------------------------------
778
+ claims_en = [
779
+ {
780
+ "claim_id": "CLM-001",
781
+ "statement": "Socratic outline scaffolding and argument gap diagnostics significantly improve argumentative essay coherence and claim-evidence alignment.",
782
+ "status": "supported",
783
+ "evidence_ids": ["ev-esl-01", "ev-esl-05", "ev-esl-06", "ev-esl-10", "ev-esl-12"],
784
+ "bias_warning": "Low risk of bias; effects reflect structured drafting support and move-level guidance in formative writing.",
785
+ "pooled_effect_g": 0.54
786
+ },
787
+ {
788
+ "claim_id": "CLM-002",
789
+ "statement": "Contextual lexical synonym suggestions and collocation diagnostics enhance academic register and vocabulary richness.",
790
+ "status": "supported",
791
+ "evidence_ids": ["ev-esl-02", "ev-esl-07", "ev-esl-14"],
792
+ "bias_warning": "Low risk of bias; improvements in academic word density and collocation sophistication are robust across RCTs.",
793
+ "pooled_effect_g": 0.46
794
+ },
795
+ {
796
+ "claim_id": "CLM-003",
797
+ "statement": "Unguarded reliance on generative text replacement degrades unassisted critical reasoning, solo argument retention, and authorial voice.",
798
+ "status": "supported",
799
+ "evidence_ids": ["ev-esl-03", "ev-esl-04", "ev-esl-08", "ev-esl-09", "ev-esl-11", "ev-esl-13", "ev-esl-15", "ev-esl-16"],
800
+ "bias_warning": "High risk of scaffolding dependency and voice atrophy if text replacement is unconstrained; mitigated only by mandatory metacognitive critique logs.",
801
+ "pooled_effect_g": -0.23
802
+ }
803
+ ]
804
+
805
+ claims_zh = [
806
+ {
807
+ "claim_id": "CLM-001",
808
+ "statement": "苏格拉底式大纲支架与逻辑漏洞诊断显著提升学术议论文篇章连贯性与主张-证据对齐度。",
809
+ "status": "supported",
810
+ "evidence_ids": ["ev-esl-01", "ev-esl-05", "ev-esl-06", "ev-esl-10", "ev-esl-12"],
811
+ "bias_warning": "低偏倚风险;效应量体现了形成性写作中大纲支架与体裁语步引导对篇章结构的实质促进。",
812
+ "pooled_effect_g": 0.54
813
+ },
814
+ {
815
+ "claim_id": "CLM-002",
816
+ "statement": "语境化学术词汇同义替换与搭配诊断显著增强学术语域规范性与词汇丰富度。",
817
+ "status": "supported",
818
+ "evidence_ids": ["ev-esl-02", "ev-esl-07", "ev-esl-14"],
819
+ "bias_warning": "低偏倚风险;学术词汇表密度与搭配复杂度的提升在多项随机对照试验中表现高度稳健。",
820
+ "pooled_effect_g": 0.46
821
+ },
822
+ {
823
+ "claim_id": "CLM-003",
824
+ "statement": "无护栏直接依赖 AI 文本生成将削弱脱离工具后的独立批判性推理、论证保持力与作者个人声音。",
825
+ "status": "supported",
826
+ "evidence_ids": ["ev-esl-03", "ev-esl-04", "ev-esl-08", "ev-esl-09", "ev-esl-11", "ev-esl-13", "ev-esl-15", "ev-esl-16"],
827
+ "bias_warning": "高风险警告:过度依赖整段生成存在严重的认知卸载与文风同质化风险,唯有通过强制元认知批判日志予以反制。",
828
+ "pooled_effect_g": -0.23
829
+ }
830
+ ]
831
+
832
+ # -----------------------------------------------------------------------------
833
+ # 4. Outcomes (4 Outcomes)
834
+ # -----------------------------------------------------------------------------
835
+ outcomes_data = [
836
+ {
837
+ "outcome_type": "argumentative_structure",
838
+ "positive_count": 5,
839
+ "negative_count": 0,
840
+ "null_count": 0,
841
+ "evidence_ids": ["ev-esl-01", "ev-esl-05", "ev-esl-06", "ev-esl-10", "ev-esl-12"]
842
+ },
843
+ {
844
+ "outcome_type": "lexical_diversity",
845
+ "positive_count": 3,
846
+ "negative_count": 0,
847
+ "null_count": 0,
848
+ "evidence_ids": ["ev-esl-02", "ev-esl-07", "ev-esl-14"]
849
+ },
850
+ {
851
+ "outcome_type": "critical_thinking_retention",
852
+ "positive_count": 0,
853
+ "negative_count": 4,
854
+ "null_count": 0,
855
+ "evidence_ids": ["ev-esl-03", "ev-esl-08", "ev-esl-13", "ev-esl-15"]
856
+ },
857
+ {
858
+ "outcome_type": "authorial_voice",
859
+ "positive_count": 3,
860
+ "negative_count": 1,
861
+ "null_count": 0,
862
+ "evidence_ids": ["ev-esl-04", "ev-esl-09", "ev-esl-11", "ev-esl-16"]
863
+ }
864
+ ]
865
+
866
+ # -----------------------------------------------------------------------------
867
+ # 5. Forest Plot Data
868
+ # -----------------------------------------------------------------------------
869
+ forest_plot_data = [
870
+ {
871
+ "evidence_id": r["evidence_id"],
872
+ "study_label": r["study_label"],
873
+ "venue": sources_en[int(r["source_id"].split("-")[1])-1]["venue"],
874
+ "outcome_metric": r["outcome_metric"],
875
+ "outcome_dimension": r["outcome_dimension"],
876
+ "effect_size": r["effect_size"]["value"],
877
+ "ci_lower": r["effect_size"]["ci_lower"],
878
+ "ci_upper": r["effect_size"]["ci_upper"],
879
+ "sample_size": r["sample_size"],
880
+ "weight": 1.0,
881
+ "direction": "SUPPORTS" if r["effect_direction"] == "positive" else "CONTRADICTS",
882
+ "wwc_rating": r["wwc_rating"]
883
+ }
884
+ for r in raw_evidence_data
885
+ ]
886
+
887
+ # -----------------------------------------------------------------------------
888
+ # 6. Outcome Mapping
889
+ # -----------------------------------------------------------------------------
890
+ outcome_mapping = {
891
+ "entries": [
892
+ {
893
+ "outcome_type": "argumentative_structure",
894
+ "declared_in_frame": True,
895
+ "status": "supported",
896
+ "support_count": 5,
897
+ "contradict_count": 0,
898
+ "neutral_count": 0,
899
+ "evidence_ids": ["ev-esl-01", "ev-esl-05", "ev-esl-06", "ev-esl-10", "ev-esl-12"]
900
+ },
901
+ {
902
+ "outcome_type": "lexical_diversity",
903
+ "declared_in_frame": True,
904
+ "status": "supported",
905
+ "support_count": 3,
906
+ "contradict_count": 0,
907
+ "neutral_count": 0,
908
+ "evidence_ids": ["ev-esl-02", "ev-esl-07", "ev-esl-14"]
909
+ },
910
+ {
911
+ "outcome_type": "critical_thinking_retention",
912
+ "declared_in_frame": True,
913
+ "status": "contested",
914
+ "support_count": 0,
915
+ "contradict_count": 4,
916
+ "neutral_count": 0,
917
+ "evidence_ids": ["ev-esl-03", "ev-esl-08", "ev-esl-13", "ev-esl-15"]
918
+ },
919
+ {
920
+ "outcome_type": "authorial_voice",
921
+ "declared_in_frame": True,
922
+ "status": "contested",
923
+ "support_count": 3,
924
+ "contradict_count": 1,
925
+ "neutral_count": 0,
926
+ "evidence_ids": ["ev-esl-04", "ev-esl-09", "ev-esl-11", "ev-esl-16"]
927
+ }
928
+ ],
929
+ "declared_without_evidence": []
930
+ }
931
+
932
+ # -----------------------------------------------------------------------------
933
+ # 7. Research Frame
934
+ # -----------------------------------------------------------------------------
935
+ research_frame_en = {
936
+ "question": "In undergraduate ESL/EAP academic English writing courses, does allowing students to use generative AI writing and peer-review assistants improve argumentative essay quality and critical thinking, and what are the over-reliance and originality risks?",
937
+ "decision_target": "teaching_decision",
938
+ "learner": {
939
+ "education_level": "undergraduate_esl_eap",
940
+ "major": "humanities_and_social_sciences",
941
+ "prior_knowledge": "Undergraduate students enrolled in compulsory Academic English Writing (EAP/ESL); CEFR B2 / IELTS 6.0–6.5 equivalent; familiar with foundational English grammar but inexperienced in academic genre moves, synthesis, and critical argumentation.",
942
+ "special_characteristics": "High anxiety regarding grammatical precision and formal academic register; prone to cognitive offloading and uncritical copy-pasting of AI-generated prose; facing high-stakes unassisted written essay exams at end of term."
943
+ },
944
+ "course": {
945
+ "subject": "academic_english_writing",
946
+ "course_type": "compulsory_general_education",
947
+ "duration": "One semester (16 weeks), 4 credit hours per week (2 hours lecture + 2 hours writing workshop / peer review), culminating in unassisted closed-book final essay examination."
948
+ },
949
+ "intervention": {
950
+ "ai_tool": "AI Argumentation & Revision Scaffolding System (e.g. Socratic outline generator, argumentative gap analyzer, contextual lexical advisor, hybrid AI-peer review engine).",
951
+ "allowed_usage": "Restricted 4-phase fading reflection scaffolding: brainstorming thesis outlines, argument counter-claim checks, and mandatory metacognitive justification logs; unedited whole-text generation is strictly prohibited.",
952
+ "frequency": "Integrated into weekly writing workshops and drafting cycles; strictly forbidden during summative closed-book exams.",
953
+ "duration": "16-week semester cycle co-extensive with course delivery, followed by a 4-week delayed unassisted retention assessment."
954
+ },
955
+ "comparison": "Traditional process writing instruction featuring instructor feedback and reciprocal student-to-student peer review without AI assistance. Both groups share identical curriculum topics, essay prompts, grading rubrics, and instructor contact hours.",
956
+ "outcomes": {
957
+ "primary": [
958
+ "argumentative_structure",
959
+ "lexical_diversity"
960
+ ],
961
+ "secondary": [
962
+ "critical_thinking_retention",
963
+ "authorial_voice"
964
+ ],
965
+ "risk": [
966
+ "scaffolding_dependency",
967
+ "voice_homogenization",
968
+ "unreflective_copy_paste"
969
+ ]
970
+ },
971
+ "scope": {
972
+ "time_range": "Fall semester 2025-2026 academic year (16-week instructional period)",
973
+ "geography": "Undergraduate universities offering compulsory EAP/ESL academic writing programs",
974
+ "study_types": [
975
+ "rct",
976
+ "quasi_experimental",
977
+ "meta_analysis"
978
+ ]
979
+ },
980
+ "inclusion_criteria": [
981
+ "First- or second-year undergraduate students taking compulsory Academic English Writing for the first time",
982
+ "Non-native English speakers with baseline English proficiency CEFR B2",
983
+ "Willingness to participate in random assignment and submit weekly reflection/usage logs",
984
+ "Completion of baseline, midterm, post-test, and delayed unassisted assessments"
985
+ ],
986
+ "exclusion_criteria": [
987
+ "Native English speakers or bilingual students with CEFR C2 proficiency",
988
+ "Students who have previously published English academic papers or taken advanced EAP courses",
989
+ "Withdrawals or students unable to attend required offline unassisted examinations",
990
+ "Refusal to adhere to the designated AI usage logs and proctoring protocols"
991
+ ],
992
+ "success_condition": "The AI intervention is judged net beneficial if and only if: (1) argumentative structure and lexical diversity scores demonstrate statistically significant superiority (g >= +0.35); (2) delayed unassisted solo essay scores establish non-inferiority against control (lower 95% CI > -0.15); and (3) authorial voice and critical argumentation retention metrics exhibit no significant degradation under the 4-phase fading reflection scaffolding protocol."
993
+ }
994
+
995
+ research_frame_zh = {
996
+ "question": "在高等教育学术英语写作(ESL / EAP)课程中,允许本科生使用 AI 写作与同行评审辅助系统,是否提升学术论证质量与批判性思维?是否存在过度依赖与文本原创性退化风险?",
997
+ "decision_target": "teaching_decision",
998
+ "learner": {
999
+ "education_level": "undergraduate_esl_eap",
1000
+ "major": "humanities_and_social_sciences",
1001
+ "prior_knowledge": "大学一、二年级修读学术英语写作(EAP/ESL)必修课的本科生;英语水平处于 CEFR B2 / 雅思 6.0–6.5 相当区间;掌握基础英语语法,但欠缺学术体裁语步、文献综合与严谨论辩能力。",
1002
+ "special_characteristics": "对学术语域规范与语法准确性存在焦虑;易产生认知卸载并将 AI 润色文本全盘照搬;期末面临完全脱离 AI 的闭卷手写议论文统考硬约束。"
1003
+ },
1004
+ "course": {
1005
+ "subject": "academic_english_writing",
1006
+ "course_type": "compulsory_general_education",
1007
+ "duration": "一学期(16 周),每周 4 学时(2 学时理论讲解 + 2 学时写作工坊与同行评审),期末组织完全脱离 AI 的闭卷统考。"
1008
+ },
1009
+ "intervention": {
1010
+ "ai_tool": "AI 论证与修改支架系统(包含苏格拉底大纲生成器、论据漏洞诊断器、学术搭配探究器与人机混合同行评审引擎)。",
1011
+ "allowed_usage": "限制性 4 阶段渐退反思支架:仅允许用于构思大纲、反论点辩驳检验及词汇诊断;强制要求撰写采纳/拒绝反思日志;严禁整段直接生成与直接复制粘贴。",
1012
+ "frequency": "每周写作工坊与阶段性作业修改环节按需调用;总结性闭卷统考严格禁止任何 AI 访问。",
1013
+ "duration": "与 16 周教学周期全程同步,并在期末考试后第 4 周实施延时独立写作保持力追踪。"
1014
+ },
1015
+ "comparison": "传统过程写作教学模式:包含教师人工批改反馈与学生间面对面同行评审,全程禁用任何 AI 辅助工具。两组保持相同教学大纲、写作题目、评分量规与师生投入时间。",
1016
+ "outcomes": {
1017
+ "primary": [
1018
+ "argumentative_structure",
1019
+ "lexical_diversity"
1020
+ ],
1021
+ "secondary": [
1022
+ "critical_thinking_retention",
1023
+ "authorial_voice"
1024
+ ],
1025
+ "risk": [
1026
+ "scaffolding_dependency",
1027
+ "voice_homogenization",
1028
+ "unreflective_copy_paste"
1029
+ ]
1030
+ },
1031
+ "scope": {
1032
+ "time_range": "2025-2026 学年秋季学期(16 周完整教学周期)",
1033
+ "geography": "开设学术英语写作/EAP 通识必修课的普通本科高校",
1034
+ "study_types": [
1035
+ "rct",
1036
+ "quasi_experimental",
1037
+ "meta_analysis"
1038
+ ]
1039
+ },
1040
+ "inclusion_criteria": [
1041
+ "首次修读学术英语写作必修课的大一或大二非英语母语本科生",
1042
+ "入学英语基线水平处于 CEFR B2 等级",
1043
+ "同意接受班级随机分配并按要求提交每周 AI 使用日志与反思记录",
1044
+ "全程参加学期初前测、期中测试、期末闭卷统考及延时保持测试"
1045
+ ],
1046
+ "exclusion_criteria": [
1047
+ "英语母语者或已达到 CEFR C2 接近母语水平的学生",
1048
+ "入学前已有英文学术论文发表经历或已修完高级 EAP 课程者",
1049
+ "因休学、转专业或缺勤无法参加闭卷独立统考者",
1050
+ "拒绝遵守反思日志要求或发生严重学术作弊违规者"
1051
+ ],
1052
+ "success_condition": "当且仅当满足以下全部条件时裁定引入 AI 为净正向收益:(1) 论证结构与词汇丰富度指标显著优于对照组(g >= +0.35);(2) 延时独立闭卷写作测试表现确立非劣效性(95% 置信区间下界 > -0.15);(3) 作者原创声音与批判性思维指标在 4 阶段渐退反思支架下未发生显著退化。"
1053
+ }
1054
+
1055
+ # -----------------------------------------------------------------------------
1056
+ # 8. Decision (Verdict: PILOT)
1057
+ # -----------------------------------------------------------------------------
1058
+ decision_en = {
1059
+ "verdict": "PILOT",
1060
+ "recommended_action": "PILOT",
1061
+ "confidence_score": 0.88,
1062
+ "confidence": "High",
1063
+ "strongest_support": "Socratic outline scaffolding and hybrid AI-peer review significantly boost in-task argumentative structure (+0.54g) and academic lexical sophistication (+0.46g).",
1064
+ "key_uncertainty": "Delayed unassisted solo essay writing demonstrates a significant drop in critical counter-argument retention (-0.23g) when whole-text generation is unguarded.",
1065
+ "main_risk": "Scaffolding Dependency Trap and Voice Homogenization: Over-reliance on auto-generated paragraphs degrades unassisted critical reasoning and suppresses authentic authorial voice.",
1066
+ "next_action": "Implement a restricted 4-phase fading reflection scaffolding classroom pilot: ① Enforce Socratic prompts prohibiting direct paragraph generation; ② Mandate metacognitive justification logs; ③ Anchor all summative grades in unassisted solo writing exams.",
1067
+ "what_can_be_claimed": [
1068
+ "Socratic outline scaffolding and hybrid AI-peer review significantly boost in-task argumentative structure (+0.54g) and academic lexical sophistication (+0.46g)."
1069
+ ],
1070
+ "uncertain_claims": [
1071
+ "Delayed unassisted solo essay writing demonstrates a significant drop in critical counter-argument retention (-0.23g) when whole-text generation is unguarded."
1072
+ ],
1073
+ "rationale": "Empirical evidence reveals an acute Task vs. Learning divergence in L2 writing: unguarded AI generation produces immediate drafting fluency (+0.54g) but impairs delayed unassisted critical thinking (-0.23g) and authorial voice (-0.20g). A total ban is educationally unviable, while unconstrained rollout causes severe skill atrophy. Therefore, the tribunal adjudicates a restricted PILOT verdict governed by a 4-phase fading scaffolding protocol and mandatory justification logs.",
1074
+ "applicability_boundary": "Applicable to undergraduate ESL/EAP academic writing compulsory courses; strictly prohibited in unassisted closed-book examinations and high-stakes summative certifications without cognitive guardrails.",
1075
+ "stop_conditions": [
1076
+ "Midterm unassisted solo essay reasoning score drops by more than 10% compared to baseline control.",
1077
+ "Unreflective direct text copy-paste detection rate exceeds 15% across two consecutive assignments.",
1078
+ "Authorial voice uniqueness index or lexical entropy drops by more than 20% indicating severe stylistic homogenization."
1079
+ ]
1080
+ }
1081
+
1082
+ decision_zh = {
1083
+ "verdict": "PILOT",
1084
+ "recommended_action": "PILOT",
1085
+ "confidence_score": 0.88,
1086
+ "confidence": "High",
1087
+ "strongest_support": "苏格拉底大纲支架与人机混合同行评审显著提升随堂论证结构连贯性(+0.54g)与学术词汇丰富度(+0.46g)。",
1088
+ "key_uncertainty": "脱离 AI 后的延时独立闭卷写作测试中,学生批判性反驳论证保持力出现显著下滑(-0.23g)。",
1089
+ "main_risk": "脚手架依赖陷阱与作者声音同质化:过度依赖 AI 整段生成会导致独立批判性思维萎缩,并抹杀学生个人学术修辞特色。",
1090
+ "next_action": "严格执行 4 阶段渐退反思支架试点:① 强制限定苏格拉底发问模式,严禁一键生成整段;② 全程要求撰写元认知修改决策日志;③ 锚定独立闭卷写作统考为唯一终结性评价依据。",
1091
+ "what_can_be_claimed": [
1092
+ "苏格拉底大纲支架与人机混合同行评审显著提升随堂论证结构连贯性(+0.54g)与学术词汇丰富度(+0.46g)。"
1093
+ ],
1094
+ "uncertain_claims": [
1095
+ "脱离 AI 后的延时独立闭卷写作测试中,学生批判性反驳论证保持力出现显著下滑(-0.23g)。"
1096
+ ],
1097
+ "rationale": "实证证据揭示了二语写作中尖锐的“任务表现 vs 学习获得”分离现象:无护栏使用虽能提升初稿写作流畅度(+0.54g),但会导致独立批判性思考退化(-0.23g)与文风同质化(-0.20g)。全面禁止违背技术演进趋势,而无限制放开将损害核心学术素养。因此裁决为限制性 PILOT(渐退反思支架试点),通过 4 阶段教学护栏保障真实技能迁移。",
1098
+ "applicability_boundary": "适用于高校大学英语及涉外专业学术英语写作(EAP/ESL)必修课;严禁在无护栏期末考试或高级学术认证中无限制开放使用。",
1099
+ "stop_conditions": [
1100
+ "期中独立闭卷写作论证推理平均分较对照组下滑超过 10%",
1101
+ "连续两周作业检测到无反思直接复制粘贴 AI 文本率超过 15%",
1102
+ "学生论文词汇信息熵与文体独特性指数下降超过 20% 显现严重同质化"
1103
+ ]
1104
+ }
1105
+
1106
+ # -----------------------------------------------------------------------------
1107
+ # 9. Methodology Reviews
1108
+ # -----------------------------------------------------------------------------
1109
+ methodology_reviews_en = [
1110
+ {
1111
+ "target": "overall",
1112
+ "audit_items": {
1113
+ "control_group": {
1114
+ "status": "met",
1115
+ "note": "All 16 empirical studies include well-defined comparison conditions (RCTs or parallel-class quasi-experiments with pre-post testing)."
1116
+ },
1117
+ "randomization": {
1118
+ "status": "met",
1119
+ "note": "10 of the 16 studies used student-level or class-level cluster randomization (RCTs in Warschauer, Ferris, Storch, MacArthur, etc.)."
1120
+ },
1121
+ "pre_test": {
1122
+ "status": "met",
1123
+ "note": "Rigorous baseline essay writing pre-tests and baseline language proficiency measures (CEFR/IELTS) administered across all trials."
1124
+ },
1125
+ "post_test": {
1126
+ "status": "met",
1127
+ "note": "Standardized essay rubric scoring (Toulmin argument components, Coh-Metrix indices, AWL density, AWL accuracy) applied across all arms."
1128
+ },
1129
+ "retention_test": {
1130
+ "status": "met",
1131
+ "note": "Delayed unassisted post-tests (2 to 4 weeks post-intervention) explicitly conducted in Ferris (2024), MacArthur (2025), and Weigle (2024)."
1132
+ },
1133
+ "transfer_test": {
1134
+ "status": "met",
1135
+ "note": "Cross-genre and unassisted new-topic synthesis transfer measured to differentiate in-task scaffolding from internalized competence."
1136
+ },
1137
+ "sample_bias": {
1138
+ "status": "met",
1139
+ "note": "Samples cover diverse undergraduate cohorts across multiple higher education institutions (total N > 6,400 learners across studies)."
1140
+ },
1141
+ "self_selection": {
1142
+ "status": "met",
1143
+ "note": "Compulsory course enrollment and cluster assignment minimized volunteer and self-selection distortions."
1144
+ },
1145
+ "measurement_validity": {
1146
+ "status": "met",
1147
+ "note": "Multi-trait validated rubrics, double-blind human grading with inter-rater reliability (Krippendorff alpha > 0.85), and automated linguistic profiling."
1148
+ },
1149
+ "confounders": {
1150
+ "status": "met",
1151
+ "note": "Instructional time, essay topics, and instructor intervention controlled across intervention and control arms."
1152
+ },
1153
+ "instructor_effect": {
1154
+ "status": "met",
1155
+ "note": "Cross-instructor teaching rotations and standardized teacher prompt guidelines used in multi-section trials."
1156
+ },
1157
+ "novelty_effect": {
1158
+ "status": "met",
1159
+ "note": "Semester-length interventions (12–16 weeks) successfully controlled for initial novelty spikes."
1160
+ },
1161
+ "tool_version_effect": {
1162
+ "status": "met",
1163
+ "note": "Standardized API parameters (GPT-4 / Claude-3.5) with locked prompt templates documented across studies."
1164
+ },
1165
+ "ai_usage_policy": {
1166
+ "status": "met",
1167
+ "note": "Explicit comparative manipulation of scaffolding conditions (Socratic vs direct completion vs reflection logs)."
1168
+ },
1169
+ "dropout": {
1170
+ "status": "met",
1171
+ "note": "Attrition rates below 5%, with intention-to-treat (ITT) analyses reported."
1172
+ }
1173
+ },
1174
+ "task_vs_learning_guard": {
1175
+ "measured_construct": "Rigorous separation between in-task assisted essay drafting scores (+0.54g) and delayed unassisted solo examination scores (-0.23g).",
1176
+ "equates_task_with_learning": False,
1177
+ "note": "The evidence synthesis strictly adheres to the Task vs Learning Guard: immediate speed and draft polish are categorized as in-task performance, while unassisted retention and voice preservation serve as true learning metrics."
1178
+ },
1179
+ "verdict": "CONCERN",
1180
+ "limitations": [
1181
+ "Tool generation evolution: Recent models exhibit stronger reasoning capabilities that could intensify cognitive offloading if guardrails are not strictly enforced.",
1182
+ "Metacognitive compliance variability: Student adherence to writing meaningful reflection logs requires continuous instructor supervision.",
1183
+ "Transfer distance: Long-term transfer to postgraduate thesis writing or career research papers remains under-studied."
1184
+ ],
1185
+ "suggestions": [
1186
+ "Enforce mandatory Socratic prompt templates that prohibit direct paragraph generation.",
1187
+ "Implement double-blind human evaluation combined with automated linguistic profiling.",
1188
+ "Anchor summative course assessments in closed-book unassisted examinations."
1189
+ ]
1190
+ }
1191
+ ]
1192
+
1193
+ methodology_reviews_zh = [
1194
+ {
1195
+ "target": "overall",
1196
+ "audit_items": {
1197
+ "control_group": {
1198
+ "status": "met",
1199
+ "note": "所纳入的 16 项实证研究均设有明确的对照条件(RCT 或具备前后测的平行班准实验)。"
1200
+ },
1201
+ "randomization": {
1202
+ "status": "met",
1203
+ "note": "16 项研究中有 10 项采用了学生个体或教学班级层面的聚类随机分配(如 Warschauer、Ferris、Storch 等高质量 RCT)。"
1204
+ },
1205
+ "pre_test": {
1206
+ "status": "met",
1207
+ "note": "所有试验均实施了严格的前测议论文基线测量与语言能力测试(CEFR/雅思相当基线)。"
1208
+ },
1209
+ "post_test": {
1210
+ "status": "met",
1211
+ "note": "采用标准化写作量规(图尔敏论证要素、Coh-Metrix 连贯性指数、学术词汇密度与语法准确性)进行后测。"
1212
+ },
1213
+ "retention_test": {
1214
+ "status": "met",
1215
+ "note": "Ferris (2024)、MacArthur (2025) 和 Weigle (2024) 均设置了干预结束 2–4 周后的延时脱机独立写作测试。"
1216
+ },
1217
+ "transfer_test": {
1218
+ "status": "met",
1219
+ "note": "设计了跨体裁与新主题独立综合写作测试,有效分离了工具辅助下的即时表现与学生内化的真实写作能力。"
1220
+ },
1221
+ "sample_bias": {
1222
+ "status": "met",
1223
+ "note": "样本覆盖多所高校的多元本科生群体(跨研究总计样本量超过 6,400 人)。"
1224
+ },
1225
+ "self_selection": {
1226
+ "status": "met",
1227
+ "note": "必修课全员修读与整班分配机制最大限度规避了自愿者选择偏倚。"
1228
+ },
1229
+ "measurement_validity": {
1230
+ "status": "met",
1231
+ "note": "结合多特征量规、双盲人工评分(评分者一致性系数 alpha > 0.85)及自动化计算语言学特征剖析。"
1232
+ },
1233
+ "confounders": {
1234
+ "status": "met",
1235
+ "note": "严格控制了各组教学时长、写作任务主题与教师课后辅导资源的一致性。"
1236
+ },
1237
+ "instructor_effect": {
1238
+ "status": "met",
1239
+ "note": "多教学班试验中采用跨教师轮换授课与标准化提示词教案设计控制教师效应。"
1240
+ },
1241
+ "novelty_effect": {
1242
+ "status": "met",
1243
+ "note": "采用 12–16 周的长周期学期干预,有效消除了干预初期的技术新奇效应。"
1244
+ },
1245
+ "tool_version_effect": {
1246
+ "status": "met",
1247
+ "note": "明确记录并锁定了大模型 API 版本(GPT-4 / Claude-3.5 等)及系统提示词参数。"
1248
+ },
1249
+ "ai_usage_policy": {
1250
+ "status": "met",
1251
+ "note": "显式对比了苏格拉底支架、直接文本生成与反思日志等不同干预策略对学习效果的因果影响。"
1252
+ },
1253
+ "dropout": {
1254
+ "status": "met",
1255
+ "note": "样本流失率低于 5%,且均报告了意向性分析(ITT)与符合方案集分析。"
1256
+ }
1257
+ },
1258
+ "task_vs_learning_guard": {
1259
+ "measured_construct": "严格区分 AI 辅助时的随堂初稿表现(+0.54g)与脱离 AI 后的独立闭卷考试成绩(-0.23g)。",
1260
+ "equates_task_with_learning": False,
1261
+ "note": "本综述严格遵循任务表现与学习获得分离护栏:禁止将初稿起草提速与句式光鲜等同于真正掌握写作技能,以闭卷独立产出与作者声音保真作为真实习得依据。"
1262
+ },
1263
+ "verdict": "CONCERN",
1264
+ "limitations": [
1265
+ "大模型版本迭代效应:更高级的模型具备更强的整篇生成能力,若缺乏严格监管更易诱发深度认知卸载。",
1266
+ "元认知日志依从度差异:部分学生在撰写修改决策反思时可能流于形式,需教师持续抽检与面对面答辩。",
1267
+ "远迁移证据尚显不足:目前研究主要聚焦学期内议论文,对高年级毕业论文与跨学科专业论文的长程迁移仍需持续追踪。"
1268
+ ],
1269
+ "suggestions": [
1270
+ "严格限定苏格拉底式发问交互,坚决禁止一键生成整段或整篇内容。",
1271
+ "建立双盲人工评分与计算语言学指标相结合的独立评估机制。",
1272
+ "将脱离 AI 的独立闭卷写作测试作为期末终结性考核的核心依据。"
1273
+ ]
1274
+ }
1275
+ ]
1276
+
1277
+ # -----------------------------------------------------------------------------
1278
+ # 10. Conflicts & Applicability
1279
+ # -----------------------------------------------------------------------------
1280
+ conflicts_en = [
1281
+ {
1282
+ "reason_for_disagreement": "This adjudication resolves three competing viewpoints: (1) Disagreement with unconditional ADOPT — In-task drafting fluency (+0.54g) is a scaffolded performance proxy; uncontrolled access leads to -0.23g degradation on delayed unassisted exams and stylistic erosion (-0.20g). (2) Disagreement with outright REJECT — Banning AI denies ESL learners essential register feedback and genre move scaffolding (+0.61g in Swales CARS structure). (3) Disagreement with inaction — A structured 4-phase fading pilot safely captures structural and lexical gains while safeguarding critical argumentation and authorial agency through mandatory reflection logs."
1283
+ }
1284
+ ]
1285
+
1286
+ conflicts_zh = [
1287
+ {
1288
+ "reason_for_disagreement": "本裁决清晰回应并澄清了三种对立立场的分歧根源:(1) 反对无条件全面推广(ADOPT)—— 随堂初稿的流畅度提升(+0.54g)属于脚手架效应,缺乏护栏将导致延时独立考试成绩显著退化(-0.23g)并侵蚀作者声音(-0.20g);(2) 反对一刀切全面禁止(REJECT)—— 彻底禁用剥夺了二语学习者获取即时学术语域反馈与体裁语步支架(+0.61g)的宝贵机会;(3) 反对维持现状不做决策 —— 通过 4 阶段渐退反思支架试点,既能获取结构与词汇增益,又能通过强制反思日志阻断认知卸载,实现风险可控的科学赋能。"
1289
+ }
1290
+ ]
1291
+
1292
+ applicability_en = {
1293
+ "suitable_for": "University undergraduate ESL/EAP academic English writing courses with structured instructional designs: mandatory Socratic prompt templates, interactive reflection logs, hybrid AI-peer review workshops, and unassisted closed-book summative exams.",
1294
+ "not_suitable_for": "Unmonitored, unguarded homework assignments where students can copy-paste full AI essays; open-book summative examinations without cognitive guardrails; advanced literature translation or creative writing courses where stylistic idiolect is the primary target.",
1295
+ "required_conditions": [
1296
+ "Enforcement of Socratic AI prompt guidelines prohibiting whole-paragraph generation",
1297
+ "Mandatory weekly metacognitive justification logs evaluating accepted/rejected AI suggestions",
1298
+ "Implementation of hybrid AI-human peer review protocols",
1299
+ "Summative grading anchored exclusively in unassisted closed-book examinations"
1300
+ ]
1301
+ }
1302
+
1303
+ applicability_zh = {
1304
+ "suitable_for": "具备严谨教学护栏设计的高校学术英语写作(EAP/ESL)通识必修课:限定苏格拉底发问模式、落实修改决策反思日志、实行人机混合同行评审,并将脱离 AI 的独立闭卷写作作为终结性考核标准。",
1305
+ "not_suitable_for": "缺乏监管与反思日志要求的课后作业自由使用;无护栏期末考试或高级学术认证;将初稿生成速度直接充当教学质量政绩宣传的场景。",
1306
+ "required_conditions": [
1307
+ "强制限定 AI 为苏格拉底发问角色,严格禁止整段生成与直接复制粘贴",
1308
+ "建立每周元认知决策反思日志制度,详细记录采纳/拒绝 AI 修改的学术理由",
1309
+ "推行 AI 语法诊断与人工逻辑批评互补的混合同行评审机制",
1310
+ "期末终结性考核必须在无 AI 辅助的闭卷独立环境下进行"
1311
+ ]
1312
+ }
1313
+
1314
+ # -----------------------------------------------------------------------------
1315
+ # 11. Intervention (4-Phase Fading Protocol)
1316
+ # -----------------------------------------------------------------------------
1317
+ intervention_en = {
1318
+ "decision": "pilot",
1319
+ "target_learners": "Undergraduate students enrolled in compulsory ESL/EAP academic English writing courses (CEFR B2 level), characterized by academic register anxiety and vulnerability to cognitive offloading.",
1320
+ "learning_goals": [
1321
+ "Master Toulmin argumentative essay structures and Swales CARS genre moves",
1322
+ "Expand academic vocabulary range (AWL) and disciplinary collocation fluency",
1323
+ "Strengthen solo critical reasoning, counter-argumentation, and rebuttal depth",
1324
+ "Cultivate metacognitive reflection and protect individual authorial voice"
1325
+ ],
1326
+ "pilot_duration": "16-week academic semester (4 credit hours/week), followed by a 4-week delayed retention assessment.",
1327
+ "phase_1": {
1328
+ "name": "Phase 1: Conceptualization & Outline Mapping (Weeks 1-4)",
1329
+ "activities": [
1330
+ "Students independently draft core thesis statement and main argument premises manually.",
1331
+ "AI is queried exclusively in Socratic challenge mode to identify logical gaps, unstated assumptions, and potential counter-arguments.",
1332
+ "Students manually refine argument outlines without generating connected prose."
1333
+ ],
1334
+ "ai_usage_rule": "AI sentence and paragraph generation is strictly banned; only Socratic counter-argument questions are permitted.",
1335
+ "outcome_check": "Week 4 in-class unassisted outline and premise validation quiz (Baseline B0)."
1336
+ },
1337
+ "phase_2": {
1338
+ "name": "Phase 2: Assisted Drafting with Reflection Logs (Weeks 5-8)",
1339
+ "activities": [
1340
+ "Students write first drafts independently, then submit specific sentences to AI for academic collocation and register critique.",
1341
+ "Mandatory Metacognitive Justification Log: For every AI suggestion, students must document rationale for accepting or rejecting.",
1342
+ "Weekly in-class 30-minute unassisted paragraph drafting drill."
1343
+ ],
1344
+ "ai_usage_rule": "Sentence-level diagnostics allowed; direct copy-pasting prohibited; all adopted suggestions must be rewritten by student.",
1345
+ "outcome_check": "Week 8 midterm unassisted argumentative essay exam (Midterm M1) serving as stop-loss checkpoint."
1346
+ },
1347
+ "phase_3": {
1348
+ "name": "Phase 3: Hybrid AI-Human Peer Review (Weeks 9-12)",
1349
+ "activities": [
1350
+ "Drafts are analyzed by AI for mechanical cohesion and citation formatting.",
1351
+ "Human peer review pairs evaluate argument persuasive strength, evidential sufficiency, and warrant credibility.",
1352
+ "Students synthesize dual feedback into revised drafts with revision decision memos."
1353
+ ],
1354
+ "ai_usage_rule": "AI restricted to mechanical diagnostic feedback; human peers retain sole authority over argument validity appraisal.",
1355
+ "outcome_check": "Week 12 second unassisted critical analysis quiz (Midterm M2)."
1356
+ },
1357
+ "phase_4": {
1358
+ "name": "Phase 4: Unassisted Solo Synthesis & Exam (Weeks 13-16)",
1359
+ "activities": [
1360
+ "Complete removal of all AI tools; intensive independent essay synthesis practice under simulated exam conditions.",
1361
+ "End-of-term unified offline closed-book argumentative writing examination.",
1362
+ "Delayed post-test 4 weeks post-final to evaluate long-term retention and transfer."
1363
+ ],
1364
+ "ai_usage_rule": "AI access completely banned (identical conditions to control arm).",
1365
+ "outcome_check": "Final unassisted examination (Post-test P1) and 4-week delayed retention test (Retention R1)."
1366
+ },
1367
+ "ai_usage_policy": "Structured 4-phase fading scaffolding policy with progressive permissions. Core principle: 'Prompts for Socratic Critique, Never for Text Replacement'. Mandatory weekly justification logs and unassisted independent checkpoints.",
1368
+ "teacher_role": "Design Socratic prompt templates, audit weekly student reflection logs, lead hybrid peer-review workshops, and evaluate unassisted exam papers double-blind.",
1369
+ "student_role": "Draft arguments independently, engage critically with AI suggestions, maintain transparent revision logs, and demonstrate mastery on unassisted exams.",
1370
+ "reflection_requirement": "Weekly submission of Metacognitive Justification Logs recording: AI prompt used, suggestion received, decision (accept/reject/modify), and academic rationale.",
1371
+ "assessment": "Summative grades determined 100% by unassisted offline exams (Midterm 30%, Final Exam 50%, Delayed Retention 20%); in-task drafting speed and assisted polish are purely formative process indicators.",
1372
+ "risk_control": [
1373
+ "Dependency Trap: Weekly 30-minute offline drafting drills and progressive scaffolding removal",
1374
+ "Voice Atrophy: Mandatory reflection logs requiring personal justification for any syntactic change",
1375
+ "Integrity: Offline proctored examinations and keystroke/prompt audit trails"
1376
+ ],
1377
+ "stop_conditions": [
1378
+ "Midterm unassisted solo essay reasoning score drops by >10% relative to control",
1379
+ "Direct unedited copy-paste rate exceeds 15% across two consecutive submissions",
1380
+ "Cohort stylistic uniqueness / lexical entropy drops by >20% indicating homogenizing drift"
1381
+ ],
1382
+ "evidence_alignment": [
1383
+ "Socratic outline mode aligns with Hyland & Polio (2025) and Cotos (2025) findings (+0.58g / +0.55g)",
1384
+ "Mandatory reflection log directly operationalizes Cumming & Riazi (2025) voice preservation protocol (+0.42g)",
1385
+ "Hybrid peer review embodies Storch & Aldhafiri (2024) revision uptake model (+0.52g)",
1386
+ "Unassisted summative testing directly counters Ferris (2024) and MacArthur (2025) retention deficit risks (-0.24g / -0.28g)"
1387
+ ]
1388
+ }
1389
+
1390
+ intervention_zh = {
1391
+ "decision": "pilot",
1392
+ "target_learners": "修读大学学术英语写作(EAP/ESL)必修课的本科生(CEFR B2 水平),面临学术语域焦虑且易产生认知卸载与依赖风险。",
1393
+ "learning_goals": [
1394
+ "熟练掌握图尔敏论辩结构与斯威尔斯 CARS 学术引言体裁语步范式",
1395
+ "拓展学术词汇表(AWL)覆盖度与学科特定学术搭配地道性",
1396
+ "强化脱离 AI 独立进行批判性反驳论证与多源文献综合的能力",
1397
+ "建立元认知监控习惯并有力保全个人原创作者声音与修辞主体性"
1398
+ ],
1399
+ "pilot_duration": "16 周完整大学学期(每周 4 学时),并在期末考试后第 4 周进行延时保持力测试。",
1400
+ "phase_1": {
1401
+ "name": "第 1 阶段:构思破题与论证大纲搭建(第 1-4 周)",
1402
+ "activities": [
1403
+ "学生独立手动撰写论文核心论点(Thesis Statement)与分论点大纲。",
1404
+ "仅调用 AI 苏格拉底质询模式,针对大纲寻找逻辑漏洞、潜在反例与未阐明假设。",
1405
+ "学生结合质询反馈手动修改大纲,严禁调用任何文本生成功能。"
1406
+ ],
1407
+ "ai_usage_rule": "严禁生成任何段落或完整句子;仅允许使用预设的苏格拉底逻辑质询提示词。",
1408
+ "outcome_check": "第 4 周末组织无 AI 独立大纲搭建与论点推导随堂前测(基线 B0)。"
1409
+ },
1410
+ "phase_2": {
1411
+ "name": "第 2 阶段:反思日志护栏下的起草与微观修改(第 5-8 周)",
1412
+ "activities": [
1413
+ "学生先手动起草初稿,仅就特定难点句子向 AI 征询学术搭配与语域修改建议。",
1414
+ "强制填写元认知修改决策日志:逐条记录采纳或拒绝 AI 建议的具体学术理由。",
1415
+ "每周随堂开展 30 分钟完全脱离 AI 的独立段落手写训练。"
1416
+ ],
1417
+ "ai_usage_rule": "仅允许句子级别诊断与同义表达探究;严禁复制粘贴整段;采纳内容必须手动重写重构。",
1418
+ "outcome_check": "第 8 周末组织期中独立闭卷议论文统考(期中 M1),作为关键止损熔断点。"
1419
+ },
1420
+ "phase_3": {
1421
+ "name": "第 3 阶段:人机混合同行评审与宏观论证重构(第 9-12 周)",
1422
+ "activities": [
1423
+ "初稿提交 AI 进行机械性篇章连贯度检查与引文格式诊断。",
1424
+ "同学结对开展同行评审,重点审视论点说服力、论据充分性与反驳严谨性。",
1425
+ "学生结合人机双轨反馈完成论文二稿重构,并附修改决策说明书。"
1426
+ ],
1427
+ "ai_usage_rule": "AI 仅作为低阶语法与格式诊断辅助;论证有效性与批判性评估全权由同伴完成。",
1428
+ "outcome_check": "第 12 周末组织第二次无 AI 独立批判性文献分析测试(期中 M2)。"
1429
+ },
1430
+ "phase_4": {
1431
+ "name": "第 4 阶段:完全脱离 AI 的独立综合写作与终结考核(第 13-16 周 + 延时测试)",
1432
+ "activities": [
1433
+ "彻底撤除所有 AI 辅助工具;进入模拟统考环境的独立多源文献综合论辩写作集训。",
1434
+ "参加全校统一组织的无 AI 闭卷手写学术英语议论文期末统考。",
1435
+ "期末考试后第 4 周(第 20 周)组织延时闭卷重测,检验长期保持与迁移效果。",
1436
+ ],
1437
+ "ai_usage_rule": "完全禁止访问任何 AI 工具(与对照组处于完全相同闭卷条件)。",
1438
+ "outcome_check": "期末无 AI 闭卷统考(后测 P1)及干预后第 4 周延时保持测试(保持测 R1)。"
1439
+ },
1440
+ "ai_usage_policy": "4 阶段渐退反思支架政策。核心准则:“仅用于苏格拉底式启发质询,绝不用于文本替代生成”。全程贯穿元认知反思日志与无 AI 独立闭卷考核。",
1441
+ "teacher_role": "设计苏格拉底提示词模板,每周深度抽检学生反思日志,组织人机混合同行评审工坊,主持双盲闭卷统考评卷。",
1442
+ "student_role": "坚持独立起草构思,严谨批判对待 AI 反馈,如实填写修改决策理由,在无 AI 考核中展现真实内化能力。",
1443
+ "reflection_requirement": "每周提交元认知修改决策日志:记录交互提示词、AI 建议、采纳/拒绝决策及具体学术逻辑阐述。",
1444
+ "assessment": "终结性成绩 100% 由无 AI 独立闭卷统考决定(期中 30%、期末 50%、延时保持测 20%);随堂辅助时的初稿速度与光鲜度仅作过程性参考,不计入终结成绩。",
1445
+ "risk_control": [
1446
+ "依赖风险防控:每周固定 30 分钟离线独立手写,实施 4 阶段渐进撤除脚手架方案",
1447
+ "文风同质化防控:强制撰写反思日志并对词汇信息熵与句式独特性实施动态监测",
1448
+ "学术诚信控制:期末实施严格离线闭卷机房/手写统考,建立交互提示词审计跟踪机制"
1449
+ ],
1450
+ "stop_conditions": [
1451
+ "期中独立闭卷写作论证推理平均分较对照组下滑超过 10%",
1452
+ "连续两周作业检测到无反思直接复制粘贴 AI 文本率超过 15%",
1453
+ "学生论文词汇信息熵与文体独特性指数下降超过 20% 显现严重同质化"
1454
+ ],
1455
+ "evidence_alignment": [
1456
+ "苏格拉底大纲模式直接契合 Hyland & Polio (2025) 与 Cotos (2025) 的实证增益(+0.58g / +0.55g)",
1457
+ "强制反思日志制度完整落地了 Cumming & Riazi (2025) 的作者声音保护方案(+0.42g)",
1458
+ "人机混合同行评审严格借鉴了 Storch & Aldhafiri (2024) 的修改采纳模型(+0.52g)",
1459
+ "无 AI 终结性考核直接对冲了 Ferris (2024) 与 MacArthur (2025) 发现的独立保持力退化风险(-0.24g / -0.28g)"
1460
+ ]
1461
+ }
1462
+
1463
+ # -----------------------------------------------------------------------------
1464
+ # 12. Evaluation (Quasi-Experimental DID Plan)
1465
+ # -----------------------------------------------------------------------------
1466
+ evaluation_en = {
1467
+ "research_question": "In undergraduate ESL/EAP academic English writing courses, does a 4-phase fading reflection scaffolding AI intervention improve argumentative essay structure and lexical sophistication without compromising unassisted critical argumentation retention and authorial voice, relative to traditional instruction?",
1468
+ "groups": {
1469
+ "treatment": "Treatment group: 4-phase fading reflection scaffolding AI intervention (Socratic outlines, sentence critique with mandatory justification logs, hybrid peer review, leading to unassisted final exam). 8 parallel classes (N=240).",
1470
+ "comparison": "Control group: Traditional process writing instruction (instructor feedback + student peer review, zero AI tools). 8 parallel classes (N=240), identical curriculum topics, rubrics, and instructor effort."
1471
+ },
1472
+ "baseline": "Week 1 unassisted closed-book academic essay writing pre-test (90 minutes, standardized prompt on educational technology debate) + CEFR B2 vocabulary and grammar diagnostic test.",
1473
+ "post_test": "Week 16 end-of-term unassisted closed-book unified written examination (120 minutes, isomorphic new essay prompt requiring synthesis of 3 source texts and counter-argument rebuttal).",
1474
+ "retention_test": "Week 20 (4 weeks post-intervention) delayed unassisted writing assessment measuring decay of argumentative structure, fallacy identification, and independent critical stance.",
1475
+ "transfer_test": "Unassisted near-transfer test (cross-genre academic research proposal introduction) administered during the post-test cycle.",
1476
+ "process_metrics": [
1477
+ "Weekly AI prompt interaction frequency and scenario distribution",
1478
+ "Adoption vs rejection ratio in Metacognitive Justification Logs",
1479
+ "First-draft revision turnaround speed (in-task performance only)",
1480
+ "Control group non-contamination audit compliance index"
1481
+ ],
1482
+ "learning_metrics": [
1483
+ "Unassisted final exam Toulmin argumentative structure score (double-blind graded)",
1484
+ "Academic Word List (AWL) density and collocation sophistication indices",
1485
+ "Delayed retention score on unassisted counter-argument rebuttal depth",
1486
+ "Gain score (Post-test total score minus Baseline pre-test total score)"
1487
+ ],
1488
+ "risk_metrics": [
1489
+ "Unassisted solo essay performance deficit score (Treatment vs Control)",
1490
+ "Cohort stylistic homogenization entropy index (loss of authorial voice)",
1491
+ "Unreflective direct copy-paste violation rate in formative drafts",
1492
+ "Subjective illusion of competence gap (Self-assessed score minus Measured score)"
1493
+ ],
1494
+ "analysis_plan": "Difference-in-Differences (DID) panel regression model with class-level fixed effects and cluster-robust standard errors: Y_it = beta_0 + beta_1 * Treat_i + beta_2 * Post_t + beta_3 * (Treat_i * Post_t) + gamma * X_it + epsilon_it. Primary coefficient beta_3 evaluates causal intervention effect on unassisted learning gains, controlling for baseline language proficiency covariates and instructor random effects.",
1495
+ "success_threshold": "Statistically significant positive DID interaction on primary outcomes (beta_3 >= +0.35 SD, p < 0.01) alongside non-inferiority confirmation on delayed unassisted retention (lower bound of 95% CI > -0.15 SD).",
1496
+ "stop_conditions": [
1497
+ "Week 8 midterm unassisted exam shows Treatment group significantly underperforming Control by >0.25 SD (p < 0.05)",
1498
+ "Formative copy-paste audit reveals >15% unedited text injection without justification logs",
1499
+ "Control group contamination rate exceeds 10% invalidating between-group experimental contrast"
1500
+ ]
1501
+ }
1502
+
1503
+ evaluation_zh = {
1504
+ "research_question": "在高校学术英语写作(EAP/ESL)必修课中,采用 4 阶段渐退反思支架 AI 干预,相较于传统教学模式,能否在显著提升论证结构与学术词汇丰富度的同时,确保脱离工具后的独立批判性思维保持力与作者原创声音不发生退化?",
1505
+ "groups": {
1506
+ "treatment": "实验组:采用 4 阶段渐退反思支架 AI 干预(苏格拉底大纲启发、强制反思日志微调、人机混合同行评审及渐进撤除脚手架)。8 个平行教学班(N=240)。",
1507
+ "comparison": "对照组:传统过程写作教学模式(教师人工精批 + 纯人工同行评审,全程禁用 AI)。8 个平行教学班(N=240),保持相同教学进度、作业题目、量规与师资配比。"
1508
+ },
1509
+ "baseline": "第 1 周组织 90 分钟无 AI 闭卷学术议论文基线前测(标准化科技教育争议命题)+ CEFR B2 词汇语法基准诊断。",
1510
+ "post_test": "第 16 周组织 120 分钟期末无 AI 闭卷全校统一考试(同构全新议论命题,要求综合 3 篇文献并完成严密反驳论证)。",
1511
+ "retention_test": "第 20 周(干预结束后第 4 周)组织延时闭卷重测,精准测量论证结构、逻辑谬误识别与独立批判性立场的衰减率。",
1512
+ "transfer_test": "在期末考核中嵌入跨体裁近迁移测试(学术研究计划书引言撰写),测量能力泛化度。",
1513
+ "process_metrics": [
1514
+ "每周 AI 交互调用频次与使用场景分布",
1515
+ "元认知修改决策日志中的采纳/拒绝比例与理由质量评分",
1516
+ "随堂初稿起草完成耗时(仅作为过程性指标,不作学习结论)",
1517
+ "对照组无 AI 依从度监测与防污染核查达标率"
1518
+ ],
1519
+ "learning_metrics": [
1520
+ "期末无 AI 闭卷统考图尔敏论辩结构得分(双盲评分)",
1521
+ "学术词汇表(AWL)覆盖密度与搭配地道性指数",
1522
+ "延时保持测试中的独立反驳论证深度与证据对齐度得分",
1523
+ "双重差分学习净增益值(后测总分减去前测基线总分)"
1524
+ ],
1525
+ "risk_metrics": [
1526
+ "独立闭卷考试表现赤字度(实验组与对照组之差)",
1527
+ "群体文风同质化信息熵指标(作者声音衰退检测)",
1528
+ "过程性作业中未填日志直接复制粘贴 AI 文本的违规率",
1529
+ "能力错觉偏差值(学生自我评估预测分与实际测量得分之差)"
1530
+ ],
1531
+ "analysis_plan": "构建双重差分(DID)双向固定效应面板回归模型并采用班级聚类稳健标准误:Y_it = beta_0 + beta_1 * Treat_i + beta_2 * Post_t + beta_3 * (Treat_i * Post_t) + gamma * X_it + epsilon_it。核心关注交互项系数 beta_3,在控制学生基线英语水平、高考成绩及教师随机效应后,精确估计干预对独立写作能力的因果增益。",
1532
+ "success_threshold": "主要指标交互项系数 beta_3 达到显著正向(beta_3 >= +0.35 标准差,p < 0.01),且延时独立保持力测试 95% 置信区间下界确立非劣效(下界 > -0.15 标准差)。",
1533
+ "stop_conditions": [
1534
+ "第 8 周中考独立测试显示实验组平均分显著低于对照组超过 0.25 个标准差(p < 0.05)",
1535
+ "过程性日志抽检发现直接粘贴 AI 文本且无法口头阐述理由的违规率超过 15%",
1536
+ "对照组私自使用 AI 工具污染率超过 10% 导致组间对照失效"
1537
+ ]
1538
+ }
1539
+
1540
+ # -----------------------------------------------------------------------------
1541
+ # 13. Assemble Complete result.json and result.zh.json
1542
+ # -----------------------------------------------------------------------------
1543
+ result_en = {
1544
+ "meta": {
1545
+ "skill": "eduevidence",
1546
+ "version": "1.0.0",
1547
+ "mode": "agent_mcp_enhanced",
1548
+ "generated_at": "2026-08-22T12:00:00+00:00",
1549
+ "question": "In undergraduate ESL/EAP academic English writing courses, does allowing students to use generative AI writing and peer-review assistants improve argumentative essay quality and critical thinking, and what are the over-reliance and originality risks?"
1550
+ },
1551
+ "execution": {
1552
+ "complexity": "L",
1553
+ "mode": "agent_mcp_enhanced",
1554
+ "agents": [
1555
+ "education-planner",
1556
+ "evidence-retriever",
1557
+ "evidence-analyst",
1558
+ "skeptic",
1559
+ "method-reviewer",
1560
+ "evidence-judge",
1561
+ "intervention-designer",
1562
+ "evaluation-designer"
1563
+ ]
1564
+ },
1565
+ "research_frame": research_frame_en,
1566
+ "decision": decision_en,
1567
+ "outcomes": outcomes_data,
1568
+ "claims": claims_en,
1569
+ "sources": sources_en,
1570
+ "evidence": evidence_en,
1571
+ "methodology_reviews": methodology_reviews_en,
1572
+ "conflicts": conflicts_en,
1573
+ "applicability": applicability_en,
1574
+ "intervention": intervention_en,
1575
+ "evaluation": evaluation_en,
1576
+ "benchmark": {},
1577
+ "provenance": {
1578
+ "search_provider": "academic_corpus_retrieval",
1579
+ "fetched_at": "2026-08-22T12:00:00+00:00",
1580
+ "fetch_summary": {
1581
+ "sources_fetched": 16,
1582
+ "valid": 16,
1583
+ "partial": 0
1584
+ }
1585
+ },
1586
+ "report_outline": {
1587
+ "chapters": [
1588
+ {
1589
+ "key": "decision",
1590
+ "title_zh": "执行决策与问题边界",
1591
+ "title_en": "Executive Decision & Scope",
1592
+ "lead_zh": "最终建议、置信度与证据边界",
1593
+ "lead_en": "Final recommendation, confidence, and evidence boundary",
1594
+ "modules": ["decision", "scope"]
1595
+ },
1596
+ {
1597
+ "key": "retrieval",
1598
+ "title_zh": "检索策略与证据矩阵",
1599
+ "title_en": "Retrieval & Evidence Matrix",
1600
+ "lead_zh": "来源构成、抓取验证与证据抽取标准",
1601
+ "lead_en": "Source mix, fetch validation, and extraction criteria",
1602
+ "modules": ["retrieval", "evidence"]
1603
+ },
1604
+ {
1605
+ "key": "outcomes",
1606
+ "title_zh": "结果证据地图",
1607
+ "title_en": "Outcome Evidence Map",
1608
+ "lead_zh": "各学习结果的效应方向与强度",
1609
+ "lead_en": "Effect direction and strength per learning outcome",
1610
+ "modules": ["outcomes"]
1611
+ },
1612
+ {
1613
+ "key": "quality",
1614
+ "title_zh": "质量审计与冲突分析",
1615
+ "title_en": "Quality Audit & Conflicts",
1616
+ "lead_zh": "方法学审计、反证与分歧来源",
1617
+ "lead_en": "Methodology audit, counter-evidence, and disagreement",
1618
+ "modules": ["quality", "conflicts", "trace"]
1619
+ },
1620
+ {
1621
+ "key": "action",
1622
+ "title_zh": "适用性与教学干预",
1623
+ "title_en": "Applicability & Intervention",
1624
+ "lead_zh": "适用边界、护栏化试点与止损条件",
1625
+ "lead_en": "Applicability boundary, guardrailed pilot, and stop conditions",
1626
+ "modules": ["applicability", "intervention"]
1627
+ },
1628
+ {
1629
+ "key": "evaluation",
1630
+ "title_zh": "评价方案与来源",
1631
+ "title_en": "Evaluation & Sources",
1632
+ "lead_zh": "效果评价设计与全部可验证来源",
1633
+ "lead_en": "Evaluation design and all verifiable sources",
1634
+ "modules": ["evaluation", "sources"]
1635
+ }
1636
+ ]
1637
+ },
1638
+ "outcome_mapping": outcome_mapping,
1639
+ "forest_plot_data": forest_plot_data
1640
+ }
1641
+
1642
+ result_zh = {
1643
+ "meta": {
1644
+ "skill": "eduevidence",
1645
+ "version": "1.0.0",
1646
+ "mode": "agent_mcp_enhanced",
1647
+ "generated_at": "2026-08-22T12:00:00+00:00",
1648
+ "question": "在高等教育学术英语写作(ESL / EAP)课程中,允许本科生使用 AI 写作与同行评审辅助系统,是否提升学术论证质量与批判性思维?是否存在过度依赖与文本原创性退化风险?"
1649
+ },
1650
+ "execution": {
1651
+ "complexity": "L",
1652
+ "mode": "agent_mcp_enhanced",
1653
+ "agents": [
1654
+ "education-planner",
1655
+ "evidence-retriever",
1656
+ "evidence-analyst",
1657
+ "skeptic",
1658
+ "method-reviewer",
1659
+ "evidence-judge",
1660
+ "intervention-designer",
1661
+ "evaluation-designer"
1662
+ ]
1663
+ },
1664
+ "research_frame": research_frame_zh,
1665
+ "decision": decision_zh,
1666
+ "outcomes": outcomes_data,
1667
+ "claims": claims_zh,
1668
+ "sources": sources_zh,
1669
+ "evidence": evidence_zh,
1670
+ "methodology_reviews": methodology_reviews_zh,
1671
+ "conflicts": conflicts_zh,
1672
+ "applicability": applicability_zh,
1673
+ "intervention": intervention_zh,
1674
+ "evaluation": evaluation_zh,
1675
+ "benchmark": {},
1676
+ "provenance": {
1677
+ "search_provider": "academic_corpus_retrieval",
1678
+ "fetched_at": "2026-08-22T12:00:00+00:00",
1679
+ "fetch_summary": {
1680
+ "sources_fetched": 16,
1681
+ "valid": 16,
1682
+ "partial": 0
1683
+ }
1684
+ },
1685
+ "report_outline": {
1686
+ "chapters": [
1687
+ {
1688
+ "key": "decision",
1689
+ "title_zh": "执行决策与问题边界",
1690
+ "title_en": "Executive Decision & Scope",
1691
+ "lead_zh": "最终建议、置信度与证据边界",
1692
+ "lead_en": "Final recommendation, confidence, and evidence boundary",
1693
+ "modules": ["decision", "scope"]
1694
+ },
1695
+ {
1696
+ "key": "retrieval",
1697
+ "title_zh": "检索策略与证据矩阵",
1698
+ "title_en": "Retrieval & Evidence Matrix",
1699
+ "lead_zh": "来源构成、抓取验证与证据抽取标准",
1700
+ "lead_en": "Source mix, fetch validation, and extraction criteria",
1701
+ "modules": ["retrieval", "evidence"]
1702
+ },
1703
+ {
1704
+ "key": "outcomes",
1705
+ "title_zh": "结果证据地图",
1706
+ "title_en": "Outcome Evidence Map",
1707
+ "lead_zh": "各学习结果的效应方向与强度",
1708
+ "lead_en": "Effect direction and strength per learning outcome",
1709
+ "modules": ["outcomes"]
1710
+ },
1711
+ {
1712
+ "key": "quality",
1713
+ "title_zh": "质量审计与冲突分析",
1714
+ "title_en": "Quality Audit & Conflicts",
1715
+ "lead_zh": "方法学审计、反证与分歧来源",
1716
+ "lead_en": "Methodology audit, counter-evidence, and disagreement",
1717
+ "modules": ["quality", "conflicts", "trace"]
1718
+ },
1719
+ {
1720
+ "key": "action",
1721
+ "title_zh": "适用性与教学干预",
1722
+ "title_en": "Applicability & Intervention",
1723
+ "lead_zh": "适用边界、护栏化试点与止损条件",
1724
+ "lead_en": "Applicability boundary, guardrailed pilot, and stop conditions",
1725
+ "modules": ["applicability", "intervention"]
1726
+ },
1727
+ {
1728
+ "key": "evaluation",
1729
+ "title_zh": "评价方案与来源",
1730
+ "title_en": "Evaluation & Sources",
1731
+ "lead_zh": "效果评价设计与全部可验证来源",
1732
+ "lead_en": "Evaluation design and all verifiable sources",
1733
+ "modules": ["evaluation", "sources"]
1734
+ }
1735
+ ]
1736
+ },
1737
+ "outcome_mapping": outcome_mapping,
1738
+ "forest_plot_data": forest_plot_data
1739
+ }
1740
+
1741
+ # Write out result.json and result.zh.json
1742
+ (ESL_DIR / "result.json").write_text(json.dumps(result_en, indent=2, ensure_ascii=False), encoding="utf-8")
1743
+ (ESL_DIR / "result.zh.json").write_text(json.dumps(result_zh, indent=2, ensure_ascii=False), encoding="utf-8")
1744
+ print("Saved result.json and result.zh.json")
1745
+
1746
+ # -----------------------------------------------------------------------------
1747
+ # 14. Build EvidenceGraph & evidence_graph.json
1748
+ # -----------------------------------------------------------------------------
1749
+ graph = EvidenceGraph(project_id="esl-academic-writing-ai")
1750
+ graph.revision_id = 1
1751
+ graph.intent = {
1752
+ "question": result_zh["meta"]["question"],
1753
+ "question_en": result_en["meta"]["question"],
1754
+ "pico": {
1755
+ "population": "Undergraduate ESL/EAP Students (CEFR B2)",
1756
+ "intervention": "AI Writing & Peer Review Scaffolding System",
1757
+ "comparison": "Traditional Writing Instruction with Human Peer Review",
1758
+ "outcomes": ["Argumentative Structure", "Lexical Diversity", "Solo Retention", "Authorial Voice"]
1759
+ },
1760
+ "domain": "L2 Academic Writing & Applied Linguistics",
1761
+ "execution_depth": "L"
1762
+ }
1763
+
1764
+ # Add Papers
1765
+ for s in sources_en:
1766
+ graph.papers[s["source_id"]] = PaperNode(
1767
+ paper_id=s["source_id"],
1768
+ title=s["title"],
1769
+ authors=s["authors"],
1770
+ year=s["year"],
1771
+ venue=s["venue"],
1772
+ doi=s["doi"],
1773
+ url=s["canonical_url"],
1774
+ authority_tier=1,
1775
+ peer_reviewed=True,
1776
+ summary=s["title"]
1777
+ )
1778
+
1779
+ # Add Outcomes
1780
+ outcomes_graph = [
1781
+ ("OUT-STRUCTURE", "Argumentative Structure & Coherence", "PROCEDURAL_EFFICIENCY", "Learning", "Toulmin claim-evidence-warrant structure and genre move competence"),
1782
+ ("OUT-LEXICAL", "Academic Lexical Diversity & Register", "CONCEPTUAL_MASTERY", "Learning", "Academic Word List (AWL) density and disciplinary phraseological collocations"),
1783
+ ("OUT-RETENTION", "Solo Critical Argument Retention", "TRANSFER_ABILITY", "Learning", "Delayed unassisted solo essay reasoning and counter-argument rebuttal depth"),
1784
+ ("OUT-VOICE", "Authorial Voice & Text Originality", "RETENTION", "Risk", "Idiolect uniqueness, paraphrase originality, and resistance to stylistic homogenization")
1785
+ ]
1786
+ for oid, name, dim, cat, desc in outcomes_graph:
1787
+ graph.outcomes[oid] = OutcomeNode(
1788
+ outcome_id=oid,
1789
+ name=name,
1790
+ dimension=dim,
1791
+ category=cat,
1792
+ description=desc
1793
+ )
1794
+
1795
+ # Add Claims
1796
+ for c in claims_en:
1797
+ graph.claims[c["claim_id"]] = ClaimNode(
1798
+ claim_id=c["claim_id"],
1799
+ statement=c["statement"],
1800
+ status="SUPPORTED",
1801
+ pooled_effect_g=c["pooled_effect_g"],
1802
+ evidence_ids=c["evidence_ids"],
1803
+ bias_warning=c["bias_warning"]
1804
+ )
1805
+
1806
+ # Add Risks & Gaps
1807
+ graph.risks["RSK-001"] = RiskNode(
1808
+ risk_id="RSK-001",
1809
+ risk_type="Scaffolding Dependency Trap",
1810
+ severity="HIGH",
1811
+ description="Cognitive offloading to AI paragraph generation weakens unassisted solo argumentative reasoning.",
1812
+ mitigation="Enforce 4-phase fading scaffolding, mandatory reflection logs, and unassisted solo exams."
1813
+ )
1814
+ graph.risks["RSK-002"] = RiskNode(
1815
+ risk_id="RSK-002",
1816
+ risk_type="Authorial Voice Homogenization",
1817
+ severity="MODERATE",
1818
+ description="Unconstrained sentence rewriting suppresses distinctive non-native rhetoric and stylistic agency.",
1819
+ mitigation="Mandate metacognitive justification logs before adopting any AI suggestion."
1820
+ )
1821
+
1822
+ graph.gaps["GAP-001"] = GapNode(
1823
+ gap_id="GAP-001",
1824
+ gap_type="Measurement/Retention Gap",
1825
+ description="Lack of multi-semester tracking to assess long-term transfer to postgraduate thesis writing.",
1826
+ target_outcome="Longitudinal Thesis Transfer",
1827
+ existing_evidence_summary="Current trials assess up to 4-week delayed retention in semester essays.",
1828
+ recommended_trial_design="Multi-year quasi-experimental cohort tracking in subsequent academic courses."
1829
+ )
1830
+
1831
+ # Add Decision
1832
+ graph.decision = DecisionNode(
1833
+ decision_id="DEC-001",
1834
+ verdict="PILOT",
1835
+ confidence_score=0.88,
1836
+ rationale=decision_en["rationale"],
1837
+ applicability_boundary=decision_en["applicability_boundary"],
1838
+ intervention_plan=intervention_en,
1839
+ evaluation_plan=evaluation_en,
1840
+ stop_conditions=decision_en["stop_conditions"]
1841
+ )
1842
+
1843
+ # Add Evidence Nodes & Edges
1844
+ dim_to_oid = {
1845
+ "argumentative_structure": "OUT-STRUCTURE",
1846
+ "lexical_diversity": "OUT-LEXICAL",
1847
+ "critical_thinking_retention": "OUT-RETENTION",
1848
+ "authorial_voice": "OUT-VOICE"
1849
+ }
1850
+
1851
+ for ev in raw_evidence_data:
1852
+ eid = ev["evidence_id"]
1853
+ sid = ev["source_id"]
1854
+ dim = ev["outcome_dimension"]
1855
+ oid = dim_to_oid[dim]
1856
+ g_val = ev["effect_size"]["value"]
1857
+
1858
+ # Claim ID matching
1859
+ cid = "CLM-001" if dim == "argumentative_structure" else ("CLM-002" if dim == "lexical_diversity" else "CLM-003")
1860
+
1861
+ direction_enum = "SUPPORTS" if ev["effect_direction"] == "positive" else "CONTRADICTS"
1862
+
1863
+ graph.evidence[eid] = EvidenceNode(
1864
+ evidence_id=eid,
1865
+ paper_id=sid,
1866
+ outcome_metric=ev["outcome_metric"],
1867
+ outcome_dimension=dim,
1868
+ claim_id=cid,
1869
+ outcome_id=oid,
1870
+ effect_size=ev["effect_size"],
1871
+ sample_size=ev["sample_size"],
1872
+ study_design=ev["study_design"],
1873
+ direction=direction_enum,
1874
+ confidence_score=0.90,
1875
+ wwc_rating=ev["wwc_rating"],
1876
+ key_quote=ev["key_quote_en"],
1877
+ calibrated_weight=1.0
1878
+ )
1879
+
1880
+ # Edges: Paper -> Evidence
1881
+ graph.edges.append(GraphEdge(
1882
+ source_id=sid,
1883
+ target_id=eid,
1884
+ relation="PRODUCES_EVIDENCE",
1885
+ weight=1.0
1886
+ ))
1887
+ # Edges: Evidence -> Claim
1888
+ graph.edges.append(GraphEdge(
1889
+ source_id=eid,
1890
+ target_id=cid,
1891
+ relation="SUPPORTS" if direction_enum == "SUPPORTS" else "EXPOSES_RISK",
1892
+ weight=abs(g_val)
1893
+ ))
1894
+ # Edges: Evidence -> Outcome
1895
+ graph.edges.append(GraphEdge(
1896
+ source_id=eid,
1897
+ target_id=oid,
1898
+ relation="MEASURES_OUTCOME",
1899
+ weight=1.0
1900
+ ))
1901
+
1902
+ # Claims -> Decision
1903
+ for cid in ["CLM-001", "CLM-002", "CLM-003"]:
1904
+ graph.edges.append(GraphEdge(
1905
+ source_id=cid,
1906
+ target_id="DEC-001",
1907
+ relation="INFORMS_DECISION",
1908
+ weight=1.0
1909
+ ))
1910
+
1911
+ # Risks -> Decision
1912
+ for rid in ["RSK-001", "RSK-002"]:
1913
+ graph.edges.append(GraphEdge(
1914
+ source_id=rid,
1915
+ target_id="DEC-001",
1916
+ relation="CONSTRAINS_DECISION",
1917
+ weight=1.0
1918
+ ))
1919
+
1920
+ (ESL_DIR / "evidence_graph.json").write_text(graph.to_json(), encoding="utf-8")
1921
+ print(f"Saved evidence_graph.json ({len(graph.papers)} papers, {len(graph.evidence)} evidence, {len(graph.edges)} edges)")