主张与边界
治什么 · 不治什么 · 谁接壤- 一句可证伪的主张
- 治理边界与接管方
- 与相邻规范的分界线
每个系统规范域都用同一组视图回答:治什么、凭什么判、谁在执法、以及它看不见什么。页面的一半由引擎从真相源算出,另一半是写页人负责的原件——本标准同时定义这两侧。
框架架构讲这套体系怎么运转,系统规范域架构页讲一条治理规则怎么从主张走到执法。两者不是同一张页面,也不能互相复述。
回答「这套体系有哪几层、有哪些工作流、怎么流转」。它住在唯一的一份框架真相源里,不按域分页。
回答「这一份规范如何从主张、条款、判据走到执法与诚实边界,形成一个闭环」。一域一页,结构固定。
反例:一条规则不是一个规范域;一个端不是一个规范域;一份注册表不是一个规范域——注册表是某份判据的一部分,改它等于改判据。业务架构另有一套标准(业务模块架构标准),它以代码为锚、不设四件套;两套标准共享视觉语言,但不共用视图清单。
顺序固定,落点固定。必填八项、条件必填三项、条件建节一项——每一项的必填态都配一个机器判得出的触发条件;判不出来的,一律不写成必填。
这份规范治什么、凭什么主张、边界在哪、这一页怎么读。正文一个治理计数都不写——版本号、条款数、判据数一律指向页首身份表与两张派生总表;身份表不提供的量(床数、普查命中数)直接不写数字,改写指代。禁写干系人、质量目标这类本项目没有真相源的名单。
s-overview
原件
身份数字取自 head 派生区
与每一个相邻规范在哪条线上分家、线的哪一侧归谁、接管的闸号是什么。禁写「由某规范负责」了事——不写分界判据等于没划线;禁把重叠面留白。
s-decisions
末节
原件
这份规范的闸实际扫到哪些树、哪些后缀、哪些端;排除面锚在哪;这个面今天有多大。禁手抄注册表内容;禁手写普查数字;禁把「这个面有多大」读成「有多少个合规」。
s-map 首节
s-census
原件 射程说明
census-* 普查数字
panel-* 注册表
被治材料从写下到被判定的全程,以及一条真实链路上每一跳咬哪几颗闸。禁手画泳道——手画的图与逐跳表不同源,改一处另一处静默不动;禁无导读的裸图。
s-map
panel-swimlane 派生
图与逐跳表同源
原件 导读
这套规矩为什么长成这样——每个关键设计点给机理、给反事实(省掉会怎样)。禁整节一个要点清单、零小标题:那样的内容在页内导航里完全不可见,同一个「为什么」在别的页是一节、在这里只是一行。
s-design
原件
这些闸落在哪个引擎原子上、看的是哪一份检测视图、按行还是按块判、在哪条通道上真的会被跑到。禁只写「有闸」不写怎么判——「有闸」与「闸看不见你」在报表上长得一模一样。
s-design
固定小节
原件
本规范的全部条款与全部闸,以及两者的相互认领——四件套护城河在页面上的实体。在这两节写一个字的原件都不许;禁用手填的追溯矩阵替代它,那是对已经机器化能力的倒退。
s-clauses
s-criteria
clauses 派生
criteria 派生
原件字符恒为零
这个域里谁是原件、谁是派生件、指纹怎么把它们锁在一起;要改它按什么步骤走、必须过哪几道闸。禁写「参见治理工作流」了事——本域特有的步骤必须写出来。
s-design
固定末节
原件
每颗闸由哪张床验证、床验了什么、没验什么;零床的闸写「待补床」。禁把「有床」读成「验过了」;禁登记一张不跑判据的床却不标明它只守不变量。
s-beds
原件
点名由闸物理校验
这些闸看不见什么、谁接着守、以及做得好的地方(一并记下,免得后人当成缺口)。禁声称闸看得见它其实看不见的东西;禁虚构覆盖率与百分比;禁删本节——删掉等于默认宣称全覆盖。
s-limits
原件
拍过板的结论、设计权衡、以及没选的另一条路。禁起第二套决策编号;禁把缺陷修复与文案调整写进来;禁写待办路线图——易逝的东西不进长期真相源。
s-decisions
原件
这个域有没有随时间到期的义务;到期怎么当场查、漏了会怎样。禁把到期日、证书编号、席位数这类云端易逝状态抄进页面——抄进来就会在无人察觉时过期。
s-ops
原件
s-overview一页读懂视图 01 · 02 的主张半s-map治理版图视图 03 说明 · 04s-census现状普查视图 03 的数字s-design设计说明视图 05 · 06 · 08s-clauses条款总表视图 07(全派生)s-criteria判据总表视图 07(全派生)s-decisions取舍与在案裁定视图 11 · 02s-beds测试床视图 09s-ops周期性运维视图 C1s-limits诚实边界视图 10● 该节含引擎产出的派生区◇ 条件节:不适用的域不建,缺席时其余节顺序不变节的 id 与顺序写死,不许每页自造节
架构页的主要消费面是嵌在治理站点的面板里,而站点已经给了面包屑、大标题、一句话说明、覆盖端、页签与右侧本页目录。页面再做一套 hero 与页内导航,就是同屏两套页头、两份目录——这正是它看起来像两个网站拼起来的原因。规则:站点用 ?embed=1 打开架构页,页面据此隐藏自己的标题块与页内导航,只保留站点给不出的东西(身份表:版本、判据指纹、条款与判据计数)。单独打开文件时才显示完整标题。
架构文档的视觉语言在本项目早已定型(见业务架构的域级样式表):纯白底 · 零圆角 · 整幅分节(细线分隔+隔节极淡底色)· 超大节标题 · 数值与标识用等宽体 · 靠线条与留白分层,不用卡片与阴影。系统架构页沿用同一套,不得自创。写页前先读那份样式表,不要凭「看起来专业」自己发挥——两套语言拼在一起,比任何一套单独用都难看。
页面不许出现第二种页面级底色。一旦页头是白、正文是灰(或反过来),接缝处就会出现一道硬边,看起来像两个网站拼起来。分节靠细线与隔节的极淡色带,不靠整块换底。深色块一律禁止。
文档页首、页内导航、每一个分节、页脚必须共用同一个最大宽度与同一组左右边距。页面上不允许存在任何满幅元素——页头铺满而正文限宽,嵌进定宽面板后上下两段不一样宽,观感立刻破裂。
嵌入参数只给面板里的内嵌视图用。「在新窗口打开」这类外链必须去掉它,否则新窗口打开的是一份被抑制了标题的残页——读者看到一个没有标题、上下割裂的东西,不知道自己在看什么。外链文案也要说人话,不许用「制品」这类内部黑话;同一屏不许出现两个含义相近的外链。
页内导航由引擎脚本从每节的 h2 文字自动生成,而且只认 section 的直接子元素 h2。所以:标题控制在十来个字以内(长叙事句会把导航撑成三行);编号与英文提示写成节的 data-index / data-kicker 属性、由样式渲染,不许写进 h2;不许把 h2 包进 header 之类的容器,一包导航就整条消失。
编号跟着节走,不跟着页面上实际有几节走:s-overview 永远是 01、s-map 02、s-census 03、s-design 04、s-clauses 05、s-criteria 06、s-decisions 07、s-beds 08、s-ops 09、s-limits 10。条件节不建时那个号就空着,后面的节不许往前补位 —— 跨页对比时「04 是设计机理」必须恒成立,否则读者每翻一页都要重新数。这一条目前只靠写页人守:闸查的是编号属性在不在,不查它的值对不对。
条件节缺席时,「本域确实没有这件事」与「写页的人忘了」在页面上完全同形,没有任何机器能分开。所以不建条件节的域,必须在诚实边界里留一句显式裁定,写明为什么不适用(例:本域治理对象全是仓库内静态文件,不存在任何会到期的东西,故不建周期性运维节)。
「这块是机器生成的」由表达层样式统一渲染——它读派生区元素自带的属性自动打出标识条,一页不改一个字就全部生效。不许在页面里手写「以下为派生区」之类的说明:手写的标签会和实际属性分叉,而且新增一类派生区时永远有人忘了补。
架构页共用的样式表住治理站点的资产目录,页面用相对路径引它。不许在 arch/system/ 根下新建任何共享目录——那一层的每个目录都会被成套闸当成一个规范域,要求存在同名判据文件,当场判红;域目录内部只允许架构页、变更历史与 assets/。
这是系统架构页与业务模块页最大的分野:凡是能从真相源算出来的,一律由引擎产出并打上指纹;人只写算不出来的那一半——判断、机理、取舍与边界。
由渲染引擎从真相源算出,带三种戳记。改了真相源却不重新渲染,当轮就会被架构保鲜闸报出来。
shell外壳样式,全部架构页共用一份,禁止逐页自带head身份表:规范版本、判据指纹、变更历史最新、条款数、判据数、文件路径clauses条款总表,来自条款书criteria判据总表与条款认领,来自判据文件panel-*图与注册表:泳道、表格、键值、矩阵、刻度、色板、外部矢量图census-*现状普查快照,带快照日期,不随代码自动刷新script外壳脚本,页内导航由它按小标题自动生成算不出来的部分:设计判断、取舍、承诺与边界。它们是这一页真正的价值,也是唯一值得花时间的地方。
主张与边界一句可证伪的断言,以及不治什么、谁接管设计机理为什么这么设计,省掉会怎样判据实现闸落在哪个原子、看哪份视图、什么粒度变更协议改这份规范的步骤与必过闸测试床点名谁验的、验了什么、没验什么裁定与取舍拍板结论、代价、没选的另一条路诚实边界看不见什么、谁接着守data-v输出版本。引擎改了输出形态就升号,页面上的旧区当轮变成过期,逼一次重新渲染。
data-src输入真相源的路径与内容指纹。真相源改了、页面没跟着重渲染,保鲜闸当场报红。
data-out本区产出的内容指纹。手改派生区里的一个字,指纹就对不上,当轮会被抓住。
版本号、条款数、判据数从身份表取,普查命中数从普查区取;身份表与普查区都给不出的量(例如床数),一个数字都不写,改用「以名册为准」这类指代。抄进正文的数字只在抄的那一刻是对的,而且没有任何闸会发现它过期——这一条是写页人的纪律,不是机器强制,必须写进该页的诚实边界。
条款总表与判据总表是派生的。手填的追溯矩阵是对已经机器化能力的倒退。
视觉由共用外壳提供。放任每页自带,一年后三十几页会长出三十几种样子。
图一律由数据渲染,或作为原件写成矢量:位图挂不上指纹、搜不到里面的闸号、放大就糊。
主张、条款、判据、测试床、诚实边界五者互相追溯,这一页才算完成。四道门槛里能被机器判的已经标出来;判不了的写明由谁兜底,不含糊过去。
治什么、不治什么
边界由谁接管
必须或禁止什么
为什么、怎么做
机器怎么判
看的是哪份视图
凭什么相信闸是真的
验了什么、没验什么
闸看不见什么
谁接着守
说得清治什么、不治什么、与谁接壤、接管的闸号是什么。
部分可机检 · 边界段在场性材料从写下到被判定的全程可追踪;这颗闸在四条检测通道上到底会不会被跑到。
无机器闸:语义类 · 由评审兜底每颗闸有床或明写待补床;每条无机器闸的条款写明类别与理由。
已有闸 · 点名与存在性物理强制看不见什么、谁接着守、裁剪有记账、变更历史与设计正文分离。
待立闸 · 承接关系可机检四道全过,这一页才能登记为「完整样板」。缺真实基线时只能标「部分符合」,不得虚构覆盖率补齐页面——这一条与业务模块标准同源,在系统侧加强为:禁止声称闸看得见它其实看不见的东西。
架构页回答「为什么这样设计」,变更历史回答「何时为什么改了什么」。两者互相引用,但不能在同一段正文里混成时间流水账。
维护主张、边界、射程、机理、判据实现、锁步关系、测试床与诚实边界的判断。
每一版记录动因、内容、影响与判据指纹,并由版本锁步闸强制:条目严格递减、最新条目等于规范当前版本、已封版的指纹必须相符。
到期日、证书编号、席位数、配额。抄进来就会在无人察觉时过期,页面上只写「怎么当场查」。
待办是易逝的,长期真相源引用易逝的东西就是在造死链。它归施工看板与记忆索引。
架构决策有唯一的全局台账,页内只引用它的编号,不自起一套。
修了什么属于变更历史;只有影响到十二项视图时,才回写架构页。
复制骨架,逐项填真实事实;填不出来的标为待补或写明为什么不适用,不要为了填满模板而编造。
本标准自己也要受治。结构名册(十个节的 id 与顺序、条件节、每项视图的必填态与触发条件)将落成架构治理规范的一份注册表,自动计入该规范的判据指纹——改名册就必须走治理流程、升版、重新封版。本页只保留人读的那一半:为什么这么定、禁令的理由、范例在哪。不再另出一份同内容的 Markdown:两份手抄必漂,旧的系统模板正是这样漂出十二处分歧和一处指向不存在章节的死引用。
本标准即将约束一整批架构页,所以它自己也必须可追溯。但要说实话:它是整条链上唯一不受版本锁步闸管的真相源——改它不会惊动任何闸,也没有指纹能证明某一页遵循的是哪一版。在机器面落成之前,这里就是它的变更历史。
本标准的机器面落地了:可机判的那一半(节名册与顺序、必填与条件节、节编号属性、表达层在场)已固化成架构治理规范的名册 x-arch-standard.json,由一颗四臂闸逐页强制,配 25 例判据床(含一发反向注入:把某一臂拆成恒假,对应用例必须变绿)。立闸即验真:第二个样板 x-website 改造前跑闸报 18 处、改造后 0 处 —— 同一颗闸、同一个文件、改前红改后绿。名册用棘轮推进:尚未改造的域登记在案、整条静默,改完一份划掉一份。本版同批补「节编号按 id 固定、缺席留空号」(跨页对比的前提),并如实写明该条的编号值尚未被机器校验。
第二次看真实渲染之后的修订,病根比 v1.2 判断的更深:v1.2 只说了「浅色、别做自己的头」,却没说该用哪一套设计语言,于是仍然是自创的一套(卡片+大圆角+阴影+淡蓝底),与本项目已定型的架构文档语言(纯白底+零圆角+整幅分节+细线+超大标题+等宽体数值)硬碰硬。本版把「不许发明第二套设计语言」写成硬约束,并补「整页只有一种底色」与「外链必须打开完整版」——后者修的是一个真实缺陷:嵌入参数漏进了新窗口链接,点开是一份没有标题的残页。
看了第一版真实渲染效果之后的紧急修订,补三条此前缺失的硬约束:① 架构页没有自己的「头」——它是嵌在站点面板里消费的,站点已有标题与目录,页面再做一套就是同屏两套;② 浅色且用站点自己的色,禁深色块;③ 页头与正文走同一容器宽度,禁满幅元素。这三条是被一次失败的实建逼出来的:首版给页面做了深色 hero + 页内导航 + 满幅页头,单独看没问题,嵌进站点当场暴露为「两种风格混在一起、上下不一样宽」。标准此前只规定了内容视图,完全没有规定页面在它真正的消费面里该长什么样——这是本标准最大的一个缺口。
被首个实建样板(x-styles)改出来的四处:正文计数禁令改为「身份表给不出的量一个数字都不写」;补「小标题必须短」(导航由 h2 自动生成);补「条件节不建也要留话」;补表达层资产落点约束。同批把全页的「人写/手写」改为「原件/派生件」,对齐命名法。
立标准:五治理平面、证据链、十二项视图(必填/条件必填)、十节骨架与冻结的节 id、原件与派生件的分界、四道交付门槛。
本标准的可判部分(节 id 名册、必填视图清单)计划落成架构治理规范的一份注册表,由闸去比对每一页。在那之前,本标准对 33 页的约束力等于「写页人有没有照着做」——这一条必须说在前面,不许让读者以为已经被强制了。