@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/cli/index.cjs
CHANGED
|
@@ -31,12 +31,12 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
31
31
|
));
|
|
32
32
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
33
33
|
|
|
34
|
-
// node_modules/.pnpm/tsup@8.5.
|
|
34
|
+
// node_modules/.pnpm/tsup@8.5.0_postcss@8.5.6_typescript@5.9.3/node_modules/tsup/assets/cjs_shims.js
|
|
35
35
|
var getImportMetaUrl, importMetaUrl;
|
|
36
36
|
var init_cjs_shims = __esm({
|
|
37
|
-
"node_modules/.pnpm/tsup@8.5.
|
|
37
|
+
"node_modules/.pnpm/tsup@8.5.0_postcss@8.5.6_typescript@5.9.3/node_modules/tsup/assets/cjs_shims.js"() {
|
|
38
38
|
"use strict";
|
|
39
|
-
getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.
|
|
39
|
+
getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
|
|
40
40
|
importMetaUrl = /* @__PURE__ */ getImportMetaUrl();
|
|
41
41
|
}
|
|
42
42
|
});
|
|
@@ -551,7 +551,7 @@ If intent is not in the payload, detect from message patterns:
|
|
|
551
551
|
| Condition | Intent |
|
|
552
552
|
|-----------|--------|
|
|
553
553
|
| Keywords: "status", "progress", "how did", "results", "how many passed" | \`status\` |
|
|
554
|
-
| Keywords: "bug", "issue", "broken", "doesn't work", "failed", "error" | \`feedback\` |
|
|
554
|
+
| Keywords: "bug", "issue", "broken", "doesn't work", "failed", "error", "wrong triage", "incorrect classification", "dispute", "that was wrong" | \`feedback\` |
|
|
555
555
|
| Question words: "what", "which", "do we have", "is there" about tests/project | \`question\` |
|
|
556
556
|
| Default (none of above) | \`feedback\` |
|
|
557
557
|
|
|
@@ -587,7 +587,26 @@ Extract the following from the message:
|
|
|
587
587
|
- \`suggestion\`: "should", "could we", "what if", "idea"
|
|
588
588
|
- \`general\`: Default for unclassified feedback
|
|
589
589
|
|
|
590
|
-
### Step 2:
|
|
590
|
+
### Step 2: Check for Dispute Intent
|
|
591
|
+
|
|
592
|
+
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...").
|
|
593
|
+
|
|
594
|
+
**If dispute detected:**
|
|
595
|
+
1. Call \`bugzy-findings list\` to retrieve recent findings
|
|
596
|
+
2. Match the customer's message to a specific finding by test name, description, or ID
|
|
597
|
+
3. If ambiguous (multiple possible matches), list recent findings and ask the customer to clarify which one they're disputing
|
|
598
|
+
4. Once matched, call:
|
|
599
|
+
\`\`\`bash
|
|
600
|
+
bugzy-findings dispute --finding-id <matched-finding-id> --explanation "<customer's explanation>"
|
|
601
|
+
\`\`\`
|
|
602
|
+
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."
|
|
603
|
+
6. Skip the remaining feedback steps (the dispute is the action)
|
|
604
|
+
|
|
605
|
+
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.
|
|
606
|
+
|
|
607
|
+
**If NOT a dispute**, continue with the standard feedback flow below.
|
|
608
|
+
|
|
609
|
+
### Step 3: Update Test Case Specifications
|
|
591
610
|
|
|
592
611
|
**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.
|
|
593
612
|
|
|
@@ -599,7 +618,7 @@ For each actionable feedback item:
|
|
|
599
618
|
|
|
600
619
|
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.
|
|
601
620
|
|
|
602
|
-
### Step
|
|
621
|
+
### Step 4: Acknowledge and Confirm
|
|
603
622
|
|
|
604
623
|
Respond confirming: feedback received, summary of what was captured, actions taken (including any test case updates), and follow-up questions if needed.
|
|
605
624
|
|
|
@@ -892,7 +911,11 @@ Use these as reference patterns for common events. The webhook routing system al
|
|
|
892
911
|
|
|
893
912
|
**Jira Events:**
|
|
894
913
|
- **Status \u2192 "Ready to Test" / "In Testing" / "Ready for QA"**: Propose \`/verify-changes\` with issue context
|
|
895
|
-
- **Resolution: "Not a Bug" / "Won't Fix" / "User Error"**: Update knowledge base directly with the learning (no queue needed)
|
|
914
|
+
- **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:
|
|
915
|
+
\`\`\`bash
|
|
916
|
+
bugzy-findings dispute --finding-id <matched-finding-id> --explanation "Issue resolved as Not a Bug/Won't Fix in issue tracker"
|
|
917
|
+
\`\`\`
|
|
918
|
+
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.
|
|
896
919
|
- **Bug created with relevant labels**: Propose \`/generate-test-cases\` to update related test coverage, confirm with team
|
|
897
920
|
- **Backlog \u2192 To Do**: No QA action needed, log to event history only
|
|
898
921
|
|
|
@@ -6498,6 +6521,16 @@ After analyzing test results, triage each failure to determine if it's a product
|
|
|
6498
6521
|
|
|
6499
6522
|
**IMPORTANT: Do NOT report bugs without triaging first.**
|
|
6500
6523
|
|
|
6524
|
+
### 0. Read Disputed Findings (Learning Context)
|
|
6525
|
+
|
|
6526
|
+
Before triaging, check for prior disputed findings to avoid repeating past mistakes:
|
|
6527
|
+
|
|
6528
|
+
\`\`\`bash
|
|
6529
|
+
cat .bugzy/runtime/disputed-findings.md 2>/dev/null || echo "No disputed findings found"
|
|
6530
|
+
\`\`\`
|
|
6531
|
+
|
|
6532
|
+
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.
|
|
6533
|
+
|
|
6501
6534
|
### 1. Check Failure Classification
|
|
6502
6535
|
|
|
6503
6536
|
**Before triaging any failure**, read \`new_failures\` from the latest \`test-runs/*/manifest.json\`:
|
|
@@ -6555,7 +6588,42 @@ For each failed test (from \`new_failures\` or all failures if field is missing)
|
|
|
6555
6588
|
| Test ID | Test Name | Last Passed Run |
|
|
6556
6589
|
|---------|-----------|-----------------|
|
|
6557
6590
|
| TC-003 | Search | 20260210-103045 |
|
|
6558
|
-
|
|
6591
|
+
\`\`\`
|
|
6592
|
+
|
|
6593
|
+
### 4. Record Findings
|
|
6594
|
+
|
|
6595
|
+
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.
|
|
6596
|
+
|
|
6597
|
+
For each triaged failure, run:
|
|
6598
|
+
|
|
6599
|
+
\`\`\`bash
|
|
6600
|
+
bugzy-findings add \\
|
|
6601
|
+
--title "<concise failure description>" \\
|
|
6602
|
+
--description "<detailed analysis including error message and root cause>" \\
|
|
6603
|
+
--severity <critical|high|medium|low> \\
|
|
6604
|
+
--classification <product-bug|test-issue> \\
|
|
6605
|
+
--test-case-id "<test ID from triage table>" \\
|
|
6606
|
+
--test-run-timestamp "<timestamp from manifest.json>"
|
|
6607
|
+
\`\`\`
|
|
6608
|
+
|
|
6609
|
+
**Severity Guidelines:**
|
|
6610
|
+
- **critical**: Application crash, data loss, security vulnerability
|
|
6611
|
+
- **high**: Major feature broken, blocking workflow
|
|
6612
|
+
- **medium**: Feature partially broken, workaround exists
|
|
6613
|
+
- **low**: Minor cosmetic issue, edge case
|
|
6614
|
+
|
|
6615
|
+
Example:
|
|
6616
|
+
\`\`\`bash
|
|
6617
|
+
bugzy-findings add \\
|
|
6618
|
+
--title "Checkout form returns 500 on submit" \\
|
|
6619
|
+
--description "POST /api/checkout returns HTTP 500 when submitting with valid payment data. Stack trace shows null reference in payment processor." \\
|
|
6620
|
+
--severity high \\
|
|
6621
|
+
--classification product-bug \\
|
|
6622
|
+
--test-case-id "TC-002" \\
|
|
6623
|
+
--test-run-timestamp "20260219-103045"
|
|
6624
|
+
\`\`\`
|
|
6625
|
+
|
|
6626
|
+
If \`bugzy-findings\` is not available (command not found), skip this step silently \u2014 findings recording is optional and does not block triage.`,
|
|
6559
6627
|
tags: ["execution", "triage", "analysis"]
|
|
6560
6628
|
};
|
|
6561
6629
|
|