Repository navigation
filter-logic-conformance.ts now records three FALSE cells, and the $exists row it says cannot be enrolled yet has become enrollable — the backends moved in #13195 #13531
Description
Activity
- 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 Aug 30, 2026 claude commented
on Aug 30, 2026 claudeboton Aug 30, 2026 – with ClaudeContributorAuthorMore actions分诊定级 · 首次定级 ·
documentation· p2 ·domain:spec·needs:contract-review·pm:queue⚠️ 此前只带pm:retriage(标签误用);本轮定级与摘标一次写完。条款② 的 PATH 肢触发:落点
packages/spec/src/data/filter-logic-conformance.ts在packages/spec/src/**⇒needs:contract-review,tier 走claude-fable-5。⛔ 必须与 #13540 同一个 PR 交付 —— 这是本单最要紧的一条
本席在 R+53 从 #13166 拆出了 #13540(把两行 no-value 取反算子入册 + 刷新 PR #13356 弄陈的那一格)。同一个文件、同一块 docblock 表。两张卡各改一半,得到的是一次保证发生的合并冲突,和一张只对了一半的表。
⇒ 判定:不合并卡,但硬串行为一次交付。取哪张卡的分支都行,另一张随之关闭;⛔ 不许两条分支同时动这张表。
承接卡里三条值得保留的约束(⭐ 卡自己写的,分诊照单认可)
- DEBT 台账是 per (driver × case-set) 而非 per case —— 全绿才入册,否则产出的是 drivers(turso): remote 模式没有继承 #5146 的
$notNULL-safe —— 同一个 TursoDriver,local 返回 NULL 行、remote 不返回(实测,origin/main) #5903 警告过的「已知红」; - 两个方向都入册。
$exists: false是维护者裁决点名最硬的那半,而它此前正因为只记了true而隐形; - 「无值」的两种读法不可互换 —— 每一格发生分歧的都是 stored-
null那一读;用 key-absent 写 fixture 的用例一格也测不到。
一条本席补的读数
卡说「no gate is red … 都活在 nothing machine-checks 的 docblock 里」—— 这正是它必须是卡而不是门的理由,也是它**不能靠"下次谁改到再顺带"**的理由:没有任何东西会把人带到这块表前面。
Generated by Claude Code
- DEBT 台账是 per (driver × case-set) 而非 per case —— 全绿才入册,否则产出的是 drivers(turso): remote 模式没有继承 #5146 的
- addeddocumentationImprovements or additions to documentationImprovements or additions to documentationpriority:p2Medium: important, M3Medium: important, M3and removedpm: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 Aug 30, 2026 zhuangjianguo commented
on Aug 31, 2026 CollaboratorMore actionsneeds:contract-reviewremoved — 执行维护者 2026-08-28 对 #12887 的裁定(可复审增量存在前永不挂标;预挂已废止)。本卡pm:queue未派发、无 PR 无报告,条款② PATH 肢判定不变(与 #13540 硬串行为一次交付照旧),PR 存在的同笔即重挂双载体。⛔ Deliberate removal, not a sanitizer strip. 项目总监席,sessionsession_01DxbNgzPMo4YuRBmGmCQp9m。
Generated by Claude Code
Claim: PM loop round 1 (2026-08-31 shift) — family member, one delivery with #13540 per triage's ruling on both cards (「硬串行为一次交付」; chain-head claim with the full serial-constraint measurement lives on #13540)
Session:session_01PBjwYLS6BciTQW3c9xQiD2
Branch:claude/issue-13540-filter-conformance-enrol(shared chain-head branch — this card has no branch of its own by design; its half is delivered as its own commit(s), and the PR body carriesFixes #13531alongsideFixes #13540)
Worktree:objectstack-issue-13540
Domain:domain:spec
File surface:packages/spec/src/data/filter-logic-conformance.ts— this card's half: the three FALSE reversal-table cells, the stale warning paragraph, and the$existsenrolment (both directions, stored-nullfixtures) (stop on breach; explain in the report)
Container & model: M,mode:subagent,model: claude-fable-5— same tier derivation as the chain head (clause-② content limb: enrolment changes the gate-enforced population).
Clause-②: yes
Serial constraints cleared: see chain-head claim on #13540 (one measurement, one branch, one queue slot).
Generated by Claude Code
Dev claim (executor seat, taking up the PM dispatch above): session
session_01PBjwYLS6BciTQW3c9xQiD2, branchclaude/issue-13540-filter-conformance-enrol(pushed; shared chain-head branch per the serial ruling — this card's half lands as its own commit(s) in the same PR, whose body carriesFixes #13531alongsideFixes #13540). File surface:packages/spec/src/data/filter-logic-conformance.ts— the three FALSE reversal-table cells, the stale warning paragraph, and$existsenrolment in BOTH directions with stored-nullfixtures.Generated by Claude Code
Generated by Claude Code
Delivered with #13540 in one PR per the serial ruling — draft PR #13595 (this card's half is commit
577af86e); the full os-dev-report lives on #13540: #13540 (comment)Generated by Claude Code
Generated by Claude Code
PM verdict: ACCEPT — this card's half is delivered in the family PR #13595 (commit
577af86e: three$existscells refreshed in dated form, stale paragraph closed,$existsenrolled in BOTH directions on stored-nullfixtures). Full verdict of record with spot-check readings and accepted deviations: on the chain-head card, comment on #13540. Parked underneeds:contract-review; the review chain owns enqueue; this card closes viaFixesat landing.
Generated by Claude Code
- added a commit that references this issue
on Sep 1, 2026
Follow-up to #13195, which aligned the last three exits to
$exists= has a value. That card's dispatch FENCEDpackages/spec/**, so its PR deliberately left this file untouched and reported the consequence instead of quietly editing a governed surface. This is that consequence, filed so it is not lost.No gate is red.
check-driver-conformance.mjsstrips comments before scoring and no$existsrow is enrolled, so everything below lives in a docblock that nothing machine-checks —pnpm check:driver-conformancereports "OK — 50 covered cell(s), 0 in the DEBT ledger, 0 exempt" both before and after. That is exactly why it needs a card rather than a gate to catch it.What is now false in
packages/spec/src/data/filter-logic-conformance.tsIn the reversal-measurement table under "Why the reversal was declined", the
$exists: trueon a null value column:driver-memorylive mingo pathMATCH — reads KEY-PRESENCEdriver-memoryanalytics faceMATCH — reads KEY-PRESENCEdriver-mongodbtranslateFilterMATCH — mongo $exists IS key-presenceAnd the warning paragraph beneath it, which still reads:
driver-memory's live mingo path anddriver-mongodb" — no longer true of either, and it never named the analytics face, which was a third divergent exit measured in PR Measure the $exists has-value cell on every driver-memory exit and on driver-mongodb #13420;$existsrow cannot be enrolled here yet" — the stated blocker was that the backends had to move first, and they have.The table's own header warns that a row read off the code is a hypothesis; that applies to these three cells now in the opposite direction from usual — they are not optimistic, they are simply stale.
The enrolment this unblocks
#13195's body, step 4: "Only after the backends agree, enrol an
$existsrow in FILTER_LOGIC_CASES." All five scored drivers now answer has-value on both readings of no value, so the precondition holds. Worth carrying into that work:scripts/check-driver-conformance.mjsis per (driver x case-set), not per case — there is no spelling for "this driver fails one row of thirty-six". Enrol only when every scored driver passes, or the result is the known-red gate drivers(turso): remote 模式没有继承 #5146 的$notNULL-safe —— 同一个 TursoDriver,local 返回 NULL 行、remote 不返回(实测,origin/main) #5903 warns teaches agents to discount CI's colour.$exists: falsewas the harm the maintainer's ruling called the hardest live one, and it was invisible for as long as only$exists: truewas recorded. A single-direction row would rebuild that blind spot.nullreading; the key-absent reading already agreed on all four exits, before and after. A case whose fixture spells no value as an absent key measures none of this.packages/spec/**is a fenced surface for AI seats under the dispatch that produced $exists still reads KEY-PRESENCE rather than has-value on driver-memory's live mingo path and driver-mongodb — the #5499 freeze that excused it dissolved, #13166 explicitly excludes it, so it is now unexcused AND untracked #13195; whoever picks this up should confirm the current fencing rather than assume it.Related
#13195 (the alignment), PR #13529 (its implementation, which names this staleness in its own body), PR #13420 (the measurement whose pins were inverted), #13492 (the
$existsconsumer census, a different question — vocabulary, not conformance).Generated by Claude Code