# Node Diff Table Component (Tabular SBOM Change Comparison) ## Module Web ## Status VERIFIED ## Description Tabular SBOM component-change diff view with change-type filter chips, debounced search, multi-column sorting, row selection with bulk actions, pagination, clipboard actions, and CSV export for lineage comparisons. ## Implementation Details - **Feature directory**: `src/Web/StellaOps.Web/src/app/features/lineage/components/node-diff-table/` - **Primary component**: - `diff-table.component.ts` - `diff-table.component.html` - `diff-table.component.scss` - `models/diff-table.models.ts` - **Service dependency**: - `src/Web/StellaOps.Web/src/app/features/lineage/services/lineage-graph.service.ts` - **Behavioral tests**: - `src/Web/StellaOps.Web/src/tests/lineage/node-diff-table-component.spec.ts` ## E2E Test Plan - **Setup**: - [ ] Log in with a user that has appropriate permissions - [ ] Navigate to lineage comparison workflow hosting the node diff table - [ ] Ensure comparison data exists (added/removed/changed components) - **Core verification**: - [ ] Verify component rows render and sort deterministically - [ ] Verify search is debounced and filter chips (including both-changed) work - [ ] Verify bulk actions, pagination, and API-input based diff fetch behavior - **Edge cases**: - [ ] Verify graceful handling when backend API is unavailable (error state) - [ ] Verify responsive layout at different viewport sizes - [ ] Verify accessibility (keyboard navigation, screen reader labels, ARIA attributes) ## Verification - Run: `docs/qa/feature-checks/runs/web/node-diff-table-component/run-001/` - Tier 0 (source): pass (`tier0-source-check.json`) - Tier 1 (build/tests): pass (`tier1-build-check.json`) - Tier 2 (behavior): pass (`tier2-e2e-check.json`) - Verified on (UTC): `2026-02-11T09:03:08.3546412Z`