vibe assembly 宪法 v1

September 1, 2026 · View on GitHub

治的是这个仓库。加东西、删东西、吵架,都拿它判。 判不了的条款不算法条,算愿望——所以每条都配一个怎么判

序言:这是一门编程语言

用自然语言调度大模型,面向零件编程

阶梯是:汇编 → C → Java → vibe coding → 模块调度。每一级省掉一类活:

省掉了代价(地板下的机器)
C寄存器分配编译器
Java内存管理GC + 类型系统 + JVM
vibe coding写语句大模型
vibe assembly写模块零件目录 + 闸 + 独立考官

所以"我们是不是真的高了一级"有一条硬检验:用户/agent 还在不在写模块。 写页面(程序)可以;写零件(模块)不行——除非它走入库流水线,变成别人也能用的标准库。

这门语言的部件对照:

标准库   零件目录(+ 入库流水线 + BOM 供应链)
编译器   装配器:哑发射,不做判断
类型系统 闸(gate)——拦下的不是"不好",是"不成立"
错误信息 闸的报错 —— 这是本语言的用户界面
运行时   cordis / DSH host
测试     独立考官
链接     服务脸 / wire / 共享库

不可再减的核只有三件:诚实的目录 · 哑发射 · 独立考官。其余全是外围。


一、语言的边界

第一条 · 闸即类型系统

要么做成机械闸,要么承认它不承重。散文不承重——四次应验。

怎么判:把这条规矩删掉,系统还产不产得出违反它的东西?还能 = 它不是规矩,是愿望。

第二条 · 报错即界面

闸拦下时必须点名怎么修,并把真实的候选一起送到(库里现成的配方 id、能读 kb 的条目、缺的那个环境变量名)。

怎么判:只读这条报错,不看源码,改得动吗?改不动 = 这个闸只完成了一半。 Rust 的口碑有一半在报错上。我们的闸报错就是用户界面,不是日志。


二、规范住在哪

第三条 · 规范住编译器,不住源码

事实放在决策发生的地方,不放在序言里。没有哪门语言把类型规则贴进每个源文件头部。

怎么判:这段字是每轮都在 prompt 里(税),还是只在那一次出现在结果里(信息)? 价签、检索行事实、接力棒 = 信息。契约段落 = 税。(曾例举「车道分叉行」——它随双车道在第九条判例一中消亡。) 实测:删掉税 16014 → 4906 字符,每轮省 3174 token。


三、标准库

第四条 · 程序可以写,模块必须入库

页面、PAGE-SPEC、persona 是程序,写就是了。能力是模块,只能经入库流水线(装依赖 → 冒烟 → 独立实探 → 出处链 → 登记)。焊死在单台 preset 里的胶水代码,是无门、无记录、不可复用的雪花。

怎么判:这段新代码,别的装配用不用得上?用得上却没入库 = 违宪。

第五条 · 目录的诚实度 = 语言的质量

Java 赢在 JVM 和标准库,不在语法。零件的元数据必须诚实到能拿来做决策:每轮 token 价签、要不要开进程、要哪个凭证、有没有服务脸、出处与许可。

怎么判:选型所需的事实,是不是全部在检索行里?要靠猜的每一项都是缺陷。 反面样本:四包虚构语料曾长期在目录里当能力卖。


四、执行与验收

第六条 · 谁做的谁不判

判据看效果,不看回复。独立考官是这一级阶梯的 GC——没有它,这门语言就只是把不确定性往后推。

怎么判:证据是"事情发生了",还是"它说它做了"?后者一律不算。

第七条 · 不许静默

降级出声、跳过出声、失败出声、判不了也出声。

怎么判:这条路径出问题时,有没有人会知道?没有 = 违宪。 累犯记录(一天之内):SQL 静默回退、缺口静默降级、判卷器静默漏扫、重判静默覆盖原始结果、定时任务三次静默断链。


五、阶梯自检

第八条 · 复杂只许长在地板下

地板之上(调用方必须记住的概念)每加一个,必须删一个。地板之下(保证抽象成立的机器)随便长。

怎么判:数概念,不数代码行。 当前账(2026-09-01,BACKLOG 1.0 修宪后):13 工具面 / 1 形态(另有 off 停用开关)/ 5 种 via。 修宪记(2026-09-01,+preview_app):写手的镜子与考官的判定是两种言语行为,并进 verify_app 会让「快闸不判定」的契约失真——按 0.8 快慢闸分层单列一面。不加新形态、 不加 via、不加承重散文;代价与收益入 BACKLOG 1.0 工单。 前账(2026-08-26,两刀执行后):12 工具面 / 5371 行。 第一刀(第八条):四个已判负的实验臂(pipeline/orchestrated/draft/dialogue)整体删除, git 备查——账从 17 工具面 / 6 形态 / 8019 行减至此。随臂同葬:assemble 一条龙脊柱、 /assemble 命令、solution CLI 与 HANDOVER 生成器、45 题 bench、选型台账 writer。 第二刀(第九条):配方车道并入 scaffold——via 6→5,车道闸/分叉行/双车道语义消失。

第九条 · 形态是装配出来的结果

不是入口处的分类。凡"先分类、再走不同流程"的设计一律嫌疑——分叉本身是缺陷,不是特性

怎么判:这个分叉,能不能靠"只留一条路"消掉?能就消。 判例一(已执行,2026-08-26):配方 vs scaffold 双车道 → 并为一条。成品配方降级为 写手可抄的范例页(scaffold/template/examples/),scaffold 从目录零件降为装配器装备, via:'recipe'、车道闸、检索分叉行随分叉一起消失——分叉没了,判分叉的闸失去存在理由。 待取证的下一问:形状模板(data-desk/kanban 等 via:'frontend')vs scaffold 范例页是否 构成同款分叉——留给泛化战役 v3 实测后再判(附则:先取证,再修法)。


附则(方法,不是设计律)

  • 先取证,再修法。"它不听话"的第一嫌疑人,是我给它看的东西。 实录:真凶是同分排序把错车道顶上榜首,不是判据不硬;页面迭代的机器侧早已是 3 秒,不是"整 preset 重装"。
  • 按结构认,不按名字认。 按 lock 绑定认领实例、按 @@KBDIR@@ 槽位认读取面。按名字猜已经导致向用户报过错结论。
  • 一份实现。 两份必然走偏——在判卷器和驱动器上各验了一次。
  • 需求可判定才是我们的地盘。 说不出"什么叫做完了"的需求,第六条是关的,护城河也是关的。这条比 B 端/C 端准。
  • 评测先受审。 采信任何战役结果之前,考卷、判卷器与驱动器必须先过独立对抗审计 (考卷作者不给自己的考卷发合格证——第六条对评测自身的回照)。审计发现分两类处置: 判据只紧不松的离线硬化重判 / 法本身的缺陷记账后进下一版冻结。首例:v4 三审计 (判卷器 11 空洞、效度 4/10、驱动器 6/10),硬化重判当场抓获 B3 假 PASS。

已知的 undefined behavior(诚实登记)

语言设计者有义务说明检查不到什么:

  • persona 的质量(只 lint 结构,不判好坏)
  • 页面好不好看(永久 UB;DOM 一跳已于 2026-08-27 部分收编:每页挂载死活必考、带 dom 标注的 face 动作真填真点验"点击→落库→回显"——取证对样本:断 onClick 五门全绿唯 DOM 考 FAIL。仍登记:未标注动作的绑定、拖拽/键盘/IME 交互、渲染成功后的延迟死亡)
  • 需求理解得对不对(考官考的是"它做到了它说的",不是"它理解了你要的")
  • host 不在时的一切(插件活在 host 进程里,"谁来唤醒唤醒者"没解决)