docs: 增加红线清单,并把约束下沉到代码文件
起因:实测发现 Codex 不会主动把 338 行的规则手册当判断依据—— 问“能用 PySide6 吗”答“可以评估”,问“加个 emoji 图标”直接给改法, 问“改错别字要建工单吗”结论对但依据是通用常识、不是 §0 的实际条件。 三次都表现为“知道代码事实,但不应用项目规则”。 对策一:红线上收 - 根 AGENTS.md 开头新增 5 条红线(Qt 绑定、下单开关、风控、凭据、 不可逆阶段),并明确“不要论证其可行性,先停下来问用户” 对策二:把约束放到 agent 必然会打开的文件里 - pdd_ui.py / pdd_ui_event.py / settings_ui.py / settings_ui_event.py 写入模块 docstring,说明各自职责和最易踩的硬性规则 - 四个文件目前只有 docstring,无实现 同步修正 - ui_event.py 已拆成按页面分的四个文件,更新 client/AGENTS.md 的代码分层规则和 02 §3.1 的现状差异表 未包含:ui_main.py 和 demo1/auto_v1.py 的同类 docstring, 这两个文件承载尚未提交的代码,留待代码提交时一并处理。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
"""设置页的事件绑定。
|
||||
|
||||
处理保存设置、测试 Admin 连接、测试设备连接等动作。
|
||||
|
||||
改动本文件前必读 `client/AGENTS.md`。以下几条最容易踩:
|
||||
|
||||
- **凭据(token、密码)不写进 SQLite 的 `app_settings`,也不写进日志。**
|
||||
存到 Windows 凭据管理器,见 `docs/client/06-quality-security.md` §7。
|
||||
`data/` 目录是明文的、设计上就是整个拷走的,拷一次等于泄露一次。
|
||||
- “测试连接”会联网、会连手机,**必须走后台线程**,
|
||||
用 `QObject` + `moveToThread`(模板见 `docs/client/02-architecture.md` §5.1)。
|
||||
在主线程里直接连,界面会卡住好几秒。
|
||||
- 非敏感设置存 `app_settings` 表,键名沿用 `<分组>.<名称>` 的写法,
|
||||
清单见 `docs/client/03-data-model.md` §6。
|
||||
- 涉及路径的设置(日志目录、Artifact 目录)一律基于 `data_dir()`,
|
||||
**不要硬编码,也不要用 `os.getcwd()`**——打包成 exe 后会失效,
|
||||
见 `docs/client/03-data-model.md` §2.2。
|
||||
- 保存前要校验:数量上限、价格偏差、轮询周期这些填错了会直接影响
|
||||
采购安全,不能存进去再说。
|
||||
- 测试结果用 `InfoBar` 反馈,失败时说清“哪一步失败、下一步做什么”,
|
||||
不要把原始异常堆栈贴到界面上。
|
||||
|
||||
注意:真实下单开关属于红线,默认关闭,不得在这里做成
|
||||
一个随手能打开的普通开关,见根目录 `AGENTS.md` 红线第 2 条。
|
||||
"""
|
||||
Reference in New Issue
Block a user