feat(backend): implement Guardrails & Safety Framework (#63) #70

Closed
cardosofelipe wants to merge 97 commits from feature/63-guardrails-safety-framework into dev
3 changed files with 40 additions and 6 deletions
Showing only changes of commit 64576da7dc - Show all commits

View File

@@ -22,8 +22,8 @@ const implementedPrototypes = [
title: 'Main Dashboard',
description: 'Landing page with projects list, activity feed, and quick stats overview',
icon: Home,
issue: '#47',
implementedAt: '/projects',
issue: '#53',
implementedAt: '/',
},
{
id: 'project-dashboard',

View File

@@ -6,10 +6,42 @@
* @module components/projects
*/
// Dashboard Components
export { ProjectDashboard } from './ProjectDashboard';
export { ProjectHeader } from './ProjectHeader';
export { AgentPanel } from './AgentPanel';
export { SprintProgress } from './SprintProgress';
export { BurndownChart } from './BurndownChart';
export { IssueSummary } from './IssueSummary';
export { RecentActivity } from './RecentActivity';
export { ProjectStatusBadge, AutonomyBadge } from './StatusBadge';
export { ProgressBar } from './ProgressBar';
// List Components
export { ProjectCard, ProjectCardSkeleton } from './ProjectCard';
export { ProjectFilters } from './ProjectFilters';
export { ProjectsGrid } from './ProjectsGrid';
// Wizard Components
export { ProjectWizard, StepIndicator, SelectableCard } from './wizard';
// Re-export wizard types
// Re-export types
export type {
Project,
ProjectStatus,
AutonomyLevel as ProjectAutonomyLevel,
AgentInstance,
AgentStatus,
Sprint,
SprintStatus,
Issue,
IssueStatus,
IssuePriority,
IssueCountSummary,
ActivityItem,
BurndownDataPoint,
} from './types';
export type {
WizardState,
WizardStep,
@@ -17,3 +49,7 @@ export type {
ClientMode,
AutonomyLevel,
} from './wizard';
export type { ProjectCardProps } from './ProjectCard';
export type { ProjectFiltersProps, ViewMode, SortBy, SortOrder, Complexity } from './ProjectFilters';
export type { ProjectsGridProps } from './ProjectsGrid';

View File

@@ -299,9 +299,7 @@ describe('ErrorBoundary', () => {
expect(icons.length).toBeGreaterThan(0);
});
it('reset button is keyboard accessible', async () => {
const user = userEvent.setup();
it('reset button is keyboard accessible', () => {
render(
<ErrorBoundary>
<ThrowingComponent shouldThrow={false} />