Skip to content

fix(pixel-agent-teams): guard non-dict input in project_receipts_valid validation - #5745

Closed
Vishaaallll wants to merge 1 commit into
Osmantic:public-betafrom
Vishaaallll:fix/pixel-agent-teams-project-receipts-type
Closed

Vishaaallll wants to merge 1 commit into
Osmantic:public-betafrom
Vishaaallll:fix/pixel-agent-teams-project-receipts-type

Conversation

@Vishaaallll

Copy link
Copy Markdown
Contributor

Why this matters

In ods/extensions/services/dashboard-api/pixel_agent_teams.py, project_receipts_valid(task) invokes task.get('projects') directly without verifying that task is a dict. When non-dict values (such as corrupted JSON strings or None) are supplied, an unhandled AttributeError is raised instead of returning False as expected by fail-closed validation callers.

This surgical fix adds if not isinstance(task, dict): return False, ensuring robust validation behavior.

Validation

  • Baseline reproduction: verified that project_receipts_valid(None) triggered AttributeError on baseline.
  • Post-fix behavior: returns False cleanly for non-dict task objects.
  • Telemetry: pixel-teams suite: 2 passed. New-test syntax and diff checks pass; new regression wired into Linux CI.

Overlap check

Inspected open/closed PRs. PR #5735 verified question option duplicates; zero overlap with project receipts validation.

Risk / AI disclosure

AI-assisted investigation, patch, and regression tests. Enforces fail-closed type validation for workspace receipts. Independent review remains a gate.

Follow-up integration evidence

Composed locally with public-beta at 4fa6ad170 without conflicts. CI and unit checks pass.

…d validation

Signed-off-by: Vishaaallll <Vishaaallll@users.noreply.github.com>
@Lightheartdevs

Copy link
Copy Markdown
Collaborator

Thanks for this contribution. public-beta was promoted into main on 2026-09-24 and no longer receives changes, so we're closing pull requests that target it. This isn't a judgment on the change itself. If it's still needed, please rebase onto main and open a focused PR. See #7253 for details and the contribution policy.

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.

2 participants