Repository navigation
fix(devx): point shallow-clone refusals at ci.yml's history fetch step - #31667
Merged
Merged
Conversation
Three refusal messages told a CI reader to give the checkout `fetch-depth: 0`. ci.yml's history-reading jobs now check out at depth 1 and run the step "Fetch this commit's history and the base branch"; lint.yml still checks out full history. Each message now names both remedies. Local advice, exit codes and every other line are unchanged. The spec topology pin also asserts the step name. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QsR2jQqimUnb4io8LpGcvH
check-changeset-overwrite and check-changeset-presence printed the same shallow-clone remedy as check-changeset-claims. They now carry its wording, and the presence gate's shallow pin also asserts the step name. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QsR2jQqimUnb4io8LpGcvH
Contributor
📓 Docs Drift CheckNothing in this diff resolved to a documentable surface (no symbol, route or SDK anchor derived from 0 changed package(s)), so this run has no opinion about the docs. What this run could not see
Coarse fallback — 0 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): |
Contributor
Author
|
domain:devx#2 · zhuangjianguo · session_01QsR2jTo666XXx9e1Gm21C6 维护者速读
席位核对 · ACCEPT · 2026-11-08T21:39Z · head
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Steedos · project thread
Fixes #31649
Clause-②: no
Metadata-protocol: none
维护者速读
fetch-depth: 0,现在同时点名 ci.yml 的取历史步骤与 lint.yml 的全量检出。packages/spec/scripts/build-schemas.ts的 remedy 串;ui/scripts/check-changeset-presence.mjs的 SHALLOW 分支;ui/scripts/__tests__/check-changeset-presence.test.ts的浅克隆用例。pnpm --dir ui exec vitest run scripts/__tests__/check-changeset-presence.test.ts,预期全绿,且浅克隆用例断言了步骤名。What changes
On main 532230f, five shallow-clone refusal messages told a CI reader that the fix was
fetch-depth: 0. That is no longer what works in aci.ymljob that reads history. Those jobs check out at depth 1 and run the stepFetch this commit's history and the base branch(test-plan, test, test-ui; type-check-ui joins them when #31644 lands).lint.ymlstill checks out withfetch-depth: 0.Each message's "In CI" clause now names both remedies: run that step before the gate (ci.yml), or give the checkout
fetch-depth: 0(lint.yml). The local advice, exit codes and every other line are unchanged. No logic changes, and no workflow file is touched.packages/spec/scripts/build-schemas.ts(resolveBaselineWithoutMergeBaseremedy)buildin every job that builds spec (both kinds), andcheck:authorable-surfacein lint.ymlui/scripts/check-new-cross-file-line-citations.mjsui/scripts/check-changeset-claims.mjsui/scripts/check-changeset-overwrite.mjsui/scripts/check-changeset-presence.mjsAbout #31644: the wording is conditional on the job's shape ("in a job that runs the step, or a full checkout"), so it holds whether #31644 has landed or not. It names no job, and type-check-ui is true under either branch of the sentence.
check-i18n-en-drift.mjscarries the same text, but #31644 rewords it itself, so it is left alone here.Changeset:
skip-changeset. These are repository scripts and tests.packages/spec/scripts/is not in@objectstack/spec'sfiles[], andui/scripts/is the ui workspace root, which is not a published package.Tests
The pins move with the prose. Both still assert
fetch-depth: 0, and each now also asserts the step name:packages/spec/scripts/build-schemas-check-mode.git-topology.test.ts: "a tree that carries no anchor of its own refuses" assertsFetch this commit's history and the base branch.ui/scripts/__tests__/check-changeset-presence.test.ts: the depth-1 clone case asserts the same.No pin asserted the old text of the other three messages. A grep of the tests for each old string returned no other hits.
Acceptance notes
build-schemas.tswere left alone because they are outside the card's surface and are not refusals. The--update-baseshallow warning ("Re-anchor from walkable history:fetch-depth: 0in CI") belongs to a mode run locally. Thewhyline ("proved where history is walkable (fetch-depth: 0), which is this repository's own PR gate") stays true, because lint.yml'stypecheck-source-gatesrunscheck:authorable-surfaceon a full checkout.check:new-line-citationsandcheck:changeset-claimsare not run as a step by any workflow on main, so their "In CI" line can only describe the two job shapes.Verification
All runs below are on head
243250a6. The merge of main8c9260f7(heade7396e12) brought 31 files, none of them in this surface or its packages, so nothing was re-run.Dispatch gates: 66 derived, 65 run, 1 NOT MEASURED
node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstackderived 66 commands. All exited 0 except one.pnpm check:dual-build-cjs-loadsexited 3 (PREREQUISITE NOT MET: about 33 packages have nodist/). This worktree built only spec, formula, sdui-parser, lint and client, so CI's run is the evidence.node scripts/check-plugin-teardown-shape.mjs --self-testfirst exited 3 because the shallow clone could not read its pinned fixture commit. Aftergit fetch --depth=1 origin 621a4876, it exited 0 with 48 cases.pnpm check:query-options-erasurehit the loop's 300 s timeout. Run alone, it exited 0.pnpm --dir ui exec vitest run scripts/exited 0: 170 files passed and 2 skipped; 5021 tests passed and 2 skipped.pnpm check:pm-dispatch-gatesexited 0: 2205 fast-tier cases.dispatch-gates --ran: 66 derived families accounted for (65 run, 1 NOT MEASURED).Pins: red on main's text, green on the fix
git restore --source=532230f3ofcheck-changeset-presence.mjsandbuild-schemas.ts, tree only. "names the shallow-clone case, which is how CI hits it" fails (1 failed, 45 passed). "a tree that carries no anchor of its own refuses" fails (1 failed). Both files were then restored to HEAD, andgit diff HEADwas empty.build-schemas-check-mode.git-topology.test.tspassed 17/17. The four ui gate suites (presence, claims, overwrite, citations) passed 4 files and 196 tests.Generated by Claude Code