fix(ci) make manual speed profiles trustworthy - #678
Open
davide221 wants to merge 1 commit into
Open
Conversation
Contributor
There was a problem hiding this comment.
1 issue found across 2 files
You’re at about 90% of the monthly reviewed-line limit. You may want to disable incremental reviews to conserve quota. Reviews will continue until that limit is exceeded. If you need help avoiding interruptions, please contact contact@cubic.dev.
Prompt for AI agents (unresolved issues)
Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.
<file name=".github/workflows/speed-profile.yml">
<violation number="1" location=".github/workflows/speed-profile.yml:224">
P2: When `profile.json` contains a truthy `regression` object but lacks `summary.noise` or headline metrics, this manual gate accepts it as valid evidence. Validate the required report schema and metric values before applying the regression and noise checks.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
| "Treat small deltas as below the profiler detection threshold.") | ||
| if os.environ.get("GITHUB_EVENT_NAME") == "workflow_dispatch": | ||
| failures = [] | ||
| if not reg: |
Contributor
There was a problem hiding this comment.
P2: When profile.json contains a truthy regression object but lacks summary.noise or headline metrics, this manual gate accepts it as valid evidence. Validate the required report schema and metric values before applying the regression and noise checks.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/speed-profile.yml, line 224:
<comment>When `profile.json` contains a truthy `regression` object but lacks `summary.noise` or headline metrics, this manual gate accepts it as valid evidence. Validate the required report schema and metric values before applying the regression and noise checks.</comment>
<file context>
@@ -197,6 +219,17 @@ jobs:
"Treat small deltas as below the profiler detection threshold.")
+ if os.environ.get("GITHUB_EVENT_NAME") == "workflow_dispatch":
+ failures = []
+ if not reg:
+ failures.append("the baseline comparison is missing")
+ elif reg.get("regressed"):
</file context>
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.
Summary
Why
The workflow defaulted to
/opt/models, which was absent on the RTX runner, so profiles could finish green after skipping all measurements. It also had job-levelcontinue-on-error: true, which made manual runs unable to act as promotion evidence.The repository now points
LUCEBOX_MODELS_DIRat the staged GGUF files andLUCEBOX_SPEED_BASELINEat a verified main profile stored outside the PR checkout.Validation
git diff --checkpassesprofile.jsonfails manual modeCorrectness caveat
Main and this branch reproducibly diverge from greedy AR on
has_close_elementsat token 44 andsum_productat token 28. The profiler cannot yet classify those as near-tie floating-point flips versus an engine bug because the binaries do not expose the logit gap. The workflow keeps that signal visible as a warning rather than pretending it is resolved.