From 256f792b6c41d24994cf052512fa7eab3d159aa6 Mon Sep 17 00:00:00 2001 From: kevlingo Date: Sun, 22 Jun 2025 17:54:24 -0400 Subject: [PATCH] fix(dev-agent): Adopt Fibonacci scale for complexity assessment This commit updates the complexity assessment system from a 1-10 scale to the industry-standard Fibonacci scale (1, 2, 3, 5, 8, 13), aligning BMAD with Agile best practices. Key changes: - Updated agentThresholdStory from 6 to 5 (Fibonacci equivalent) - Updated agentThresholdTask from 7 to 8 (Fibonacci equivalent) - Added Fibonacci complexity guidelines to help agents make consistent assessments - Modified task instructions to reference Fibonacci scale instead of 1-10 This change ensures consistency with industry standards that most development teams already understand, while maintaining the same relative complexity thresholds for triggering review processes. --- bmad-core/core-config.yml | 6 +++--- bmad-core/tasks/implement-story-with-review.md | 12 ++++++++++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/bmad-core/core-config.yml b/bmad-core/core-config.yml index ca9c515d..4e4b986e 100644 --- a/bmad-core/core-config.yml +++ b/bmad-core/core-config.yml @@ -18,9 +18,9 @@ devLoadAlwaysFiles: devDebugLog: .ai/debug-log.md devStoryLocation: docs/stories agentCoreDump: .ai/core-dump{n}.md -# Thresholds for the dev agent's integrated review process (Scale 1-10). +# Thresholds for the dev agent's integrated review process (Fibonacci Scale: 1,2,3,5,8,13). # The agent will enter "Review Mode" if a story's complexity exceeds agentThresholdStory. # Within Review Mode, it will trigger a self-critique loop for any task whose # complexity exceeds agentThresholdTask. -agentThresholdStory: 6 -agentThresholdTask: 7 \ No newline at end of file +agentThresholdStory: 5 +agentThresholdTask: 8 \ No newline at end of file diff --git a/bmad-core/tasks/implement-story-with-review.md b/bmad-core/tasks/implement-story-with-review.md index e7704d54..ae30f8d7 100644 --- a/bmad-core/tasks/implement-story-with-review.md +++ b/bmad-core/tasks/implement-story-with-review.md @@ -26,11 +26,19 @@ To execute a user story with a proactive analysis and review cycle, ensuring ali 3. **Request explicit instruction to continue:** "Please let me know how you would like to proceed." 4. **HALT and await user response.** Once the user confirms to continue (with or without them enabling internet access), proceed to the next step using the available knowledge.]] 5. **Initial Complexity Assessment & Mode Declaration**: - - Calculate a "Story Complexity" score from 1 to 10. + - Calculate a "Story Complexity" score using Fibonacci scale (1, 2, 3, 5, 8, 13). - If Review Mode was forced by the user OR if `Story Complexity` > `agentThresholdStory`, declare: "**Entering high-scrutiny 'Review Mode' for this story. Each task will be individually assessed.**" - Otherwise, declare: "**Story complexity is within standard limits. Each task will still be individually assessed for complexity.**" - Log the complexity score (if calculated) and the reason for the mode in the story's `Dev Notes`. +**Fibonacci Complexity Guidelines:** +- **1**: Trivial changes (typos, simple styling) +- **2**: Minor feature additions (new button, basic validation) +- **3**: Standard feature implementation (form handling, API calls) +- **5**: Complex features (authentication, data processing) +- **8**: Major architectural changes (new services, database schema) +- **13**: High-risk/high-uncertainty work (new frameworks, complex integrations) + ## 2. Unified Task Execution Phase [[LLM: Proceed with the `Tasks / Subtasks` list from the story file one by one. The following logic applies to EVERY task.]] @@ -38,7 +46,7 @@ To execute a user story with a proactive analysis and review cycle, ensuring ali << For each task in the story's task list: >> 1. **Mandatory Task Complexity Assessment**: - - Evaluate the complexity of the *current task* on a scale of 1-10, leveraging the initial semantic search results. + - Evaluate the complexity of the *current task* using Fibonacci scale (1, 2, 3, 5, 8, 13), leveraging the initial semantic search results. - Compare the `Task Complexity` score against the `agentThresholdTask` value from `core-config.yml`. 2. **Conditional Implementation Path**: