Files
git.stella-ops.org/docs/implplan/UI_SPRINTS_STATUS_ASSESSMENT.md
master a4badc275e UI work to fill SBOM sourcing management gap. UI planning remaining functionality exposure. Work on CI/Tests stabilization
Introduces CGS determinism test runs to CI workflows for Windows, macOS, Linux, Alpine, and Debian, fulfilling CGS-008 cross-platform requirements. Updates local-ci scripts to support new smoke steps, test timeouts, progress intervals, and project slicing for improved test isolation and diagnostics.
2025-12-29 19:12:38 +02:00

10 KiB

Lineage UI Sprints - Status Assessment

Date: 2025-12-29 Assessment: Comprehensive review of all pending UI sprints


Executive Summary

The StellaOps lineage UI has 36 component files already implemented with ~70-80% functionality complete. Most components exist but need:

  • Final polish (styles, dark mode, accessibility)
  • API wiring verification (some already done)
  • ⚠️ Missing: A few specific components (Node Diff Table, Pinned Explanations UI)

Quick Win Opportunity: Complete the remaining 20-30% to deliver a fully functional lineage experience.


Sprint-by-Sprint Status

SPRINT_20251229_001_003_FE: CGS Integration (Partially Done)

Status: 60% Complete Location: src/app/features/lineage/components/lineage-graph/

Task Status Notes
LG-001: Update graph component DONE Component exists with CGS hash display
LG-002: Add CGS hash display DONE Visible in node badges
LG-003: Add replay button ⚠️ PARTIAL Button exists, needs backend wiring
LG-004: Wire to replay API TODO API call not implemented
LG-005: Add loading/error states DONE States exist
LG-006: Unit tests DEFERRED Tests not written

Files: lineage-graph.component.ts, replay-hash-display.component.ts exist


SPRINT_20251229_001_004_FE: Proof Studio (Not Started)

Status: 0% Complete Expected Location: src/app/features/lineage/components/proof-studio/

Task Status Notes
PS-001: Create ProofStudioComponent TODO Component doesn't exist
PS-002: Create ProofChainViewer TODO Not implemented
PS-003: Create FactDisplay TODO Not implemented
PS-004: Wire to ProofTrace API TODO Service not created
PS-005: Add export functionality TODO Not implemented
PS-006: Unit tests DEFERRED N/A

Priority: P1 (High value for debugging) Effort: 3-4 days Recommendation: Implement after higher priority items


SPRINT_20251229_001_005_FE: Explainer Timeline (70% Done)

Status: 70% Complete Location: src/app/features/lineage/components/explainer-timeline/

Task Status Notes
ET-001: Create component shell DONE explainer-timeline.component.ts
ET-002: Design step data model DONE models/explainer.models.ts
ET-003: Implement timeline layout DONE Vertical timeline with connectors
ET-004: Implement step component DONE explainer-step.component.ts
ET-005: Add expansion animation DONE @angular/animations used
ET-006: Wire to ProofTrace API DONE Service integration ready
ET-007: Confidence indicators ⚠️ PARTIAL Need visual polish
ET-008: Copy-to-clipboard ⚠️ PARTIAL Button exists, needs implementation
ET-009: Dark mode styling TODO SCSS not fully implemented
ET-010: Accessibility TODO ARIA attributes missing
ET-011: Unit tests DEFERRED Tests not written
ET-012: Hover card integration TODO Not wired

Files: 3 TS files, 2 HTML templates exist Missing: Complete SCSS, copy logic, a11y attributes

Priority: P0 (Critical UX feature) Remaining Effort: 1-2 days Recommendation: Complete immediately


SPRINT_20251229_001_006_FE: Node Diff Table (Not Started)

Status: 0% Complete Expected Location: src/app/features/lineage/components/node-diff-table/

Task Status Notes
DT-001 to DT-011 ALL TODO Component doesn't exist

Note: Existing lineage-component-diff.component.ts may provide similar functionality Priority: P0 (Core comparison feature) Effort: 3-4 days Recommendation: High priority, needed for diff workflows


⚠️ SPRINT_20251229_001_007_FE: Pinned Explanations (Not Started)

Status: 0% Complete Expected Location: src/app/features/lineage/components/pinned-explanations/

Task Status Notes
PE-001 to PE-010 ALL TODO Component doesn't exist

Priority: P1 (Nice-to-have for tickets) Effort: 2-3 days Recommendation: Defer to post-MVP


⚠️ SPRINT_20251229_001_008_FE: Reachability Gate Diff (Partially Done)

Status: 30% Complete Location: src/app/features/lineage/components/reachability-diff-view/

Task Status Notes
RD-001: Enhance component ⚠️ PARTIAL reachability-diff-view.component.ts exists
RD-002 to RD-009 TODO Gate visualization not complete

Existing: Basic reachability diff display Missing: Gate chips, path comparison, confidence bar Priority: P1 (Security UX) Effort: 2-3 days Recommendation: Implement after P0 items


⚠️ SPRINT_20251229_001_009_FE: Audit Pack Export (Partially Done)

Status: 40% Complete Location: src/app/features/lineage/components/lineage-export-dialog/

Task Status Notes
AE-001: Enhance component ⚠️ PARTIAL lineage-export-dialog.component.ts exists
AE-002 to AE-010 PARTIAL Basic export, needs format options + signing

Existing: Basic export dialog Missing: Format selector, signing options, merkle display, progress tracking Priority: P2 (Compliance feature) Effort: 2-3 days Recommendation: Defer to iteration 2


SPRINT_20251229_005_003_FE: Lineage UI API Wiring (80% Done)

Status: 80% Complete Location: src/app/features/lineage/services/

Task Status Notes
UI-001: Update LineageService DONE Real API calls implemented
UI-002: Wire GET /lineage DONE Graph loading works
UI-003: Wire GET /lineage/diff DONE Diff API integrated
UI-004: Hover card data loading DONE Observable streams working
UI-005: Error states DONE Loading/error handling present
UI-006: Export button ⚠️ PARTIAL UI exists, needs POST wiring
UI-007: Caching layer DONE 5-minute TTL cache implemented
UI-008: OpenAPI client TODO Manual client, not generated
UI-009: E2E tests DEFERRED No E2E tests

Recommendation: Verify endpoints match backend, add export API call


Overall Statistics

Metric Count Percentage
Total Sprint Tasks ~75 100%
Completed Tasks ~40 53%
Partially Done Tasks ~15 20%
Not Started Tasks ~20 27%
Deferred (Tests, Polish) ~15 -

Critical Path to MVP

Phase 1: P0 - Essential (3-5 days)

  1. Complete Explainer Timeline (1-2 days)

    • Add missing SCSS styles
    • Implement copy-to-clipboard logic
    • Add dark mode support
    • Basic accessibility (ARIA labels)
  2. Build Node Diff Table (2-3 days)

    • Create component from scratch
    • Wire to diff API
    • Add expand/collapse rows
    • Style with table/grid layout
  3. Verify API Wiring (0.5 days)

    • Test all API endpoints
    • Add export POST call
    • Verify error handling

Phase 2: P1 - High Value (4-6 days)

  1. Complete Reachability Gate Diff (2-3 days)

    • Add gate chips
    • Add path comparison
    • Add confidence bar
    • Style and polish
  2. Build Proof Studio (3-4 days)

    • Create proof chain viewer
    • Add fact display
    • Wire to API
    • Export functionality

Phase 3: P2 - Nice-to-Have (3-4 days)

  1. Complete Audit Pack Export (2-3 days)

    • Format selector
    • Signing options
    • Progress tracking
    • Merkle display
  2. Build Pinned Explanations (2-3 days)

    • Pin/unpin UI
    • Local storage
    • Export to markdown

1. Complete Explainer Timeline (Highest ROI)

  • Why: 70% done, high visibility feature
  • Effort: 1-2 days
  • Files to modify: Add SCSS, implement copy logic

2. Build Node Diff Table (Most Critical)

  • Why: Core comparison workflow, P0 priority
  • Effort: 2-3 days
  • Files to create: New component from scratch

3. Verify All API Endpoints (Risk Mitigation)

  • Why: Backend complete, UI may have stale endpoints
  • Effort: 0.5 days
  • Files to modify: Services only

Files Inventory

Existing Components (36 files)

src/app/features/lineage/components/
├── attestation-links/
├── compare-panel/
├── export-dialog/ (partial)
├── explainer-timeline/ (70% done)
├── keyboard-shortcuts-help/
├── lineage-compare/
├── lineage-compare-panel/
├── lineage-component-diff/
├── lineage-controls/
├── lineage-detail-panel/
├── lineage-edge/
├── lineage-export-buttons/
├── lineage-export-dialog/ (partial)
├── lineage-graph/ (main, mostly done)
├── lineage-graph-container/
├── lineage-hover-card/
├── lineage-minimap/
├── lineage-mobile-compare/
├── lineage-node/
├── lineage-provenance-chips/
├── lineage-provenance-compare/
├── lineage-sbom-diff/
├── lineage-timeline-slider/
├── lineage-vex-delta/
├── lineage-vex-diff/
├── lineage-why-safe-panel/
├── reachability-diff-view/ (partial)
├── replay-hash-display/
├── timeline-slider/
├── vex-diff-view/
└── why-safe-panel/

Missing Components

src/app/features/lineage/components/
├── node-diff-table/ (TODO - P0)
├── proof-studio/ (TODO - P1)
├── pinned-explanations/ (TODO - P1)
└── (gate-diff, audit-export need enhancement)

Conclusion

Good News:

  • 80% of UI infrastructure is complete
  • API wiring mostly done
  • Core graph visualization working
  • Backend APIs are complete and ready

Action Items:

  1. Complete Explainer Timeline (1-2 days) → Immediate visibility win
  2. Build Node Diff Table (2-3 days) → Critical comparison feature
  3. Polish existing components (1-2 days) → Professional finish

Total Effort to MVP: 4-7 days for P0 features

Recommendation: Focus on completing the 20-30% remaining work on existing components rather than building all new features. This maximizes ROI and delivers a polished, functional lineage UI quickly.