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.
- package/CONTRIBUTING.md +105 -0
- package/README.md +93 -38
- package/README.zh-CN.md +26 -6
- package/SKILL.md +11 -2
- package/assets/readme/landing-tour.gif +0 -0
- package/assets/readme/studio-tour.gif +0 -0
- package/bin/eduevidence.js +2 -1
- package/docs/architecture.md +319 -43
- package/docs/demo-workplace-ai.md +1 -1
- package/docs/install-guide.md +1 -1
- package/docs/orchestration-role-model.md +1 -1
- package/docs/release-closeout/README.md +1 -1
- package/docs/sciverse-api.md +125 -0
- package/eduevidence_cli.py +10 -0
- package/engine/decision_policy.py +96 -0
- package/engine/evidence_graph.py +14 -10
- package/engine/gaps.py +42 -22
- package/engine/ids.py +2 -0
- package/engine/library.py +6 -2
- package/engine/living.py +34 -4
- package/engine/migration.py +88 -3
- package/engine/orchestration.py +5 -5
- package/engine/paths.py +2 -0
- package/engine/pilot.py +34 -32
- package/engine/taxonomy.py +211 -0
- package/engine/tribunal.py +43 -31
- package/engine/versions.py +1 -1
- package/examples/ai-coding-assistant-evidence/EduEvidence_Report.html +1360 -146
- package/examples/ai-coding-assistant-evidence/artifact_manifest.json +3 -3
- package/examples/ai-coding-assistant-evidence/citation_check.json +1 -1
- package/examples/ai-coding-assistant-evidence/final_verdict.json +107 -0
- package/examples/ai-coding-assistant-evidence/gate_report.json +101 -0
- package/examples/ai-coding-assistant-evidence/report_spec.json +23 -12
- package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_academic.html +447 -127
- package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_claude.html +447 -127
- package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_datalab-dark.html +447 -127
- package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_datalab.html +447 -127
- package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_presentation.html +447 -127
- package/examples/ai-coding-assistant-evidence/reports-5themes/report_academic.html +1360 -146
- package/examples/ai-coding-assistant-evidence/reports-5themes/report_claude.html +1360 -146
- package/examples/ai-coding-assistant-evidence/reports-5themes/report_datalab-dark.html +1360 -146
- package/examples/ai-coding-assistant-evidence/reports-5themes/report_datalab.html +1360 -146
- package/examples/ai-coding-assistant-evidence/reports-5themes/report_presentation.html +1360 -146
- package/examples/ai-coding-assistant-evidence/result.json +13 -9
- package/examples/ai-coding-assistant-evidence/result.zh.json +45 -41
- package/examples/ai-coding-assistant-evidence/skeptic.json +72 -0
- package/examples/ai-coding-assistant-evidence/verdict.json +6 -2
- package/examples/spaced-retrieval-practice/applicability.json +14 -0
- package/examples/spaced-retrieval-practice/artifact_manifest.json +15 -0
- package/examples/spaced-retrieval-practice/claims.jsonl +3 -0
- package/examples/spaced-retrieval-practice/evidence.jsonl +6 -0
- package/examples/spaced-retrieval-practice/final_verdict.json +93 -0
- package/examples/spaced-retrieval-practice/frame.json +58 -0
- package/examples/spaced-retrieval-practice/gate_report.json +101 -0
- package/examples/spaced-retrieval-practice/methodology.json +78 -0
- package/examples/spaced-retrieval-practice/report_spec.json +212 -0
- package/examples/spaced-retrieval-practice/reports-5themes/EduEvidence_Report_academic.html +2728 -0
- package/examples/spaced-retrieval-practice/reports-5themes/EduEvidence_Report_claude.html +2728 -0
- package/examples/spaced-retrieval-practice/reports-5themes/EduEvidence_Report_datalab-dark.html +2728 -0
- package/examples/spaced-retrieval-practice/reports-5themes/EduEvidence_Report_datalab.html +2728 -0
- package/examples/spaced-retrieval-practice/reports-5themes/EduEvidence_Report_presentation.html +2728 -0
- package/examples/spaced-retrieval-practice/reports-5themes/report_academic.html +2728 -0
- package/examples/spaced-retrieval-practice/reports-5themes/report_claude.html +2728 -0
- package/examples/spaced-retrieval-practice/reports-5themes/report_datalab-dark.html +2728 -0
- package/examples/spaced-retrieval-practice/reports-5themes/report_datalab.html +2728 -0
- package/examples/spaced-retrieval-practice/reports-5themes/report_presentation.html +2728 -0
- package/examples/spaced-retrieval-practice/result.json +942 -0
- package/examples/spaced-retrieval-practice/result.zh.json +942 -0
- package/examples/spaced-retrieval-practice/skeptic.json +70 -0
- package/examples/spaced-retrieval-practice/sources.jsonl +7 -0
- package/examples/spaced-retrieval-practice/verdict.json +93 -0
- package/examples/workplace-ai-assistant/artifact_manifest.json +15 -0
- package/examples/workplace-ai-assistant/claims.jsonl +4 -4
- package/examples/workplace-ai-assistant/evidence.jsonl +4 -4
- package/examples/workplace-ai-assistant/evidence_graph.json +15 -15
- package/examples/workplace-ai-assistant/final_verdict.json +78 -0
- package/examples/workplace-ai-assistant/gate_report.json +101 -0
- package/examples/workplace-ai-assistant/report_spec.json +209 -40
- package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_academic.html +435 -105
- package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_claude.html +435 -105
- package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_datalab-dark.html +435 -105
- package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_datalab.html +435 -105
- package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_presentation.html +435 -105
- package/examples/workplace-ai-assistant/reports-5themes/report_academic.html +2814 -0
- package/examples/workplace-ai-assistant/reports-5themes/report_claude.html +2814 -0
- package/examples/workplace-ai-assistant/reports-5themes/report_datalab-dark.html +2814 -0
- package/examples/workplace-ai-assistant/reports-5themes/report_datalab.html +2814 -0
- package/examples/workplace-ai-assistant/reports-5themes/report_presentation.html +2814 -0
- package/examples/workplace-ai-assistant/result.json +82 -20
- package/examples/workplace-ai-assistant/result.zh.json +82 -20
- package/examples/workplace-ai-assistant/skeptic.json +72 -0
- package/examples/workplace-ai-assistant/verdict.json +36 -10
- package/integrations/agent_mcp.py +2 -2
- package/package.json +12 -3
- package/pyproject.toml +4 -3
- package/references/report-copy-style.md +67 -0
- package/references/retrieval-compliance.md +75 -0
- package/references/retrieval-protocol.md +20 -0
- package/retrieval/audit.py +27 -3
- package/retrieval/fetch.py +96 -0
- package/retrieval/sciverse.py +398 -0
- package/retrieval/search.py +47 -7
- package/schemas/applicability.schema.json +94 -0
- package/schemas/chart-spec.schema.json +10 -3
- package/schemas/evidence.schema.json +316 -43
- package/schemas/fetch-result.schema.json +2 -1
- package/schemas/report-result.schema.json +3 -3
- package/schemas/report-spec.schema.json +98 -100
- package/schemas/skeptic.schema.json +86 -0
- package/schemas/source.schema.json +21 -2
- package/schemas/v2/finding.schema.json +5 -1
- package/schemas/v2/methodology-audit.schema.json +5 -1
- package/schemas/v2/outcome.schema.json +28 -5
- package/schemas/v2/study.schema.json +5 -1
- package/schemas/vNext/autoevolve-session.schema.json +34 -1
- package/schemas/vNext/eval-snapshot.schema.json +77 -1
- package/schemas/vNext/execution-plan.schema.json +50 -1
- package/schemas/vNext/gap-priority.schema.json +54 -1
- package/schemas/vNext/negative-search-record.schema.json +68 -1
- package/schemas/vNext/research-iteration.schema.json +87 -1
- package/schemas/vNext/research-strategy.schema.json +62 -1
- package/schemas/vNext/skill-experiment.schema.json +90 -1
- package/schemas/vNext/task-spec.schema.json +156 -1
- package/schemas/vNext/worker-result.schema.json +60 -1
- package/schemas/verdict.schema.json +164 -28
- package/scripts/build_esl_artifacts.py +2 -2
- package/scripts/build_report_variants.py +18 -2
- package/scripts/build_result.py +74 -9
- package/scripts/check_package_parity.py +85 -0
- package/scripts/check_protocol_alignment.py +375 -0
- package/scripts/check_versioned_schemas.py +254 -0
- package/scripts/claim_audit.py +13 -8
- package/scripts/compute_confidence.py +10 -0
- package/scripts/did_regression.py +12 -2
- package/scripts/evidence_score.py +5 -2
- package/scripts/generate_new_projects.py +4 -4
- package/scripts/orchestrator.py +120 -24
- package/scripts/pre_verdict_gate.py +224 -26
- package/scripts/quickstart.py +18 -2
- package/scripts/run_workspace.py +7 -1
- package/scripts/skill_payload.py +4 -1
- package/scripts/test_adversarial_empirical.py +26 -19
- package/scripts/validate_schema.py +31 -1
- package/skill/agents/evaluation-designer.md +20 -4
- package/skill/agents/evidence-analyst.md +19 -3
- package/skill/agents/evidence-judge.md +50 -2
- package/skill/agents/evidence-retriever.md +20 -3
- package/skill/agents/intervention-designer.md +20 -4
- package/skill/agents/method-reviewer.md +18 -2
- package/skill/agents/{education-planner.md → research-planner.md} +19 -3
- package/skill/agents/skeptic.md +18 -2
- package/skill/roles/registry.yaml +11 -11
- package/skill/sub-skills/aihot-trend-analysis/SKILL.md +28 -9
- package/skill/sub-skills/contradiction-analysis/SKILL.md +31 -11
- package/skill/sub-skills/data-analysis/SKILL.md +34 -15
- package/skill/sub-skills/ethics-review/SKILL.md +33 -10
- package/skill/sub-skills/evidence-extraction/SKILL.md +29 -11
- package/skill/sub-skills/evidence-review/SKILL.md +31 -12
- package/skill/sub-skills/gap-analysis/SKILL.md +31 -9
- package/skill/sub-skills/literature-review/SKILL.md +35 -14
- package/skill/sub-skills/methodology-audit/SKILL.md +29 -12
- package/skill/sub-skills/report-generation/SKILL.md +28 -0
- package/skill/sub-skills/research-planning/SKILL.md +41 -14
- package/skill/sub-skills/study-design/SKILL.md +30 -9
- package/skill/task-briefs/adjudicate.md +32 -7
- package/skill/task-briefs/applicability.md +37 -2
- package/skill/task-briefs/audit.md +32 -7
- package/skill/task-briefs/challenge.md +34 -5
- package/skill/task-briefs/evaluate.md +30 -5
- package/skill/task-briefs/extract.md +31 -8
- package/skill/task-briefs/frame.md +39 -10
- package/skill/task-briefs/intervene.md +32 -6
- package/skill/task-briefs/present.md +32 -8
- package/skill/task-briefs/projection.md +36 -2
- package/skill/task-briefs/retrieve.md +36 -6
- package/skill/workflows/decision-and-pilot.md +76 -1
- package/skill/workflows/evaluate-and-update.md +83 -0
- package/skill/workflows/evidence-review.md +104 -0
- package/visualization/eduevidence-report/scripts/build_figures.py +25 -3
- package/visualization/eduevidence-report/scripts/build_infographics.py +5 -1
- package/visualization/eduevidence-report/scripts/build_report.py +512 -65
- package/visualization/eduevidence-report/scripts/charts_data.py +2 -0
- package/visualization/eduevidence-report/scripts/lieflat_engine.py +349 -38
- package/visualization/eduevidence-report/scripts/zh_labels.py +80 -1
- package/web/architecture.html +14885 -0
- package/web/studio/assets/index-B8tkF44Q.css +1 -0
- package/web/studio/index.html +2 -2
- package/web/studio/assets/index-CzXocaGv.css +0 -1
- /package/web/studio/assets/{index-pa7jD7n4.js → index-CQ6Keoyc.js} +0 -0
package/CONTRIBUTING.md
ADDED
|
@@ -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
|
|
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
|
-

|
|
49
|
+
|
|
50
|
+
*Recorded from the actual local Studio — no mockups: overview → report library → five report identities. Below, the introduction page walkthrough:*
|
|
36
51
|
|
|
37
|
-
|
|
52
|
+

|
|
38
53
|
|
|
39
54
|
---
|
|
40
55
|
|
|
41
|
-
## Quick
|
|
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
|
|
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
|
-
|
|
148
|
-
→
|
|
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
|
-
→
|
|
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
|
|
165
|
-
5. If an institution adopts it, how
|
|
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
|
|
199
|
+
## 30-second tour
|
|
169
200
|
|
|
170
|
-
>
|
|
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
|
|
175
|
-
| 20–45s |
|
|
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 |
|
|
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
|
|
216
|
+
## Why Evidence Decisions Are Hard
|
|
186
217
|
|
|
187
|
-
|
|
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
|
|
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
|
-
│
|
|
200
|
-
│
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
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 =
|
|
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?
|
|
260
|
-
- **Intervention**: always a "minimum viable pilot", never direct full deployment; includes AI usage rules,
|
|
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
|
-
|
|
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
|
-
|
|
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 "
|
|
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
|
|
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
|
-

|
|
24
|
+
|
|
25
|
+
*本地 Studio 真实录屏(非示意):总览 → 报告阅读室 → 五种报告形态。下方为介绍页滚动实录:*
|
|
22
26
|
|
|
23
|
-
|
|
27
|
+

|
|
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
|
|
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
|
-
|
|
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/
|
|
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
|
|
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.
|
|
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
|
|
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
|
package/bin/eduevidence.js
CHANGED
|
@@ -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
|
|
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]
|