@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.
@@ -695,9 +695,9 @@ The handler file contains all necessary processing logic for the detected intent
695
695
  var processEventTask = {
696
696
  slug: TASK_SLUGS.PROCESS_EVENT,
697
697
  name: "Process Event",
698
- description: "Process external system events (Jira, GitHub, Linear) using handler-defined rules to extract insights and track issues",
698
+ description: "Process webhook events by analyzing for QA relevance and queuing proposed actions for team confirmation",
699
699
  frontmatter: {
700
- description: "Process external system events (Jira, GitHub, Linear) using handler-defined rules to extract insights and track issues",
700
+ description: "Process webhook events by analyzing for QA relevance and queuing proposed actions for team confirmation",
701
701
  "argument-hint": "[event payload or description]"
702
702
  },
703
703
  steps: [
@@ -707,7 +707,9 @@ var processEventTask = {
707
707
  title: "Process Event Overview",
708
708
  content: `# Process Event Command
709
709
 
710
- Process various types of events using intelligent pattern matching and historical context to maintain and evolve the testing system.`
710
+ Process webhook events from integrated systems by analyzing event content, determining appropriate QA actions, and queuing them for team confirmation.
711
+
712
+ **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.`
711
713
  },
712
714
  // Step 2: Security Notice (library)
713
715
  "security-notice",
@@ -730,7 +732,7 @@ Process various types of events using intelligent pattern matching and historica
730
732
  - **Source Control**: GitHub, GitLab
731
733
  - **Communication Tools**: Slack
732
734
 
733
- **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.
735
+ **Event structure and semantics vary by source.** Use the inline event-action reference patterns and historical context to determine actions.
734
736
 
735
737
  #### Event Context to Extract:
736
738
  - **What happened**: The core event (test failed, PR merged, etc.)
@@ -851,42 +853,30 @@ Read \`.bugzy/runtime/memory/event-history.md\` to:
851
853
  - List \`./test-cases/\` for existing tests
852
854
  - Check \`.bugzy/runtime/knowledge-base.md\` for past insights
853
855
 
854
- #### 2.4 Load System-Specific Handler (REQUIRED)
855
-
856
- Based on the event source, load the handler from \`.bugzy/runtime/handlers/\`:
857
-
858
- **Step 1: Detect Event Source from Payload:**
859
- - \`com.jira-server.*\` event type prefix -> \`.bugzy/runtime/handlers/jira.md\`
860
- - \`com.recall.*\` event type prefix -> \`.bugzy/runtime/handlers/recall.md\`
861
- - \`github.*\` or GitHub webhook structure -> \`.bugzy/runtime/handlers/github.md\`
862
- - \`linear.*\` or Linear webhook -> \`.bugzy/runtime/handlers/linear.md\`
863
- - Other sources -> Check for matching handler file by source name
864
-
865
- **Step 2: Load and Read the Handler File:**
866
- The handler file contains system-specific instructions for:
867
- - Event payload structure and field meanings
868
- - Which triggers (status changes, resolutions) require specific actions
869
- - How to interpret different event types
870
- - When to invoke \`/verify-changes\`
871
- - How to update the knowledge base
872
-
873
- **Step 3: Follow Handler Instructions:**
874
- The handler file is authoritative for this event source. Follow its instructions for:
875
- - Interpreting the event payload
876
- - Determining what actions to take
877
- - Formatting responses and updates
878
-
879
- **Step 4: If No Handler Exists:**
880
- Do NOT guess or apply generic logic. Instead:
881
- 1. Inform the user that no handler exists for this event source
882
- 2. Ask how this event type should be processed
883
- 3. Suggest creating a handler file at \`.bugzy/runtime/handlers/{source}.md\`
884
-
885
- **Project-Specific Configuration:**
886
- Handlers reference \`.bugzy/runtime/project-context.md\` for project-specific rules like:
887
- - Which status transitions trigger verify-changes
888
- - Which resolutions should update the knowledge base
889
- - Which transitions to ignore`
856
+ #### 2.4 Event-Action Reference Patterns
857
+
858
+ 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.
859
+
860
+ **Jira Events:**
861
+ - **Status \u2192 "Ready to Test" / "In Testing" / "Ready for QA"**: Propose \`/verify-changes\` with issue context
862
+ - **Resolution: "Not a Bug" / "Won't Fix" / "User Error"**: Update knowledge base directly with the learning (no queue needed)
863
+ - **Bug created with relevant labels**: Propose \`/generate-test-cases\` to update related test coverage, confirm with team
864
+ - **Backlog \u2192 To Do**: No QA action needed, log to event history only
865
+
866
+ **GitHub Events:**
867
+ - **PR merged (routed to process-event)**: Propose \`/verify-changes\` for the merged changes
868
+ - **Issue closed as "won't fix"**: Update knowledge base directly with the learning
869
+ - **Issue created/updated**: Analyze for QA relevance, propose actions if applicable
870
+
871
+ **Recall.ai Events (Meeting Transcripts):**
872
+ - **QA-relevant content found**: Propose appropriate follow-up tasks (e.g., \`/generate-test-cases\`, \`/verify-changes\`)
873
+ - **No QA content** (HR meeting, offsite planning, etc.): Skip \u2014 log to event history only
874
+
875
+ **Other Events:**
876
+ - Analyze for QA relevance based on knowledge base and project context
877
+ - If action needed, propose appropriate task. If not, log and skip.
878
+
879
+ Check \`.bugzy/runtime/project-context.md\` for project-specific context that may inform action decisions.`
890
880
  },
891
881
  // Step 8: Intelligent Event Analysis (inline)
892
882
  {
@@ -906,17 +896,16 @@ Don't just match patterns - analyze the event within the full context:
906
896
  **Example Contextual Analysis**:
907
897
  \`\`\`
908
898
  Event: Jira issue PROJ-456 moved to "Ready for QA"
909
- + Handler: jira.md says "Ready for QA" triggers /verify-changes
899
+ + Reference Pattern: "Ready for QA" status suggests /verify-changes
910
900
  + History: This issue was previously in "In Progress" for 3 days
911
901
  + Knowledge: Related PR #123 merged yesterday
912
- = Decision: Invoke /verify-changes with issue context and PR reference
902
+ = Decision: Propose /verify-changes with issue context and PR reference
913
903
  \`\`\`
914
904
 
915
905
  **Pattern Recognition with Context**:
916
- - An issue resolution depends on what the handler prescribes for that status
906
+ - An issue resolution depends on the event-action reference patterns and project context
917
907
  - A duplicate event (same issue, same transition) should be skipped
918
908
  - Events from different sources about the same change should be correlated
919
- - Handler instructions take precedence over generic assumptions
920
909
 
921
910
  #### 3.2 Generate Semantic Queries
922
911
  Based on event type and content, generate 3-5 specific search queries:
@@ -942,7 +931,7 @@ Generate tasks based on event analysis, using examples from memory as reference.
942
931
  Analyze the event in context of ALL available information to decide what actions to take:
943
932
 
944
933
  **Consider the Full Context**:
945
- - What does the handler prescribe for this event type?
934
+ - What do the event-action reference patterns suggest for this event type?
946
935
  - How does this relate to current knowledge?
947
936
  - What's the state of related issues in external systems?
948
937
  - Is this part of a larger pattern we've been seeing?
@@ -950,17 +939,17 @@ Analyze the event in context of ALL available information to decide what actions
950
939
 
951
940
  **Contextual Decision Making**:
952
941
  The same event type can require different actions based on context:
953
- - If handler says this status triggers verification -> Invoke /verify-changes
942
+ - If reference pattern suggests verification -> Propose /verify-changes (queue for confirmation)
954
943
  - If this issue was already processed (check event history) -> Skip to avoid duplicates
955
- - If related PR exists in knowledge base -> Include PR context in actions
944
+ - If related PR exists in knowledge base -> Include PR context in proposed actions
956
945
  - If this is a recurring pattern from the same source -> Consider flagging for review
957
- - If handler has no rule for this event type -> Ask user for guidance
946
+ - If no clear action for this event type -> Analyze context or skip
958
947
 
959
948
  **Dynamic Task Selection**:
960
949
  Based on the contextual analysis, decide which tasks make sense:
961
950
  - **extract_learning**: When the event reveals something new about the system
962
951
  - **update_test_plan**: When our understanding of what to test has changed
963
- - **update_test_cases**: When tests need to reflect new reality
952
+ - **propose_generate_test_cases**: When tests need to reflect new reality (queued for confirmation)
964
953
  - **report_bug**: When we have a legitimate, impactful, reproducible issue
965
954
  - **skip_action**: When context shows no action needed (e.g., known issue, already fixed)
966
955
 
@@ -1002,13 +991,64 @@ The issue-tracker agent will handle all aspects of issue tracking including dupl
1002
991
  // Step 12: Execute Tasks (inline)
1003
992
  {
1004
993
  inline: true,
1005
- title: "Execute Tasks with Memory Updates",
1006
- content: `### Step 5: Execute Tasks with Memory Updates
994
+ title: "Queue Proposed Actions and Notify Team",
995
+ content: `### Step 5: Queue Proposed Actions and Notify Team
996
+
997
+ #### 5.1 Categorize Determined Actions
998
+
999
+ Separate actions into two categories:
1000
+
1001
+ **Queued Actions** (require team confirmation):
1002
+ - \`/verify-changes\`, \`/generate-test-cases\`, \`/run-tests\`, \`/explore-application\`
1003
+ - Any task that modifies tests, runs automation, or takes significant action
1004
+
1005
+ **Direct Actions** (execute immediately):
1006
+ - Knowledge base updates and learnings
1007
+ - Event history logging
1008
+ - Event processor memory updates
1009
+ - Skip decisions
1010
+
1011
+ #### 5.2 Execute Direct Actions
1007
1012
 
1008
- #### 5.1 Execute Each Task
1009
- Follow the standard execution logic with added context from memory.
1013
+ Update \`.bugzy/runtime/knowledge-base.md\` directly for learnings (e.g., "Not a Bug" resolutions).
1010
1014
 
1011
- #### 5.2 Update Event Processor Memory
1015
+ #### 5.3 Queue Action Tasks
1016
+
1017
+ For each proposed action task, append one row to \`.bugzy/runtime/blocked-task-queue.md\`:
1018
+
1019
+ | Task Slug | Question | Original Args |
1020
+ |-----------|----------|---------------|
1021
+ | /verify-changes | Verify PROJ-456 changes (moved to Ready for QA)? Related PR #123. | \`{"issue": "PROJ-456", "context": "Jira Ready to Test"}\` |
1022
+
1023
+ Rules:
1024
+ 1. Read file first (create if doesn't exist)
1025
+ 2. Each action gets its own row
1026
+ 3. **Question** must be clear and include enough context for team to decide
1027
+ 4. **Original Args** must include event source, IDs, and relevant context as JSON
1028
+
1029
+ #### 5.4 Notify Team
1030
+
1031
+ {{INVOKE_TEAM_COMMUNICATOR}} to share the outcome:
1032
+
1033
+ **If actions were queued:**
1034
+ - What event was processed
1035
+ - What actions are proposed (with brief reasoning)
1036
+ - These are awaiting confirmation
1037
+
1038
+ **If no actions queued (KB-only update or skip):**
1039
+ - What event was processed
1040
+ - What was learned or why it was skipped
1041
+ - That no action is needed from the team
1042
+
1043
+ #### 5.5 Complete Task
1044
+
1045
+ After queuing and notifying, the task is DONE. Do NOT:
1046
+ - Execute /verify-changes, /run-tests, /generate-test-cases directly
1047
+ - Wait for team response (messaging infrastructure handles that)
1048
+ - Create or modify test files
1049
+ - Run Playwright tests
1050
+
1051
+ #### 5.6 Update Event Processor Memory
1012
1052
  If new patterns discovered, append to \`.bugzy/runtime/memory/event-processor.md\`:
1013
1053
  \`\`\`markdown
1014
1054
  ### Pattern: [New Pattern Name]
@@ -1018,7 +1058,7 @@ If new patterns discovered, append to \`.bugzy/runtime/memory/event-processor.md
1018
1058
  **Example**: [This event]
1019
1059
  \`\`\`
1020
1060
 
1021
- #### 5.3 Update Event History
1061
+ #### 5.7 Update Event History
1022
1062
  Append to \`.bugzy/runtime/memory/event-history.md\`:
1023
1063
  \`\`\`markdown
1024
1064
  ## [Timestamp] - Event #[ID]
@@ -1091,7 +1131,8 @@ Create files if they don't exist:
1091
1131
  - Adjust responses based on business priorities and risk
1092
1132
 
1093
1133
  ### Smart Task Generation
1094
- - Only take actions prescribed by the handler or confirmed by the user
1134
+ - NEVER execute action tasks directly \u2014 all action tasks go through blocked-task-queue for team confirmation
1135
+ - Knowledge base updates and event history logging are the only direct operations
1095
1136
  - Document why each decision was made with full context
1096
1137
  - Skip redundant actions (e.g., duplicate events, already-processed issues)
1097
1138
  - Escalate appropriately based on pattern recognition
@@ -1819,8 +1860,11 @@ This command orchestrates the complete test coverage workflow in a single execut
1819
1860
  2. **Phase 2**: Generate lightweight test plan
1820
1861
  3. **Phase 3**: Generate and verify test cases (create + fix until passing)
1821
1862
  4. **Phase 4**: Triage failures and fix test issues
1822
- 5. **Phase 5**: Log product bugs
1823
- 6. **Phase 6**: Final report`
1863
+ 5. **Phase 5**: Log product bugs to issue tracker
1864
+ 6. **Phase 6**: Notify team via Slack/Teams with results summary
1865
+ 7. **Phase 7**: Generate final report
1866
+
1867
+ **IMPORTANT**: All phases must be completed. Do NOT skip Phase 5 (bug logging) or Phase 6 (team notification) \u2014 these are required deliverables.`
1824
1868
  },
1825
1869
  // Step 2: Security Notice (from library)
1826
1870
  "security-notice",