Skip to content

Feat/generated app suite - #18

Merged
Tkhkrnx merged 8 commits into
RIDE-Lab:mainfrom
Tkhkrnx:feat/generated-app-suite
Apr 26, 2026
Merged

Tkhkrnx merged 8 commits into
RIDE-Lab:mainfrom
Tkhkrnx:feat/generated-app-suite

Conversation

@Tkhkrnx

@Tkhkrnx Tkhkrnx commented Apr 21, 2026

Copy link
Copy Markdown
Contributor

PR 说明

标题建议

feat: 新增 91 个可运行 SAGE 示例应用并补齐示例索引

变更概述

本次 PR 面向 sage-examples 仓库新增 91 个可运行示例应用,并补充对应入口脚本、测试注册表、示例索引和少量支撑性文档收敛。

本次改动的核心目标只有两个:

  1. 扩充 examples 仓库中可直接运行、可直接查看实现的应用覆盖面。
  2. 保持新增应用在目录结构、导出方式、运行入口和基础测试上的一致性。

变更内容

1. 新增 91 个应用包

  • 在 apps/src/sage/apps/ 下新增 91 个应用目录。
  • 每个应用包统一包含以下文件:
    • init.py:导出单一 run_*_pipeline。
    • pipeline.py:组装 LocalEnvironment 下的执行流程。
    • operators.py:封装示例级解析、规则、评分或转换逻辑。
    • README.md:说明该应用的场景与用途。
  • 公共批量数据源模式抽取到 apps/src/sage/apps/_batch.py,避免在多个应用中重复实现同类 source 逻辑。

2. 新增对应运行入口

  • 在 examples/ 下补充与新增应用对应的 run_*.py 入口脚本。
  • 入口脚本用于从仓库根目录直接运行单个应用示例。
  • 当前 examples/README.md 已同步维护这些脚本索引,便于按文件名检索和审阅。

3. 补充测试与基础收敛

  • 在 apps/tests/generated/test_generated_apps.py 中维护新增应用的导出注册表与 smoke test。
  • 修复部分文档格式问题,确保本次修改范围内的 markdown 文件通过基础检查。
  • 修复个别中文规则词条乱码问题,避免示例逻辑和展示信息失真。

统计口径与查看位置

91 个应用是如何统计的

  • 统计口径以 apps/tests/generated/test_generated_apps.py 中的 APP_PIPELINES 注册表为准。
  • 该字典中的每个键对应一个应用包,每个值对应该应用导出的 run_*_pipeline 符号。
  • 当前该注册表共覆盖 91 个应用导出项,这是本次 PR 中“新增 91 个应用”的直接依据。

具体应用信息去哪里看

  • 主要看 docs/sage-100-app-roadmap.md
    • 这是本次 91 个应用的集中说明文件。
    • 文件中已经按清单形式列出每个应用的中文名称、对应项目名和“能做什么”。
    • 对于前面展开的应用条目,还补充了现实场景痛点、需求点、解决方案、SAGE 实现方式和预期收益等信息。
  • 看应用导出与统计:apps/tests/generated/test_generated_apps.py
    • 这里用于确认 91 个应用的代码级注册范围和导出符号。
  • 看运行入口总表:examples/README.md
    • 这里用于确认每个应用对应的 run_*.py 入口脚本及一句话说明。
  • 看具体实现:apps/src/sage/apps/<app_name>/
    • pipeline.py:看流程编排。
    • operators.py:看规则、解析和处理逻辑。
    • README.md:看单个应用说明。

代表性应用

  • 科研与知识处理:academic_metadata、benchmark_watch、grant_subscription、knowledge_cleanup。
  • 教育场景:assignment_feedback、course_qa_helper、interview_coach、lesson_scheduler、campus_aid_gap_alert。
  • 医疗场景:drug_leaflet_extractor、lab_turnaround_alert、triage_structurer、radiology_followup_loop。
  • 企业运营场景:api_log_analytics、backup_sync、budget_variance_alert、cashflow_watch、invoice_reconciliation。
  • 内容与媒体场景:content_moderation、content_scheduler、content_tagger、podcast_highlight、subtitle_qc。
  • 城市治理与基础设施场景:cold_chain_watch、factory_watch、greenhouse_assistant、data_center_watch、urban_repair_scheduler。

审阅建议

建议 reviewer 按下面顺序看:

  1. 先看 docs/sage-100-app-roadmap.md,理解这 91 个应用分别覆盖哪些场景,以及每个应用的大致目标和处理链路。
  2. 再看 apps/tests/generated/test_generated_apps.py,确认 91 个应用的代码注册范围是否完整。
  3. 然后看 examples/README.md,确认对外暴露的运行入口与说明是否完整。
  4. 最后抽查 3 到 5 个代表性应用目录,重点看 apps/src/sage/apps/<app_name>/pipeline.py 和 operators.py 是否符合统一模式。

验证情况

  • pytest apps/tests/generated/test_generated_apps.py -q
    • 结果:2 passed
  • python -m compileall apps/src/sage/apps examples
    • 结果:执行完成,未出现语法错误
  • git diff --check
    • 结果:未发现空白字符或 patch 格式问题
  • 对本次修改的文档与 Python 文件执行定向诊断
    • 结果:已处理文件未发现剩余错误

本次 PR 不强调的内容

  • .vscode/settings.json 属于编辑器侧辅助配置,不是本次 PR 的核心价值点。
  • 文档格式修正和局部乱码修复属于必要收敛,但不应盖过“新增 91 个应用”这一主目标。
  • 当前尚未逐个对全部新增入口脚本做端到端运行,这一点应在评审说明中明确,而不是包装成已全部验证。

@moonandlife

Copy link
Copy Markdown
Contributor

@copilot resolve the merge conflicts in this pull request

@Tkhkrnx
Tkhkrnx force-pushed the feat/generated-app-suite branch from e6494c3 to eaa17f5 Compare April 26, 2026 13:46
@Tkhkrnx
Tkhkrnx merged commit 8018b38 into RIDE-Lab:main Apr 26, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants