eduevidence 5.2.0 → 6.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/CONTRIBUTING.md +105 -0
  2. package/README.md +142 -75
  3. package/README.zh-CN.md +73 -30
  4. package/SKILL.md +397 -131
  5. package/agents/openai.yaml +4 -0
  6. package/assets/readme/controlled-execution.svg +34 -0
  7. package/assets/readme/landing-tour.gif +0 -0
  8. package/assets/readme/logo.png +0 -0
  9. package/assets/readme/research-workflow.svg +56 -0
  10. package/assets/readme/studio-graph.png +0 -0
  11. package/assets/readme/studio-overview.png +0 -0
  12. package/assets/readme/studio-reports.png +0 -0
  13. package/assets/readme/studio-tour.gif +0 -0
  14. package/autoevolve/config.yaml +17 -0
  15. package/autoevolve/program.md +25 -0
  16. package/autoevolve/protected.manifest.yaml +34 -0
  17. package/benchmarks/adversarial/cases.jsonl +7 -0
  18. package/benchmarks/evidence-library.json +5268 -0
  19. package/benchmarks/partitions.json +8 -0
  20. package/bin/eduevidence.js +2 -1
  21. package/docs/architecture.md +496 -0
  22. package/docs/autoresearch-evolution-plan.md +2903 -0
  23. package/docs/autoresearch-implementation-status.md +101 -0
  24. package/docs/demo-storyboard.md +20 -0
  25. package/docs/demo-workplace-ai.md +92 -0
  26. package/docs/demo.md +32 -0
  27. package/docs/install-guide.md +150 -0
  28. package/docs/orchestration-role-model.md +1254 -0
  29. package/docs/release-closeout/README.md +17 -0
  30. package/docs/release-closeout/frontend-acceptance.md +23 -0
  31. package/docs/release-closeout/issues.md +19 -0
  32. package/docs/release-closeout/verification.md +28 -0
  33. package/docs/release-contract.md +108 -0
  34. package/docs/research-studio-guide.zh-CN.md +166 -0
  35. package/docs/sciverse-api.md +125 -0
  36. package/eduevidence_cli.py +29 -13
  37. package/engine/_resources.py +13 -0
  38. package/engine/autoevolve/__init__.py +3 -0
  39. package/engine/autoevolve/agent_view.py +167 -0
  40. package/engine/autoevolve/core.py +357 -0
  41. package/engine/autoevolve/events.py +11 -0
  42. package/engine/autoevolve/git_workspace.py +77 -0
  43. package/engine/autoevolve/projection.py +23 -0
  44. package/engine/autoevolve/runner.py +413 -0
  45. package/engine/autoevolve/trust.py +146 -0
  46. package/engine/autoresearch/__init__.py +6 -0
  47. package/engine/autoresearch/commit.py +132 -0
  48. package/engine/autoresearch/contracts.py +126 -0
  49. package/engine/autoresearch/controller.py +207 -0
  50. package/engine/autoresearch/events.py +12 -0
  51. package/engine/autoresearch/gap_priority.py +168 -0
  52. package/engine/autoresearch/projection.py +30 -0
  53. package/engine/autoresearch/research_memory.py +59 -0
  54. package/engine/autoresearch/saturation.py +91 -0
  55. package/engine/briefs.py +2 -1
  56. package/engine/capabilities.py +1 -0
  57. package/engine/contracts.py +3 -1
  58. package/engine/decision_policy.py +96 -0
  59. package/engine/evidence_graph.py +14 -10
  60. package/engine/evidencecore.py +7 -5
  61. package/engine/gaps.py +132 -73
  62. package/engine/ids.py +2 -0
  63. package/engine/judge_pack.py +65 -0
  64. package/engine/library.py +6 -2
  65. package/engine/library_builtin.py +3 -1
  66. package/engine/living.py +36 -5
  67. package/engine/meta_synthesis.py +3 -1
  68. package/engine/migration.py +88 -3
  69. package/engine/orchestration.py +460 -0
  70. package/engine/paths.py +2 -0
  71. package/engine/pilot.py +36 -33
  72. package/engine/project.py +2 -2
  73. package/engine/research_service.py +113 -0
  74. package/engine/studio_read_model.py +400 -0
  75. package/engine/taxonomy.py +211 -0
  76. package/engine/tribunal.py +44 -33
  77. package/engine/update.py +1 -0
  78. package/engine/versions.py +1 -1
  79. package/engine/worker_result.py +109 -0
  80. package/engine/workflows.py +70 -0
  81. package/examples/ai-coding-assistant-evidence/EduEvidence_Report.html +2934 -0
  82. package/examples/ai-coding-assistant-evidence/artifact_manifest.json +15 -0
  83. package/examples/ai-coding-assistant-evidence/citation_check.json +79 -0
  84. package/examples/ai-coding-assistant-evidence/claims.jsonl +12 -0
  85. package/examples/ai-coding-assistant-evidence/evaluation.json +35 -0
  86. package/examples/ai-coding-assistant-evidence/evidence.jsonl +12 -0
  87. package/examples/ai-coding-assistant-evidence/final_verdict.json +107 -0
  88. package/examples/ai-coding-assistant-evidence/frame.json +48 -0
  89. package/examples/ai-coding-assistant-evidence/gate_report.json +101 -0
  90. package/examples/ai-coding-assistant-evidence/intervention.json +51 -0
  91. package/examples/ai-coding-assistant-evidence/methodology.json +36 -0
  92. package/examples/ai-coding-assistant-evidence/raw_verdict.json +86 -0
  93. package/examples/ai-coding-assistant-evidence/report_spec.json +230 -0
  94. package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_academic.html +2934 -0
  95. package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_claude.html +2934 -0
  96. package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_datalab-dark.html +2934 -0
  97. package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_datalab.html +2934 -0
  98. package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_presentation.html +2934 -0
  99. package/examples/ai-coding-assistant-evidence/reports-5themes/report_academic.html +2934 -0
  100. package/examples/ai-coding-assistant-evidence/reports-5themes/report_claude.html +2934 -0
  101. package/examples/ai-coding-assistant-evidence/reports-5themes/report_datalab-dark.html +2934 -0
  102. package/examples/ai-coding-assistant-evidence/reports-5themes/report_datalab.html +2934 -0
  103. package/examples/ai-coding-assistant-evidence/reports-5themes/report_presentation.html +2934 -0
  104. package/examples/ai-coding-assistant-evidence/result.json +1457 -0
  105. package/examples/ai-coding-assistant-evidence/result.zh.json +1457 -0
  106. package/examples/ai-coding-assistant-evidence/skeptic.json +72 -0
  107. package/examples/ai-coding-assistant-evidence/sources.jsonl +8 -0
  108. package/examples/ai-coding-assistant-evidence/verdict.json +107 -0
  109. package/examples/spaced-retrieval-practice/applicability.json +14 -0
  110. package/examples/spaced-retrieval-practice/artifact_manifest.json +15 -0
  111. package/examples/spaced-retrieval-practice/claims.jsonl +3 -0
  112. package/examples/spaced-retrieval-practice/evidence.jsonl +6 -0
  113. package/examples/spaced-retrieval-practice/final_verdict.json +93 -0
  114. package/examples/spaced-retrieval-practice/frame.json +58 -0
  115. package/examples/spaced-retrieval-practice/gate_report.json +101 -0
  116. package/examples/spaced-retrieval-practice/methodology.json +78 -0
  117. package/examples/spaced-retrieval-practice/report_spec.json +212 -0
  118. package/examples/spaced-retrieval-practice/reports-5themes/EduEvidence_Report_academic.html +2728 -0
  119. package/examples/spaced-retrieval-practice/reports-5themes/EduEvidence_Report_claude.html +2728 -0
  120. package/examples/spaced-retrieval-practice/reports-5themes/EduEvidence_Report_datalab-dark.html +2728 -0
  121. package/examples/spaced-retrieval-practice/reports-5themes/EduEvidence_Report_datalab.html +2728 -0
  122. package/examples/spaced-retrieval-practice/reports-5themes/EduEvidence_Report_presentation.html +2728 -0
  123. package/examples/spaced-retrieval-practice/reports-5themes/report_academic.html +2728 -0
  124. package/examples/spaced-retrieval-practice/reports-5themes/report_claude.html +2728 -0
  125. package/examples/spaced-retrieval-practice/reports-5themes/report_datalab-dark.html +2728 -0
  126. package/examples/spaced-retrieval-practice/reports-5themes/report_datalab.html +2728 -0
  127. package/examples/spaced-retrieval-practice/reports-5themes/report_presentation.html +2728 -0
  128. package/examples/spaced-retrieval-practice/result.json +942 -0
  129. package/examples/spaced-retrieval-practice/result.zh.json +942 -0
  130. package/examples/spaced-retrieval-practice/skeptic.json +70 -0
  131. package/examples/spaced-retrieval-practice/sources.jsonl +7 -0
  132. package/examples/spaced-retrieval-practice/verdict.json +93 -0
  133. package/examples/workplace-ai-assistant/artifact_manifest.json +15 -0
  134. package/examples/workplace-ai-assistant/claims.jsonl +4 -0
  135. package/examples/workplace-ai-assistant/evaluation.json +19 -0
  136. package/examples/workplace-ai-assistant/evidence.jsonl +4 -0
  137. package/examples/workplace-ai-assistant/evidence_graph.json +444 -0
  138. package/examples/workplace-ai-assistant/final_verdict.json +78 -0
  139. package/examples/workplace-ai-assistant/frame.json +41 -0
  140. package/examples/workplace-ai-assistant/gate_report.json +101 -0
  141. package/examples/workplace-ai-assistant/intervention.json +27 -0
  142. package/examples/workplace-ai-assistant/legacy-link-check.json +16 -0
  143. package/examples/workplace-ai-assistant/methodology.json +60 -0
  144. package/examples/workplace-ai-assistant/report_spec.json +224 -0
  145. package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_academic.html +2814 -0
  146. package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_claude.html +2814 -0
  147. package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_datalab-dark.html +2814 -0
  148. package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_datalab.html +2814 -0
  149. package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_presentation.html +2814 -0
  150. package/examples/workplace-ai-assistant/reports-5themes/report_academic.html +2814 -0
  151. package/examples/workplace-ai-assistant/reports-5themes/report_claude.html +2814 -0
  152. package/examples/workplace-ai-assistant/reports-5themes/report_datalab-dark.html +2814 -0
  153. package/examples/workplace-ai-assistant/reports-5themes/report_datalab.html +2814 -0
  154. package/examples/workplace-ai-assistant/reports-5themes/report_presentation.html +2814 -0
  155. package/examples/workplace-ai-assistant/result.json +615 -0
  156. package/examples/workplace-ai-assistant/result.zh.json +615 -0
  157. package/examples/workplace-ai-assistant/search_log.json +19 -0
  158. package/examples/workplace-ai-assistant/skeptic.json +72 -0
  159. package/examples/workplace-ai-assistant/sources.jsonl +3 -0
  160. package/examples/workplace-ai-assistant/validation_result.json +9 -0
  161. package/examples/workplace-ai-assistant/verdict.json +78 -0
  162. package/install.sh +7 -7
  163. package/integrations/agent_mcp.py +2 -2
  164. package/integrations/orchestration_dispatch.py +146 -0
  165. package/package.json +46 -3
  166. package/pyproject.toml +14 -22
  167. package/references/autoresearch.md +30 -0
  168. package/references/evaluation-policy.md +24 -0
  169. package/references/orchestration.md +22 -0
  170. package/references/report-copy-style.md +67 -0
  171. package/references/retrieval-compliance.md +75 -0
  172. package/references/retrieval-protocol.md +20 -0
  173. package/references/scientific-invariants.md +19 -0
  174. package/retrieval/audit.py +178 -0
  175. package/retrieval/fetch.py +96 -0
  176. package/retrieval/sciverse.py +398 -0
  177. package/retrieval/search.py +47 -7
  178. package/schemas/applicability.schema.json +94 -0
  179. package/schemas/chart-spec.schema.json +10 -3
  180. package/schemas/evidence.schema.json +316 -43
  181. package/schemas/fetch-result.schema.json +2 -1
  182. package/schemas/intervention.schema.json +106 -21
  183. package/schemas/report-result.schema.json +12 -4
  184. package/schemas/report-spec.schema.json +98 -100
  185. package/schemas/skeptic.schema.json +86 -0
  186. package/schemas/source.schema.json +21 -2
  187. package/schemas/v2/finding.schema.json +5 -1
  188. package/schemas/v2/methodology-audit.schema.json +5 -1
  189. package/schemas/v2/outcome.schema.json +28 -5
  190. package/schemas/v2/project.schema.json +2 -2
  191. package/schemas/v2/run.schema.json +1 -1
  192. package/schemas/v2/study.schema.json +5 -1
  193. package/schemas/vNext/autoevolve-session.schema.json +34 -0
  194. package/schemas/vNext/eval-snapshot.schema.json +77 -0
  195. package/schemas/vNext/execution-plan.schema.json +50 -0
  196. package/schemas/vNext/gap-priority.schema.json +54 -0
  197. package/schemas/vNext/negative-search-record.schema.json +68 -0
  198. package/schemas/vNext/research-iteration.schema.json +87 -0
  199. package/schemas/vNext/research-strategy.schema.json +62 -0
  200. package/schemas/vNext/skill-experiment.schema.json +90 -0
  201. package/schemas/vNext/task-spec.schema.json +156 -0
  202. package/schemas/vNext/worker-result.schema.json +60 -0
  203. package/schemas/verdict.schema.json +164 -28
  204. package/scripts/benchmark_judge.py +2 -2
  205. package/scripts/benchmark_v3.py +26 -43
  206. package/scripts/build_esl_artifacts.py +4 -4
  207. package/scripts/build_evidence_library.py +2 -2
  208. package/scripts/build_gh_pages.py +98 -0
  209. package/scripts/build_readme_diagrams.py +72 -0
  210. package/scripts/build_report_variants.py +101 -0
  211. package/scripts/build_result.py +74 -9
  212. package/scripts/check_autoresearch_invariants.py +95 -0
  213. package/scripts/check_package_parity.py +85 -0
  214. package/scripts/check_protocol_alignment.py +375 -0
  215. package/scripts/check_versioned_schemas.py +254 -0
  216. package/scripts/claim_audit.py +13 -8
  217. package/scripts/compute_confidence.py +10 -0
  218. package/scripts/daily_evolve.py +30 -0
  219. package/scripts/dashboard_server.py +130 -101
  220. package/scripts/did_regression.py +17 -32
  221. package/scripts/enrich_projects_human_and_lieflat.py +1 -1
  222. package/scripts/evidence_score.py +5 -2
  223. package/scripts/generate_metrics.py +4 -3
  224. package/scripts/generate_new_projects.py +5 -5
  225. package/scripts/orchestrator.py +286 -36
  226. package/scripts/pre_verdict_gate.py +224 -26
  227. package/scripts/quickstart.py +18 -2
  228. package/scripts/rebake_all_5themes.py +1 -2
  229. package/scripts/research_auto_cli.py +475 -0
  230. package/scripts/run_workspace.py +24 -8
  231. package/scripts/search_provenance.py +64 -0
  232. package/scripts/serve_web.py +9 -10
  233. package/scripts/skill_lint.py +1 -1
  234. package/scripts/skill_payload.py +81 -0
  235. package/scripts/test_adversarial_empirical.py +26 -19
  236. package/scripts/validate_schema.py +46 -2
  237. package/scripts/vnext_cli.py +133 -0
  238. package/setup.py +12 -0
  239. package/skill/agents/evaluation-designer.md +20 -4
  240. package/skill/agents/evidence-analyst.md +19 -3
  241. package/skill/agents/evidence-judge.md +50 -2
  242. package/skill/agents/evidence-retriever.md +20 -3
  243. package/skill/agents/intervention-designer.md +20 -4
  244. package/skill/agents/method-reviewer.md +18 -2
  245. package/skill/agents/{education-planner.md → research-planner.md} +19 -3
  246. package/skill/agents/skeptic.md +18 -2
  247. package/skill/roles/registry.yaml +45 -0
  248. package/skill/sub-skills/aihot-trend-analysis/SKILL.md +28 -9
  249. package/skill/sub-skills/contradiction-analysis/SKILL.md +31 -11
  250. package/skill/sub-skills/data-analysis/SKILL.md +34 -15
  251. package/skill/sub-skills/ethics-review/SKILL.md +33 -10
  252. package/skill/sub-skills/evidence-extraction/SKILL.md +29 -11
  253. package/skill/sub-skills/evidence-review/SKILL.md +31 -12
  254. package/skill/sub-skills/gap-analysis/SKILL.md +31 -9
  255. package/skill/sub-skills/literature-review/SKILL.md +35 -14
  256. package/skill/sub-skills/methodology-audit/SKILL.md +29 -12
  257. package/skill/sub-skills/report-generation/SKILL.md +40 -6
  258. package/skill/sub-skills/research-planning/SKILL.md +41 -14
  259. package/skill/sub-skills/study-design/SKILL.md +30 -9
  260. package/skill/task-briefs/adjudicate.md +32 -7
  261. package/skill/task-briefs/applicability.md +38 -0
  262. package/skill/task-briefs/audit.md +32 -7
  263. package/skill/task-briefs/challenge.md +34 -5
  264. package/skill/task-briefs/evaluate.md +30 -5
  265. package/skill/task-briefs/extract.md +31 -8
  266. package/skill/task-briefs/frame.md +39 -10
  267. package/skill/task-briefs/intervene.md +32 -6
  268. package/skill/task-briefs/present.md +32 -8
  269. package/skill/task-briefs/projection.md +37 -0
  270. package/skill/task-briefs/retrieve.md +36 -6
  271. package/skill/workflows/decision-and-pilot.md +85 -0
  272. package/skill/workflows/evaluate-and-update.md +93 -0
  273. package/skill/workflows/evidence-review.md +117 -0
  274. package/visualization/eduevidence-report/assets/base.css +2 -2
  275. package/visualization/eduevidence-report/assets/reader.css +752 -0
  276. package/visualization/eduevidence-report/assets/reader.js +132 -0
  277. package/visualization/eduevidence-report/references/chart-selection-catalog.md +109 -0
  278. package/visualization/eduevidence-report/references/lieflat-composition.md +3 -1
  279. package/visualization/eduevidence-report/scripts/build_figures.py +25 -3
  280. package/visualization/eduevidence-report/scripts/build_infographics.py +5 -1
  281. package/visualization/eduevidence-report/scripts/build_report.py +561 -121
  282. package/visualization/eduevidence-report/scripts/charts_data.py +2 -0
  283. package/visualization/eduevidence-report/scripts/lieflat_engine.py +371 -136
  284. package/visualization/eduevidence-report/scripts/zh_labels.py +80 -1
  285. package/visualization/eduevidence-report/themes/academic.css +1 -1
  286. package/visualization/eduevidence-report/themes/claude.css +1 -1
  287. package/visualization/eduevidence-report/themes/datalab-dark.css +2 -2
  288. package/visualization/eduevidence-report/themes/datalab.css +2 -2
  289. package/visualization/eduevidence-report/themes/presentation.css +2 -2
  290. package/web/README.md +18 -0
  291. package/web/architecture.html +14885 -0
  292. package/web/index.html +53 -0
  293. package/web/studio/THIRD_PARTY_LICENSES.txt +146 -0
  294. package/web/studio/assets/index-B8tkF44Q.css +1 -0
  295. package/web/studio/assets/index-CQ6Keoyc.js +230 -0
  296. package/web/studio/config.json +1 -0
  297. package/web/studio/index.html +14 -0
  298. package/engine/__pycache__/__init__.cpython-312.pyc +0 -0
  299. package/engine/__pycache__/analysis.cpython-312.pyc +0 -0
  300. package/engine/__pycache__/bias.cpython-312.pyc +0 -0
  301. package/engine/__pycache__/briefs.cpython-312.pyc +0 -0
  302. package/engine/__pycache__/capabilities.cpython-312.pyc +0 -0
  303. package/engine/__pycache__/citation_check.cpython-312.pyc +0 -0
  304. package/engine/__pycache__/contracts.cpython-312.pyc +0 -0
  305. package/engine/__pycache__/datasets.cpython-312.pyc +0 -0
  306. package/engine/__pycache__/events.cpython-312.pyc +0 -0
  307. package/engine/__pycache__/evidence_graph.cpython-312.pyc +0 -0
  308. package/engine/__pycache__/evidence_review.cpython-312.pyc +0 -0
  309. package/engine/__pycache__/evidencecore.cpython-312.pyc +0 -0
  310. package/engine/__pycache__/gap_lens.cpython-312.pyc +0 -0
  311. package/engine/__pycache__/gaps.cpython-312.pyc +0 -0
  312. package/engine/__pycache__/graph_store.cpython-312.pyc +0 -0
  313. package/engine/__pycache__/graph_validate.cpython-312.pyc +0 -0
  314. package/engine/__pycache__/ids.cpython-312.pyc +0 -0
  315. package/engine/__pycache__/library.cpython-312.pyc +0 -0
  316. package/engine/__pycache__/library_builtin.cpython-312.pyc +0 -0
  317. package/engine/__pycache__/living.cpython-312.pyc +0 -0
  318. package/engine/__pycache__/log.cpython-312.pyc +0 -0
  319. package/engine/__pycache__/meta_analysis.cpython-312.pyc +0 -0
  320. package/engine/__pycache__/meta_synthesis.cpython-312.pyc +0 -0
  321. package/engine/__pycache__/migration.cpython-312.pyc +0 -0
  322. package/engine/__pycache__/mode_router.cpython-312.pyc +0 -0
  323. package/engine/__pycache__/paths.cpython-312.pyc +0 -0
  324. package/engine/__pycache__/pilot.cpython-312.pyc +0 -0
  325. package/engine/__pycache__/planner.cpython-312.pyc +0 -0
  326. package/engine/__pycache__/project.cpython-312.pyc +0 -0
  327. package/engine/__pycache__/projections.cpython-312.pyc +0 -0
  328. package/engine/__pycache__/robustness.cpython-312.pyc +0 -0
  329. package/engine/__pycache__/run.cpython-312.pyc +0 -0
  330. package/engine/__pycache__/semantics.cpython-312.pyc +0 -0
  331. package/engine/__pycache__/study_design.cpython-312.pyc +0 -0
  332. package/engine/__pycache__/synthesis.cpython-312.pyc +0 -0
  333. package/engine/__pycache__/tribunal.cpython-312.pyc +0 -0
  334. package/engine/__pycache__/update.cpython-312.pyc +0 -0
  335. package/engine/__pycache__/versions.cpython-312.pyc +0 -0
  336. package/integrations/__pycache__/__init__.cpython-312.pyc +0 -0
  337. package/integrations/__pycache__/agent_mcp.cpython-312.pyc +0 -0
  338. package/integrations/__pycache__/smart_web_fetch.cpython-312.pyc +0 -0
  339. package/retrieval/__pycache__/__init__.cpython-312.pyc +0 -0
  340. package/retrieval/__pycache__/corpus_store.cpython-312.pyc +0 -0
  341. package/retrieval/__pycache__/dedupe.cpython-312.pyc +0 -0
  342. package/retrieval/__pycache__/failures.cpython-312.pyc +0 -0
  343. package/retrieval/__pycache__/fetch.cpython-312.pyc +0 -0
  344. package/retrieval/__pycache__/search.cpython-312.pyc +0 -0
  345. package/retrieval/__pycache__/source.cpython-312.pyc +0 -0
  346. package/retrieval/__pycache__/validate.cpython-312.pyc +0 -0
  347. package/scripts/__pycache__/__init__.cpython-312.pyc +0 -0
  348. package/scripts/__pycache__/benchmark.cpython-312.pyc +0 -0
  349. package/scripts/__pycache__/benchmark_evaluator.cpython-312.pyc +0 -0
  350. package/scripts/__pycache__/benchmark_judge.cpython-312.pyc +0 -0
  351. package/scripts/__pycache__/benchmark_routing.cpython-312.pyc +0 -0
  352. package/scripts/__pycache__/benchmark_v2.cpython-312.pyc +0 -0
  353. package/scripts/__pycache__/benchmark_v3.cpython-312.pyc +0 -0
  354. package/scripts/__pycache__/build_result.cpython-312.pyc +0 -0
  355. package/scripts/__pycache__/claim_audit.cpython-312.pyc +0 -0
  356. package/scripts/__pycache__/complexity_gate.cpython-312.pyc +0 -0
  357. package/scripts/__pycache__/compute_confidence.cpython-312.pyc +0 -0
  358. package/scripts/__pycache__/dashboard_server.cpython-312.pyc +0 -0
  359. package/scripts/__pycache__/did_regression.cpython-312.pyc +0 -0
  360. package/scripts/__pycache__/effect_calculator.cpython-312.pyc +0 -0
  361. package/scripts/__pycache__/evidence_matrix.cpython-312.pyc +0 -0
  362. package/scripts/__pycache__/evidence_score.cpython-312.pyc +0 -0
  363. package/scripts/__pycache__/evidence_semantics.cpython-312.pyc +0 -0
  364. package/scripts/__pycache__/fetch_benchmark.cpython-312.pyc +0 -0
  365. package/scripts/__pycache__/lint_report_layout.cpython-312.pyc +0 -0
  366. package/scripts/__pycache__/orchestrator.cpython-312.pyc +0 -0
  367. package/scripts/__pycache__/pre_verdict_gate.cpython-312.pyc +0 -0
  368. package/scripts/__pycache__/recompute_demo_quality.cpython-312.pyc +0 -0
  369. package/scripts/__pycache__/render_report.cpython-312.pyc +0 -0
  370. package/scripts/__pycache__/render_report_html.cpython-312.pyc +0 -0
  371. package/scripts/__pycache__/run_workspace.cpython-312.pyc +0 -0
  372. package/scripts/__pycache__/skill_lint.cpython-312.pyc +0 -0
  373. package/scripts/__pycache__/startup_probe.cpython-312.pyc +0 -0
  374. package/scripts/__pycache__/sync_killer_demo_report.cpython-312.pyc +0 -0
  375. package/scripts/__pycache__/test_adversarial_empirical.cpython-312-pytest-9.0.2.pyc +0 -0
  376. package/scripts/__pycache__/test_adversarial_empirical.cpython-312-pytest-9.1.1.pyc +0 -0
  377. package/scripts/__pycache__/validate_schema.cpython-312.pyc +0 -0
  378. package/visualization/eduevidence-report/scripts/__pycache__/adapter_contract.cpython-312.pyc +0 -0
  379. package/visualization/eduevidence-report/scripts/__pycache__/build_artifact_manifest.cpython-312.pyc +0 -0
  380. package/visualization/eduevidence-report/scripts/__pycache__/build_charts.cpython-312.pyc +0 -0
  381. package/visualization/eduevidence-report/scripts/__pycache__/build_figures.cpython-312.pyc +0 -0
  382. package/visualization/eduevidence-report/scripts/__pycache__/build_infographics.cpython-312.pyc +0 -0
  383. package/visualization/eduevidence-report/scripts/__pycache__/build_report.cpython-312.pyc +0 -0
  384. package/visualization/eduevidence-report/scripts/__pycache__/charts_data.cpython-312.pyc +0 -0
  385. package/visualization/eduevidence-report/scripts/__pycache__/lieflat_engine.cpython-312.pyc +0 -0
  386. package/visualization/eduevidence-report/scripts/__pycache__/zh_labels.cpython-312.pyc +0 -0
package/README.zh-CN.md CHANGED
@@ -1,19 +1,30 @@
1
+ <p align="center">
2
+ <img src="assets/readme/logo.png" width="88" height="88" alt="EduEvidence logo" />
3
+ </p>
4
+
1
5
  # EduEvidence
2
6
 
3
7
  > **🌐 [English](README.md) | 中文**
4
8
 
5
- ## EduEvidence Research Engine — Evidence-Based Education Decision Skill
9
+ ## EduEvidence Research Engine — Evidence Research & Decision Skill
10
+
11
+ > **From Research Questions to Evidence-Based Decisions.**
12
+ > **从研究问题,到有证据支撑的决策。**
6
13
 
7
- > **From Education Questions to Evidence-Based Decisions.**
8
- > **从教育问题,到有证据支撑的教育决策。**
14
+ > **▶ 在线演示:** [介绍页](https://37chengshan.github.io/eduevidence/) · [Research Studio](https://37chengshan.github.io/eduevidence/studio/) · [深度调研对比页](https://37chengshan.github.io/eduevidence/comparison.html)
9
15
 
10
- EduEvidence 面向教师、教学研究者与教学管理者,把"是否采用某教学法、课程设计、评估方式或 AI 教学工具"从经验判断转化为**可追溯、可质疑、可验证的证据决策流程**——教学法、课程、评估、学习干预与 AI 工具均是应用域,引擎方法学教育通用。
16
+ EduEvidence 面向研究者与实践决策者,将教育、组织政策和 AI 工具采用等问题转化为**可追溯、可质疑、可验证的证据决策流程**。当前公开案例涵盖编程学习和企业客服,分别使用教育与组织政策领域契约。
11
17
 
12
- - ⚖️ 不是替教师生成答案,而是帮助教师知道:证据支持什么、不能支持什么、适用于谁、应该怎样试点并验证。
18
+ - **三条公开工作流**:Evidence Review(证据综述)、Decision & Pilot(决策与试点)、Evaluate & Update(评估与更新)。完整研究周期将文献证据、有依据的知识缺口、研究设计、新数据和决策修订连接起来。
19
+ - ⚖️ 帮助研究者与实践决策者判断:证据支持什么、不能支持什么、适用于谁、应该怎样试点并验证。
13
20
  - 🧪 基于真实研究(示例包含 CHI 2023 / PNAS 2025 / ACL 2025 / Springer 2024 的实证证据),不做无来源断言。
14
- - 🚦 最终输出不是"允许/禁止"的二元结论,而是 **ADOPT / PILOT / REJECT / INSUFFICIENT EVIDENCE** 四态决策 + 可落地的教学干预与评价方案。
21
+ - 🚦 最终输出不是"允许/禁止"的二元结论,而是 **ADOPT / PILOT / REJECT / INSUFFICIENT EVIDENCE** 四态决策 + 可落地的干预与评价方案。
22
+
23
+ ![Research Studio 操作实录:总览 → 报告阅读室 → 五种报告形态](assets/readme/studio-tour.gif)
15
24
 
16
- ![EduEvidence 顶层宣传图](assets/top-banner.jpg)
25
+ *本地 Studio 真实录屏(非示意):总览 → 报告阅读室 → 五种报告形态。下方为介绍页滚动实录:*
26
+
27
+ ![介绍页实录:首屏 → 九步协议 → 五套报告体系](assets/readme/landing-tour.gif)
17
28
 
18
29
  ---
19
30
 
@@ -52,7 +63,7 @@ bash install.sh # 一键:venv + 依赖 + 自检 + 测试
52
63
  安装后直接打开示例报告:
53
64
 
54
65
  ```bash
55
- open examples/ai-coding-assistant/EduEvidence_Report.html
66
+ open examples/ai-coding-assistant-evidence/EduEvidence_Report.html
56
67
  ```
57
68
 
58
69
  > 需要 Python 3.10+;核心零第三方依赖。学术图 PNG/PDF 导出可选装 matplotlib。
@@ -169,7 +180,7 @@ EduEvidence 执行:
169
180
  | 155–170s | Teaching Intervention + Evaluation |
170
181
  | 170–180s | Benchmark |
171
182
 
172
- 完整示例包见 [`examples/ai-coding-assistant/`](examples/ai-coding-assistant/)。
183
+ 完整示例包见 [`examples/ai-coding-assistant-evidence/`](examples/ai-coding-assistant-evidence/)。
173
184
 
174
185
  ## Why Education Evidence Is Hard
175
186
 
@@ -238,7 +249,7 @@ EduEvidence 强制区分 20 类 Outcome(`references/outcome-taxonomy.md`):
238
249
  - Can Claim / Cannot Claim 边界
239
250
  - 四态决策 + Confidence(规则化计算,不由模型自由生成)
240
251
 
241
- ![Evidence Tribunal Workflow](assets/tribunal-workflow.jpg)
252
+ ![Evidence Tribunal Workflow](assets/readme/research-workflow.svg)
242
253
 
243
254
  ## From Evidence to Action
244
255
 
@@ -270,18 +281,32 @@ B4 EduEvidence + Agent MCP ← 证明多 Agent 增强价值(B3 vs B4)
270
281
 
271
282
  > **大学一年级 C 语言课程是否应该允许学生使用生成式 AI 编程助手?**
272
283
 
273
- `examples/ai-coding-assistant/` 完整展示了从问题到决策的全过程:
284
+ `examples/ai-coding-assistant-evidence/` 完整展示了从问题到决策的全过程:
274
285
 
275
- - **证据**(7 条,均绑定真实来源):任务表现提升(Kazemitabaar 2023)、无护栏访问损害独立考试表现 -17%(Bastani 2025, PNAS)、护栏设计消除负效应(Bastani 2025)、形成性反馈写作证据(Marzuki 2024)。
286
+ - **证据**(12 条发现、8 个来源):任务表现提升(Kazemitabaar 2023)、无护栏访问损害独立考试表现 -17%(Bastani 2025, PNAS)、护栏设计消除负效应(Bastani 2025)、形成性反馈写作证据(Marzuki 2024)。
276
287
  - **决策**:**PILOT** —— 任务表现证据强,但大学编程课程的直接学习效应证据缺失,无护栏风险已被证实。
277
288
  - **干预**:4 阶段试点(Independent Foundation → Explain Don't Solve → Structured Collaboration → Transfer Check)。
278
289
  - **评价**:无 AI 基线/后测/期末考试保持/无 AI 迁移任务 + AI 依赖风险指标。
279
290
 
280
- 另外两个示例:AI 写作助手(`examples/ai-writing-assistant/`)、高数 AI Tutor(`examples/ai-tutor/`)——证明 Skill 不是为一个问题写死。
291
+ 另一公开案例 `examples/workplace-ai-assistant/` 使用组织政策领域,讨论企业客服是否引入 AI 助手:3 项研究、4 条发现,区分直接客服证据与间接写作/咨询证据,判定 **PILOT**(Moderate)。详见 [来源核验与边界](docs/demo-workplace-ai.md)。
292
+
293
+ 第三个公开案例 `examples/spaced-retrieval-practice/`(来源经 Sciverse 通道逐条读回原文)讨论间隔重复与检索练习能否替代集中式复习:6 条证据、7 篇 tier-1 DOI 来源,判定 **ADOPT**(High,引擎复算 0.893)。它是“ADOPT 出口真实可达”的实证:延迟保持与迁移两个主要结果上都有 directness=2 的直接且一致证据;另两例因为主要学习结果上缺直接证据而停在 PILOT。
294
+
295
+ 三个公开案例的数据来源各自如实标注:编程与企业客服两例为人工整理文献(`manual_curated`),间隔重复一例为真实 Sciverse 检索运行记录(`real_run_sciverse`),报告生成不等于九阶段模型研究已运行,也不代表试点已经执行。四个旧教学示例迁入 `tests/fixtures/legacy-examples/`,仅供软件兼容测试,排除于公共目录和分发包;未核验或合成数据不能引用为研究证据。旧 `ai-coding-assistant` 路径保留兼容别名。
296
+
297
+ ## Studio 实际界面
298
+
299
+ 点击图谱节点可以追溯“来源 → 发现 → 主张”。连线流动用于辅助阅读,不表示后台研究正在执行。
300
+
301
+ ![实际溯源图谱](assets/readme/studio-graph.png)
302
+
303
+ 同一份证据可以用五个独立主题阅读,支持中英文及简报/全文切换。
304
+
305
+ ![实际报告阅读室](assets/readme/studio-reports.png)
281
306
 
282
307
  ## Visualization: Bilingual HTML Report + Infographics + Academic Figures
283
308
 
284
- After research completes, `result.json` is rendered by three deterministic Python adapters. The adapters use the standard library; the optional Web Studio chart enhancement has a separate browser dependency.
309
+ After research completes, `result.json` is rendered by three deterministic Python adapters. The adapters use the standard library; legacy ECharts enhancement is optional and is not required by the new Research Studio.
285
310
 
286
311
  ```text
287
312
  result.json + result.zh.json
@@ -300,14 +325,32 @@ result.json + result.zh.json
300
325
  - **Static-first**: decision, matrix, tribunal, intervention and sources remain readable without JavaScript; ECharts is an optional enhancement.
301
326
  - **Integrity gate**: chart numbers are checked against result.json item by item; publishing is blocked with `REPORT_INVALID` on mismatch.
302
327
 
303
- **Local Web Studio** (`python3 scripts/dashboard_server.py --port 8765`) has exactly three read-only views: Dashboard, Report Browser and Data Visualization. It loads ECharts 5.4.3 from jsDelivr for interactive charts; the submission package does not bundle that runtime, so Web interactivity requires network access. The baked report's static HTML/SVG remains the offline artifact.
328
+ **Research Studio 研究观察台**保持只读。运行 `python3 scripts/dashboard_server.py --port 8765`,打开 `/studio/`,即可查看研究项目、证据与来源、实际运行记录、已提交版本及五种风格报告。Skill 自进化实验单独展示;控制台不会启动研究、修改证据或派发代理。
329
+
330
+ 控制台采用 React + TypeScript,分发包已包含静态资源,使用者无需安装 Node。新图表不依赖远程 ECharts CDN,也不在浏览器中计算合并效应量。本地研究不会进入 GitHub Pages 公共导出。五主题从完整双语输入生成,缺失内容明确标记,不补造结论。
331
+
332
+ 详见[研究观察台流程与交付指南](docs/research-studio-guide.zh-CN.md)。
333
+
334
+ > Open the example directly: `examples/ai-coding-assistant-evidence/EduEvidence_Report.html`
335
+
336
+ ### 可选检索通道(key-based)
304
337
 
305
- > Open the example directly: `examples/ai-coding-assistant/EduEvidence_Report.html`
338
+ 零配置检索(OpenAlex / Semantic Scholar / CrossRef / AIHot / AgentSearch)开箱可用。配置以下 key 后通道自动启用,未配置时静默失活、不影响科学门:
339
+
340
+ ```bash
341
+ export SCIVERSE_API_TOKEN=sv-... # 引用级学术检索 + 全文定位(meta-search / agentic-search / content / paper-relations)
342
+ export TAVILY_API_KEY=... # 通用网页检索
343
+ export BRAVE_API_KEY=... # 通用网页检索
344
+ ```
345
+
346
+ Sciverse 通道把 `/agentic-search` 的 chunk 当作**定位子**:必须经 `/content` 读原文并通过校验门后,才允许进入证据抽取(RULE 2 的机器化执行)。契约见 `docs/sciverse-api.md`,合规见 `references/retrieval-compliance.md`。
306
347
 
307
348
  ## Architecture
308
349
 
309
350
  仓库是一个完整的 **Skill 包**:`SKILL.md` 是入口,其余目录按"Skill 运行必需 → 质量保障 → 演示"分层。详见 [`docs/architecture.md`](docs/architecture.md):
310
351
 
352
+ 同一套架构的图解单页(九步协议 / 角色与独立性 / 产物状态地图 / 执行与审批闭环)见 [`web/architecture.html`](web/architecture.html)。
353
+
311
354
  ```text
312
355
  EduEvidence/ (= 一个 Skill 包)
313
356
 
@@ -316,7 +359,7 @@ EduEvidence/ (= 一个 Skill 包)
316
359
  ├─ Skill 本体(运行必需)
317
360
  │ ├─ skill/agents/ 8 个角色协议(Planner / Retriever / Analyst / Skeptic /
318
361
  │ │ Method Reviewer / Judge / Intervention Designer / Evaluation Designer)
319
- │ ├─ references/ 11 个教育方法论文档(证据质量 / 反证协议 / 裁决规则 / 干预设计…)
362
+ │ ├─ references/ 方法论文档(证据质量 / 反证协议 / 裁决规则 / 干预设计 / 检索合规 / 文案规范…;数量见 docs/metrics.json)
320
363
  │ ├─ schemas/ 33 个 JSON Schema 数据契约(13 顶层 + 17 v2 + 3 v3,每步输出的校验门)
321
364
  │ ├─ scripts/ 17 个确定性逻辑脚本(评分 / 矩阵 / 审计 / 置信度 / Orchestrator / 启动探测)
322
365
  │ ├─ retrieval/ 检索与抓取层(fetch / validate / dedupe / failures)
@@ -324,7 +367,7 @@ EduEvidence/ (= 一个 Skill 包)
324
367
  │ └─ visualization/ 结果呈现层(ECharts / 信息图 / 学术图 / 双语 HTML Composer)
325
368
 
326
369
  ├─ 质量保障
327
- │ ├─ tests/ pytest 测试矩阵(752 个测试函数,73 个文件,见 docs/metrics.json)
370
+ │ ├─ tests/ pytest 测试矩阵(测试函数与文件数见源码仓库的 docs/metrics.json)
328
371
  │ └─ benchmarks/ 30 题 + 30 份金标注 + B0–B4 评测框架
329
372
 
330
373
  └─ 演示与分发
@@ -359,38 +402,38 @@ Agent MCP 是**性能与可靠性增强层,不是 EduEvidence 成立的前提*
359
402
 
360
403
  > 🔒 Agent MCP 原则:**Scan first. Recommend second. Ask the user. Execute only after explicit confirmation.** 未经用户确认不得 spawn;用户拒绝则回退 Native。
361
404
 
362
- ![Controlled Multi-Agent Research](assets/multi-agent-research.jpg)
405
+ ![Controlled Multi-Agent Research](assets/readme/controlled-execution.svg)
363
406
 
364
407
  ## Usage
365
408
 
366
409
  ```bash
367
410
  # 1. 验证数据符合 Schema 契约
368
411
  python3 scripts/validate_schema.py --schema schemas/evidence.schema.json \
369
- --data examples/ai-coding-assistant/evidence.jsonl
412
+ --data examples/ai-coding-assistant-evidence/evidence.jsonl
370
413
 
371
414
  # 2. 计算证据质量分与 Confidence
372
- python3 scripts/evidence_score.py examples/ai-coding-assistant/evidence.jsonl
415
+ python3 scripts/evidence_score.py examples/ai-coding-assistant-evidence/evidence.jsonl
373
416
 
374
417
  # 3. 生成 Evidence Matrix(主产品界面之一)
375
- python3 scripts/evidence_matrix.py examples/ai-coding-assistant/evidence.jsonl
418
+ python3 scripts/evidence_matrix.py examples/ai-coding-assistant-evidence/evidence.jsonl
376
419
 
377
420
  # 4. 运行 Citation Audit(Claim-证据追溯)
378
421
  python3 scripts/claim_audit.py --claims claims.jsonl --evidence evidence.jsonl
379
422
 
380
423
  # 5. 渲染 Research & Decision Pack(Markdown)
381
424
  python3 scripts/render_report.py \
382
- --frame examples/ai-coding-assistant/frame.json \
383
- --evidence examples/ai-coding-assistant/evidence.jsonl \
384
- --methodology examples/ai-coding-assistant/methodology.json \
385
- --verdict examples/ai-coding-assistant/verdict.json \
386
- --intervention examples/ai-coding-assistant/intervention.json \
387
- --evaluation examples/ai-coding-assistant/evaluation.json \
425
+ --frame examples/ai-coding-assistant-evidence/frame.json \
426
+ --evidence examples/ai-coding-assistant-evidence/evidence.jsonl \
427
+ --methodology examples/ai-coding-assistant-evidence/methodology.json \
428
+ --verdict examples/ai-coding-assistant-evidence/verdict.json \
429
+ --intervention examples/ai-coding-assistant-evidence/intervention.json \
430
+ --evaluation examples/ai-coding-assistant-evidence/evaluation.json \
388
431
  --out REPORT.md
389
432
 
390
433
  # 6. 渲染单文件双语 HTML 报告(主产物)
391
434
  python3 visualization/eduevidence-report/scripts/build_report.py \
392
- --result examples/ai-coding-assistant/result.json \
393
- --out examples/ai-coding-assistant/EduEvidence_Report.html
435
+ --result examples/ai-coding-assistant-evidence/result.json \
436
+ --out examples/ai-coding-assistant-evidence/EduEvidence_Report.html
394
437
 
395
438
  # 7. 校验 Benchmark 题目集
396
439
  python3 scripts/benchmark.py --questions benchmarks/questions.jsonl