Skip to content

[Decision] 半状态巡逻改用 composite action 时,objectui「不设锚点」的设置在 action 里没有落脚处:给 action 加一个显式开关,还是 objectui 改设锚点 #20793

Description

@objectstack-fleet

Ruled: 5905998989 · letter A — an opt-in input on the half-state patrol action (default off: empty anchor → notice + exit 0 + run summary; off → fails loudly); own objectstack execution card + PR by devx seat 2, objectui#11174 re-blocks on it; director batch #253 concurrence 5906024645 · 2026-09-30T07:06Z

Filing gate: ② 只有维护者能做的决定。本卡承 #18471(裁定「只做②」,5713650969)执行中新生的问题,按「另立卡并回链已裁卡」单开。实测来自 objectstack-ai/objectui#11174 dev 报告 5905306134。立卡:domain:devx 2 号席(objectstack-ai/objectui#10917),session_01TdiauJaVCHuj45EzZGUxHh。查重:objectstack 与 objectui 的 needs-user-decision 卡(开 0、关 127)按 anchor|half-state|半状态|patrol|巡逻 查,命中 4 张,均为无关的旧文档/协议卡。

维护者速读

  • 改了什么:[decision] 半状态巡逻的送法与形状:每天都在改的仪器靠「手工复制三个文件」分发,副本必然掉队——换成引用并把「写坏的」那半搬到写侧 #18471 要求 objectui、cloud、hotcrm 三个仓改用 objectstack 的巡逻 composite action(钉 sha),删掉各自的副本。objectui 这一半(objectui#11174)做到一半卡住了。
  • 为什么要你裁:
    • objectui 按你之前的决定不设锚点 issue:objectui#7852 以 not planned 关闭,objectui#8740 把「没有锚点」定为受支持的配置(只发一条 notice,巡逻照样跑绿)。
    • objectstack 的 action 把空锚点当错误:action.yml:313-315 报错并退出 1。
    • 直接切换的话,objectui 每天 4 次定时巡逻全部变红。PR 上那次运行看不出来,因为 action 在 pull_request 上会跳过锚点步骤。
  • 席位意见:荐 A(给 action 加一个显式的可选开关)。
  • 你要做的:回一行,例如「11174 A」。

决策:objectui 的「无锚点」配置怎么迁到 composite action 上

实测:

  • objectui 最近 8 次定时运行全部 success,走的都是无锚点路径。例如 run 36657770288:「Resolve the anchor issue」success,「Update the pinned anchor issue」skipped,并有 notice 「No anchor issue configured … supported configuration here (objectui#8740)」。
  • action 在 43d492ff9 和 fb7b74691(它最后一次改动)上都对空锚点报错退出。
  • action 的三个输入 github-token、anchor-issue、closed-floor 里,没有一个能表达「没有锚点也算正常」。

选项 × 真实代价

选项 做什么 代价
A 加显式开关 objectstack 给 action 加一个可选输入,默认关。打开后,空锚点 = notice + 退出 0 + 结果写进 run summary;不打开时照旧报错,非数字的锚点在两种情况下都报错。objectstack 先落一个小 PR(约 20 行、1 个输入),objectui#11174 随后机械切换。 action 多一个输入;objectui#11174 要等这个 objectstack PR
B objectui 设锚点 objectui 开一张 tracking 锚点 issue,并设仓库变量 HALF_STATE_ANCHOR_ISSUE;action 不改。 撤回你在 objectui#7852 的决定;需要你做仓库管理操作;锚点 issue 每天被改写 4 次(dev 报告:objectstack 已因同样的负担退役了自己的定时巡逻)
C 先切、接受变红 现在就切换,定时巡逻变红,等 A 或 B。 健康状态报红,会让人习惯性忽略红色,而这正是 objectui#8740 修掉的问题
E objectui 退役定时巡逻 像 objectstack 那样不再定时跑。 超出「只做②」裁定的范围(它点名 objectui 要切换);手动运行仍然需要 A 或 B

(消费端绕过——在 objectui 里用 continue-on-error 或 if: 跳过——不列为选项:它会把巡逻自身的失败一起吞掉,属于消费端宽容。)

业务含义直译:

  • A = 共用的工具加一个「本仓没有公告栏也行」的正式开关,谁要用谁声明。
  • B = objectui 按共用工具的要求也立一块公告栏,但这块公告栏是你之前说过不要的。

os-decision-facets
① 项目长远合理性:A 把 objectui 已裁的设置变成 action 的显式契约,objectui 不再保留巡逻逻辑;B 零新表面,但回退你的决定;C、E 不解决问题。
② 实际业务拉动:A 服务 objectui 实测在用的设置(最近 8 次定时运行);hotcrm 有锚点(#15009),cloud 的锚点状态未测。
③ 防 AI 犯错:A 默认行为不变,开关必须按名字显式声明;C 训练人忽略红色;消费端绕过会吞掉巡逻自身的失败。
④ 创业阶段不扩散:A 多 1 个有具名需求的输入,不是门禁;B 不加输入,但每天 4 次写看板、占用你的时间。
Prior rulings read: #18471「只做②」(5713650969);objectui#7852(not planned);objectui#8740(空锚点为受支持配置);thread: objectui#11174 dev 报告 5905306134。

推荐:A,回退 B。只看①选 A;②③④ 是否翻转:否。
置信缺口:cloud 是否有锚点未测;若 cloud 也没有,A 同时覆盖 cloud 的切换。


回一行即可,例如「11174 A」。

Activity

  1. objectstack-fleet commented on Sep 30, 2026

    @objectstack-fleet
    ContributorAuthor

    Ruling: decision A (an opt-in action input). The maintainer answered in the chat of domain:devx seat 2's session (session_01TdiauJaVCHuj45EzZGUxHh); recorded 2026-09-30T07:04Z.

    • The question as put: "objectui#11174: objectui runs its half-state patrol with no anchor issue (your fix(driver-memory): render the analytics echo as the query it describes (#7117) #7852 decline; objectui#8740 made it a supported setting), but objectstack's shared composite action errors on an empty anchor, so a plain switch turns objectui's 4 daily scheduled runs red. How should objectui move onto the action? (decision card objectstack#20793)"
    • The maintainer's answer, verbatim: "A: opt-in action input (Recommended)". The option read: "objectstack adds one declared input, default off: when a caller opts in, an empty anchor gives a notice and passes; otherwise it still fails loudly. ~20 lines in objectstack first, then objectui switches mechanically."

    Execution:

    1. objectstack's .github/actions/half-state-patrol/action.yml gains one declared input, default off.
      • With it on, an empty anchor-issue gives a ::notice:: and exit 0, and delivers the findings to the run summary, matching objectui#8740's behaviour.
      • With it off, an empty anchor fails loudly exactly as today.
      • A non-numeric anchor fails either way.
      • This lands as its own objectstack card and PR, filed and dispatched by this seat.
    2. ci(half-state-patrol): run objectstack's composite action pinned to a sha instead of checking out objectstack main — objectui's half of objectstack-ai/objectstack#18471 (ruling 只做②) objectui#11174 then switches mechanically. Its Blocked-by: moves from this card to that execution card.
    3. The sha pin follows the seat ruling on objectui#11174 (5905360637): objectstack main's tip at implementation time.

    State: needs-user-decision removed. This card closes completed: the decision is made, and execution lives on the new card and objectui#11174.

  2. objectstack-fleet commented on Sep 30, 2026

    @objectstack-fleet
    ContributorAuthor

    Closed completed at 2026-09-30T07:05Z: the maintainer ruled decision A (record 5905998989). Execution continues on the objectstack execution card for the action input, and on objectstack-ai/objectui#11174.

  3. objectstack-fleet commented on Sep 30, 2026

    @objectstack-fleet
    ContributorAuthor

    Ruling: batch #253 item 1 · letter A · maintainer 「20793 同意」 2026-09-30T07:06Z

    Director seat (objectstack#12708, summon #30 续 2, session_01AsCNgFBs8HCjwhyHQsFbx3). Provenance: maintainer, live PM chat with the director seat, 2026-09-30, replying 「20793 同意」 to batch #253 as presented (this card as item 1; the director's recommendation was A). The same letter reached this card first through domain:devx seat 2's chat and is recorded as the ruling of record at 5905998989 (07:04Z) — one decision, two channels; this comment adds the batch reference and concurs. ⛔ No second execution: the seat's execution list (an opt-in action input, default off, landing as its own objectstack card and PR; objectui#11174's Blocked-by: moving to that card; the sha pin at implementation time) stands as written.

    Ruled: A. Readings recorded with the batch: long-run — objectui's already-ruled "no anchor" setting becomes the action's explicit contract, and objectui keeps no patrol logic of its own; pull — the configuration objectui's last eight scheduled runs actually use; AI-safety — the default stays strict and the relaxation is declared by name; scope — one input with a named need, not a gate. Confidence gap: cloud's anchor state unmeasured; if cloud has none, the same input covers its switch.

    State: needs-user-decision already off (the seat's act); the Ruled line goes on the body in this stroke; the card closes completed under the seat's ruling once its execution card is filed.

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

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions