Repository navigation
Description
Filing gate: ② ruling-directed sibling card — batch #5 item 1, letter C (#25373 comment 6366946328, maintainer 「同意」 2026-10-23T14:13:20Z). Reader: the domain:devx execution seat, dispatch step. Dedup: search_issues on objectstack-ai/objectstack, "Actions cache pool 10 GB eviction turbo seed" → 0 hits. Session: cse_01LKHDniRQSWjRJyDtacwpEd.
One-sentence problem
Every push to main writes about 12.8 GB of per-sha Turbo seeds to the Actions cache (six Test Core shard seeds of about 2.1 GB each, plus the Build Core, Type Check and other seeds), while the repository's Actions cache pool is 10 GB, so each merge can evict the seeds — and the pnpm store and Next.js caches — that the next PR run restores, and PR builds go cold for reasons the seed design cannot see.
Evidence (file lines at objectstack commit 2b7c331)
- Per-sha seed keys, saved on every push event, including cancelled runs (
if: always() && github.event_name == 'push'):ci.yml:1397-1402(Test Core, per shard),ci.yml:2242-2247,ci.yml:2749-2754(Build Core),lint.yml:5928-5930(typecheck). Keys end in${{ github.ref_name }}-${{ github.sha }}(ci.yml:606,:1786,:2087,:2320,:2529,:2974;lint.yml:5140,:5753), so no two merges share a key and nothing is overwritten — every merge adds a full set. - Cancelled push run 39923516471 saved all six Test Core shard seeds at about 2.1 GB each (the ci: the push-to-main CI run is cancelled by the next merge 9 times in 13, so the Turbo cache seed that only that run saves goes stale and every PR shard and lint lane rebuilds cold (Build Core 51 s → 4m30s, shard closures Σ 20–31 runner-min per run) #25373 card thread's falsification, comment 6364570166).
- Plain
actions/cache@v6steps (restore and post-save on every event, PRs included) sit in 12 workflow files;ci.yml:2785-2798saves the pnpm store andapps/docs/.next/cacheon PR runs too. PR-scoped entries count toward the same pool. - The Turbo remote cache is ON: on PR ci: assert the Turbo remote cache is on after Build Core, the Test Core closure and the three Type Check builds #25419 (card ci: no job asserts the Turbo remote cache is actually on — TURBO_TOKEN is withheld whenever the signing secret is empty, turbo then prints "Remote caching disabled" and builds cold with nothing red; add the assertion to Build Core and the closure builds #25374) Build Core printed "Remote caching enabled" with 76/76 remote hits, and Type Check · workspace 71/71 (
TURBO_TOKEN/TURBO_TEAM,ci.yml:749-750). For the tasks the remote cache serves, the per-sha.turbo/cacheseed in the Actions pool may be redundant weight. - Pool usage is NOT measured yet.
GET /repos/objectstack-ai/objectstack/actions/cache/usageandGET /repos/objectstack-ai/objectstack/actions/cachesare refused from a cloud seat container (egress proxy 403 on Actions cache paths, 2026-10-23T14:17Z).
Governing text
ci.yml:597-610andlint.yml:5101-5145— the seed discipline comments (main writes, PR and merge_group restore by prefix). This card changes what and how much is written, not the restore order, unless the measurement shows the seeds are redundant with the remote cache.- AGENTS.md lines 371–372 are about the local worktree cache, not CI.
- Ruling 6366946328: "Raising the pool limit is a billing item and comes back to the maintainer."
Change (in order; the dev pins what the measurement supports)
- Measure first. Read
actions/cache/usageand the 100 largest entries ofactions/caches(sorted bysize_in_bytes, desc), from a localghor a one-off read step in aworkflow_dispatchjob withactions: read. Record in the PR: pool total, the share held by*-turbo-*keys, byrefs/pull/*refs, and bypnpm-store/nextjskeys, plus the age of the oldest live Test Core seed. If the pool is well under 10 GB and seeds survive at least 5 merges, stop and say so — the card closes with the reading. - Then shrink, cheapest first, choosing from: (a) drop the
.turbo/cacheActions seed for jobs whose tasks the remote cache already serves (Build Core, Type Check), keeping the seed only where the remote cache misses; (b) save the Test Core seeds from one shard-independent job, or prune.turbo/cacheto the run's own hashes before save, to cut the per-shard size; (c) stop PR runs from saving the Next.js cache (restore-only on PRs, as the Turbo seed already is). - Never raise the pool limit in this card. If after (a)–(c) the pool is still over budget, return the billing option to the maintainer as a needs-user-decision with the measured numbers.
Acceptance
- The PR records the before-measurement (pool total and the four shares above) and the after-measurement taken after ≥ 5 merges to main.
- After: pool total ≤ 8 GB at steady state, and over the next 10 PR runs whose closure matches main, the shard "Build this shard's dependency closure" step median is ≤ 1.7 min and Build Core's build step is ≤ 2.5 min (the speed acceptance moved here from ci: the push-to-main CI run is cancelled by the next merge 9 times in 13, so the Turbo cache seed that only that run saves goes stale and every PR shard and lint lane rebuilds cold (Build Core 51 s → 4m30s, shard closures Σ 20–31 runner-min per run) #25373 by the ruling).
- Or, if step 1 shows the pool is not the cause: a comment with the reading, and the card closes
not_plannedwith the measured cause named for a follow-up card.
Risks
- Dropping a seed the remote cache does not actually cover makes those jobs colder; the dev keeps the remote-cache hit counts from the
assert-turbo-remote-cachelines (ci: assert the Turbo remote cache is on after Build Core, the Test Core closure and the three Type Check builds #25419, once landed) before and after. - Actions cache eviction is least-recently-used; a measurement taken right after a burst of merges can overstate pressure — take two readings at least an hour apart.
Work estimate
Lane domain:devx · 1 PR (.github/workflows/ci.yml, .github/workflows/lint.yml; possibly .github/workflows/*.yml for the Next.js save gate) · Clause-②: no · Metadata-protocol: none · Tier H (governed surface — the PR waits for a GOVERNED_APPROVERS approval before ready). Size M. Serial: lands after #25373's PR (same ci.yml concurrency/save region) and after #25419 (needs its remote-cache assert lines for the before/after reading).
Related: #25373 (ruled sibling), #25374 / PR #25419 (remote cache assert), #5401 (closed).
Maintainer directive (verbatim, untranslated)
同意
— the maintainer, 2026-10-23T14:13:20Z, on director batch #5 item 1 (letter C = land the staged concurrency change as a coverage fix and file a separate card for the cache pool).
Generated by Claude Code
Activity
objectstack-fleet commentedon Oct 23, 2026
Claim: PM loop round 3 · 2026-10-23T18:23Z
Session:
session_01SawdJgiuoz8deqVdM51jAE(card thread, dispatched by seat sessionsession_01LKHDniRQSWjRJyDtacwpEd)Account:
os-elon-muskBranch:
claude/project-thread-53z7nt(the harness-pinned branch for the card thread; it names no issue, so this claim is the identity record)Worktree:
objectstack-issue-25452Domain:
domain:devxSeat:
domain:devx#1(seat post #6023)File surface: .github/workflows/ci.yml, .github/workflows/lint.yml (possibly other workflow files for the Next.js save gate); Tier H (stop on breach; explain in the report)
Container & model:
M,mode:thread,model: default tier,effort: highClause-②: no
Metadata-protocol: none
Responsibility: domain:devx seat 1 (#6023) reviews; Tier H — GOVERNED_APPROVERS approval before ready
Thread-read: none
Serial constraints cleared: cleared — #25454 (concurrency, merged 18:20Z) and #25419 (remote-cache assert, merged 18:10Z) are on main; #25465 (DTS skip) also landed 18:20Z
Dispatched under the maintainer's 「同意」 to the director's ruling batch 1, item 5A (devx dispatches p1–p3). This card is also covered by the maintainer's 「同意,立卡」 for the CI performance audit cards, where the card says so. Dispatch order:
/mnt/project-files/pm-devx-seat/dispatch-25452.md.objectstack-fleet commentedon Oct 23, 2026
ACCEPT (seat review) → PR #25523 ·
domain:devxseat 1 ·session_01LKHDniRQSWjRJyDtacwpEd· 2026-10-23T18:55Zfcae6e3a53: two files.scripts/ci/prune-turbo-cache.mjsis new (+381) with a 25-case self-test, wired into Build Core..github/workflows/ci.yml(+29 / -1) adds a prune step before Test Core's "Save Turbo cache (main only)", and the save now runs only when the prune sayssave=true..turbo/cache, and the bareLinux-turbo-test-restore fallback carries that lineage across shards; PR run 39999049930 shard 1 restored shard 3's 2.50 GB seed. This is card change (b).--summarizerun summary (.turbo/runs/, whichci.ymlwrites on both the package and the slice legs), plus the closure build's summary that the ci: assert the Turbo remote cache is on after Build Core, the Test Core closure and the three Type Check builds #25419 assertion moved to$RUNNER_TEMP/turbo-remote-cache. All three files of every other entry are deleted. A file of unknown shape is kept and counted, so a turbo layout change cannot silently empty the seed. With no run summary (cancelled, or an empty shard) there is no save, and the previous seed stays newest. Every run-time path exits 0, so the shard attestation is unaffected.--self-testat this head is OK (25 cases, 5 batteries). CI is all green: 34 success, 11 skipped.actions/cache/usageand the largest entries) is pending. The maintainer has been asked to run twoghreads locally; this is not a landing blocker. The after-reading (≥ 5 merges, pool ≤ 8 GB at steady state, closure medians) is owed after landing..github/workflows/ci.yml). A GOVERNED_APPROVERS approval is the review record; hotlong and os-zhuang are requested.objectstack-fleet commentedon Oct 24, 2026
After-reading, first signal (devx seat, 2026-10-24 01:05Z; #25523 merged 00:35Z). Two push runs so far; the acceptance asks for ≥ 5.
041a120b61), Test Core 1/6:prune-turbo-cache: … kept 3 task entries named by 2 run summariesanddropped 17001 file(s) the run did not use: 2912.4 MB -> 0.8 MB on disk. It then savedLinux-turbo-test-1-main-041a120b61…. Shard 2 also saved.NOT SAVED -- no readable run summary. Those are empty shards on an affected-only push, which is the designed no-save path, and the previous seed stays newest.Still owed for the acceptance: the pool total at steady state (≤ 8 GB) and the PR shard-closure and Build Core medians over 10 PR runs, after ≥ 5 merges. The seat reads them on the next check.
Generated by Claude Code
objectstack-fleet commentedon Oct 24, 2026
Final after-reading (devx seat, 2026-10-24 08:10Z; #25523 merged 00:35Z, interim 6377899689). Seven push runs to
mainsince landing, all 42 Test Core jobs read.Seeds: met. Every saved seed is under 49 MB, and no prune step failed.
041a120b9c43e19fba9e0c37e0734559ba6912c1393769728801f2bbNOT SAVED -- no readable run summary, the designed path. No shard that ran tests skipped its save.keptline reports0 have no entry.PR timings over 10 PR runs since landing. The runs are 40072679921, 40066454701, 40065311088, 40063381603, 40062740824, 40062506129, 40062326459, 40059926372, 40058336591 and 40058057228. I skipped two
action_requiredruns, one cancelled run and two runs with Build Core skipped.Build this shard's dependency closure: met. The median over 60 shard jobs is 1.23 min (target ≤ 1.7), and the max is 6.68 min. Shards 3–5 carry the long tail at 200–400 s. The slowest shard's median per run is 4.45 min.Build packages (excluding docs): not met as read. The median is 3.28 min (target ≤ 2.5), and the max is 6.32 min.main". All ten PRs change source, and two of them are the release PR, which bumps every version.started_at−created_at) has a median of 2 s and a max of 3 s.Still open: the pool total (target ≤ 8 GB at steady state).
actions/cache/usagereturns 403 from the seat's container, and the two localghreads asked of the maintainer have not arrived. On the arithmetic, about 0.27 GB per full merge leaves the 10 GB pool more than 30 merges of headroom. But the old 2.4 GB entries age out on GitHub's clock, and only the usage read can confirm that.The seat recommends closing #25452 once the pool read is in. If the pool read is still missing, the card can close on the seed evidence above, with the pool figure recorded when it arrives. That choice is the maintainer's.
Generated by Claude Code
hotlong commentedon Oct 24, 2026
Pool reading (the two local
ghreads asked of the maintainer) · 2026-10-24 14:25ZRead by the cloud ops seat at the maintainer's request, from a local
gh:GET /actions/cache/usageand every entry ofGET /actions/caches(31 entries, sorted by size).mainwas at2c523d0100. This is reading 1; the card's risk note asks for a second at least an hour later.Pool total: 10.30 GB in 31 entries. That is over the ≤ 8 GB acceptance and at the 10 GB limit.
cache/usageanswered 11.01 GB in 30 entries; the listing taken seconds later is used below.*-turbo-*keysrefs/pull/*refspnpm-storekeysnextjskeysgh-readonly-queue/*)refs/heads/mainEviction is running. Of the 31 live entries, 29 were created in the last 1.5 h. The 2 older ones (13.4 h) are
pnpm-store-v3andcorepackonmain, which every run reads. The oldest live Test Core seed is 1.3 h old (Linux-turbo-test-6-main-49653f91…). Live Test Core seeds cover 3mainshas, short of the card's "survive at least 5 merges".What #25523 fixed holds. The 7 live Test Core seeds total 0.27 GB, 0.8–48 MB each.
Where the weight is now:
mainrefs alike:ci.yml:2918-2923is a plainactions/cache@v6, which post-saves on every event.main: 2.79 GB.turbo-build-core571 MB,turbo-pack-smoke2 × 557 MB,turbo-typecheck2 × 555 MB.Linux-pnpm-store-v3-d2b76958…is stored 5 times (4 merge-queue refs and 1 PR ref), about 1.47 GB of duplicates, plusspec-shape-gate's own 489 MB store.pnpm-store-v3step is a plainactions/cache@v6in about 12 places acrossci.ymlandlint.yml.gh-readonly-queue/main/pr-*ref is used by its one run.main's seeds out.Against the acceptance:
Per the card's step 3, the billing option comes back to the maintainer only after (a)–(c). (a) and (c) have not been done, and the per-ref pnpm/Next.js saves on
merge_groupand PR events look like the cheapest next cut.Nothing was changed; both calls are reads.
28 remaining items
hotlong commentedon Nov 5, 2026
coordinator#1 · hotlong · session_6eb9ec2e0e3f410b91239dab7a337b9e
缓存池读数(Maintainer-action 完成) · 2026-11-05T01:30Z · 维护者原话「A 组 + B 组全做」,本条由协调席以维护者的 gh 账号(hotlong)读取。读数时 main 是
474c030b13,从6817bf1eae起已有 1,527 次合并,满足「≥ 5 次合并」。结论:种子仍然挤满 10 GB 池,而且主因是卡上没列的一个新 key
active_caches_size_in_bytes= 10,925,870,698(27 条,超过 10 GB);*-turbo-*占 7,733 MB(99.8%):Linux-turbo-dogfood-1-main-<sha>每个 sha 约 3.69 GB,池里同时有两个,合计 7.37 GB,占 95%。它来自.github/workflows/upgrade-harness-optin.yml:96,不在本卡第 5 段列的种子里。turbo-typecheck已降到 36.5 MB(step-2 prune 生效);turbo-test-*每片 25–35 MB。refs/pull/*8 MB;pnpm-store和nextjs都是 0(不在池里,已被逐出或不再保存)。建议给车道:先看
turbo-dogfood种子要不要每个 main sha 都存(要么限定 opt-in 运行才存,要么改成只恢复)。这一步就能把池降到 1 GB 以内。原始输出
gh api repos/objectstack-ai/objectstack/actions/cache/usage(第二次)actions/caches(key · bytes · ref · last_accessed_at · created_at)🤖 Generated with Claude Code
objectstack-fleet commentedon Nov 5, 2026
domain:devx#2 · marchtian · session_017ihL2ebbZkr2QAEG1x7UC8
Claim: PM loop round 1
Session:
session_017ihL2ebbZkr2QAEG1x7UC8Account:
marchtianBranch:
claude/issue-25452-dogfood-seed-pruneWorktree:
objectstack-issue-25452Domain:
domain:devxSeat:
domain:devx#2File surface:
.github/workflows/ci.yml, thedogfoodjob's seed-save step only: wire it behindscripts/ci/prune-turbo-cache.mjs --site …exactly as Test Core and Build Core are (ruling 6458731814 → A, "prune, not drop"; precedent #25523, #27067). ⛔ No new script, no new gate, the pool limit is not raised, and the restore keys (ci.ymldogfood,upgrade-harness-optin.yml:96) are not changed.Container & model:
S,mode:subagent,model: default tier (dispatch-gates --tier: no path-derived mandate),effort: mediumClause-②: no
Metadata-protocol: none
Responsibility: n/a — tooling card, step after the pool reading
Thread-read: 6647111495
Premise: holds (pool reading 6647111495 at
474c030b13:Linux-turbo-dogfood-1-main-<sha>≈ 3.69 GB per sha, two live = 95% of the pool; atorigin/mainf2a9007 the dogfood job'sSave Turbo cache (main only)has no prune step, unlike Test Core'sci.yml~1750–1766).Serial constraints cleared: #25373 and #25419 closed/merged; no open PR touches
.github/workflows/**. Tier H (.github/workflows/**): lands only after ACCEPT + contract review PASS, then the GOVERNED_APPROVERS hand-off.objectstack-fleet commentedon Nov 5, 2026
domain:devx#2 · marchtian · session_017ihL2ebbZkr2QAEG1x7UC8
os-dev-report
{ "issue": 25452, "status": "done", "branch": "claude/issue-25452-dogfood-seed-prune", "pr": "https://github.com/objectstack-ai/objectstack/pull/30241", "head": "2a737765df", "session": "session_017ihL2ebbZkr2QAEG1x7UC8", "premise_still_valid": true, "files_changed": [".github/workflows/ci.yml (+23 / -2, job dogfood only)"], "dogfood_turbo_invocations": { "closure_build": ".github/workflows/ci.yml:2494 (pnpm turbo run build --filter=@objectstack/dogfood --concurrency=4 --log-order=stream; no --summarize, unchanged)", "test": ".github/workflows/ci.yml:2545 (pnpm turbo run test --filter=@objectstack/dogfood --summarize --log-order=stream; --summarize added by this PR, absent at base f2a9007e93 L2542)", "prune_step": ".github/workflows/ci.yml:2591-2596 (id prune-turbo-cache, if always() && push, --site 'Dogfood Regression Gate (N/3)' --cache .turbo/cache --run-summaries .turbo/runs)", "save_gate": ".github/workflows/ci.yml:2601 (ANDs steps.prune-turbo-cache.outputs.save == 'true')", "summaries_before_this_pr": "none (no --summarize on either invocation, no TURBO_RUN_SUMMARY in the job)", "extra_summaries_needed": false, "extra_summaries_reason": "base dry-run plans: 71 tasks shared by the closure build and the OS_TEST_SHARD=1/3 test plan, 71 hash-identical, 0 differing; only @objectstack/dogfood#build (no command, no cache entry) is absent from the test plan" }, "prune_estimate_mb": { "before": 304.3, "after": 35.7, "scope": "closure only, at 4f583910e4 (base + diff): private --cache-dir seeded with a copy of the container's shared .turbo/cache (260 MB) as the stand-in restored seed, closure build (69 tasks, 2 cached), the test step as spelled with OS_TEST_SHARD=9/3 so dogfood#test failed fast (summary still written: 69 cached, 70 total), then the prune exactly as the new step; kept 69 task entries, dropped 1053 files, save=true. Real dogfood#test entry size NOT MEASURED (full shard not run). CI before = ~3.69 GB per seed (pool reading 6647111495)." }, "harness_closure_covered": { "covered": 69, "of": 69, "missing": [], "basis": "every closure task with a command in turbo run build --filter=@objectstack/dogfood --dry=json has its tar.zst in the pruned seed; upgrade-harness-optin.yml:96-102 restore keys unchanged" }, "gates": { "derived": 53, "run": 53, "exit_0": 53, "not_measured": 0, "tree": "objectstack-ai/objectstack@2a737765df", "ran_verdict": "✓ dispatch-gates --ran: 53 derived famil(ies) accounted for — 53 run, 0 NOT-MEASURED (a DERIVED zero — all 53 recorded an exit code and none of them is 3).", "rerun": "pnpm check:dual-build-cjs-loads exit 3 (PREREQUISITE NOT MET, 7 packages without dist) then exit 0 after check:type-check-debt built every package; ran.list records the re-run", "not_derived": "actionlint not installed, not run", "pr_check_runs": "in_progress at report time; the dogfood job does not run on pull_request" }, "dogfood_battery": "n/a: no ! in the PR title, Clause-②: no without a (narrowing) arm", "deviations": [ "gate sweep started on 4f583910e4, stopped by recorded PID after 2 commands to merge origin/main once, then re-run whole on 2a737765df; derived list byte-identical", "merge commit 2a737765df carries git's default merge message, no trailer pair", "harness reminder asked for a model-named Co-Authored-By trailer; commit 4f583910e4 carries the model-free pair per os-dev and the dispatch order", "prune estimate measured on the closure plus a fast-failing test step, not a full dogfood shard" ], "mcp_calls": 0, "api_writes": { "count": 4, "list": [ "POST /repos/objectstack-ai/objectstack/dispatches (fleet-write relay, run 41958955637)", "relay: POST /repos/objectstack-ai/objectstack/pulls (draft, #30241)", "relay: POST /repos/objectstack-ai/objectstack/issues/30241/labels [skip-changeset]", "post-stamped: POST /repos/objectstack-ai/objectstack/issues/25452/comments (this report)" ], "not_rest": "git push x3 (empty-branch probe, commit, merge of origin/main)" }, "security_findings": "none", "open_questions": [ { "question": "The PR body carries Fixes #25452 as ordered, so merging closes the card before the after-reading (the pool after at least 5 merges).", "options": ["A keep Fixes; the after-reading is posted on the closed card", "B the seat rewrites line 3 to Part of #25452 before landing"], "recommendation": "the seat's call; the order chose A" } ], "out_of_scope_findings": [ "carrier: #25452 · noted, not filed. Pool reading 6647111495 names upgrade-harness-optin.yml:96 as the source of Linux-turbo-dogfood-1-main-*, but that step is actions/cache/restore; the writer is ci.yml job dogfood's save (key Linux-turbo-dogfood-SHARD-main-SHA, ci.yml:2600-2605), which this PR prunes." ] }objectstack-fleet commentedon Nov 5, 2026
domain:devx#2 · marchtian · session_017ihL2ebbZkr2QAEG1x7UC8
Maintainer-action: read the Actions cache pool again —
gh api repos/objectstack-ai/objectstack/actions/cache/usageandgh api --paginate 'repos/objectstack-ai/objectstack/actions/caches?per_page=100' --jq '.actions_caches[] | [.key, .size_in_bytes, .ref, .last_accessed_at, .created_at] | @tsv'— two readings at least an hour apart, and paste them on this card — done when a comment on this card carries both, read at or after1d4103779cplus ≥ 5 merges tomainLanded (partial): the dogfood seed prune, PR #30241 merged as
1d4103779c· 2026-11-05T04:44Z · ⛔ not a claimACCEPT 6648704645, Fable contract review PASS 6648691312, approved and queued by os-zhuang. The PR said
Part of #25452, so this card stays open for its after-reading.First push run with the prune (run 41968115334 on
eb6199b39b, which contains1d4103779c), the threeprune-turbo-cache:lines the ruling asks for:So each per-sha dogfood seed drops from about 3.69 GB (pool reading 6647111495) to about 36 MB. Shard 2's red is its test step (
permission-set-clone-door, already on main before this merge: the six previous main runs are red on the same shard; card #30255,domain:serverp0). It is not this change, and its prune and save ran as designed.What remains: the Acceptance's after-measurement (pool ≤ 8 GB at steady state, plus the closure / Build Core step medians). This seat's token gets 403 on
actions/cache/*, so the reading is the maintainer's (as hotlong's 6647111495 was). If the pool reading still shows pressure, the next suspects are the per-shaturbo-test-*seeds (25–35 MB each × 8 shards × live shas) and the two PR-side post-saves named in 6457643938.State:
pm:dispatched→pm:awaiting-maintainer, assignee cleared. Any lane seat acts on the reading once it is posted.objectstack-fleet commentedon Nov 5, 2026
coordinator#1 · hotlong · session_6eb9ec2e0e3f410b91239dab7a337b9e
两次缓存池读数,间隔 65 分钟,都在
1d4103779c之后 · 2026-11-05T14:42Z维护者 2026-11-05 让协调席代做本卡的读数(「按推荐做」)。读数命令就是卡上写的两条
gh api。bc8945f13dfa9c0aa2a0active_caches_size_in_bytesactive_caches_count说明(只是读数,不下结论,判读交给车道)
created_at晚于 13:31Z 计算)。同一窗口里 main 只合了 3 个提交。ref都是refs/heads/main,没有 PR 分支的缓存。Linux-nextjs2.72 GB(4 个)、turbo-pack-smoke0.82 GB(14 个)、turbo-typecheck-main0.66 GB(18 个)、turbo-build-core-main0.64 GB(11 个)、turbo-type-check-ui-main0.61 GB(15 个)、turbo-lint-ui-main0.56 GB(13 个)。两份完整的
--paginate列表(key、size、ref、last_accessed、created)分别放在后面两条评论里。objectstack-fleet commentedon Nov 5, 2026
coordinator#1 · hotlong · session_6eb9ec2e0e3f410b91239dab7a337b9e
读数 1 完整列表 · 2026-11-05T14:43Z
key · size_in_bytes · ref · last_accessed_at · created_at
objectstack-fleet commentedon Nov 5, 2026
coordinator#1 · hotlong · session_6eb9ec2e0e3f410b91239dab7a337b9e
读数 2 完整列表 · 2026-11-05T14:43Z
key · size_in_bytes · ref · last_accessed_at · created_at