Skip to content

docs(agents): a force-push is governed by the landing repo's AGENTS.md (objectui#9666) - #10958

Merged
os-zhuang merged 1 commit into
mainfrom
claude/issue-9666-force-push-landing-repo
Sep 28, 2026
Merged

os-zhuang merged 1 commit into
mainfrom
claude/issue-9666-force-push-landing-repo

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Fixes #9666

Clause-②: no — AGENTS.md is an agent-facing convention, not a published contract, accept set or public surface

What this does

Implements ruling C on objectui#9666 (maintainer, 2026-09-18, Ruling-ref comment 5724939229): neither force-push text changes, and objectui's root AGENTS.md gains one sentence saying that a force-push is governed by the AGENTS.md of the repository the branch lives in. The sentence is appended to the existing absolute ban bullet (the one opening with 「绝不 git push --force/--force-with-lease,绝不推 main」) in 「多 agent 协作纪律」, in that section's Chinese voice:

force-push 归分支所在的那个仓(landing repo)的 AGENTS.md 管(objectui#9666,维护者裁决 C,评论 5724939229):objectui(即本条)与 cloud 一律绝对禁止,../objectstack 在它以 Never force-push a *shared* branch 开头那条的五项条件全部成立时允许 --force-with-lease —— 这三仓读数取自裁决当日,本仓没有任何东西复核它(诫条 #9),所以跨仓工作的席位在给 dev 下指令之前,先读落地仓自己那条的原文。

One file, one line changed (AGENTS.md, +1/-1 as git counts it: the sentence is appended to an existing single-line bullet). No other edit.

Placement — stated because the ruling names a section this file does not have

The ruling places the sentence in objectui AGENTS.md's 「cross-repo section」. No heading in the file is a cross-repo section (the headings were enumerated on the branch base); the only heading naming a sibling is 「服务纪律(本仓库与 ../objectstack 多 agent 并行开发)」, which is about dev servers. The sentence therefore sits beside the absolute ban it qualifies, at the end of that bullet, inside the multi-agent section that already carries the other cross-repo rules (the verify lock living in ../objectstack, the model-free trailer pair shared with ../objectstack).

How the sentence obeys this file's own commandments

  • [WIP] Update documentation for project #11 (cite by content): objectstack's rule is cited by its opening words Never force-push a *shared* branch, not by a line address; pnpm check:new-line-citations reports 0 added citations.
  • 完善设计器的每一个细节 #9 (a verified claim points at its instrument): the three-repo reading (objectui and cloud forbid, objectstack allows under five criteria) is re-derived by nothing in this repository, and the sentence says so in its own text, then sends the seat to the landing repo's original — which is the ruling's own instruction.
  • The English term landing repo is kept in parentheses so the premise query that found zero before this change (git grep -n -iE "landing repo|the branch lives in" -- AGENTS.md) now finds the sentence.

Premise, re-measured on the branch base 06a96e9480

  • git grep -n -iE "landing repo|the branch lives in" 06a96e9480 -- AGENTS.md ⇒ 0 hits (exit 1); control git grep -n -e "--force-with-lease" on the same tree ⇒ 1 hit (the ban bullet). After this commit the first query answers 1.
  • objectstack origin/main (7dc45eb9): the Multi-agent working discipline rule opening 「Never force-push a shared branch」 still states the five criteria ① claude/issue-* name ② this worktree created it ③ nobody else pushed ④ no reviewer/approval on its PR ⑤ explicit --force-with-lease=BRANCH:SHA — matches the sentence.
  • The objectstack half of the ruling is already on objectstack main: .claude/agents/os-dev.md carries 「force-push 按落地仓 AGENTS.md:objectui/cloud 绝对禁;objectstack §3 五条全立才 --force-with-lease」.
  • The card's first half (the trailer vector) landed with objectui#9441 (PR objectui#10922, af2221d4). This PR is the remaining half, and with it the card is complete.

Verification — all on HEAD 94e5b21280

gate verdict
the five tests the ledger in scripts/markdown-test-inputs.mjs records as AGENTS.md readers (check-doc-links, check-installed-spec-pin-claims, check-required-check-set, check-shell-escape-residue, dollar-dialect-alias-census), pnpm exec vitest run --maxWorkers=2 … under the shared verify lock Test Files 5 passed (5), Tests 260 passed (260), VERDICT command-exit 0
pnpm check:control-bytes exit 0 — OK (scanned 9234 tracked text file(s); skipped 85 binary)
pnpm check:new-line-citations exit 0 — VERDICT new-cross-file-line-citations: 0 new citation(s) (merge base 06a96e9480, 1 file compared)
node scripts/check-doc-links.mjs exit 0 — Links are valid across 17 scan roots.
pnpm check:shell-escape-residue exit 0 — OK, AGENTS.md: 1 file(s), 15 fence(s) among the roots
pnpm check:installed-pin-claims exit 0 — OK
pnpm check:required-check-set (self-test) exit 0 — 32 cases pass
node scripts/check-changeset-presence.mjs exit 0 — no changeset owed (1 file changed, 0 published source)
node scripts/check-governed-queue-guard.mjs --test AGENTS.md exit 3 — GOVERNED — 1 of 1 path(s) (expected)

Not run locally, CI-owned: pnpm lint and the full pnpm test farm.

Acceptance notes

  • cloud's text is NOT MEASURED by this PR. objectstack-ai/cloud is not reachable from this session (REST answers 403, repository access not enabled). The sentence's 「cloud 一律绝对禁止」 carries the ruling's own reading of cloud's AGENTS.md, and the sentence marks the whole three-repo reading as un-re-derived.
  • ⛔ Governed surface (AGENTS.md, Tier H): this PR stays DRAFT. It is not flipped ready, not enqueued and not armed for auto-merge by the implementing agent; landing waits for an APPROVED review by an authorized approver and is then done by the claiming seat.

维护者速读(草稿)

  • 改了什么:在 objectui 根 AGENTS.md「多 agent 协作纪律」里那条「绝不 force-push」的末尾加了一句话:force-push 归分支所在仓的 AGENTS.md 管 —— objectui 与 cloud 绝对禁止,objectstack 在五项条件全部成立时允许 --force-with-lease;跨仓工作的席位给 dev 下指令前,先读落地仓自己的那条。只改这一处。
  • 为什么改:执行您 9 月 18 日对本卡的裁决 C。此前 objectui 的 PM 席带着 objectstack 的放行规则,指示 dev 在 objectui 分支上改写并强推,全靠 dev 拒绝才没丢历史。这句话把「看哪个仓的规则」写在席位会读的地方。
  • 风险与代价(含回滚):纯文字,不影响任何代码、构建或发布。句中对三个仓的转述是裁决当天的读数,兄弟仓以后若改规则,这句转述会过时 —— 句子里已写明「以落地仓原文为准」。回滚就是 revert 这一个 commit。
  • 席位意见:
  • 你要做的:读一下新增的这一句,同意就在本 PR 上留一条 APPROVED review;之后由认领席负责入队落地。

Implemented in session https://claude.ai/code/session_01EBx9rvB7dufCz4at53x35U.


Generated by Claude Code

Implements ruling C on objectui#9666 (comment 5724939229): neither
force-push text changes; objectui's multi-agent section gains one
sentence, placed at the end of the absolute force-push ban, saying the
rule that governs a force-push is the AGENTS.md of the repository the
branch lives in -- objectui and cloud forbid it absolutely, objectstack
allows --force-with-lease under its five criteria -- and that a seat
working across repositories reads the landing repo's rule before
instructing a dev. The three-repo reading is marked as unre-derived
per commandment #9.

Claude-Session: https://claude.ai/code/session_01EBx9rvB7dufCz4at53x35U
Co-authored-by: Claude <noreply@anthropic.com>
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Sep 28, 2026
@github-actions

Copy link
Copy Markdown
Contributor

changeset-claim-re-read

⚠️ 6 pending changeset(s) describe a file this change touches

Their bodies publish verbatim into the CHANGELOG at the next release, so this is a request to re-read them against your diff — addressed here because you are the one seat that can answer it without re-deriving anything.

⛔ Nothing here blocks, and nothing here is a verdict on your change. This gate exits 0, is not a required context, and judges name resolution, never meaning: it asked whether a pending body names a file you touched. "Is this sentence still true?" is the one question it will not answer, and the one you are being asked to answer.

.changeset/10106-settled-schema-equal-payload.md

  • names AGENTS.md → AGENTS.md — edited by this change

    The hook refetches getObjectSchema whenever the adapter identity changes, and every consumer its doc comment instructs — ObjectGantt, ObjectCalendar, ObjectView, ObjectTimeline, ObjectGallery — keys its record fetch on the returned def, which is what AGENTS.md §5 commandment [WIP] Enhance every detail of the designer #10 tells a consumer to do (key on the payload, never on a memo identity). The producer half of that same sentence is what this fixes: a byte-identical answer arriving as a fresh object re-fired every one of those fetches, and the duplicate query carried the same $expand set as the one before it. Measured first-hand on ObjectGantt with an instrumented adapter, with a control swap in the same command; the counts, and the control that makes them a discrimination rather than a counting artefact, are asserted by packages/react/src/hooks/__tests__/useSettledSchema.equalPayload-10106.test.tsx (objectui#10106).

.changeset/5674-retire-plugin-component-input.md

  • names AGENTS.md → AGENTS.md — edited by this change

    Why now, and why a minor rather than waiting further. The deprecation window exists to warn a consumer outside this repository, unmeasurable from here, before a published export disappears. That window has already been spent — stage 1 shipped and the warning has been live. The follow-up card that was meant to gate stage 2 on "a release actually shipping the deprecation" was later closed as a duplicate into a release-batch tracking card that itself no longer exists (answers 404), so the gate had no carrier left to clear. Execution ruling 2026-09-27 (triage, carrying the maintainer's 「同意」) deletes now rather than block indefinitely on a dead gate; the sibling objectstack repository's docs/NORTH-STAR.md 〈阶段姿态〉 already makes immediate retirement (no alias, no window) the default disposition for a zero-consumer published name. Removing a published export is minor, not patch — this repo's own breaking changes never declare major (see AGENTS.md's version-alignment policy).

.changeset/6357-basechema-bind-declaration.md

  • names AGENTS.md → AGENTS.md — edited by this change

    bind was read by ten production sites and declared by no schema shape. It resolved as any through BaseSchema's index signature and rode .passthrough() on the validator, while three separate documents taught it as an authorable key of every node: this repo's own AGENTS.md §4 ("Every node in the UI tree follows this shape (@object-ui/types)"), the published agent-facing skills/objectui/rules/protocol.md ("Every UI component node MUST follow this shape"), and content/docs/fields/grid.mdx. So the agent-facing protocol told authors to write a key the published types did not know existed.

.changeset/6505-predicate-valued-gate-rules.md

  • names AGENTS.md → AGENTS.md — edited by this change

    The accept set widens to what the protocol already declares and the runtime already accepts, not beyond it. AGENTS.md §4 declares both keys as expressions, SchemaRenderer evaluates them through hasDeclaredPredicate + evaluateCondition, @objectstack/spec normalizes every authored predicate into a { dialect, source } envelope, and the objectui#3862 / objectui#3955 rulings are entirely about which expression spellings count as declared. This table was the one place in the repo that disagreed, so this restores declared = enforced rather than changing a contract.

.changeset/7122-spec-17-3-0-parity-reconciliation.md

  • names AGENTS.md → AGENTS.md — edited by this change

    Two breaking consequences for a consumer that names the type directly. (1) It no longer declares editMode; the key is now carried by the spec's ServiceObject, so ObjectSchemaMetadata still has it, but code written against the extension type ALONE loses it. (2) interface → type alias also ends declaration merging: a consumer that reopened declare module '@object-ui/types' { interface ObjectSchemaClientExtensions { … } } to add its own client-side member no longer compiles, because an alias cannot be reopened. minor rather than major per AGENTS.md's version-alignment rule — objectui's own breaking changes are graded minor with the semantics stated in the body, since any major in the fixed group would push all 39 packages off @objectstack's major.

.changeset/7714-lookup-draft-stays-client-side.md

  • names AGENTS.md → AGENTS.md — edited by this change

    minor rather than major per AGENTS.md: objectui's major tracks @objectstack's, so objectui's own breaking changes ship as minor with the breaking semantics stated.

Read the paragraph, not the line: both false halves of the objectui#8617 claim sat in one paragraph, and correcting either alone would have left it asserting the same wrong thing.

If a claim did go false, correct the body. That is precedented and prose-only, frontmatter untouched; check-changeset-overwrite.mjs will report the correction as its own case 2 ("correcting a declaration on purpose … legitimate"), which is the intended shape — one gate asks for the read, the other records the write.

Not covered, stated so nobody reads this as more: a born-false claim that spells no line address at all (objectui#9495 coordinated one by ORDINAL — "a grep finds that member first" — and deciding that means reading what the sentence means), a claim spelled as a symbol or a package rather than a backticked file name, and a file named ambiguously.

Compared the checked-out tree with 06a96e948 (merge-base with origin/main): 1 file(s) changed outside .changeset/, read against 1686 pending declaration(s) that publish a body (2286 pending in total). · run

@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

Contract review

Served-tier: CONTRACT_REVIEW_TIER
Head-sha: 94e5b21280bc89705834f28576eaa4b3bd0cecae
Local-runs: none

Reviewed against: card objectui#9666 (body and all five comments; ruling C is comment 5724939229), PR #10958's body and file list, the net diff of 94e5b21280 against main (06a96e9480 is both the PR base and the merge-base — the branch sits on the current main tip, so the net diff is the one commit), and the head's check-runs. Reads only: REST for the card, PR, files, diff and check-runs; git show / git grep on fetched refs in the two checkouts; nothing built, run or re-run.

① Derived judgments

Accept set / public surface: none changed — right. The diff is one file, AGENTS.md, +1/-1 as git counts it: 606 lines before and after, 92140 → 92632 bytes (+492). No source, type, schema, skill, doc-site or workflow file moves; nothing a consumer imports or a gate parses for accept-set semantics is touched. The PR publishes nothing.

The existing ban is left byte-identical — right. Byte comparison of AGENTS.md at base vs head: exactly one line differs (line 322, the absolute force-push ban bullet), and the head line begins with the base line byte-for-byte (1075 bytes retained, 492 appended, nothing removed or reordered). The appended text carries no angle-bracket fragment, no control byte, no NBSP / zero-width space / BOM. Control Byte Scan, Shell Escape Residue Scan and Line Citation Gate are green on the head.

The sentence against the ruling — substance exact, two in-voice annotations, judged right. Ruling C's sentence has four clauses and the appended sentence carries each one:

  1. governed by the AGENTS.md of the repository the branch lives in → 「force-push 归分支所在的那个仓(landing repo)的 AGENTS.md 管」
  2. objectui and cloud forbid it absolutely → 「objectui(即本条)与 cloud 一律绝对禁止」; 「即本条」 is accurate because the sentence sits inside objectui's ban bullet itself
  3. objectstack allows --force-with-lease under its five criteria → 「../objectstack 在它以 Never force-push a *shared* branch 开头那条的五项条件全部成立时允许 --force-with-lease」
  4. a seat working across repositories reads the landing repo's rule before instructing a dev → 「跨仓工作的席位在给 dev 下指令之前,先读落地仓自己那条的原文」

No clause of the ruling is missing, and no rule content beyond it is added: no hotcrm, no framework, no gate, no strength — the card said those were not asked and the ruling added none. What IS added beyond the ruling's words: (a) the provenance parenthetical 「(objectui#9666,维护者裁决 C,评论 5724939229)」, the same shape the neighbouring trailer bullet uses for its own ruling (「objectui#9441,维护者裁决 A,评论 5724938982」); (b) the epistemic clause 「这三仓读数取自裁决当日,本仓没有任何东西复核它(诫条 #9)」. Neither changes what the rule permits or forbids; both are what this file's commandments #9 and #11 require of any prose in it, and the ruling did not suspend those. It is still grammatically one sentence (one full stop). The dev declared (b) as a deviation; I read it as the file's own convention correctly applied, not a departure from the ruling.

Factual claims in the sentence, checked on the cited trees:

  • objectui forbids absolutely — true on this very bullet: 「绝不 git push --force/--force-with-lease」 and 「禁令不按…分档 …… 一律绝对,单人 feature 分支同样不例外」. git grep for force-push / force-with-lease over head AGENTS.md returns that one bullet alone, so no second objectui text says otherwise.
  • objectstack allows --force-with-lease under five criteria, in the rule opening 「Never force-push a shared branch」 — true on objectstack origin/main 24b7085939: under ## Multi-agent working discipline, item 3 opens 「Never force-push a shared branch, and never push main.」 and lists ALL FIVE: ① named claude/issue-*; ② this worktree created it; ③ nobody else has ever pushed it; ④ no open PR on it carries a reviewer or an approval; ⑤ the push spells the lease as branch and last-pushed sha, never bare --force. The content citation resolves to that one item, so commandment [WIP] Update documentation for project #11 is honoured with a citation that travels rather than a line address.
  • the objectstack half of ruling C is already landed (the PR body's claim) — true: objectstack .claude/agents/os-dev.md at origin/main reads 「force-push 按落地仓 AGENTS.md:objectui/cloud 绝对禁;objectstack §3 五条全立才 --force-with-lease」, i.e. it points at the LANDING repo, as the ruling ordered.
  • cloud forbids absolutely — ⛔ NOT verifiable from here, said plainly: GET /repos/objectstack-ai/cloud/contents/AGENTS.md answers HTTP 403 (repository access not enabled for this session) and no cloud checkout exists beside the two repos. The claim rests on the director's reading in the ruling (cloud AGENTS.md line 63 as read on the ruling day). The sentence itself declares this — 「这三仓读数取自裁决当日,本仓没有任何东西复核它」 — which is the honest form for a claim nobody here can re-derive, and the PR body's Acceptance notes state it in bold. Right on the evidence available; the approver, who can open cloud, is the one reader who can confirm it.
  • 「本仓没有任何东西复核它」 — true: git grep over the whole head tree except AGENTS.md for objectstack/AGENTS.md, cloud/AGENTS, 「Never force-push」 and force-with-lease returns zero hits (exit 1); control query ../objectstack over scripts/ returns hits, so the instrument is live. The five ledger tests that read AGENTS.md check links, fences, pin claims and check-set names, not the sibling's force-push text.
  • 「取自裁决当日」 — conservative and true: the ruling's three-repo facts were read on the ruling day; the dev re-read objectstack at claim time (criteria still match, as I re-read them too) and did not re-read cloud.

Conflicts with other text in the same file — none found. The only other cloud mentions in AGENTS.md are the worktree-guard hook's sibling-repo clause (which repo an edited file belongs to) and the maintainer's governed-surface quote naming 「objectui cloud仓库」; neither speaks to force-push. The sentence does not soften the bullet it extends: it names objectui as an absolute ban in the same breath it describes objectstack's allowance, and the bullet's 「一律绝对」 and 「「要同步分支」从来不是 force-push 的理由」 stand unchanged before it. The trailer bullet's existing 「squash 入队保留 Co-authored-by(objectui#9666)」 references this card's other half and is consistent.

Placement — right, with the disclosure the approver needs already in the PR. The ruling says the "cross-repo section" gains the sentence; the head file's 28 headings include no cross-repo section (the only sibling-naming heading, 「服务纪律(本仓库与 ../objectstack 多 agent 并行开发)」, is about dev servers). The multi-agent section is where the file's other cross-repo rules already live (the verify lock in ../objectstack, the trailer pair shared with ../objectstack), and appending to the ban bullet puts the landing-repo rule exactly where a seat about to instruct a force-push is reading. The PR body states the placement in its own section and again in the 维护者速读.

Premise (H1) re-measured — right. git grep -c -iE "landing repo|the branch lives in" over base AGENTS.md → 0 hits (exit 1), control --force-with-lease → 1 hit; over head AGENTS.md → 1 hit, the new sentence.

Check-runs on 94e5b21280 — the gate verdicts, taken as they stand. At my first read 9 of 38 were still in progress (Spec Main Shape Gate and the eight Test (shard n/8) runs); I waited in the foreground and re-read until none remained. Final read, declared 2026-09-28T11:07Z: 39 check-runs, every one completed; 36 success, 3 skipped, 0 failure, 0 cancelled, 0 still running. The three skips are Test (coverage), the Test (coverage shard …/4) matrix stub and dependabot — matrix and actor conditions, not gate failures. Green among them: Lint, Type Check, Build & E2E, Build Docs, Test (shard 1/8) through (shard 8/8) and their Test rollup (the 39th run, which appeared once the shards finished), Test (dist pins), Spec Main Shape Gate, Governed Surface Queue Guard, Changeset Declaration, Changeset Fixed Group Check, Changeset Claim Re-read, Control Byte Scan, Shell Escape Residue Scan, Line Citation Gate, Internal Docs Link Check, Doc Snippet Type Check, README Export Check, the three Skill … checks, Action Ref Convention and label. Nothing was re-run locally; these conclusions are the derived-gate verdicts this record relies on.

② Semver level

none — right. The diff publishes nothing: AGENTS.md is an agent-facing operating text, not a package export, an accept set or a public surface; no .changeset/ file is added and none is owed. Changeset Declaration, Changeset Fixed Group Check and Changeset Claim Re-read are green on the head. The re-read comment on the PR lists six pending changesets that NAME AGENTS.md; each cites §4 / §5 commandments or the version-alignment policy, none the force-push bullet, so none of their claims goes false with this edit. The PR body's Clause-②: no — … line is present directly under Fixes #9666 and matches the claim comment on the card.

③ Boundary flags

Dev report (card comment 5868493385): open_questions: [] — nothing to answer or escalate. Six declared deviations, each read:

  1. Placement not in a "cross-repo section" — answered in ①: no such heading exists, the ban bullet is the right neighbour, and the PR body discloses it. Not an escalation.
  2. Provenance parenthetical and commandment-完善设计器的每一个细节 #9 clause beyond the ruling's words — answered in ①: annotations in this file's own convention; rule content unchanged; one sentence kept. Not an escalation.
  3. cloud's AGENTS.md not measured — confirmed independently (REST 403 from this session as well). The sentence and the PR body both say so. ⚠️ A flag for the approver, not a FAIL: the only reader who can confirm 「cloud 一律绝对禁止」 on cloud's current tree is a human with access; the director read it on the ruling day.
  4. git fetch origin main in the shared /home/user/objectstack checkout — a read-only ref advance in the sister checkout, disclosed; no tree written. Accepted.
  5. Harness attribution reminder declined in favour of the model-free trailer pair — verified on the PR's single commit: a Claude-Session: line carrying this session's URL and a Co-authored-by: Claude line with the noreply address in the standard bracketed form; a regex scan of the commit message, PR title and PR body for model identifiers returns 0 hits. Right.
  6. Clause-② copied from the claim into the PR body — present and consistent. Right.

Governed surface: AGENTS.md is Tier H. The PR is DRAFT, auto_merge null, zero reviews, assigned huangyiirene; Governed Surface Queue Guard is green (its pull_request leg reports at exit 0 by design). Nothing in this record flips any of that; landing waits for an authorised APPROVED review and is then done by the claiming seat.

Observation outside the diff, not a flag on it: the card's claim comment (5868312809) carries a model: field that spells a model tier by name, while the trailer rule this file quotes says no model identifier lands in a comment. That is the dispatching seat's comment, not the dev's output, and does not bear on this PR's verdict.

Implemented-by: claude/issue-9666-force-push-landing-repo
Reviewed-by: session_01EBx9rvB7dufCz4at53x35U

VERDICT: PASS


Generated by Claude Code

@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

维护者速读(终稿)

席位 domain:devx @ objectui 第 2 席(session_01EBx9rvB7dufCz4at53x35U)对照本 PR 的实际 diff(head 94e5b21280)校正 dev 草稿后定稿;契约复审档复核 PASS 在案(5868664434),席位复核记录在 objectui#9666(5868722680)。

改了什么:只改 objectui 根 AGENTS.md 一处。「多 agent 协作纪律」里那条「绝不 force-push」原文一字不动,在它末尾追加一句:force-push 归分支所在仓(landing repo)的 AGENTS.md 管 —— objectui 与 cloud 一律绝对禁止,objectstack 在它那条的五项条件全部成立时允许 --force-with-lease;跨仓工作的席位给 dev 下指令前,先读落地仓自己那条的原文。

为什么改:执行 9 月 18 日本卡的裁决 C(5724939229)。此前 objectui 的 PM 席带着 objectstack 的放行规则,指示 dev 在 objectui 分支上改写历史并强推,全靠 dev 拒绝才没丢历史(objectui#9492)。两仓规则本身都不改,只把「看哪个仓的规则」写在席位会读的位置。objectstack 那一半(os-dev.md 指向落地仓)已在 objectstack main 上;卡的另一半(trailer)已随 objectui#10922 落地。本 PR 合入后整张卡完成。

风险与代价(含回滚):纯文字,不碰代码、构建与发布,无 changeset。句中对三个仓的转述是裁决当日的读数;兄弟仓日后改规则,这句转述会过时,句子本身已写明「本仓没有任何东西复核它,以落地仓原文为准」。回滚:revert 本 PR。

席位意见:建议批准。有两点请知悉:

  • cloud 那一半本席位读不到:本会话对 objectstack-ai/cloud 无访问权(REST 403)。「cloud 一律绝对禁止」沿用裁决当日 director 的读数(cloud AGENTS.md:63)。如您手边能看 cloud,顺手核一眼即可。
  • 位置与裁决措辞略有出入:裁决写的是放进「cross-repo section」,但本文件没有这样的章节。句子放在它所限定的那条禁令末尾,所在的「多 agent 协作纪律」一节本就收着其他跨仓规则。PR 正文已说明。

你要做的:读一下新增的这一句,同意就在本 PR 上点 Approve(os-zhuang 或 hotlong 任一账号即可);之后翻 ready、入队由席位完成。


Generated by Claude Code

@os-zhuang
os-zhuang marked this pull request as ready for review September 28, 2026 12:14
@os-zhuang
os-zhuang added this pull request to the merge queue Sep 28, 2026
Merged via the queue into main with commit 4dc491a Sep 28, 2026
41 checks passed
@os-zhuang
os-zhuang deleted the claude/issue-9666-force-push-landing-repo branch September 28, 2026 12:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

3 participants