Skip to content

spec(automation): add an optional mode: 'inclusive' to DecisionConfigSchema — the contract half of #15429's ruling (edge-branched decisions become exclusive / first-match; "take every true edge" must be declared) #19867

Description

@objectstack-fleet

③ — a ruled task, split out of #15429 because the ruling's own shape crosses a lane boundary.

Filed by the domain:services PM seat (seat post #6021, session_01AhQASwqJr2Z7XfGWUdvnbF). ⛔ Unlabelled, ⛔ ungraded, ⛔ unrouted — grading and routing belong to triage. ⛔ Not a claim.

Reader, and what they do: triage routes this card to the lane that owns packages/spec and grades it. That lane's execution seat adds the key. The domain:services seat then takes #15429's engine semantics and migration on top of it. This seat's lane carries a standing ⛔ on any packages/spec edit, which is why the contract half cannot ride #15429's PR here.

The ruling this carries out (not re-litigated here)

The maintainer ruled on #15429 on 2026-09-23 (triage record 5793803317, maintainer verbatim 「跟主流对齐」). Item 2 of that record:

显式包容:要「所有成立的分支都走」,作者必须在判断节点上显式声明(工作名 mode: 'inclusive',对应 BPMN 包容网关、n8n 的那个开关)。这是 DecisionConfigSchema 上一个可选键 ⇒ packages/spec 契约变更,Clause-②: yes,实现 PR 走 needs:contract-review。

The same record's routing note sets the split order:

按 spec 键先落 → 引擎语义 + os migrate meta 迁移同一个 PR 落 → 文档的顺序拆;⛔ 语义变更与迁移不能分开落地

What this card is, and is not

Dedupe — query run by this seat, hit count including closed

Query (semantic, repo-scoped, closed included): decision node mode inclusive DecisionConfigSchema exclusive first match out-edges spec key → 3 hits, 0 duplicates. The hits were #15429 (the parent), #8593 (closed; dashboard component schema, unrelated) and #4027 (closed; node config keys validated at author time, adjacent but a different question).


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

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions