@bugzy-ai/bugzy 1.12.2 → 1.12.4

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/dist/index.cjs CHANGED
@@ -948,9 +948,9 @@ The handler file contains all necessary processing logic for the detected intent
948
948
  var processEventTask = {
949
949
  slug: TASK_SLUGS.PROCESS_EVENT,
950
950
  name: "Process Event",
951
- description: "Process external system events (Jira, GitHub, Linear) using handler-defined rules to extract insights and track issues",
951
+ description: "Process webhook events by analyzing for QA relevance and queuing proposed actions for team confirmation",
952
952
  frontmatter: {
953
- description: "Process external system events (Jira, GitHub, Linear) using handler-defined rules to extract insights and track issues",
953
+ description: "Process webhook events by analyzing for QA relevance and queuing proposed actions for team confirmation",
954
954
  "argument-hint": "[event payload or description]"
955
955
  },
956
956
  steps: [
@@ -960,7 +960,9 @@ var processEventTask = {
960
960
  title: "Process Event Overview",
961
961
  content: `# Process Event Command
962
962
 
963
- Process various types of events using intelligent pattern matching and historical context to maintain and evolve the testing system.`
963
+ Process webhook events from integrated systems by analyzing event content, determining appropriate QA actions, and queuing them for team confirmation.
964
+
965
+ **This task does NOT execute actions directly.** It proposes actions via the blocked-task-queue and notifies the team for confirmation. Only knowledge base updates and event history logging are performed directly.`
964
966
  },
965
967
  // Step 2: Security Notice (library)
966
968
  "security-notice",
@@ -983,7 +985,7 @@ Process various types of events using intelligent pattern matching and historica
983
985
  - **Source Control**: GitHub, GitLab
984
986
  - **Communication Tools**: Slack
985
987
 
986
- **Event structure and semantics vary by source.** Do not interpret events based on generic assumptions. Instead, load the appropriate handler file for system-specific processing rules.
988
+ **Event structure and semantics vary by source.** Use the inline event-action reference patterns and historical context to determine actions.
987
989
 
988
990
  #### Event Context to Extract:
989
991
  - **What happened**: The core event (test failed, PR merged, etc.)
@@ -1104,42 +1106,30 @@ Read \`.bugzy/runtime/memory/event-history.md\` to:
1104
1106
  - List \`./test-cases/\` for existing tests
1105
1107
  - Check \`.bugzy/runtime/knowledge-base.md\` for past insights
1106
1108
 
1107
- #### 2.4 Load System-Specific Handler (REQUIRED)
1108
-
1109
- Based on the event source, load the handler from \`.bugzy/runtime/handlers/\`:
1110
-
1111
- **Step 1: Detect Event Source from Payload:**
1112
- - \`com.jira-server.*\` event type prefix -> \`.bugzy/runtime/handlers/jira.md\`
1113
- - \`com.recall.*\` event type prefix -> \`.bugzy/runtime/handlers/recall.md\`
1114
- - \`github.*\` or GitHub webhook structure -> \`.bugzy/runtime/handlers/github.md\`
1115
- - \`linear.*\` or Linear webhook -> \`.bugzy/runtime/handlers/linear.md\`
1116
- - Other sources -> Check for matching handler file by source name
1117
-
1118
- **Step 2: Load and Read the Handler File:**
1119
- The handler file contains system-specific instructions for:
1120
- - Event payload structure and field meanings
1121
- - Which triggers (status changes, resolutions) require specific actions
1122
- - How to interpret different event types
1123
- - When to invoke \`/verify-changes\`
1124
- - How to update the knowledge base
1125
-
1126
- **Step 3: Follow Handler Instructions:**
1127
- The handler file is authoritative for this event source. Follow its instructions for:
1128
- - Interpreting the event payload
1129
- - Determining what actions to take
1130
- - Formatting responses and updates
1131
-
1132
- **Step 4: If No Handler Exists:**
1133
- Do NOT guess or apply generic logic. Instead:
1134
- 1. Inform the user that no handler exists for this event source
1135
- 2. Ask how this event type should be processed
1136
- 3. Suggest creating a handler file at \`.bugzy/runtime/handlers/{source}.md\`
1137
-
1138
- **Project-Specific Configuration:**
1139
- Handlers reference \`.bugzy/runtime/project-context.md\` for project-specific rules like:
1140
- - Which status transitions trigger verify-changes
1141
- - Which resolutions should update the knowledge base
1142
- - Which transitions to ignore`
1109
+ #### 2.4 Event-Action Reference Patterns
1110
+
1111
+ Use these as reference patterns for common events. The webhook routing system already handles events with specific default tasks (e.g., deployment_status \u2192 /run-tests). Process-event receives events that need analysis.
1112
+
1113
+ **Jira Events:**
1114
+ - **Status \u2192 "Ready to Test" / "In Testing" / "Ready for QA"**: Propose \`/verify-changes\` with issue context
1115
+ - **Resolution: "Not a Bug" / "Won't Fix" / "User Error"**: Update knowledge base directly with the learning (no queue needed)
1116
+ - **Bug created with relevant labels**: Propose \`/generate-test-cases\` to update related test coverage, confirm with team
1117
+ - **Backlog \u2192 To Do**: No QA action needed, log to event history only
1118
+
1119
+ **GitHub Events:**
1120
+ - **PR merged (routed to process-event)**: Propose \`/verify-changes\` for the merged changes
1121
+ - **Issue closed as "won't fix"**: Update knowledge base directly with the learning
1122
+ - **Issue created/updated**: Analyze for QA relevance, propose actions if applicable
1123
+
1124
+ **Recall.ai Events (Meeting Transcripts):**
1125
+ - **QA-relevant content found**: Propose appropriate follow-up tasks (e.g., \`/generate-test-cases\`, \`/verify-changes\`)
1126
+ - **No QA content** (HR meeting, offsite planning, etc.): Skip \u2014 log to event history only
1127
+
1128
+ **Other Events:**
1129
+ - Analyze for QA relevance based on knowledge base and project context
1130
+ - If action needed, propose appropriate task. If not, log and skip.
1131
+
1132
+ Check \`.bugzy/runtime/project-context.md\` for project-specific context that may inform action decisions.`
1143
1133
  },
1144
1134
  // Step 8: Intelligent Event Analysis (inline)
1145
1135
  {
@@ -1159,17 +1149,16 @@ Don't just match patterns - analyze the event within the full context:
1159
1149
  **Example Contextual Analysis**:
1160
1150
  \`\`\`
1161
1151
  Event: Jira issue PROJ-456 moved to "Ready for QA"
1162
- + Handler: jira.md says "Ready for QA" triggers /verify-changes
1152
+ + Reference Pattern: "Ready for QA" status suggests /verify-changes
1163
1153
  + History: This issue was previously in "In Progress" for 3 days
1164
1154
  + Knowledge: Related PR #123 merged yesterday
1165
- = Decision: Invoke /verify-changes with issue context and PR reference
1155
+ = Decision: Propose /verify-changes with issue context and PR reference
1166
1156
  \`\`\`
1167
1157
 
1168
1158
  **Pattern Recognition with Context**:
1169
- - An issue resolution depends on what the handler prescribes for that status
1159
+ - An issue resolution depends on the event-action reference patterns and project context
1170
1160
  - A duplicate event (same issue, same transition) should be skipped
1171
1161
  - Events from different sources about the same change should be correlated
1172
- - Handler instructions take precedence over generic assumptions
1173
1162
 
1174
1163
  #### 3.2 Generate Semantic Queries
1175
1164
  Based on event type and content, generate 3-5 specific search queries:
@@ -1195,7 +1184,7 @@ Generate tasks based on event analysis, using examples from memory as reference.
1195
1184
  Analyze the event in context of ALL available information to decide what actions to take:
1196
1185
 
1197
1186
  **Consider the Full Context**:
1198
- - What does the handler prescribe for this event type?
1187
+ - What do the event-action reference patterns suggest for this event type?
1199
1188
  - How does this relate to current knowledge?
1200
1189
  - What's the state of related issues in external systems?
1201
1190
  - Is this part of a larger pattern we've been seeing?
@@ -1203,17 +1192,17 @@ Analyze the event in context of ALL available information to decide what actions
1203
1192
 
1204
1193
  **Contextual Decision Making**:
1205
1194
  The same event type can require different actions based on context:
1206
- - If handler says this status triggers verification -> Invoke /verify-changes
1195
+ - If reference pattern suggests verification -> Propose /verify-changes (queue for confirmation)
1207
1196
  - If this issue was already processed (check event history) -> Skip to avoid duplicates
1208
- - If related PR exists in knowledge base -> Include PR context in actions
1197
+ - If related PR exists in knowledge base -> Include PR context in proposed actions
1209
1198
  - If this is a recurring pattern from the same source -> Consider flagging for review
1210
- - If handler has no rule for this event type -> Ask user for guidance
1199
+ - If no clear action for this event type -> Analyze context or skip
1211
1200
 
1212
1201
  **Dynamic Task Selection**:
1213
1202
  Based on the contextual analysis, decide which tasks make sense:
1214
1203
  - **extract_learning**: When the event reveals something new about the system
1215
1204
  - **update_test_plan**: When our understanding of what to test has changed
1216
- - **update_test_cases**: When tests need to reflect new reality
1205
+ - **propose_generate_test_cases**: When tests need to reflect new reality (queued for confirmation)
1217
1206
  - **report_bug**: When we have a legitimate, impactful, reproducible issue
1218
1207
  - **skip_action**: When context shows no action needed (e.g., known issue, already fixed)
1219
1208
 
@@ -1255,13 +1244,64 @@ The issue-tracker agent will handle all aspects of issue tracking including dupl
1255
1244
  // Step 12: Execute Tasks (inline)
1256
1245
  {
1257
1246
  inline: true,
1258
- title: "Execute Tasks with Memory Updates",
1259
- content: `### Step 5: Execute Tasks with Memory Updates
1247
+ title: "Queue Proposed Actions and Notify Team",
1248
+ content: `### Step 5: Queue Proposed Actions and Notify Team
1249
+
1250
+ #### 5.1 Categorize Determined Actions
1251
+
1252
+ Separate actions into two categories:
1253
+
1254
+ **Queued Actions** (require team confirmation):
1255
+ - \`/verify-changes\`, \`/generate-test-cases\`, \`/run-tests\`, \`/explore-application\`
1256
+ - Any task that modifies tests, runs automation, or takes significant action
1257
+
1258
+ **Direct Actions** (execute immediately):
1259
+ - Knowledge base updates and learnings
1260
+ - Event history logging
1261
+ - Event processor memory updates
1262
+ - Skip decisions
1263
+
1264
+ #### 5.2 Execute Direct Actions
1265
+
1266
+ Update \`.bugzy/runtime/knowledge-base.md\` directly for learnings (e.g., "Not a Bug" resolutions).
1260
1267
 
1261
- #### 5.1 Execute Each Task
1262
- Follow the standard execution logic with added context from memory.
1268
+ #### 5.3 Queue Action Tasks
1263
1269
 
1264
- #### 5.2 Update Event Processor Memory
1270
+ For each proposed action task, append one row to \`.bugzy/runtime/blocked-task-queue.md\`:
1271
+
1272
+ | Task Slug | Question | Original Args |
1273
+ |-----------|----------|---------------|
1274
+ | /verify-changes | Verify PROJ-456 changes (moved to Ready for QA)? Related PR #123. | \`{"issue": "PROJ-456", "context": "Jira Ready to Test"}\` |
1275
+
1276
+ Rules:
1277
+ 1. Read file first (create if doesn't exist)
1278
+ 2. Each action gets its own row
1279
+ 3. **Question** must be clear and include enough context for team to decide
1280
+ 4. **Original Args** must include event source, IDs, and relevant context as JSON
1281
+
1282
+ #### 5.4 Notify Team
1283
+
1284
+ {{INVOKE_TEAM_COMMUNICATOR}} to share the outcome:
1285
+
1286
+ **If actions were queued:**
1287
+ - What event was processed
1288
+ - What actions are proposed (with brief reasoning)
1289
+ - These are awaiting confirmation
1290
+
1291
+ **If no actions queued (KB-only update or skip):**
1292
+ - What event was processed
1293
+ - What was learned or why it was skipped
1294
+ - That no action is needed from the team
1295
+
1296
+ #### 5.5 Complete Task
1297
+
1298
+ After queuing and notifying, the task is DONE. Do NOT:
1299
+ - Execute /verify-changes, /run-tests, /generate-test-cases directly
1300
+ - Wait for team response (messaging infrastructure handles that)
1301
+ - Create or modify test files
1302
+ - Run Playwright tests
1303
+
1304
+ #### 5.6 Update Event Processor Memory
1265
1305
  If new patterns discovered, append to \`.bugzy/runtime/memory/event-processor.md\`:
1266
1306
  \`\`\`markdown
1267
1307
  ### Pattern: [New Pattern Name]
@@ -1271,7 +1311,7 @@ If new patterns discovered, append to \`.bugzy/runtime/memory/event-processor.md
1271
1311
  **Example**: [This event]
1272
1312
  \`\`\`
1273
1313
 
1274
- #### 5.3 Update Event History
1314
+ #### 5.7 Update Event History
1275
1315
  Append to \`.bugzy/runtime/memory/event-history.md\`:
1276
1316
  \`\`\`markdown
1277
1317
  ## [Timestamp] - Event #[ID]
@@ -1344,7 +1384,8 @@ Create files if they don't exist:
1344
1384
  - Adjust responses based on business priorities and risk
1345
1385
 
1346
1386
  ### Smart Task Generation
1347
- - Only take actions prescribed by the handler or confirmed by the user
1387
+ - NEVER execute action tasks directly \u2014 all action tasks go through blocked-task-queue for team confirmation
1388
+ - Knowledge base updates and event history logging are the only direct operations
1348
1389
  - Document why each decision was made with full context
1349
1390
  - Skip redundant actions (e.g., duplicate events, already-processed issues)
1350
1391
  - Escalate appropriately based on pattern recognition
@@ -2072,8 +2113,11 @@ This command orchestrates the complete test coverage workflow in a single execut
2072
2113
  2. **Phase 2**: Generate lightweight test plan
2073
2114
  3. **Phase 3**: Generate and verify test cases (create + fix until passing)
2074
2115
  4. **Phase 4**: Triage failures and fix test issues
2075
- 5. **Phase 5**: Log product bugs
2076
- 6. **Phase 6**: Final report`
2116
+ 5. **Phase 5**: Log product bugs to issue tracker
2117
+ 6. **Phase 6**: Notify team via Slack/Teams with results summary
2118
+ 7. **Phase 7**: Generate final report
2119
+
2120
+ **IMPORTANT**: All phases must be completed. Do NOT skip Phase 5 (bug logging) or Phase 6 (team notification) \u2014 these are required deliverables.`
2077
2121
  },
2078
2122
  // Step 2: Security Notice (from library)
2079
2123
  "security-notice",