Skip to content

[Decision] 22 pure-objectui defect cards live in objectstack under repo:objectui, but objectui IS reachable — the seam fallback is being used where its precondition does not hold #17250

Description

@huangyiirene

Maintainer-action: transfer every non-seam repo:objectui card (23 at 2026-09-10T08:08Z; re-read label:repo:objectui first) to objectstack-ai/objectui via the web UI Transfer issue — done when objectstack's open repo:objectui set is exactly the three seam cards #14831 #14837 #15140 and the transferred cards are visible in objectui. Fallback: reply 「重建」 and the director files a skills-lane pm:queue card for lossy recreation. Ruling: comment 5615359689 (summon #21).

Filed by the triage seat (session_013hshVTmHY5F7rhpNtYHa3m, R+165) while healing the bare-card backlog. Ten of these cards were given a state label in that sweep; this card is the systemic question underneath them, ⛔ raised once rather than answered 22 times card-by-card.

Governing text: .claude/skills/pm-dispatch/SKILL.md 〈多仓协调〉 —— 规则 1:「issue 住在修复落地的仓,分诊时按判据严格执行」;判据:「正文抽掉 objectstack 还成立 ⇒ 当场转仓(console/UI 缺陷即转 objectui)」;回退条款:「transfer 不可用时重建:出处头 + 裸 #N 改全名 + 关源单为 moved」;缝卡条款:「目标仓不可达时按缝卡规则落 objectstack 带 repo:* + 具名读者」。

Measured, 2026-09-10T01:1xZ, on open non-PR issues

repo label carried by an open objectstack issue count
repo:objectui 25
repo:hotcrm 6
repo:cloud 6

Of the 25 repo:objectui cards, 3 are titled and shaped as genuine seam cards (#14831, #14837, #15140 — coordination content naming a reader). The other 22 are pure objectui defects, aged 41h to 251h, several priority:p1/p2, with reproductions and named landing points entirely inside objectui.

⚠️ The precondition the fallback rests on does not hold for objectui

The seam rule keeps a card in objectstack when the target repo is not reachable. That is true for hotcrm and cloud — measured this session, GET /repos/objectstack-ai/hotcrmHTTP 403 — so those 12 cards are correctly placed.

objectui is reachable. This same session enumerated all 462 open objectui issues over the ordinary read path. ⇒ the 22 pure-UI cards are not seam cards and are not covered by the unreachability fallback; by rule 1's own criterion (remove objectstack from the body and it still stands) each of them should live in objectui.

What it costs today, stated plainly

The repo:objectui seat (#6025) is currently 🔴 vacant. When it is filled, a seat scanning objectui sees 462 cards and none of these 22 — including a priority:p1 console import defect confirmed by a downstream PM as blocking a delivered feature. They are not mis-labelled; they are in a repository that seat has no reason to scan.

Options × real cost

option what happens cost that is actually felt
A. Move the 22 to objectui (recommended) each card lands in objectui; the source card closes as moved Cost depends on a fact only you can check — see below. Via the GitHub web UI's native Transfer issue, this is near-lossless and fast. Via the fallback this seat has (recreate + close), it is 22 create/close pairs and the comment threads on ~5 of them are lost. 17 of the 22 have zero comments.
B. Amend the convention — objectstack is the single board, repo:* cards live here and the objectui seat scans both repos zero migration; the 22 stay put and the rule changes to match reality every objectui query, forever, must union two repositories. Forgetting is silent — you see fewer cards, not an error. A new seat inherits an unwritten step.
C. New ones go to objectui, these 22 stay cheapest today split-brain by filing date. ⛔ Combines B's permanent two-home cost with A's migration cost, just deferred and made arbitrary.

业务含义直译

  • A = 「把放错仓库的工单搬回它该在的仓库,一次搬完。」
  • B = 「承认我们有两个收件箱,并要求每个人每次都记得看两个。」
  • C = 「以后放对,以前放错的就不管了」—— 半年后没人说得清一张卡该去哪找。

四轴论证(从业务立场)

  • ① 项目长远合理性 —— A 恢复不变量(一张卡一个仓),是缩小特例。B 把一个临时兜底(目标仓够不着)升格成常设规则,而它的前提在这个仓上根本不成立 —— 这是契约增生的典型形状:一条为例外写的规则被当成通则用。C 明确最差。
  • ② 实际业务拉动 —— 今天就有人撞上,而且是最坏的那种撞法:22 张有复现、有落点的缺陷卡对唯一能修它们的那个席位不可见。其中 Re-raise of #4375 with the downstream confirmation it asked for: the console import wizard never sends mappingName and hardcodes writeMode:"insert", so a named mapping's upsert can never reach a user #14026 是 p1,由下游 PM 实测确认正在挡一条已交付功能。⛔ 这不是预测,是板面读数。
  • ③ 防 AI 犯错 —— A 给出闭合枚举:「objectui 的活全在 objectui」,一句话能验。B 要求每个 agent 每次都记得并两个仓,而忘了不会报错 —— 只是少看见几张卡,静默漏掉,正是最难发现的失效方向。
  • ④ 创业阶段不扩散 —— A 是一次性成本、做完就结束。B 是永久义务:每一个未来的席位、每一次查询都要背这条。创业阶段不该为一次搬家买一份长期税。

推荐 + 回退 + 置信缺口

  • 推荐 A。 四轴同向。
  • 回退 B,且只有在你判断 22 次搬运的操作风险高于永久的双仓查询成本时才成立。
  • ⚠️置信缺口,而且它可能直接决定 A 的成本 —— GitHub 网页版有原生的 Transfer issue,可以保留评论与作者地把卡搬到同一 org 的另一个仓。这个 MCP 工具面上没有 transfer(本席实测:GitHub MCP 工具集里只有 create / update,无 transfer),所以本席的唯一手段是有损的「重建 + 关原单」。⇒ 如果你(或任何有仓库权限的人)能用网页版的 transfer,选项 A 的代价从「22 次有损重建」降到「22 次点击、零损失」,推荐强度显著上升。⛔ 本席无法验证你的权限,所以这条只能问你。
  • 其余未测:objectui 侧是否已有这 22 张的重复卡(未逐张查重);repo:hotcrm / repo:cloud 那 12 张不在本卡范围内(它们的不可达前提成立,放置正确)。

裁后执行

  • 裁 A ⇒ 若你用网页版 transfer:搬完后本卡关 completed,无需其它动作。若要走席位的重建路径:一张 pm:queue 卡给 skills 车道,逐张重建(出处头 + 裸 #N 改全名)并把原单关为 moved,先对 objectui 逐张查重
  • 裁 B ⇒ 一张 pm:queue 卡给 skills 车道,改 SKILL.md 〈多仓协调〉规则 1,把「双仓收件箱」写成明文,并在 references/lanes/ 的 objectui 席章程里写死「扫两个仓」。⛔ 不留口头约定。
  • 裁 C ⇒ 同 B 的文本改动,外加一条明确的截止日期语义,否则它会退化成没人记得的现状。

os-decision-facets

  • ① 项目长远合理性:A 恢复「一张卡一个仓」的不变量(缩小特例);B 把「目标仓够不着」的兜底升格为通则,而该前提在 objectui 上不成立(契约增生)。
  • ② 实际业务拉动:今天就有人撞上——22 张有复现的缺陷对唯一能修它们的席位不可见,含一张下游 PM 实测确认正在挡功能的 p1。
  • ③ 防 AI 犯错:A 给闭合枚举(「objectui 的活全在 objectui」);B 要求每次并两个仓,漏了不报错、只是少看见卡——静默漏检。
  • ④ 创业阶段不扩散:A 是一次性成本;B 是压在每个未来席位和每次查询上的永久义务。

推荐:A(搬回 objectui)。
置信缺口:本 MCP 工具面没有 transfer,所以本席只能有损重建;网页版原生 transfer 可保留评论——你若有权限,A 的代价大幅下降,而本席无法验证这一点。另:objectui 侧未逐张查重;repo:hotcrm/repo:cloud 的 12 张不在范围内(不可达前提成立,放置正确)。


Related: the ten cards given a state label in the same sweep — #14026 #14883 #14884 #14885 #14886 #14887 #14888 #14912 #14952 #15138. Correctly-placed seam cards, ⛔ out of scope here: #14831 #14837 #15140 (objectui), and all 12 repo:hotcrm / repo:cloud cards.


Generated by Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions