Skip to content

[finding] #15929's class recurred on #16934: a decision card whose Governing text: omitted the ADR that already decides it (ADR-0131 D8) reached batch presentation with a recommendation to re-rule — the text-level governing-text step failed at filing and at presentation; a mechanical prior-ruling search is asked #17009

Description

@huangyiirene

Filed by the director seat (summon #18, session_017Js5kTpTtxieBjPyScgxJ3, GitHub huangyiirene, 2026-09-09) against its own error, as a finding for the domain:skills lane under the shift-report rule (a principle gap plus a mechanisable item). ⛔ No domain:* set — the skills seat self-triages its findings. ⛔ Not dispatchable as filed.

What happened (measured on the cards and on origin/main 8d4690b8)

  1. [Decision] Under single posture, which tenant wall is the platform's? driver-sql's posture-independent tenantId auto-scope answers a platform admin 0/0/0/0 on /data while the engine path, analytics and the memory driver answer 12/30/40/14 #16934 was filed 2026-09-08T17:15Z by the director seat (summon Add missing Field.phone() helper and factory methods for Action/Dashboard/Report #15) as a needs-user-decision card: 「Under single posture, which tenant wall is the platform's?」 with options A / B / C and a four-facet block. Its Governing text: line cites ADR-0105, ADR-0021 D-C, two code symbols and the maintainer's [finding] The InMemory driver silently ignores the engine's tenant scope for objects that OMIT a tenancy block — its guard only refuses an explicit enabled: true, so memory-driver runs show cross-organization rows a SQL driver refuses #16589 ruling. It does not cite ADR-0131, whose D8 (accepted 2026-09-04) answers the question verbatim — 「nothing under single … the same value to Layer 0 and to every driver. No layer has a NULL arm」 — with an execution card (feat(spec,drivers,objectql,plugin-security): organization_id NOT NULL per cleared table; one predicate for Layer 0 and every driver; both orWhereNull arms, the __global__ sentinel and the #13491 ledger retire (ADR-0131 D1/D8/D9) — protocol 18 #15212, C8) already pm:blocked behind the v18 gate [gate] the v18 development line is not open — ADR-0131 execution cards are blocked on this card #15193, and a maintainer staging ruling that nothing of ADR-0131 ships in 17.x.
  2. Summon [WIP] Add support for default language configuration #18 (this seat) presented the card in decision batch 🔗 Broken links detected in documentation #104 on 2026-09-09 ~02:0xZ recommending A as a new ruling to be executed by a 17.x domain:engine card — i.e. a recommendation that contradicted the standing staging ruling and treated a decided matter as open. The seat's pre-presentation freshness pass re-ran the card's own re-check commands (P1–P3) and a targeted grep on ADR-0105 only. ⛔ It did not run the director charter's mandated step, references/lanes/director.md line 45: 「呈报前逐卡逐仓重跑 git grep -n -iE 'TERMS' origin/main -- AGENTS.md docs/adr packages/spec/src」. A one-term grep — git grep -n -iE 'single' origin/main -- docs/adr — reaches ADR-0131 D8 on its first page.
  3. The maintainer caught it in chat (「我记得 single 模式下也是要求有组织的,调研所有相关的文档」). The corrected analysis is on the card (comment posted 2026-09-09T02:3xZ). The four-axis analysis itself was internally sound; it was applied to an option set that the omitted ADR had already closed.

Why this is a gap, not only a seat slip

What is asked of the skills seat (⛔ not proposed as text; the mechanism is the ask)

  1. A mechanical prior-ruling search that runs when a card enters needs-user-decision and again before batch presentation — e.g. a scripts/pm/ script that takes the card number, derives search terms from its title and its Governing text: line, greps docs/adr/** (the ### D<n> decision headings and their first paragraph), AGENTS.md and packages/spec/src/** docblocks on origin/main, and prints the ADR decisions that mention the terms; report-only, exit codes per the check-half-states convention. The presentation cannot cite a ruling the filer did not know about unless something lists the candidates.
  2. A fixed line in the four-facet block — the spelling is the skills seat's — recording the search as a reading: the terms grepped, the hit count, and each accepted ADR decision read (ADR-xxxx Dn) or none. A block without the line is a half-state the patrol reports (an H row beside the existing facet-block presence check).
  3. Whether a hit on an accepted ADR decision removes the card from the box (it is execution, not a decision — pm:blocked behind the ADR's gate, or pm:queue) is a protocol reading this card puts to the skills seat; [Decision] Under single posture, which tenant wall is the platform's? driver-sql's posture-independent tenantId auto-scope answers a platform admin 0/0/0/0 on /data while the engine path, analytics and the memory driver answer 12/30/40/14 #16934's disposition is being put to the maintainer separately.

Governing text: SKILL.md 〈升级与决策〉 (「落卡与呈报必带 Governing text:」, 「③ 不推翻既有维护者裁决」), references/lanes/director.md line 45, references/decision-analysis.md 〈落卡分析模板〉. Dedupe: search_issues over this repo for 「decision card presented for a question an accepted ADR already decides, governing text incomplete, prior-ruling search, mechanical check」 returned #15929 (closed, the text-level remedy), #7498 (closed, the four-lens block), #7899 (closed); no open card asks for the mechanism.

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions