From 3ce4fc0f0aec836785e500e2ef0850016e8c4bc6 Mon Sep 17 00:00:00 2001 From: agent Date: Sun, 2 Aug 2026 13:31:19 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20GOVERNANCE=20=C2=A76=20Git=20=E8=BF=9C?= =?UTF-8?q?=E7=AB=AF=E5=8D=8F=E4=BD=9C=E6=B2=BB=E7=90=86=20+=20DECISIONS?= =?UTF-8?q?=202026-08-01?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DECISIONS.md | 1 + GOVERNANCE.md | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/DECISIONS.md b/DECISIONS.md index fc56e7b..f9a9452 100644 --- a/DECISIONS.md +++ b/DECISIONS.md @@ -29,3 +29,4 @@ | 2026-07-31 | 0.2.0-beta 终审裁定放行项终裁:TRANSPORT_ERRORS 含 OSError 的理论变宽、token 非恒定时间比较、Image.open 惰性解码失败归入 INTERNAL | 终审提出的三处理论风险,需终裁留痕 | 均判低风险放行:OSError 变宽仅使极端平台错误归入 BLE_ERROR(语义可接受);token 比较在可信 LAN + Bearer 场景时序攻击不可行;Image.open 惰性解码异常有 INTERNAL 兜底且 message 带类型详情 | | 2026-07-31 | `--allowed-hosts ""` 空串按 None 处理 | 空串逗号拆分得空列表,`TransportSecuritySettings(allowed_hosts=[])` 启用防护后连 localhost 族也 421(自锁) | main() 解析层 `_parse_allowed_hosts` 以 `or None` 归一,保持 mcp 默认 localhost 族;含回归测试 | | 2026-07-31 | **双 TransportError 历史包袱在 MCP 层适配,SDK 零改动** | `transports.base.TransportError` 与 `transports.local.TransportError` 同名但互不继承(历史包袱);真实 bleak 写/读路径还裸抛 `BleakError` 不包装 | 改 SDK 会动公开语义、风险大于收益;MCP 层 `device_manager.py:19-26` 以 `TRANSPORT_ERRORS` 全家捕获兜底(base/local 两类 + BleakError + OSError + asyncio.TimeoutError),掉线判定不漏形态 | +| 2026-08-01 | 建立 Gitea 远端(chenwei/qianbian)并增补 Git 协作治理(GOVERNANCE §6) | 用户要求版本控制上云 + 后续治理迭代;此前仓库仅本地 | main 主干直提、分支短命、身份诚实不改写、推送前三项检查(净树/全绿/无 secret)、大文件仅原始输入随库 | diff --git a/GOVERNANCE.md b/GOVERNANCE.md index ecc716a..d4ff132 100644 --- a/GOVERNANCE.md +++ b/GOVERNANCE.md @@ -63,3 +63,12 @@ qianbian/ - 分析环境:Python 3.12(venv 于 `.venv/`)、jadx、capstone、bleak。 - 依赖锁定:`requirements.txt` 固定版本;新增依赖需记录于 DECISIONS.md。 - 外部工具一律装在本机,不修改系统关键组件。 + +## 6. Git 与远端协作(2026-08 增补,DECISIONS 2026-08-01) + +1. **远端**:Gitea 实例,chenwei 账户下同名仓库 `qianbian`(remote 名 `origin`)。URL 见 DECISIONS.md 2026-08-01 条目。 +2. **分支策略**:`main` 为唯一主干,直接提交;实验性大改动用 `` 短分支,回合并即删。不使用 force push 改写 main 历史。 +3. **提交身份**:agent 工作用 `agent `,人工工作用本人身份——不混用、不改写历史身份,保证溯源诚实。 +4. **推送前检查**:工作树干净、`pytest` 全绿、无新增 secret(token/私钥/真实密码)。测试用口令(如 `pw123456`)允许但必须在测试/文档语境。 +5. **大文件**:`app/` 原始输入(APK 9.3MB、固件 72KB)随库分发(项目自包含要求);其余 >1MB 产物须为文档/证据类文本,二进制中间产物一律 gitignore + 再生方法入库(analysis/README.md)。 +6. **同步纪律**:每个工作会话开始先 `git pull --ff-only`;结束前提交并 `git push`。冲突时以远端为准 rebase 本地未提交改动,禁止 `--force`。