Skip to content

Conversation

@superbuggy
Copy link
Collaborator

@superbuggy superbuggy commented Dec 12, 2025

AEGIS-196 KPI Metrics View

Checklist:

  • Commits consolidated
  • Changelog updated
  • Test cases added/updated
  • Integration tests updated
  • Jira ticket updated

Summary:

image

Changes:

  • Adds KPI metrics view

    • Line chart with date range selector
  • Adds UI library for data visualization

Considerations:

@superbuggy superbuggy added the internal Skip Jira CI label Dec 12, 2025
@superbuggy superbuggy changed the title Aegis 196 kpi UI ✨ Provide KPI metrics view Dec 12, 2025
@superbuggy superbuggy requested a review from a team December 12, 2025 02:51
@superbuggy superbuggy force-pushed the AEGIS-196-KPI-ui branch 2 times, most recently from e631cba to 7bff0c8 Compare December 12, 2025 03:59
@superbuggy superbuggy force-pushed the AEGIS-196-KPI-ui branch 2 times, most recently from 5ba78b7 to eb635f3 Compare December 15, 2025 18:13
@superbuggy superbuggy self-assigned this Dec 16, 2025
Fix type error

✅ Fix tests

Update CHANGELOG.md

✅ Fix tests

🔧 Try different syntactic expression to avoid CI error

Bump vitest version

🔧 Try yet another syntactic expression to avoid CI error

🔧 Try yet another syntactic expression to avoid CI error

🔧 Try node upgrade in test CI

 ✨ Preserve date range selection

🔧 Refactor test to not use hoisted

Fix formatting

🔥 Remove test CI debugging script
Add ean values

✨ Provide filtering by build

 ✅ Fix test
Copy link
Member

@C-Valen C-Valen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally looking good, just some small considerations/questions.

Also as discussed internally in meeting would be convenient to show the total KPI across all features.

Comment on lines +106 to +113
{
path: '/kpi',
name: 'kpi-metrics',
component: KpiMetricsView,
meta: {
title: 'KPI Metrics',
},
},
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will we make the data publicly available?

});
});

describe('getKpiMetrics', () => {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even being the function part of the service, I think it could be better organized in a individual test suite, wdyt?

Comment on lines +12 to +15
'suggest-cwe': 'Suggest CWE',
'suggest-description': 'Suggest Description',
'suggest-impact': 'Suggest Impact',
'suggest-statement': 'Suggest Statement Mitigation',
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are title and CVSS included?

type FeatureLabelsWithAllType = keyof typeof FeatureLabelsWithAll;
const kpiMetrics = ref<AegisKpiMetrics | null>(null);
// const chosenFeature = ref<keyof typeof FeatureLabels>('all');
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this still needed for some indication?

</button>
</section>
<h3 v-if="!isFilteredDateRange">Average (All Time)</h3>
<h3 v-if="isFilteredDateRange">Average (AcrossDate Range)</h3>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<h3 v-if="isFilteredDateRange">Average (AcrossDate Range)</h3>
<h3 v-if="isFilteredDateRange">Average (Across Date Range)</h3>

Comment on lines +17 to +18
### Added
* Add KPI metrics data visualization (`AEGIS-196`)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can use the existing Added block at the top

});
} catch (error) {
console.error('AegisAIService::sendFeedback() Error:', error);
throw error;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why removing this throw error?

const chosenFeature = ref<FeatureLabelsWithAllType>('all');
async function fetchKpiMetrics(feature: FeatureLabelsWithAllType = 'all') {
const featureKey = feature === 'all' ? 'all' : (feature as any);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cant we avoid any typing

const featureKey: 'all' | FeatureLabel = feature;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

internal Skip Jira CI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants