eduevidence 6.0.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 (189) hide show
  1. package/CONTRIBUTING.md +105 -0
  2. package/README.md +93 -38
  3. package/README.zh-CN.md +26 -6
  4. package/SKILL.md +11 -2
  5. package/assets/readme/landing-tour.gif +0 -0
  6. package/assets/readme/studio-tour.gif +0 -0
  7. package/bin/eduevidence.js +2 -1
  8. package/docs/architecture.md +319 -43
  9. package/docs/demo-workplace-ai.md +1 -1
  10. package/docs/install-guide.md +1 -1
  11. package/docs/orchestration-role-model.md +1 -1
  12. package/docs/release-closeout/README.md +1 -1
  13. package/docs/sciverse-api.md +125 -0
  14. package/eduevidence_cli.py +10 -0
  15. package/engine/decision_policy.py +96 -0
  16. package/engine/evidence_graph.py +14 -10
  17. package/engine/gaps.py +42 -22
  18. package/engine/ids.py +2 -0
  19. package/engine/library.py +6 -2
  20. package/engine/living.py +34 -4
  21. package/engine/migration.py +88 -3
  22. package/engine/orchestration.py +5 -5
  23. package/engine/paths.py +2 -0
  24. package/engine/pilot.py +34 -32
  25. package/engine/taxonomy.py +211 -0
  26. package/engine/tribunal.py +43 -31
  27. package/engine/versions.py +1 -1
  28. package/examples/ai-coding-assistant-evidence/EduEvidence_Report.html +1360 -146
  29. package/examples/ai-coding-assistant-evidence/artifact_manifest.json +3 -3
  30. package/examples/ai-coding-assistant-evidence/citation_check.json +1 -1
  31. package/examples/ai-coding-assistant-evidence/final_verdict.json +107 -0
  32. package/examples/ai-coding-assistant-evidence/gate_report.json +101 -0
  33. package/examples/ai-coding-assistant-evidence/report_spec.json +23 -12
  34. package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_academic.html +447 -127
  35. package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_claude.html +447 -127
  36. package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_datalab-dark.html +447 -127
  37. package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_datalab.html +447 -127
  38. package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_presentation.html +447 -127
  39. package/examples/ai-coding-assistant-evidence/reports-5themes/report_academic.html +1360 -146
  40. package/examples/ai-coding-assistant-evidence/reports-5themes/report_claude.html +1360 -146
  41. package/examples/ai-coding-assistant-evidence/reports-5themes/report_datalab-dark.html +1360 -146
  42. package/examples/ai-coding-assistant-evidence/reports-5themes/report_datalab.html +1360 -146
  43. package/examples/ai-coding-assistant-evidence/reports-5themes/report_presentation.html +1360 -146
  44. package/examples/ai-coding-assistant-evidence/result.json +13 -9
  45. package/examples/ai-coding-assistant-evidence/result.zh.json +45 -41
  46. package/examples/ai-coding-assistant-evidence/skeptic.json +72 -0
  47. package/examples/ai-coding-assistant-evidence/verdict.json +6 -2
  48. package/examples/spaced-retrieval-practice/applicability.json +14 -0
  49. package/examples/spaced-retrieval-practice/artifact_manifest.json +15 -0
  50. package/examples/spaced-retrieval-practice/claims.jsonl +3 -0
  51. package/examples/spaced-retrieval-practice/evidence.jsonl +6 -0
  52. package/examples/spaced-retrieval-practice/final_verdict.json +93 -0
  53. package/examples/spaced-retrieval-practice/frame.json +58 -0
  54. package/examples/spaced-retrieval-practice/gate_report.json +101 -0
  55. package/examples/spaced-retrieval-practice/methodology.json +78 -0
  56. package/examples/spaced-retrieval-practice/report_spec.json +212 -0
  57. package/examples/spaced-retrieval-practice/reports-5themes/EduEvidence_Report_academic.html +2728 -0
  58. package/examples/spaced-retrieval-practice/reports-5themes/EduEvidence_Report_claude.html +2728 -0
  59. package/examples/spaced-retrieval-practice/reports-5themes/EduEvidence_Report_datalab-dark.html +2728 -0
  60. package/examples/spaced-retrieval-practice/reports-5themes/EduEvidence_Report_datalab.html +2728 -0
  61. package/examples/spaced-retrieval-practice/reports-5themes/EduEvidence_Report_presentation.html +2728 -0
  62. package/examples/spaced-retrieval-practice/reports-5themes/report_academic.html +2728 -0
  63. package/examples/spaced-retrieval-practice/reports-5themes/report_claude.html +2728 -0
  64. package/examples/spaced-retrieval-practice/reports-5themes/report_datalab-dark.html +2728 -0
  65. package/examples/spaced-retrieval-practice/reports-5themes/report_datalab.html +2728 -0
  66. package/examples/spaced-retrieval-practice/reports-5themes/report_presentation.html +2728 -0
  67. package/examples/spaced-retrieval-practice/result.json +942 -0
  68. package/examples/spaced-retrieval-practice/result.zh.json +942 -0
  69. package/examples/spaced-retrieval-practice/skeptic.json +70 -0
  70. package/examples/spaced-retrieval-practice/sources.jsonl +7 -0
  71. package/examples/spaced-retrieval-practice/verdict.json +93 -0
  72. package/examples/workplace-ai-assistant/artifact_manifest.json +15 -0
  73. package/examples/workplace-ai-assistant/claims.jsonl +4 -4
  74. package/examples/workplace-ai-assistant/evidence.jsonl +4 -4
  75. package/examples/workplace-ai-assistant/evidence_graph.json +15 -15
  76. package/examples/workplace-ai-assistant/final_verdict.json +78 -0
  77. package/examples/workplace-ai-assistant/gate_report.json +101 -0
  78. package/examples/workplace-ai-assistant/report_spec.json +209 -40
  79. package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_academic.html +435 -105
  80. package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_claude.html +435 -105
  81. package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_datalab-dark.html +435 -105
  82. package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_datalab.html +435 -105
  83. package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_presentation.html +435 -105
  84. package/examples/workplace-ai-assistant/reports-5themes/report_academic.html +2814 -0
  85. package/examples/workplace-ai-assistant/reports-5themes/report_claude.html +2814 -0
  86. package/examples/workplace-ai-assistant/reports-5themes/report_datalab-dark.html +2814 -0
  87. package/examples/workplace-ai-assistant/reports-5themes/report_datalab.html +2814 -0
  88. package/examples/workplace-ai-assistant/reports-5themes/report_presentation.html +2814 -0
  89. package/examples/workplace-ai-assistant/result.json +82 -20
  90. package/examples/workplace-ai-assistant/result.zh.json +82 -20
  91. package/examples/workplace-ai-assistant/skeptic.json +72 -0
  92. package/examples/workplace-ai-assistant/verdict.json +36 -10
  93. package/integrations/agent_mcp.py +2 -2
  94. package/package.json +12 -3
  95. package/pyproject.toml +4 -3
  96. package/references/report-copy-style.md +67 -0
  97. package/references/retrieval-compliance.md +75 -0
  98. package/references/retrieval-protocol.md +20 -0
  99. package/retrieval/audit.py +27 -3
  100. package/retrieval/fetch.py +96 -0
  101. package/retrieval/sciverse.py +398 -0
  102. package/retrieval/search.py +47 -7
  103. package/schemas/applicability.schema.json +94 -0
  104. package/schemas/chart-spec.schema.json +10 -3
  105. package/schemas/evidence.schema.json +316 -43
  106. package/schemas/fetch-result.schema.json +2 -1
  107. package/schemas/report-result.schema.json +3 -3
  108. package/schemas/report-spec.schema.json +98 -100
  109. package/schemas/skeptic.schema.json +86 -0
  110. package/schemas/source.schema.json +21 -2
  111. package/schemas/v2/finding.schema.json +5 -1
  112. package/schemas/v2/methodology-audit.schema.json +5 -1
  113. package/schemas/v2/outcome.schema.json +28 -5
  114. package/schemas/v2/study.schema.json +5 -1
  115. package/schemas/vNext/autoevolve-session.schema.json +34 -1
  116. package/schemas/vNext/eval-snapshot.schema.json +77 -1
  117. package/schemas/vNext/execution-plan.schema.json +50 -1
  118. package/schemas/vNext/gap-priority.schema.json +54 -1
  119. package/schemas/vNext/negative-search-record.schema.json +68 -1
  120. package/schemas/vNext/research-iteration.schema.json +87 -1
  121. package/schemas/vNext/research-strategy.schema.json +62 -1
  122. package/schemas/vNext/skill-experiment.schema.json +90 -1
  123. package/schemas/vNext/task-spec.schema.json +156 -1
  124. package/schemas/vNext/worker-result.schema.json +60 -1
  125. package/schemas/verdict.schema.json +164 -28
  126. package/scripts/build_esl_artifacts.py +2 -2
  127. package/scripts/build_report_variants.py +18 -2
  128. package/scripts/build_result.py +74 -9
  129. package/scripts/check_package_parity.py +85 -0
  130. package/scripts/check_protocol_alignment.py +375 -0
  131. package/scripts/check_versioned_schemas.py +254 -0
  132. package/scripts/claim_audit.py +13 -8
  133. package/scripts/compute_confidence.py +10 -0
  134. package/scripts/did_regression.py +12 -2
  135. package/scripts/evidence_score.py +5 -2
  136. package/scripts/generate_new_projects.py +4 -4
  137. package/scripts/orchestrator.py +120 -24
  138. package/scripts/pre_verdict_gate.py +224 -26
  139. package/scripts/quickstart.py +18 -2
  140. package/scripts/run_workspace.py +7 -1
  141. package/scripts/skill_payload.py +4 -1
  142. package/scripts/test_adversarial_empirical.py +26 -19
  143. package/scripts/validate_schema.py +31 -1
  144. package/skill/agents/evaluation-designer.md +20 -4
  145. package/skill/agents/evidence-analyst.md +19 -3
  146. package/skill/agents/evidence-judge.md +50 -2
  147. package/skill/agents/evidence-retriever.md +20 -3
  148. package/skill/agents/intervention-designer.md +20 -4
  149. package/skill/agents/method-reviewer.md +18 -2
  150. package/skill/agents/{education-planner.md → research-planner.md} +19 -3
  151. package/skill/agents/skeptic.md +18 -2
  152. package/skill/roles/registry.yaml +11 -11
  153. package/skill/sub-skills/aihot-trend-analysis/SKILL.md +28 -9
  154. package/skill/sub-skills/contradiction-analysis/SKILL.md +31 -11
  155. package/skill/sub-skills/data-analysis/SKILL.md +34 -15
  156. package/skill/sub-skills/ethics-review/SKILL.md +33 -10
  157. package/skill/sub-skills/evidence-extraction/SKILL.md +29 -11
  158. package/skill/sub-skills/evidence-review/SKILL.md +31 -12
  159. package/skill/sub-skills/gap-analysis/SKILL.md +31 -9
  160. package/skill/sub-skills/literature-review/SKILL.md +35 -14
  161. package/skill/sub-skills/methodology-audit/SKILL.md +29 -12
  162. package/skill/sub-skills/report-generation/SKILL.md +28 -0
  163. package/skill/sub-skills/research-planning/SKILL.md +41 -14
  164. package/skill/sub-skills/study-design/SKILL.md +30 -9
  165. package/skill/task-briefs/adjudicate.md +32 -7
  166. package/skill/task-briefs/applicability.md +37 -2
  167. package/skill/task-briefs/audit.md +32 -7
  168. package/skill/task-briefs/challenge.md +34 -5
  169. package/skill/task-briefs/evaluate.md +30 -5
  170. package/skill/task-briefs/extract.md +31 -8
  171. package/skill/task-briefs/frame.md +39 -10
  172. package/skill/task-briefs/intervene.md +32 -6
  173. package/skill/task-briefs/present.md +32 -8
  174. package/skill/task-briefs/projection.md +36 -2
  175. package/skill/task-briefs/retrieve.md +36 -6
  176. package/skill/workflows/decision-and-pilot.md +76 -1
  177. package/skill/workflows/evaluate-and-update.md +83 -0
  178. package/skill/workflows/evidence-review.md +104 -0
  179. package/visualization/eduevidence-report/scripts/build_figures.py +25 -3
  180. package/visualization/eduevidence-report/scripts/build_infographics.py +5 -1
  181. package/visualization/eduevidence-report/scripts/build_report.py +512 -65
  182. package/visualization/eduevidence-report/scripts/charts_data.py +2 -0
  183. package/visualization/eduevidence-report/scripts/lieflat_engine.py +349 -38
  184. package/visualization/eduevidence-report/scripts/zh_labels.py +80 -1
  185. package/web/architecture.html +14885 -0
  186. package/web/studio/assets/index-B8tkF44Q.css +1 -0
  187. package/web/studio/index.html +2 -2
  188. package/web/studio/assets/index-CzXocaGv.css +0 -1
  189. /package/web/studio/assets/{index-pa7jD7n4.js → index-CQ6Keoyc.js} +0 -0
@@ -0,0 +1,105 @@
1
+ # Contributing to EduEvidence
2
+
3
+ EduEvidence 是一个**证据驱动的决策引擎**:它的产出要能被第三方复核。因此本仓库的贡献规则有一条主线——**契约先行**。每个科学概念都在多处声明(协议、能力、角色、简报、子技能、分包),任何一处漂移都会让结论失去可追溯性。
4
+
5
+ ## 1. 环境准备
6
+
7
+ ```bash
8
+ git clone https://github.com/37chengshan/eduevidence.git
9
+ cd eduevidence
10
+ bash install.sh # venv + 依赖 + 自检 + 测试
11
+ # 或最小安装
12
+ python3 -m venv .venv && .venv/bin/pip install -e '.[dev]'
13
+ ```
14
+
15
+ 要求 Python ≥ 3.10;内核(`engine/`、`retrieval/`)零第三方依赖,测试需要 `pytest`。Node 只在构建 Research Studio 前端时需要。
16
+
17
+ ## 2. 提交前必须跑的门
18
+
19
+ ```bash
20
+ python scripts/check_version_consistency.py # 版本口径单一权威
21
+ python scripts/generate_metrics.py --check # 文档数字与仓库一致
22
+ python scripts/skill_lint.py # Skill 结构完整
23
+ python scripts/check_protocol_alignment.py # 协议五方对齐
24
+ ruff check --select E9,F63,F7,F82 .
25
+ python -m pytest -q
26
+ ```
27
+
28
+ CI(`.github/workflows/ci.yml`)会重复执行上述门,外加 wheel 隔离安装冒烟、schema-smoke 与提交包构建。本地全绿是提交的最低门槛。
29
+
30
+ ## 3. 科学不变量(不可协商)
31
+
32
+ - **任务表现 ≠ 学习效果**:任何把任务完成度当作学习收益的写法都会被门拒绝。
33
+ - **snippet ≠ 证据**:检索片段与摘要只是发现线索,只有抓取并通过校验门的正文可以抽取。
34
+ - **缺证据 ≠ 零效应**:证据不足时输出 `INSUFFICIENT EVIDENCE`,不得换算成"无效"。
35
+ - **无证据奠基不得设计新研究**:研究设计必须引用显式的 KnowledgeGap ID。
36
+ - **证据 append-only**:修订产生新 revision 与新 decision snapshot,绝不覆盖历史。
37
+ - **写入者唯一**:图修订只能由规范写入者提交,worker 不得直接写图。
38
+
39
+ 详见 `references/scientific-invariants.md`,由 `scripts/check_autoresearch_invariants.py` 强制。
40
+
41
+ ## 4. 如何新增一项能力(capability)
42
+
43
+ 能力是"协议能做什么"的最小单元,它与模型、CLI、Agent 数量无关。新增一项能力需要同时落地四处,缺一不可:
44
+
45
+ 1. `engine/capabilities.py`:用 `_register(...)` 注册 `capability_id`、输入/输出契约、是否可确定性本地执行,以及(如有)科学门。
46
+ 2. `skill/roles/registry.yaml`:把能力分配给承担它的角色(`capabilities:` 列表)。
47
+ 3. `skill/agents/<role>.md`:在 frontmatter 的 `capabilities` 中同步,并在正文写清产出契约。
48
+ 4. `skill/sub-skills/<name>/SKILL.md`:frontmatter 写 `capability:`,正文按 recipe 模板给出 Inputs / Process / Output Contract / Quality Gates / Anti-Patterns。
49
+
50
+ 跑 `python scripts/check_protocol_alignment.py` 验证五方一致。
51
+
52
+ ## 5. 如何新增一个子技能(sub-skill)
53
+
54
+ 子技能是内部能力配方,不是新的用户入口。模板:
55
+
56
+ ```markdown
57
+ ---
58
+ name: <dir-name> # 必须与目录名一致
59
+ description: "..."
60
+ capability: <capability_id> # 映射到 engine/capabilities.py
61
+ ---
62
+
63
+ # <Title>
64
+ ## When to Use
65
+ ## Inputs
66
+ ## Process
67
+ ## Output Contract
68
+ ## Quality Gates
69
+ ## Anti-Patterns
70
+ ## Worked Example
71
+ ## References
72
+ ```
73
+
74
+ ## 6. 如何新增一个角色(role)
75
+
76
+ 角色是责任单元,不是运行时 Agent。新增角色需要:`skill/roles/registry.yaml`(stage / capability / critical_path)、`skill/agents/<role>.md`(frontmatter 用 `role_id` / `capabilities` / `output_contracts` / `recommended_reasoning`,**不得写死模型或 CLI 名**)、`integrations/agent_mcp.py` 的 `ROLE_REQUIREMENTS`(只写能力等级)。
77
+
78
+ 需要独立性的角色显式声明:`independence_required: different-model-family`(如 skeptic)或 `role-separation`(如 method-reviewer)。
79
+
80
+ ## 7. 如何新增一个检索通道
81
+
82
+ 1. 在 `retrieval/` 下实现 provider(stdlib-only、超时、定型错误,不抛异常到管道)。
83
+ 2. 零配置通道进 `zero_config_academic` / `zero_config_web`;需 key 的学术通道进 `academic_key_providers`,并实现 `is_available()`。
84
+ 3. 命中结果统一为 `SearchHit`;沿用 `doc_id` / `chunk_id` / `offset` 表达定位(如适用)。
85
+ 4. 在 `docs/` 记录端点契约,在 `references/retrieval-compliance.md` 补齐配额与限制,在 `tests/` 用 mock HTTP 覆盖成功与各类失败。
86
+
87
+ ## 8. 证据纪律与文档
88
+
89
+ - 示例与演示必须如实标注 `data_origin`(manual_curated / synthetic / hybrid);不得把手工整理文献说成模型运行结果。
90
+ - 数字口径以 `docs/metrics.json` 为准,文档中不硬编码会漂移的计数。
91
+ - 内部文档用中文,`SKILL.md` 保持英文;协议语义(九步、四态、Projection 边界)不因文档改写而改变。
92
+
93
+ ## 9. PR 检查表
94
+
95
+ - [ ] 五个门本地全绿(版本 / 指标 / skill_lint / 协议对齐 / 测试)。
96
+ - [ ] 新增或改动的契约在五方(协议 / 能力 / 角色 / 简报 / 子技能)一致。
97
+ - [ ] 未引入硬编码的模型名、CLI 名或密钥。
98
+ - [ ] 科学不变量未被弱化;如有例外,在 PR 说明中显式论证。
99
+ - [ ] 文档、CHANGELOG、`docs/plans/STATUS.md` 同步更新。
100
+ - [ ] 未提交本地运行状态、私有数据或凭据。
101
+
102
+ ## 10. 行为准则
103
+
104
+ 讨论以证据为准:提出结论时给出可核验来源;被反驳时更新结论而不是更新措辞。对他人贡献的评审聚焦"证据是否支撑结论",不针对作者。
105
+
package/README.md CHANGED
@@ -8,15 +8,28 @@
8
8
 
9
9
  ## EduEvidence Research Engine — Evidence Research & Decision Skill
10
10
 
11
- > **From Research Questions to Evidence-Based Decisions.**
11
+ > **From Research Questions to Evidence-Based Decisions.** · Current release **6.2.0**
12
+
13
+ > **▶ Live demo:** [Landing](https://37chengshan.github.io/eduevidence/) · [Research Studio](https://37chengshan.github.io/eduevidence/studio/) · [Deep Research comparison](https://37chengshan.github.io/eduevidence/comparison.html)
12
14
 
13
15
  EduEvidence is delivered as an **AI Agent Skill**; inside the Skill operates
14
16
  the **EduEvidence Research Engine** — a persistent, auditable engine that
15
- turns research questions into evidence-grounded decisions across education and organizational policy.
17
+ turns a decision question into an evidence-grounded answer. It is **multi-domain**:
18
+ the domain registry (`domains/manifest.json`) ships **education** and **policy**
19
+ today, each declaring its own frame schema, outcome taxonomy and methodology
20
+ checklist, so one nine-stage protocol serves education and applied social science
21
+ work without forking the engine.
16
22
 
17
23
  - **Three public workflows** — **Evidence Review**, **Decision & Pilot**, and
18
24
  **Evaluate & Update**. A full research cycle connects existing evidence,
19
25
  grounded knowledge gaps, a study design, new data and a revised decision.
26
+ - **Multi-domain by contract** — `education` and `policy` are registered domains;
27
+ a run validates against its own domain's frame schema and outcome taxonomy
28
+ (`engine/taxonomy.py` is the single authority; unknown tokens fail closed).
29
+ - **Retrieval that stays traceable** — zero-config channels (OpenAlex / Semantic
30
+ Scholar / CrossRef / AIHot / AgentSearch / DuckDuckGo) plus key-based channels:
31
+ **Sciverse** (citation-grade academic retrieval with full-text locators),
32
+ Tavily and Brave. A lookup snippet is a locator, never evidence.
20
33
  - **Project Workspace + Evidence Graph** — long-lived Projects with versioned,
21
34
  immutable graph revisions; `result.json`/HTML/Markdown are projections, not
22
35
  fact stores.
@@ -32,13 +45,31 @@ turns research questions into evidence-grounded decisions across education and o
32
45
  server/app; Native Core runs on Python stdlib only and never requires
33
46
  Agent MCP or a daemon.
34
47
 
35
- ![Actual Research Studio overview: workplace AI evidence](assets/readme/studio-overview.png)
48
+ ![Research Studio walkthrough: overview, report library, and the five report identities](assets/readme/studio-tour.gif)
49
+
50
+ *Recorded from the actual local Studio — no mockups: overview → report library → five report identities. Below, the introduction page walkthrough:*
36
51
 
37
- *Actual local Studio screenshot. This case is manually curated literature, with no attached research execution history.*
52
+ ![Introduction page walkthrough: hero, nine-step protocol, five report systems](assets/readme/landing-tour.gif)
38
53
 
39
54
  ---
40
55
 
41
- ## Quick Install
56
+ ## Quick Start
57
+
58
+ **Fastest path — read a finished report (no install):**
59
+
60
+ ```bash
61
+ open examples/ai-coding-assistant-evidence/EduEvidence_Report.html
62
+ open examples/spaced-retrieval-practice/EduEvidence_Report.html # real Sciverse run
63
+ ```
64
+
65
+ **Look at the console (Python 3.10+, Node not required):**
66
+
67
+ ```bash
68
+ python3 scripts/dashboard_server.py --host 127.0.0.1 --port 8765
69
+ # browser: http://127.0.0.1:8765/studio/ (read-only research console)
70
+ ```
71
+
72
+ **Install it:**
42
73
 
43
74
  **npm (recommended for Skill install)**
44
75
 
@@ -135,7 +166,7 @@ runnable + sample report renderable).
135
166
 
136
167
  ## What Problem We Solve
137
168
 
138
- A typical AI answers an education question like this:
169
+ A typical AI answers a decision question like this:
139
170
 
140
171
  ```text
141
172
  Question → Search a few sources → Summarize opinions → Give advice
@@ -144,15 +175,15 @@ Question → Search a few sources → Summarize opinions → Give advice
144
175
  EduEvidence does this instead:
145
176
 
146
177
  ```text
147
- Education question
148
- Education Research Framing (learner / intervention / comparison / outcomes / context)
178
+ Decision question (education or applied social science)
179
+ Domain Research Framing (learner or decision object / intervention / comparison / outcomes / context)
149
180
  → Literature & evidence retrieval (supporting evidence + independent counter-evidence)
150
181
  → Claim-Level Evidence Extraction
151
182
  → Skeptic challenge protocol + Method Reviewer audit
152
183
  → Evidence Tribunal
153
184
  → Applicability Analysis
154
185
  → Decision: ADOPT / PILOT / REJECT / INSUFFICIENT EVIDENCE
155
- Teaching Intervention (minimum viable pilot)
186
+ → Intervention (minimum viable pilot)
156
187
  → Evaluation Plan
157
188
  ```
158
189
 
@@ -161,43 +192,44 @@ It answers six questions:
161
192
  1. What does the current evidence actually support?
162
193
  2. What can the current evidence not support?
163
194
  3. Why do different studies reach different results?
164
- 4. Which students, which courses, under which conditions does it apply to?
165
- 5. If an institution adopts it, how to roll it out with low risk?
195
+ 4. Which population, in which setting, under which conditions does it apply to?
196
+ 5. If an institution adopts it, how should it be rolled out with low risk?
166
197
  6. How to verify whether it actually works after implementation?
167
198
 
168
- ## 30-second Demo
199
+ ## 30-second tour
169
200
 
170
- > Main demo: **Should first-year C programming students be allowed to use generative AI coding assistants?**
201
+ > Flagship question: **Should first-year C programming students be allowed to use generative AI coding assistants?**
171
202
 
172
203
  | Time | Stage |
173
204
  |---|---|
174
- | 0–20s | Ask the education question |
175
- | 20–45s | Education Research Frame |
205
+ | 0–20s | Ask the decision question |
206
+ | 20–45s | Research Frame (domain-specific schema) |
176
207
  | 45–75s | Evidence Retrieval |
177
208
  | 75–110s | Evidence Matrix |
178
209
  | 110–135s | Methodology + Skeptic |
179
210
  | 135–155s | Evidence Tribunal |
180
- | 155–170s | Teaching Intervention + Evaluation |
211
+ | 155–170s | Intervention + Evaluation |
181
212
  | 170–180s | Benchmark |
182
213
 
183
214
  Full example pack: [`examples/ai-coding-assistant-evidence/`](examples/ai-coding-assistant-evidence/).
184
215
 
185
- ## Why Education Evidence Is Hard
216
+ ## Why Evidence Decisions Are Hard
186
217
 
187
- Education evidence has natural pitfalls. EduEvidence's core contribution is standardizing the countermeasures:
218
+ Evidence across education and applied social science shares the same natural pitfalls. EduEvidence's core contribution is standardizing the countermeasures:
188
219
 
189
220
  - **Outcome Separation**: `faster task completion ≠ actually learning to program`; `short-term score gains ≠ long-term retention`; `completing tasks with AI ≠ transferring skills without AI`.
190
221
  - **Counter-Evidence Search**: it does not just verify the user's initial assumption — it independently searches for null / negative / contradictory evidence, AI dependency, novelty effects, self-selection bias, and more.
191
222
  - **Evidence Tribunal**: instead of listing pros and cons, it judges which studies are more credible, whether conflicts come from samples / measurement / course / tool / design, and what can be concluded so far.
192
- - **Evidence-to-Action Bridge**: it does not stop at "research shows…" — it connects to applicability, the teaching decision, pilot intervention, and evaluation design.
223
+ - **Evidence-to-Action Bridge**: it does not stop at "research shows…" — it connects to applicability, the decision, pilot intervention, and evaluation design.
193
224
 
194
225
  ## How EduEvidence Works
195
226
 
196
227
  ```text
197
228
  ┌─────────────────────────────────────┐
198
229
  │ EduEvidence │
199
- education knowledge + decision +
200
- intervention + evaluation
230
+ domain contracts (education /
231
+ policy) + decision + intervention
232
+ │ + evaluation │
201
233
  └────────────────┬────────────────────┘
202
234
 
203
235
  ┌────────────────▼────────────────────┐
@@ -215,22 +247,24 @@ Education evidence has natural pitfalls. EduEvidence's core contribution is stan
215
247
  The 9-step workflow:
216
248
 
217
249
  ```text
218
- 1. Frame Build the EducationResearchFrame
250
+ 1. Frame Build the domain frame (education frame / policy frame)
219
251
  2. Retrieve Retrieve literature & evidence (support + independent counter-evidence)
220
252
  3. Extract Extract claim-level evidence (bound to outcomes)
221
253
  4. Challenge Skeptic protocol (fixed 9 checks)
222
254
  5. Audit Method Reviewer audit (15-item checklist)
223
255
  6. Adjudicate Evidence Tribunal (Evidence Matrix + Verdict)
224
256
  7. Applicability Applicability analysis
225
- 8. Intervene Teaching Intervention design (minimum viable pilot)
257
+ 8. Intervene Intervention design (minimum viable pilot)
226
258
  9. Evaluate Evaluation Plan design
227
259
  ```
228
260
 
229
- Every step is validated against JSON Schemas (`schemas/`), deterministic logic lives in `scripts/`, and the education methodology is documented independently in `references/`.
261
+ Every step is validated against JSON Schemas (`schemas/`), deterministic logic lives in `scripts/`, and the methodology is documented independently in `references/` (21 documents: evidence quality, skeptic protocol, tribunal policy, WWC/GRADE standards, social-science pitfalls, retrieval protocol, report copy style …; counts in `docs/metrics.json`).
230
262
 
231
263
  ## Outcome Separation
232
264
 
233
- EduEvidence enforces 20 outcome types (`references/outcome-taxonomy.md`):
265
+ Outcome tokens are domain-owned. The education taxonomy declares **20 tokens** in four categories (`domains/education/outcome_taxonomy.json`); the policy domain declares its own categories and tokens (`domains/policy/outcome_taxonomy.json`). `engine/taxonomy.py` is the only reader: an unknown token or unregistered domain **fails closed** instead of being silently classified as a learning outcome.
266
+
267
+ The education set (`references/outcome-taxonomy.md`):
234
268
 
235
269
  ```text
236
270
  Learning: Knowledge Gain / Concept Understanding / Retention / Transfer / Independent Problem Solving
@@ -239,11 +273,11 @@ Process: Engagement / Motivation / Cognitive Load / Help-Seeking / Metacogni
239
273
  Risk: AI Dependency / Over-reliance / Reduced Effort / Reduced Transfer / Academic Integrity Risk / False Confidence
240
274
  ```
241
275
 
242
- The demo's highlight: in Kazemitabaar et al. (CHI 2023), the AI code assistant raised task completion by 1.15× and correctness by 1.8×, but the one-week retention test showed no significant difference — **task performance ≠ learning**.
276
+ The flagship demo's highlight: in Kazemitabaar et al. (CHI 2023), the AI code assistant raised task completion by 1.15× and correctness by 1.8×, but the one-week retention test showed no significant difference — **task performance ≠ learning**.
243
277
 
244
278
  ## Evidence Tribunal
245
279
 
246
- `references/tribunal-policy.md` defines the adjudication rules: input = Frame + Evidence Matrix + Skeptic Findings + Method Reviews; output = EducationVerdict (`schemas/verdict.schema.json`), including:
280
+ `references/tribunal-policy.md` defines the adjudication rules: input = Frame + Evidence Matrix + Skeptic Findings + Method Reviews; output = the domain Verdict (`schemas/verdict.schema.json`), including:
247
281
 
248
282
  - supported / uncertain / contradicted claims
249
283
  - conflict-source analysis (sample / measurement / course / tool / design)
@@ -254,10 +288,10 @@ The demo's highlight: in Kazemitabaar et al. (CHI 2023), the AI code assistant r
254
288
 
255
289
  ## From Evidence to Action
256
290
 
257
- Evidence must connect to the real classroom (`references/applicability-policy.md`, `intervention-design.md`, `evaluation-design.md`):
291
+ Evidence must connect to the real setting — a classroom, a support team, a policy roll-out (`references/applicability-policy.md`, `intervention-design.md`, `evaluation-design.md`):
258
292
 
259
- - **Applicability**: For whom? For which course? For which outcome? Under what conditions? With what AI usage policy?
260
- - **Intervention**: always a "minimum viable pilot", never direct full deployment; includes AI usage rules, teacher/student roles, reflection requirements, and stop conditions.
293
+ - **Applicability**: For whom? In which setting? For which outcome? Under what conditions? With what AI usage policy?
294
+ - **Intervention**: always a "minimum viable pilot", never direct full deployment; includes AI usage rules, staff/user roles, reflection requirements, and stop conditions.
261
295
  - **Evaluation**: every PILOT/ADOPT recommendation must come with an evaluation plan; distinguishes baseline / post-test / retention / transfer, and task-performance vs learning metrics.
262
296
 
263
297
  ## Benchmark
@@ -291,14 +325,16 @@ Key metrics: Citation Support Precision / Unsupported Claim Rate / Contradiction
291
325
 
292
326
  A second public example, `examples/workplace-ai-assistant/`, evaluates AI assistance in enterprise customer support using the policy domain: 4 findings from 3 studies, with direct and indirect evidence distinguished. Its proposed supervised pilot has not been executed.
293
327
 
294
- Both public examples are **manually curated literature demonstrations** (`manual_curated`). A generated report does not establish that an agent completed the nine-stage research workflow. The coding case contains 12 findings from 8 sources; the workplace case contains 4 findings from 3 sources. See [the workplace evidence notes](docs/demo-workplace-ai.md) for source versions and limitations.
328
+ The third public example, `examples/spaced-retrieval-practice/`, asks whether spaced repetition and retrieval practice should replace massed review in an introductory programming course. It is the first pack whose sources were located through the **Sciverse** channel (`discovery_provider=sciverse`, `fetch_provider=sciverse_content`) and whose `meta.data_origin` is `real_run_sciverse`: 6 findings from 7 tier-1 DOI sources, decision **ADOPT** (High confidence). It is the worked example that the ADOPT path is reachable: retention and transfer - the two primary outcomes - carry direct, consistent evidence at directness 2, while the coding and workplace cases stay bounded at PILOT because their primary learning evidence is missing.
329
+
330
+ Each pack ships `result.json` + `result.zh.json` (bilingual parallel data), a packaged-`EduEvidence_Report.html` root report, and `reports-5themes/` with the five standalone theme HTML files.
295
331
 
296
- Four older teaching demos have moved to `tests/fixtures/legacy-examples/` for compatibility tests. They are excluded from public catalogs and distribution; their unverified or synthetic findings must not be cited as research evidence. The old `ai-coding-assistant` path remains a compatibility alias.
332
+ All three public examples are literature demonstrations, and their `data_origin` says exactly what produced them. The coding and workplace cases are **manually curated** (`manual_curated`); the spaced-retrieval case is a recorded **Sciverse-backed run** (`real_run_sciverse`). A rendered report never establishes that an agent completed the whole nine-stage research workflow. See [the workplace evidence notes](docs/demo-workplace-ai.md) for source versions and limitations, and [`docs/reproducibility.md`](docs/reproducibility.md) for how `data_origin` is declared.
297
333
 
298
334
  ### Start your own research in ~30 minutes
299
335
 
300
336
  ```bash
301
- python3 scripts/quickstart.py "你的教育研究问题" # creates runs/<id> + NEXT_STEPS.md
337
+ python3 scripts/quickstart.py "你的研究问题" # creates runs/<id> + NEXT_STEPS.md
302
338
  # hand the LLM stages to your AI agent per NEXT_STEPS.md, then finish with:
303
339
  python3 scripts/orchestrator.py adjudicate --project runs/<id>
304
340
  bash scripts/bake_pack.sh <pack_dir> # 5-theme bilingual report
@@ -321,10 +357,10 @@ After research completes, `result.json` is rendered into three visualization out
321
357
 
322
358
  ```text
323
359
  result.json + result.zh.json (Chinese parallel data)
324
- ├─ build_charts.py → chart_specs.json (ECharts option data; no ECharts runtime bundled)
325
- ├─ build_infographics.py → infographics.json (hand-authored SVGs)
326
- ├─ build_figures.py → figures/ (publication figures: figure_data.json + SVG/PNG/PDF)
327
- └─ build_report.py → EduEvidence_Report.html (single-file bilingual report + report_spec.json)
360
+ ├─ visualization/eduevidence-report/scripts/build_charts.py → chart_specs.json (ECharts option data; no ECharts runtime bundled)
361
+ ├─ visualization/eduevidence-report/scripts/build_infographics.py → infographics.json (hand-authored SVGs)
362
+ ├─ visualization/eduevidence-report/scripts/build_figures.py → figures/ (publication figures: figure_data.json + SVG/PNG/PDF)
363
+ └─ visualization/eduevidence-report/scripts/build_report.py → EduEvidence_Report.html (single-file bilingual report + report_spec.json)
328
364
  ```
329
365
 
330
366
  **EduEvidence_Report.html (main deliverable)**:
@@ -344,10 +380,25 @@ See [Research Studio workflow and delivery guide](docs/research-studio-guide.zh-
344
380
 
345
381
  > Open the example directly: `examples/ai-coding-assistant-evidence/EduEvidence_Report.html`
346
382
 
383
+
384
+ ### Optional key-based retrieval channels
385
+
386
+ Zero-config retrieval (OpenAlex / Semantic Scholar / CrossRef / AIHot / AgentSearch) works out of the box. These channels activate once a key is present and stay silently inactive otherwise — the scientific gates never depend on them:
387
+
388
+ ```bash
389
+ export SCIVERSE_API_TOKEN=sv-... # citation-grade academic retrieval + full-text location
390
+ export TAVILY_API_KEY=... # general web search
391
+ export BRAVE_API_KEY=... # general web search
392
+ ```
393
+
394
+ The Sciverse channel treats an `/agentic-search` chunk as a **locator**: it must be expanded through `/content` and pass the validation gate before it may enter evidence extraction (RULE 2, machine-enforced). Contract: `docs/sciverse-api.md`; compliance: `references/retrieval-compliance.md`.
395
+
347
396
  ## Architecture
348
397
 
349
398
  The repository is a complete **Skill package**: `SKILL.md` is the entry point; everything else is layered as *skill core → quality assurance → demos*. See [`docs/architecture.md`](docs/architecture.md):
350
399
 
400
+ Read the illustrated single-file walkthrough of the same architecture (nine-step protocol, roles and independence, artifact/state map, execution and approval loop) at [`web/architecture.html`](web/architecture.html).
401
+
351
402
  ```text
352
403
  EduEvidence/ (= one Skill package)
353
404
 
@@ -448,7 +499,9 @@ python3 scripts/evidence_score.py examples/ai-coding-assistant-evidence/evidence
448
499
  python3 scripts/evidence_matrix.py examples/ai-coding-assistant-evidence/evidence.jsonl
449
500
 
450
501
  # 4. Run the Citation Audit (claim-evidence traceability)
451
- python3 scripts/claim_audit.py --claims claims.jsonl --evidence evidence.jsonl
502
+ python3 scripts/claim_audit.py \
503
+ --claims examples/ai-coding-assistant-evidence/claims.jsonl \
504
+ --evidence examples/ai-coding-assistant-evidence/evidence.jsonl
452
505
 
453
506
  # 5. Render the Research & Decision Pack (Markdown)
454
507
  python3 scripts/render_report.py \
@@ -466,6 +519,8 @@ python3 visualization/eduevidence-report/scripts/build_report.py \
466
519
  --out examples/ai-coding-assistant-evidence/EduEvidence_Report.html
467
520
 
468
521
  # 7. Validate the benchmark question set
522
+ # Source checkout only: benchmarks/questions.jsonl is not part of the
523
+ # shipped Skill package (see packaging/upload-layout.md).
469
524
  python3 scripts/benchmark.py --questions benchmarks/questions.jsonl
470
525
 
471
526
  # 8. Run the tests
package/README.zh-CN.md CHANGED
@@ -11,6 +11,8 @@
11
11
  > **From Research Questions to Evidence-Based Decisions.**
12
12
  > **从研究问题,到有证据支撑的决策。**
13
13
 
14
+ > **▶ 在线演示:** [介绍页](https://37chengshan.github.io/eduevidence/) · [Research Studio](https://37chengshan.github.io/eduevidence/studio/) · [深度调研对比页](https://37chengshan.github.io/eduevidence/comparison.html)
15
+
14
16
  EduEvidence 面向研究者与实践决策者,将教育、组织政策和 AI 工具采用等问题转化为**可追溯、可质疑、可验证的证据决策流程**。当前公开案例涵盖编程学习和企业客服,分别使用教育与组织政策领域契约。
15
17
 
16
18
  - **三条公开工作流**:Evidence Review(证据综述)、Decision & Pilot(决策与试点)、Evaluate & Update(评估与更新)。完整研究周期将文献证据、有依据的知识缺口、研究设计、新数据和决策修订连接起来。
@@ -18,9 +20,11 @@ EduEvidence 面向研究者与实践决策者,将教育、组织政策和 AI
18
20
  - 🧪 基于真实研究(示例包含 CHI 2023 / PNAS 2025 / ACL 2025 / Springer 2024 的实证证据),不做无来源断言。
19
21
  - 🚦 最终输出不是"允许/禁止"的二元结论,而是 **ADOPT / PILOT / REJECT / INSUFFICIENT EVIDENCE** 四态决策 + 可落地的干预与评价方案。
20
22
 
21
- ![实际研究概览:企业客服 AI 证据案例](assets/readme/studio-overview.png)
23
+ ![Research Studio 操作实录:总览 → 报告阅读室 → 五种报告形态](assets/readme/studio-tour.gif)
24
+
25
+ *本地 Studio 真实录屏(非示意):总览 → 报告阅读室 → 五种报告形态。下方为介绍页滚动实录:*
22
26
 
23
- *本地 Studio 实际截图。案例为人工整理文献,未附研究执行历史。*
27
+ ![介绍页实录:首屏 九步协议 → 五套报告体系](assets/readme/landing-tour.gif)
24
28
 
25
29
  ---
26
30
 
@@ -284,9 +288,11 @@ B4 EduEvidence + Agent MCP ← 证明多 Agent 增强价值(B3 vs B4)
284
288
  - **干预**:4 阶段试点(Independent Foundation → Explain Don't Solve → Structured Collaboration → Transfer Check)。
285
289
  - **评价**:无 AI 基线/后测/期末考试保持/无 AI 迁移任务 + AI 依赖风险指标。
286
290
 
287
- 另一公开案例 `examples/workplace-ai-assistant/` 使用组织政策领域,讨论企业客服是否引入 AI 助手:3 项研究、4 条发现,区分直接客服证据与间接写作/咨询证据,建议有监督试点。详见 [来源核验与边界](docs/demo-workplace-ai.md)。
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。
288
294
 
289
- 两个公开案例均为人工整理文献(`manual_curated`),报告生成不等于九阶段模型研究已运行,也不代表试点已经执行。四个旧教学示例迁入 `tests/fixtures/legacy-examples/`,仅供软件兼容测试,排除于公共目录和分发包;未核验或合成数据不能引用为研究证据。旧 `ai-coding-assistant` 路径保留兼容别名。
295
+ 三个公开案例的数据来源各自如实标注:编程与企业客服两例为人工整理文献(`manual_curated`),间隔重复一例为真实 Sciverse 检索运行记录(`real_run_sciverse`),报告生成不等于九阶段模型研究已运行,也不代表试点已经执行。四个旧教学示例迁入 `tests/fixtures/legacy-examples/`,仅供软件兼容测试,排除于公共目录和分发包;未核验或合成数据不能引用为研究证据。旧 `ai-coding-assistant` 路径保留兼容别名。
290
296
 
291
297
  ## Studio 实际界面
292
298
 
@@ -327,10 +333,24 @@ result.json + result.zh.json
327
333
 
328
334
  > Open the example directly: `examples/ai-coding-assistant-evidence/EduEvidence_Report.html`
329
335
 
336
+ ### 可选检索通道(key-based)
337
+
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`。
347
+
330
348
  ## Architecture
331
349
 
332
350
  仓库是一个完整的 **Skill 包**:`SKILL.md` 是入口,其余目录按"Skill 运行必需 → 质量保障 → 演示"分层。详见 [`docs/architecture.md`](docs/architecture.md):
333
351
 
352
+ 同一套架构的图解单页(九步协议 / 角色与独立性 / 产物状态地图 / 执行与审批闭环)见 [`web/architecture.html`](web/architecture.html)。
353
+
334
354
  ```text
335
355
  EduEvidence/ (= 一个 Skill 包)
336
356
 
@@ -339,7 +359,7 @@ EduEvidence/ (= 一个 Skill 包)
339
359
  ├─ Skill 本体(运行必需)
340
360
  │ ├─ skill/agents/ 8 个角色协议(Planner / Retriever / Analyst / Skeptic /
341
361
  │ │ Method Reviewer / Judge / Intervention Designer / Evaluation Designer)
342
- │ ├─ references/ 11 个教育方法论文档(证据质量 / 反证协议 / 裁决规则 / 干预设计…)
362
+ │ ├─ references/ 方法论文档(证据质量 / 反证协议 / 裁决规则 / 干预设计 / 检索合规 / 文案规范…;数量见 docs/metrics.json)
343
363
  │ ├─ schemas/ 33 个 JSON Schema 数据契约(13 顶层 + 17 v2 + 3 v3,每步输出的校验门)
344
364
  │ ├─ scripts/ 17 个确定性逻辑脚本(评分 / 矩阵 / 审计 / 置信度 / Orchestrator / 启动探测)
345
365
  │ ├─ retrieval/ 检索与抓取层(fetch / validate / dedupe / failures)
@@ -347,7 +367,7 @@ EduEvidence/ (= 一个 Skill 包)
347
367
  │ └─ visualization/ 结果呈现层(ECharts / 信息图 / 学术图 / 双语 HTML Composer)
348
368
 
349
369
  ├─ 质量保障
350
- │ ├─ tests/ pytest 测试矩阵(752 个测试函数,73 个文件,见 docs/metrics.json)
370
+ │ ├─ tests/ pytest 测试矩阵(测试函数与文件数见源码仓库的 docs/metrics.json)
351
371
  │ └─ benchmarks/ 30 题 + 30 份金标注 + B0–B4 评测框架
352
372
 
353
373
  └─ 演示与分发
package/SKILL.md CHANGED
@@ -2,7 +2,7 @@
2
2
  name: eduevidence
3
3
  description: "Decision-grade evidence synthesis for education and applied social science intervention decisions. Use when a user needs to determine whether, when, for whom, or how to adopt, pilot, evaluate, or revise a teaching method, curriculum change, AI tool, program, or policy intervention. Run an auditable evidence-to-decision workflow spanning systematic retrieval, counter-evidence challenge, methodological quality and evidence-certainty appraisal, provenance-traceable evidence graphs, applicability boundaries, evidence-grounded gap detection, preregistration-ready study or pilot design, empirical evidence re-injection, and decision revision."
4
4
  ---
5
- # EduEvidence 6.0 — Decision-Grade Evidence Engine
5
+ # EduEvidence 6.2 — Decision-Grade Evidence Engine
6
6
  > **AI4SS Track | Art–Science Integration · General Intelligence**
7
7
  > **From empirical questions to decision-grade evidence and evidence-to-action loops.**
8
8
 
@@ -303,6 +303,14 @@ The example demonstrates:
303
303
  - Empirical evidence re-injection followed by decision revision.
304
304
  Do not generalize the flagship verdict to unrelated populations, courses, tools, or policy contexts.
305
305
 
306
+ The four-state output is reachable on both ends, and each public case records which end it reached:
307
+
308
+ - `examples/ai-coding-assistant-evidence/` - `PILOT` / Moderate / 0.586. Primary evidence stops at task performance, so the decision is bounded.
309
+ - `examples/spaced-retrieval-practice/` - `ADOPT` / High / 0.893. Retention and transfer, the primary outcomes, carry direct evidence at directness 2.
310
+ - `examples/workplace-ai-assistant/` - `PILOT` / Moderate / 0.578, using the policy domain contract.
311
+
312
+ A verdict never awards itself an action: the Pre-Verdict Gate re-derives primary-outcome directness from the evidence corpus and caps an unsupported `ADOPT` to `PILOT`. Never present a case as ADOPT without that derivation passing.
313
+
306
314
  ---
307
315
 
308
316
  ## 16. Keep Presentation as a Projection Layer
@@ -391,7 +399,8 @@ python3 scripts/dashboard_server.py --port 8765
391
399
  # Search academic and current evidence
392
400
  python3 -m retrieval.search "AI coding assistants learning transfer"
393
401
  # Run the DID fixture / empirical analysis path
394
- python3 scripts/did_regression.py examples/full-research-cycle-fixture/data.csv
402
+ python3 scripts/did_regression.py <your.csv> # needs treat / post / outcome columns
403
+ # column names are matched case-insensitively; see scripts/did_regression.py
395
404
  # Compute an effect size
396
405
  python3 scripts/effect_calculator.py \
397
406
  --mean1 78.5 --sd1 10.2 --n1 90 \
Binary file
Binary file
@@ -17,7 +17,8 @@ const PKG_ROOT = path.resolve(__dirname, '..');
17
17
  const INSTALL_SH = path.join(PKG_ROOT, 'install.sh');
18
18
 
19
19
  function usage() {
20
- console.log(`eduevidence ${readPkgVersion()} — Evidence-Based Education Decision Skill
20
+ console.log(`eduevidence ${readPkgVersion()} — Evidence-Based Decision Skill
21
+ for education and organizational policy (multi-domain by contract)
21
22
 
22
23
  Install (Python runtime + self-check):
23
24
  eduevidence install [--dev] [--dry-run]