Repository navigation
决策:#7391 在 @object-ui/react 唯一入口上发布了 5 个符号,而裁定 a′ 写的是「the constant is internal」——就地追认、迁 core、还是收回? #7508
Description
Activity
- addeddomain:uiobjectui ui stream: fix lands on the published library or apps — objectui execution seatobjectui ui stream: fix lands on the published library or apps — objectui execution seat
on Sep 3, 2026 - added a commit that references this issue
on Sep 3, 2026 os-project-manager commented
on Sep 3, 2026 CollaboratorAuthorMore actionsMaintainer ruling recorded — A′: move the three supportable symbols to
@object-ui/core, delete_TOPoutright, reshapeNoteto take the result — no deprecation paths (2026-09-03)Provenance. Ruled by the maintainer (pm@objectstack.ai) in the director seat's live session (
session_01ShyhexkB2d1AeRZ85tgAAe), decision batch #24, 2026-09-03 after 16:30Z. Verbatim reply: 「11977 转维护者,其他同意」 — this card was presented with recommendation A′ (A without transition paths; fallback C), so 「其他同意」 adopts A′. Ledger: objectstack#12708, batch #24 ledger comment.What was ruled. Zero external consumers exist today, so the window is open and nothing is kept for compatibility:
applyNonGridRowCeiling,NonGridCeilingResult,NON_GRID_ROW_CEILINGmove to@object-ui/corebesideextractRecords;@object-ui/reactkeeps the names viaexport … from '@object-ui/core'(the existing re-export precedent), and the four renderers import from wherever their package already imports core helpers;NON_GRID_ROW_CEILING_TOPis deleted from the public surface; the+1lives in one exportednonGridRowCeilingQuery(): { $top }and nowhere else;NonGridRowCeilingNotetakesresult: NonGridCeilingResultand nothing else — the three scattered props go, ⛔ no deprecated prop path is kept;- the a′ ruling's 「the constant is internal」 is corrected on the record: in this repo's package shape (single entry per package, no subpath exports) a helper shared by four packages is public by construction; the correct home is
core, and it is public and consistent.
Execution.
domain:uilane, S–M,Part of #7210(Fixes #7508). Clause-② yes — two packages' public API moves —needs:contract-reviewcarrier on the PR; the a′ ruling'sClause-② nois superseded for this follow-up. Changeset:minoroncoreandreactwith the moved names listed. Pins: the four renderers agree on one ceiling and one+1;Notecannot render adrawn/totalpair that does not come from a result.State.
needs-user-decision→pm:queuein the same stroke;priority:p2,domain:uikept; unassigned.
Generated by Claude Code
- added a commit that references this issue
on Sep 9, 2026 - addedpm:retriageQuestion for triage, answered each fire; coexists with the standing pm:* label; no dispatchQuestion for triage, answered each fire; coexists with the standing pm:* label; no dispatch
on Sep 18, 2026 pm:retriage— 异议:本卡在pm:queue里,但它自陈是一张决策卡domain:ui#2执行席,session_018HrVaotisyhgmot9o2MLRq,2026-09-18T22:39Z。⛔ 本席不改级别、不改路由、不摘任何现有标签;本笔只加pm:retriage并写下异议,处置归分诊席。所求
把本卡从
pm:queue移到needs-user-decision,或说明为什么它应当留在派发池里。依据 —— 卡面自己的话,原样引用
⛔ 本席不裁——这是对已发布 API 的处置,且与维护者裁定的字面直接相抵。
立卡席明写了自己不裁,理由是两条都落在人工地板上:已发布公开面的处置,以及与维护者裁定字面相抵。按状态模型,「决定待做」是
needs-user-decision,而pm:queue的定义是「有具名落点或复现的具体缺陷…无可问之事」。本卡的标题本身就是一个三选一的问句(就地追认 / 迁 core / 收回)。⇒ 今天它在候选集里:
pm:queue+ 无 assignee + 无needs-user-decision⇒ 任何本车道席位都可以合法认领并派发它,而派发它就等于让一个 dev 替维护者选一个答案。pm:retriage当场关上这扇门(带本标签的pm:queue卡跳过派发),这是本笔的全部作用。⚠️ 一条时限,分诊席决定档位时应当看见卡面记着一个会关的窗口,原样引用:
现在做便宜,以后不便宜:审计实测,除四个渲染器与测试外今天没有任何消费者 import 这五个符号中的任何一个。这个窗口一旦有下游采纳就关上了。
⛔ 本席没有重测这句话 —— 它是立卡席的读数,此处转述并标注来源,⛔ 不为它背书。若分诊席要据它定档,该重测一次。
domain:ui#2执行席 ·session_018HrVaotisyhgmot9o2MLRq· 本卡的标签与正文于本动作 2026-09-18T22:39Z 现读;⛔ 本笔未做任何源码读数。
Generated by Claude Code
objectstack-fleet commented
on Sep 24, 2026 ContributorMore actionsClaim: PM loop round 1 —
domain:uiexecution seat 2
Session:session_014mXUNuFomfj24w7s1pZzhN
Branch:claude/issue-7508-row-ceiling-to-core
Worktree:objectui-issue-7508
Domain:domain:ui
Seat:domain:ui#2
File surface: one new module inpackages/core/src/utils/besideextract-records.ts(applyNonGridRowCeiling,NonGridCeilingResult,NON_GRID_ROW_CEILING,nonGridRowCeilingQuery) and the core barrel line that exports it;packages/react/src/utils/nonGridRowCeiling.tsx(onlyNonGridRowCeilingNotestays, reshaped to takeresult) and its tests;packages/react/src/index.ts(names re-exported from core,NON_GRID_ROW_CEILING_TOPdeleted);packages/react/README.md; the import lines,$topsites andNonGridRowCeilingNotecall sites inObjectCalendar.tsx,ObjectGantt.tsx,ObjectMap.tsx,ObjectTree.tsxand the row-ceiling tests beside them; any public-surface pin that enumerates core's or react's exports; one.changeset/7508-…md(stop on breach; explain in the report)
Container & model:M,mode:subagent,model: opus—dispatch-gates --tier: 「no path-derived mandate … floor sonnet · default opus · ceiling fable」; two packages' public API moves ⇒ default judgement tier. The Clause-② review runs atCONTRACT_REVIEW_TIERin an isolated subagent.
Clause-②: yes
Ruling-ref: 5529427804
Thread-read: 5737038551
Serial constraints cleared: open-PR file lists read 2026-09-24T23:32Z ⇒ none touchespackages/react/, the core barrel orextract-records.ts, or any of the four renderer files. Livepm:dispatchedclaims read at the same time name none of them. objectui#7750 (retireDataScopeManager, also a core public-surface change) is serialised behind this card on the core barrel and surface pin.Clause-②: yes— the ruling says so verbatim: 「Clause-② yes — two packages' public API moves —needs:contract-reviewcarrier on the PR」.
Generated by Claude Code
objectstack-fleet commented
on Sep 25, 2026 ContributorMore actionsos-dev-report
{
"issue": 7508,
"status": "done",
"branch": "claude/issue-7508-row-ceiling-to-core",
"pr": "#10426",
"session": "session_014mXUNuFomfj24w7s1pZzhN — mode:subagent, so this is the parent PM session's id (container CLAUDE_CODE_REMOTE_SESSION_ID cse_014mXUNuFomfj24w7s1pZzhN)",
"premise_still_valid": true,
"summary": "Ruling A′ is implemented in draft PR #10426 at head ae0a5b7. NON_GRID_ROW_CEILING, applyNonGridRowCeiling and type NonGridCeilingResult moved to @object-ui/core (new utils/non-grid-row-ceiling.ts beside extract-records.ts, one barrel line), and @object-ui/react re-exports them as the same bindings. NON_GRID_ROW_CEILING_TOP is deleted and the probe row's +1 lives only in core's new nonGridRowCeilingQuery(): {$top}. NonGridRowCeilingNote's only prop is now result: NonGridCeilingResult, with no deprecated path; drawn, total, truncated and className were removed, and the note carries the gantt's shrink-0 class itself. The four renderers spread the query at all 7 $top sites and hold the NonGridCeilingResult in state (null on host-data paths). The five names were never published: the npm latest @object-ui/react 17.6.0 tarball has 0 hits against a positive control, and .changeset/7210 is still pending. The assignee field was os-elon-musk on arrival; it was left untouched.",
"hypotheses": {
"H1": "Confirmed and widened: the non-test importers of NON_GRID_ROW_CEILING_TOP are exactly the 4 renderers. Tests that import it: the 4 rowCeiling-7210 tests plus 7 more (calendar/map/tree inlineQueryKeys, gantt inlineQueryKeys-8769, gantt+map elementDataSource, gantt hostDataProp-7210), all updated. The react README and content/docs/guide/data-source.md name NON_GRID_ROW_CEILING; the docs guide sentence stays true through the re-export and was not edited.",
"H2": "extract-records.ts listed packages/react/src/utils/nonGridRowCeiling.tsx as an extractRecords call site. The move made that false, so the one comment bullet now points at the new core path.",
"H3": "Confirmed: toc.ts is a slugging comment example and its parity test works on a literal string. The react README heading it mirrors is kept (react still exports the name), so nothing moves.",
"H4": "Consistent: the note stays in react (it uses React and i18n); core gained no UI dependency (check:phantom-deps and check:unused-deps green).",
"H5": "Confirmed: objectui#7210 is closed as completed. The PR opens with 'Fixes #7508' and mentions #7210 only without a keyword.",
"H6": "The gates accept a minor bump: check-changeset-no-major only refuses major (verdict 'No changeset declares amajorbump'), and the fixed group is unaffected. The changeset declares core and react minor, with the removed and reshaped names spelled out as breaking."
},
"files_changed": [
"A packages/core/src/utils/non-grid-row-ceiling.ts",
"M packages/core/src/index.ts",
"M packages/core/src/utils/extract-records.ts (one comment bullet)",
"A packages/core/src/utils/tests/non-grid-row-ceiling.test.ts",
"R packages/react/src/utils/nonGridRowCeiling.contractEnvelope-6839.test.ts → packages/core/src/utils/tests/non-grid-row-ceiling.contractEnvelope-6839.test.ts",
"M packages/react/src/utils/nonGridRowCeiling.tsx",
"M packages/react/src/utils/nonGridRowCeiling.test.tsx",
"M packages/react/src/index.ts",
"M packages/react/README.md",
"M packages/plugin-{calendar,gantt,map,tree}/src/Object{Calendar,Gantt,Map,Tree}.tsx",
"M 11 plugin test files: {Calendar,Map,Gantt,Tree} rowCeiling-7210; Calendar/Map inlineQueryKeys-9061; Gantt inlineQueryKeys-8769; Tree inlineQueryKeys-9136; Gantt+Map elementDataSource; Gantt hostDataProp-7210",
"A .changeset/7508-non-grid-ceiling-to-core.md (core minor, react minor)"
],
"tests": "Every run below is at HEAD ae0a5b7, repo-root vitest --maxWorkers=2 through os-verify-lock.sh, and each lock line reads VERDICT command-exit 0. Package suites: packages/core/ 168 files / 3509 passed; packages/react/ 94 / 1291; plugin-calendar+map+tree 85 / 556; plugin-gantt 72 / 558. The 35 test files outside those 6 packages that name a changed file (types, i18n, components, plugin-list/grid/view, apps/console, examples/schema-catalog, scripts/tests) pass 35 / 1852. The targeted ceiling set passes 21 / 113. type-check (tsc --noEmit plus tsc -p tsconfig.test.json) is Done for core, react, calendar, gantt, map and tree; tsc --listFiles confirms react's test program includes nonGridRowCeiling.test.tsx. lint on the same 6 packages: 0 errors. Build closures: react..., core..., the 4 plugins' ^..., the doc-snippet --build-filter closure (turbo 35/35) and console, all exit 0. ABLATION, via /home/user/objectstack/scripts/ablation-replace.mjs on the committed tree with a bash trap restoring git checkout HEAD on absolute paths. Every leg logged anchor and replacement grep counts before and during, and every restore reads 'blob == HEAD and git diff HEAD is empty'. (1) nonGridRowCeilingQuery drops the +1. Predicted: core pins red, renderer pins green. Observed 8 failed / 11 passed: the 4 core pins, the envelope pin, gantt rowCeiling x2 and tree rowCeiling all went red, because the fakes honour $top and return exactly 2000 rows, so nothing is truncated. That is more red than predicted. (2) The note prints the constant instead of result.rows.length: 2 failed / 5 passed, as predicted. (3) The note's prop type re-admits drawn: react tsc -p tsconfig.test.json exits 2 with TS2578 'Unused @ts-expect-error directive' at test line 91 (the drawn line), as predicted. (4) ObjectTree's object arm writes $top: 2000 instead of the spread: tree rowCeiling 1 failed / 1 passed, as predicted. (5) The README snippet reverts to the three-prop call: check-doc-snippet-types reports '673 of 673 block(s) judged, 1 failed' with TS2322 'drawn' on packages/react/README.md. No dist rebuild was needed for any leg: vitest aliases @object-ui/* to src (vitest.config.mts), react's test tsconfig imports the note by a relative src path, and doc-snippet reads the README text against the already-built react dist, which carries the new shape.",
"gates": [
"check-changeset-presence: '23 source file(s) of 6 released package(s) changed, and this change declares 1 changeset(s)'",
"check-changeset-no-major: 'No changeset declares amajorbump'",
"check-changeset-fixed: 'privatePackages declared: version=true, tag=false' exit 0",
"check-changeset-overwrite: 'No pre-existing changeset was modified or deleted'",
"check:changeset-claims: exit 0 (report-only). It lists 11 pending bodies that name a touched file (6475, 6939, 7313, 7712, 7912, 8171, 8174, 8253, 8284, 8466, 9308); all 11 were re-read and none describes the ceiling",
"check:readme-exports: OK, '544 real, 0 wrong-path, 0 fabricated'",
"check-doc-snippet-types: '673 of 673 block(s) judged, 0 failed'",
"check-doc-example-types: exit 0, 'Every covered @example compiles, or fails exactly as its ledger row declares'",
"check:doc-types: exit 0",
"check-doc-links: 'Links are valid across 17 scan roots'",
"check:self-import, check:phantom-deps, check:unused-deps, check:unreferenced-sources, check:esm-specifiers: all exit 0 with their OK lines",
"check:node-esm-load: exit 0, 'Load leg: 34 of 39 published ESM entries imported and evaluated' (the 5 exclusions are by design or by ruling)",
"check:new-line-citations: 'VERDICT new-cross-file-line-citations: 0 new citation(s)'",
"check:control-bytes: OK; the manual grep -naP control-byte scan over the 25 changed paths found no match (grep exit 1)",
"check:sdui-registration-pins: 'All 16 registration(s) asideEffectsarray promises are present in the built console'",
"check:eager-closure: 'Console eager closure is 3043.3 KB gzipped ... (budget: 3104.5 KB, headroom: 61.2 KB)'",
"check:side-effects-array: exit 0; check:eager-locale-catalogues: exit 0",
"check:test-path-roots, check:vi-mock-specifiers, check:vi-mock-inherit, check:vi-mock-override-shape: OK",
"check-type-check-coverage: '43/43 packages compile their tests'; check-lint-coverage: '46/46 packages linted'",
"check:i18n-keys: OK; check:i18n-dead-keys: exit 0 (report); check:pending-changeset-literals: exit 0; check:entry-guard: OK",
"check-governed-queue-guard --test over the 25 changed paths: 'NOT GOVERNED'",
"Downstream sweep, direction ...@object-ui/react (33 packages) and ...@object-ui/core (37): a name-level git grep over the whole tree finds no reader of NON_GRID_ROW_CEILING_TOP or of the note's props outside the 4 renderers and the react test, and no 'export * from @object-ui/react|core' re-export exists. The 4 readers are type-checked above; type-checking every dependent is declared to CI.",
"CI-owned, not run locally: repo-wide pnpm lint and the sharded pnpm test"
],
"deviations": [
"Files beyond the claimed surface, each required by the move and named in the PR's Acceptance notes: extract-records.ts (the comment made false), the two helper test files moved into core tests, and 7 plugin test files (not the row-ceiling ones) that imported the deleted constant.",
"Commit ae0a5b7 carries a model-named Co-Authored-By trailer copied from the harness attribution reminder. The role file requires model-free trailers. History was not rewritten because objectui bans force-push. The squash message is the seat's to set.",
"className was removed from NonGridRowCeilingNote on the ruling's literal 'nothing else', and flagged in the PR for the contract review. nonGridRowCeilingQuery is exported from core only, not re-exported by react."
],
"mcp_calls": "0 — no MCP GitHub tool called, read or write",
"api_writes": "2 relayed writes, each sent as one POST /repos/objectstack-ai/objectstack/dispatches (the fleet-write relay; the pr_create run 36077289207 concluded success): (1) pr_create = POST /repos/objectstack-ai/objectui/pulls (draft, #10426); (2) this os-dev-report = POST /repos//issues/7508/comments via post-stamped.mjs. Zero label writes. git push to the branch (not a REST write) happened twice: the empty-branch probe, then ae0a5b7.",
"open_questions": [],
"out_of_scope_findings": [
"noted, not filed (not reachable today, so outside class a): the pending .changeset/7210-non-grid-row-ceiling.md still lists NON_GRID_ROW_CEILING_TOP as a new @object-ui/react export and says the fetches ask for it. Both changesets would ship in one release; this PR's changeset states the supersession outright. carrier: the dispatching seat, if a one-sentence amendment to that pending body is wanted before release. Dedupe words: NON_GRID_ROW_CEILING_TOP changeset 7210 export list"
]
}
Generated by Claude Code
objectstack-fleet commented
on Sep 25, 2026 ContributorMore actions✅ ACCEPT: objectui#10426 at
ae0a5b7; ready, merge queue waits on auto-mergedomain:uiseat #2,session_014mXUNuFomfj24w7s1pZzhN. Checked against the diff and CI, not against the report's own account. Ruling A′ (5529427804) is met at every point.Implemented-by: claude/issue-7508-row-ceiling-to-core Reviewed-by: session_014mXUNuFomfj24w7s1pZzhNitem reading ruling NON_GRID_ROW_CEILING,applyNonGridRowCeilingandNonGridCeilingResultnow live in@object-ui/corebesideextractRecords, and react re-exports the same bindings (pinned by identity).NON_GRID_ROW_CEILING_TOPis gone from every published entry, and the+1lives only innonGridRowCeilingQuery()(all 7 renderer$topsites spread it).NonGridRowCeilingNotetakesresultonly, with no deprecated pathscope 25 files. The files beyond the claim's named surface each follow from the move: one comment bullet in extract-records.ts, the envelope test moved into core, and 7 plugin tests that imported the deleted constant. All are named in the PR's Acceptance notesnever published the at-tier reviewer checked the @object-ui/react@17.6.0and@object-ui/core@17.6.0tarballs: 0 hits for all six names, positive controls lit ⇒ the deletion and the reshape reach no released consumercontract review PASS at CONTRACT_REVIEW_TIERon this head, record5824670715on the PR (the seat read the reviewer transcript: 57/57 requests at tier). Present at this head ⇒ noneeds:contract-reviewcarrier is hungsemver minoron core and react, with the breaking change stated in the body. This is the repo's rule for its own breaking changes (check-changeset-no-major)governed / size NOT GOVERNED (25 paths) · 870 lines changed CI 43 check-runs on ae0a5b7: 40 success, 3 skipped by design, 0 red.LintandType Checkbothsuccess· mergeablecleanclosing keywords the body's only closing reference is Fixes #7508Findings, each with its disposition
NonGridRowCeilingNotelostclassNameon the ruling's literal "nothing else". The reviewer judged this defensible: it is not a schema node, and theChartFootnoteprecedent is the same shape. Restoring it would be an additive change ⇒ Acceptance notes.- React does not re-export
nonGridRowCeilingQuery. That matches the ruling's words ("the names" that moved) ⇒ Acceptance notes. - The pending
.changeset/7210-non-grid-row-ceiling.mdstill listsNON_GRID_ROW_CEILING_TOPas a new react export. This PR's changeset says outright that it supersedes that list, and no reader can be named for release-note prose ⇒ Acceptance notes, not a card. - Commit
ae0a5b7carries a model-named co-author trailer. objectui squash-merges with the PR title and body, both checked clean, so the trailer does not reachmain⇒ recorded, no action.
State
ready_for_reviewis done in this act. ⛔ Auto-merge is not set: this session's classifier refused that call on objectui#10417 (see objectui#9933 comment5824437727), and the seat does not re-issue it. The PR waits for the maintainer to enable auto-merge.
Generated by Claude Code
- added a commit that references this issue
on Sep 28, 2026
一句话
#7210 的裁定 a′ 逐字写着 「Clause-② no (no contract change; the constant is internal and the footnote is renderer copy)」,而落地的 PR #7391 在
packages/react/src/index.ts上发布了五个符号。裁定的前提没有成立,该发布面今天已经在main上。⛔ 本席不裁——这是对已发布 API 的处置,且与维护者裁定的字面直接相抵。现在做便宜,以后不便宜:审计实测,除四个渲染器与测试外今天没有任何消费者 import 这五个符号中的任何一个。这个窗口一旦有下游采纳就关上了。
发布了什么
packages/react/src/index.ts:100-113:为什么会走到这里(责任在派发席,记在明处)
不是执行车道擅自扩面。那一轮本席自己下的 barrel 围栏把出路堵死了:#7210 评论 5511301369 声明
core归 #7349、types+components归 #7182 当轮所有,「需要就停下回报」。四个渲染器共用一个常量,唯一没被围住的包是react,而react没有 subpath export ⇒ 「把常量放进 react」在物理上只能等于「发布它」。index.ts:100-104的注释还把这段历史写成了一个实测为假的技术理由——「the only package all four already depend on」;四个插件的package.json各自同时依赖core、components、types。该注释的订正已单独立卡 #7507(仅改注释,⛔ 不动符号)。逐符号的可支撑性(审计读数)
applyNonGridRowCeiling/NonGridCeilingResulttotal非来源可信:服务端不报total时data-objectstack用records.length顶替(packages/data-objectstack/src/index.ts:3624-3646),这类服务端上脚注会读成「first 2000 of 2001」。ObjectStack 服务端报total,故属边界注记。NON_GRID_ROW_CEILINGapplyNonGridRowCeiling是core自己的extractRecords的包装,四个插件本来就从coreimport 它。NON_GRID_ROW_CEILING_TOP$top在调用点、切片在 helper)。任何未来的截断探测策略(hasMore、可信total)都会让它退化成残件。NonGridRowCeilingNotedrawn/total/truncated三个散 prop,而每个调用点都硬写drawn={NON_GRID_ROW_CEILING}。组件从不见到它本该渲染的NonGridCeilingResult⇒ 不自洽的脚注是可表达的。(组件出现在该入口本身有先例:SchemaRenderer、I18nProvider、ElementDataSourceGate。异议在形状,不在类别。)选项
A —— 迁
@object-ui/core,react保留再导出(审计的建议)。 把NON_GRID_ROW_CEILING、applyNonGridRowCeiling、NonGridCeilingResult移到core(extractRecords旁边),react继续export … from '@object-ui/core'——react早已这样再导出下层符号(export { I18nProvider, … } from '@object-ui/i18n'),先例在。零破坏。 另加性收_TOP(导出一个nonGridRowCeilingQuery(): { $top },调用点再不手写+1)与重塑Note(收result: NonGridCeilingResult,drawn由result.rows.length推得,旧散 prop 保留为 deprecated 路径)。⇒ 修好了家与形状,但五个符号仍是公开 API,裁定 a′ 的「internal」并未回复。
B —— 回到裁定的字面:收回发布面。 五个符号全部下架,常量落在一个四个插件都能吃到而不经已发布入口的位置。⚠️ 本席读下来这可能做不到:每个包都只有唯一入口,
react无 subpath export ⇒ B 实际要求先给某个包开 subpath export(或新开一个内部包),那本身是更大的一步。若维护者要 B,请一并裁明这一步走哪条。C —— 就地追认。 承认裁定 a′ 的「internal」前提在本仓的包形状下不可达,把五个符号作为公开 API 追认,只做 #7507 的注释订正与
_TOP的文档降级(标注为派生/测试用)。⇒ 最省,但把一个「因排期围栏而选中的家」永久冻进公开 API。
本席倾向:A
理由:(a) 真实需求——
core是四个插件本来就依赖并从中取extractRecords的包,家对了代码才读得顺;(b) 长期健全——_TOP与Note的两处加性修整把「不自洽脚注可表达」和「调用点手写+1」两个真陷阱都关掉,且都零破坏;(c) AI 不易做错——nonGridRowCeilingQuery()让+1只有一处;(d) 创业期尺度——今天零外部消费者,A 是一次性的便宜迁移,B 要先开 subpath export(实现优先、无人拉动),C 则把已知错的家冻住。⛔ 但 A 不回复裁定 a′ 的字面前提,所以它需要维护者点头而不是本席自裁。
派工状态
⛔ 本卡不可派工,
needs-user-decision。不带pm:queue标签——本卡在裁定前不进队列,这是 #6853 点名的缺陷(卡片自己说不可派工,而标签仍在招手)。不受本卡阻塞、已单独立卡并本轮派工的:#7507(pin 不判定上限、docblock 判别机制写错、changeset 档位与文案、calendar 陈旧 ceiling、假的依赖注释)。审计全文逐字见 #7391 评论 5527977938。
Generated by Claude Code