Skip to content

fix: Add elapsed time logging for strix fallback models - #334

Merged
seonghobae merged 8 commits into
masterfrom
fix-timing-message-6886424466314046273
Jun 2, 2026
Merged

fix: Add elapsed time logging for strix fallback models#334
seonghobae merged 8 commits into
masterfrom
fix-timing-message-6886424466314046273

Conversation

@seonghobae

@seonghobae seonghobae commented Jun 1, 2026

Copy link
Copy Markdown
Contributor
  • Adds fallback_elapsed timing message to Strix quick scan output for fallback models
  • Modifies test assertion to verify fallback success message timestamp logic
  • Normalizes primary and fallback timing test messages

PR created automatically by Jules for task 6886424466314046273 started by @seonghobae

Summary by CodeRabbit

  • Chores
    • Fallback success messages now include timing details so scan durations are visible.
  • Tests
    • Test expectations updated to accept the new, timing-inclusive success message format across fallback scenarios.

@google-labs-jules

Copy link
Copy Markdown
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@coderabbitai

coderabbitai Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@seonghobae, we couldn't start this review because you've reached your PR review rate limit.

More reviews will be available in 9 minutes and 54 seconds. Learn how PR review limits work.

Your organization has run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available.

Please see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 6abd7209-3a02-4b09-b77d-67f4383b6b19

📥 Commits

Reviewing files that changed from the base of the PR and between a5598e4 and 1f0a7fb.

📒 Files selected for processing (4)
  • .github/workflows/strix.yml
  • backend/tests/test_release_governance.py
  • scripts/ci/strix_quick_gate.sh
  • scripts/ci/test_strix_quick_gate.sh
📝 Walkthrough

Walkthrough

The strix quick gate now records a per-attempt start time for fallback scans, computes elapsed seconds after a successful fallback, and prints a stderr success message that includes the fallback model name and elapsed duration. Test expectations are updated to match the new message prefix ending with "in " before the variable timing text.

Changes

Fallback timing measurement

Layer / File(s) Summary
Fallback timing capture and success message
scripts/ci/strix_quick_gate.sh
When a fallback model succeeds, the script captures a start timestamp, computes elapsed seconds, and outputs a stderr success message containing the fallback model name and measured duration.
Test case expectations for fallback timing messages
scripts/ci/test_strix_quick_gate.sh
Multiple test assertions (16 ranges) that validate fallback success messages were changed to match only the fixed prefix ending with in to allow the variable elapsed-time string appended by the implementation.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • Seongho-Bae/naruon#315: Updates Strix quick gate fallback messaging and test expectations related to output formatting.
  • Seongho-Bae/naruon#312: Modifies run_current_target_scan control flow in the same strix quick gate script.

Poem

🐰 I timed the hops and counted the ticks,
FallBacks now tell of their speedy tricks.
Tests trimmed their tails to match the flow,
A little runtime bloom — watch timing glow.
Hooray, small changes — quick and neat!

🚥 Pre-merge checks | ✅ 4
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main change: adding elapsed time logging for strix fallback models, which is reflected in both modified files.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix-timing-message-6886424466314046273

Warning

Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption.


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

@github-actions

github-actions Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

PR governance metadata gate is not ready for 1f0a7fb7889bccccae609b72499ab00dab1b35c6:

  • Merge state is UNKNOWN; resolve conflicts or refresh mergeability.
  • Current-head CodeRabbit issue comment has blocking warning/failure evidence on 1f0a7fb.

coderabbitai[bot]
coderabbitai Bot previously approved these changes Jun 1, 2026
…6886424466314046273

# Conflicts:
#	scripts/ci/strix_quick_gate.sh
coderabbitai[bot]
coderabbitai Bot previously requested changes Jun 2, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
scripts/ci/test_strix_quick_gate.sh (1)

4663-4670: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Keep asserting that a duration is actually present.

These checks now pass even if the gate logs ... in with nothing after it, so the new elapsed-time contract is no longer covered. Switching these timing assertions to a regex-style helper that requires some non-empty suffix after in would keep the tests tolerant without making them this loose.

Also applies to: 4699-4706, 4727-4734, 5608-5615, 6829-6837

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/ci/test_strix_quick_gate.sh` around lines 4663 - 4670, The test
currently asserts the success message string ending with "in " which allows an
empty duration; update the assertion used in run_gate_case so the success
message requires a non-empty duration suffix (e.g., match "in " followed by
one-or-more characters or digits) — replace the exact trailing "in " expectation
with a regex-style check such as "in .+" (or use a helper that validates a
non-empty elapsed-time token) for the case
"vertex-primary-notfound-fallback-success" and apply the same change to the
other occurrences you noted (lines for the other run_gate_case invocations).
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@scripts/ci/test_strix_quick_gate.sh`:
- Around line 4882-4893: The test cases invoking
run_gate_case_allow_provider_signal for Gemini success paths (e.g., the
"gemini-timeout-direct-fallback-success" invocation) currently only assert fake
scanner stdout; update these cases to also assert the gate log contains the
fallback timing message (the "succeeded with fallback model ... in ..." pattern)
the same way Vertex/GitHub model cases do. Locate the three Gemini blocks (the
one starting with "gemini-timeout-direct-fallback-success" and the blocks at the
other two ranges mentioned) and add the same assertion/check that inspects the
gate stdout/log for the "succeeded with fallback model" message including the
fallback model name and timing, ensuring the pattern matches the existing
Vertex/GitHub assertions so regressions in the Gemini fallback-success timing
log are caught.

---

Outside diff comments:
In `@scripts/ci/test_strix_quick_gate.sh`:
- Around line 4663-4670: The test currently asserts the success message string
ending with "in " which allows an empty duration; update the assertion used in
run_gate_case so the success message requires a non-empty duration suffix (e.g.,
match "in " followed by one-or-more characters or digits) — replace the exact
trailing "in " expectation with a regex-style check such as "in .+" (or use a
helper that validates a non-empty elapsed-time token) for the case
"vertex-primary-notfound-fallback-success" and apply the same change to the
other occurrences you noted (lines for the other run_gate_case invocations).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 0de83291-cd5f-4542-a102-5d0ce28dfbcf

📥 Commits

Reviewing files that changed from the base of the PR and between dd72336 and a5598e4.

📒 Files selected for processing (2)
  • scripts/ci/strix_quick_gate.sh
  • scripts/ci/test_strix_quick_gate.sh
🚧 Files skipped from review as they are similar to previous changes (1)
  • scripts/ci/strix_quick_gate.sh

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Caution

Inline review comments failed to post. This is likely due to GitHub's internal server error or limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.

Actionable comments posted: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
scripts/ci/test_strix_quick_gate.sh (1)

4663-4670: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Keep asserting that a duration is actually present.

These checks now pass even if the gate logs ... in with nothing after it, so the new elapsed-time contract is no longer covered. Switching these timing assertions to a regex-style helper that requires some non-empty suffix after in would keep the tests tolerant without making them this loose.

Also applies to: 4699-4706, 4727-4734, 5608-5615, 6829-6837

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/ci/test_strix_quick_gate.sh` around lines 4663 - 4670, The test
currently asserts the success message string ending with "in " which allows an
empty duration; update the assertion used in run_gate_case so the success
message requires a non-empty duration suffix (e.g., match "in " followed by
one-or-more characters or digits) — replace the exact trailing "in " expectation
with a regex-style check such as "in .+" (or use a helper that validates a
non-empty elapsed-time token) for the case
"vertex-primary-notfound-fallback-success" and apply the same change to the
other occurrences you noted (lines for the other run_gate_case invocations).
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@scripts/ci/test_strix_quick_gate.sh`:
- Around line 4882-4893: The test cases invoking
run_gate_case_allow_provider_signal for Gemini success paths (e.g., the
"gemini-timeout-direct-fallback-success" invocation) currently only assert fake
scanner stdout; update these cases to also assert the gate log contains the
fallback timing message (the "succeeded with fallback model ... in ..." pattern)
the same way Vertex/GitHub model cases do. Locate the three Gemini blocks (the
one starting with "gemini-timeout-direct-fallback-success" and the blocks at the
other two ranges mentioned) and add the same assertion/check that inspects the
gate stdout/log for the "succeeded with fallback model" message including the
fallback model name and timing, ensuring the pattern matches the existing
Vertex/GitHub assertions so regressions in the Gemini fallback-success timing
log are caught.

---

Outside diff comments:
In `@scripts/ci/test_strix_quick_gate.sh`:
- Around line 4663-4670: The test currently asserts the success message string
ending with "in " which allows an empty duration; update the assertion used in
run_gate_case so the success message requires a non-empty duration suffix (e.g.,
match "in " followed by one-or-more characters or digits) — replace the exact
trailing "in " expectation with a regex-style check such as "in .+" (or use a
helper that validates a non-empty elapsed-time token) for the case
"vertex-primary-notfound-fallback-success" and apply the same change to the
other occurrences you noted (lines for the other run_gate_case invocations).
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 0de83291-cd5f-4542-a102-5d0ce28dfbcf

📥 Commits

Reviewing files that changed from the base of the PR and between dd72336 and a5598e4.

📒 Files selected for processing (2)
  • scripts/ci/strix_quick_gate.sh
  • scripts/ci/test_strix_quick_gate.sh
🚧 Files skipped from review as they are similar to previous changes (1)
  • scripts/ci/strix_quick_gate.sh
🛑 Comments failed to post (1)
scripts/ci/test_strix_quick_gate.sh (1)

4882-4893: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Assert the fallback timing message in the Gemini success paths too.

These cases still only verify the fake scanner stdout, so a regression in the new fallback-success timing log for Gemini fallbacks would go unnoticed. They should assert the gate's succeeded with fallback model ... in ... message the same way the Vertex/GitHub Models cases do.

Also applies to: 4895-4907, 4908-4935

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@scripts/ci/test_strix_quick_gate.sh` around lines 4882 - 4893, The test cases
invoking run_gate_case_allow_provider_signal for Gemini success paths (e.g., the
"gemini-timeout-direct-fallback-success" invocation) currently only assert fake
scanner stdout; update these cases to also assert the gate log contains the
fallback timing message (the "succeeded with fallback model ... in ..." pattern)
the same way Vertex/GitHub model cases do. Locate the three Gemini blocks (the
one starting with "gemini-timeout-direct-fallback-success" and the blocks at the
other two ranges mentioned) and add the same assertion/check that inspects the
gate stdout/log for the "succeeded with fallback model" message including the
fallback model name and timing, ensuring the pattern matches the existing
Vertex/GitHub assertions so regressions in the Gemini fallback-success timing
log are caught.

@seonghobae
seonghobae dismissed coderabbitai[bot]’s stale review June 2, 2026 10:55

Dismiss stale CodeRabbit review: timing assertions were tightened in c731fb7 and current-head CodeRabbit status succeeded.

@seonghobae
seonghobae enabled auto-merge June 2, 2026 11:00
@seonghobae
seonghobae temporarily deployed to fix-timing-message-6886424466314046273 - naruon PR #334 June 2, 2026 11:20 — with Render Destroyed
@seonghobae
seonghobae merged commit 8a62fbe into master Jun 2, 2026
15 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant