eduevidence 5.2.0 → 6.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CONTRIBUTING.md +105 -0
- package/README.md +142 -75
- package/README.zh-CN.md +73 -30
- package/SKILL.md +397 -131
- package/agents/openai.yaml +4 -0
- package/assets/readme/controlled-execution.svg +34 -0
- package/assets/readme/landing-tour.gif +0 -0
- package/assets/readme/logo.png +0 -0
- package/assets/readme/research-workflow.svg +56 -0
- package/assets/readme/studio-graph.png +0 -0
- package/assets/readme/studio-overview.png +0 -0
- package/assets/readme/studio-reports.png +0 -0
- package/assets/readme/studio-tour.gif +0 -0
- package/autoevolve/config.yaml +17 -0
- package/autoevolve/program.md +25 -0
- package/autoevolve/protected.manifest.yaml +34 -0
- package/benchmarks/adversarial/cases.jsonl +7 -0
- package/benchmarks/evidence-library.json +5268 -0
- package/benchmarks/partitions.json +8 -0
- package/bin/eduevidence.js +2 -1
- package/docs/architecture.md +496 -0
- package/docs/autoresearch-evolution-plan.md +2903 -0
- package/docs/autoresearch-implementation-status.md +101 -0
- package/docs/demo-storyboard.md +20 -0
- package/docs/demo-workplace-ai.md +92 -0
- package/docs/demo.md +32 -0
- package/docs/install-guide.md +150 -0
- package/docs/orchestration-role-model.md +1254 -0
- package/docs/release-closeout/README.md +17 -0
- package/docs/release-closeout/frontend-acceptance.md +23 -0
- package/docs/release-closeout/issues.md +19 -0
- package/docs/release-closeout/verification.md +28 -0
- package/docs/release-contract.md +108 -0
- package/docs/research-studio-guide.zh-CN.md +166 -0
- package/docs/sciverse-api.md +125 -0
- package/eduevidence_cli.py +29 -13
- package/engine/_resources.py +13 -0
- package/engine/autoevolve/__init__.py +3 -0
- package/engine/autoevolve/agent_view.py +167 -0
- package/engine/autoevolve/core.py +357 -0
- package/engine/autoevolve/events.py +11 -0
- package/engine/autoevolve/git_workspace.py +77 -0
- package/engine/autoevolve/projection.py +23 -0
- package/engine/autoevolve/runner.py +413 -0
- package/engine/autoevolve/trust.py +146 -0
- package/engine/autoresearch/__init__.py +6 -0
- package/engine/autoresearch/commit.py +132 -0
- package/engine/autoresearch/contracts.py +126 -0
- package/engine/autoresearch/controller.py +207 -0
- package/engine/autoresearch/events.py +12 -0
- package/engine/autoresearch/gap_priority.py +168 -0
- package/engine/autoresearch/projection.py +30 -0
- package/engine/autoresearch/research_memory.py +59 -0
- package/engine/autoresearch/saturation.py +91 -0
- package/engine/briefs.py +2 -1
- package/engine/capabilities.py +1 -0
- package/engine/contracts.py +3 -1
- package/engine/decision_policy.py +96 -0
- package/engine/evidence_graph.py +14 -10
- package/engine/evidencecore.py +7 -5
- package/engine/gaps.py +132 -73
- package/engine/ids.py +2 -0
- package/engine/judge_pack.py +65 -0
- package/engine/library.py +6 -2
- package/engine/library_builtin.py +3 -1
- package/engine/living.py +36 -5
- package/engine/meta_synthesis.py +3 -1
- package/engine/migration.py +88 -3
- package/engine/orchestration.py +460 -0
- package/engine/paths.py +2 -0
- package/engine/pilot.py +36 -33
- package/engine/project.py +2 -2
- package/engine/research_service.py +113 -0
- package/engine/studio_read_model.py +400 -0
- package/engine/taxonomy.py +211 -0
- package/engine/tribunal.py +44 -33
- package/engine/update.py +1 -0
- package/engine/versions.py +1 -1
- package/engine/worker_result.py +109 -0
- package/engine/workflows.py +70 -0
- package/examples/ai-coding-assistant-evidence/EduEvidence_Report.html +2934 -0
- package/examples/ai-coding-assistant-evidence/artifact_manifest.json +15 -0
- package/examples/ai-coding-assistant-evidence/citation_check.json +79 -0
- package/examples/ai-coding-assistant-evidence/claims.jsonl +12 -0
- package/examples/ai-coding-assistant-evidence/evaluation.json +35 -0
- package/examples/ai-coding-assistant-evidence/evidence.jsonl +12 -0
- package/examples/ai-coding-assistant-evidence/final_verdict.json +107 -0
- package/examples/ai-coding-assistant-evidence/frame.json +48 -0
- package/examples/ai-coding-assistant-evidence/gate_report.json +101 -0
- package/examples/ai-coding-assistant-evidence/intervention.json +51 -0
- package/examples/ai-coding-assistant-evidence/methodology.json +36 -0
- package/examples/ai-coding-assistant-evidence/raw_verdict.json +86 -0
- package/examples/ai-coding-assistant-evidence/report_spec.json +230 -0
- package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_academic.html +2934 -0
- package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_claude.html +2934 -0
- package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_datalab-dark.html +2934 -0
- package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_datalab.html +2934 -0
- package/examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_presentation.html +2934 -0
- package/examples/ai-coding-assistant-evidence/reports-5themes/report_academic.html +2934 -0
- package/examples/ai-coding-assistant-evidence/reports-5themes/report_claude.html +2934 -0
- package/examples/ai-coding-assistant-evidence/reports-5themes/report_datalab-dark.html +2934 -0
- package/examples/ai-coding-assistant-evidence/reports-5themes/report_datalab.html +2934 -0
- package/examples/ai-coding-assistant-evidence/reports-5themes/report_presentation.html +2934 -0
- package/examples/ai-coding-assistant-evidence/result.json +1457 -0
- package/examples/ai-coding-assistant-evidence/result.zh.json +1457 -0
- package/examples/ai-coding-assistant-evidence/skeptic.json +72 -0
- package/examples/ai-coding-assistant-evidence/sources.jsonl +8 -0
- package/examples/ai-coding-assistant-evidence/verdict.json +107 -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_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 -0
- package/examples/workplace-ai-assistant/evaluation.json +19 -0
- package/examples/workplace-ai-assistant/evidence.jsonl +4 -0
- package/examples/workplace-ai-assistant/evidence_graph.json +444 -0
- package/examples/workplace-ai-assistant/final_verdict.json +78 -0
- package/examples/workplace-ai-assistant/frame.json +41 -0
- package/examples/workplace-ai-assistant/gate_report.json +101 -0
- package/examples/workplace-ai-assistant/intervention.json +27 -0
- package/examples/workplace-ai-assistant/legacy-link-check.json +16 -0
- package/examples/workplace-ai-assistant/methodology.json +60 -0
- package/examples/workplace-ai-assistant/report_spec.json +224 -0
- package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_academic.html +2814 -0
- package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_claude.html +2814 -0
- package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_datalab-dark.html +2814 -0
- package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_datalab.html +2814 -0
- package/examples/workplace-ai-assistant/reports-5themes/EduEvidence_Report_presentation.html +2814 -0
- 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 +615 -0
- package/examples/workplace-ai-assistant/result.zh.json +615 -0
- package/examples/workplace-ai-assistant/search_log.json +19 -0
- package/examples/workplace-ai-assistant/skeptic.json +72 -0
- package/examples/workplace-ai-assistant/sources.jsonl +3 -0
- package/examples/workplace-ai-assistant/validation_result.json +9 -0
- package/examples/workplace-ai-assistant/verdict.json +78 -0
- package/install.sh +7 -7
- package/integrations/agent_mcp.py +2 -2
- package/integrations/orchestration_dispatch.py +146 -0
- package/package.json +46 -3
- package/pyproject.toml +14 -22
- package/references/autoresearch.md +30 -0
- package/references/evaluation-policy.md +24 -0
- package/references/orchestration.md +22 -0
- package/references/report-copy-style.md +67 -0
- package/references/retrieval-compliance.md +75 -0
- package/references/retrieval-protocol.md +20 -0
- package/references/scientific-invariants.md +19 -0
- package/retrieval/audit.py +178 -0
- 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/intervention.schema.json +106 -21
- package/schemas/report-result.schema.json +12 -4
- 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/project.schema.json +2 -2
- package/schemas/v2/run.schema.json +1 -1
- package/schemas/v2/study.schema.json +5 -1
- package/schemas/vNext/autoevolve-session.schema.json +34 -0
- package/schemas/vNext/eval-snapshot.schema.json +77 -0
- package/schemas/vNext/execution-plan.schema.json +50 -0
- package/schemas/vNext/gap-priority.schema.json +54 -0
- package/schemas/vNext/negative-search-record.schema.json +68 -0
- package/schemas/vNext/research-iteration.schema.json +87 -0
- package/schemas/vNext/research-strategy.schema.json +62 -0
- package/schemas/vNext/skill-experiment.schema.json +90 -0
- package/schemas/vNext/task-spec.schema.json +156 -0
- package/schemas/vNext/worker-result.schema.json +60 -0
- package/schemas/verdict.schema.json +164 -28
- package/scripts/benchmark_judge.py +2 -2
- package/scripts/benchmark_v3.py +26 -43
- package/scripts/build_esl_artifacts.py +4 -4
- package/scripts/build_evidence_library.py +2 -2
- package/scripts/build_gh_pages.py +98 -0
- package/scripts/build_readme_diagrams.py +72 -0
- package/scripts/build_report_variants.py +101 -0
- package/scripts/build_result.py +74 -9
- package/scripts/check_autoresearch_invariants.py +95 -0
- 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/daily_evolve.py +30 -0
- package/scripts/dashboard_server.py +130 -101
- package/scripts/did_regression.py +17 -32
- package/scripts/enrich_projects_human_and_lieflat.py +1 -1
- package/scripts/evidence_score.py +5 -2
- package/scripts/generate_metrics.py +4 -3
- package/scripts/generate_new_projects.py +5 -5
- package/scripts/orchestrator.py +286 -36
- package/scripts/pre_verdict_gate.py +224 -26
- package/scripts/quickstart.py +18 -2
- package/scripts/rebake_all_5themes.py +1 -2
- package/scripts/research_auto_cli.py +475 -0
- package/scripts/run_workspace.py +24 -8
- package/scripts/search_provenance.py +64 -0
- package/scripts/serve_web.py +9 -10
- package/scripts/skill_lint.py +1 -1
- package/scripts/skill_payload.py +81 -0
- package/scripts/test_adversarial_empirical.py +26 -19
- package/scripts/validate_schema.py +46 -2
- package/scripts/vnext_cli.py +133 -0
- package/setup.py +12 -0
- 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 +45 -0
- 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 +40 -6
- 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 +38 -0
- 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 +37 -0
- package/skill/task-briefs/retrieve.md +36 -6
- package/skill/workflows/decision-and-pilot.md +85 -0
- package/skill/workflows/evaluate-and-update.md +93 -0
- package/skill/workflows/evidence-review.md +117 -0
- package/visualization/eduevidence-report/assets/base.css +2 -2
- package/visualization/eduevidence-report/assets/reader.css +752 -0
- package/visualization/eduevidence-report/assets/reader.js +132 -0
- package/visualization/eduevidence-report/references/chart-selection-catalog.md +109 -0
- package/visualization/eduevidence-report/references/lieflat-composition.md +3 -1
- 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 +561 -121
- package/visualization/eduevidence-report/scripts/charts_data.py +2 -0
- package/visualization/eduevidence-report/scripts/lieflat_engine.py +371 -136
- package/visualization/eduevidence-report/scripts/zh_labels.py +80 -1
- package/visualization/eduevidence-report/themes/academic.css +1 -1
- package/visualization/eduevidence-report/themes/claude.css +1 -1
- package/visualization/eduevidence-report/themes/datalab-dark.css +2 -2
- package/visualization/eduevidence-report/themes/datalab.css +2 -2
- package/visualization/eduevidence-report/themes/presentation.css +2 -2
- package/web/README.md +18 -0
- package/web/architecture.html +14885 -0
- package/web/index.html +53 -0
- package/web/studio/THIRD_PARTY_LICENSES.txt +146 -0
- package/web/studio/assets/index-B8tkF44Q.css +1 -0
- package/web/studio/assets/index-CQ6Keoyc.js +230 -0
- package/web/studio/config.json +1 -0
- package/web/studio/index.html +14 -0
- package/engine/__pycache__/__init__.cpython-312.pyc +0 -0
- package/engine/__pycache__/analysis.cpython-312.pyc +0 -0
- package/engine/__pycache__/bias.cpython-312.pyc +0 -0
- package/engine/__pycache__/briefs.cpython-312.pyc +0 -0
- package/engine/__pycache__/capabilities.cpython-312.pyc +0 -0
- package/engine/__pycache__/citation_check.cpython-312.pyc +0 -0
- package/engine/__pycache__/contracts.cpython-312.pyc +0 -0
- package/engine/__pycache__/datasets.cpython-312.pyc +0 -0
- package/engine/__pycache__/events.cpython-312.pyc +0 -0
- package/engine/__pycache__/evidence_graph.cpython-312.pyc +0 -0
- package/engine/__pycache__/evidence_review.cpython-312.pyc +0 -0
- package/engine/__pycache__/evidencecore.cpython-312.pyc +0 -0
- package/engine/__pycache__/gap_lens.cpython-312.pyc +0 -0
- package/engine/__pycache__/gaps.cpython-312.pyc +0 -0
- package/engine/__pycache__/graph_store.cpython-312.pyc +0 -0
- package/engine/__pycache__/graph_validate.cpython-312.pyc +0 -0
- package/engine/__pycache__/ids.cpython-312.pyc +0 -0
- package/engine/__pycache__/library.cpython-312.pyc +0 -0
- package/engine/__pycache__/library_builtin.cpython-312.pyc +0 -0
- package/engine/__pycache__/living.cpython-312.pyc +0 -0
- package/engine/__pycache__/log.cpython-312.pyc +0 -0
- package/engine/__pycache__/meta_analysis.cpython-312.pyc +0 -0
- package/engine/__pycache__/meta_synthesis.cpython-312.pyc +0 -0
- package/engine/__pycache__/migration.cpython-312.pyc +0 -0
- package/engine/__pycache__/mode_router.cpython-312.pyc +0 -0
- package/engine/__pycache__/paths.cpython-312.pyc +0 -0
- package/engine/__pycache__/pilot.cpython-312.pyc +0 -0
- package/engine/__pycache__/planner.cpython-312.pyc +0 -0
- package/engine/__pycache__/project.cpython-312.pyc +0 -0
- package/engine/__pycache__/projections.cpython-312.pyc +0 -0
- package/engine/__pycache__/robustness.cpython-312.pyc +0 -0
- package/engine/__pycache__/run.cpython-312.pyc +0 -0
- package/engine/__pycache__/semantics.cpython-312.pyc +0 -0
- package/engine/__pycache__/study_design.cpython-312.pyc +0 -0
- package/engine/__pycache__/synthesis.cpython-312.pyc +0 -0
- package/engine/__pycache__/tribunal.cpython-312.pyc +0 -0
- package/engine/__pycache__/update.cpython-312.pyc +0 -0
- package/engine/__pycache__/versions.cpython-312.pyc +0 -0
- package/integrations/__pycache__/__init__.cpython-312.pyc +0 -0
- package/integrations/__pycache__/agent_mcp.cpython-312.pyc +0 -0
- package/integrations/__pycache__/smart_web_fetch.cpython-312.pyc +0 -0
- package/retrieval/__pycache__/__init__.cpython-312.pyc +0 -0
- package/retrieval/__pycache__/corpus_store.cpython-312.pyc +0 -0
- package/retrieval/__pycache__/dedupe.cpython-312.pyc +0 -0
- package/retrieval/__pycache__/failures.cpython-312.pyc +0 -0
- package/retrieval/__pycache__/fetch.cpython-312.pyc +0 -0
- package/retrieval/__pycache__/search.cpython-312.pyc +0 -0
- package/retrieval/__pycache__/source.cpython-312.pyc +0 -0
- package/retrieval/__pycache__/validate.cpython-312.pyc +0 -0
- package/scripts/__pycache__/__init__.cpython-312.pyc +0 -0
- package/scripts/__pycache__/benchmark.cpython-312.pyc +0 -0
- package/scripts/__pycache__/benchmark_evaluator.cpython-312.pyc +0 -0
- package/scripts/__pycache__/benchmark_judge.cpython-312.pyc +0 -0
- package/scripts/__pycache__/benchmark_routing.cpython-312.pyc +0 -0
- package/scripts/__pycache__/benchmark_v2.cpython-312.pyc +0 -0
- package/scripts/__pycache__/benchmark_v3.cpython-312.pyc +0 -0
- package/scripts/__pycache__/build_result.cpython-312.pyc +0 -0
- package/scripts/__pycache__/claim_audit.cpython-312.pyc +0 -0
- package/scripts/__pycache__/complexity_gate.cpython-312.pyc +0 -0
- package/scripts/__pycache__/compute_confidence.cpython-312.pyc +0 -0
- package/scripts/__pycache__/dashboard_server.cpython-312.pyc +0 -0
- package/scripts/__pycache__/did_regression.cpython-312.pyc +0 -0
- package/scripts/__pycache__/effect_calculator.cpython-312.pyc +0 -0
- package/scripts/__pycache__/evidence_matrix.cpython-312.pyc +0 -0
- package/scripts/__pycache__/evidence_score.cpython-312.pyc +0 -0
- package/scripts/__pycache__/evidence_semantics.cpython-312.pyc +0 -0
- package/scripts/__pycache__/fetch_benchmark.cpython-312.pyc +0 -0
- package/scripts/__pycache__/lint_report_layout.cpython-312.pyc +0 -0
- package/scripts/__pycache__/orchestrator.cpython-312.pyc +0 -0
- package/scripts/__pycache__/pre_verdict_gate.cpython-312.pyc +0 -0
- package/scripts/__pycache__/recompute_demo_quality.cpython-312.pyc +0 -0
- package/scripts/__pycache__/render_report.cpython-312.pyc +0 -0
- package/scripts/__pycache__/render_report_html.cpython-312.pyc +0 -0
- package/scripts/__pycache__/run_workspace.cpython-312.pyc +0 -0
- package/scripts/__pycache__/skill_lint.cpython-312.pyc +0 -0
- package/scripts/__pycache__/startup_probe.cpython-312.pyc +0 -0
- package/scripts/__pycache__/sync_killer_demo_report.cpython-312.pyc +0 -0
- package/scripts/__pycache__/test_adversarial_empirical.cpython-312-pytest-9.0.2.pyc +0 -0
- package/scripts/__pycache__/test_adversarial_empirical.cpython-312-pytest-9.1.1.pyc +0 -0
- package/scripts/__pycache__/validate_schema.cpython-312.pyc +0 -0
- package/visualization/eduevidence-report/scripts/__pycache__/adapter_contract.cpython-312.pyc +0 -0
- package/visualization/eduevidence-report/scripts/__pycache__/build_artifact_manifest.cpython-312.pyc +0 -0
- package/visualization/eduevidence-report/scripts/__pycache__/build_charts.cpython-312.pyc +0 -0
- package/visualization/eduevidence-report/scripts/__pycache__/build_figures.cpython-312.pyc +0 -0
- package/visualization/eduevidence-report/scripts/__pycache__/build_infographics.cpython-312.pyc +0 -0
- package/visualization/eduevidence-report/scripts/__pycache__/build_report.cpython-312.pyc +0 -0
- package/visualization/eduevidence-report/scripts/__pycache__/charts_data.cpython-312.pyc +0 -0
- package/visualization/eduevidence-report/scripts/__pycache__/lieflat_engine.cpython-312.pyc +0 -0
- package/visualization/eduevidence-report/scripts/__pycache__/zh_labels.cpython-312.pyc +0 -0
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
# EduEvidence vNext Autoresearch — Implementation Status
|
|
2
|
+
|
|
3
|
+
This file maps `docs/autoresearch-evolution-plan.md` to shipped runtime surfaces.
|
|
4
|
+
|
|
5
|
+
## Phase 0 — Architecture Freeze
|
|
6
|
+
|
|
7
|
+
Implemented:
|
|
8
|
+
- `docs/autoresearch-evolution-plan.md`
|
|
9
|
+
- `docs/orchestration-role-model.md`
|
|
10
|
+
- `references/scientific-invariants.md`
|
|
11
|
+
|
|
12
|
+
## Phase 1 — Orchestration Clarity
|
|
13
|
+
|
|
14
|
+
Implemented:
|
|
15
|
+
- `engine/orchestration.py` — RoleSpec, TaskSpec, ExecutionPlan, deterministic S/M/L planner, Single Writer guard.
|
|
16
|
+
- `skill/roles/registry.yaml` — role accountability registry; legacy `skill/agents/*` remain compatibility profiles.
|
|
17
|
+
- `integrations/orchestration_dispatch.py` — TaskSpec → existing Agent MCP `safe_spawn()` gate.
|
|
18
|
+
- Parallelization is by evidence axis; hard cap 6; S defaults to zero subagents.
|
|
19
|
+
|
|
20
|
+
## Phase 2 — Evidence Research Memory
|
|
21
|
+
|
|
22
|
+
Implemented:
|
|
23
|
+
- `engine/autoresearch/contracts.py` — ResearchStrategy, ResearchIteration, NegativeSearchRecord and budgets/status.
|
|
24
|
+
- `engine/autoresearch/research_memory.py` — append-only iteration and negative-search JSONL memory.
|
|
25
|
+
- `schemas/vNext/*` contracts.
|
|
26
|
+
|
|
27
|
+
## Phase 3 — Gap Priority / DVI
|
|
28
|
+
|
|
29
|
+
Implemented:
|
|
30
|
+
- `engine/autoresearch/gap_priority.py` — explainable HIGH/MEDIUM/LOW conceptual DVI.
|
|
31
|
+
- DVI is explicitly not EVPI/EVSI or a probability.
|
|
32
|
+
- Existing `engine/gaps.py` remains the authority for evidence-grounded gap derivation.
|
|
33
|
+
|
|
34
|
+
## Phase 4 — Bounded Evidence Autoresearch
|
|
35
|
+
|
|
36
|
+
Implemented:
|
|
37
|
+
- `engine/autoresearch/controller.py` — select one unresolved gap, create one research hypothesis/strategy, consume bounded staging results, append evidence through a single-writer callback, or log no-gain.
|
|
38
|
+
- `eduevidence research auto step/start/status/report/stop` command domain.
|
|
39
|
+
- With no external execution artifact, the command stops at `awaiting_execution`; it never invents search results.
|
|
40
|
+
|
|
41
|
+
## Phase 5 — Search Saturation → Pilot Bridge
|
|
42
|
+
|
|
43
|
+
Implemented:
|
|
44
|
+
- `engine/autoresearch/saturation.py`.
|
|
45
|
+
- Saturation requires consecutive low-yield iterations plus strategy-diversity exhaustion.
|
|
46
|
+
- Empirical transition requires HIGH DVI + decision materiality + unresolved gap + saturation + ethical/operational feasibility.
|
|
47
|
+
- Existing StudyDesign grounding gate remains authoritative for the actual study design.
|
|
48
|
+
|
|
49
|
+
## Phase 6 — Skill Autoresearch MVP
|
|
50
|
+
|
|
51
|
+
Implemented:
|
|
52
|
+
- `engine/autoevolve/core.py` — protected manifest, EvalSnapshot, SkillExperiment, promotion, noise floor, simplicity, append-only log, plateau, daily profile.
|
|
53
|
+
- `engine/autoevolve/git_workspace.py` — isolated `autoresearch/<tag>` worktree, restore, experiment commit, non-force branch push.
|
|
54
|
+
- `engine/autoevolve/runner.py` — bounded external-agent loop with cost, wall-time and plateau ceilings.
|
|
55
|
+
- `autoevolve/program.md`, `config.yaml`, `protected.manifest.yaml`, `results.tsv`, `best.json`.
|
|
56
|
+
- `eduevidence evolve init/baseline/run/status/report/best/prepare-pr`.
|
|
57
|
+
|
|
58
|
+
## Phase 7 — Evaluation Isolation
|
|
59
|
+
|
|
60
|
+
Implemented:
|
|
61
|
+
- `benchmarks/partitions.json` — Q01–Q15 DEV; Q16–Q30 HOLDOUT.
|
|
62
|
+
- `benchmarks/adversarial/cases.jsonl` — fake DOI, snippet-as-evidence, missing CI, task/learning substitution, prompt injection, PII, singular DID.
|
|
63
|
+
- Constraint-first promotion in `engine/autoevolve/core.py`.
|
|
64
|
+
- `references/evaluation-policy.md` defines repeated empirical evaluation, noise floor and Pareto/simplicity policy.
|
|
65
|
+
|
|
66
|
+
Actual paid/model empirical runs are intentionally not fabricated by the repository. The runner accepts external pre-authorized evaluator commands and records their real EvalSnapshot results.
|
|
67
|
+
|
|
68
|
+
## Phase 8 — Daily Evolution
|
|
69
|
+
|
|
70
|
+
Implemented:
|
|
71
|
+
- `scripts/daily_evolve.py`.
|
|
72
|
+
- `.github/workflows/autoevolve-nightly.yml` — scheduled/manual opt-in runner.
|
|
73
|
+
- It is disabled until repository variables explicitly provide the approved agent and evaluator commands.
|
|
74
|
+
- Promotion is branch-only. It may push `autoresearch/*`, but never opens/merges PRs, releases or deploys.
|
|
75
|
+
|
|
76
|
+
## Phase 9 — Studio / Showcase Data Surface
|
|
77
|
+
|
|
78
|
+
Implemented as projection APIs so UI remains a projection rather than canonical state:
|
|
79
|
+
- `engine/autoresearch/projection.py` — decision, DVI-ranked gaps, current iteration, saturation and revision state.
|
|
80
|
+
- `engine/autoevolve/projection.py` — baseline, best, experiment timeline, plateau and protected integrity.
|
|
81
|
+
|
|
82
|
+
The public report does not expose self-evolution debug state by default. A future visual shell can consume these projection APIs without changing scientific state.
|
|
83
|
+
|
|
84
|
+
## CI / Distribution
|
|
85
|
+
|
|
86
|
+
Implemented:
|
|
87
|
+
- `.github/workflows/autoresearch-gates.yml` — scientific invariants, orchestration, schemas, focused tests, wheel subpackage smoke and benchmark partition contract.
|
|
88
|
+
- `scripts/check_autoresearch_invariants.py` — additionally blocks protected mutations on `autoresearch/*` branches.
|
|
89
|
+
- Existing CI updated to current example packs and vNext wheel imports.
|
|
90
|
+
- `packaging/make_upload.sh` ships the vNext runtime/control plane, uses the current real-literature flagship, and surfaces Python compile failures instead of hiding them.
|
|
91
|
+
|
|
92
|
+
## Runtime Principles
|
|
93
|
+
|
|
94
|
+
1. Optimize for decision integrity, not answer confidence.
|
|
95
|
+
2. Optimize the research process, never the conclusion.
|
|
96
|
+
3. Validated evidence is append-only.
|
|
97
|
+
4. One canonical writer; subagents return staging artifacts.
|
|
98
|
+
5. Agent count follows decomposability, not role count.
|
|
99
|
+
6. Evidence Autoresearch cannot modify the Skill/repository.
|
|
100
|
+
7. Skill Autoresearch cannot modify real user research state.
|
|
101
|
+
8. No automatic main merge, release, deployment, policy action, or human-subject study launch.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# 当前 Studio 演示录屏步骤
|
|
2
|
+
|
|
3
|
+
先按 [启动说明](demo.md) 打开 Studio,推荐 1440px 宽度。选用企业客服案例,避免把产品能力仅描述为教学工具。全过程展示已有数据,不演示未经执行的检索进度或模型运行。
|
|
4
|
+
|
|
5
|
+
| 时间 | 实际页面与操作 | 要解释的内容 |
|
|
6
|
+
|---|---|---|
|
|
7
|
+
| 0–25 秒 | 研究总览,搜索“企业客服”,打开案例 | 人工整理文献;3 个来源、4 条发现,PILOT 是待执行建议 |
|
|
8
|
+
| 25–60 秒 | 研究概览:证据支持、未知、适用边界 | 仅一项直接客服现场研究;其他实验属于间接证据 |
|
|
9
|
+
| 60–95 秒 | 证据工作台,打开详情、检查来源和提取定位 | 百分比与百分点不同,未提取的 CI 保留未知,不能作标准化合并 |
|
|
10
|
+
| 95–120 秒 | 溯源图谱,选来源/发现/主张;暂停与恢复流动 | 连线沿已有证据关系追溯,流动只是可视化,不是执行状态 |
|
|
11
|
+
| 120–140 秒 | 运行与事件、版本演变 | 本例未附研究运行历史,不能将报告生成当作九阶段完成 |
|
|
12
|
+
| 140–180 秒 | 报告阅读室,切换主题、中英文、简报/全文,下载 | 五个独立主题;目标人群为客服员工;监督试点和停止规则尚未实施 |
|
|
13
|
+
|
|
14
|
+
补充演示可以打开编程案例,说明同一个读取与渲染系统也支持教育领域。保持各案例的来源和边界,不把客服效率外推为学习收益。
|
|
15
|
+
|
|
16
|
+
## 已生成制品
|
|
17
|
+
|
|
18
|
+
每个公开案例包含 `result.json`、`result.zh.json`、`report_spec.json` 以及 `reports-5themes/` 内的五个独立 HTML。图谱来自 `evidence_graph.json`。这些路径为相对于案例目录的路径,具体入口见 [demo.md](demo.md)。
|
|
19
|
+
|
|
20
|
+
不要使用旧脚本中的 Ask/Frame 写入页面、固定章节编号、旧的 7 条证据/3 个来源统计或不存在的图像文件作为当前录屏依据。真实模型基准演示需要独立运行证据,本次录屏不包含它。
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# 企业客服 AI 助手:人工选编的组织政策 demo
|
|
2
|
+
|
|
3
|
+
核验日期:2026-09-08。独立目录:`examples/workplace-ai-assistant/`。
|
|
4
|
+
|
|
5
|
+
本例回答“企业客服团队是否应引入生成式 AI 助手”,使用 `domains/policy/frame.schema.json`。建议 **PILOT:有监督、分岗位资历、限定任务的试点**。这是 `manual_curated` 文献演示,不属于模型执行 benchmark、系统综述或已完成的企业实验。未调用外部付费模型,未创建 Run、真实研究状态或部署记录。没有模型调用用量记录,因此不填执行拓扑、token、成本或虚构零值。
|
|
6
|
+
|
|
7
|
+
## 原文与版本核验
|
|
8
|
+
|
|
9
|
+
所有入选证据均读取出版方或原作者提供的原文;搜索摘要只用于发现。以下为释义,不是直接引文。来源条目及精确定位也保存在 `sources.jsonl`。
|
|
10
|
+
|
|
11
|
+
| 来源 | 原文关键事实和定位 | 适用限制 |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| S-001 Brynjolfsson, Li & Raymond (2025), [Generative AI at Work](https://academic.oup.com/qje/article/140/2/889/7990658), DOI `10.1093/qje/qjae044` | QJE 正式版本;III.B / 表 I:5,172 名客服、3,006,395 次会话。摘要、IV.A / 表 II:每小时解决问题数约增加 15%;会话处理时间下降。摘要、IV.B:资深高技能员工质量有小幅下降。VIII 说明外推限制。 | 直接客服证据,但为一家企业的非随机分批上线、特定工具与稳定产品支持;不能当作所有企业的平均因果效应。E-004 与 E-001 同一队列,亚组人数未提取,保留 null。 |
|
|
14
|
+
| S-002 Noy & Zhang (2023), [作者提供的 Science 对应稿](https://shakkednoy.com/Noy%20Zhang%20NBER%20SI.pdf), DOI `10.1126/science.adh2586` | PDF 第 1 页摘要、第 3 页 Method:453 名受过大学教育的职场人士,随机分配 ChatGPT;平均任务用时约减少 40%,评定写作质量约提高 18%。第 7 页 Limitations:任务不要求精确事实及特定情境知识。 | **间接证据,不可直接推广**到真实客服、事实安全或收益预测。没有把写作质量叫作学习效果。Science 页面读取失败,改读作者原稿;MIT 早期 444 人工作稿只用于版本辨别,未混用其中样本或效应。 |
|
|
15
|
+
| S-003 Dell’Acqua et al. (2026), [Organization Science 正式原文](https://pubsonline.informs.org/doi/10.1287/orsc.2025.21838), DOI `10.1287/orsc.2025.21838` | 页面明确发表于 2026-03-11;整项研究 758 人。4.2 / 图 5 / 表 7:超出能力边界任务分析人数 **373**;对照正确率约 84.5%,两个 AI 组约 60% / 70.6%,合并约低 **19 个百分点**。 | **间接证据,不可直接推广**:顾问完成实验商业案例,不是真实客服工单。正文与摘要“19%”口径不一致,采用正文明确的百分点。采用正式版,未照搬 2023 工作稿的质量提升数字。 |
|
|
16
|
+
|
|
17
|
+
网络工具实际打开 QJE 正文时跳转到 `https://oup.silverchair-cdn.com/article-minimal/7990658`。HBS 工作稿 PDF 读取失败,但同研究正式出版全文可读。未执行 Crossref 注册核验或撤稿库查询,因此不声明 `doi_verified=true` 或 `retracted=false`。不保存或再分发整篇版权原文。
|
|
18
|
+
|
|
19
|
+
`search_log.json` 记录人工检索计划、实际查询、失败读取、版本排除和停止理由。本次只有一项直接客服研究;不能声称检索穷尽,尤其不能声称不存在其他直接研究或零结果。
|
|
20
|
+
|
|
21
|
+
## 集成验收更新(2026-09-08)
|
|
22
|
+
|
|
23
|
+
以下旧审计表是子任务交付时的快照。主任务已经修复领域读取和干预契约:`meta.domain=policy`、`target_population` 可通过 schema,Studio 本地和静态 API 均显示 policy,报告使用“目标人群”。五主题已由共享构建器生成并经过浏览器加载检查;测试同时确认 3 个来源、4 条发现、0 条运行记录。旧例已迁入测试 fixtures,孤立生成目录已删除。原始来源和人工整理属性不变;真实模型九阶段运行仍未验证。
|
|
24
|
+
|
|
25
|
+
## 科学数据口径
|
|
26
|
+
|
|
27
|
+
- 四条 evidence、三项独立研究、三组已纳入样本;不能按四条证据称为四项研究。咨询研究的 758 是总体人数,反证条目使用表 7 的 373。
|
|
28
|
+
- E-001 的 `completion_time` 对应会话处理时间的定性下降。其 `extensions.raw_result` 中 15% 明确标为**另一个吞吐量指标**,不当作处理时间降幅。E-002 的 −40% 是用时相对变化;写作质量 +18% 只作独立文字描述。E-003 的 −19 是正确率绝对百分点变化。
|
|
29
|
+
- `effect_direction` 记录原研究观察方向;`relation_to_claim` 记录支持某项主张。反证 E-003/E-004 支持“可能发生质量损害”这一谨慎主张,因此关系是 support,效应方向是 negative。不能把支持关系的数量叫作受益研究数量。
|
|
30
|
+
- 没有计算 Hedges g、合并效应或置信度概率。`forest_plot_data=[]`,图中标准化效应、CI、p、置信度分数均为 null。原文确有部分回归标准误、p 值阈值及其他尺度的区间,但没有为本例所列摘要估计量提取匹配区间;**null 意为本例未提取,不是论文完全没报告,也不是零效应**。
|
|
31
|
+
- Moderate 与 pilot 边界由确定性策略(engine/decision_policy.py)计算并经 Pre-Verdict Gate 的决策动作一致性项复核:3 项研究、4 条证据、confidence_score=0.578、策略版本 2026-08-12.v3。它仍是对全面部署充分性的保守判断,不是概率。三项选择性证据不支持发表偏倚检验或元分析。
|
|
32
|
+
- 图的日期时间仅是核验日标记,`intent.timestamp_note` 明确不是运行时间。未伪造先试点、后更新的历史。
|
|
33
|
+
|
|
34
|
+
## 决策、试点与停止
|
|
35
|
+
|
|
36
|
+
`G-001` 指向本地成本、隐私、亚组质量与持续表现证据缺口,连到 E-001 至 E-004;试点及评估都绑定该 gap。建议两周基线、六周试点只是规划参数,未执行。需先用本地变异估计样本量、确定质量非劣界值与净成本阈值,未预先编造一个“统计充分”的人数。
|
|
37
|
+
|
|
38
|
+
按团队分配试点与同期对照,按资历和基线表现分层;记录污染并采用意向治疗、团队聚类不确定性估计。除有效解决量/付薪工时,还要盲评质量、重复联系、人工复核成本。初期仅开放知识库覆盖的低风险队列,人工审查所有回复;保留专家否决权。
|
|
39
|
+
|
|
40
|
+
隐私控制、供应商数据条款审查、访问/留存限制是建议的实施条件,**不是这三项研究已经证明有效的干预**。陌生、模糊、高风险及超出权限任务转交合格人员,不自动承诺赔付等事项。核实隐私泄漏、严重危险建议或越权承诺即暂停;质量跨越预先约定非劣界值则暂停扩展。满足质量、安全、效率和净成本条件后再议扩展,不把吞吐量收益直接换算成裁员依据。
|
|
41
|
+
|
|
42
|
+
## 契约限制和主代理集成事项
|
|
43
|
+
|
|
44
|
+
本子任务不修改共享代码。以下是当前读取代码的精确限制:
|
|
45
|
+
|
|
46
|
+
1. `schemas/report-result.schema.json → properties.meta.additionalProperties=false`,且 meta 没有 domain;`scripts/dashboard_server.py::scan_local_projects` 却读 `meta.domain` 并默认 `education`。本例在 `research_frame.extensions.domain=policy` 合法存储领域,**可被扫描但当前 Studio API 仍误标 education**。建议主代理允许 meta.domain,或从 frame.extensions.domain 回退读取,并同步静态导出。
|
|
47
|
+
2. `schemas/evidence.schema.json → properties.outcome_type.enum` 不接受 policy_effectiveness / implementation_risk。本例采用具有真实非教学含义的 completion_time / accuracy;`extensions.policy_outcome` 保存政策映射。没有改 enum、没有把客服改成学生。后续应按 domain 选择 taxonomy;不要静默把吞吐量转换成时间指标或标准化效应。
|
|
48
|
+
3. `schemas/intervention.schema.json → required` 强制 target_learners。本例明确填“不适用:组织政策”,实际对象在 extensions.target_population;没有 teacher_role、student_role、learning_goals。建议新增独立 policy intervention 契约或领域判别联合类型。
|
|
49
|
+
4. 报告双语门 `visualization/eduevidence-report/scripts/build_report.py::compare_parallel_result` 只允许白名单文本键翻译;本例扩展叙述用 note / summary,避免 description / scope_note 触发结构错误。语言门会把 intervention/evaluation/methodology 的 extensions.domain=policy 误当中文叙述;因此领域只存在 policy frame 和证据结构中。主代理可修复结构键豁免。
|
|
50
|
+
5. `engine/evidence_graph.py::EvidenceNode` 和 ClaimNode / DecisionNode 有默认数字。本例显式覆盖未知效应、置信度及 pooled_effect_g,避免默认 0、0.05 或 0.85 冒充测量。当前反序列化 roundtrip 通过;某些未测试的下游可能仍假定数值,需主代理完成全报告检查。
|
|
51
|
+
6. 要求读取的 `docs/CODEX-NAVIGATION-GUIDE.md` 不存在。本例依照根 SKILL.md、evidence-review workflow、policy frame/taxonomy/checklist 和参考示例执行。
|
|
52
|
+
|
|
53
|
+
## 子任务验证记录与演示
|
|
54
|
+
|
|
55
|
+
在仓库根目录运行:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
python3 examples/workplace-ai-assistant/validate.py
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
2026-09-08 实际结果:**PASS**;27 个 schema 对象通过(双语 report/frame/verdict/intervention/evaluation/source/evidence/methodology,加 report spec)。独立 stage 文件与 result 内容一致;图反序列化 roundtrip、所有边端点、研究去重、样本口径、空标准化效应、构建器 contract/claim/bilingual/language/numbers/precision 输入门均通过。只读 Studio scanner 找到 `workplace-ai-assistant`,4 条证据、图存在、0 个标准化效应;domain 如上仍是 education。
|
|
62
|
+
|
|
63
|
+
`curate.py` 可以再生本目录的人工整理投影,不运行模型或研究;日后补充新证据应新建 revision,不用再生脚本覆盖既有研究历史。验证脚本不生成 HTML,不需要网络,也不修改研究状态。
|
|
64
|
+
|
|
65
|
+
演示步骤(主代理统一生成报告后):
|
|
66
|
+
|
|
67
|
+
1. `python3 scripts/dashboard_server.py --host 127.0.0.1 --port 8765`,进入 `/studio/`,搜索本例中文问题。
|
|
68
|
+
2. 查看 PILOT、四条证据、原文链接和证据图;说明仅一项直接客服研究,其他为间接证据。不能把当前错误领域标签当成教育适用性证明。
|
|
69
|
+
3. 对照 E-003 的 373 与 study_total_n=758,展示百分点与百分比区分、null 保留、森林图无可合并效应。
|
|
70
|
+
4. 查看 G-001、试点条件、隐私和质量停止规则,强调方案尚未执行。
|
|
71
|
+
5. 主代理统一调用现有五主题构建器后,再查看五个独立离线双语报告。**本子任务未生成报告、未运行真实浏览器验收、未验证五主题最终 HTML**。`report_spec.json` 是符合 schema 的计划输入,无虚构 integrity PASS。
|
|
72
|
+
|
|
73
|
+
现有 `scripts/build_report_variants.py --examples` 参数接收包含项目目录的父目录,不是单个项目;主代理统一构建可用 `python3 scripts/build_report_variants.py --examples examples`,注意这会更新其他 demo 的报告,超出本子任务权限。
|
|
74
|
+
|
|
75
|
+
## 子任务交付时的旧 examples 审计快照
|
|
76
|
+
|
|
77
|
+
审计为当前工作树快照;其他代理同时工作,不能据此还原文件。没有实际删除或更新旧 demo。
|
|
78
|
+
|
|
79
|
+
| 目录 | 当前发现 | 建议及引用影响 |
|
|
80
|
+
|---|---|---|
|
|
81
|
+
| ai-coding-assistant | 是指向 ai-coding-assistant-evidence 的符号链接,不是第二份独立实证 | 保留兼容链接,统一公开入口到 evidence 目录。多个 `tests/test_build_*.py`、test_render_report.py、test_validate_schema.py、test_bilingual_contract.py 和 docs/demo.md、demo-storyboard.md 使用旧别名;改引用后再议移除。 |
|
|
82
|
+
| ai-coding-assistant-evidence | manual_curated;12 evidence、8 sources;meta.version=5.2.0,作为旗舰有独立价值 | 保留并由主代理审查、再烘焙;不要因为版本字符串旧就重写 provenance。本例是组织政策问题,不复制其教学结论。README 双语、docs/install-guide.md、CI 来源验证、dashboard 测试依赖它。 |
|
|
83
|
+
| ai-coding-assistant-50 | 没有 result.json,只有 reports-5themes;混有 report_* 和 EduEvidence_Report_* 两套文件,scanner 不收录 | 建议删除孤立陈旧报告目录,先查全仓引用和发布包残留。docs/plans/v5.2-v6.0-iteration-plan.md 记录过其随机效应/伪造 DOI 问题;本次没有把历史审计当作重新核验每篇论文的结果。 |
|
|
84
|
+
| ai-tutor | 老格式 1.0.0、6 evidence;未标 data_origin;与高中数学 synthetic demo 主题相近但目标人群不同;引用真实 URL不等于本次已核验提取 | 保留前补人工来源核验、双语及 provenance、非直接人群边界;或合并成一个有依据的数学主题。README 双语、test_validate_schema.py、web/api/projects.json 和 projects/ai-tutor/viz.json 有依赖。 |
|
|
85
|
+
| ai-writing-assistant | 老格式 1.0.0、8 evidence;未标 data_origin;与 ESL synthetic demo 主题重叠 | 优先更新这个有真实 URL 的版本,重新验证论文与主张匹配后再决定保留。README 双语、test_validate_schema.py、web/api/projects.json 及对应 viz.json 有依赖。 |
|
|
86
|
+
| esl-academic-writing-ai | 明确 synthetic、16 evidence;部分 evidence 无 source_location;示例 DOI `10.125/llt.2024.08` 不能作为有效研究证据 | 建议从公开实证演示中删除;如软件回归需要,迁入明确 fixture 目录并替换伪论文指针。清理 web/api/projects/esl-academic-writing-ai/viz.json 和 README 的 synthetic 分类入口;不要先删再留下静态卡片。 |
|
|
87
|
+
| highschool-math-ai-tutor | 明确 synthetic、16 evidence;示例 DOI `10.1016/j.compedu.2025.104920` 需隔离,不能凭 DOI 样式当作真实 | 同上:从公开实证演示删除或迁为 fixture,并更新 web/api/projects/highschool-math-ai-tutor/viz.json、README 分类说明。 |
|
|
88
|
+
| full-research-cycle-fixture | 名称及 docs/benchmark.md 明确为合成机制测试;没有 result.json,不进入 scanner | 保留为软件 fixture,不作为研究结果展示;删除会影响文档中 DID 演示用途。 |
|
|
89
|
+
|
|
90
|
+
已确认的本地断链接:`docs/demo-storyboard.md:108–110` 所述 `examples/ai-coding-assistant/chart_specs.json`、`infographics.json`、`figures/` 均不存在;同文第 111 行仍写 7 证据 / 3 来源,与当前旗舰 12 / 8 不符。建议更新为当前实际产物与数量,或由主代理统一生成后再引用。
|
|
91
|
+
|
|
92
|
+
外链检查仅抽查上述两条 synthetic DOI:web 工具都返回无法安全打开,**该错误本身不证明 DOI 404**;随后 urllib 实际请求确认两条均为 **HTTP 404**,结果保存在 `legacy-link-check.json`。未对所有旧 demo 的每个外链、DOI 标题一致性、撤稿情况做穷尽审计。`website/` 目录不存在,实际静态站点在 `web/`;本次读取了静态 projects 索引及相关 viz 文件引用,未修改它们。
|
package/docs/demo.md
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# EduEvidence 当前演示入口
|
|
2
|
+
|
|
3
|
+
公开目录包含两个有独立问题的人工文献案例。它们用于演示如何阅读证据和决策;不能用报告的存在证明模型已经执行研究或试点已经实施。
|
|
4
|
+
|
|
5
|
+
| 案例 | 输入 | 当前制品 |
|
|
6
|
+
|---|---|---|
|
|
7
|
+
| 编程学习 | `examples/ai-coding-assistant-evidence/result.json` | 12 条发现、8 个来源,教学领域;PILOT |
|
|
8
|
+
| 企业客服 | `examples/workplace-ai-assistant/result.json` | 4 条发现、3 个来源,组织政策领域;PILOT |
|
|
9
|
+
|
|
10
|
+
两个案例都区分任务表现与目标结果、直接与间接证据、已经提取的数值与未知值。客服案例的来源版本、数量口径和局限见 [核验说明](demo-workplace-ai.md)。旧教学案例保存在 `tests/fixtures/legacy-examples/`,不进入公开案例列表。
|
|
11
|
+
|
|
12
|
+
## 启动与生成
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
python3 scripts/dashboard_server.py --host 127.0.0.1 --port 8765
|
|
16
|
+
# 浏览器访问 http://127.0.0.1:8765/studio/
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
Studio 是只读观察台。通过研究总览打开案例,依次阅读概览、证据工作台、溯源图谱、运行记录、版本和报告。没有执行历史时应显示缺失说明,不能填充虚构成功阶段。
|
|
20
|
+
|
|
21
|
+
源码开发者修改报告共享样式后重新生成:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
python3 scripts/build_report_variants.py --examples examples
|
|
25
|
+
python3 examples/workplace-ai-assistant/validate.py
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
五主题 HTML 位于各案例的 `reports-5themes/`,分别为 claude、academic、datalab、datalab-dark、presentation。报告支持中英和简报/全文切换,也可以下载后离线阅读。分发包附带预构建 Studio,启动不要求 Node。
|
|
29
|
+
|
|
30
|
+
演示时只展示实际文件中的证据、结论和边界。图谱流动表示连线方向,不表示后台研究正在运行。基准评测必须单独说明输入、模型、运行记录和样本数量;本演示未开展新的真实模型评测。
|
|
31
|
+
|
|
32
|
+
参见 [录屏步骤](demo-storyboard.md) 和 [发布收尾验收](release-closeout/README.md)。
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
# EduEvidence 安装指南(AI 可读版)
|
|
2
|
+
|
|
3
|
+
> 本文件是**写给 AI Agent 看的安装说明**。人类用户直接看 README 的快速安装即可。
|
|
4
|
+
> 如果你的宿主 Agent 不在下方"内置 host"列表里,按 **第 4 节通用提示词** 交给任意支持 skill 装载的 AI。
|
|
5
|
+
|
|
6
|
+
## 0. 这是什么
|
|
7
|
+
|
|
8
|
+
EduEvidence 是一个**证据研究与决策 Scientific Skill**,内置教育与组织政策领域:把研究问题转化为可追溯、可验证的证据决策流程(检索→反证→方法学审计→证据裁决→干预设计→双语 HTML 报告)。
|
|
9
|
+
|
|
10
|
+
Skill 本体结构:
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
SKILL.md Skill 入口(When to Use / 9 步 Workflow / 输出契约)
|
|
14
|
+
skill/agents/ 角色协议(Planner / Retriever / Analyst / Skeptic / …)
|
|
15
|
+
references/ 研究方法与领域参考文档
|
|
16
|
+
schemas/ JSON Schema 数据契约
|
|
17
|
+
scripts/ 确定性逻辑脚本(评分 / 审计 / 置信度 / 报告渲染)
|
|
18
|
+
retrieval/ 检索与抓取层(fetch / validate / dedupe)
|
|
19
|
+
integrations/ Agent MCP 增强层 + Smart Web Fetch 集成
|
|
20
|
+
visualization/ HTML 渲染器(5 主题双语报告)
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## 1. 快速安装(人类用户,三选一)
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
# 方式 A:npm(推荐 — 安装为 Agent Skill,无需 clone 仓库)
|
|
27
|
+
npm install -g eduevidence
|
|
28
|
+
eduevidence skill # 交互式选择宿主(claude / cursor / codex / all / custom …)
|
|
29
|
+
eduevidence skill --list-hosts
|
|
30
|
+
# 非交互:eduevidence skill --host cursor
|
|
31
|
+
|
|
32
|
+
# 方式 B:curl 一键(自动 clone 到 ./eduevidence 并安装)
|
|
33
|
+
# ⚠️ 供应链提示:curl 直跑等于执行远端脚本;更稳妥用方式 B,或把 URL 固定到具体 commit 并先审阅
|
|
34
|
+
bash -c "$(curl -fsSL https://raw.githubusercontent.com/37chengshan/eduevidence/main/install.sh)"
|
|
35
|
+
|
|
36
|
+
# 方式 C:git clone(推荐——可先审阅 install.sh 再执行)
|
|
37
|
+
git clone https://github.com/37chengshan/eduevidence.git && cd eduevidence
|
|
38
|
+
bash install.sh
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
副作用披露:安装会创建 venv、写入 `~/.eduevidence/env`(`AGENT_MCP_INSTALLED=1` 声明);
|
|
42
|
+
覆盖已有 skill 前自动备份。
|
|
43
|
+
|
|
44
|
+
## 2. 安装为 Skill(AI Agent 用户)
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npm install -g eduevidence
|
|
48
|
+
eduevidence skill # 交互式(默认)
|
|
49
|
+
eduevidence skill --list-hosts
|
|
50
|
+
eduevidence skill --dry-run
|
|
51
|
+
eduevidence skill --host claude # 非交互,可选
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
或从 git clone / npm 包目录:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
bash install.sh --skill # 交互式选择安装到哪个 Agent
|
|
58
|
+
bash install.sh --list-hosts # 查看支持的 Agent 与 Skill 落点
|
|
59
|
+
bash install.sh --skill --host claude
|
|
60
|
+
bash install.sh --skill --dry-run # 只预览不写入
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### 各 Agent 的 Skill 落点
|
|
64
|
+
|
|
65
|
+
| Agent | 探测路径 | Skill 安装落点 |
|
|
66
|
+
|---|---|---|
|
|
67
|
+
| Cursor | `~/.cursor` | `~/.cursor/skills/eduevidence/` |
|
|
68
|
+
| Claude Code | `~/.claude` | `~/.claude/skills/eduevidence/` |
|
|
69
|
+
| Codex | `~/.codex` | `~/.agents/skills/`(兼容 `~/.codex/skills/`) |
|
|
70
|
+
| OMP | `~/.omp` | `~/.omp/agent/skills/eduevidence/` |
|
|
71
|
+
| OpenCode | `~/.config/opencode` | `~/.config/opencode/skills/eduevidence/` |
|
|
72
|
+
| Kimi Code | `$KIMI_CODE_HOME` | `~/.kimi-code/skills/eduevidence/` |
|
|
73
|
+
| ZCode | `~/.zcode` | `~/.zcode/skills/eduevidence/` |
|
|
74
|
+
| OpenClaw | `~/.openclaw` | `~/.openclaw/skills/eduevidence/` |
|
|
75
|
+
| Harness | `~/.harness` | `~/.harness/skills/eduevidence/` |
|
|
76
|
+
| Grok | `~/.grok` | `~/.grok/skills/eduevidence/` |
|
|
77
|
+
| GitHub Copilot CLI | `~/.copilot` | `~/.copilot/skills/eduevidence/` |
|
|
78
|
+
| Cline | `~/.cline` | `~/.cline/skills/eduevidence/` |
|
|
79
|
+
|
|
80
|
+
安装时脚本自动备份已有目录(`.bak-<时间戳>`),`--dry-run` 只预览。
|
|
81
|
+
|
|
82
|
+
## 3. 安装后验证
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# 1. 确认 Skill 可读
|
|
86
|
+
ls <你的 skill 目录>/eduevidence/SKILL.md
|
|
87
|
+
|
|
88
|
+
# 2. 确认确定性脚本可运行(自检)
|
|
89
|
+
cd <你的 skill 目录>/eduevidence
|
|
90
|
+
python3 scripts/validate_schema.py --schema schemas/evidence.schema.json \
|
|
91
|
+
--data <示例 evidence.jsonl>
|
|
92
|
+
|
|
93
|
+
# 3. 渲染示例报告(验证 visualization 完整)
|
|
94
|
+
python3 visualization/eduevidence-report/scripts/build_report.py \
|
|
95
|
+
--result examples/ai-coding-assistant-evidence/result.json \
|
|
96
|
+
--out /tmp/eduevidence-smoke.html
|
|
97
|
+
|
|
98
|
+
# 4. 运行全量测试(测试数量见 docs/metrics.json,由 metrics 门校验)
|
|
99
|
+
python3 -m pytest -q
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## 3.5 v3 命令速查(CLI)
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
eduevidence pilot register --project <PRJ> --decision <DEC> --title <T> \
|
|
106
|
+
--start <ISO> --end <ISO> --condition <C> --sample <N> --design <DSN> \
|
|
107
|
+
--outcome <token> # 注册试点(绑定决策快照)
|
|
108
|
+
eduevidence pilot import --project <PRJ> --pilot <PIL> --file out.csv \
|
|
109
|
+
--privacy internal # 导入结果数据(PII 列被拒)
|
|
110
|
+
eduevidence pilot redecide --project <PRJ> --pilot <PIL> --claim <CLM> \
|
|
111
|
+
--outcome <token> --effect positive --result-text "..." \
|
|
112
|
+
--relation support # 图更新 + 再裁决 + diff
|
|
113
|
+
eduevidence synthesize --home <HOME> # 跨项目库综述
|
|
114
|
+
eduevidence benchmark run --baselines B2_standard_agent,B3_eduevidence_single \
|
|
115
|
+
--repeats 3 --driver cli --out benchmarks/empirical/run-001
|
|
116
|
+
eduevidence benchmark eval --run benchmarks/empirical/run-001
|
|
117
|
+
eduevidence benchmark report --run benchmarks/empirical/run-001 \
|
|
118
|
+
--report benchmarks/empirical/v3-report.md
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## 4. 通用提示词(你的 Agent 不在内置列表时)
|
|
122
|
+
|
|
123
|
+
把下面这段提示词**原样**交给你的宿主 Agent(任何支持 skill 装载的 AI):
|
|
124
|
+
|
|
125
|
+
```text
|
|
126
|
+
请按照 https://github.com/37chengshan/eduevidence/blob/main/docs/install-guide.md
|
|
127
|
+
的安装指南,为我把 EduEvidence 安装为 skill:先读取该文档,按第 2 节的落点表
|
|
128
|
+
把 SKILL.md、skill/、references/、schemas/、scripts/、retrieval/、integrations/、
|
|
129
|
+
visualization/ 复制到我的 skill 目录(或按我的装载机制导入),然后按第 3 节
|
|
130
|
+
完成验证(SKILL.md 可读 + 脚本可运行 + 示例报告可渲染)。
|
|
131
|
+
安装完成后:告诉我安装结果,并**询问我是否要为项目点 star**(不要自动执行)。
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
安装完成后 AI 应:
|
|
135
|
+
|
|
136
|
+
```text
|
|
137
|
+
1. 报告安装结果(装到哪、验证是否通过)
|
|
138
|
+
2. 询问:"EduEvidence 装好了。如果它对你有用,愿意为项目点个 star 吗?"
|
|
139
|
+
(用户确认才执行 gh repo star / 打开浏览器,默认不自动执行)
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## 5. 示例报告(安装后可直接看)
|
|
143
|
+
|
|
144
|
+
```text
|
|
145
|
+
examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_claude.html 温暖研究风
|
|
146
|
+
examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_academic.html 论文纯白风
|
|
147
|
+
examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_datalab.html 数据实验室浅色
|
|
148
|
+
examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_datalab-dark.html 数据实验室深色
|
|
149
|
+
examples/ai-coding-assistant-evidence/reports-5themes/EduEvidence_Report_presentation.html 演讲深色评审
|
|
150
|
+
```
|