@bugzy-ai/bugzy 1.19.3 → 1.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +273 -273
- package/dist/cli/index.cjs +76 -8
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.js +75 -7
- package/dist/cli/index.js.map +1 -1
- package/dist/index.cjs +73 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +73 -5
- package/dist/index.js.map +1 -1
- package/dist/subagents/index.cjs.map +1 -1
- package/dist/subagents/index.js.map +1 -1
- package/dist/subagents/metadata.cjs.map +1 -1
- package/dist/subagents/metadata.js.map +1 -1
- package/dist/tasks/index.cjs +27 -4
- package/dist/tasks/index.cjs.map +1 -1
- package/dist/tasks/index.js +27 -4
- package/dist/tasks/index.js.map +1 -1
- package/dist/templates/init/.bugzy/runtime/knowledge-base.md +61 -0
- package/dist/templates/init/.bugzy/runtime/knowledge-maintenance-guide.md +97 -0
- package/dist/templates/init/.bugzy/runtime/project-context.md +35 -0
- package/dist/templates/init/.bugzy/runtime/subagent-memory-guide.md +87 -0
- package/dist/templates/init/.bugzy/runtime/templates/test-plan-template.md +50 -0
- package/dist/templates/init/.bugzy/runtime/templates/test-result-schema.md +498 -0
- package/dist/templates/init/.bugzy/runtime/test-execution-strategy.md +535 -0
- package/dist/templates/init/.bugzy/runtime/testing-best-practices.md +632 -0
- package/dist/templates/init/.gitignore-template +25 -0
- package/package.json +95 -95
- package/templates/init/.bugzy/runtime/hooks/pre-compact.sh +53 -53
- package/templates/init/.bugzy/runtime/hooks/session-start.sh +68 -68
- package/templates/init/.bugzy/runtime/knowledge-base.md +61 -61
- package/templates/init/.bugzy/runtime/knowledge-maintenance-guide.md +140 -140
- package/templates/init/.bugzy/runtime/project-context.md +35 -35
- package/templates/init/.bugzy/runtime/subagent-memory-guide.md +122 -122
- package/templates/init/.bugzy/runtime/templates/event-examples.md +194 -194
- package/templates/init/.bugzy/runtime/templates/test-plan-template.md +50 -50
- package/templates/init/.bugzy/runtime/templates/test-result-schema.md +498 -498
- package/templates/init/.claude/settings.json +49 -49
- package/templates/init/.env.testdata +18 -18
- package/templates/init/.gitignore-template +24 -24
- package/templates/init/AGENTS.md +155 -155
- package/templates/init/CLAUDE.md +157 -157
- package/templates/init/test-runs/README.md +45 -45
- package/templates/init/tests/CLAUDE.md +199 -199
- package/templates/init/tests/docs/test-execution-strategy.md +535 -535
- package/templates/init/tests/docs/testing-best-practices.md +724 -724
- package/templates/playwright/BasePage.template.ts +190 -190
- package/templates/playwright/auth.setup.template.ts +89 -89
- package/templates/playwright/dataGenerators.helper.template.ts +148 -148
- package/templates/playwright/dateUtils.helper.template.ts +96 -96
- package/templates/playwright/pages.fixture.template.ts +50 -50
- package/templates/playwright/playwright.config.template.ts +97 -97
- package/templates/playwright/reporters/__tests__/bugzy-reporter-failure-classification.test.ts +299 -299
- package/templates/playwright/reporters/__tests__/bugzy-reporter-manifest-merge.test.ts +329 -329
- package/templates/playwright/reporters/__tests__/playwright.config.ts +5 -5
- package/templates/playwright/reporters/bugzy-reporter.ts +784 -784
package/dist/index.js
CHANGED
|
@@ -662,7 +662,7 @@ If intent is not in the payload, detect from message patterns:
|
|
|
662
662
|
| Condition | Intent |
|
|
663
663
|
|-----------|--------|
|
|
664
664
|
| Keywords: "status", "progress", "how did", "results", "how many passed" | \`status\` |
|
|
665
|
-
| Keywords: "bug", "issue", "broken", "doesn't work", "failed", "error" | \`feedback\` |
|
|
665
|
+
| Keywords: "bug", "issue", "broken", "doesn't work", "failed", "error", "wrong triage", "incorrect classification", "dispute", "that was wrong" | \`feedback\` |
|
|
666
666
|
| Question words: "what", "which", "do we have", "is there" about tests/project | \`question\` |
|
|
667
667
|
| Default (none of above) | \`feedback\` |
|
|
668
668
|
|
|
@@ -698,7 +698,26 @@ Extract the following from the message:
|
|
|
698
698
|
- \`suggestion\`: "should", "could we", "what if", "idea"
|
|
699
699
|
- \`general\`: Default for unclassified feedback
|
|
700
700
|
|
|
701
|
-
### Step 2:
|
|
701
|
+
### Step 2: Check for Dispute Intent
|
|
702
|
+
|
|
703
|
+
Before processing other feedback types, check if the message is disputing a prior triage finding (e.g., "that triage was wrong", "the login timeout is actually CI flakiness not a product bug", "incorrect classification for...").
|
|
704
|
+
|
|
705
|
+
**If dispute detected:**
|
|
706
|
+
1. Call \`bugzy-findings list\` to retrieve recent findings
|
|
707
|
+
2. Match the customer's message to a specific finding by test name, description, or ID
|
|
708
|
+
3. If ambiguous (multiple possible matches), list recent findings and ask the customer to clarify which one they're disputing
|
|
709
|
+
4. Once matched, call:
|
|
710
|
+
\`\`\`bash
|
|
711
|
+
bugzy-findings dispute --finding-id <matched-finding-id> --explanation "<customer's explanation>"
|
|
712
|
+
\`\`\`
|
|
713
|
+
5. Confirm the dispute was recorded: "Dispute recorded for [finding title]. A triage credit has been applied and the finding is now marked as disputed. This feedback will help improve future triages."
|
|
714
|
+
6. Skip the remaining feedback steps (the dispute is the action)
|
|
715
|
+
|
|
716
|
+
If \`bugzy-findings\` is not available (command not found), inform the customer that dispute functionality is not available for this project and suggest contacting support.
|
|
717
|
+
|
|
718
|
+
**If NOT a dispute**, continue with the standard feedback flow below.
|
|
719
|
+
|
|
720
|
+
### Step 3: Update Test Case Specifications
|
|
702
721
|
|
|
703
722
|
**CRITICAL**: When feedback requests changes to test behavior (e.g., "change the expected result", "update the test to check for X", "the test should verify Y instead"), you MUST update the test case markdown files to reflect the requested changes.
|
|
704
723
|
|
|
@@ -710,7 +729,7 @@ For each actionable feedback item:
|
|
|
710
729
|
|
|
711
730
|
This step updates the **specification** (markdown test case files) only. The \`sync-automation-from-feedback\` step that follows handles syncing the **implementation** (automation code) to match.
|
|
712
731
|
|
|
713
|
-
### Step
|
|
732
|
+
### Step 4: Acknowledge and Confirm
|
|
714
733
|
|
|
715
734
|
Respond confirming: feedback received, summary of what was captured, actions taken (including any test case updates), and follow-up questions if needed.
|
|
716
735
|
|
|
@@ -995,7 +1014,11 @@ Use these as reference patterns for common events. The webhook routing system al
|
|
|
995
1014
|
|
|
996
1015
|
**Jira Events:**
|
|
997
1016
|
- **Status \u2192 "Ready to Test" / "In Testing" / "Ready for QA"**: Propose \`/verify-changes\` with issue context
|
|
998
|
-
- **Resolution: "Not a Bug" / "Won't Fix" / "User Error"**: Update knowledge base directly with the learning (no queue needed)
|
|
1017
|
+
- **Resolution: "Not a Bug" / "Won't Fix" / "User Error"**: Update knowledge base directly with the learning (no queue needed). Additionally, if the issue was linked to a triage finding (check via \`bugzy-findings list\` matching by issue tracker key), auto-dispute the finding:
|
|
1018
|
+
\`\`\`bash
|
|
1019
|
+
bugzy-findings dispute --finding-id <matched-finding-id> --explanation "Issue resolved as Not a Bug/Won't Fix in issue tracker"
|
|
1020
|
+
\`\`\`
|
|
1021
|
+
This applies a triage credit automatically when the issue tracker confirms the triage was incorrect. If \`bugzy-findings\` is not available, skip the dispute and only update the knowledge base.
|
|
999
1022
|
- **Bug created with relevant labels**: Propose \`/generate-test-cases\` to update related test coverage, confirm with team
|
|
1000
1023
|
- **Backlog \u2192 To Do**: No QA action needed, log to event history only
|
|
1001
1024
|
|
|
@@ -6042,6 +6065,16 @@ After analyzing test results, triage each failure to determine if it's a product
|
|
|
6042
6065
|
|
|
6043
6066
|
**IMPORTANT: Do NOT report bugs without triaging first.**
|
|
6044
6067
|
|
|
6068
|
+
### 0. Read Disputed Findings (Learning Context)
|
|
6069
|
+
|
|
6070
|
+
Before triaging, check for prior disputed findings to avoid repeating past mistakes:
|
|
6071
|
+
|
|
6072
|
+
\`\`\`bash
|
|
6073
|
+
cat .bugzy/runtime/disputed-findings.md 2>/dev/null || echo "No disputed findings found"
|
|
6074
|
+
\`\`\`
|
|
6075
|
+
|
|
6076
|
+
If the file exists, read it carefully. It contains past triage mistakes and lessons learned. Use this context to improve classification accuracy for similar failures.
|
|
6077
|
+
|
|
6045
6078
|
### 1. Check Failure Classification
|
|
6046
6079
|
|
|
6047
6080
|
**Before triaging any failure**, read \`new_failures\` from the latest \`test-runs/*/manifest.json\`:
|
|
@@ -6099,7 +6132,42 @@ For each failed test (from \`new_failures\` or all failures if field is missing)
|
|
|
6099
6132
|
| Test ID | Test Name | Last Passed Run |
|
|
6100
6133
|
|---------|-----------|-----------------|
|
|
6101
6134
|
| TC-003 | Search | 20260210-103045 |
|
|
6102
|
-
|
|
6135
|
+
\`\`\`
|
|
6136
|
+
|
|
6137
|
+
### 4. Record Findings
|
|
6138
|
+
|
|
6139
|
+
After triaging, record each classified failure as a structured finding via the \`bugzy-findings\` CLI. This stores findings in the platform database for tracking, disputes, and dashboard visualization.
|
|
6140
|
+
|
|
6141
|
+
For each triaged failure, run:
|
|
6142
|
+
|
|
6143
|
+
\`\`\`bash
|
|
6144
|
+
bugzy-findings add \\
|
|
6145
|
+
--title "<concise failure description>" \\
|
|
6146
|
+
--description "<detailed analysis including error message and root cause>" \\
|
|
6147
|
+
--severity <critical|high|medium|low> \\
|
|
6148
|
+
--classification <product-bug|test-issue> \\
|
|
6149
|
+
--test-case-id "<test ID from triage table>" \\
|
|
6150
|
+
--test-run-timestamp "<timestamp from manifest.json>"
|
|
6151
|
+
\`\`\`
|
|
6152
|
+
|
|
6153
|
+
**Severity Guidelines:**
|
|
6154
|
+
- **critical**: Application crash, data loss, security vulnerability
|
|
6155
|
+
- **high**: Major feature broken, blocking workflow
|
|
6156
|
+
- **medium**: Feature partially broken, workaround exists
|
|
6157
|
+
- **low**: Minor cosmetic issue, edge case
|
|
6158
|
+
|
|
6159
|
+
Example:
|
|
6160
|
+
\`\`\`bash
|
|
6161
|
+
bugzy-findings add \\
|
|
6162
|
+
--title "Checkout form returns 500 on submit" \\
|
|
6163
|
+
--description "POST /api/checkout returns HTTP 500 when submitting with valid payment data. Stack trace shows null reference in payment processor." \\
|
|
6164
|
+
--severity high \\
|
|
6165
|
+
--classification product-bug \\
|
|
6166
|
+
--test-case-id "TC-002" \\
|
|
6167
|
+
--test-run-timestamp "20260219-103045"
|
|
6168
|
+
\`\`\`
|
|
6169
|
+
|
|
6170
|
+
If \`bugzy-findings\` is not available (command not found), skip this step silently \u2014 findings recording is optional and does not block triage.`,
|
|
6103
6171
|
tags: ["execution", "triage", "analysis"]
|
|
6104
6172
|
};
|
|
6105
6173
|
|