update(qrcode-basic): plotly — scannable QR codes#5222
update(qrcode-basic): plotly — scannable QR codes#5222github-actions[bot] merged 8 commits intomainfrom
Conversation
…QR codes Fix #3413: Replace manual QR matrix construction with proper qrcode library encoding.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
There was a problem hiding this comment.
Pull request overview
This PR updates the qrcode-basic plot specification and the Plotly implementation to generate proper, scannable QR codes by using the qrcode library (addressing the “not scannable” issue).
Changes:
- Updated the spec to explicitly require scannable output and recommend using a real QR encoder library.
- Reworked the Plotly implementation to generate the QR matrix via
qrcodeinstead of manual construction. - Refreshed Plotly metadata (versions/timestamps/dependencies).
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| plots/qrcode-basic/specification.yaml | Updates spec tracking metadata and adjusts tagging. |
| plots/qrcode-basic/specification.md | Tightens requirements to mandate scannable QR output via proper encoding library. |
| plots/qrcode-basic/metadata/plotly.yaml | Updates Plotly metadata (versions, generator, dependencies, timestamps). |
| plots/qrcode-basic/implementations/plotly.py | Generates QR code via qrcode and renders it with Plotly heatmap + annotations. |
| """pyplots.ai | ||
| qrcode-basic: Basic QR Code Generator | ||
| Library: plotly 6.5.0 | Python 3.13.11 | ||
| Quality: 91/100 | Created: 2026-01-07 | ||
| Library: plotly 6.6.0 | Python 3.14.3 | ||
| Quality: /100 | Updated: 2026-04-07 | ||
| """ |
There was a problem hiding this comment.
Implementation header docstring deviates from the repository’s standard 4-line header format: it starts with """pyplots.ai (missing the space) and the quality field is currently blank (Quality: /100). Update it to match the established header format (starts with """ pyplots.ai) and use either Quality: {score}/100 or Quality: pending (not empty) so tooling and consistency checks don’t break.
| preview_url: https://storage.googleapis.com/pyplots-images/plots/qrcode-basic/plotly/plot.png | ||
| preview_html: https://storage.googleapis.com/pyplots-images/plots/qrcode-basic/plotly/plot.html | ||
| quality_score: 91 | ||
| quality_score: null |
There was a problem hiding this comment.
quality_score is set to null, but plot metadata in this repo is expected to use a non-null integer quality score (and the detailed checklist below already totals to a numeric score). Populate quality_score with the correct integer value so downstream consumers don’t need to handle nulls.
| quality_score: null | |
| quality_score: 93 |
AI Review - Attempt 1/3Image Description
Score: 80/100
Visual Quality (25/30)
Design Excellence (9/20)
Spec Compliance (15/15)
Data Quality (14/15)
Code Quality (10/10)
Library Mastery (7/10)
Score Caps Applied
Strengths
Weaknesses
Issues Found
AI Feedback for Next Attempt
Verdict: REJECTED |
Attempt 1/3 - fixes based on AI review
🔧 Repair Attempt 1/3Applied fixes based on AI review feedback. Status: Repair completed, re-triggering review... |
AI Review - Attempt 2/3Image Description
Score: 86/100
Visual Quality (28/30)
Design Excellence (12/20)
Spec Compliance (15/15)
Data Quality (14/15)
Code Quality (10/10)
Library Mastery (7/10)
Score Caps Applied
Strengths
Weaknesses
Issues Found
AI Feedback for Next Attempt
Verdict: REJECTED |
🔧 Repair Attempt 2/3Applied fixes based on AI review feedback. Status: Repair completed, re-triggering review... |
AI Review - Attempt 3/3Image Description
Score: 89/100
Visual Quality (28/30)
Design Excellence (15/20)
Spec Compliance (15/15)
Data Quality (14/15)
Code Quality (10/10)
Library Mastery (7/10)
Score Caps Applied
Strengths
Weaknesses
Issues Found
AI Feedback for Next Attempt
Verdict: REJECTED |
Attempt 3/3 - fixes based on AI review
🔧 Repair Attempt 3/3Applied fixes based on AI review feedback. Status: Repair completed, re-triggering review... |
AI Review - Attempt 3/3Image Description
Score: 90/100
Visual Quality (29/30)
Design Excellence (15/20)
Spec Compliance (15/15)
Data Quality (14/15)
Code Quality (10/10)
Library Mastery (7/10)
Score Caps Applied
Strengths
Weaknesses
Issues Found
AI Feedback for Next Attempt
Verdict: APPROVED |
Summary
Updated plotly implementation for qrcode-basic.
Changes: Use
qrcodelibrary for real scannable QR code generation instead of manual matrix construction (fixes #3413)Changes
qrcodelibrary for proper encodingTest Plan
Generated with Claude Code
/updatecommand