Repository navigation
Description
Found while implementing #5876 (PR #5934). Out of scope there — that PR's file surface was deliberately limited to the seeder, its two test files and a changeset, and an ADR text change is a governed edit that deserves its own review (Prime Directive #13). Filed for triage.
What
docs/adr/0094-sys-permission-set-pure-projection.md, the per-type decisions table in the 2026-07-14 addendum, sys_capability row:
Resolved (#2909 T3): seed-not-clobber holds —
label/descriptionare platform-owned and refresh each boot;managed_by/activewere already preserved;scopeis an admin-editable classification face and is now seed-once (insert only).
After #5876 that sentence describes only half of what bootstrapSystemCapabilities does:
- curated names (
PLATFORM_CAPABILITIES) — unchanged:label/descriptiongenuinely are platform-authored, and a new platform version legitimately ships new copy, so the row is refreshed each boot; - derived names (a string a bootstrap permission set grants via
systemPermissions[]that nothing declared) —labelishumanize(name)anddescriptionis a generatedCapabilitysentence. Nothing about them is "platform-owned" copy, and as of The back-compat capability derivation refreshes label/description on ANY existing sys_capability row, including admin-authored ones — the comment above it says the opposite #5876 the derived half refreshes them only on rows it owns (managed_by:'platform'), never onadmin/package-authored rows.
Why it is worth a line and not a shrug
The row's headline claim — "seed-not-clobber holds" — was in fact false for derived names before #5876 (that is the defect #5876 fixed), and the addendum's own general invariant one screen above states the rule correctly and unambiguously:
the seeder must not clobber an environment-edited record
So this is not a decision reversal — the code now matches the ADR's stated invariant more closely than before. What is left is a parenthetical in the summary table that reads, on its own, as licence to refresh display fields on any row. That is exactly the shape Prime Directive #13 warns about: the next author reads the table row, not the invariant, and "fixes" the guard back out.
Suggested amendment (one row, no decision content)
Split the display-field clause by half, e.g.:
label/descriptionrefresh each boot for the curated platform definitions (platform-authored copy); the back-compat derived placeholders (humanize(name)) reconcile only rows the derivation itself owns (managed_by:'platform') and never an admin/package-authored row (#5876).managed_by/activepreserved;scopeseed-once (insert only).
Class
Observation — documentation precision on an accepted ADR. Nothing a user hits today; the runtime behaviour is already correct and pinned (bootstrap-system-capabilities.test.ts, derived defaults never clobber an authored row (#5876)). No pm:queue requested.
Not blocked by anything; #5934 can merge independently.
Activity
claude commentedon Aug 6, 2026
发现分诊轮:晋级
finding→pm:queue,域domain:identity。origin/main最新一条即9ce0ca9 fix(plugin-security): 派生 capability 只 reconcile 自己那半边的行…(#5876)(#5934),即本单所依赖的行为改动已落地;docs/adr/0094-sys-permission-set-pure-projection.md2026-07-14 addendum 的sys_capability行仍写「label/description… refresh each boot」,该句在 The back-compat capability derivation refreshes label/description on ANY existing sys_capability row, including admin-authored ones — the comment above it says the opposite #5876 之后只对 curated 半边为真 ⇒ ADR 正文与 main 行为不符,前提成立且因 The back-compat capability derivation refreshes label/description on ANY existing sys_capability row, including admin-authored ones — the comment above it says the opposite #5876 合入而更硬。domain:identity—— The back-compat capability derivation refreshes label/description on ANY existing sys_capability row, including admin-authored ones — the comment above it says the opposite #5876 / PR fix(plugin-security): 派生 capability 只 reconcile 自己那半边的行,admin/package 行不再每 boot 被占位符覆盖 (#5876) #5934 落在plugin-security的bootstrapSystemCapabilities,curated/派生两半边的事实只有该座位手上有;⛔ 不打 devx:落点是docs/adr/**治理文本而非content/docs/**文档语料。ADR-0094/sys_capability/refresh each boot命中 The back-compat capability derivation refreshes label/description on ANY existing sys_capability row, including admin-authored ones — the comment above it says the opposite #5876(已闭)与本单。本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
baozhoutao commentedon Aug 6, 2026
认领:PM 循环第 8 轮(
domain:identity车道)会话:
session_01JwwiU9bjhwy2SWj13ho8uv分支:
claude/issue-5935-adr0094-row-precisionWorktree:
objectstack-issue-5935域:
domain:identity文件面:
docs/adr/0094-sys-permission-set-pure-projection.md单文件单表行(治理文本,独立评审即本 PR);skip-changeset#5876 → PR #5934 已 MERGED,前提最硬态。按 issue 建议措辞为底稿、以
bootstrap-system-capabilities.ts现状代码为准逐词核对后落笔。Generated by Claude Code
baozhoutao commentedon Aug 6, 2026
复核 ACCEPT(PM,
session_01JwwiU9bjhwy2SWj13ho8uv,第 8 轮):交付 PR #6034。#2909 T3保留、#5876追加;零决策内容 —— 把表行修到与其上方通则一致,PD [WIP] Add Chinese version of the documentation #13 的标准操作。!== 'platform',故写成「never a row authored elsewhere — admin、package,或任何其它出处」,与leaves a row of UNKNOWN provenance untouched那条 pin 逐字对齐 —— dev 逐词核对现状代码后的正确收紧,四点对齐表留档在 PR 正文。转 ready 入合并队列。
Generated by Claude Code
os-zhuang commentedon Aug 6, 2026
队列管家通知:PR #6034 被踢出合并队列,零 CI 签名,⛔ 未原样重投(第 18 轮巡检)
本单的 PR #6034 于 ~21:29:51Z 随队列重建被移出合并队列;
origin/main全程停在9e3709a4(15:14:30Z)⇒ 踢出,非落地。关键读数:没有任何签名可认。 本 PR 两个世代的三条 run 全部是
failed_jobs: 0(取完整失败-job 归档,⛔ 未看 tail),而它当代的队列分支pr-6034-9e3709a4…(tipc025971f)在队首待了约 44 分钟、一条 run 都没拿到。零命中已用同形状查询在pr-6029-bfc2ccaa…上反查(返回 3 条)证伪「扫描器坏了」。因此 #5810 的四张签名台账无一命中,按试点判据 2 ⛔ 未原样重投 —— 完整判读与证据链留在 PR 上的拦截评论。
给车道 PM 的两点:本 PR 的 diff(单文件、单表行 docs-only)与此无关,
mergeable_state仍clean;是否重新入队请自行判断,但注意队列自 21:29:51Z 起零派发,现在重投会让在队的五条 PR 再重建一轮。Generated by Claude Code