-- 台账对象的**性质**落成一等事实(2026-07-31)。 -- -- 起因是一次自找的性能退化:治理台「数据域」那一屏要按性质(单据/主数据/派生)分区, -- 而性质只写在活动清单里 —— 于是路由每次请求都去把 12 个活动的清单捞回来重建一遍。 -- `manifestOf` 是 `select *`:拉该活动**所有版本**的清单加产物,再整份 zod parse。 -- 光 quote-intake 一个就是 26 个版本、798 kB,一次请求约 1.5 MB JSON —— -- 热连接 73ms,并发八次就掉到 350ms,而慢请求占住浏览器连接,点别的页跟着排队。 -- -- 物化的东西就该记在物化侧:表建出来的那一刻性质就定了,不必每次去清单里问。 -- 与人读名同一个道理 —— 那个落在表注释上,这个落在这张小表上 -- (性质不是列属性,注释挂不上,故单立一张)。 -- -- `__` 前缀:与 `ledger.__draft` 同一约定,`listObjects` 按前缀把它排除在数据对象之外。 create table if not exists ledger.__object_meta ( domain text not null, object text not null, kind text not null default 'record', case_key text, primary key (domain, object) ); comment on table ledger.__object_meta is '台账对象性质:record 单据 / master 主数据 / derived 派生';