Skip to content

ci: measure the merged EX63 workflow and warm repeat - #8070

Merged
senamakel merged 1 commit into
tinyhumansai:mainfrom
senamakel:ci-speed-measurement-8063
Oct 18, 2026
Merged

senamakel merged 1 commit into
tinyhumansai:mainfrom
senamakel:ci-speed-measurement-8063

Conversation

@senamakel

@senamakel senamakel commented Oct 18, 2026 •

Copy link
Copy Markdown
Member

Measures the complete EX63 workflow after #8066 reached trusted main. The remote change currently identifies the timing-probe path; it changes no test selection, commands, resources or cache policy. Local follow-up fixes described below have not been pushed yet.

The first actual run, 39105976093, failed: execution 144m45s, plus 31m58s queue time. Actual checkout was 8bc78968466687e1abb6cf708dfaeba3c78d367b; trusted workflow source was 47d5991159bab69726dd17bd2ede58841d8d7a76. This is diagnostic evidence, not a passing speed baseline.

Main observation: test execution and compilation dominate this lane. Repeated executable hashing is a demonstrated local startup cost; coverage merging accounts for less than 1% of the lane. Full EX63 savings have not been measured.

Why core coverage took 66m50s

Phase Time
Cargo builds across configurations 24m13s
Nextest execution 38m32s
Final LCOV merge and presence checks 32s
Setup and other overhead 3m33s

Of 10,101 core tests, 396 mostly passing cases above ten seconds consumed 92.9% of summed core-test process time, while 9,184 cases finished within 100ms. The same slow pattern exists in the earlier manual runs, so this is not evidence of a newly introduced storage regression. The CLI configuration took 10m19.8s; 24 serialized failing agent-harness cases accounted for 600.1s. Source confirms 60s approval-event and 120s subagent-event waits; these figures do not prove every wait has the same cause.

The lane also paid for nine sequential Cargo build invocations. CLI inventory alone built for 3m03s, followed by another 20.63s of build work before execution. Feature/fingerprint evidence is needed before calling this redundant or combining configurations; product/default coverage must remain separate. No failure-triggered retry loop was found.

Concrete startup cost and controlled local measurement

A bounded local stack sample found module admission hashing the entire ~352MB test executable through unoptimized software SHA-256. The digest cache is per process, while nextest launches each test in a fresh process. The actual CI revision has the same linked-storage source blob and TinyBus gitlink as the profiled checkout; its Cargo summaries also explicitly report the unoptimized test profile.

One controlled local macOS pair used identical source, configuration, features and checksum-verified TinyFlows 0.8.23 bytes, with module downloads forbidden inside tests. Only SHA-256 compiler optimization changed:

Same managed-inference regression SHA2 opt0 SHA2 opt3
Test executable wall 15.61s 5.83s
User CPU 11.40s 1.69s
Libtest body 12.49s 2.40s

Both ran exactly one passing case. Observed reductions were 62.65% wall and 85.18% user CPU. Source/artifact hashes were independently recomputed; all 521 compiler-artifact records match except the two resolved SHA-256 optimization levels. Preflight verification is outside executable timing. This is one warmed local pair, not Linux coverage evidence or a full-suite projection. Earlier observations with unfrozen module inputs are superseded.

Follow-up fixes and validation

Local fixes synchronize SHA-256 dev/test optimization between root and standalone app manifests, install the omitted TinyHumans managed provider in the in-process harness fixture, and disable module downloads during cases while using authentic pre-staged release artifacts. Independent fresh checks passed the offline policy regression, actual managed inference and unchanged approval flow; seven existing hashing vectors also passed. No implementation dependency, linked/source override, skipped test, shortened deadline or digest-verification bypass was added. Release/CI profiles remain unchanged.

Whole-job Tinymold counters were 47.5% hits (2,785/5,863 cacheable compiles; 371 remote), 3,078 misses and zero cache errors; save took 22s. These counters cannot attribute core-lane cache behavior. Artifact ZIP SHA-256 was checked against GitHub metadata during safe structural collection.

The upstream storage-contract repair and TinyBox compatibility work remain prerequisites for a passing full run. The foundation PR #60 is approved and its ten build jobs passed; the review-service rerun is currently in progress following its earlier timeout. No full passing repeat has run. The next comparison must prove the same actual checkout, resources and complete test/coverage inventory, and report cache state and queue time separately.

Next measurement

  1. Land the upstream prerequisites and publish the prepared local fixes.
  2. Run the complete EX63 workflow with all tests, product/default configurations, coverage outputs and existing serialization preserved.
  3. Repeat at the same actual checkout and resource allocation, recording compiler/cache state, per-phase and per-test timings, and queue time separately.
  4. Investigate remaining compilation cost with Cargo timings and fingerprint evidence; do not infer core-lane cache misses from whole-job counters.

The controlled local result supports the optimization for the measured fixture. It does not establish how many minutes the complete Linux lane will save or that its other failures are resolved.

Add a comment noting that timing probes touch this workflow to select every CI area, and that comparisons should use actual checkout SHAs, runner resources, cache counters and complete job times.

Auto-committed-on: macbook
@tinysweeper

tinysweeper Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Tiny Sweeper review

Comment-only change to the header of `.github/workflows/ci-lanes.yml`. All lanes report no findings: the two added lines change no triggers, permissions, actions, step inputs or shell commands and interpolate no untrusted contexts, so workflow behaviour and security surface are unchanged. The PR title and body match the diff, with the longer measurement narrative explicitly attributed to unpushed local work.

State: Ready for maintainer review
Priority: none
Reviewed head: e5e6dace5665
Updated: 2026-10-18T14:22:37Z

Review snapshot

Change surface Files Review signal Count
Production 0 Active findings 0
Tests 0 Noted findings 0
Documentation 0 Resolved findings 0
Configuration 1 Pending checks/questions 0

Completeness: Complete
Test assessment: No supported feature-to-test mapping was available; this does not mean tests are absent or passed.

Features

  • Added — Header comment documenting all-area timing probes: Documentation only: adds guidance that touching this workflow selects every CI area and lists what a timing probe should compare. No trigger, permission, action pin, step input or shell command is altered, so workflow behaviour is unchanged and nothing in the change is executable. (.github/workflows/ci-lanes.yml)

Tests

No supported feature-to-test mapping was produced. Test execution is not inferred.

Findings

No active actionable findings.

Before merge

None.

Agent review details

critique

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Lane summary: The diff adds only two comment lines to the header of `.github/workflows/ci-lanes.yml`; it changes no triggers, permissions, actions, or steps, so there is no executable behavior to review and nothing that widens permissions, unpins an action, or interpolates untrusted context into a shell. No findings. _The code index is behind this pull request (indexed at `e5e6dace5665`), so retrieved context may be out of date._

security

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Positive: No permissions widening, no new or unpinned actions, no new shell steps and no interpolation of untrusted contexts are introduced by the comment addition.
  • Lane summary: The change adds two comment lines to `.github/workflows/ci-lanes.yml` and nothing else: no permission changes, no new actions, no shell steps, no interpolation of untrusted context. There is nothing in this diff to report. _The code index is behind this pull request (indexed at `e5e6dace5665`), so retrieved context may be out of date._

tests

  • Conclusion: Neutral
  • Scope reviewed: all assigned evidence
  • Lane summary: No behavioural change: nothing outside documentation, configuration and tests.

commits

  • Conclusion: Neutral
  • Scope reviewed: all assigned evidence
  • Lane summary: Nothing sensitive found in what this pull request commits.

description

  • Conclusion: Success
  • Scope reviewed: all assigned evidence
  • Positive: The title and body describe a comment identifying the timing-probe path with no change to commands, test selection, resources or cache policy, which agrees with the diff; the long measurement narrative is explicitly attributed to unpushed local work rather than to this change.
  • Lane summary: The diff adds only two comment lines to the ci-lanes.yml header, and the pull-request body explicitly says so: "The remote change currently identifies the timing-probe path; it changes no test selection, commands, resources or cache policy." That matches the diff exactly — a comment introduces no permissions widening, no new or unpinned action, and no shell interpolation, so the .github/workflows lane's checks are all clear, and the body's long measurement report is disclosed as evidence for local, not-yet-pushed follow-up work. I found no defect worth reporting; the description is accurate about what this change does, even though the measurement narrative is far larger than the two-line diff. _The code index is behind this pull request (indexed at `e5e6dace5665`), so retrieved context may be out of date._
