Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • P Platform Core Public
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • public_collaboration
  • Platform Core Public
  • Merge requests
  • !1

Initial commit: Archive AI Risk Review Platform

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged yujiwen requested to merge feature-refact-to-unify-ops into master Jul 04, 2026
  • Overview 0
  • Commits 26
  • Changes 90

Summary

本 MR 将 backend/foundation 重构为 foundation 最小教学分支:扁平化目录结构(contracts/ + operators/),提供可复制的 mapper 算子示例,并移除 legacy OCR/服务/脚本等代码,便于组员独立学习算子开发。

目标受众:需要理解 contracts 与算子框架、并在此基础上开发新 mapper/filter 算子的开发者。


主要变更

架构

  • platform_foundation/ → 扁平结构
    • contracts/{common,archive,parsing}/ — 领域 SSOT(由原 pdf_items.py 拆分)
    • operators/{base,protocols,registry,mapper}/ — 算子框架;contracts.py 重命名为 protocols.py(运行时协议,与领域 contracts 区分)
  • UV workspace:根目录 pyproject.toml + 唯一 uv.lock;删除 backend/foundation/uv.lock
  • CI:.github/workflows/foundation-ci.yml(ruff + pytest)

教学示例

  • operators/mapper/en_text_uppercase_mapper.py — L0 mapper 模板(含 Config、MetricsHooks、item/arrow 路径、register_operator)
  • operators/mapper/README.md — 中文开发指南 + cookbook
  • tests/test_en_text_uppercase_mapper.py — 8 个用例

文档

  • 根 README.md、docs/BRANCH_SCOPE.md — 本分支 scope 说明(PR 必读)
  • PDF_PIPELINE_SCHEMAS.md — 路径已对齐新结构
  • DOCKER_USAGE.md、MINERU_OCR_OPERATOR_*.md — 页首标注 Legacy(OCR 栈本分支已移除)
  • INSTALL_INTERNAL_PACKAGE.md — 重写为 ocr-foundation 安装说明

刻意移除(非误删)

移除项 说明
backend/foundation/platform_foundation/ 已扁平化
backend/services/ FastAPI platform-api
scripts/ 离线 CLI / Docker 启停
ChineseErrorCorrector/、FontConversion/ 独立模块
platform-core-public/ 嵌套副本 历史重复树

OCR、inference、pipeline 编排等将在后续 PR 恢复,见 docs/BRANCH_SCOPE.md。


Import 迁移

旧 新
platform_foundation.contracts.pdf_items from contracts import PageItem
platform_foundation.operators.contracts from operators.protocols import OperatorContext
platform_foundation.operators.base from operators import BaseOperator
platform_foundation.ocr.* 本分支无

Test plan

  • uv sync --group dev
  • uv run pytest backend/foundation/tests -v — 21 passed(含 Arrow 路径)
  • uv run ruff check backend/foundation
  • Reviewer 阅读 backend/foundation/operators/mapper/README.md 确认教学路径清晰
  • Reviewer 确认 legacy 删除范围符合预期(见 docs/BRANCH_SCOPE.md)

合并说明

  • 本 MR 大幅删减(约 −76 万行),合并后主分支将暂时无法按旧文档运行 MinerU Docker / platform-api;若需保留 OCR 栈,请先确认合并策略(例如基于其他分支恢复 services/scripts)。
  • 合并前建议在 GitLab CI 确认 foundation-ci workflow 通过。

创建 MR:
https://gitlab.kaifangdata.com/public_collaboration/platform-core-public/-/merge_requests/new?merge_request%5Bsource_branch%5D=feature-refact-to-unify-ops

把上面 Summary 到 Test plan 整段粘贴到 GitLab MR 描述即可。需要我直接在 GitLab 上创建 MR(需 glab 或 API token),可以说一声。

Assignee
Assign to
Reviewer
Request review from
Time tracking
Source branch: feature-refact-to-unify-ops