Skip to content

night-shift: personal-llm one-click run parity (item 43) - #7

Merged
syzayd merged 1 commit into
masterfrom
night-shift/2026-07-31
Jul 31, 2026
Merged

night-shift: personal-llm one-click run parity (item 43)#7
syzayd merged 1 commit into
masterfrom
night-shift/2026-07-31

Conversation

@syzayd

@syzayd syzayd commented Jul 31, 2026

Copy link
Copy Markdown
Owner

What

Adds run.cmd at the repo root that starts the Streamlit chat UI via the venv
and opens http://localhost:8501 in the default browser, mirroring
jarvis-launcher's jarvis.config.json "Personal LLM - Chat" project's default
"chat UI" action verbatim:

venv\Scripts\python -m streamlit run src/personal_llm/interfaces/app.py

opening http://localhost:8501. That action sets no env key, so run.cmd
does not invent one (no PYTHONIOENCODING, unlike some sibling repos' actions).

Also adds tests/test_run_cmd.py: offline, static-content-only tests that
assert the file exists, the command string matches the config verbatim, no
env var was invented, the script never touches the gateway auth token or
data/, and it avoids the nested-quoting bug class jarvis-launcher's launcher
rewrite fixed.

Why

PROJECT-GENESIS.md Tier 6 item 43: "one-click run parity - every repo gets a
run.cmd (or npm script) that starts backend + frontend + opens the browser,
matching its jarvis.config.json action, so the launcher and the repo never
drift." CivilizationOS, resume-job-fit-ai, recall, ghostwriter, and
github-pr-agent already have this from prior nights; personal-llm was next on
the remaining list.

How verified

  • Set up a Python 3.12 venv per CLAUDE.md. The full heavy dependency set
    (torch via sentence-transformers, chromadb, etc.) was impractical to fully
    install in this sandbox (multi-hundred-MB downloads timed out), so:
    • Installed only the lightweight deps needed to collect and run the suite
      (pydantic, pydantic-settings, fastapi, typer, httpx,
      python-dotenv, networkx, python-multipart, pytest).
    • Baseline on origin/master with these installed: 99 passed, 10 failed, 34 errors - all 10 failures and 34 errors are pre-existing
      ModuleNotFoundErrors for deps not installed (pyttsx3, pytesseract,
      chromadb-backed fixtures, google-genai, ollama, etc.), confirmed by
      running the identical command against master before this change.
    • After adding run.cmd + tests/test_run_cmd.py: 105 passed, 10 failed, 34 errors - the 6 new tests all pass, and the failed/errored counts are
      byte-for-byte identical to the baseline (same test names), so this change
      introduces zero regressions and zero new failures.
    • Did not run the full suite with every heavy dependency installed; that
      would require network access this sandbox could not sustain for the
      torch/CUDA wheel downloads.

Adds run.cmd matching jarvis-launcher's jarvis.config.json "chat UI" action
verbatim (venv streamlit + open http://localhost:8501, no env var since the
config sets none), plus offline tests asserting the exact command string, the
absence of an invented env var, and the nested-quoting bug class guard used by
the CivilizationOS/resume-job-fit-ai/recall/ghostwriter/github-pr-agent
precedents.
@syzayd
syzayd merged commit 54fc373 into master Jul 31, 2026
1 check passed
@syzayd
syzayd deleted the night-shift/2026-07-31 branch July 31, 2026 21:03
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