Evidence and run details
  • Models: ladder/vectors-oai3, deepseek-v4.1-flash
  • Spend: $0.000982
  • Tokens: 49556 input · 5274 output · 12672 cached · 40 embedding
Head State Pass summary
e5e6dace5665 ready for maintainer review 0 active finding(s), 0 resolved finding(s) (at 2026-10-18T10:46:21Z)
e5e6dace5665 ready for maintainer review 0 active finding(s), 0 resolved finding(s) (at 2026-10-18T13:23:25Z)
e5e6dace5665 ready for maintainer review 0 active finding(s), 0 resolved finding(s) (at 2026-10-18T13:59:16Z)
e5e6dace5665 ready for maintainer review 0 active finding(s), 0 resolved finding(s) (at 2026-10-18T14:17:55Z)
e5e6dace5665 ready for maintainer review 0 active finding(s), 0 resolved finding(s) (at 2026-10-18T14:22:37Z)

tinysweeper 0.1.2

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-18T07:01:26.377643Z e5e6dac PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@coderabbitai

coderabbitai Bot commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: d4427ae8-a75c-4df8-99e7-32d4d9d53237
📥 Commits

Reviewing files that changed from the base of the PR and between 47d5991 and e5e6dac.

📒 Files selected for processing: 1
  • .github/workflows/ci-lanes.yml

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 5 remain after this review.

📝 Walkthrough

The CI workflow comment now describes which areas timing probes select and which values they compare. No executable workflow behavior changed.

Changes: CI timing probe description

Layer / File(s) Summary
Describe timing probe comparisons
.github/workflows/ci-lanes.yml
The comment states that timing probes select every CI area and compare checkout SHAs, runner resources, cache counters, and complete job times.

Priority: ⬇️ Low

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Other

Suggested reviewers: oxoxdev

Merge Risk: ⚪ Minimal · up to e5e6d

This PR changes CI timing-probe guidance without changing workflow execution. The area-selection description is supported, and no actionable merge-blocking risk is established.

### Architecture Summary

Architecture risk: 🔵 Low · up to e5e6d

The changed surface does not map to a changed system, dependency edge, entrypoint, or external dependency.

Changed systems: None identified.

Architecture concerns
No architecture-level concerns identified.

Review details

Before / after behavior

  • observed — Modified behavior in .github/workflows/ci-lanes.yml: Replaces the blank comment lines with a description of timing probes and the values they compare.
Pre-merge checks: Passed 5
Check name Status Explanation
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly identifies the CI measurement of the merged EX63 workflow and the warm repeat, which matches the pull request objectives and changes.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

A rabbit checks the timing note,
And marks each runner, cache, and vote.
Checkout SHAs join the line,
Complete job times compare just fine.
The CI comment now says what probes show,
Then off through clover fields I go.

Comment @coderabbitai help to get the list of available commands.

@tinysweeper tinysweeper Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tinysweeper found nothing blocking. Approving.

             $0.0010 · 51,257 in / 2,703 out · 18,816 cached (37%) · ladder/vectors-oai3, deepseek-v4.1-flash · 40 embedded
critique:    $0.0005 · 31,542 in / 1,016 out · 14,592 cached (46%) · deepseek-v4.1-flash
security:    $0.0003 · 13,528 in / 428 out   · 2,176 cached (16%)  · deepseek-v4.1-flash
description: $0.0001 · 4,797 in  / 658 out   · 2,048 cached (43%)  · deepseek-v4.1-flash

@tinysweeper tinysweeper Bot added the priority: p3 Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect. label Oct 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

priority: p3 Whenever. Cosmetic, a nicety, or a cleanup with no user visible effect.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant