FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Feat/qa agent by kevintatagiba-plank · Pull Request #92 · kernel/cli · GitHub

/ cli Public

Feat/qa agent - #92

Open
kevintatagiba-plank wants to merge 12 commits into
kernel:mainfrom
kevintatagiba-plank:feat/qa-agent
Open

Feat/qa agent#92
kevintatagiba-plank wants to merge 12 commits into
kernel:mainfrom
kevintatagiba-plank:feat/qa-agent

Conversation

kevintatagiba-plank commented Jan 22, 2026
edited by cursor Bot
Loading

Copy link
Copy Markdown

Note

Medium Risk
Mostly additive template code, but it updates the central template registry; the templates.go changes look syntactically incomplete in the diff (missing closing braces), which could break builds if not corrected.

Overview
Adds a new qa-agent TypeScript template that runs a Kernel-based visual QA workflow: it opens a Kernel browser session, uses Anthropic Computer Use to navigate/capture screenshots, then analyzes the final screenshot with a selectable vision provider (Claude/GPT-4o/Gemini) to produce structured issues plus JSON/HTML report generation helpers.

Wires the template into pkg/create/templates.go (metadata + default invoke command), adds template-specific docs/config (README.md, TESTING.md, env.example, package manifests/lockfiles), and updates .gitignore to ignore .pnpm-store.

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

kevintatagiba-plank commented Jan 22, 2026
edited
Loading

Copy link
Copy Markdown
Author

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

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)

 

version: 1.57.0
zod:
specifier: ^4.2.0
version: 4.3.5

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Lock file mismatches package.json dependency versions

Medium Severity

The pnpm-lock.yaml specifiers don't match package.json dependencies. Key mismatches: @anthropic-ai/sdk is ^0.52.0 in package.json but ^0.30.1 in pnpm-lock.yaml; zod is ^3.23.8 in package.json but ^4.2.0 in pnpm-lock.yaml (major version difference with breaking changes); luxon is in package.json but missing from pnpm-lock.yaml; playwright-core appears in pnpm-lock.yaml but not in package.json. Users installing with pnpm will get unexpected versions or installation failures.

Additional Locations (1)

 

cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Cursor Bugbot has reviewed your changes and found 1 potential issue.

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


async stop(): Promise<SessionInfo> {
const info = this.info;

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

Session stop() throws before checking if session exists

Medium Severity

The stop() method calls this.info on line 85 before checking if (this._sessionId) on line 87. The info getter accesses this.sessionId, which throws an error if _sessionId is null. This means calling stop() twice or calling it without first calling start() will throw an unhelpful "Session not started" error instead of being handled gracefully by the existing null check. The control flow is inverted - the safety check happens after the code that needs protection.

 

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
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


Back | FazBrowse Home | New Git URL