-
-
Notifications
You must be signed in to change notification settings - Fork 192
test(lmbench): 引入 lmbench 测试框架集成和自动测试脚本 #1433
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
mistcoversmyeyes
wants to merge
39
commits into
DragonOS-Community:master
Choose a base branch
from
mistcoversmyeyes:feat/lmbench
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
39 commits
Select commit
Hold shift + click to select a range
5bb1d0b
harness(docs): 初始化项目 harness 文档
mistcoversmyeyes 49c9c2c
feat(lmbench): 添加 lmbench 测试用例运行脚本和测试环境初始化/清理脚本
mistcoversmyeyes ab75f19
feat(lmbench/test_cases): 每个测例运行前都加载一遍环境变量
mistcoversmyeyes db2d866
feat(lmbench/test_cases): 更新多个测试脚本的权限为可执行
mistcoversmyeyes 5924caa
feat(lmbench): 添加一键运行指定测例的脚本
mistcoversmyeyes 4ba63fc
fix(lmbench): 修复多个测试用例的权限和文件问题
mistcoversmyeyes a7c6cc7
feat: add nix build script for lmbench, seperate syscall test script …
Samuka007 cbaaa51
feat(lmbench): add guest benchmark runner
mistcoversmyeyes df93afd
build(lmbench): package benchmark suite in DADK
mistcoversmyeyes 25b982f
feat(lmbench): add QEMU benchmark test target
mistcoversmyeyes b85cbe0
feat(lmbench): collect and persist benchmark results
mistcoversmyeyes e983e6e
ci(lmbench): add benchmark workflow
mistcoversmyeyes 83ff638
fix(lmbench): select TCP latency result line
mistcoversmyeyes 70bab01
docs(lmbench): record successful MVP validation
mistcoversmyeyes 7e2743a
docs(lmbench): add runner abstraction & directory layering design spec
mistcoversmyeyes ec8e77b
docs(lmbench): add runner abstraction implementation plan
mistcoversmyeyes f5d1a74
refactor(lmbench): move guest scripts into runner/ and drop dead run_…
mistcoversmyeyes 4e68cd5
feat(lmbench): parameterize runner entrypoint with parse_args
mistcoversmyeyes 8da5e85
refactor(lmbench): move host orchestration into orchestrator/
mistcoversmyeyes 6122e1a
build(lmbench): install from runner/ and fix nix sourceByRegex
mistcoversmyeyes e1c5293
docs(lmbench): update rcS entrypoint name and README for new layout
mistcoversmyeyes 84078fa
fix(lmbench): clean stale run_tests.sh/run_test_case.sh on install
mistcoversmyeyes 7654688
chore: remove stray root-level 'test' symlink to user/apps/tests
mistcoversmyeyes a1d9755
chore: remove stray .claude/worktrees gitlinks and gitignore them
mistcoversmyeyes 418b2d1
docs(lmbench): add full-suite .meta extraction design spec
mistcoversmyeyes 60832de
docs(lmbench): add full-suite .meta extraction implementation plan
mistcoversmyeyes c750dce
feat(lmbench): add .meta for memory bandwidth/latency tests
mistcoversmyeyes 9fd6384
feat(lmbench): add .meta for process latency tests
mistcoversmyeyes 7396e26
feat(lmbench): add .meta for ipc tests
mistcoversmyeyes 10d10a3
feat(lmbench): add .meta for signal latency tests
mistcoversmyeyes 205ba02
feat(lmbench): add .meta for vfs tests
mistcoversmyeyes f666297
feat(lmbench): add .meta for filesystem tests
mistcoversmyeyes d575c63
feat(lmbench): add .meta for network tests
mistcoversmyeyes 3a804a0
feat(lmbench): enable full whitelist and add survey report
mistcoversmyeyes a423caa
fix(lmbench): correct getppid_lat SEARCH_PATTERN to 'Simple syscall' …
mistcoversmyeyes 4d30faf
fix(lmbench): precompute ENOUGH + clamp to <=100000 to avoid BENCH_IN…
mistcoversmyeyes e4820f1
fix(lmbench): drop sudo/-W-N from test cases, shrink fixtures, tolera…
mistcoversmyeyes 052782b
fix(lmbench): bound guest kernel hangs, align mmap/pagecache sizes to…
mistcoversmyeyes 4fadbf8
fix(lmbench): shutdown orphaned server daemons in network test cleanup
sparkzky File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,64 @@ | ||
| name: LMbench Benchmark x86_64 | ||
|
|
||
| # MVP scope: build DragonOS, run the lmbench performance suite under QEMU, and | ||
| # archive the per-run result JSON + serial log. No regression gating / charts yet. | ||
| on: | ||
| workflow_dispatch: | ||
| push: | ||
| branches: ["feat/lmbench*", "feat-lmbench*"] | ||
|
|
||
| env: | ||
| ARCH: x86_64 | ||
| HOME: /root | ||
| RUSTUP_DIST_SERVER: "https://rsproxy.cn" | ||
| RUSTUP_UPDATE_ROOT: "https://rsproxy.cn/rustup" | ||
|
|
||
| jobs: | ||
| benchmark: | ||
| name: LMbench | ||
| runs-on: ubuntu-latest | ||
| # Benchmarks are slow: monitor allows up to a 60-minute run, plus build/cleanup. | ||
| timeout-minutes: 90 | ||
| container: | ||
| image: dragonos/dragonos-dev:v1.23 | ||
| options: --privileged -v /dev:/dev | ||
| steps: | ||
| - name: Checkout DragonOS code | ||
| uses: actions/checkout@v4 | ||
|
|
||
| - name: Change source | ||
| run: | | ||
| find . -type f \( -name "*.toml" -o -name "Makefile" \) -exec sed -i 's/git\.mirrors\.dragonos\.org\.cn/github\.com/g' {} + | ||
|
|
||
| - name: Ensure jsonschema for the result collector | ||
| run: pip3 install --quiet jsonschema || true | ||
|
|
||
| - name: Build DragonOS | ||
| shell: bash -ileo pipefail {0} | ||
| run: | | ||
| make clean | ||
| make -j$(nproc) all | ||
|
|
||
| - name: Run lmbench benchmark | ||
| shell: bash -ileo pipefail {0} | ||
| env: | ||
| DISK_SAVE_MODE: "1" | ||
| run: | | ||
| make test-benchmark | ||
|
|
||
| - name: Upload benchmark results | ||
| if: always() | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: lmbench-results-x86_64-${{ github.run_id }}-${{ github.run_attempt }} | ||
| path: | | ||
| user/apps/tests/benchmark/lmbench/results/** | ||
| if-no-files-found: warn | ||
|
|
||
| - name: Preserve benchmark serial log | ||
| if: always() | ||
| uses: actions/upload-artifact@v4 | ||
| with: | ||
| name: lmbench-serial-x86_64-${{ github.run_id }}-${{ github.run_attempt }} | ||
| path: serial_opt.txt | ||
| if-no-files-found: error |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule feat-lmbench
added at
3b952e
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,56 +1,29 @@ | ||
| # README for AI Agents | ||
|
|
||
| ## 项目简介 | ||
|
|
||
| DragonOS是一个面向云计算轻量化场景的,完全自主内核的,提供Linux二进制兼容性的64位操作系统,旨在为容器化工作负载提供轻量级、高性能的解决方案。 | ||
|
|
||
| ## 设计思想 | ||
|
|
||
| - Linux兼容性:系统调用接口/procfs/sysfs/devfs等的行为应当符合Linux语义。参考Linux 6.6的行为进行实现。 | ||
| - 轻量:简化复杂的抽象设计,保留合理的、简洁、符合Rust开发最佳实践的的抽象,提升系统性能。 | ||
| - 安全:注重内存安全、并发安全 | ||
|
|
||
|
|
||
| ## 开发准则 | ||
|
|
||
| ### 交互语言规范 | ||
|
|
||
| - 所有AI助手在回应DragonOS仓库内的请求时必须使用简体中文。 | ||
| - 即便用户使用其他语言输入,也需以中文回答,除非更高优先级的指令明确要求使用其他语言。 | ||
|
|
||
| ### 项目目录结构: | ||
|
|
||
| - 文档:在`docs/`目录下 | ||
| - 内核:在`kernel/`目录下 | ||
| - 自行编写的单元测试程序:在`user/apps/c_unitest`目录下 | ||
| - gvisor系统调用测试程序:根据用户给出的程序代码片段来读取测试代码。如果用户没有提供,就尝试寻找,如果找不到,则从 https://cnb.cool/DragonOS-Community/gvisor/-/tree/dragonos/release-20250616.0/test/syscalls/linux 下面获取(下载文件然后再尝试读取) | ||
|
|
||
|
|
||
| ### 开发最佳实践 | ||
|
|
||
| - 三思而后行!深度研究,掌握解决问题所必要的信息,然后再动手开发/修复。 | ||
| - 设计要具有合理抽象,避免过度抽象。并且要注意代码复用。 | ||
| - 实现代码的时候,多问问自己:这代码写在这里合理吗?(架构、正确性等方面) | ||
| - 高内聚、低耦合 | ||
| - 符合Linux语义 | ||
| - 不得使用workaround的方法绕过问题。要从本质解决问题! | ||
|
|
||
|
|
||
| **测试修复相关** | ||
|
|
||
| - 符合Linux 6.6的语义 | ||
| - 结合测例报错、测例代码、DragonOS代码、Linux行为实现来深入分析 | ||
|
|
||
| ### 开发时的一些常见命令 | ||
|
|
||
| - 编译内核:在项目根目录下运行`make kernel`. 当你想检查你编辑的代码有没有语法错误的时候,请执行这个命令 | ||
| - Nix开发环境(推荐):`nix develop`激活环境后可使用上述命令;`nix run .#yolo-x86_64`一键编译+启动QEMU。详见`docs/introduction/develop_nix.md` | ||
|
|
||
|
|
||
| ## WHERE TO LOOK | ||
|
|
||
| | 任务 | 位置 | 备注 | | ||
| |------|------|------| | ||
| | 运行 DragonOS | `docs/introduction/develop_nix.md` | Nix 一键启动流程 | | ||
| | OOM Killer | `kernel/src/mm/oom.rs` | 全局状态机,缺页路径触发,详见代码注释 | | ||
| | 进程管理重构后 | `kernel/src/process/state.rs`(ProcessFlags)、`kernel/src/process/manager/exit.rs`(exit路径) | mod.rs 已拆分为子模块 | | ||
| # AGENTS.md — DragonOS 文档 Harness 地图 | ||
|
|
||
| > DragonOS 是面向云计算轻量化场景、提供 Linux 二进制兼容性的 64 位自主内核操作系统,目标是为容器化工作负载提供轻量、高性能的运行环境。 | ||
|
|
||
| 本文件只负责路由 Harness 文档。源码布局、工程约束和操作命令分别由下列文档维护,按任务需要读取: | ||
|
|
||
| ```text | ||
| AGENTS.md ← Harness 文档总地图 | ||
| ARCHITECTURE.md ← 系统边界、目录职责与阅读路由 | ||
| FORCE_CONSTRAIN.md ← 交互、兼容性、安全与开发强约束 | ||
| KEY_INFO_REMINDER.md ← 构建、Nix 环境与 QEMU 关键命令 | ||
| docs/ ← 深层 Harness 文档 | ||
| ├── constraints/ ← 局部操作约束入口 | ||
| │ └── COMMIT.md ← 提交上下文与权威规范入口 | ||
| ├── product-specs/ ← 产品需求文档 | ||
| │ └── index.md ← 问题、价值、范围与需求索引 | ||
| ├── design-docs/ ← 设计意图文档 | ||
| │ └── index.md ← 技术方案与权衡索引 | ||
| ├── exec-plans/ ← 执行计划与债务跟踪 | ||
| │ ├── active/ ← 进行中的实施计划 | ||
| │ ├── completed/ ← 已完成的实施计划 | ||
| │ ├── tech-debt-tracker.md ← 技术债跟踪 | ||
| │ └── product-debt-tracker.md ← 产品债跟踪 | ||
| ├── references/ ← 可复用参考资料 | ||
| │ └── index.md ← 参考资料索引 | ||
| └── generated/ ← 生成型文档预留目录 | ||
| ``` | ||
|
|
||
| 以上路径均相对仓库根目录,按任务读取对应权威文档。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| # DragonOS 架构与源码地图 | ||
|
|
||
| ## 系统概览 | ||
|
|
||
| DragonOS 是一个使用自主内核的 64 位操作系统,面向云计算轻量化场景并提供 Linux 二进制兼容性。系统以容器化工作负载的轻量、高性能运行需求为目标;具体实现必须同时遵守 [FORCE_CONSTRAIN.md](FORCE_CONSTRAIN.md) 中的 Linux 语义、轻量化和安全约束。 | ||
|
|
||
| ## 仓库目录职责 | ||
|
|
||
| 根目录的 `Makefile` 统一编排 `kernel`、`user`、`tools` 和 `build-scripts`。阅读或修改代码时,先按下列职责定位,避免把实现放入职责不相符的目录: | ||
|
|
||
| | 路径 | 职责 | | ||
| | --- | --- | | ||
| | `kernel/` | DragonOS 内核实现及其内核侧构建配置。 | | ||
| | `user/` | 用户空间应用、rootfs 组成和用户程序构建配置。 | | ||
| | `build-scripts/` | 构建过程使用的 Rust 工具和构建辅助程序。 | | ||
| | `config/` | 应用选择、rootfs manifest 等仓库级构建配置。 | | ||
| | `tools/` | 构建、镜像制作、运行、调试及开发环境辅助工具。 | | ||
| | `docs/` | 项目文档、开发指南、规格、设计说明、执行计划和参考资料。 | | ||
|
|
||
| ## 测试代码路由 | ||
|
|
||
| 自行编写的单元测试程序位于 `user/apps/c_unitest/`。 | ||
|
|
||
| 分析 gVisor 系统调用测试时,优先读取用户提供的测试程序代码片段;用户未提供时,先在仓库及现有材料中查找。仍然找不到时,再从 [DragonOS-Community/gvisor 的指定测试目录](https://cnb.cool/DragonOS-Community/gvisor/-/tree/dragonos/release-20250616.0/test/syscalls/linux) 获取对应文件,下载后再读取和分析。这个顺序可以保证分析优先基于调用上下文和本地证据,同时保留外部测试源作为最后的权威补充。 | ||
|
|
||
| ## 高频阅读路由 | ||
|
|
||
| | 任务 | 入口 | 局部上下文 | | ||
| | --- | --- | --- | | ||
| | 运行 DragonOS | [docs/introduction/develop_nix.md](docs/introduction/develop_nix.md) | Nix 开发环境和启动流程;常用命令另见 [KEY_INFO_REMINDER.md](KEY_INFO_REMINDER.md)。 | | ||
| | 理解 OOM Killer | `kernel/src/mm/oom.rs` | 全局状态机及缺页路径触发逻辑,细节以源码注释和对应内存管理文档为准。 | | ||
| | 理解进程管理重构后的状态与退出路径 | `kernel/src/process/state.rs`、`kernel/src/process/manager/exit.rs` | `ProcessFlags` 位于前者,退出路径位于后者;原 `mod.rs` 职责已拆分到子模块。 | | ||
|
|
||
| 本文只提供稳定的阅读地图,不展开各子系统内部设计;进入具体模块后,应继续以对应源码和专题文档为依据。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,31 @@ | ||
| # DragonOS 强约束 | ||
|
|
||
| 本文件是仓库内开发行为与工程取舍的权威约束。它保留无法仅从代码或构建脚本稳定推导的理由和适用范围;具体源码位置由 [ARCHITECTURE.md](ARCHITECTURE.md) 路由。 | ||
|
|
||
| ## 交互语言 | ||
|
|
||
| 所有 AI 助手回应 DragonOS 仓库内的请求时必须使用简体中文。即使用户使用其他语言输入,也仍应使用简体中文回答,除非更高优先级的指令明确要求使用其他语言。该约束作用于仓库相关的解释、计划、检查结果和交付说明,目的是保持项目协作语言一致。 | ||
|
|
||
| ## 兼容性、轻量化与安全 | ||
|
|
||
| 系统调用接口以及 `/proc`、`/sys`、`devfs` 等用户可见行为必须符合 Linux 语义,并以 Linux 6.6 的行为作为实现参考。兼容性判断应落实到可观察行为,不能只追求接口名称或表面返回值相似。 | ||
|
|
||
| 轻量化要求实现采用合理、简洁并符合 Rust 最佳实践的抽象,避免为了形式完整而过度抽象。抽象应服务于复用、清晰边界和性能,而不是增加无必要的层次。 | ||
|
|
||
| 安全性要求设计和实现同时重视内存安全与并发安全。涉及共享状态、生命周期或并发路径时,必须把安全性作为架构与正确性的一部分分析,不能留给事后补救。 | ||
|
|
||
| ## 开发与修复方法 | ||
|
|
||
| 开始开发或修复前,必须先研究完成判断所需的代码、测试和外部语义证据。这样做是为了避免在未理解调用关系和行为契约时引入局部修补。 | ||
|
|
||
| 设计应保持高内聚、低耦合,优先复用已有的合理能力,并持续检查代码所在模块是否符合架构职责。既要避免重复实现,也要避免为了复用而制造与问题规模不相称的抽象。 | ||
|
|
||
| 禁止使用 workaround 绕过根因。修复必须解释问题为何发生,并在正确的职责边界内解决;如果问题涉及兼容行为,应以 Linux 语义而不是测例偶然通过作为完成标准。 | ||
|
|
||
| 测试修复必须结合测例报错、测例代码、DragonOS 实现和 Linux 行为进行分析,并符合 Linux 6.6 语义。该要求适用于系统调用及相关内核行为的缺陷定位,目的是防止只针对单个输入打补丁。 | ||
|
|
||
| ## 文档职责 | ||
|
|
||
| 需求的权威入口是 [docs/product-specs/index.md](docs/product-specs/index.md),设计意图和权衡的权威入口是 [docs/design-docs/index.md](docs/design-docs/index.md),执行步骤位于 `docs/exec-plans/`。新增内容应进入对应职责的文档,避免在多个位置形成竞争定义。 | ||
|
|
||
| 提交消息规则不在本文件重复定义。需要提交相关上下文时,先读 [docs/constraints/COMMIT.md](docs/constraints/COMMIT.md),再进入其中链接的权威贡献规范。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| # DragonOS 关键命令 | ||
|
|
||
| ## 构建与运行 | ||
|
|
||
| 在仓库根目录执行 `make kernel` 编译内核;需要检查内核代码是否存在编译或语法问题时,也使用该命令。 | ||
|
|
||
| 推荐先执行 `nix develop` 进入 Nix 开发环境,再运行仓库构建命令。需要一键完成 x86_64 构建并启动 QEMU 时,执行 `nix run .#yolo-x86_64`。 | ||
|
|
||
| Nix 安装、flake 配置、分步构建和 QEMU 操作方式以 [docs/introduction/develop_nix.md](docs/introduction/develop_nix.md) 为准。可用 flake 目标可能随仓库演进而变化,需要发现其他目标时在根目录执行 `nix flake show`,不要在本文复制完整目标清单。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| # 提交约束入口 | ||
|
|
||
| 本文件只提供 Agent 执行提交相关工作时需要的局部上下文,不另行定义或复制一套提交规则。 | ||
|
|
||
| DragonOS 的提交消息采用约定式提交,并对内核破坏性变更标记、squash 工作流、scope 和小写格式有项目特定说明。需要拟定或检查提交消息时,必须阅读权威文档 [代码提交规范](../community/code_contribution/conventional-commit.md),以其中当前内容为准。 | ||
|
|
||
| 当前仓库没有记录独立的 Archive Commit 规则,因此不得推断或虚构归档提交格式、必填内容或额外流程。 | ||
|
|
||
| 当前没有待机械化的提交约束条目。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| # 设计文档索引 | ||
|
|
||
| 设计文档负责说明设计意图、技术方案和关键权衡,是这些语义的权威归属。待解决的问题、用户价值、范围、需求和验收标准应写入 [产品规格](../product-specs/index.md),不要在设计文档中重复定义。 | ||
|
|
||
| 把设计落实为具体活动、顺序和进度记录时,应创建或更新 [执行计划](../exec-plans/)(`docs/exec-plans/`),而不是把执行细节混入设计意图。 | ||
|
|
||
| 当前没有设计文档条目。 |
Empty file.
Empty file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| # 产品债跟踪 | ||
|
|
||
| 本文件记录尚未解决的产品语义、用户体验债务和开放设计问题。 | ||
|
|
||
| 当前没有已知的产品债条目。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| # 技术债跟踪 | ||
|
|
||
| 本文件记录已确认的技术债及其解决状态。 | ||
|
|
||
| 当前没有已知的活动或已解决技术债条目。 |
Empty file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| # 产品规格索引 | ||
|
|
||
| 产品规格负责定义问题、用户价值、范围、需求和验收标准,是这些语义的权威归属。技术方案、设计意图及关键权衡应写入 [设计文档](../design-docs/index.md),不要在产品规格中形成竞争定义。 | ||
|
|
||
| 规格落地所需的实施步骤和进度记录属于 [执行计划](../exec-plans/)(`docs/exec-plans/`),不属于产品规格本身。 | ||
|
|
||
| 当前没有产品规格条目。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,7 @@ | ||
| # 参考资料索引 | ||
|
|
||
| 本索引收录对 Agent 任务具有稳定复用价值的仓库内参考资料。具体任务仍应核对文档描述的适用范围和当前仓库状态。 | ||
|
|
||
| | 参考资料 | 用途 | | ||
| | --- | --- | | ||
| | [DragonOS 发布助手能力说明](../agents/release_agent_capability.md) | 调研版本差异、生成发行日志及更新 ChangeLog 时的工作流参考。 | |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.