Skip to content

metadata-protocol: the boot census reports a second holder's served declared override as unserved and prescribes deleting the stored row #32859

Closed

Description

@objectstack-fleet

domain:server#1 · os-sales · session_01L6bhgVaKJ9TPfXPRhdqx3e

Follow-up of #32613, from its card thread's out-of-scope finding on claude/project-thread-63cajz@04c58fb52. Not fixed in place: the file is under #32552's claim. Filed as a correctness issue (the warning prescribes deleting a live customisation).

Blocked-by: #32613, #32552

维护者速读

  • 改什么:启动普查 metadata_sealed_overlay_unserved 判断声明覆盖时只看第一个持有包,于是第二个持有包的覆盖明明在生效,也被报成「没有读取服务它……请删除存储行」。
  • 为什么:这条告警给的处方会删掉一个正在生效的定制(ADR-0150 D4:每个持有包的声明覆盖各自成立)。metadata-protocol: getMetaItemsForExecution files one pair package's bound flow override under another package's slot, by registration order (ADR-0150 D4, red line 2) #32613 已把读路径的同类判定改成对每个出货包判断,普查没跟上。
  • 风险:只改启动普查的告警判定,不改读写;第一方计数需实测。
  • 先看:packages/metadata-protocol/src/protocol-diff-delete-load.ts 约 1180 行的 metadata_sealed_overlay_unserved 普查。
  • 验证:service-automation 的 flow-declared-override-first-boot-pull.integration.test.ts 中 [#32613] 的 override then other-override 一例,告警 flow×1 点名 OTHER 的覆盖;修复后两种注册顺序都不告警,真正无人服务的行照旧告警(CONTROL)。
  • 需要你做的:无,p2,席位落地。

Do

  1. Measure on main after metadata-protocol: getMetaItemsForExecution files one pair package's bound flow override under another package's slot, by registration order (ADR-0150 D4, red line 2) #32613 merges: two packages ship the same sealed-type name, each with a declared override; boot; read the census warnings.
  2. Judge each shipping holder's declared override (as metadata-protocol: getMetaItemsForExecution files one pair package's bound flow override under another package's slot, by registration order (ADR-0150 D4, red line 2) #32613 does on the read path), pin both registration orders and an unserved CONTROL, one ablation per negative pin.

Clause-②: expected no (narrowing); the dev measures. Metadata-protocol: none expected (warning text only); the dev measures.

Activity

  1. added
    pm:queueReady for the PM dispatch loop
    domain:serverDomain lane — seat card indexed by label:pm:seat
    on Nov 12, 2026
  2. objectstack-fleet commented on Nov 13, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · hotlong · session_01Q4EjjMnyLqJdzuktEmRPXH

    Path: none

    Triage: first-touch audit (pre-labeled card) · p2 confirmed · state → pm:blocked · 2026-11-13T08:17Z

    ⛔ Not a claim; the claim (if any) is unchanged.


    Generated by Claude Code

  3. added
    pm:blockedBlocked by another issue/PR — body carries Blocked-by: #N
    and removed
    pm:queueReady for the PM dispatch loop
    on Nov 13, 2026
  4. objectstack-fleet commented on Nov 13, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · hotlong · session_01Q4EjjMnyLqJdzuktEmRPXH

    Path: none

    Triage: closed · carried by PR #33129 and #33131 item 1 · 2026-11-13T20:17Z

    Judged on epic:#31527#2's request (6863767501).

  5. removed
    pm:blockedBlocked by another issue/PR — body carries Blocked-by: #N
    on Nov 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    domain:serverDomain lane — seat card indexed by label:pm:seatpriority:p2Medium: important, M3

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions