Skip to content

Redesign audit report UI with modern styling and interactive features - #14

Merged
harishconti merged 1 commit into
mainfrom
claude/improve-ui-and-docs-1kYaq
Apr 11, 2026
Merged

Redesign audit report UI with modern styling and interactive features#14
harishconti merged 1 commit into
mainfrom
claude/improve-ui-and-docs-1kYaq

Conversation

@Sruthi-ng

Copy link
Copy Markdown

Summary

This PR completely redesigns the PipelineProbe audit report HTML template with a modern, professional UI featuring a sticky topbar, animated health-score visualization, severity-based filtering, and improved visual hierarchy. The report is now client-ready and suitable for sharing in presentations and documentation.

Key Changes

Report UI Overhaul (pipelineprobe/templates/report.html)

  • Sticky topbar with brand identity (gradient icon + name) and generation timestamp
  • Animated SVG health-score ring replacing plain text score display, with circular progress visualization
  • Enhanced summary grid with four stat cards (Health Score, Critical, Warning, Info counts) featuring colored icons and improved typography
  • Severity-based filtering buttons (All / Critical / Warnings / Info) for interactive issue filtering
  • Affected resource tags on each finding card showing impacted DAGs/models
  • Subtle per-severity background tints on issue cards (red/yellow/blue gradients)
  • Improved visual hierarchy with better spacing, typography scales, and color contrast
  • Responsive design with mobile-first breakpoints and print-friendly styles
  • CSS variables for consistent theming (colors, shadows, border radius, typography)
  • Enhanced card styling with hover effects, shadows, and better visual separation

Report Data (pipelineprobe/cli.py & pipelineprobe/renderer.py)

  • Added info_count to summary statistics (alongside critical and warning counts)
  • Computed SVG ring stroke-dashoffset for animated health-score visualization
  • Passed additional context to template for filtering and resource display

Documentation Updates

  • Updated README with clearer feature descriptions, improved CLI reference tables, and Docker quickstart instructions
  • Enhanced configuration documentation with better formatting and environment variable guidance
  • Improved architecture documentation with ASCII diagrams and clearer component descriptions
  • Updated CONTRIBUTING guide with more concise setup and testing instructions
  • Added CI/CD integration examples including regression detection with pipelineprobe diff
  • Updated CHANGELOG to document UI improvements and new features

Implementation Details

  • SVG Ring Animation: Health score displayed as a circular progress ring using SVG <circle> elements with stroke-dasharray/stroke-dashoffset for smooth visual representation
  • CSS Grid Layout: Summary grid uses grid-template-columns: 260px 1fr 1fr 1fr for balanced card distribution
  • Color System: Expanded CSS variables to include primary-dark, shadows, and border-radius for consistent theming
  • Responsive Breakpoints: Media queries at 960px and 600px for tablet and mobile optimization
  • Print Styles: Special @media print rules to ensure reports render cleanly when printed or saved as PDF
  • Accessibility: Maintained semantic HTML structure with proper heading hierarchy and color contrast ratios

https://claude.ai/code/session_01L8mATgWmPBhqkS8JyP3fsx

Report template:
- Sticky topbar with brand icon and generation timestamp
- SVG animated health-score ring (stroke-dashoffset driven by score)
- Fourth summary card for Info count alongside Critical and Warnings
- Per-severity background tints on issue cards (critical → red tint, etc.)
- Affected resource tags displayed as monospace pills on each finding
- Severity filter buttons (All / Critical / Warnings / Info) with JS filtering
- Responsive grid: 4-col → 2-col → 1-col at 960px / 600px breakpoints
- Print-friendly CSS: static topbar, hidden filter bar, no hover transforms

Python:
- cli.py: compute info_count and include in summary dict / JSON report
- renderer.py: compute ring_offset (251.3 × (1 − score/100)) and pass to template

Documentation:
- README: full rewrite — CLI reference table, exit codes, diff workflow, comparison table, PyPI badge
- CHANGELOG: proper [Unreleased] / [0.1.0] comparison links; UI changes documented
- CONTRIBUTING: template variable reference table; rule/connector guides tightened
- docs/architecture.md: diff command, ring_offset, health score formula, updated tables
- docs/configuration.md: rules section, severity_overrides table, exit codes
- docs/ci-integration.md: diff regression detection workflow, threshold guide, exit codes table
- docs/bugs_improvements.md: completed items marked; open roadmap items listed

https://claude.ai/code/session_01L8mATgWmPBhqkS8JyP3fsx
@harishconti
harishconti merged commit 71f86d8 into main Apr 11, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants