HARNESS 架构 系统架构标准 架构治理条款书

一套骨架,
把一份规范的主张、
判据与诚实边界钉在一页

每个系统规范域都用同一组视图回答:治什么、凭什么判、谁在执法、以及它看不见什么。页面的一半由引擎从真相源算出,另一半是写页人负责的原件——本标准同时定义这两侧。

统一骨架
十个节,顺序固定,跨域可比
派生边界
能算出来的一律由机器产出
执法可证
每颗闸指得出床,每条承诺有守护
诚实可读
闸看不见什么,写在页面上
从治理主张到诚实证据
CLAIM治理主张
01

主张与边界

治什么 · 不治什么 · 谁接壤
  • 一句可证伪的主张
  • 治理边界与接管方
  • 与相邻规范的分界线
s-overview · s-decisions
02

射程与版图

扫哪些文件 · 违规的一生
  • 包含面与排除面
  • 现状普查快照
  • 数据链与业务链泳道
s-map · s-census
03

机理与判据

为什么这么设计 · 怎么判
  • 设计机理与反事实
  • 落在哪个引擎原子上
  • 看的是哪一份检测视图
s-design
04

条款与锁步

双向认领 · 指纹锁步
  • 条款总表与判据总表
  • 原件与派生的关系
  • 改这份规范的路径
s-clauses · s-criteria · s-design
05

证据与诚实

凭什么信 · 看不见什么
  • 测试床点名与效力
  • 取舍与在案裁定
  • 诚实边界与到期义务
s-beds · s-decisions · s-ops · s-limits
HONEST诚实边界
01

先分清层级,再套骨架

框架架构讲这套体系怎么运转,系统规范域架构页讲一条治理规则怎么从主张走到执法。两者不是同一张页面,也不能互相复述。

LEVEL A

框架架构

回答「这套体系有哪几层、有哪些工作流、怎么流转」。它住在唯一的一份框架真相源里,不按域分页。

观察尺度
整套治理体系
核心制品
六层模型、工作流闭环、决策台账
主要读者
决策者与体系维护者
不应该出现
某一颗闸的判定逻辑、某一份规范的射程
选定一个系统规范域向下钻取
LEVEL B · 本标准

系统规范域架构页

回答「这一份规范如何从主张、条款、判据走到执法与诚实边界,形成一个闭环」。一域一页,结构固定。

观察尺度
一个可独立升版封版的规范域
核心制品
治理链路泳道、条款与判据双表、测试床点名、诚实边界
主要读者
写代码的人与 AI、改判据的人、审查者
不应该出现
把一条规则再拆成一个规范域;复述引擎的通用实现
什么才算一个
系统规范域
  1. 主张可证伪:一句能被反驳的断言,不是「保证代码质量」这类形容词。
  2. 射程说得清:包含面、排除面、与相邻规范的分界,三者都指得出来。
  3. 条款与判据双向对齐:每颗闸被条款认领,每条条款写明守护或「无机器闸」的理由。
  4. 能独立升版封版:改它不必惊动别的规范。

反例:一条规则不是一个规范域一个端不是一个规范域一份注册表不是一个规范域——注册表是某份判据的一部分,改它等于改判据。业务架构另有一套标准(业务模块架构标准),它以代码为锚、不设四件套;两套标准共享视觉语言,但不共用视图清单。

02

十二项视图,不多不少地讲清一份规范

顺序固定,落点固定。必填八项、条件必填三项、条件建节一项——每一项的必填态都配一个机器判得出的触发条件;判不出来的,一律不写成必填。

治理平面#视图名称一句话目的 · 禁令落点节必备制品谁产出必填态验收一句话
主张与边界01

规范契约

这份规范治什么、凭什么主张、边界在哪、这一页怎么读。正文一个治理计数都不写——版本号、条款数、判据数一律指向页首身份表与两张派生总表;身份表不提供的量(床数、普查命中数)直接不写数字,改写指代。禁写干系人、质量目标这类本项目没有真相源的名单。

s-overview
  • 一句话主张
  • 3–6 条支柱
  • 治理边界段
  • 怎么读本页段

原件
身份数字取自 head 派生区

必填绝不许裁剪
读者五分钟内能判断「这页跟我有没有关系」;治理边界里每一条不治的事都点名了接管方。
主张与边界02

邻域接缝

与每一个相邻规范在哪条线上分家、线的哪一侧归谁、接管的闸号是什么。禁写「由某规范负责」了事——不写分界判据等于没划线;禁把重叠面留白。

s-decisions
末节
  • 每处接壤一行
  • 分界判据
  • 接管闸号或条款号

原件

条件必填触发:规范契约里点名了接管方
接缝处不会出现「两边都以为对方管」;严格度差异必须明写「这是有意的差异」。
射程与版图03

射程与作用面

这份规范的闸实际扫到哪些树、哪些后缀、哪些端;排除面锚在哪;这个面今天有多大。禁手抄注册表内容;禁手写普查数字;禁把「这个面有多大」读成「有多少个合规」。

s-map 首节
s-census
  • 包含面与排除面
  • 排除的三种性质
  • 普查快照

原件 射程说明
census-* 普查数字
panel-* 注册表

必填注册表面板条件必填:域内有同前缀注册表
至少一块带快照日期的普查;有注册表的域,注册表内容完全由派生区渲染。
射程与版图04

违规的一生

被治材料从写下到被判定的全程,以及一条真实链路上每一跳咬哪几颗闸。禁手画泳道——手画的图与逐跳表不同源,改一处另一处静默不动;禁无导读的裸图。

s-map
  • 数据链泳道
  • 业务链泳道
  • 每张图一段导读

panel-swimlane 派生
图与逐跳表同源
原件 导读

必填无跨端链路的域可登记替代形态
两张泳道在场;图里点名的闸与条款真实存在(渲染期实查,不存在即拒绝出图)。
机理与判据05

设计机理

这套规矩为什么长成这样——每个关键设计点给机理、给反事实(省掉会怎样)。禁整节一个要点清单、零小标题:那样的内容在页内导航里完全不可见,同一个「为什么」在别的页是一节、在这里只是一行。

s-design
  • 可被反驳的设计判断
  • 每节一句反事实
  • 至少一张对照表

原件

必填至少一个非普查的设计小节
每个小标题都能回答「省掉会怎样」;普查不算设计说明,它归射程那一节。
机理与判据06

判据实现与触发面

这些闸落在哪个引擎原子上、看的是哪一份检测视图、按行还是按块判、在哪条通道上真的会被跑到。禁只写「有闸」不写怎么判——「有闸」与「闸看不见你」在报表上长得一模一样。

s-design
固定小节
  • 闸 → 原子 → 视图 → 粒度 → 通道
  • 视图选错的后果
  • 本域特有的实现

原件

条件必填触发:本域闸数超过十颗
至少一张四列以上的实现表;至少一句写明「这一类写法结构性看不见」。
条款与锁步07

条款与判据双表

本规范的全部条款与全部闸,以及两者的相互认领——四件套护城河在页面上的实体。在这两节写一个字的原件都不许;禁用手填的追溯矩阵替代它,那是对已经机器化能力的倒退。

s-clauses
s-criteria
  • 条款总表
  • 判据总表
  • 双向认领链接

clauses 派生
criteria 派生
原件字符恒为零

必填引擎强制:缺区即拒绝渲染
两区在场、戳记新鲜;判据总表里没有「无条款认领」的红格。
条款与锁步08

真相源与变更协议

这个域里谁是原件、谁是派生件、指纹怎么把它们锁在一起;要改它按什么步骤走、必须过哪几道闸。禁写「参见治理工作流」了事——本域特有的步骤必须写出来。

s-design
固定末节
  • 原件与派生的关系
  • 变更协议表
  • 改这份规范的路径

原件

条件必填触发:域内有同前缀注册表
变更协议至少覆盖「新增一颗闸」「改判据」「改注册表或图」三种动作,且命令逐字可执行。
证据与诚实09

测试床与效力

每颗闸由哪张床验证、床验了什么、没验什么;零床的闸写「待补床」。禁把「有床」读成「验过了」;禁登记一张不跑判据的床却不标明它只守不变量。

s-beds
  • 点名规则前置段
  • 床点名与守护闸号
  • 每条床「验了 / 没验」

原件
点名由闸物理校验

必填绝不许裁剪
本域每颗闸都出现在某条点名里;待补床条目只准变短。
证据与诚实10

诚实边界

这些闸看不见什么、谁接着守、以及做得好的地方(一并记下,免得后人当成缺口)。禁声称闸看得见它其实看不见的东西;禁虚构覆盖率与百分比;禁删本节——删掉等于默认宣称全覆盖。

s-limits
  • 射程事实(带实测日期)
  • 静态不可判面
  • 做得好的地方

原件

必填绝不许裁剪 · 同时是裁剪记账位
节首一句性质声明;本域每一条「无机器闸」的条款,要么被床点名承接,要么在本节出现。
证据与诚实11

取舍与在案裁定

拍过板的结论、设计权衡、以及没选的另一条路。禁起第二套决策编号;禁把缺陷修复与文案调整写进来;禁写待办路线图——易逝的东西不进长期真相源。

s-decisions
  • 在案裁定(带日期)
  • 取舍(代价换来什么)
  • 没选的另一条路

原件

必填邻域接缝作为本节末段
裁定每条带日期与实证;至少一条写出被否决的备选。
证据与诚实C1

周期性义务

这个域有没有随时间到期的义务;到期怎么当场查、漏了会怎样。禁把到期日、证书编号、席位数这类云端易逝状态抄进页面——抄进来就会在无人察觉时过期。

s-ops
  • 周期 / 事项
  • 怎么当场查
  • 漏了会怎样

原件

条件建节有到期义务才建,没有就不建空节
每行「怎么当场查」是一条可执行命令或一个可点开的位置;节首声明易逝状态不写进本页。
s-overview一页读懂视图 01 · 02 的主张半
s-map治理版图视图 03 说明 · 04
s-census现状普查视图 03 的数字
s-design设计说明视图 05 · 06 · 08
s-clauses条款总表视图 07(全派生)
s-criteria判据总表视图 07(全派生)
s-decisions取舍与在案裁定视图 11 · 02
s-beds测试床视图 09
s-ops周期性运维视图 C1
s-limits诚实边界视图 10

该节含引擎产出的派生区 条件节:不适用的域不建,缺席时其余节顺序不变节的 id 与顺序写死,不许每页自造节

架构页没有自己的「头」

架构页的主要消费面是嵌在治理站点的面板里,而站点已经给了面包屑、大标题、一句话说明、覆盖端、页签与右侧本页目录。页面再做一套 hero 与页内导航,就是同屏两套页头、两份目录——这正是它看起来像两个网站拼起来的原因。规则:站点用 ?embed=1 打开架构页,页面据此隐藏自己的标题块与页内导航,只保留站点给不出的东西(身份表:版本、判据指纹、条款与判据计数)。单独打开文件时才显示完整标题。

不许发明第二套设计语言

架构文档的视觉语言在本项目早已定型(见业务架构的域级样式表):纯白底 · 零圆角 · 整幅分节(细线分隔+隔节极淡底色)· 超大节标题 · 数值与标识用等宽体 · 靠线条与留白分层,不用卡片与阴影。系统架构页沿用同一套,不得自创。写页前先读那份样式表,不要凭「看起来专业」自己发挥——两套语言拼在一起,比任何一套单独用都难看。

整页只有一种底色

页面不许出现第二种页面级底色。一旦页头是白、正文是灰(或反过来),接缝处就会出现一道硬边,看起来像两个网站拼起来。分节靠细线与隔节的极淡色带,不靠整块换底。深色块一律禁止。

所有块走同一个容器宽度

文档页首、页内导航、每一个分节、页脚必须共用同一个最大宽度与同一组左右边距。页面上不允许存在任何满幅元素——页头铺满而正文限宽,嵌进定宽面板后上下两段不一样宽,观感立刻破裂。

外链必须打开完整版

嵌入参数只给面板里的内嵌视图用。「在新窗口打开」这类外链必须去掉它,否则新窗口打开的是一份被抑制了标题的残页——读者看到一个没有标题、上下割裂的东西,不知道自己在看什么。外链文案也要说人话,不许用「制品」这类内部黑话;同一屏不许出现两个含义相近的外链。

小标题必须短

页内导航由引擎脚本从每节的 h2 文字自动生成,而且只认 section 的直接子元素 h2。所以:标题控制在十来个字以内(长叙事句会把导航撑成三行);编号与英文提示写成节的 data-index / data-kicker 属性、由样式渲染,不许写进 h2;不许把 h2 包进 header 之类的容器,一包导航就整条消失。

节编号按 id 固定,缺席就留空号

编号跟着节走,不跟着页面上实际有几节走: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/

03

页面的一半由机器产出

这是系统架构页与业务模块页最大的分野:凡是能从真相源算出来的,一律由引擎产出并打上指纹;人只写算不出来的那一半——判断、机理、取舍与边界。

MACHINE OUTPUT

引擎产出

由渲染引擎从真相源算出,带三种戳记。改了真相源却不重新渲染,当轮就会被架构保鲜闸报出来。

  • shell外壳样式,全部架构页共用一份,禁止逐页自带
  • head身份表:规范版本、判据指纹、变更历史最新、条款数、判据数、文件路径
  • clauses条款总表,来自条款书
  • criteria判据总表与条款认领,来自判据文件
  • panel-*图与注册表:泳道、表格、键值、矩阵、刻度、色板、外部矢量图
  • census-*现状普查快照,带快照日期,不随代码自动刷新
  • script外壳脚本,页内导航由它按小标题自动生成
指纹锁步互不越界
HUMAN ORIGINAL

原件(写页人负责)

算不出来的部分:设计判断、取舍、承诺与边界。它们是这一页真正的价值,也是唯一值得花时间的地方。

  • 主张与边界一句可证伪的断言,以及不治什么、谁接管
  • 设计机理为什么这么设计,省掉会怎样
  • 判据实现闸落在哪个原子、看哪份视图、什么粒度
  • 变更协议改这份规范的步骤与必过闸
  • 测试床点名谁验的、验了什么、没验什么
  • 裁定与取舍拍板结论、代价、没选的另一条路
  • 诚实边界看不见什么、谁接着守
data-v

输出版本。引擎改了输出形态就升号,页面上的旧区当轮变成过期,逼一次重新渲染。

data-src

输入真相源的路径与内容指纹。真相源改了、页面没跟着重渲染,保鲜闸当场报红。

data-out

本区产出的内容指纹。手改派生区里的一个字,指纹就对不上,当轮会被抓住。

正文不写治理计数

版本号、条款数、判据数从身份表取,普查命中数从普查区取;身份表与普查区都给不出的量(例如床数),一个数字都不写,改用「以名册为准」这类指代。抄进正文的数字只在抄的那一刻是对的,而且没有任何闸会发现它过期——这一条是写页人的纪律,不是机器强制,必须写进该页的诚实边界。

禁止手抄两张总表

条款总表与判据总表是派生的。手填的追溯矩阵是对已经机器化能力的倒退。

禁止逐页自带样式与脚本

视觉由共用外壳提供。放任每页自带,一年后三十几页会长出三十几种样子。

禁止位图

图一律由数据渲染,或作为原件写成矢量:位图挂不上指纹、搜不到里面的闸号、放大就糊。

04

标准不是目录,而是一条能被验证的证据链

主张、条款、判据、测试床、诚实边界五者互相追溯,这一页才算完成。四道门槛里能被机器判的已经标出来;判不了的写明由谁兜底,不含糊过去。

01

治理主张

治什么、不治什么
边界由谁接管

02

条款

必须或禁止什么
为什么、怎么做

03

判据

机器怎么判
看的是哪份视图

04

测试床

凭什么相信闸是真的
验了什么、没验什么

05

诚实边界

闸看不见什么
谁接着守

四道交付门槛

  1. A边界完整

    说得清治什么、不治什么、与谁接壤、接管的闸号是什么。

    部分可机检 · 边界段在场性
  2. B链路闭合

    材料从写下到被判定的全程可追踪;这颗闸在四条检测通道上到底会不会被跑到。

    无机器闸:语义类 · 由评审兜底
  3. C实现可证

    每颗闸有床或明写待补床;每条无机器闸的条款写明类别与理由。

    已有闸 · 点名与存在性物理强制
  4. D诚实可控

    看不见什么、谁接着守、裁剪有记账、变更历史与设计正文分离。

    待立闸 · 承接关系可机检

四道全过,这一页才能登记为「完整样板」。缺真实基线时只能标「部分符合」,不得虚构覆盖率补齐页面——这一条与业务模块标准同源,在系统侧加强为:禁止声称闸看得见它其实看不见的东西

05

架构页与变更历史,必须分开治理

架构页回答「为什么这样设计」,变更历史回答「何时为什么改了什么」。两者互相引用,但不能在同一段正文里混成时间流水账。

ARCHITECTURE PAGE

架构页

稳定 · 面向当前与未来

维护主张、边界、射程、机理、判据实现、锁步关系、测试床与诚实边界的判断。

何时更新
主张、射程、判据形态、执法方式或边界发生实质变化
不记录
逐版本的修订流水、无架构影响的措辞调整
独立制品相互引用
CHANGE HISTORY

变更历史

高频 · 面向审计与追溯

每一版记录动因、内容、影响与判据指纹,并由版本锁步闸强制:条目严格递减、最新条目等于规范当前版本、已封版的指纹必须相符。

何时更新
每次判据变更、条款校准、注册表调整与封版
回写架构页
仅当变更影响十二项视图中的任何一项
进不了架构页:云端易逝状态

到期日、证书编号、席位数、配额。抄进来就会在无人察觉时过期,页面上只写「怎么当场查」。

进不了架构页:待办路线图

待办是易逝的,长期真相源引用易逝的东西就是在造死链。它归施工看板与记忆索引。

进不了架构页:第二套决策编号

架构决策有唯一的全局台账,页内只引用它的编号,不自起一套。

进不了架构页:缺陷修复流水

修了什么属于变更历史;只有影响到十二项视图时,才回写架构页。

开始下一个规范域之前

复制骨架,逐项填真实事实;填不出来的标为待补或写明为什么不适用,不要为了填满模板而编造。

本标准自己也要受治。结构名册(十个节的 id 与顺序、条件节、每项视图的必填态与触发条件)将落成架构治理规范的一份注册表,自动计入该规范的判据指纹——改名册就必须走治理流程、升版、重新封版。本页只保留人读的那一半:为什么这么定、禁令的理由、范例在哪。不再另出一份同内容的 Markdown:两份手抄必漂,旧的系统模板正是这样漂出十二处分歧和一处指向不存在章节的死引用。

06

本标准自己的版本与边界

本标准即将约束一整批架构页,所以它自己也必须可追溯。但要说实话:它是整条链上唯一不受版本锁步闸管的真相源——改它不会惊动任何闸,也没有指纹能证明某一页遵循的是哪一版。在机器面落成之前,这里就是它的变更历史。

v1.4 · 2026-09-20

本标准的机器面落地了:可机判的那一半(节名册与顺序、必填与条件节、节编号属性、表达层在场)已固化成架构治理规范的名册 x-arch-standard.json,由一颗四臂闸逐页强制,配 25 例判据床(含一发反向注入:把某一臂拆成恒假,对应用例必须变绿)。立闸即验真:第二个样板 x-website 改造前跑闸报 18 处、改造后 0 处 —— 同一颗闸、同一个文件、改前红改后绿。名册用棘轮推进:尚未改造的域登记在案、整条静默,改完一份划掉一份。本版同批补「节编号按 id 固定、缺席留空号」(跨页对比的前提),并如实写明该条的编号尚未被机器校验。

v1.3 · 2026-09-20

第二次看真实渲染之后的修订,病根比 v1.2 判断的更深:v1.2 只说了「浅色、别做自己的头」,却没说该用哪一套设计语言,于是仍然是自创的一套(卡片+大圆角+阴影+淡蓝底),与本项目已定型的架构文档语言(纯白底+零圆角+整幅分节+细线+超大标题+等宽体数值)硬碰硬。本版把「不许发明第二套设计语言」写成硬约束,并补「整页只有一种底色」与「外链必须打开完整版」——后者修的是一个真实缺陷:嵌入参数漏进了新窗口链接,点开是一份没有标题的残页。

v1.2 · 2026-09-20

看了第一版真实渲染效果之后的紧急修订,补三条此前缺失的硬约束:① 架构页没有自己的「头」——它是嵌在站点面板里消费的,站点已有标题与目录,页面再做一套就是同屏两套;② 浅色且用站点自己的色,禁深色块;③ 页头与正文走同一容器宽度,禁满幅元素。这三条是被一次失败的实建逼出来的:首版给页面做了深色 hero + 页内导航 + 满幅页头,单独看没问题,嵌进站点当场暴露为「两种风格混在一起、上下不一样宽」。标准此前只规定了内容视图,完全没有规定页面在它真正的消费面里该长什么样——这是本标准最大的一个缺口。

v1.1 · 2026-09-20

被首个实建样板(x-styles)改出来的四处:正文计数禁令改为「身份表给不出的量一个数字都不写」;补「小标题必须短」(导航由 h2 自动生成);补「条件节不建也要留话」;补表达层资产落点约束。同批把全页的「人写/手写」改为「原件/派生件」,对齐命名法。

v1.0 · 2026-09-19

立标准:五治理平面、证据链、十二项视图(必填/条件必填)、十节骨架与冻结的节 id、原件与派生件的分界、四道交付门槛。

机器面还没落成

本标准的可判部分(节 id 名册、必填视图清单)计划落成架构治理规范的一份注册表,由闸去比对每一页。在那之前,本标准对 33 页的约束力等于「写页人有没有照着做」——这一条必须说在前面,不许让读者以为已经被强制了。