Skip to content

[Android Maintenance] Allow reasoning mode values in unified input prompt_submitted reasoning_effort pixel#9019

Closed
daxmobile wants to merge 1 commit into
developfrom
feature/maintenance/duckchat-reasoning-effort-pixel-enum-38c7f3246c1129e0
Closed

[Android Maintenance] Allow reasoning mode values in unified input prompt_submitted reasoning_effort pixel#9019
daxmobile wants to merge 1 commit into
developfrom
feature/maintenance/duckchat-reasoning-effort-pixel-enum-38c7f3246c1129e0

Conversation

@daxmobile

Copy link
Copy Markdown
Collaborator

Task/Issue URL: https://app.asana.com/1/137249556945/project/1202552961248957/task/1215891186389639
Tech Design URL (if applicable):

Description

The pixels m_aichat_unified_input_prompt_submitted_count and m_aichat_unified_input_prompt_submitted_daily failed live validation with:

/reasoning_effort must be equal to one of the allowed values

Root cause: the reasoning_effort parameter on these pixels was declared with the enum ["none", "minimal", "low", "medium", "high"] (the ReasoningEffort rawValues). However, the Duck.ai reasoning feature has a second, user-facing vocabulary — the ReasoningMode rawValues fast / reasoning / extended_reasoning (see Reasoning.kt). That same mode vocabulary is what the sibling pixel m_aichat_unified_input_reasoning_effort_selected already documents for its effort_level parameter, and what the firePromptSubmitted unit test passes for reasoningEffort ("fast"). The only reasoning vocabularies in the feature are these two, so the live values failing the effort-only enum are the reasoning mode values.

Fix: widen the reasoning_effort enum on both pixels to the union of the effort and mode values (["none", "minimal", "low", "medium", "high", "fast", "reasoning", "extended_reasoning"]) and update the description accordingly, so field data from all app versions validates.

This is a pixel-definition (JSON5) change only — no Kotlin/app code is touched, so there is no behaviour change. Adding values to a validation enum is non-breaking: it only widens what validation accepts and cannot affect any currently-valid pixels.

🤖 Android Maintenance Worker

Steps to test this PR

Pixel definition validation

  • cd PixelDefinitions && npm ci
  • npm run validate-defs-without-formatting — schema validation
  • npm run lint — Prettier formatting check

Note: npm run lint (Prettier) passes locally. validate-defs-without-formatting could not complete in the sandbox because it fetches the product target version over the network (ERROR in product.json target version: fetch failed) — an infrastructure/firewall limitation unrelated to this change, which occurs before any definition is validated. CI runs this check with network access. No Gradle/spotless/unit-test changes apply because no Kotlin sources were modified.

UI changes

Before After
No UI changes No UI changes

Note

🔒 Integrity filter blocked 17 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".
  • #7961 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #7835 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #7825 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #7785 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #7744 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #7462 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #7446 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #7433 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #7264 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #7085 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #6890 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #6870 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • #5621 list_pull_requests: has lower integrity than agent requires. The agent cannot read data with integrity below "approved".
  • ... and 1 more item

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 ·

…ng_effort pixel

The m_aichat_unified_input_prompt_submitted_count and _daily pixels failed
live validation: reasoning_effort carries values outside the declared enum.
The only other reasoning vocabulary in the feature is the ReasoningMode
rawValues (fast/reasoning/extended_reasoning), which the sibling
reasoning_effort_selected pixel and the firePromptSubmitted unit test already
use. Widen the enum to the union of effort and mode values so field data from
all app versions validates. Definition-only change; no behaviour change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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