eduevidence 6.0.0 → 6.3.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/CHANGELOG.md +395 -0
- package/CONTRIBUTING.md +105 -0
- package/README.md +113 -49
- package/README.zh-CN.md +39 -12
- package/SKILL.md +15 -5
- package/assets/readme/landing-tour.gif +0 -0
- package/assets/readme/studio-tour.gif +0 -0
- package/benchmarks/evidence-library.json +277 -1
- package/bin/eduevidence.js +2 -1
- package/docs/architecture.md +325 -46
- package/docs/demo-workplace-ai.md +1 -1
- package/docs/install-guide.md +1 -1
- package/docs/j-ev-experimental.md +250 -0
- package/docs/orchestration-role-model.md +1 -1
- package/docs/release-closeout/README.md +1 -1
- package/docs/reproducibility.md +138 -0
- package/docs/sciverse-api.md +125 -0
- package/domains/_neutral/copy/few_shots.json +21 -0
- package/domains/_neutral/copy/framing_lexicon.json +19 -0
- package/domains/_neutral/copy/module_labels.json +5 -0
- package/domains/_neutral/copy/module_labels_footer.json +102 -0
- package/domains/_neutral/copy/module_labels_modules.json +204 -0
- package/domains/_neutral/copy/module_labels_nav.json +126 -0
- package/domains/_neutral/copy/module_labels_summary.json +98 -0
- package/domains/_neutral/copy/module_labels_tables.json +164 -0
- package/domains/_neutral/copy/module_labels_v2.json +90 -0
- package/domains/_neutral/copy/risk_constructs.json +20 -0
- package/domains/_neutral/copy/section_titles.json +66 -0
- package/domains/_neutral/copy/terminology.json +11 -0
- package/domains/check_copy_packs.py +103 -0
- package/domains/education/copy/few_shots.json +22 -0
- package/domains/education/copy/framing_enums.json +167 -0
- package/domains/education/copy/framing_lexicon.json +166 -0
- package/domains/education/copy/module_labels.json +169 -0
- package/domains/education/copy/risk_constructs.json +48 -0
- package/domains/education/copy/section_titles.json +186 -0
- package/domains/education/copy/terminology.json +70 -0
- package/domains/education/manifest.json +1 -1
- package/domains/education/outcome_taxonomy.json +2 -2
- package/domains/manifest.json +1 -1
- package/domains/policy/copy/few_shots.json +22 -0
- package/domains/policy/copy/framing_enums.json +94 -0
- package/domains/policy/copy/framing_lexicon.json +174 -0
- package/domains/policy/copy/module_labels.json +168 -0
- package/domains/policy/copy/risk_constructs.json +33 -0
- package/domains/policy/copy/section_titles.json +186 -0
- package/domains/policy/copy/terminology.json +64 -0
- package/eduevidence_cli.py +10 -0
- package/engine/capabilities.py +57 -5
- package/engine/decision_policy.py +167 -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/library_builtin.py +7 -4
- 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 +49 -43
- package/engine/versions.py +1 -1
- package/examples/ai-coding-assistant-evidence/EduEvidence_Report.html +1361 -147
- 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 +448 -128
- package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_claude.html +448 -128
- package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_datalab-dark.html +448 -128
- package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_datalab.html +448 -128
- package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_presentation.html +448 -128
- 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/EduEvidence_Report.html +2728 -0
- 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.html +2522 -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/EduEvidence_Report.html +2814 -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 +449 -119
- package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_claude.html +449 -119
- package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_datalab-dark.html +449 -119
- package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_datalab.html +449 -119
- package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_presentation.html +449 -119
- 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/integrations/jev/__init__.py +115 -0
- package/integrations/jev/approval.py +212 -0
- package/integrations/jev/cli.py +84 -0
- package/integrations/jev/config.py +112 -0
- package/integrations/jev/gateway.py +128 -0
- package/integrations/jev/modes.py +38 -0
- package/integrations/jev/tools_classify.py +88 -0
- package/integrations/jev/tools_extract.py +111 -0
- package/integrations/jev/tools_rerank.py +71 -0
- package/integrations/jev/tools_screen.py +87 -0
- package/integrations/jev/tools_verify.py +95 -0
- package/integrations/jev_mcp.py +22 -0
- package/integrations/semantic_decide.py +286 -0
- package/integrations/semdecide_cli.py +55 -0
- package/package.json +19 -2
- package/pyproject.toml +4 -3
- package/references/report-copy-style.md +107 -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/decision-snapshot.schema.json +20 -9
- package/schemas/v2/finding.schema.json +5 -1
- package/schemas/v2/intake.schema.json +191 -0
- 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_evidence_library.py +15 -5
- 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/dashboard_server.py +13 -2
- package/scripts/did_regression.py +12 -2
- package/scripts/evidence_score.py +5 -2
- package/scripts/intake/__init__.py +31 -0
- package/scripts/intake/__main__.py +18 -0
- package/scripts/intake/background.py +78 -0
- package/scripts/intake/browser.py +79 -0
- package/scripts/intake/cli.py +57 -0
- package/scripts/intake/constants.py +57 -0
- package/scripts/intake/depth.py +53 -0
- package/scripts/intake/enhancements.py +106 -0
- package/scripts/intake/hooks.py +90 -0
- package/scripts/intake/prefs.py +76 -0
- package/scripts/intake/prompts.py +85 -0
- package/scripts/intake/session.py +152 -0
- package/scripts/lint_file_layers.py +126 -0
- package/scripts/orchestrator.py +187 -40
- package/scripts/pre_verdict_gate.py +241 -29
- package/scripts/quickstart.py +18 -2
- package/scripts/run_workspace.py +7 -1
- package/scripts/skill_lint.py +11 -1
- package/scripts/skill_payload.py +6 -3
- package/scripts/test_adversarial_empirical.py +96 -25
- 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 +98 -8
- 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/skill/workflows/experimental-jev.md +170 -0
- package/skill/workflows/intake.md +120 -0
- package/visualization/eduevidence-report/scripts/build_figures.py +25 -3
- package/visualization/eduevidence-report/scripts/build_infographics.py +37 -15
- package/visualization/eduevidence-report/scripts/build_report.py +435 -575
- 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/report_copy_pack.py +296 -0
- package/visualization/eduevidence-report/scripts/report_copy_policy_guard.py +47 -0
- package/visualization/eduevidence-report/scripts/zh_labels.py +141 -1
- package/web/architecture.html +14885 -0
- package/web/studio/assets/index-B8tkF44Q.css +1 -0
- package/web/studio/index.html +2 -2
- package/scripts/build_esl_artifacts.py +0 -1921
- package/scripts/build_killer_demo.py +0 -295
- package/scripts/enrich_projects_human_and_lieflat.py +0 -315
- package/scripts/generate_new_projects.py +0 -686
- package/scripts/sync_killer_demo_report.py +0 -270
- package/web/studio/assets/index-CzXocaGv.css +0 -1
- /package/web/studio/assets/{index-pa7jD7n4.js → index-CQ6Keoyc.js} +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"status": "ASSESSED",
|
|
3
|
+
"suitable_for": "有固定课时的入门编程课程,教师能稳定安排每周短练习",
|
|
4
|
+
"not_suitable_for": "没有固定复习环节的课程,或无法保证延迟测评的场景",
|
|
5
|
+
"required_conditions": [
|
|
6
|
+
"每周固定短时检索练习",
|
|
7
|
+
"统一的延迟后测口径"
|
|
8
|
+
],
|
|
9
|
+
"excluded_populations": [
|
|
10
|
+
"无固定课时的选修课学生"
|
|
11
|
+
],
|
|
12
|
+
"outcome_limits": "迁移证据少于保持证据",
|
|
13
|
+
"uncertainty": "课程现场研究的数量有限"
|
|
14
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"result_sha256": "1fff22fb180f676523430c5934f8c96c9cabbb37e2a4010a99049de5087f478d",
|
|
3
|
+
"result_zh_sha256": "8c551e02ea2a76f6a48d68be6715eec118445998e66a35526fde967a77409b98",
|
|
4
|
+
"renderer_version": "1.0.0",
|
|
5
|
+
"git_commit": "56f5dc3edc6e805c2614767208a83009b0f0a097",
|
|
6
|
+
"evidence_count": 6,
|
|
7
|
+
"source_count": 7,
|
|
8
|
+
"themes": [
|
|
9
|
+
"claude",
|
|
10
|
+
"academic",
|
|
11
|
+
"datalab",
|
|
12
|
+
"datalab-dark",
|
|
13
|
+
"presentation"
|
|
14
|
+
]
|
|
15
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
{"claim_id": "C-001", "text": "Spaced retrieval practice reliably improves delayed retention", "evidence_ids": ["E-001", "E-002", "E-003", "E-004"], "status": "SUPPORTED", "scope": "introductory programming novices"}
|
|
2
|
+
{"claim_id": "C-002", "text": "The size of the retention benefit depends on design and materials", "evidence_ids": ["E-004", "E-005"], "status": "SUPPORTED", "scope": "introductory programming novices"}
|
|
3
|
+
{"claim_id": "C-003", "text": "Retrieval practice also supports transfer, not just memory", "evidence_ids": ["E-006"], "status": "SUPPORTED", "scope": "introductory programming novices"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
{"evidence_id": "E-001", "source_id": "S-KARPICKE-EXPANDING-RETRIEVAL-PRACTICE", "study_id": "STUDY-KARPICKE-2007", "sample_id": "SMPL-KARPICKE-2007", "claim_id": "C-001", "claim": "扩展式检索练习(expanding retrieval)在短期保持上优于集中复习,并提升长期保持的检索效率。", "outcome_type": "retention", "relation_to_claim": "support", "effect_direction": "positive", "effect": "expanding retrieval > massed practice on delayed retention", "source_location": "https://doi.org/10.1037/0278-7393.33.4.704", "study_type": "rct", "sample_size": 180, "quality_score": 8.0, "quality_dimensions": {"D1_study_design": 2, "D2_sample_quality": 2, "D3_measurement_validity": 2, "D4_temporal_strength": 1, "D5_directness": 2}, "confounders": ["materials differ across experiments"]}
|
|
2
|
+
{"evidence_id": "E-002", "source_id": "S-SMITH-COVERT-RETRIEVAL-PRACTICE", "study_id": "STUDY-SMITH-2013", "sample_id": "SMPL-SMITH-2013", "claim_id": "C-001", "claim": "隐式(covert)检索练习与显式检索练习在保持上收益相当,说明练习形式可灵活。", "outcome_type": "retention", "relation_to_claim": "support", "effect_direction": "positive", "effect": "covert equivalent to overt retrieval practice", "source_location": "https://doi.org/10.1016/j.jml.2013.06.001", "study_type": "rct", "sample_size": 120, "quality_score": 7.5, "quality_dimensions": {"D1_study_design": 2, "D2_sample_quality": 1, "D3_measurement_validity": 2, "D4_temporal_strength": 1, "D5_directness": 2}, "confounders": []}
|
|
3
|
+
{"evidence_id": "E-003", "source_id": "S-HOPKINS-SPACED-RETRIEVAL-PRACTICE", "study_id": "STUDY-HOPKINS-2021", "sample_id": "SMPL-HOPKINS-2021", "claim_id": "C-001", "claim": "在真实课程中引入间隔检索练习,可显著提升学生长期知识保持,且教师可操作。", "outcome_type": "retention", "relation_to_claim": "support", "effect_direction": "positive", "effect": "classroom spaced retrieval increased long-term retention", "source_location": "https://doi.org/10.1016/j.jml.2013.06.001", "study_type": "quasi_experimental", "sample_size": 240, "quality_score": 7.0, "quality_dimensions": {"D1_study_design": 1, "D2_sample_quality": 2, "D3_measurement_validity": 2, "D4_temporal_strength": 2, "D5_directness": 2}, "confounders": ["single institution"]}
|
|
4
|
+
{"evidence_id": "E-004", "source_id": "S-AZZAM-RETRIEVAL-PRACTICE-IMPROVING", "study_id": "STUDY-AZZAM-2020", "sample_id": "SMPL-AZZAM-2020", "claim_id": "C-002", "claim": "检索练习对长期保持有正向作用,但收益幅度受材料难度与反馈设计调节。", "outcome_type": "retention", "relation_to_claim": "support", "effect_direction": "positive", "effect": "positive but moderated by material difficulty", "source_location": "https://doi.org/10.1016/j.jml.2007.02.004", "study_type": "meta_analysis", "sample_size": null, "quality_score": 8.5, "quality_dimensions": {"D1_study_design": 2, "D2_sample_quality": 2, "D3_measurement_validity": 2, "D4_temporal_strength": 2, "D5_directness": 1}, "confounders": []}
|
|
5
|
+
{"evidence_id": "E-005", "source_id": "S-ROWLAND-MNEMONIC-BENEFITS-RETRIEVAL", "study_id": "STUDY-ROWLAND-2015", "sample_id": "SMPL-ROWLAND-2015", "claim_id": "C-002", "claim": "检索练习的记忆收益在短保持间隔下也成立,但部分实验显示其优势随间隔设计变化。", "outcome_type": "retention", "relation_to_claim": "neutral", "effect_direction": "null", "effect": "benefit present but design-sensitive", "source_location": "https://doi.org/10.1016/j.jml.2015.04.002", "study_type": "mixed_methods", "sample_size": 90, "quality_score": 6.5, "quality_dimensions": {"D1_study_design": 1, "D2_sample_quality": 1, "D3_measurement_validity": 2, "D4_temporal_strength": 1, "D5_directness": 1}, "confounders": ["short retention interval", "sample of convenience"]}
|
|
6
|
+
{"evidence_id": "E-006", "source_id": "S-ZHENG-PRACTICING-MORE-RETRIEVAL", "study_id": "STUDY-ZHENG-2020", "sample_id": "SMPL-ZHENG-2020", "claim_id": "C-003", "claim": "增加检索路径数量可提升迁移表现,说明检索练习的价值不限于记忆本身。", "outcome_type": "transfer", "relation_to_claim": "support", "effect_direction": "positive", "effect": "more retrieval routes improved transfer", "source_location": "https://doi.org/10.1016/j.jml.2020.104114", "study_type": "rct", "sample_size": 150, "quality_score": 7.8, "quality_dimensions": {"D1_study_design": 2, "D2_sample_quality": 2, "D3_measurement_validity": 2, "D4_temporal_strength": 1, "D5_directness": 2}, "confounders": []}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"decision_question": "是否应该用间隔重复与检索练习替代传统集中式复习?",
|
|
3
|
+
"target_population": "大学程序设计入门课程的一年级学生",
|
|
4
|
+
"target_context": "16 周讲授 + 实验课,大班教学,有助教支持,线下",
|
|
5
|
+
"supported_claims": [
|
|
6
|
+
"间隔检索练习在延迟保持上稳定优于集中复习(多项随机对照与元分析一致)—— E-001、E-002、E-003、E-004。",
|
|
7
|
+
"隐式检索与显式检索的收益相当,实施形式可以灵活 —— E-002。",
|
|
8
|
+
"增加检索路径数量可提升迁移表现,价值不限于记忆本身 —— E-006。"
|
|
9
|
+
],
|
|
10
|
+
"uncertain_claims": [
|
|
11
|
+
"程序设计课程内的直接现场证据少于心理学实验室证据 [无直接证据]。",
|
|
12
|
+
"收益幅度受材料难度与反馈设计调节,最佳间隔尚未确定 —— E-004、E-005。"
|
|
13
|
+
],
|
|
14
|
+
"contradicted_claims": [],
|
|
15
|
+
"reason_for_disagreement": "实验室证据与课程现场证据的生态效度差异,而非方向冲突。",
|
|
16
|
+
"methodology_summary": "纳入研究以随机对照与元分析为主,多数设有延迟后测;现场研究数量有限。",
|
|
17
|
+
"outcome_specific_findings": {
|
|
18
|
+
"retention": "positive across studies",
|
|
19
|
+
"transfer": "positive but thinner evidence"
|
|
20
|
+
},
|
|
21
|
+
"short_term_effect": "短期保持同样受益,但效应量与延迟间隔设计相关。",
|
|
22
|
+
"long_term_effect": "长期保持是证据最一致的受益结果。",
|
|
23
|
+
"transfer_effect": "迁移有正向证据,但研究数量少于保持。",
|
|
24
|
+
"risk_effect": "未发现显著风险;需注意练习设计不当可能增加认知负荷。",
|
|
25
|
+
"applicability": {
|
|
26
|
+
"suitable_for": "有固定课时的入门编程课程,教师能稳定安排每周短练习",
|
|
27
|
+
"not_suitable_for": "没有固定复习环节的课程,或无法保证延迟测评的场景",
|
|
28
|
+
"required_conditions": [
|
|
29
|
+
"每周固定短时检索练习",
|
|
30
|
+
"统一的延迟后测口径"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"confidence": "High",
|
|
34
|
+
"confidence_breakdown": {
|
|
35
|
+
"score": 0.893,
|
|
36
|
+
"evidence_quality": 0.755,
|
|
37
|
+
"consistency": 1.0,
|
|
38
|
+
"directness": 0.833,
|
|
39
|
+
"evidence_count": 6,
|
|
40
|
+
"independent_studies": 6,
|
|
41
|
+
"independent_samples": 6,
|
|
42
|
+
"count_term": 1.0,
|
|
43
|
+
"conflict_penalty": 0.0,
|
|
44
|
+
"unsupported_penalty": 0.0
|
|
45
|
+
},
|
|
46
|
+
"recommended_action": "adopt",
|
|
47
|
+
"decision_rationale": "延迟保持与迁移两个主要结果上都有直接且一致的证据(多项随机对照与元分析,直接性记为 2),实施成本低、风险可控,因此支持在课程内采用。最佳间隔安排与课程现场证据的厚度仍是记录在案的不确定性,纳入采用后的持续监测,而不是阻止采用。",
|
|
48
|
+
"strongest_support": "间隔检索练习在延迟保持上稳定优于集中复习,多项随机对照与元分析结论一致。",
|
|
49
|
+
"key_uncertainty": "程序设计课程内的直接现场证据少于心理学实验室证据,最佳间隔设计尚未确定。",
|
|
50
|
+
"main_risk": "练习设计不当可能增加认知负荷,且收益幅度受材料难度与反馈方式调节。",
|
|
51
|
+
"next_action": "在入门编程课内采用每周固定短时闭卷检索练习,并以统一延迟后测持续验收:若延迟后测低于基线或练习完成率持续低于 60%,回退到试点状态复核。",
|
|
52
|
+
"missing_evidence": [
|
|
53
|
+
"程序设计课程内的随机对照现场研究",
|
|
54
|
+
"不同间隔安排的直接比较"
|
|
55
|
+
],
|
|
56
|
+
"what_can_be_claimed": [
|
|
57
|
+
"在延迟保持上,间隔检索练习优于集中复习",
|
|
58
|
+
"实施形式可以从隐式到显式灵活选择"
|
|
59
|
+
],
|
|
60
|
+
"what_cannot_be_claimed": [
|
|
61
|
+
"具体到某门程序设计课程一定产生同等幅度收益",
|
|
62
|
+
"存在唯一最优的间隔安排"
|
|
63
|
+
],
|
|
64
|
+
"exceeds_evidence_boundary": [],
|
|
65
|
+
"confidence_score": 0.893,
|
|
66
|
+
"confidence_policy_version": "2026-08-12.v3",
|
|
67
|
+
"independent_studies": 6,
|
|
68
|
+
"independent_samples": 6,
|
|
69
|
+
"extensions": {
|
|
70
|
+
"action_enforcement": {
|
|
71
|
+
"policy": "engine/decision_policy.py",
|
|
72
|
+
"gate": "pre_verdict_gate.decision_action_consistency",
|
|
73
|
+
"action_before": "pilot",
|
|
74
|
+
"action_after": "adopt",
|
|
75
|
+
"basis": "confidence High (>=0.72), decisive support_adoption studies present, and direct evidence (directness=2) on a primary outcome (retention/transfer)",
|
|
76
|
+
"note": "The earlier pilot label came from hand-written verdict text plus a migration that flattened link directness to 1; the corpus itself meets the ADOPT gate."
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"raw_model_confidence": "Moderate",
|
|
80
|
+
"raw_model_confidence_breakdown": {
|
|
81
|
+
"score": 0.893,
|
|
82
|
+
"evidence_quality": 0.755,
|
|
83
|
+
"consistency": 1.0,
|
|
84
|
+
"directness": 0.833,
|
|
85
|
+
"evidence_count": 6,
|
|
86
|
+
"independent_studies": 6,
|
|
87
|
+
"independent_samples": 6,
|
|
88
|
+
"count_term": 1.0,
|
|
89
|
+
"conflict_penalty": 0.0,
|
|
90
|
+
"unsupported_penalty": 0.0,
|
|
91
|
+
"note": "Adjudicator-stated confidence before the deterministic override; the adjudicator called the band Moderate while the recomputation reaches High."
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
{
|
|
2
|
+
"question": "在大学的程序设计入门课程中,是否应该用间隔重复与检索练习替代传统的集中式复习?这对学生的长期知识保持是否有效?",
|
|
3
|
+
"decision_target": "teaching_decision",
|
|
4
|
+
"learner": {
|
|
5
|
+
"education_level": "undergraduate_year_1",
|
|
6
|
+
"major": "computer_science",
|
|
7
|
+
"prior_knowledge": "introductory_programming_no_prior_experience",
|
|
8
|
+
"special_characteristics": "large_lecture_with_weekly_labs"
|
|
9
|
+
},
|
|
10
|
+
"course": {
|
|
11
|
+
"subject": "introductory_programming",
|
|
12
|
+
"course_type": "lecture_lab",
|
|
13
|
+
"duration": "16_weeks_one_semester"
|
|
14
|
+
},
|
|
15
|
+
"intervention": {
|
|
16
|
+
"teaching_method": "spaced_retrieval_practice",
|
|
17
|
+
"ai_tool": "",
|
|
18
|
+
"allowed_usage": "",
|
|
19
|
+
"frequency": "weekly_short_quizzes",
|
|
20
|
+
"duration": "one_semester"
|
|
21
|
+
},
|
|
22
|
+
"comparison": "concentrated_review_before_exams (business as usual)",
|
|
23
|
+
"outcomes": {
|
|
24
|
+
"primary": [
|
|
25
|
+
"retention",
|
|
26
|
+
"transfer"
|
|
27
|
+
],
|
|
28
|
+
"secondary": [
|
|
29
|
+
"knowledge_gain",
|
|
30
|
+
"independent_problem_solving"
|
|
31
|
+
],
|
|
32
|
+
"risk": [
|
|
33
|
+
"reduced_effort"
|
|
34
|
+
]
|
|
35
|
+
},
|
|
36
|
+
"context": {
|
|
37
|
+
"teacher_support": "TA_supported",
|
|
38
|
+
"class_size": "large",
|
|
39
|
+
"online_or_offline": "offline"
|
|
40
|
+
},
|
|
41
|
+
"scope": {
|
|
42
|
+
"time_range": "2000-2026",
|
|
43
|
+
"geography": "global",
|
|
44
|
+
"study_types": [
|
|
45
|
+
"rct",
|
|
46
|
+
"quasi_experimental"
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
"inclusion_criteria": [
|
|
50
|
+
"studies measuring delayed retention or transfer",
|
|
51
|
+
"programming or STEM novices"
|
|
52
|
+
],
|
|
53
|
+
"exclusion_criteria": [
|
|
54
|
+
"no delayed measurement",
|
|
55
|
+
"purely correlational"
|
|
56
|
+
],
|
|
57
|
+
"success_condition": "delayed retention improves or holds while transfer does not decline"
|
|
58
|
+
}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
{
|
|
2
|
+
"gate_version": "2026-08-13.v1",
|
|
3
|
+
"checked_at": "2026-09-13T03:17:13.784688+00:00",
|
|
4
|
+
"workspace": "examples/spaced-retrieval-practice",
|
|
5
|
+
"items": {
|
|
6
|
+
"research_frame_valid": {
|
|
7
|
+
"title": "Research Frame valid",
|
|
8
|
+
"status": "pass",
|
|
9
|
+
"detail": "frame.json valid (question=在大学的程序设计入门课程中,是否应该用间隔重复与检索练习替代传统的集中式复习?这对学生的长期知识保持是否有效?)",
|
|
10
|
+
"critical": true,
|
|
11
|
+
"blocks_high": true
|
|
12
|
+
},
|
|
13
|
+
"sources_valid": {
|
|
14
|
+
"title": "Sources valid",
|
|
15
|
+
"status": "pass",
|
|
16
|
+
"detail": "7 source record(s) schema-valid",
|
|
17
|
+
"critical": true,
|
|
18
|
+
"blocks_high": true
|
|
19
|
+
},
|
|
20
|
+
"evidence_schema_valid": {
|
|
21
|
+
"title": "Evidence Schema valid",
|
|
22
|
+
"status": "pass",
|
|
23
|
+
"detail": "6 evidence record(s) schema-valid",
|
|
24
|
+
"critical": true,
|
|
25
|
+
"blocks_high": true
|
|
26
|
+
},
|
|
27
|
+
"source_dedupe": {
|
|
28
|
+
"title": "Source dedupe",
|
|
29
|
+
"status": "pass",
|
|
30
|
+
"detail": "7 unique source(s), no duplicates",
|
|
31
|
+
"critical": true,
|
|
32
|
+
"blocks_high": true
|
|
33
|
+
},
|
|
34
|
+
"counter_evidence_search": {
|
|
35
|
+
"title": "Counter-evidence search",
|
|
36
|
+
"status": "pass",
|
|
37
|
+
"detail": "search_performed=true; 9/9 checks run; findings=2; contradictory_evidence_found=False",
|
|
38
|
+
"critical": true,
|
|
39
|
+
"blocks_high": true
|
|
40
|
+
},
|
|
41
|
+
"methodology_audit": {
|
|
42
|
+
"title": "Methodology audit",
|
|
43
|
+
"status": "pass",
|
|
44
|
+
"detail": "methodology verdict=PASS; task/learning separated",
|
|
45
|
+
"critical": true,
|
|
46
|
+
"blocks_high": true
|
|
47
|
+
},
|
|
48
|
+
"claim_evidence_audit": {
|
|
49
|
+
"title": "Claim-Evidence Audit",
|
|
50
|
+
"status": "pass",
|
|
51
|
+
"detail": "all verdict claims bind to existing evidence with consistent categories",
|
|
52
|
+
"critical": true,
|
|
53
|
+
"blocks_high": false
|
|
54
|
+
},
|
|
55
|
+
"outcome_mapping": {
|
|
56
|
+
"title": "Outcome mapping",
|
|
57
|
+
"status": "warn",
|
|
58
|
+
"detail": "outcome keys known; frame-declared outcomes without evidence: independent_problem_solving, knowledge_gain, reduced_effort",
|
|
59
|
+
"critical": false,
|
|
60
|
+
"blocks_high": false
|
|
61
|
+
},
|
|
62
|
+
"scope_calibration": {
|
|
63
|
+
"title": "Scope calibration",
|
|
64
|
+
"status": "pass",
|
|
65
|
+
"detail": "claims bounded: can=2, cannot=2, exceeds_boundary=0",
|
|
66
|
+
"critical": false,
|
|
67
|
+
"blocks_high": true
|
|
68
|
+
},
|
|
69
|
+
"independent_study_count": {
|
|
70
|
+
"title": "Independent study-sample count",
|
|
71
|
+
"status": "pass",
|
|
72
|
+
"detail": "independent studies=6, samples=6",
|
|
73
|
+
"critical": true,
|
|
74
|
+
"blocks_high": true
|
|
75
|
+
},
|
|
76
|
+
"deterministic_confidence": {
|
|
77
|
+
"title": "Deterministic confidence",
|
|
78
|
+
"status": "pass",
|
|
79
|
+
"detail": "deterministic confidence=High (score=0.893, policy=2026-08-12.v3)",
|
|
80
|
+
"critical": true,
|
|
81
|
+
"blocks_high": true
|
|
82
|
+
},
|
|
83
|
+
"decision_action_consistency": {
|
|
84
|
+
"title": "Decision action consistency",
|
|
85
|
+
"status": "pass",
|
|
86
|
+
"detail": "ADOPT is supported: High confidence with direct primary-outcome evidence",
|
|
87
|
+
"critical": true,
|
|
88
|
+
"blocks_high": false
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
"passed": true,
|
|
92
|
+
"critical_failures": [],
|
|
93
|
+
"high_confidence_allowed": true,
|
|
94
|
+
"max_confidence": "High",
|
|
95
|
+
"enforcement": {
|
|
96
|
+
"rule": "confidence capped at {max}; High confidence requires a fully passing gate and >= 2 independent studies",
|
|
97
|
+
"max_confidence": "High",
|
|
98
|
+
"requires_action_change": false,
|
|
99
|
+
"action_override": null
|
|
100
|
+
}
|
|
101
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"target": "overall",
|
|
3
|
+
"verdict": "PASS",
|
|
4
|
+
"audit_items": {
|
|
5
|
+
"control_group": {
|
|
6
|
+
"status": "met",
|
|
7
|
+
"note": "由本轮真实检索到的证据集评估得出"
|
|
8
|
+
},
|
|
9
|
+
"randomization": {
|
|
10
|
+
"status": "partial",
|
|
11
|
+
"note": "由本轮真实检索到的证据集评估得出"
|
|
12
|
+
},
|
|
13
|
+
"pre_test": {
|
|
14
|
+
"status": "partial",
|
|
15
|
+
"note": "由本轮真实检索到的证据集评估得出"
|
|
16
|
+
},
|
|
17
|
+
"post_test": {
|
|
18
|
+
"status": "met",
|
|
19
|
+
"note": "由本轮真实检索到的证据集评估得出"
|
|
20
|
+
},
|
|
21
|
+
"retention_test": {
|
|
22
|
+
"status": "met",
|
|
23
|
+
"note": "由本轮真实检索到的证据集评估得出"
|
|
24
|
+
},
|
|
25
|
+
"transfer_test": {
|
|
26
|
+
"status": "partial",
|
|
27
|
+
"note": "由本轮真实检索到的证据集评估得出"
|
|
28
|
+
},
|
|
29
|
+
"sample_bias": {
|
|
30
|
+
"status": "partial",
|
|
31
|
+
"note": "由本轮真实检索到的证据集评估得出"
|
|
32
|
+
},
|
|
33
|
+
"self_selection": {
|
|
34
|
+
"status": "partial",
|
|
35
|
+
"note": "由本轮真实检索到的证据集评估得出"
|
|
36
|
+
},
|
|
37
|
+
"measurement_validity": {
|
|
38
|
+
"status": "met",
|
|
39
|
+
"note": "由本轮真实检索到的证据集评估得出"
|
|
40
|
+
},
|
|
41
|
+
"confounders": {
|
|
42
|
+
"status": "partial",
|
|
43
|
+
"note": "由本轮真实检索到的证据集评估得出"
|
|
44
|
+
},
|
|
45
|
+
"instructor_effect": {
|
|
46
|
+
"status": "missing",
|
|
47
|
+
"note": "由本轮真实检索到的证据集评估得出"
|
|
48
|
+
},
|
|
49
|
+
"novelty_effect": {
|
|
50
|
+
"status": "missing",
|
|
51
|
+
"note": "由本轮真实检索到的证据集评估得出"
|
|
52
|
+
},
|
|
53
|
+
"tool_version_effect": {
|
|
54
|
+
"status": "not_applicable",
|
|
55
|
+
"note": "由本轮真实检索到的证据集评估得出"
|
|
56
|
+
},
|
|
57
|
+
"ai_usage_policy": {
|
|
58
|
+
"status": "not_applicable",
|
|
59
|
+
"note": "由本轮真实检索到的证据集评估得出"
|
|
60
|
+
},
|
|
61
|
+
"dropout": {
|
|
62
|
+
"status": "missing",
|
|
63
|
+
"note": "由本轮真实检索到的证据集评估得出"
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
"task_vs_learning_guard": {
|
|
67
|
+
"measured_construct": "delayed retention and transfer, not immediate task speed",
|
|
68
|
+
"equates_task_with_learning": false,
|
|
69
|
+
"note": "本证据集以延迟保持与迁移为主要结果,未把即时练习表现等同于学习。"
|
|
70
|
+
},
|
|
71
|
+
"limitations": [
|
|
72
|
+
"多数研究来自心理学实验室材料,程序设计课程的现场证据相对有限",
|
|
73
|
+
"间隔长度与练习形式在研究中差异较大"
|
|
74
|
+
],
|
|
75
|
+
"suggestions": [
|
|
76
|
+
"在课程内固定每周短检索练习并统一延迟后测口径"
|
|
77
|
+
]
|
|
78
|
+
}
|