Company OS

架构评审

docs/01-architecture.md

五层只许镜头变,公司不变

一个前端壳、一组带 manifest 的业务模块、一份对象登记、一条事件日志、外购通讯。模块像 Odoo 一样可装可卸,但一切静态声明、启动期校验。DMS 落在 eng 模块,对象必须登记进内核。

图 1 · 系统上下文mermaid
正在绘制…
图 2 · 容器与分层mermaid
正在绘制…

第②层由模块组成;内核多了模块注册表与扩展点。ADR 0005。

图 3 · 一条命令穿过扩展点mermaid
正在绘制…

主 handler 只属于对象 owner;其他模块只能 validate 否决、after 追加、订阅事件。

图 4 · 启动序列mermaid
正在绘制…

任一校验失败进程不起,不存在装一半。

① 体验工作台

可以 壳提供菜单树、对象详情页、审批箱;模块往命名槽位贡献标签与按钮

不可以 直连他域表;缓存一份自己的客户;模块改别人的页面

② 业务模块

可以 一份 manifest 声明对象、命令、扩展表、钩子、订阅、谓词片段、菜单;只写自己的 schema

不可以 新建 customers / owners / vendors 人表;import 别的模块;替换别人的 handler

③ 本体与权限内核

可以 加载 manifest、拓扑排序、校验、发号、鉴权、审批、审计、对象合并

不可以 含任何业务对象(Party 也在 modules/party);懂装修工艺细则

④ 事件与数仓

可以 投影、指标、只读查询

不可以 作为命令的写入源

⑤ 外购连接器

可以 把已发生事件翻译成邮件/IM

不可以 用邮件线程当合同或审批系统