Analysis/_bmad-output/implementation-artifacts/2-5-exclusion-non-destructive-de-donnees.md
2026-01-11 22:56:02 +01:00

2.3 KiB

Story 2.5: Exclusion Non-Destructive de Données

Status: review

Story

As a Julien (Analyst), I want to toggle the inclusion of specific rows in the analysis, so that I can test different scenarios without deleting data.

Acceptance Criteria

  1. Row Toggle: Users can click a "checkbox" or a specific "Exclude" button on each row.
  2. Visual Feedback: Excluded rows are visually dimmed (e.g., 30% opacity) and struck through.
  3. Bulk Toggle: Ability to exclude all filtered rows or all rows matching a criteria (already partially covered by Epic 2.4).
  4. State Persistence: Exclusion state is tracked in the global store.
  5. Impact on Analysis: The data sent to subsequent analysis engines (Correlation, Regression) MUST exclude these rows.

Tasks / Subtasks

  • Grid UI Update (AC: 1, 2)
    • Add an Exclude column with a toggle switch or button to the SmartGrid.
    • Implement conditional styling for the entire row based on exclusion state.
  • State Logic (AC: 4)
    • Ensure excludedRows in useGridStore is properly integrated with all UI components.
  • Data Pipeline Prep (AC: 5)
    • Create a selector/helper getCleanData() that returns the dataset minus the excluded rows.

Dev Notes

  • UX: Added a dedicated "Eye/EyeOff" icon column for quick row exclusion toggling.
  • Visuals: Excluded rows use opacity-30, line-through, and a darker background to clearly distinguish them from active data.
  • Selector: The getCleanData function in the store ensures all future analysis steps only receive valid, included rows.

Project Structure Notes

  • Modified frontend/src/store/use-grid-store.ts.
  • Updated frontend/src/features/smart-grid/components/SmartGrid.tsx.

References

  • [Source: epics.md#Story 2.5]
  • [Source: ux-design-specification.md#2.5 Experience Mechanics]

Dev Agent Record

Agent Model Used

{{agent_model_name_version}}

Completion Notes List

  • Implemented a "soft delete" system for row exclusion.
  • Added visual indicators (strike-through and dimming) for excluded rows.
  • Created a getCleanData selector to facilitate downstream statistical modeling.
  • Integrated row-level toggle buttons directly in the SmartGrid.

File List

  • /frontend/src/store/use-grid-store.ts
  • /frontend/src/features/smart-grid/components/SmartGrid.tsx