Skip to content

[AISOS-2389] Forge Grafana dashboards classify tasks as bugs - #301

Merged
eshulman2 merged 1 commit into
forge-sdlc:mainfrom
forgeSmith-bot:forge/aisos-2389
Aug 11, 2026
Merged

[AISOS-2389] Forge Grafana dashboards classify tasks as bugs#301
eshulman2 merged 1 commit into
forge-sdlc:mainfrom
forgeSmith-bot:forge/aisos-2389

Conversation

@forgeSmith-bot

Copy link
Copy Markdown
Collaborator

Summary

This pull request resolves issues where "Task" issue types were omitted or misclassified as bugs on Forge Grafana dashboards by converting hardcoded filters to dynamic queries. It introduces dedicated KPI panels on the business dashboard to track the average cost and completion times specifically for tasks, providing complete and accurate visibility into SDLC performance metrics. Additionally, the developer guide has been updated to officially list "Task" alongside features and bugs as a core ticket type.

Changes

Dashboards

  • Dynamic Variable Definition: Converted the hardcoded ticket_type CustomVariable to a dynamic ClickHouse QueryVariable in devtools/grafana/dashboards/forge-business.json to automatically retrieve active ticket types, preventing tasks from being filtered out.
  • Avg Cost / Task Panel (panel-26): Created a new KPI panel as a duplicate of the bug fix cost panel, filtered on t.metadata['ticket_type'] = 'Task'.
  • Avg Completion Time (Tasks) Panel (panel-27): Added a new efficiency panel as a duplicate of the bug completion time panel, filtered on t.metadata['ticket_type'] = 'Task'.
  • Layout Adjustments: Re-calculated grid positions (x-offset, width) under the "💵 Executive KPIs" and "🔄 Efficiency & Waste" rows to cleanly integrate the new panels within the standard 24-column grid limit.

Documentation

  • Developer Guide (docs/developer-guide.md): Updated trace metadata field descriptions to explicitly include Task as a first-class ticket type option, aligning developer documentation with system behavior.

Implementation Notes

  • Extensibility: Replacing hardcoded list selections with a dynamic trace query ensures that any future ticket types will automatically propagate to the dashboard filters without needing schema changes.
  • Grid Integrity: Panel widths in the modified rows were resized proportionally (width 4 for the executive row, and width 8 for the efficiency row) to ensure a clean, symmetric presentation that utilizes exactly 24 units per row.

Testing

  • Dashboard Validation: Verified dashboard JSON well-formedness, schema compliance, and variable definitions by running unit tests (pytest tests/unit/devtools/test_grafana_assets.py).
  • Code Quality: Checked compliance and formatting using ruff check src/.

Related Tickets


Generated by Forge SDLC Orchestrator

Detailed description:
- Converted ticket_type CustomVariable in forge-business.json to a dynamic ClickHouse QueryVariable, which queries all active ticket types including Task, preventing them from being filtered out.
- Added 'Avg Cost / Task' panel (panel-26) and 'Avg Completion Time (Tasks)' panel (panel-27) to business dashboard.
- Integrated new panels into '💵 Executive KPIs' and '🔄 Efficiency & Waste' rows with clean, symmetric widths and grid offsets.

Closes: AISOS-2391
@forgeSmith-bot

Copy link
Copy Markdown
Collaborator Author

🛠️ Forge PR Commands

This pull request was created by Forge! You can use the following commands by commenting on this PR:

  • /forge rebase - Merge the base branch (e.g. main) into this PR branch, with conflicts resolved by AI.
  • /forge skip-gate <name> - Skip a named CI check (substring match) for this PR. This setting persists across subsequent pushes.
  • /forge unskip-gate <name> - Remove a previously set CI check skip.

Feel free to use these commands to manage your workflow!

@eshulman2
eshulman2 merged commit 6cedf51 into forge-sdlc:main Aug 11, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants