Files

26 lines
1.9 KiB
Markdown

# 维护原则
本文件适用于整个仓库。
## 与上游保持一致
- 对继承自 Radxa/AIC 上游的驱动、固件、加载协议和运行行为,默认保持一致,优先采用上游已经接受的修复。
- 对这些上游组件,除非修复有证据支持的重要 bug,否则不引入会增加下游维护负担的改动。
- 重要 bug 包括实际影响设备功能、稳定性、安全性或受支持内核构建的问题。仅凭代码风格、理论风险或“体验更好”不足以认定为重要 bug。
- 修复应尽量小且独立,便于审查和同步未来上游版本。避免顺带重构、清理、增加功能或建立新的策略与兼容框架。
## 本仓库维护的工具
- 安装脚本、打包、诊断和文档应与上游驱动改动分开评估;不能仅因上游没有同类实现就否决。
- 这些改动仍应简单、必要、有验证,避免不必要的默认行为和维护成本。
- 试编译应评估失败时能否保住已有安装及额外编译耗时;固件备份应评估恢复价值、重复备份和磁盘占用,避免无限累积。它们本身不构成驱动或固件偏离上游。
## PR 和 issue 处理
- 先核实当前分支、上游实现和最新讨论,避免重复处理已合并或仍在等待实机验证的问题。
- 不因 PR 使用了 AI、描述完整或声称测试通过而接受或拒绝;以可核实的问题、实际代码、独立验证及维护成本为依据。
- 合入前说明问题的触发条件、影响、与上游的差异和验证结果;证据不足时继续保留为待验证项。
- 编译通过、模拟测试和硬件测试必须明确区分,不得用前两者替代实机结论。
- 涉及两个维护分支的必要修复应分别评估并同步,保留 `main` 与 `legacy-mcu1` 各自匹配的固件和加载配置,不能直接混合固件或整体合并分支。
- 用户本次会话的明确指示优先于本文件。