docs: 完成 Windows 平台依赖验证并同步规范
- 添加 Windows 平台依赖验证结果到 docs/upgrade-deps-prompt.md - 更新 openspec 配置,移除 pyproject.toml 相关说明 - 同步 upgrade-deps 变更的 delta specs 到主规范 - multi-platform-dependencies: 新增平台验证和版本文档化要求 - uv-with-dependency-management: 新增命令验证和版本一致性要求 - 归档 upgrade-deps 变更至 openspec/changes/archive/2026-03-19-upgrade-deps/
This commit is contained in:
@@ -4,7 +4,6 @@ context: |
|
||||
# 项目规范
|
||||
- 语言: 仅中文(交流/注释/文档/代码)
|
||||
- Python: 当前项目始终用uv运行(脚本/临时命令uv run python -c); 禁用主机python/禁主机安装包
|
||||
- 依赖: pyproject.toml声明,使用uv安装
|
||||
- 主机环境: 禁止污染配置,需操作须请求用户
|
||||
- 开发文档: README.md,每次迭代按需更新开发文档; 禁emoji/特殊字符
|
||||
- skill文档: SKILL.md,每次迭代按需更新skill文档
|
||||
@@ -15,12 +14,11 @@ context: |
|
||||
- Git提交: 仅中文; 格式为"类型: 简短描述",类型可选: feat(新功能)/fix(修复)/refactor(重构)/docs(文档)/style(格式)/test(测试)/chore(构建/工具); 多行描述空行后加详细说明
|
||||
- 提问: 对用户的提问优先使用提问工具而不是文字选项
|
||||
# 项目概述
|
||||
- 目标:统一文档解析工具,将DOCX/XLSX/PPTX/PDF/HTML/URL 转换为 Markdown,面向AI skill使用
|
||||
- 目标:统一文档解析工具,将各种格式的文档转换为 Markdown,面向AI skill使用
|
||||
# 项目目录结构
|
||||
- scripts/: 核心代码目录
|
||||
- tests/: 测试目录
|
||||
- openspec/: 规范文档目录
|
||||
- temp/: 开发临时文件目录
|
||||
- pyproject.toml: 项目配置
|
||||
- README.md: 项目开发文档
|
||||
- SKILL.md: skill文档
|
||||
|
||||
@@ -43,13 +43,13 @@ config.py 中的 DEPENDENCIES 配置使用字典结构,保持简单直接以
|
||||
- **AND** Darwin-x86_64 配置中不包含 unstructured 相关依赖
|
||||
|
||||
### Requirement: 依赖版本管理
|
||||
所有依赖必须指定版本号;default 平台使用截止 2026-03-17 的最新版本作为标杆;default 配置在当前平台测试失败时,在特定平台配置中探索可运行的最新版本;default 配置的 python 版本必须为 None(使用默认 python 版本),仅在特定平台配置中可指定 python 版本。
|
||||
所有依赖必须指定版本号;default 平台使用最新版本作为标杆;default 配置在当前平台测试失败时,在特定平台配置中探索可运行的最新版本;default 配置的 python 版本必须为 None(使用默认 python 版本),仅在特定平台配置中可指定 python 版本;当前版本截止时间为 2026-03-18。
|
||||
|
||||
#### Scenario: default 平台使用最新版本且 python 为 None
|
||||
- **WHEN** 查看 config.DEPENDENCIES 中 default 配置
|
||||
- **THEN** python 版本为 None
|
||||
- **AND** 所有依赖都有明确的版本号
|
||||
- **AND** 使用截止 2026-03-17 的最新版本
|
||||
- **AND** 使用截止 2026-03-18 的最新版本
|
||||
|
||||
#### Scenario: 特定平台在 default 失败时探索可运行版本
|
||||
- **WHEN** default 配置在当前平台测试失败
|
||||
@@ -86,3 +86,24 @@ config.py 中的 DEPENDENCIES 配置使用字典结构,保持简单直接以
|
||||
#### Scenario: gitignore 配置(可选)
|
||||
- **WHEN** 用户查看项目的 `.gitignore` 文件
|
||||
- **THEN** 系统可以包含 `uv.lock` 条目以确保不会误提交(如果用户重新创建了 lock 文件)
|
||||
|
||||
### Requirement: 当前平台依赖验证
|
||||
系统必须在当前平台上验证 `config.DEPENDENCIES` 的 default 配置是否可以正常工作。
|
||||
|
||||
#### Scenario: 验证 default 配置可用性
|
||||
- **WHEN** 在当前平台运行测试
|
||||
- **THEN** 必须验证 default 配置的所有依赖都可以正确安装
|
||||
- **AND** 必须验证所有文档类型的解析功能正常工作
|
||||
|
||||
#### Scenario: 记录验证结果
|
||||
- **WHEN** 完成当前平台的依赖验证
|
||||
- **THEN** 必须在 `docs/upgrade-deps-prompt.md` 中记录验证结果
|
||||
- **AND** 必须记录当前平台信息和测试通过日期
|
||||
|
||||
### Requirement: 依赖版本文档化
|
||||
系统必须在 `docs/upgrade-deps-prompt.md` 中记录当前所有依赖的版本号和更新时间戳。
|
||||
|
||||
#### Scenario: 版本记录包含所有依赖
|
||||
- **WHEN** 查看 `docs/upgrade-deps-prompt.md`
|
||||
- **THEN** 文档必须包含所有文件类型(pdf/docx/xlsx/pptx/html/xls/ppt/doc)的所有依赖版本号
|
||||
- **AND** 必须标注版本更新时间戳
|
||||
|
||||
@@ -75,3 +75,29 @@
|
||||
#### Scenario: 所有格式都包含 chardet
|
||||
- **WHEN** 用户查阅任何格式的依赖命令
|
||||
- **THEN** 命令必须包含 `--with chardet`
|
||||
|
||||
### Requirement: 当前平台命令验证
|
||||
系统必须验证当前平台的 `uv run --with` 命令可以正确执行。
|
||||
|
||||
#### Scenario: 验证 default 平台命令
|
||||
- **WHEN** 在当前平台执行 `uv run --with` 命令
|
||||
- **THEN** 必须可以成功安装所有依赖
|
||||
- **AND** 必须可以成功运行文档解析脚本
|
||||
|
||||
#### Scenario: 记录当前平台命令
|
||||
- **WHEN** 更新 SKILL.md 或 README.md
|
||||
- **THEN** 必须包含当前平台的命令示例
|
||||
- **AND** 命令中的依赖版本必须与 `config.DEPENDENCIES` 一致
|
||||
|
||||
### Requirement: 版本一致性
|
||||
SKILL.md 和 README.md 中的依赖版本必须与 `config.DEPENDENCIES` 中指定的版本一致。
|
||||
|
||||
#### Scenario: 文档中的版本与配置一致
|
||||
- **WHEN** 查看 SKILL.md 或 README.md 中的 `uv run --with` 命令示例
|
||||
- **THEN** 命令中指定的依赖版本必须与 `config.DEPENDENCIES` 中 default 配置的版本一致
|
||||
- **AND** 如果配置中指定了特定版本,文档中必须使用相同版本
|
||||
|
||||
#### Scenario: 更新依赖时同步更新文档
|
||||
- **WHEN** 更新 `config.DEPENDENCIES` 中的依赖版本
|
||||
- **THEN** 必须同步更新 SKILL.md 和 README.md 中的相关命令示例
|
||||
- **AND** 必须更新 `docs/upgrade-deps-prompt.md` 中的版本记录
|
||||
|
||||
Reference in New Issue
Block a user