Skip to content

feat: modernize Sol cheatsheet PDF - #50

Merged
Shu-Wan merged 11 commits into
mainfrom
feat/49-modern-cheatsheet
Aug 28, 2026
Merged

feat: modernize Sol cheatsheet PDF#50
Shu-Wan merged 11 commits into
mainfrom
feat/49-modern-cheatsheet

Conversation

@Shu-Wan

@Shu-Wan Shu-Wan commented Aug 28, 2026

Copy link
Copy Markdown
Owner

Summary

  • redesign the cheatsheet as a modern two-page landscape operations board
  • use the official ASU primary palette: maroon, gold, rich black, white, and gray
  • remove the page-one overlay and replace decorative numbering with semantic wayfinding
  • sync the PDF and embedded solx cheatsheet reference with the complete solx v1.0.3 behavior
  • document 1.0.3 scratch renewal for writable collaborator-owned files and directories, exact touched counts, and failure status
  • replace the Pandoc/LaTeX build with a pinned uv/ReportLab renderer that produces byte-reproducible PDFs
  • preserve Markdown as the shared CLI/PDF content source and derive the displayed version from Cargo metadata
  • refresh Sol partition and QOS guidance against the current ASU Research Computing documentation

Verification

  • scripts/build-cheatsheet.sh
  • two consecutive builds are byte-identical
  • original-resolution visual inspection of both pages at 3x render scale
  • PDF geometry check: every text and drawing bound is contained by its page
  • PDF and CLI both report v1.0.3 and expose the current keep fields
  • cargo test --locked from solx/ (110 unit + 40 CLI tests)
  • Ruff format/lint and Markdown lint

Palette reference: ASU Enterprise Brand Guide
Routing reference: ASU RC Partitions and QoS

Closes #49

@Shu-Wan Shu-Wan self-assigned this Aug 28, 2026
@Shu-Wan
Shu-Wan marked this pull request as ready for review August 28, 2026 14:03
Copilot AI lite review requested due to automatic review settings August 28, 2026 14:03

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The new PDF renderer has a few brittle failure modes (cryptic StopIteration/KeyError on heading drift and locale-dependent Markdown decoding) that should be hardened before merging.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR modernizes the Sol cheatsheet by updating the Markdown content to match solx v1.0.3 behavior and introducing a new, pinned uv + ReportLab-based renderer to generate a reproducible, two-page landscape PDF from the shared Markdown source.

Changes:

  • Redesign and refresh skills/sol-skill/references/cheatsheet.md content (routing/QOS, workflow, solx keep details, and operational guidance).
  • Replace the Pandoc/LaTeX PDF build with a new scripts/render-cheatsheet.py ReportLab renderer invoked via uv in scripts/build-cheatsheet.sh.
  • Update Rust cheatsheet tests to assert presence of newly documented v1.0.3 keep behaviors/counters.
File summaries
File Description
solx/src/cheatsheet.rs Extends the cheatsheet content test to cover new v1.0.3 keep documentation strings.
skills/sol-skill/references/cheatsheet.md Rewrites/expands the cheatsheet Markdown to match current solx behavior and updated Sol guidance.
scripts/render-cheatsheet.py Adds a new uv-scripted Markdown→PDF renderer using ReportLab with a card-based layout.
scripts/build-cheatsheet.sh Switches the build pipeline to uv run --script and injects the solx version into the renderer.
.gitignore Ignores local workflow scratch output under docs/PR/.
Review details

Suppressed comments (2)

scripts/render-cheatsheet.py:416

  • make_story() similarly assumes the troubleshooting heading is present; missing/renamed headings will currently crash with StopIteration. Converting this to a descriptive RuntimeError makes failures actionable when the Markdown evolves.
    diagnose_index = next(
        index
        for index, section in enumerate(sections)
        if section.title == "Job stuck PENDING? Diagnose before rerouting"
    )

scripts/render-cheatsheet.py:553

  • For reproducible builds, avoid locale-dependent defaults when reading the Markdown source; Path.read_text() without an explicit encoding can vary across environments. Reading as UTF-8 makes the renderer deterministic.
    intro, sections = parse_markdown(source.read_text())
  • Files reviewed: 4/6 changed files
  • Comments generated: 2
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread scripts/render-cheatsheet.py Outdated
Comment thread scripts/render-cheatsheet.py Outdated
@Shu-Wan
Shu-Wan merged commit 491da63 into main Aug 28, 2026
3 checks passed
@Shu-Wan
Shu-Wan deleted the feat/49-modern-cheatsheet branch August 28, 2026 16:02
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.

feat: improve solx cheatsheet pdf

2 participants