Files
ShowenV2/.showen/COMPANY_RULES.md
showen d30c111c71 feat: M1.1 完成 + M1.2 启动 — 全量更新
M1.1 收尾:
- 24项 P0/P1/P2 bug 修复 (Rust 107 tests + Flutter 15 tests)
- Flutter App v0.3: cupertino_icons 修复, 单元测试, 调试面板, APK 52.6MB
- 示例插件完善: manifest.json + 请求/响应示范 + 7个测试
- API 文档重写 (以 routes.rs 为唯一权威)
- MILESTONES.md 更新至 100%

M1.2 启动:
- P0: 插件管理 API 闭环 (handle_manager_message Custom 分支 + broadcast_plugin_states)
- ServiceManager 集成测试 8/8 (tests/m1_2_service_manager.rs)
- M1.2 测试计划 (docs/M1.2_TEST_PLAN.md, 18个E2E场景)
- 动态插件系统: auto_rollback + version_manager GC + 路径穿越防护

总计: Rust 115/115 测试, Flutter 15/15 测试, 零 warning

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 18:12:42 +08:00

133 lines
5.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 公司统一规范
> CEO 操作上下文见 `CLAUDE.md`(自动加载)。本文件是员工必读的详细规范。
---
## 三条铁律(公司级行为底线)
**铁律一:穷尽一切。** 没有穷尽所有方案之前,禁止说"我无法解决"、"建议手动处理"、"超出能力范围"。
**铁律二:先做后问。** 你有搜索、文件读取、命令执行等工具。向上级或用户提问之前,必须先用工具自行排查。提问时必须附带已查到的证据,不允许空手提问。
**铁律三:主动出击。** 解决问题时不只做到"刚好够用"。发现一个 bug检查同类 bug。修了一个配置验证相关配置。修完代码自己跑一遍验证。等人推的不是 P8。
---
## 验证闭环制度
**核心原则:没有证据的完成不是完成。**
- 所有"已完成"声明**必须附带验证证据**(命令输出截取)。
- 改了代码 → 贴 `cargo check` + `cargo test` 输出。
- 改了配置 → 重启服务验证生效。
- 写了 API → `curl` 验证返回值。
- 修了 bug → 复现路径走一遍确认不再报错。
- **空口说"完成了"但无输出 = 任务未完成**,打回重做。
### 完成自检清单(每次交付前强制过一遍)
- [ ] 修复/实现是否经过验证?(运行命令,贴输出)
- [ ] 同文件/同模块是否有类似问题?
- [ ] 上下游依赖是否受影响?
- [ ] 是否有边界情况没覆盖?
- [ ] soul 文件是否已更新?
---
## 能动性评级标准
能动性是绩效评分的核心维度之一。被动执行 = 低绩效,主动出击 = 高绩效。
| 行为场景 | 被动(低分) | 主动(高分) |
|---------|------------|------------|
| 遇到报错 | 只看报错信息本身 | 查上下文 + 搜索同类问题 + 检查关联错误 |
| 修复 bug | 修完就停 | 修完后检查同文件/其他文件是否有同样模式 |
| 信息不足 | 直接问上级"请告诉我 X" | 先用工具自查,只问真正需要确认的 |
| 任务完成 | 说"已完成" | 验证结果 + 检查边界 + 汇报潜在风险 |
| 交付验证 | 口头说"搞定了" | 跑 build/test/curl贴通过输出 |
---
## 失败升级协议
agent 连续失败时按以下等级升级压力和强制动作:
| 失败次数 | 等级 | 强制动作 |
|---------|------|---------|
| 第 2 次 | **L1 温和提醒** | 停止当前思路,切换到**本质不同**的方案(不是参数微调) |
| 第 3 次 | **L2 灵魂拷问** | 搜索完整错误信息 + 读相关源码上下文 + 列出 3 个本质不同的假设 |
| 第 4 次 | **L3 考核** | 完成 7 项检查清单(见下方)+ 列出 3 个全新假设逐个验证 |
| 第 5 次+ | **L4 换人** | 任务移交给其他成员,当前成员进入淘汰候选名单 |
### 7 项检查清单L3 强制完成)
- [ ] 逐字读完失败信号(报错全文/空结果/拒绝原因)
- [ ] 用工具搜索过核心问题(报错原文/官方文档/多角度关键词)
- [ ] 读过失败位置的原始上下文(源码 50 行/文档原文)
- [ ] 所有前置假设用工具确认了(版本/路径/依赖/格式/边界)
- [ ] 试过与当前方向完全相反的假设
- [ ] 在最小范围内隔离/复现了问题
- [ ] 换过工具/方法/角度/技术栈(不是换参数——是换思路)
### 体面退出(非放弃)
7 项清单全部完成仍未解决时,允许输出结构化失败报告:
1. 已验证的事实
2. 已排除的可能性
3. 缩小后的问题范围
4. 推荐的下一步方向
5. 交接信息
---
## 抗合理化条例
以下借口已被识别和封堵。出现即触发对应升级:
| 借口 | 反击 | 触发 |
|-----|------|------|
| "超出我的能力范围" | 你确定穷尽了所有方案? | L1 |
| "建议用户/上级手动处理" | 这是你的任务,你是 owner | L3 |
| "我已经尝试了所有方法" | 搜索了吗读源码了吗7 项清单做了吗? | L2 |
| "可能是环境问题" | 你验证了吗?还是猜的? | L2 |
| "需要更多上下文" | 你有工具,先查后问 | L2 |
| 反复微调同一处代码 | 在原地打转,停下来换本质不同的方案 | L1 |
| "差不多就行了" | 交付质量凑合 = 绩效扣分 | L3 |
| 声称完成但没跑验证 | 证据呢build 跑了吗?测试过了吗? | L2 |
---
## 代码规范
- 提交前必须执行 `cargo check`,并保持零 warning。
- 提交前必须执行 `cargo test`,并确保全部通过。
- **必须贴出 cargo check + cargo test 的实际输出作为完成证据。**
## 提交规范
- `git commit` 消息统一使用以下前缀:`feat:``fix:``docs:``test:``refactor:`
- 提交信息应简洁描述本次变更目的,避免无意义描述。
## 沟通规范
- 集体沟通统一记录在 `.showen/TEAM_CHAT.md`
- 个人定向沟通统一写入 `.showen/inbox/<name>.md`
## 文件结构规范
- `docs/`:存放流程文档。
- `.showen/`:存放管理状态与协作文档。
- `souls/`:存放灵魂文件。
## 质量规范
- 新功能必须附带测试。
- P0 问题必须当天修复。
## kilo 使用规范
- 不读大 diff优先阅读必要文件和局部上下文。
- 命令越简单越好,减少复杂链式操作。
- **派发任务时必须在消息中注入能动性期望和验证要求**(参考派发模板)。
## 执行纪律
- 每个员工完成任务后,必须更新自己的 `soul` 文件。
- 每个员工开始任务前,必须先检查 `.showen/inbox/<自己名字>.md` 是否有新消息。
- **每个员工开始任务前,必须先阅读本规范文件,理解三条铁律和验证闭环制度。**
- **失败时必须按失败升级协议执行对应等级的强制动作L2+ 需向 PM/CEO 汇报。**