Skip to content

[Android Maintenance] Fix reasoning_effort enum for Duck.ai prompt submitted pixels#8966

Merged
malmstein merged 1 commit into
developfrom
feature/maintenance/fix-reasoning-effort-pixel-enum-1ecbb8ec0a885fdc
Jun 23, 2026
Merged

[Android Maintenance] Fix reasoning_effort enum for Duck.ai prompt submitted pixels#8966
malmstein merged 1 commit into
developfrom
feature/maintenance/fix-reasoning-effort-pixel-enum-1ecbb8ec0a885fdc

Conversation

@daxmobile

@daxmobile daxmobile commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

Task/Issue URL: https://app.asana.com/1/137249556945/project/1213746476312668/task/1215891186389639

Description

Live pixel validation reported that m_aichat_unified_input_prompt_submitted_count and m_aichat_unified_input_prompt_submitted_daily were failing with /reasoning_effort must be equal to one of the allowed values.

Root cause: the reasoning_effort parameter on these two pixels is populated by NativeInputModeWidgetViewModel.fireSubmissionPixels()getResolvedReasoningEffort(), which returns ReasoningEffort.rawValue — one of none, minimal, low, medium, high (the same resolved effort value that is sent to the backend via sendPrompt). However, the pixel definition declared the enum as ["fast", "reasoning", "extended_reasoning"], which are the ReasoningMode raw values. Those mode values are correctly used by the separate m_aichat_unified_input_reasoning_effort_selected pixel's effort_level parameter (ReasoningMode.toEffortParam()), but not by the prompt-submitted pixels.

This change aligns the reasoning_effort enum on both prompt-submitted pixel definitions with the actual wire values (ReasoningEffort raw values). No code behaviour changes — only the definition in PixelDefinitions/pixels/definitions/duck_chat.json5 is updated. The unrelated reasoning_effort_selected pixel's effort_level enum is intentionally left untouched.

🤖 Android Maintenance Worker

Steps to test this PR

Lint / formatting

  • cd PixelDefinitions && npm run lint (prettier — passes locally)
  • cd PixelDefinitions && npm run validate-defs-without-formatting (pixel-schema validation)

Note: only a PixelDefinitions JSON5 file changed (no Kotlin/Android source), so ./gradlew spotlessCheck / lint_check have nothing applicable to check for this change. npm run lint (prettier) passed locally; npm run validate-defs-without-formatting could not complete in the sandbox because it fetches the live target app version over the network (ERROR in product.json target version: fetch failed), which the CI sandbox firewall blocks — this is unrelated to the change and will run on CI.

UI changes

Before After
No UI changes No UI changes

Note

🔒 Integrity filter blocked 3 items

The following items were blocked because they don't meet the GitHub integrity level.

  • #8942 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #8860 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #8844 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".

To allow these resources, lower min-integrity in your GitHub frontmatter:

tools:
  github:
    min-integrity: approved  # merged | approved | unapproved | none

Generated by Android Maintenance Worker ·


Note

Low Risk
Schema-only change in PixelDefinitions with no Android runtime behavior changes; it restores validation for analytics events already emitted by the app.

Overview
Fixes live pixel validation failures on m_aichat_unified_input_prompt_submitted_count and m_aichat_unified_input_prompt_submitted_daily by updating the reasoning_effort parameter schema in duck_chat.json5.

The allowed values change from fast / reasoning / extended_reasoning (UI ReasoningMode) to none / minimal / low / medium / high, matching what the app already sends via getResolvedReasoningEffort() (ReasoningEffort raw values). The parameter description now says resolved reasoning effort. m_aichat_unified_input_reasoning_effort_selected and its effort_level enum are unchanged.

Reviewed by Cursor Bugbot for commit e704fae. Bugbot is set up for automated code reviews on this repo. Configure here.

The m_aichat_unified_input_prompt_submitted_count and _daily pixels
populate reasoning_effort from getResolvedReasoningEffort(), which
returns ReasoningEffort.rawValue (none/minimal/low/medium/high) - the
same value sent to the backend. The definition incorrectly declared the
enum as the ReasoningMode values (fast/reasoning/extended_reasoning),
causing live validation to fail. Align the enum with the actual wire
values.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@malmstein malmstein marked this pull request as ready for review June 23, 2026 08:42
@malmstein malmstein self-assigned this Jun 23, 2026
@malmstein malmstein merged commit 7f40b6c into develop Jun 23, 2026
22 of 24 checks passed
@malmstein malmstein deleted the feature/maintenance/fix-reasoning-effort-pixel-enum-1ecbb8ec0a885fdc branch June 23, 2026 08:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants