Skip to content

Fix cloud SessionStart hook interpreter; theme-aware Plotly axis lines - #128

Merged
jonathanschultzNU merged 2 commits into
mainfrom
claude/output-naming-strategy-cvs33t
Sep 26, 2026
Merged

jonathanschultzNU merged 2 commits into
mainfrom
claude/output-naming-strategy-cvs33t

Conversation

@NCCU-Schultz-Lab

Copy link
Copy Markdown
Collaborator

Summary

Two small fixes ahead of the 0.9.0 bump.

  • Cloud SessionStart hook: fixed pip vs python interpreter mismatch (.claude/hooks/session-start.sh)
    • The hook upgraded setuptools with python -m pip, then installed the package with bare pip.
    • In the cloud image, pip is /usr/bin/pip (the distro Python) while python is /usr/local/bin/python, so the install used the distro's setuptools.
    • That build failed on pyscf-properties, and because the hook runs with set -e, the session ended up with nothing installed.
    • This is the cause of the "pyscf-properties uninstallable in cloud" watchlist item, which was previously treated as an environment limitation.
    • Fix: python -m pip install -e ".[pyscf,ase,dev,xtb]".
  • Plotly axis and zero lines now follow the theme (quantui/app.py, quantui/theme.py)
    • _apply_plotly_theme() set background, font and grid colors, but left linecolor/zerolinecolor at the plotly_white template's pale default.
    • Both now use the palette's border_strong, exposed as the new plotly_colors()["axis_line_color"]. That is one step stronger than the grid color, so axes stay visible on dark palettes.
    • This is the last open code item in M-THEME.

Testing

  • Hook: uninstalled pyscf-properties, then ran the fixed hook with CLAUDE_CODE_REMOTE=true. It reinstalled the package (Successfully installed pyscf-properties-0.1.0) and exited 0.
  • Suite: full pytest -m "not network" in the cloud container: 3432 passed, 0 failed, 11 skipped. The 23 NMR/Raman failures noted in SLURM job folders with per-attempt subfolders; SLURM results marked in History #127 are gone.
  • Theme test: test_plotly_colours_track_palette now also asserts axis_line_color for every palette.
  • Lint: pre-commit run (ruff + black) is clean.
  • Not yet checked: how the axis lines look on a dark palette in Voilà. That visual pass is owed locally.

Authorship

  • Claude (Opus 5.5): code edits, review, and conceptual discussion
  • Jonathan Schultz: overall vision, planning, review, and orchestration

🤖 Generated with Claude Code


Generated by Claude Code

NCCU-Schultz-Lab and others added 2 commits September 26, 2026 16:56
The hook upgraded setuptools with `python -m pip` but installed the package
with bare `pip`. In the cloud image `pip` is /usr/bin/pip (distro Python)
while `python` is /usr/local/bin/python, so the install ran against the
distro setuptools, failed to build pyscf-properties, and (under set -e)
left the session with nothing installed. This is the "pyscf-properties
uninstallable in cloud" watchlist item; it was never environmental.

Verified: with pyscf-properties uninstalled, the fixed hook reinstalls it
and exits 0, and the full `pytest -m "not network"` suite passes in the
cloud container (previously 23 NMR/Raman failures).

Contributions:
- Claude (Opus 5.5): code edits, review, and conceptual discussion
- Jonathan Schultz: overall vision, planning, review, and orchestration

Co-authored-by: Jonathan Schultz <nccu-schultz-lab@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
_apply_plotly_theme() set background, font and grid colors but not
linecolor/zerolinecolor, which stayed at the plotly_white template's pale
blue-gray default, meant for white backgrounds. Both now use the palette's
border_strong (new plotly_colors()["axis_line_color"]), one step stronger
than the grid, so axes stay visible and consistent on dark palettes.

M-THEME's remaining "hex tail" item. Still needs a Voila visual pass on a
dark palette.

Contributions:
- Claude (Opus 5.5): code edits, review, and conceptual discussion
- Jonathan Schultz: overall vision, planning, review, and orchestration

Co-authored-by: Jonathan Schultz <nccu-schultz-lab@users.noreply.github.com>
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
@jonathanschultzNU
jonathanschultzNU merged commit 56ac18b into main Sep 26, 2026
6 checks passed
@jonathanschultzNU
jonathanschultzNU deleted the claude/output-naming-strategy-cvs33t branch September 26, 2026 17:26
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.

2 participants