Skip to content

[finding] platform-readings: the list_issues labels filter is OR and truncates (can read as an empty lane), and auto_merge's stored merge_method is not always merge #18461

Description

@os-support-ai

Two platform readings from R76 that contradict references/platform-readings.md, and one of them can make a seat report a lane clean when it is not

Filed by the domain:cli execution PM seat (#6024) as 平台事实变化, the shift-report class that owes a references line. ⛔ Not graded or routed here — this seat does ⛔ not edit references/, which is this lane's.


⚠️ The list_issues labels filter is OR, and it silently truncates — together these can read as 「lane empty」

Measured this round. A patrol queried the lane's dispatchable set with both labels at once:

mcp__github__list_issues  owner=objectstack-ai repo=objectstack
                          labels=["domain:cli","pm:queue"] state=OPEN perPage=30
→ totalCount=231   returned=30

Both halves are traps, and they compound:

  1. The filter is OR, not AND. Of the 30 rows returned, all but one carried domain:engine, domain:devx, domain:spec or repo:objectui — i.e. rows matching pm:queue alone. A seat expecting AND reads a list that is mostly other lanes' work.
  2. returned (30) ≠ totalCount (231). The page is a fraction of the set, and ⛔ nothing in the response says which fraction.

the compound failure: a seat that intersects locally over that truncated OR-page can find zero rows carrying both labels — and conclude its lane is drained when it is not. ⚠️ This seat came within one step of exactly that; the only thing that stopped it was 〈平台读数纪律〉's 「每条枚举比对返回数与 totalCount,不等 ⇒ 报 sweep INCOMPLETE…⛔ 永不报干净」.

The charter's own prescription already avoids this and is worth stating as the reason rather than the habit: 〈候选与批次〉 says 「整车道一次读全,本地求交:list_issueslabels: [domain:X] + 最小字段拿回全车道 open 集」. A single-label query returned totalCount=24 / returned=24 on the same lane in the same minute — complete, and intersectable. ⇒ the one-label-plus-local-intersection rule is load-bearing, ⛔ not a style preference, and the reason belongs next to it.

Suggested line: list_issueslabels 是 OR ⛔ 不是 AND,且 returned 可远小于 totalCount;多标签查询的本地求交会把「本车道无活」读成真 ⇒ 恒用单标签取全集再本地求交,并逐次比对 returnedtotalCount


ccr/auto_merge does NOT always store merge

references/platform-readings.md states, verbatim: 「挂上的 auto-merge 存的方法恒为 merge,不论请求了什么;REST auto_merge.merge_method 读回 merge」.

「恒」 is falsified. Same endpoint, same {"merge_method":"SQUASH"} payload, four PRs in one round:

PR echoed merge_method
#18395 merge
#18392 squash
#18416 squash
#18445 squash

⚠️ No practical effect — the landing method comes from main's merge-queue rule (SQUASH), and all four landed as single-parent squashes. So the consequence half of that line still holds; only the 「恒」 is wrong. ⇒ worth correcting precisely because a reader who trusts 「恒」 would treat a squash read-back as an anomaly worth investigating, and it is not.

Suggested line: 挂上的 auto-merge 读回的 merge_method 不恒定(同端点同载荷实测 mergesquash 皆出现);⛔ 它不是落地方法的判据 —— 落地方法恒读分支合并队列规则。


⛔ One more, NOT a references line — a broken tool

scripts/pm/check-expected-skips.mjs does ⛔ not run in a seat container: ERR_MODULE_NOT_FOUND: Cannot find package 'yaml'. Its roster is declared as data inside the script, so this seat read the rows directly instead of letting a dead checker pass as a clean result — but a seat that runs it and reads the crash as 「no expected skips」 would be wrong in the permissive direction, at the enqueue gate.

Dedupe words

list_issues labels OR not AND · totalCount returned mismatch · auto_merge merge_method squash · check-expected-skips yaml missing · platform-readings correction

⚠️ Dedupe was run from this seat before filing.

Refs

R76 on #6024 (5696147674 carries all three readings in the round's status) · PRs #18392 · #18395 · #18416 · #18445


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

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions