@bugzy-ai/bugzy 1.11.3 → 1.12.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.
@@ -159,22 +159,9 @@ Read the test plan from \`test-plan.md\` to understand:
159
159
  - Identify existing Page Objects in \`./tests/pages/\`
160
160
  - Avoid creating overlapping test cases or duplicate automation`
161
161
  },
162
- // Step 6: Documentation Researcher (conditional inline)
162
+ // Step 6: Documentation Researcher (conditional library step)
163
163
  {
164
- inline: true,
165
- title: "Gather Product Documentation",
166
- content: `{{INVOKE_DOCUMENTATION_RESEARCHER}} to gather comprehensive product documentation:
167
-
168
- \`\`\`
169
- Explore all available product documentation, specifically focusing on:
170
- - UI elements and workflows
171
- - User interactions and navigation paths
172
- - Form fields and validation rules
173
- - Error messages and edge cases
174
- - Authentication and authorization flows
175
- - Business rules and constraints
176
- - API endpoints for test data setup
177
- \`\`\``,
164
+ stepId: "gather-documentation",
178
165
  conditionalOnSubagent: "documentation-researcher"
179
166
  },
180
167
  // Step 7: Exploration Protocol (from library)
@@ -460,33 +447,9 @@ var init_generate_test_plan = __esm({
460
447
  title: "Initialize Environment Variables Tracking",
461
448
  content: `Create a list to track all TEST_ prefixed environment variables discovered throughout the process.`
462
449
  },
463
- // Step 8: Documentation Researcher (conditional inline)
450
+ // Step 8: Documentation Researcher (conditional library step)
464
451
  {
465
- inline: true,
466
- title: "Gather Comprehensive Project Documentation",
467
- content: `{{INVOKE_DOCUMENTATION_RESEARCHER}} to explore and gather all available project information and other documentation sources. This ensures the test plan is based on complete and current information.
468
-
469
- \`\`\`
470
- Explore all available project documentation related to: $ARGUMENTS
471
-
472
- Specifically gather:
473
- - Product specifications and requirements
474
- - User stories and acceptance criteria
475
- - Technical architecture documentation
476
- - API documentation and endpoints
477
- - User roles and permissions
478
- - Business rules and validations
479
- - UI/UX specifications
480
- - Known limitations or constraints
481
- - Existing test documentation
482
- - Bug reports or known issues
483
- \`\`\`
484
-
485
- The agent will:
486
- 1. Check its memory for previously discovered documentation
487
- 2. Explore workspace for relevant pages and databases
488
- 3. Build a comprehensive understanding of the product
489
- 4. Return synthesized information about all discovered documentation`,
452
+ stepId: "gather-documentation",
490
453
  conditionalOnSubagent: "documentation-researcher"
491
454
  },
492
455
  // Step 9: Exploration Protocol (from library)
@@ -966,6 +929,7 @@ Based on the event source, load the handler from \`.bugzy/runtime/handlers/\`:
966
929
 
967
930
  **Step 1: Detect Event Source from Payload:**
968
931
  - \`com.jira-server.*\` event type prefix -> \`.bugzy/runtime/handlers/jira.md\`
932
+ - \`com.recall.*\` event type prefix -> \`.bugzy/runtime/handlers/recall.md\`
969
933
  - \`github.*\` or GitHub webhook structure -> \`.bugzy/runtime/handlers/github.md\`
970
934
  - \`linear.*\` or Linear webhook -> \`.bugzy/runtime/handlers/linear.md\`
971
935
  - Other sources -> Check for matching handler file by source name
@@ -1033,19 +997,9 @@ Based on event type and content, generate 3-5 specific search queries:
1033
997
  - Find relevant documentation
1034
998
  - Check for known issues`
1035
999
  },
1036
- // Step 9: Documentation Research (conditional inline)
1000
+ // Step 9: Documentation Research (conditional library step)
1037
1001
  {
1038
- inline: true,
1039
- title: "Use Documentation Researcher",
1040
- content: `#### 3.3 Use Documentation Researcher if Needed
1041
-
1042
- {{INVOKE_DOCUMENTATION_RESEARCHER}} to find information about unknown features or components:
1043
-
1044
- For events mentioning unknown features or components, ask the agent to explore project documentation and return:
1045
- - Feature specifications
1046
- - Related test cases
1047
- - Known issues or limitations
1048
- - Component dependencies`,
1002
+ stepId: "gather-documentation",
1049
1003
  conditionalOnSubagent: "documentation-researcher"
1050
1004
  },
1051
1005
  // Step 10: Task Planning (inline)
@@ -1223,7 +1177,7 @@ Create files if they don't exist:
1223
1177
  ],
1224
1178
  requiredSubagents: ["team-communicator"],
1225
1179
  optionalSubagents: ["documentation-researcher", "issue-tracker"],
1226
- dependentTasks: ["verify-changes"]
1180
+ dependentTasks: ["verify-changes", "generate-test-cases", "run-tests"]
1227
1181
  };
1228
1182
  }
1229
1183
  });
@@ -1658,6 +1612,42 @@ Generate summary of test selection based on description analysis:
1658
1612
  - **Execution strategy**: [smart selection | full suite | smoke tests | user-specified]
1659
1613
  \`\`\``
1660
1614
  },
1615
+ // Step 7b: Create Tests for Coverage Gaps (conditional - test-code-generator)
1616
+ {
1617
+ inline: true,
1618
+ title: "Create Tests for Coverage Gaps",
1619
+ content: `If the test scope analysis found that existing tests do NOT cover the changed feature:
1620
+
1621
+ ### Identify Coverage Gaps
1622
+
1623
+ Compare:
1624
+ - **Changed feature**: What the Jira issue / PR describes
1625
+ - **Existing tests**: What test specs already exist in tests/specs/
1626
+
1627
+ If there are NO automated tests covering the new/changed feature:
1628
+
1629
+ ### Create Manual Test Cases
1630
+
1631
+ Create or update test case files in \`./test-cases/\` for the new feature:
1632
+ - One file per test scenario (e.g., \`test-cases/TC-XXX-checkout-improved.md\`)
1633
+ - Include: objective, preconditions, test steps, expected results
1634
+ - Mark \`automated: true\` for scenarios that should be automated
1635
+
1636
+ ### Generate Playwright Specs
1637
+
1638
+ {{INVOKE_TEST_CODE_GENERATOR}} to create automated test specs:
1639
+ - Read the manual test cases you just created
1640
+ - Explore the feature in the browser to discover selectors and flows
1641
+ - Create Page Objects in \`./tests/pages/\` if needed
1642
+ - Create test specs in \`./tests/specs/\` matching the test cases
1643
+ - Run each new test to verify it passes
1644
+ - Update the manual test case with \`automated_test\` reference
1645
+
1646
+ ### If Tests Already Cover the Feature
1647
+
1648
+ Skip this step \u2014 proceed directly to running existing tests.`,
1649
+ conditionalOnSubagent: "test-code-generator"
1650
+ },
1661
1651
  // Step 8-11: Test Execution (library steps)
1662
1652
  "run-playwright-tests",
1663
1653
  "parse-test-results",
@@ -1764,38 +1754,26 @@ All user-facing changes are fully covered by automated tests.
1764
1754
  [Safe to merge | Review bugs before merging | Do not merge]
1765
1755
  \`\`\``
1766
1756
  },
1767
- // Step 15: Documentation Research (conditional inline)
1757
+ // Step 14b: Post Results to Slack (conditional on team-communicator)
1768
1758
  {
1769
1759
  inline: true,
1770
- title: "Understanding the Change (Documentation Research)",
1771
- content: `{{INVOKE_DOCUMENTATION_RESEARCHER}} to gather comprehensive context about the changed features:
1772
-
1773
- Explore project documentation related to the changes.
1774
-
1775
- Specifically gather:
1776
- - Product specifications for affected features
1777
- - User stories and acceptance criteria
1778
- - Technical architecture documentation
1779
- - API endpoints and contracts
1780
- - User roles and permissions relevant to the change
1781
- - Business rules and validations
1782
- - UI/UX specifications
1783
- - Known limitations or constraints
1784
- - Related bug reports or known issues
1785
- - Existing test documentation for this area
1786
-
1787
- The agent will:
1788
- 1. Check its memory for previously discovered documentation
1789
- 2. Explore workspace for relevant pages and databases
1790
- 3. Build comprehensive understanding of the affected features
1791
- 4. Return synthesized information to inform testing strategy
1792
-
1793
- Use this information to:
1794
- - Better understand the change context
1795
- - Identify comprehensive test scenarios
1796
- - Recognize integration points and dependencies
1797
- - Spot potential edge cases or risk areas
1798
- - Enhance manual verification checklist generation`,
1760
+ title: "Post Results to Team Channel",
1761
+ content: `**IMPORTANT \u2014 Do this NOW before proceeding to any other step.**
1762
+
1763
+ {{INVOKE_TEAM_COMMUNICATOR}} to post the verification results summary to the team Slack channel.
1764
+
1765
+ Include in the message:
1766
+ - What was verified (issue ID and feature name)
1767
+ - Test results (total / passed / failed)
1768
+ - New tests created (list file names)
1769
+ - Manual verification items count
1770
+ - Overall recommendation (safe to merge / review / block)
1771
+ - Any blocking issues or critical findings`,
1772
+ conditionalOnSubagent: "team-communicator"
1773
+ },
1774
+ // Step 15: Documentation Research (conditional library step)
1775
+ {
1776
+ stepId: "gather-documentation",
1799
1777
  conditionalOnSubagent: "documentation-researcher"
1800
1778
  },
1801
1779
  // Step 16: Report Results (inline)
@@ -1891,7 +1869,7 @@ A successful verification includes:
1891
1869
  }
1892
1870
  ],
1893
1871
  requiredSubagents: ["test-runner", "test-debugger-fixer"],
1894
- optionalSubagents: ["documentation-researcher", "issue-tracker", "team-communicator", "changelog-historian"],
1872
+ optionalSubagents: ["documentation-researcher", "issue-tracker", "team-communicator", "changelog-historian", "test-code-generator"],
1895
1873
  dependentTasks: []
1896
1874
  };
1897
1875
  }
@@ -1938,6 +1916,10 @@ This command orchestrates the complete test coverage workflow in a single execut
1938
1916
  // Phase 1: Setup
1939
1917
  "load-project-context",
1940
1918
  "read-knowledge-base",
1919
+ {
1920
+ stepId: "gather-documentation",
1921
+ conditionalOnSubagent: "documentation-researcher"
1922
+ },
1941
1923
  // Phase 2: Exploration Protocol
1942
1924
  "exploration-protocol",
1943
1925
  // Execute exploration via test-runner
@@ -6507,6 +6489,40 @@ The \`.env\` file access is blocked by settings.json.`,
6507
6489
  tags: ["security", "required"]
6508
6490
  };
6509
6491
 
6492
+ // src/tasks/steps/setup/gather-documentation.ts
6493
+ init_cjs_shims();
6494
+ var gatherDocumentationStep = {
6495
+ id: "gather-documentation",
6496
+ title: "Gather Project Documentation",
6497
+ category: "setup",
6498
+ content: `## Gather Project Documentation
6499
+
6500
+ {{INVOKE_DOCUMENTATION_RESEARCHER}} to explore and gather all available project information.
6501
+
6502
+ Specifically gather:
6503
+ - Product specifications and requirements
6504
+ - User stories and acceptance criteria
6505
+ - Technical architecture documentation
6506
+ - API documentation and endpoints
6507
+ - User roles and permissions
6508
+ - Business rules and validations
6509
+ - UI/UX specifications
6510
+ - Known limitations or constraints
6511
+ - Existing test documentation
6512
+ - Bug reports or known issues
6513
+
6514
+ The agent will:
6515
+ 1. Check its memory for previously discovered documentation
6516
+ 2. Explore workspace for relevant pages and databases
6517
+ 3. Build comprehensive understanding of the product
6518
+ 4. Return synthesized information about all discovered documentation
6519
+
6520
+ Use this information to inform testing strategy and identify comprehensive scenarios.`,
6521
+ requiresSubagent: "documentation-researcher",
6522
+ invokesSubagents: ["documentation-researcher"],
6523
+ tags: ["setup", "context", "documentation"]
6524
+ };
6525
+
6510
6526
  // src/tasks/steps/exploration/exploration-protocol.ts
6511
6527
  init_cjs_shims();
6512
6528
  var explorationProtocolStep = {
@@ -7767,6 +7783,7 @@ var STEP_LIBRARY = {
7767
7783
  "read-knowledge-base": readKnowledgeBaseStep,
7768
7784
  "read-test-strategy": readTestStrategyStep,
7769
7785
  "load-project-context": loadProjectContextStep,
7786
+ "gather-documentation": gatherDocumentationStep,
7770
7787
  // Exploration
7771
7788
  "exploration-protocol": explorationProtocolStep,
7772
7789
  // Clarification