Skip to content

Conversation

@kevintatagiba-plank
Copy link

@kevintatagiba-plank kevintatagiba-plank commented Jan 22, 2026

Note

Introduces a new TypeScript qa-agent template for automated website QA using Claude/GPT-4o/Gemini vision models, with JSON/HTML reporting and a local web UI.

  • Adds qa-agent to template registry and deploy/invoke commands in templates.go
  • Implements index.ts action qa-test: browser automation (Kernel + Playwright), compliance/policy/broken-UI checks, and report generation
  • Provides a web UI (ui/server.js, index.html, app.js, styles.css) with SSE progress and report export
  • Includes project config: package.json, tsconfig.json, env.example, _gitignore, and lockfile
  • Updates root .gitignore to ignore .pnpm-store

Written by Cursor Bugbot for commit 8f415d8. This will update automatically on new commits. Configure here.

@kevintatagiba-plank
Copy link
Author

kevintatagiba-plank commented Jan 22, 2026

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 3 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

category: "compliance",
complianceType: "accessibility",
standard: issue.standard,
description: issue.description,
Copy link

Choose a reason for hiding this comment

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

Missing AI response validation crashes report generation

Medium Severity

When constructing issues from AI responses, description: issue.description is assigned directly without a fallback (unlike severity which uses || "info"). Since parseAIResponse returns any[], the AI could return objects missing the description field. Later, escapeHtml(issue.description) is called unconditionally in renderIssue, and calling text.replace() on undefined throws a TypeError. This crashes report generation even when all analysis checks completed successfully.

Additional Locations (1)

Fix in Cursor Fix in Web

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