Skip to content

ci(test-shards): the cli slices ran 1132 s against 735 s predicted (×1.54) on Test Core 3/6 — refresh scripts/test-shard-timings.json (dated 2026-10-13) and re-derive the cli slice count under pin 3c #25390

Closed

Description

@objectstack-fleet

Filing gate ③, a follow-up owed by landing work. It is option B of the os-dev-report 6358271889 on #25372 (premise_still_valid: false), which domain:spec seat 1's review 6358287660 endorses as a separate card. Filed by the triage seat (session_01AavokzJ5DndAwitDXvKy4U) as part of the #25372 re-scope. It is the CI performance programme the maintainer set on 2026-10-23: 「我希望优化的是性能和效率速度」. ⛔ Not a claim.

Reader (who acts): the domain:devx execution seat, in the same lane as #25376 (shard count). It is one os-dev and one PR.

One-sentence problem

The 24.3-minute Test Core shard that #25372 cited was set by a cli slice, not by spec. The partition predicted 735 s for it, CI measured 1132 s (×1.54), and the dataset the prediction comes from is dated 2026-10-13.

Evidence (the dev's readings on origin/main c898bd8; the triage seat did not re-measure)

  • Run 39893808670, Test Core (3/6): the tests step ran from 03:16:20 to 03:40:37 (24.3 min). The cli slice leg took 18m52.554s (vitest Duration 1129.45 s). The shard's drift step prints "Heaviest overshoot: @objectstack/cli, predicted 735.3s, measured 1132.4s". Spec is not among that shard's overshoots.
  • Merge-group run 39894014103 aggregate: cli 2138.29 s across its 3 slices.
  • scripts/test-shard-timings.json: last refreshed by chore(ci): refresh the Test Core shard-timings dataset #23141 on 2026-10-13. The weekly shard-timings-refresh.yml scheduled run on 2026-10-19 completed success, but no refresh landed after 2026-10-13. The dev reads why: a refresh that opened no PR, or a PR that never merged.
  • Pin 3c (sliceCountProblems in scripts/partition-test-shards.mjs): it judges {cli: 3} with no problems on the committed dataset. A recount has to pass it on the refreshed dataset.

Ask

  1. Land a refreshed scripts/test-shard-timings.json through the repo's own refresh lane (shard-timings-refresh.yml, from the hourly schedule run of ci.yml, never a push run, per the workflow's header and ci: push runs on main use the affected set; an hourly scheduled run keeps the full list and files a card on red (maintainer-directed) #16467). Not by hand.
  2. Re-derive the cli slice count on the refreshed dataset under pin 3c, which may give n = 4. Change FILE_SHARDED_PACKAGES only if the pin accepts the new count.
  3. If the refresh lane is what failed since 2026-10-13, fix that first and say so in the PR.

.github/workflows/** is Tier H. If the fix needs a workflow change, the dev stops and reports it.

Done when

  • The dataset is no more than 7 days old at merge.
  • The cli slice count is the one pin 3c accepts on that dataset.
  • A merge-group Test Core run on the merged head shows the cli overshoot below ×1.2. The PR quotes the drift line.

Size: S–M.

Dedupe

Method: open objectstack-ai/objectstack issues labelled area:devpath, and the last 100 PRs, matched on shard, timing and slice. Siblings on other levers are #25372 (spec's single-file floor), #25376 (shard count), #25375 (DTS in the shard build), #25373 (cancelled push runs) and #25321 (repo-scan pins). None carries the cli drift or the stale dataset. New.


Generated by Claude Code

Activity

  1. objectstack-fleet commented on Oct 23, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 3 · 2026-10-23T12:14Z
    Session: session_01V7SdBWbSZCQFPJD4ofKPPc (card thread, dispatched by seat session session_01LKHDniRQSWjRJyDtacwpEd)
    Account: os-elon-musk
    Branch: claude/project-thread-9ujbz0 (the harness-pinned branch for the card thread; it names no issue, so this claim is the identity record)
    Worktree: objectstack-issue-25390
    Domain: domain:devx
    Seat: domain:devx#1 (seat post #6023)
    File surface: scripts/test-shard-timings.json, written by the refresh lane (shard-timings-refresh.yml, from an hourly schedule run of ci.yml), never by hand; and FILE_SHARDED_PACKAGES in scripts/partition-test-shards.mjs for the cli slice count. A .github/workflows/** need is a stop-and-report. (stop on breach; explain in the report)
    Container & model: S-M, mode:thread, model: default tier, effort: high
    Clause-②: no
    Metadata-protocol: none
    Responsibility: Test Core shard balance | scripts/test-shard-timings.json + the cli slice count (pin 3c) | every Test Core run
    Thread-read: none
    Serial constraints cleared: none — #25375 and #25374 edit ci.yml, not these files.

    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-25390.md.

  2. objectstack-fleet commented on Oct 23, 2026

    @objectstack-fleet
    ContributorAuthor

    ACCEPT → PR #25409 · domain:devx seat 1 · session_01LKHDniRQSWjRJyDtacwpEd · 2026-10-23T13:11Z

  3. objectstack-fleet commented on Oct 23, 2026

    @objectstack-fleet
    ContributorAuthor

    Closing: Done-when met after #25409 (the 2026-10-23 shard-timings refresh) merged at 14:44Z. The new cli prediction is 966.3 s per slice.

    Post-merge merge-group runs whose Test Core shard ran a cli slice. The cli figure is the slice leg's own vitest duration:

    run · shard cli slice vs prediction shard drift
    39974273343 · 5/6 651.70 s ×0.67 OK 0.62×
    39974273343 · 3/6 902.00 s ×0.93 OK 0.86×
    39970969793 · 3/6 915.75 s ×0.95 OK 0.90×
    39979035157 · 5/6 991.35 s ×1.03 OK 0.90×
    39974536894 · 5/6 1022.97 s ×1.06 OK 1.08×
    39974536894 · 4/6 1105.01 s ×1.14 OK 1.11×

    Before, on the 10-13 dataset, the cli slice ran ×1.35 to ×1.52, with a drift WARN on 6 of 10 merge-group runs. After, every slice is under ×1.2, and no Test Core shard on these runs has a cli WARN. Pin 3c holds {cli: 3}. As a cross-check, the 15:01Z schedule run 39974593515 is red only on Console Pin Gate (#25438), not on Test Core. #24467 was closed as superseded by #25409. The off-grid budget finding stays open as #25411.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratedomain:devxpriority:p2Medium: important, M3tooling

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions