Skip to main content

Visual risk exposure of PRs powered by ai-patch-verifier outputs.

Project description

⭐ diff-risk-dashboard — APV → Risk Summary (Python CLI)

A lean, production-grade Python CLI that ingests ai-patch-verifier (APV) JSON and outputs a clear risk summary in JSON or Markdown.

Manual


CI / build CodeQL Analysis Release License: MIT


Repo layout

.
├── examples/
│   └── sample_apv.json           # APV sample for demos/tests
├── src/diff_risk_dashboard/
│   ├── __main__.py               # module entry
│   ├── cli.py                    # CLI
│   ├── core.py                   # summarization logic
│   └── report.py                 # Markdown generator
├── tests/                        # pytest
└── .github/workflows/            # CI + CodeQL + Release Drafter

🚀 Quick Start

# 1) Clone
git clone https://github.com/CoderDeltaLAN/diff-risk-dashboard.git
cd diff-risk-dashboard

# 2) Install (isolated venv recommended)
python -m venv .venv && source .venv/bin/activate
python -m pip install -U pip
python -m pip install .

# 3) Use the CLI
# Table-like Markdown to file
diff-risk examples/sample_apv.json -f md -o report.md
# JSON to stdout
diff-risk examples/sample_apv.json -f json

CLI usage

diff-risk -h
usage: diff-risk [-h] [-f {md,json}] [-o OUTPUT] input

Diff Risk Dashboard (APV JSON -> summary)

positional arguments:
  input                 Path to ai-patch-verifier JSON

options:
  -h, --help            show this help message and exit
  -f {md,json}, --format {md,json}
                        Output format
  -o OUTPUT, --output OUTPUT
                        Output file; '-' = stdout

Note: Inline JSON strings and wrapper commands (drt, drb, drj, drmd) are not supported in this version. Provide a file path as input.


📦 Expected input (APV-like JSON)

  • Input: JSON with APV-style findings (e.g., objects including a predicted_risk of low|medium|high).
  • The summarizer normalizes case and computes:
    • total
    • by_severity (CRITICAL|HIGH|MEDIUM|LOW|INFO plus lowercase aliases)
    • worst
    • risk_level (red|yellow|green)

Example output (-f json):

{
  "total": 3,
  "by_severity": {
    "critical": 0,
    "high": 1,
    "medium": 1,
    "low": 1,
    "info": 0,
    "CRITICAL": 0,
    "HIGH": 1,
    "MEDIUM": 1,
    "LOW": 1,
    "INFO": 0
  },
  "worst": "HIGH",
  "risk_level": "red"
}

🧪 Local Developer Workflow

# Dev requirements
python -m pip install --upgrade pip
pip install poetry

# Install deps
poetry install --no-interaction

# Local gates
poetry run ruff check .
poetry run black --check .
PYTHONPATH=src poetry run pytest -q
poetry run mypy src

🔧 CI (GitHub Actions)

  • Matrix Python 3.11 / 3.12 aligned with local gates.
  • CodeQL and Release Drafter active.
  • Protected main with required checks and squash merges.

Typical job steps:

- run: python -m pip install --upgrade pip
- run: pip install poetry
- run: poetry install --no-interaction
- run: poetry run ruff check .
- run: poetry run black --check .
- env:
    PYTHONPATH: src
  run: poetry run pytest -q
- run: poetry run mypy src

# Example CLI use in CI
- run: poetry run python -m pip install .
- run: diff-risk examples/sample_apv.json -f md -o report.md

🔒 Security

  • No shell customization required.
  • Keep sensitive data out of public PRs.
  • CodeQL is enabled.

🙌 Contributing

  • Small, atomic PRs using Conventional Commits.
  • Keep gates green before requesting review.
  • Use auto-merge when checks pass.

👤 Author

CoderDeltaLAN (Yosvel)
GitHub: https://github.com/CoderDeltaLAN


💚 Donations & Sponsorship

Support open-source: your donations keep projects clean, secure, and evolving for the global community. Donate


📄 License

Released under the MIT License. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

diff_risk_dashboard-0.4.33.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

diff_risk_dashboard-0.4.33-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file diff_risk_dashboard-0.4.33.tar.gz.

File metadata

  • Download URL: diff_risk_dashboard-0.4.33.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for diff_risk_dashboard-0.4.33.tar.gz
Algorithm Hash digest
SHA256 65d62ca7ef77d8e28aac616b990f362648589a40b84e760c0bb324aa8c342104
MD5 b4055bcb4ed823c1875484be47e43f60
BLAKE2b-256 ab1477ec6ea68799d8039ca7d392a6179a86511495480e55d160f9c3357fadbb

See more details on using hashes here.

Provenance

The following attestation bundles were made for diff_risk_dashboard-0.4.33.tar.gz:

Publisher: publish-pypi.yml on CoderDeltaLAN/diff-risk-dashboard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file diff_risk_dashboard-0.4.33-py3-none-any.whl.

File metadata

File hashes

Hashes for diff_risk_dashboard-0.4.33-py3-none-any.whl
Algorithm Hash digest
SHA256 4f3929ca04961d954c262301e0be47e1ec46764d93ce334573aae73dfc60f4a1
MD5 fcc029034532675614b6e05bab685979
BLAKE2b-256 d802180862be7eebe3c497393ccba58065febb871722203d549b6af737400590

See more details on using hashes here.

Provenance

The following attestation bundles were made for diff_risk_dashboard-0.4.33-py3-none-any.whl:

Publisher: publish-pypi.yml on CoderDeltaLAN/diff-risk-dashboard

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page