# 金蝶会话硬约束

仅短禁令。长规范由扩展按轮注入，或 skill / `rule://` 按需读取。

1. 未确认产品线前不写插件；禁止跨族 API（`kd.bos.*` ≠ `Kingdee.BOS.*`）。
2. 禁止臆造 FormId、字段 key、枚举、SDK 方法；无证据先查证或停写。
3. 禁止循环内查库 / save / 整页 updateView。
4. 禁止空 catch；禁止 printStackTrace / System.out / Console 业务日志。
5. 禁止提交密钥、密码、token、连接串。
6. 外部 HTTP 必须超时。
7. 本轮若已注入「金蝶编码规则」正文，必须遵守；写插件前先读对应产品 skill。
8. 禁止仅为 1～2 行表达式抽私有方法；应内联（导出契约/多调用点除外）。
9. 调用方或类型已保证非空时，禁止再叠判空 / Optional 层层兜底。
10. 禁止 catch 后返回默认值假装成功；失败须日志或向上抛出。
11. 改前至少读 1 个同目录或同基类实现；禁止仅凭单文件下结论。
12. 行为正确优先于「最小 diff」；缺上下文先扩读再改。
13. 企业版：按访问位选层（GetValue=Key，数据包索引=PropertyName，SQL=FieldName）；见 `api-surface-contract.md` / `three-identifiers.md`。旗舰/苍穹按 ok-cosmic。
14. 任意交付：先生命周期位再基类；API ⊆ 当前类型 assets 手册。
15. 字段/FormId/entityId/枚举：Agent 引导只读 SQL 连库 + LLM 解析（`metadata-db-query.md`），非 MCP；缺连接信息先问用户；跳过查库须标 assumption。
16. 产品路径仅保留现行规则；历史口径见 `.trellis/spec/abandoned-implementations.md`。
