@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.
@@ -663,9 +663,9 @@ The handler file contains all necessary processing logic for the detected intent
663
663
  var processEventTask = {
664
664
  slug: TASK_SLUGS.PROCESS_EVENT,
665
665
  name: "Process Event",
666
- description: "Process external system events (Jira, GitHub, Linear) using handler-defined rules to extract insights and track issues",
666
+ description: "Process webhook events by analyzing for QA relevance and queuing proposed actions for team confirmation",
667
667
  frontmatter: {
668
- description: "Process external system events (Jira, GitHub, Linear) using handler-defined rules to extract insights and track issues",
668
+ description: "Process webhook events by analyzing for QA relevance and queuing proposed actions for team confirmation",
669
669
  "argument-hint": "[event payload or description]"
670
670
  },
671
671
  steps: [
@@ -675,7 +675,9 @@ var processEventTask = {
675
675
  title: "Process Event Overview",
676
676
  content: `# Process Event Command
677
677
 
678
- Process various types of events using intelligent pattern matching and historical context to maintain and evolve the testing system.`
678
+ Process webhook events from integrated systems by analyzing event content, determining appropriate QA actions, and queuing them for team confirmation.
679
+
680
+ **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.`
679
681
  },
680
682
  // Step 2: Security Notice (library)
681
683
  "security-notice",
@@ -698,7 +700,7 @@ Process various types of events using intelligent pattern matching and historica
698
700
  - **Source Control**: GitHub, GitLab
699
701
  - **Communication Tools**: Slack
700
702
 
701
- **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.
703
+ **Event structure and semantics vary by source.** Use the inline event-action reference patterns and historical context to determine actions.
702
704
 
703
705
  #### Event Context to Extract:
704
706
  - **What happened**: The core event (test failed, PR merged, etc.)
@@ -819,42 +821,30 @@ Read \`.bugzy/runtime/memory/event-history.md\` to:
819
821
  - List \`./test-cases/\` for existing tests
820
822
  - Check \`.bugzy/runtime/knowledge-base.md\` for past insights
821
823
 
822
- #### 2.4 Load System-Specific Handler (REQUIRED)
823
-
824
- Based on the event source, load the handler from \`.bugzy/runtime/handlers/\`:
825
-
826
- **Step 1: Detect Event Source from Payload:**
827
- - \`com.jira-server.*\` event type prefix -> \`.bugzy/runtime/handlers/jira.md\`
828
- - \`com.recall.*\` event type prefix -> \`.bugzy/runtime/handlers/recall.md\`
829
- - \`github.*\` or GitHub webhook structure -> \`.bugzy/runtime/handlers/github.md\`
830
- - \`linear.*\` or Linear webhook -> \`.bugzy/runtime/handlers/linear.md\`
831
- - Other sources -> Check for matching handler file by source name
832
-
833
- **Step 2: Load and Read the Handler File:**
834
- The handler file contains system-specific instructions for:
835
- - Event payload structure and field meanings
836
- - Which triggers (status changes, resolutions) require specific actions
837
- - How to interpret different event types
838
- - When to invoke \`/verify-changes\`
839
- - How to update the knowledge base
840
-
841
- **Step 3: Follow Handler Instructions:**
842
- The handler file is authoritative for this event source. Follow its instructions for:
843
- - Interpreting the event payload
844
- - Determining what actions to take
845
- - Formatting responses and updates
846
-
847
- **Step 4: If No Handler Exists:**
848
- Do NOT guess or apply generic logic. Instead:
849
- 1. Inform the user that no handler exists for this event source
850
- 2. Ask how this event type should be processed
851
- 3. Suggest creating a handler file at \`.bugzy/runtime/handlers/{source}.md\`
852
-
853
- **Project-Specific Configuration:**
854
- Handlers reference \`.bugzy/runtime/project-context.md\` for project-specific rules like:
855
- - Which status transitions trigger verify-changes
856
- - Which resolutions should update the knowledge base
857
- - Which transitions to ignore`
824
+ #### 2.4 Event-Action Reference Patterns
825
+
826
+ 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.
827
+
828
+ **Jira Events:**
829
+ - **Status \u2192 "Ready to Test" / "In Testing" / "Ready for QA"**: Propose \`/verify-changes\` with issue context
830
+ - **Resolution: "Not a Bug" / "Won't Fix" / "User Error"**: Update knowledge base directly with the learning (no queue needed)
831
+ - **Bug created with relevant labels**: Propose \`/generate-test-cases\` to update related test coverage, confirm with team
832
+ - **Backlog \u2192 To Do**: No QA action needed, log to event history only
833
+
834
+ **GitHub Events:**
835
+ - **PR merged (routed to process-event)**: Propose \`/verify-changes\` for the merged changes
836
+ - **Issue closed as "won't fix"**: Update knowledge base directly with the learning
837
+ - **Issue created/updated**: Analyze for QA relevance, propose actions if applicable
838
+
839
+ **Recall.ai Events (Meeting Transcripts):**
840
+ - **QA-relevant content found**: Propose appropriate follow-up tasks (e.g., \`/generate-test-cases\`, \`/verify-changes\`)
841
+ - **No QA content** (HR meeting, offsite planning, etc.): Skip \u2014 log to event history only
842
+
843
+ **Other Events:**
844
+ - Analyze for QA relevance based on knowledge base and project context
845
+ - If action needed, propose appropriate task. If not, log and skip.
846
+
847
+ Check \`.bugzy/runtime/project-context.md\` for project-specific context that may inform action decisions.`
858
848
  },
859
849
  // Step 8: Intelligent Event Analysis (inline)
860
850
  {
@@ -874,17 +864,16 @@ Don't just match patterns - analyze the event within the full context:
874
864
  **Example Contextual Analysis**:
875
865
  \`\`\`
876
866
  Event: Jira issue PROJ-456 moved to "Ready for QA"
877
- + Handler: jira.md says "Ready for QA" triggers /verify-changes
867
+ + Reference Pattern: "Ready for QA" status suggests /verify-changes
878
868
  + History: This issue was previously in "In Progress" for 3 days
879
869
  + Knowledge: Related PR #123 merged yesterday
880
- = Decision: Invoke /verify-changes with issue context and PR reference
870
+ = Decision: Propose /verify-changes with issue context and PR reference
881
871
  \`\`\`
882
872
 
883
873
  **Pattern Recognition with Context**:
884
- - An issue resolution depends on what the handler prescribes for that status
874
+ - An issue resolution depends on the event-action reference patterns and project context
885
875
  - A duplicate event (same issue, same transition) should be skipped
886
876
  - Events from different sources about the same change should be correlated
887
- - Handler instructions take precedence over generic assumptions
888
877
 
889
878
  #### 3.2 Generate Semantic Queries
890
879
  Based on event type and content, generate 3-5 specific search queries:
@@ -910,7 +899,7 @@ Generate tasks based on event analysis, using examples from memory as reference.
910
899
  Analyze the event in context of ALL available information to decide what actions to take:
911
900
 
912
901
  **Consider the Full Context**:
913
- - What does the handler prescribe for this event type?
902
+ - What do the event-action reference patterns suggest for this event type?
914
903
  - How does this relate to current knowledge?
915
904
  - What's the state of related issues in external systems?
916
905
  - Is this part of a larger pattern we've been seeing?
@@ -918,17 +907,17 @@ Analyze the event in context of ALL available information to decide what actions
918
907
 
919
908
  **Contextual Decision Making**:
920
909
  The same event type can require different actions based on context:
921
- - If handler says this status triggers verification -> Invoke /verify-changes
910
+ - If reference pattern suggests verification -> Propose /verify-changes (queue for confirmation)
922
911
  - If this issue was already processed (check event history) -> Skip to avoid duplicates
923
- - If related PR exists in knowledge base -> Include PR context in actions
912
+ - If related PR exists in knowledge base -> Include PR context in proposed actions
924
913
  - If this is a recurring pattern from the same source -> Consider flagging for review
925
- - If handler has no rule for this event type -> Ask user for guidance
914
+ - If no clear action for this event type -> Analyze context or skip
926
915
 
927
916
  **Dynamic Task Selection**:
928
917
  Based on the contextual analysis, decide which tasks make sense:
929
918
  - **extract_learning**: When the event reveals something new about the system
930
919
  - **update_test_plan**: When our understanding of what to test has changed
931
- - **update_test_cases**: When tests need to reflect new reality
920
+ - **propose_generate_test_cases**: When tests need to reflect new reality (queued for confirmation)
932
921
  - **report_bug**: When we have a legitimate, impactful, reproducible issue
933
922
  - **skip_action**: When context shows no action needed (e.g., known issue, already fixed)
934
923
 
@@ -970,13 +959,64 @@ The issue-tracker agent will handle all aspects of issue tracking including dupl
970
959
  // Step 12: Execute Tasks (inline)
971
960
  {
972
961
  inline: true,
973
- title: "Execute Tasks with Memory Updates",
974
- content: `### Step 5: Execute Tasks with Memory Updates
962
+ title: "Queue Proposed Actions and Notify Team",
963
+ content: `### Step 5: Queue Proposed Actions and Notify Team
964
+
965
+ #### 5.1 Categorize Determined Actions
966
+
967
+ Separate actions into two categories:
968
+
969
+ **Queued Actions** (require team confirmation):
970
+ - \`/verify-changes\`, \`/generate-test-cases\`, \`/run-tests\`, \`/explore-application\`
971
+ - Any task that modifies tests, runs automation, or takes significant action
972
+
973
+ **Direct Actions** (execute immediately):
974
+ - Knowledge base updates and learnings
975
+ - Event history logging
976
+ - Event processor memory updates
977
+ - Skip decisions
978
+
979
+ #### 5.2 Execute Direct Actions
975
980
 
976
- #### 5.1 Execute Each Task
977
- Follow the standard execution logic with added context from memory.
981
+ Update \`.bugzy/runtime/knowledge-base.md\` directly for learnings (e.g., "Not a Bug" resolutions).
978
982
 
979
- #### 5.2 Update Event Processor Memory
983
+ #### 5.3 Queue Action Tasks
984
+
985
+ For each proposed action task, append one row to \`.bugzy/runtime/blocked-task-queue.md\`:
986
+
987
+ | Task Slug | Question | Original Args |
988
+ |-----------|----------|---------------|
989
+ | /verify-changes | Verify PROJ-456 changes (moved to Ready for QA)? Related PR #123. | \`{"issue": "PROJ-456", "context": "Jira Ready to Test"}\` |
990
+
991
+ Rules:
992
+ 1. Read file first (create if doesn't exist)
993
+ 2. Each action gets its own row
994
+ 3. **Question** must be clear and include enough context for team to decide
995
+ 4. **Original Args** must include event source, IDs, and relevant context as JSON
996
+
997
+ #### 5.4 Notify Team
998
+
999
+ {{INVOKE_TEAM_COMMUNICATOR}} to share the outcome:
1000
+
1001
+ **If actions were queued:**
1002
+ - What event was processed
1003
+ - What actions are proposed (with brief reasoning)
1004
+ - These are awaiting confirmation
1005
+
1006
+ **If no actions queued (KB-only update or skip):**
1007
+ - What event was processed
1008
+ - What was learned or why it was skipped
1009
+ - That no action is needed from the team
1010
+
1011
+ #### 5.5 Complete Task
1012
+
1013
+ After queuing and notifying, the task is DONE. Do NOT:
1014
+ - Execute /verify-changes, /run-tests, /generate-test-cases directly
1015
+ - Wait for team response (messaging infrastructure handles that)
1016
+ - Create or modify test files
1017
+ - Run Playwright tests
1018
+
1019
+ #### 5.6 Update Event Processor Memory
980
1020
  If new patterns discovered, append to \`.bugzy/runtime/memory/event-processor.md\`:
981
1021
  \`\`\`markdown
982
1022
  ### Pattern: [New Pattern Name]
@@ -986,7 +1026,7 @@ If new patterns discovered, append to \`.bugzy/runtime/memory/event-processor.md
986
1026
  **Example**: [This event]
987
1027
  \`\`\`
988
1028
 
989
- #### 5.3 Update Event History
1029
+ #### 5.7 Update Event History
990
1030
  Append to \`.bugzy/runtime/memory/event-history.md\`:
991
1031
  \`\`\`markdown
992
1032
  ## [Timestamp] - Event #[ID]
@@ -1059,7 +1099,8 @@ Create files if they don't exist:
1059
1099
  - Adjust responses based on business priorities and risk
1060
1100
 
1061
1101
  ### Smart Task Generation
1062
- - Only take actions prescribed by the handler or confirmed by the user
1102
+ - NEVER execute action tasks directly \u2014 all action tasks go through blocked-task-queue for team confirmation
1103
+ - Knowledge base updates and event history logging are the only direct operations
1063
1104
  - Document why each decision was made with full context
1064
1105
  - Skip redundant actions (e.g., duplicate events, already-processed issues)
1065
1106
  - Escalate appropriately based on pattern recognition
@@ -1787,8 +1828,11 @@ This command orchestrates the complete test coverage workflow in a single execut
1787
1828
  2. **Phase 2**: Generate lightweight test plan
1788
1829
  3. **Phase 3**: Generate and verify test cases (create + fix until passing)
1789
1830
  4. **Phase 4**: Triage failures and fix test issues
1790
- 5. **Phase 5**: Log product bugs
1791
- 6. **Phase 6**: Final report`
1831
+ 5. **Phase 5**: Log product bugs to issue tracker
1832
+ 6. **Phase 6**: Notify team via Slack/Teams with results summary
1833
+ 7. **Phase 7**: Generate final report
1834
+
1835
+ **IMPORTANT**: All phases must be completed. Do NOT skip Phase 5 (bug logging) or Phase 6 (team notification) \u2014 these are required deliverables.`
1792
1836
  },
1793
1837
  // Step 2: Security Notice (from library)
1794
1838
  "security-notice",