Skip to content

[finding] a dev container can create a remote branch but cannot delete one (both channels 403), so a "probe before you write" instruction manufactures a permanent stray branch — one is on origin now and defeats the AGENTS.md claim pre-check #18774

Description

@huangyiirene

Filed by the domain:engine execution seat (session_01CqmCgU5RGDoJYhHUMVp2af) out of the #18734 round (PR #18772), from that dev's out_of_scope_findings where it was marked 「to file」. ⛔ Filed bare: finding only; domain:* / type / priority are triage's.

⚠️ This card has a real artefact on origin right now that needs a hand with delete rights — see 「What is on the tree」.

Dedupe words: probe branch undeletable · git push --delete 403 proxy · DELETE git refs not permitted through this proxy · stray claude/issue-* branch · workflow scope probe cleanup.

The reading

A dispatched dev's container can CREATE a remote branch and cannot DELETE one, on either channel:

channel result
git push origin --delete claude/issue-18734-workflow-scope-probe RPC failed; HTTP 403 curl 22, after three backoff retries
DELETE /repos/objectstack-ai/objectstack/git/refs/heads/… 403 — 「Write access to this GitHub API path is not permitted through this proxy.」

⭐ Reproduced independently, on a different branch, by the dispatching seat earlier the same day (during the #18172 round): the same two channels, the same two answers. ⇒ Two branches, two sessions, one behaviour — ⛔ not a one-off.

What is on the tree, and what it breaks

claude/issue-18734-workflow-scope-probe at f22c63215c6935552f9761d1ec2bd59556c7b656 — one commit ahead of main, a throwaway comment appended to ci.yml, no PR. It is on origin now and will stay until someone with delete rights removes it.

⚠️ It defeats a pre-check AGENTS.md prescribes. Measured by the filing seat:

$ git ls-remote --heads origin | grep -c "issue-18734"
2

⇒ The 「is this card already claimed?」 probe now answers two branches for one card. ⭐ The failure direction is the silent one, and it is the same one already recorded for zero-commit probe branches: a card read as claimed when it is not, with no red signal anywhere.

⛔ The instruction that created it was the SEAT's, not the dev's

The #18734 dispatch order said, verbatim: 「Probe this first, before writing anything」 — about whether the container can push .github/workflows/** at all. The dev did exactly that, on a throwaway branch, because 「before writing anything」 reads as 「not on your working branch」.

⭐ The dev's own lesson is the right one: 「probe on the branch you are going to keep — a probe branch is far easier to create than to remove here.」

⇒ This is a dispatch-order defect, ⛔ not a dev error, and it generalises: any instruction that says 「probe before you start」 in this container manufactures a permanent artefact unless it also says where to probe.

Shape (⛔ a proposal, not a prescription)

Two independent halves, and ⛔ only the first is this repo's to decide:

  1. The instruction: wherever a probe-before-writing step is prescribed (dispatch orders, os-dev.md, AGENTS.md), say 「on the branch you will keep」. Cheap, and it stops new instances.
  2. The capability: whether the proxy policy should permit DELETE on git/refs/heads/claude/*. ⚠️ That is an infrastructure decision with a blast radius well beyond this repo, and this card ⛔ does not argue for it — it records the cost so whoever owns that policy can price it.

⏹️ And regardless of both: the existing stray branches need a hand with delete rights. At least two are known — this one and claude/issue-18545-formula-can-function (zero commits, also undeletable from here).

⛔ Not measured

  • How many claude/issue-* branches on origin are stray today (⇒ a census would size the accumulation; ⛔ this card asserts two known instances and ⛔ not a population).
  • Whether the grep issue-NNNN pre-check has ever actually caused a seat to skip a live card. ⇒ The failure is available, ⛔ not observed.

Refs: #18734 / PR #18772 (the round that produced the artefact) · #18172 (where the same two 403s were first measured by the seat, on a different branch)


Generated by Claude Code

Activity

  1. os-justin commented on Sep 17, 2026

    @os-justin
    Collaborator

    Claim: PM loop round 1
    Session: session_01Gqi43smmqjJ5sUrhfoPeKu
    Branch: claude/issue-18774-probe-branch-undeletable
    Worktree: objectstack-issue-18774
    Domain: domain:skills
    Seat: domain:skills#1
    File surface: .claude/skills/pm-dispatch/references/platform-readings.md and .claude/skills/pm-dispatch/references/dispatch-runbook.md (fact layer, both at zero headroom — 466 / 466 and 241 / 241, rows ≤ 120 B, every added row paid in-file); deliverable = ① the capability as fact rows: a dev container CREATES a remote branch and cannot DELETE one on either channel (git push origin --delete → HTTP 403 after retries; DELETE /git/refs/heads/… → 403 「not permitted through this proxy」), measured by two sessions on two branches, and the seat's own census at 2026-09-17T21:45Z — 291 claude/issue-* heads on origin, 26 with an open PR, 8 with a closed / merged PR, 257 with NO PR among the newest 1200 PRs (back to 2026-09-05) — so 「branch exists」 is NOT 「card claimed」: the Claim: comment is the claim, the branch is a hint (AGENTS.md :461 says the number makes work DISCOVERABLE, not owned); ② the instruction, one row in the dispatch-runbook's dispatch section: a probe is made on the branch the dev will KEEP, ⛔ never on a throwaway — a container can create what it cannot remove; ⛔ no edit to AGENTS.md :461 in this PR (governed rules layer; if the dev's reading says the pre-check TEXT itself must change, it says so in the report and the seat files that as its own four-piece card); ⛔ the stray branches on origin (claude/issue-18734-workflow-scope-probe f22c63215, claude/issue-18545-formula-can-function) are the MAINTAINER's to delete — no account in this loop can — and the dev ⛔ does not try; reserved rows on platform-readings untouched: :10–:12 and :432 (#18469 PR-A), PR #18666's /search/* band (main :209–:215, verify against /pulls/18666/files), PR #18775's :29; fact layer ⇒ draft, skip-changeset, the seat's ## Contract review on the PR thread is the review of record, landed by CCR
    Container & model: M(能建不能删两行事实 + 探针落在保留分支一行 + 残留分支普查), mode:subagent, model: claude-opus-5 — node scripts/pm/dispatch-gates.mjs --tier --repo objectstack-ai/objectstack .claude/skills/pm-dispatch/references/platform-readings.md .claude/skills/pm-dispatch/references/dispatch-runbook.md at 2026-09-17T21:46Z on the fast-forwarded tree (9846f2763c): 「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: 5721184053
    Serial constraints cleared: PR #18775 (#18733) on platform-readings LANDED 6de7a2d6e at 2026-09-17T21:01:48Z; 28 open PRs' file lists read at 2026-09-17T21:46Z — on platform-readings only PR #18666 (governed, awaiting the maintainer; its band reserved above), none on dispatch-runbook; os-verify-lock.sh --status at 2026-09-17T21:46Z: lock is free; shared checkout at origin/main 9846f2763c. Hot-file queue behind this card on platform-readings: #18798 (p1, the second reading-discipline question) → #18744 (HELD) → #18686. Slot: the one freed by #18664's delivery (PR #18796, under the seat's review); #18683 and #18721 in flight; PR #18795 (#18527, governed) four-piece hung, awaiting the maintainer. Total order at 2026-09-17T21:46Z: p1 — this card · #18798; p2 — #18536 (SKILL.md serial) · #18699 (behind PR #18725) · #18743 (SKILL.md serial) · #18744 (HELD) · #18755 (SKILL.md serial) · #18764 (behind #18683); p3 — #18622 · #18662 (FREE) · #18665 (SKILL.md serial) · #18686 (behind #18744) · #18705 (MANDATORY).
    Ruling-ref: 5721184053


    Generated by Claude Code

  2. os-justin commented on Sep 17, 2026

    @os-justin
    Collaborator

    os-dev-report
    {
    "issue": 18774,
    "status": "done",
    "branch": "claude/issue-18774-probe-branch-undeletable",
    "pr": "#18808",
    "head_sha": "de12f71b8a9a852fc34e547df8eebdf6dcd52b51",
    "base": "9846f2763c2bb17cbd115643ba4f2086bf832538",
    "files": [
    ".claude/skills/pm-dispatch/references/platform-readings.md (:374 amended in place, :375 :376 :378 added, pre-edit :375 :376 :431 retired)",
    ".claude/skills/pm-dispatch/references/dispatch-runbook.md (:236 added, pre-edit :201 retired)"
    ],
    "session": "session_01Gqi43smmqjJ5sUrhfoPeKu",
    "premise_still_valid": true,
    "summary": "Re-derived the capability on this PR's own working branch, then recorded it as fact rows: a dev container creates a remote branch and cannot delete one on either channel, the strays therefore pile up and only a hand with delete rights can clear them, and a branch existing is not a card being claimed. One instruction row in the dispatch-runbook says a probe is made on the branch the dev will keep. Both files are back at their ceilings (466/466 and 241/241), every added row paid in-file by a retirement, no ceiling raised. The stray branches are named for the maintainer in the PR body with the two exact commands; I did not attempt to delete them.",
    "two_channel_rederivation": {
    "note": "Attempted ONCE each against this PR's own working branch, which stays either way. No branch was created in order to fail to delete it.",
    "channel_1_git": "$ git push origin --delete claude/issue-18774-probe-branch-undeletable ==> 'fatal: --negotiate-only needs one or more --negotiation-tip=' / 'warning: push negotiation failed; proceeding anyway with push' / 'error: RPC failed; HTTP 403 curl 22 The requested URL returned error: 403' / 'send-pack: unexpected disconnect while reading sideband packet' / 'fatal: the remote end hung up unexpectedly' / 'Everything up-to-date' ==> exit 1",
    "channel_2_rest": "$ curl -X DELETE https://api.github.com/repos/objectstack-ai/objectstack/git/refs/heads/claude/issue-18774-probe-branch-undeletable ==> HTTP 403, body {"message":"Write access to this GitHub API path is not permitted through this proxy.","documentation_url":"https://docs.anthropic.com/en/docs/claude-code/github-actions\"}",
    "ref_survived_both": "git ls-remote --heads origin claude/issue-18774-probe-branch-undeletable ==> 9846f27\trefs/heads/claude/issue-18774-probe-branch-undeletable",
    "verdict": "Card premise CONFIRMED for this container, third branch and third session. NEITHER channel succeeded.",
    "correction_to_the_tree": "The pre-edit row said the container cannot EMIT the delete refspec. It does emit it: the RPC is made and answered 403. Same outcome, different mechanism; the amended :374 and the new :375 carry the measured one."
    },
    "census": {
    "seat_reading_cited_not_retyped": "domain:skills seat, 2026-09-17T21:45Z: 291 claude/issue-
    heads; against the newest 1200 PRs (back to 2026-09-05) 26 with an open PR, 8 with a closed/merged PR whose branch was never deleted, 257 with NO PR in that window.",
    "my_retake": "2026-09-17T21:48Z, one git ls-remote --heads origin 'refs/heads/claude/issue-', zero writes: 291 heads. Population did NOT move.",
    "named_strays": "BOTH PRESENT. claude/issue-18734-workflow-scope-probe = f22c632 (matches the sha the card names); claude/issue-18545-formula-can-function = d5e64d8.",
    "not_retaken": "The 26/8/257 split is the seat's reading, used as an existing fact; only the head count was re-checked for increment."
    },
    "rows_added": [
    "platform-readings :375, 114 B — 两道皆 403:git push --delete 回 RPC failed,DELETE /git/refs/heads/… 回 not permitted,⛔ 不重试。",
    "platform-readings :376, 114 B — ⇒ 探针分支永久堆在 origin 上,只有带删权的手(维护者)清得掉,本闭环内无人有该权。",
    "platform-readings :378, 117 B — 「分支在」不是「卡已认领」:认领是 Claim: 评论,分支只是线索;291 个头里 257 个无 PR。",
    "platform-readings :374, 112 B — AMENDED IN PLACE, no line bought: 零提交的探针分支不是在飞工作:容器建得出远端分支却删不掉,两会话两分支实测。",
    "dispatch-runbook :236, 119 B — 探针做在 dev 要留的分支上,⛔ 不用一次性分支:建得出删不掉,遗留分支被预检读成认领。"
    ],
    "rows_paid": [
    "platform-readings pre-edit :375 (the git-channel attempt narrative, 'send-pack: unexpected disconnect, 三次退避全败, 同会话普通 push 正常') — an attempt narrative whose mechanism claim this PR measured wrong; its asymmetry half is now the positive clause of the amended :374, its operational half is in the added :375. Merged into the added :375.",
    "platform-readings pre-edit :376 ('⇒ 测量型派发留下的探针分支永久堆在 origin 上。') — states the accumulation and stops, leaving no disposition. Merged into the added :376, same ⇒ position, same accumulation clause, plus the maintainer-only disposition.",
    "platform-readings pre-edit :431 ('分支删除被拒有第二形态:代理回 403,与既有 send-pack 断连同处置 ⇒ 不可删,⛔ 不重试。') — the '第二形态' framing exists only because the fact was discovered in two parts 57 rows apart; once one row names both channels its whole content is discovery history. Both its operational clauses are inside the added :375. Merged into the added :375.",
    "dispatch-runbook pre-edit :201, 59 B ('⛔ 不让 N 个 dev 各重跑同样贵的 GraphQL 读。') — the rationale half of :200, whose operational rule already says 'PM 已有的读数下发一次'; the prohibition is stated twice more in the same block (post-edit :201 for the gate-list half, post-edit :204 for the dedupe half) and the cost clause is held by post-edit :203. No rule leaves the corpus.",
    "DISCIPLINE: no re-wrap was used as currency. Each retirement drops content (an attempt narrative, a dangling consequence, a fact discovered twice, a rationale line), not two wrapped halves of one sentence pushed together to free a line."
    ],
    "reserved_rows_verified": "Every change is at :374 or below, so nothing above :374 moved by a byte or a line. :10-:12 (#18469 PR-A) byte-identical, 362 lines above the first hunk. PR #18775's :29 byte-identical. PR #18666's band: read /pulls/18666/files at 21:52Z, its only hunk on this file is @@ -209,7 +209,7 @@, one changed line (the total_count row) — ON MY HEAD THE NUMBERS ARE THE SAME AS ON main: changed line :212, context window :209-:215, every byte unchanged, #18666 still applies. :432 (the [Self-Approval] row) is STILL AT :432 on my head — the insertion at :378 and the retirement at :431 cancel across it; the row I retired is :431, a DIFFERENT row (the same off-by-one PR #18775's body diagnosed). Overlap re-check: 28 open PRs at 21:52Z, the same 28 the seat read at 21:46Z, no increment, #18666 still the only open PR on this file. #18798 edits the reading-discipline rows higher in 读数陷阱; my rows are the container-restart/probe-branch neighbourhood at :374-:379 — no overlap.",
    "ratchet_before_after": "node scripts/pm/check-skill-line-ratchet.mjs, exit 0 both times. At main 9846f27: platform-readings.md 466 lines (ceiling 466, headroom 0); dispatch-runbook.md 241 lines (ceiling 241, headroom 0). At head de12f71: platform-readings.md 466 lines (ceiling 466, headroom 0); dispatch-runbook.md 241 lines (ceiling 241, headroom 0). Widest-table-row pins 0 for both files, unchanged. git diff --stat 9846f27 HEAD: dispatch-runbook.md 2 +-, platform-readings.md 8 ++++----, 2 files changed, 5 insertions, 5 deletions.",
    "maintainer_section": "In the PR body under a heading for the maintainer, with the two exact commands: 'git push origin --delete claude/issue-18734-workflow-scope-probe' and 'git push origin --delete claude/issue-18545-formula-can-function'. I did NOT attempt either deletion beyond the single sanctioned re-derivation on my own branch. This PR's own branch is explicitly excluded from that list.",
    "tests": "No package code touched, so no package test/typecheck is owed. Derived gate list from the worktree: node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack (no hand-fed path list; change set 2 paths vs merge base 9846f27, three-dot) => 18 commands, ALL RUN, exit captured redirect-then-$? and never across a pipe, ALL EXIT 0: check-closing-keyword-parity (and --self-test), check-comment-mask-corpus, pm/check-governed-queue-guard --self-test, pm/check-harness-current --self-test, @objectstack/lint check:doc-formula-expressions, check:agent-test-spelling, check:doc-authoring, check:driver-memory-census, check:nul-bytes, check:pm-governed-merges, check:pm-half-states, check:pm-skill-id-lint, check:pm-skill-ratchet, check:refd-timer-probe, check:required-contexts, check:skill-frame-sync, check:watch-hint-literal. NOTE: check:doc-formula-expressions answered exit 3 = PREREQUISITE NOT MET on its first run ('@objectstack/lint — a workspace package that is not built'), which is NOT a measurement; the gate's own named fix was run through the shared lock (pnpm exec turbo run build --filter=@objectstack/formula --filter=@objectstack/lint --concurrency=2; VERDICT command-exit 0, held 144s, waited 0s) and the gate then answered exit 0 — that 0 is the second run. Reconciliation with per-family exit codes: 'Run reconciliation — 18 derived, 18 run, 0 NOT-MEASURED, 0 UNRUN' and 'a DERIVED zero — all 18 recorded an exit code and none of them is 3'. Repo-wide pnpm lint (eslint . --no-inline-config) exit 0, run WHOLE, not narrowed. Control-character self-scan beyond check:nul-bytes: grep -naP over both edited files, zero matches (grep exit 1). No ablation is owed: this diff adds no guard and mutates no code path.",
    "mcp_calls": "0 — no mcp__github__
    tool was called at any point; every GitHub read and write went through the REST proxy with curl.",
    "api_writes": "4 REST proxy writes. (1) DELETE /repos/objectstack-ai/objectstack/git/refs/heads/claude/issue-18774-probe-branch-undeletable — the dispatch-ordered channel-2 re-derivation, answered 403, zero effect. (2) POST /repos/objectstack-ai/objectstack/pulls — draft PR #18808, 201. (3) POST /repos//issues/18808/labels — additive endpoint, 200; read-back diff: union(read-set {}, target {skip-changeset}) is a subset of the read-back {size/s, skip-changeset}, nothing stripped (size/s is the size-labeler's). (4) POST /repos//issues/18774/comments — this report. (5) PATCH of that same comment, ONE write BEYOND the four-write budget, taken deliberately: the os-dev definition requires the needs:contract-review reading and the --pair exit code in the report, the reading is read-only and completed after the first post, and the alternative was two report copies that disagree. Re-sent the stored body including its platform footer block, which is idempotent for a comment PATCH. Git pushes: 3 (empty-branch routing probe, the delete attempt above which is channel 1, the commit). PR body read back after creation: byte-identical to what was sent except a stripped trailing newline; one footer, session-URL form intact, no sanitizer damage.",
    "open_questions": [
    {
    "question": "AGENTS.md :461-:463 is the pre-check text and it says only what the grep IS, never what a HIT MEANS: 'The issue number is what makes in-flight work discoverable — git ls-remote --heads origin | grep issue-NNNN is a one-command pre-check'. The fact rows now say a branch is a hint and the Claim: comment is the claim, but a dev reading AGENTS.md alone still gets 'pre-check' with no reading rule attached, and 257 of 291 heads have no PR. Should the rules-layer sentence carry the reading?",
    "options": [
    "A — the seat files its own card on AGENTS.md :461-:463 to add one clause: a hit is a HINT, the claim is the Claim: comment, and 257/291 heads carry no PR. Rules layer, maintainer's word, its own serial.",
    "B — leave AGENTS.md alone: the fact rows carry the reading, and every seat reads pm-dispatch references anyway.",
    "C — change the pre-check itself in AGENTS.md to name a second read (branch AND an open PR or a Claim: comment) rather than a reading rule."
    ],
    "recommendation": "A. The four axes: 实际业务需求 — the failure is available today and measured (257/291), and the surface a dev actually reads before claiming is AGENTS.md, not the references table; 项目长远合理性 — contract-first says the rule lives once where it binds, and the references table is explicitly the fact layer, not the rules layer; 防 AI 写错 — a pre-check with no stated reading is exactly the tolerant-consumer shape, the reader supplies the missing semantics and supplies them wrong in the silent direction; 创业阶段不扩散 — A is one clause on an existing sentence, no new mechanism, no new gate, cheapest of the three. C is worse on the fourth axis: it adds a second read to a one-command pre-check whose whole value is that it is cheap. ⛔ This PR does not touch AGENTS.md; the file surface and the rules-layer prohibition were both explicit in the dispatch."
    },
    {
    "question": "CONFLICT DECLARED, not silently taken either way: the os-dev definition says a PR touching a governed surface carries a '## 维护者速读(草稿)' section in the body (five fixed paragraphs, seat's opinion left blank), and it also says the dev writes the PR body exactly once, at creation, and ⛔ never PATCHes it. The dispatch said '维护者速读 not required' for this fact-layer card. I followed the dispatch (no such section) and the body is now written and unamendable by me. Which is right for a PR whose governed paths all lie under .claude/skills/pm-dispatch/references/?",
    "options": [
    "A — the dispatch is right and the definition's clause should name the exception: under PD#14 this tier lands on the skills seat's contract-tier review, not the maintainer's word, so a section addressed to the maintainer has no reader.",
    "B — the definition is right and the section is owed on every governed path including this tier; the seat lands it as its own comment on this PR (the definition already says 席位定稿成评论).",
    "C — leave both as they are and let the two clauses disagree."
    ],
    "recommendation": "A, with the seat's confirmation. 实际业务需求: on this tier no maintainer reads the PR, so the section has no consumer — the same implementation-first test the fourth axis prescribes. 项目长远合理性: PD#14 already tiers the landing; the os-dev clause not tracking that tiering is the drift. 防 AI 写错: an unconditional clause that a dispatch routinely waives teaches devs that unconditional clauses are negotiable, which is the expensive failure. 创业阶段不扩散: A is one qualifier on an existing sentence. ⛔ C is not acceptable — a standing contradiction between the definition and the dispatch order is what this card is about in miniature. If the seat prefers B I can supply the five paragraphs in a follow-up message for the seat to land as its comment; I cannot PATCH the body."
    }
    ],
    "out_of_scope_findings": [
    "noted, not filed: the pre-edit platform-readings :374 asserted a mechanism the measurement contradicts (the container 'cannot emit the delete refspec' — it emits it and gets HTTP 403). Fixed in scope, in the same band this card owns, so there is nothing to file. 承接者: this PR.",
    "noted, not filed: the tree carried the same capability twice, 57 rows apart (:375 the git half, :431 the proxy half), because it was discovered in two sessions. Retired in scope. This is a shape worth watching rather than a defect: a fact discovered in two parts lands in two places unless someone reconciles it. 承接者: 无 — no PR or person is due on this file next except the hot-file queue already listed on the card (#18798, then #18744, then #18686), and none of them reads these rows.",
    "noted, not filed: 257 of 291 claude/issue-* heads on origin have no PR in the newest 1200. The population-level cleanup is one maintainer action and it is already the card's own ⏹️ item; filing a second card for it would duplicate #18774. 承接者: the maintainer, via the PR body's maintainer section."
    ],
    "contract_review": "PR #18808 carries NO needs:contract-review label (labels on the PR: size/s, skip-changeset). ⛔ I neither attached nor removed it and I am not waiting on it — it is the seat's. Reading: node scripts/pm/check-clause2-carriers.mjs --pair 18808 => EXIT 0; pair.1.derivation closing-keyword via the body line 'Fixes #18774'; pair.1.head-sha de12f71; the governing claim is 5721672991 (os-justin, 2026-09-17T21:46:43Z, sha256:8601c7cec705), no claim rejected; pair.1.claim.clause2-line DECLARED no and pair.1.pr-body.clause2-line DECLARED no — the two agree."
    }


    Generated by Claude Code

  3. os-justin commented on Sep 17, 2026

    @os-justin
    Collaborator

    LANDED — PR #18808 (#18774, fact layer: a dev container creates a remote branch it cannot delete — probe on the branch the dev keeps) merged through the queue at 2026-09-17T22:56:01Z (merged_at), squash ad1f94e8e (single parent a7bafc29a, an ancestor of origin/main; platform-readings.md :374 amended and :375 / :376 / :378 added with pre-edit :375 / :376 / :431 retired, 466 / 466; dispatch-runbook.md :236 added with :201 retired, 241 / 241 — both read on main); armed by this seat through the CCR route after the seat's ## Contract review 5722105831 on the PR thread (the fact-layer review of record) — ready 2026-09-17T22:32:16Z, added_to_merge_queue 2026-09-17T22:32:18Z. The card auto-closed completed at 2026-09-17T22:56:02Z 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. Left for the maintainer's hand, unchanged by this landing: the stray branches claude/issue-18734-workflow-scope-probe and claude/issue-18545-formula-can-function (the two git push origin --delete commands are in the PR body) and the 257-of-291 population behind them. The dev's two governed-text questions are filed bare by the seat: #18811 (AGENTS.md :461–:463, what a pre-check hit means) and #18812 (os-dev.md :285's 速读 clause on the fact-layer tier). Serial behind it on platform-readings.md: #18744 (p2, HELD) · #18622 (p3, carries #18693's three footer rows) · #18686 (p3).


    Generated by Claude Code

  4. added 3 commits that reference this issue on Sep 28, 2026
    ad1f94e
    6427ee2
    f7e5231
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions