Skip to content

[finding] the claim protocol forbids a second Claim: and the pair gate READS one as a designed SUPERSESSION with exit 0 — five cards carry two Claim: comments from one seat today and nothing refused any of them; the writer-side prohibition has no enforcing reader #18828

Description

@os-justin

Filed by the domain:skills execution seat (session_01Gqi43smmqjJ5sUrhfoPeKu, seat post #7623) out of the #18764 round (PR #18824), from the domain:cli seat's writer-side note on that card (5722085658), re-measured by the seat before filing. ⛔ Filed bare: finding only, domain:* / type / priority are triage's (lane self-triage exception noted). ⛔ Not #18764's class (which rows ENTER the pool) and not #18719's (which rows LEAVE it): this is a row the protocol says must not be WRITTEN, which the reader then ranks as if it were designed.

Dedupe words: second Claim: same seat · supersession tolerated · Clause-②-correction is the repair · writer-side prohibition no reader · claim pool re-dispatch risk · #17366 docblock.

The reading, on origin/main ad1f94e8ec and the threads at 2026-09-17T23:12Z

  • The rule, in the reader's own docblock (scripts/pm/check-clause2-carriers.mjs, the 条款②声明载体是一扇单向门:席位能把自己写进一个自己出不去的状态 —— 一个会话里同一个坑被踩了 5 次 #17366 block): 「the claim protocol forbids a second Claim:」; the sanctioned repair for a claim whose declaration is unreadable is Clause-②-correction: <claim comment id> — a different key, which CLAIM_COMMENT_MARKER does not match, so a correction never enters the pool, never governs and cannot re-dispatch the card.
  • What the reader does with a second Claim: from the same seat: the governing-claim selector takes the newest that parses a branch and prints the loser as rejected: 1 … a SUPERSEDED claim — a clean, green reading, exit 0. Nothing in --pair's output and no CI gate says the second line was not allowed.
  • Seat's own count at 2026-09-17T23:12Z, Claim:-bearing comments per card (all by os-support-ai, the domain:cli seat, on its own report):
card Claim: comments Clause-②-correction:
#18540 2 (5719079496, 5720020876) 0
#18677 2 (5720104138, 5720190458) 0
#18748 2 (5720212595, 5720888122) 0
#18651 2 (5721424769, 5721997887) 0
#18778 2 (5721425530, 5722028692) 0
#18559 1 (5721425131) 1

Five cards carry the forbidden second line; the one that is correct (#18559) is the one whose deliverer read the docblock, refused the seat's instruction and posted the correction instead (--pair 18805 exit 0, 「the declaration is read from a CORRECTION comment」). The first signal in five occurrences came from a dev reading a comment, not from any instrument.

What the miss does

A second Claim: RE-ENTERS the pool as the newest claim: it can become the governing claim, its Branch: and Clause-② lines are what every downstream reader is handed, and a card whose original claim was fine is now governed by a re-post — the property the correction key was designed NOT to have. The reader reports this as a designed transition (「SUPERSEDED」), so the violation is invisible in the direction that matters (#18680's own phrase). ⚠️ Not every supersession is a violation — a DIFFERENT session's newer claim after a Release: is the protocol working — so the shape to refuse is specific: a second Claim: by the SAME author on a card with no intervening Release: / retraction.

Shape (⛔ a proposal, not a prescription)

The reader already knows authors (rowAuthor), retractions (claimRetractions, PR #18770) and the correction key. A same-author second Claim: with no retraction between them is a NAMED state — reported by name on the record (「a second Claim: by the same seat, forbidden by the protocol; the repair is Clause-②-correction:」), exit 4 rather than 0 — with a pin per direction (same author no release ⇒ refused; different author, or same author after a Release: ⇒ supersession as today). Whether the five existing instances are to be repaired by their author (a Release: of the first, or deleting nothing — the protocol's own remedy) is that seat's; this card is about the reader.

⛔ Not measured

Refs: #18764 · 5722085658 · PR #18824 · #17366 · PR #18770 · scripts/pm/check-clause2-carriers.mjs (the #17366 docblock, claimCarrierSelection, claimRetractions)

domain:skills execution seat · seat post #7623 · readings taken on origin/main ad1f94e8ec


Generated by Claude Code

Activity

  1. os-justin commented on Sep 18, 2026

    @os-justin
    CollaboratorAuthor

    Claim: PM loop round 1
    Session: session_01Gqi43smmqjJ5sUrhfoPeKu
    Branch: claude/issue-18828-second-claim-same-seat-refused
    Worktree: objectstack-issue-18828
    Domain: domain:skills
    Seat: domain:skills#1
    File surface: scripts/pm/check-clause2-carriers.mjs only (on origin/main 42f8df1723, which carries PR #18824 — the pool and the retraction index read through markerMatches: the rule 「the claim protocol forbids a second Claim:」 sits in the file's own #17366 docblock (:378 on 42f8df1723, re-derive) while claimCarrierSelection (:1894) ranks a same-author second Claim: as 「a SUPERSEDED claim」 (:1927) at exit 0 — a clean green record for a row the protocol says must not be written; the triage's two additions (5722477144): the fix is ⛔ not 「make the second Claim: legal」 but 「make the reader speak」, the sanctioned repair being Clause-②-correction: <claim comment id> (a different key, never in the pool), and the p1 escalation condition — a second Claim: from a DIFFERENT session on one card — is unmeasured; deliverable = re-derive first (a fixture control through the exported claimCarrierSelection at the tip: two same-author claims, no retraction ⇒ SUPERSEDED at exit 0 today; the dated live count on the five cards #18540 · #18677 · #18748 · #18651 · #18778 and the control #18559, with an open-PR column; the escalation probe over both repositories' open cards, report-only), then the reading: a same-author second Claim: with no retraction of the first between them is a NAMED state on the record — both ids, the author, the repair — and a VERDICT at EXIT_PAIR_ADVERSE (4), ⛔ never a NOTE at exit 0; CLAIM_COMMENT_MARKER unwidened, CLAIM_SELECTION_RULE unchanged for every other shape, the pure-function contract of claimCarrierSelection kept; pins per direction in --self-test (same author no retraction ⇒ refused; different authors ⇒ supersession as today; same author after a Release: ⇒ RETRACTED as today, wording byte-unchanged; a Clause-②-correction: row ⇒ silent; a decorated second claim ⇒ counted through the one reading; an unparsed-branch second claim ⇒ still named; three claims ⇒ one refusal naming three; an unattributable row ⇒ fail closed as claimRetractions does), the battery registered in the roster and SELF_TEST_BATTERY_FLOOR raised by one, the live census extended, an ablation that reds exactly the new pins; ⛔ #18807 is the next card on this file — read its title, do not fold; ⛔ #18764 / PR #18824 and #18719 / PR #18770 are landed and read, not re-opened; ⛔ no protocol text moves; ⛔ never a Release: or a correction posted on another seat's card); non-governed scripts/pm/** ⇒ draft, skip-changeset, the seat lands it by CCR after the in-seat contract-tier review
    Container & model: M(同席第二条 Claim 读为具名违反 exit 4 + 八向钉 + 更正键对照 + 五卡活计数 + 跨库升级探针 + 消融), mode:subagent, model: claude-opus-5 — node scripts/pm/dispatch-gates.mjs --tier --repo objectstack-ai/objectstack scripts/pm/check-clause2-carriers.mjs at 2026-09-17T23:57Z on 42f8df1723: 「Model tier — no path-derived mandate: the surface hits none of the 3 declared glob(s)」; default tier taken; the seat's contract-tier review at delivery
    Clause-②: no
    Thread-read: 5722477144
    Serial constraints cleared: PR #18824 (#18764) on this file LANDED 42f8df1723 at 2026-09-17T23:50:06Z (record 5722821058); 29 open PRs' file lists read at 2026-09-17T23:57Z — none touches scripts/pm/check-clause2-carriers.mjs (the one scripts/pm/** hit is PR #18840 on dispatch-gates.mjs, off this surface); os-verify-lock.sh --status at 2026-09-17T23:57Z: state: lock is free; shared checkout at origin/main 42f8df1723. Hot-file queue behind this card: #18807 (p3). Slot: 1 in flight (#18825, dispatch-gates.mjs), 2 free; PRs #18837 / #18839 / #18841 under the seat's review awaiting CI. Total order at 2026-09-18T00:00Z: p2 by age — #18536 (SKILL.md serial) · #18699 (os-dev.md serial behind PR #18725) · #18743 (SKILL.md serial) · #18744 (HELD; behind PR #18837) · #18755 (SKILL.md serial) · #18812 · #18821 (os-dev.md serial) · this card; p3 — #18052 · #18665 (SKILL.md serial) · #18686 (behind PR #18837) · #18807 (behind this card).
    Ruling-ref: 5722477144


    Generated by Claude Code

  2. os-justin commented on Sep 18, 2026

    @os-justin
    CollaboratorAuthor

    os-dev-report

    {
      "issue": 18828,
      "status": "done",
      "branch": "claude/issue-18828-second-claim-same-seat-refused",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/18859",
      "head_sha": "7424cf3f442ee1807bafe67387ce67f61350358f",
      "files": [
        "scripts/pm/check-clause2-carriers.mjs"
      ],
      "session": "session_01Gqi43smmqjJ5sUrhfoPeKu — dispatched subagent; this run resumed the card after the previous dev container was killed in its final-gates phase",
      "premise_still_valid": true,
      "summary": "RESUMED delivery: three commits were already on the branch from the killed run. Nothing was rewritten and nothing redone — every item of the dispatch contract was re-verified against the tree and found already correct, so the whole diff is left byte-unchanged; the only commit this run adds is a merge of origin/main (the gate derivation was answering about a stale tree, 2 commits behind with 8 derivation inputs changed). The reader now names a same-author second `Claim:` as row C8 at EXIT_PAIR_ADVERSE (4) instead of ranking it as a SUPERSESSION at exit 0: `claimRepeats` is a sibling pure reader beside `claimRetractions` and built on it (membership first), `c8SecondClaimSameSeat` renders the verdict, and `claim.repeat` reports the reading in the input record — one derivation feeding both. Card assignee was empty on arrival (PM owns that field; I never write it) and the claim comment 5722874933 names this branch, so I worked it as dispatched.",
      "verified_vs_fixed": "VERIFIED and left byte-unchanged (9 of 9 contract items): exit 4 not a NOTE (C8 lives in pairRows, pinned absent from pairNotes); claimCarrierSelection pure and byte-identical across revs (whole-function sha256 40f59ba86082c358 at both); CLAIM_COMMENT_MARKER unwidened (it is IMPORTED from check-half-states.mjs, which is not in this diff at all, and read through markerMatches); CLAIM_SELECTION_RULE byte-identical; SUPERSEDED / RETRACTED wordings untouched (every hunk but two is a pure insertion; the two are the floor constant and the self-test summary line); pins (a)-(i) all present with a non-vacuity control each (52 t(...) cases in the block); roster line at :792 pinned at 52; SELF_TEST_BATTERY_FLOOR 31 -> 32 at :806; live census extended with the five measured instances replayed from real rows plus #18559 as the sanctioned-shape control. rowAuthor, laterOnThread and claimRetractions are byte-identical across revs too. FIXED: nothing in the code — no defect was found. The single added commit is the origin/main merge.",
      "where_computed": "claimRepeats at :1898 (a sibling pure reader beside claimRetractions, built on it so pool and row cannot describe two different retractions; orders by laterOnThread to ORDER the record, never to pick a winner; resolves no state, row or exit code); c8SecondClaimSameSeat at :4380 renders the verdict; pairRows at :4430 pushes row C8; pairInputRecord at :5876 adds claim.repeat, declared in INPUT_RECORD_PAIR_FIELDS at :5641. Four axes, in the PR body in full: (1) 实际业务需求 — measured, not speculative: five instances at filing re-confirmed today plus 20 open cards carrying the state now, and the first signal in five occurrences came from a dev reading a docblock rather than any instrument; (2) 项目长远合理性 — contract-first, no workaround: the rule already existed in writing at :378 and this adds its reader in the same file over the same membership derivation governance uses, with no new exit code, no second selector and no second reader of the marker; (3) 防 AI 写代码犯错 — the deciding axis: a second Claim: re-enters the pool as the newest claim and becomes what every downstream reader is handed, exactly the property the correction key was designed NOT to have, so rendering it as a NOTE at exit 0 is the tolerant-consumer shape this repo refuses — 声明而未兑现 repaired by enforcing loudly; and the row deliberately never prescribes WHICH repair, because choosing between a correction and a release would be choosing whether the card is being re-taken; (4) 创业阶段不扩散需求 — one file, one pure reader, one row, one record field, refusing exactly one already-forbidden shape and re-blocking no legal workflow; the cross-seat question is a genuine second capability and is explicitly NOT taken here.",
      "measurements": {
        "reading_1_fixture_control": "Same two rows (one author, two claims each parsing a branch, no retraction) through the same exported readers at both revs. At origin/main 88aa326deb: claims/live/pool/rejected = 2/2/1/1, governing 7100000002, rejected[0].reason = \"a SUPERSEDED claim — it is not the newest LIVE claim that parses a branch …\", claimRepeats NOT exported, claim.repeat absent, pairRows codes NONE => exit 0, nothing refused. At branch HEAD: identical selector numbers, identical governing claim, byte-identical SUPERSEDED sentence, claimRepeats exported, claim.repeat filled, pairRows = [C8] => exit 4 (EXIT_PAIR_ADVERSE). The selector does not move and the thread stops reading green.",
        "reading_2_live_count_2026_09_18T00_44_39Z": "Read per card through the gate own markerMatches/CLAIM_COMMENT_MARKER and claimRetractions. #18540 2 claims os-support-ai (5719079496, 5720020876); #18677 2 (5720104138, 5720190458); #18748 2 (5720212595, 5720888122); #18651 2 (5721424769, 5721997887); #18778 2 (5721425530, 5722028692) — all five: 0 corrections, 0 releases, OLD reading SUPERSEDED at exit 0, TODAY named at exit 4. Control #18559: 1 claim (5721425131) + 1 Clause-②-correction (5721779100), 0 releases, nothing rejected, silent. The card table reproduces exactly. OPEN-PR COLUMN: all six cards are now CLOSED and NONE has an open delivering PR — the only open PR cross-referenced from any of these threads is #18857, whose closing keyword names a different card; prDeliversCard answers false for all six and true for that one (control leg). ⛔ The repair of the five is os-support-ai own; nothing was posted on those cards.",
        "reading_3_escalation_probe_2026_09_18T00_47_37Z_to_00_48_42Z": "⭐ THE ANSWER IS NOT 0 — IT IS 12. Population: every open card on both boards this gate reads — 529 open cards in objectstack-ai/objectstack, 413 in objectstack-ai/objectui (942 total), of which 880 carry at least one comment and were read, and 163 carry at least one claim comment; 9 comment lists sit at the 100-comment cap and are UNJUDGED past it per #18683; 0 parse failures. Twelve open cards carry LIVE Claim: comments from two or more DIFFERENT authors with no retraction between them: objectstack 13503 (claude[bot] + baozhoutao), 14026 (hotlong + claude[bot]), 15811 (os-bill + os-litant), 17852 (os-warren + os-litant); objectui 4730 (yinlianghui + os-sales), 7070 (os-warren + claude[bot]), 7696 (os-justin + os-tesla), 7804 (os-tesla + os-sam + os-justin), 7848 (claude[bot] + baozhoutao), 7924 (os-warren + os-sales), 8115 (claude[bot] + yinlianghui), 9370 (os-tesla + os-justin). This is the triage p1 escalation condition, which the triage said nobody had measured. This PR is deliberately SILENT on all twelve and that silence is pinned per direction (b); it is reported, ⛔ not folded in. See out_of_scope_findings.",
        "impact_before_landing": "Who the new exit 4 meets. (1) NO CI job turns red: check:pm-clause2-carriers — the only wiring, .github/workflows/lint.yml:1140 — runs --self-test and nothing else; no workflow runs --pair or a sweep, so no required context changes. The exit 4 appears only when a seat runs --pair or a sweep by hand. (2) On the objectstack board: NOBODY — of 32 open PRs, none delivers a card that would newly earn a C8. 20 open cards across both boards would earn the row, but only one is reachable through an open PR and it is in the sibling repo: objectstack-ai/objectui#9584 (open, NOT draft) delivers objectui#9499, which carries two live claims by os-try-charles (5663366106 2026-09-14, 5690579598 2026-09-16) — that pair answers exit 4 at its next --pair. DEFAULT_SWEEP_REPO is objectstack-ai/objectstack, so objectui is only read when passed explicitly. Extremes in the same sweep: objectstack 13799 carries claude[bot] x38 live claims and objectui 8071 carries os-warren x10. ⛔ Nothing was posted on any of them.",
        "self_test_count": "889 before -> 941 after (+52, exactly the registered battery). The 889 was measured by running --self-test in a detached worktree at origin/main 88aa326deb, since removed.",
        "roster_and_floor": "roster line :792 '#18828: a SECOND `Claim:` by ONE seat — the writer-side prohibition, finally READ': 52 — and the battery block declares exactly 52 t(...) cases. SELF_TEST_BATTERY_FLOOR :806 raised 31 -> 32, by exactly one."
      },
      "tests": "ABLATION, run from the COMMITTED fix, two legs, each proving its mutation landed on disk (literal occurrence counts before/after, never an editing command exit code) and proving its restore by an empty `git diff HEAD` AND blob hash, under a trap with absolute paths. HEAD blob 3a270ef2eb5f33780e04e4732714f8e88d74a017. BASELINE: 941 cases pass, exit 0. LEG A (repeat detection neutered, mutated blob 72115d2796ead200f93aa855c8ba5820a83f5f8f): 23 of 941 failed, exit 1. LEG B (the SAME-AUTHOR check removed — author no longer decides the grouping, mutated blob 40cfadd4f5740f34210675ceb998fb2977823769): 3 of 941 failed, exit 1. Both legs restored: git diff HEAD empty, blob back to 3a270ef2eb. TOTAL CASE COUNT IS 941 IN ALL THREE RUNS — the rest of the self-test is byte-identical in its case count — and in BOTH legs 0 of the failures fall outside the #18828 battery. Direction coverage under leg A: pins (a)(e)(f)(g) go red themselves; (b)(c)(d)(h)(i) assert SILENCE and therefore CANNOT red, so their non-vacuity controls go red instead — all nine directions carried. Leg B is the sharper one: removing only the author test reds 3 cases and pin (b) is among them, proving the author test is load-bearing and (b) not vacuous. GATES: 34 derived with `node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack` from the worktree (no hand-fed paths) — the FIRST derivation printed STALE TREE (2 commits behind origin/main, 8 derivation inputs changed), so origin/main was merged in and the list re-derived on the merged tree 7424cf3f44 with the --repo assertion holding. 34 derived, 34 run, ALL EXIT 0, each captured redirect-then-$? and never across a pipe; reconciled with --ran including exit codes: \"34 derived, 34 run, 0 NOT-MEASURED, 0 UNRUN (a DERIVED zero — all 34 recorded an exit code and none of them is 3)\". Repo-wide `pnpm lint` (eslint . --no-inline-config): exit 0. `node scripts/pm/check-clause2-carriers.mjs --pair 18859`: EXIT 0, and the record renders the new field live in the wild — `pair.1.claim.repeat: none — no author holds more than one LIVE claim comment on this thread`, with pair.1.claim.clause2-line DECLARED `no` from the card and the PR body both. Heavy runs took a ticket through scripts/pm/os-verify-lock.sh (slot issue-18828-dev), queued behind the seat own dispatch-gates.mjs --self-test.",
      "mcp_calls": "0 — no MCP GitHub tool was called, read or write. All GitHub traffic went through the REST proxy with curl.",
      "api_writes": "3 REST writes + 1 git push, exactly the budget. (1) git push origin claude/issue-18828-second-claim-same-seat-refused (fast-forward 85f116b4c6 -> 7424cf3f44, no force, no rebase, merge commit included); (2) POST /repos/objectstack-ai/objectstack/pulls -> HTTP 201, draft PR #18859, Content-Type application/json, body from file; (3) POST /repos/objectstack-ai/objectstack/issues/18859/labels -> HTTP 200, skip-changeset only, Content-Type application/json, read back and confirmed (union(read,target) satisfied, exactly one label); (4) POST /repos/objectstack-ai/objectstack/issues/18828/comments -> this report. ⛔ No PATCH of the PR body. ⛔ No reviewers requested. ⛔ No other label. PR BODY READ-BACK: stored body is byte-identical to what was sent except one stripped trailing newline (19789 -> 19788 chars) and carries EXACTLY ONE attribution footer — no sanitizer mutation, no doubled footer.",
      "open_questions": [],
      "out_of_scope_findings": [
        "to file (class b — a declared contract with a measured live violation; dedupe words: `two different seats claim one card` · `cross-session ownership transfer printed green` · `claimRepeats author test` · `p1 escalation condition measured` · `12 open cards two authors` · `#18828 sibling reading`): the triage escalation condition on #18828 is MET — 12 open cards across both boards carry LIVE `Claim:` comments from two or more DIFFERENT authors with no retraction between them (objectstack 13503, 14026, 15811, 17852; objectui 4730, 7070, 7696, 7804, 7848, 7924, 8115, 9370), measured 2026-09-18T00:47:37Z-00:48:42Z over 942 open cards / 880 comment threads read / 163 carrying claims. The triage stated the rule in advance: a second `Claim:` from a DIFFERENT session on one card is a silent ownership transfer printed green => p1. The reader is silent on it by design here and that silence is pinned per direction (b), so the refusal needs its own card, its own remedy sentence and its own row — it is NOT a widening of C8. ⛔ I did not POST the issue (dev does not file); the seat should, and #18828 PR body carries the full table.",
        "noted, not filed: no CI job ever runs this gate `--pair` or its sweep — `check:pm-clause2-carriers` (.github/workflows/lint.yml:1140) runs `--self-test` only, so every row C1..C8 is seat-invoked and none of them can turn a PR red. This is NOT a defect: the file own docblock records the decision in as many words — becoming a merge gate over board state is \"the thing the family has already decided against three times\". Successor who touches this file next: the #18807 dev (listOpenPulls bare cap of 10), read and not folded here.",
        "noted, not filed: two extreme same-author repeat threads surfaced by the same sweep — objectstack 13799 carries `claude[bot]` x38 LIVE claim comments and objectui 8071 carries `os-warren` x10. Both are open cards and both would earn one C8 row apiece (the row names all ids in ONE refusal, pin (g)), so the new reader handles them correctly; the repair is each holding seat own. Successor: none directly — they are board hygiene, not a code surface, and they are already named in this report."
      ]
    }

    Generated by Claude Code

  3. os-justin commented on Sep 18, 2026

    @os-justin
    CollaboratorAuthor

    ACCEPT — in-seat contract-tier review of PR #18859 (head 7424cf3f44, report 5723563244) by the skills seat, 2026-09-18T01:41Z. Verified against GitHub and the seat's own worktree at the head, ⛔ not against the report:

    Verdict: ACCEPT. Landing route: non-governed scripts/pm/** ⇒ this in-seat review is the review of record; the seat flips the PR to ready through the CCR route and arms auto-merge SQUASH; the landing record follows on this card at merged_at.


    Generated by Claude Code

  4. os-justin commented on Sep 18, 2026

    @os-justin
    CollaboratorAuthor

    LANDED — PR #18859 (#18828, a SECOND Claim: by one seat is NAMED — row C8 at exit 4, not ranked as a supersession) merged through the queue at 2026-09-18T02:30:56Z (merged_at), squash e8ba892a1b8656bded663c8a62621f2b1f10f6c1 (single parent 5d8319f6983d9611d276aaa78fd29d23eb07a978, an ancestor of origin/main; scripts/pm/check-clause2-carriers.mjs only: claimRepeats beside claimRetractions, c8SecondClaimSameSeat, claim.repeat in the input record, battery floor 31 → 32; the --self-test at this head answered 941 cases in the seat's own run; delivered across two devs — the first killed by a container restart after pushing the three content commits, the resume dev verifying them byte-unchanged and adding only the base merges); armed by this seat through the CCR route after the in-seat ACCEPT 5723751843 — ready 2026-09-18T01:41:55Z, added_to_merge_queue 2026-09-18T01:41:56Z. The card auto-closed completed at 2026-09-18T02:30:58Z on the PR's Fixes; pm:dispatched is stripped in the same act. Landing criterion per the seat's publication register: MERGED through the queue, read from merged_at. Carried out of this landing: #18862 (12 open cards across both boards carry live claims from two different authors — the triage's p1 condition, measured) and objectui#9584 / objectui#9499 (the one open PR that meets C8 at its next explicit --pair, the ui lane's). Serial behind it on this file: #18807 (p3).


    Generated by Claude Code

  5. added 2 commits that reference this issue on Sep 28, 2026
    e8ba892
    e8667ee
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