开发分支
项目同时推进三条线,各自有独立分支、独立的边界声明与独立的判据。为了避免三条线互相踩,开发宪章先把“谁独占什么”写清楚,再让它们并行。
判据总则:
任何声明为“完成”的东西,都必须给出可重放的命令与输出。写进文档不算完成。
三条线
语言线
FujoLang-DEV
Loment 语言与 Potato 表示层。L0 单一真源、L1 编译器与自举、Potato 强制导出与跨实现校验。
网络线NET-DEV
Loment 的第一个真应用。基线取自语言线分支;在用户态用 Loment / Potato 写网络层,不碰内核协议栈。
兼容线compat · FUFORALL
四套加载器与三套 ABI。按 C01–C15 逐项推进,每项带一条可执行判据;clean-room,表驱动。
边界是靠“让出清单”划出来的
三条线能并行,不是因为大家靠自觉,而是因为有一条明确的让出清单:某些文件、某个子系统由某条线独占,其他线不得改动,需要改动时走补丁协商而不是直接编辑。网络线的宪章就明确写了内核侧 net.rs 属于独占范围,所以那条线只做用户态部分——见 网络线。
基线约定
| 线 | 基线 | 说明 |
|---|---|---|
| FujoLang-DEV | 主线 | 语言与表示层的进展在这里闭合,其他线从它取基线。 |
| NET-DEV | 取自语言线的某个具体提交 | 以提交号锚定,便于差分与回溯。 |
| compat | 兼容线独立推进 | 携带开发宪章与波次路线图;AI 线在此暂停并保留。 |
分工与协作的现实
项目里有多个 AI 工具参与,全部在作者指导下工作,且都不是作者。作者写了核心设计、跑并验证了每一个实验、拥有仓库里的每一条主张——包括那些写错的。这一点在 README 里单独成节,因为“用了 AI”和“AI 是作者”是两件不同的事。