Skip to content

Prove the GUI freeze: docgen freeze, smoke, and Open bundle - #72

Draft
jmjava wants to merge 2 commits into
mainfrom
cursor/freeze-gui-smoke-75a9
Draft

Prove the GUI freeze: docgen freeze, smoke, and Open bundle#72
jmjava wants to merge 2 commits into
mainfrom
cursor/freeze-gui-smoke-75a9

Conversation

@jmjava

@jmjava jmjava commented Aug 16, 2026

Copy link
Copy Markdown
Owner

Follow-up to #71: prove the PyInstaller path and make the frozen shell usable.

What this adds

  • docgen freeze — builds the docgen-gui onedir (pip install 'docgen[packaging]'). Uses DOCGEN_FREEZE_ROOT so PyInstaller’s copied spec still finds the repo.
  • docgen gui --smoke / docgen freeze --smoke — headless GET /, /api/session, /api/benchmark. Default pytest covers the unfrozen smoke only. Set DOCGEN_FREEZE_SMOKE=1 for the optional onedir test.
  • Open bundle — path field + Open (Browse uses a pywebview folder dialog when present).
  • Frozen shell reports pipeline_available: false and blocks TTS / Manim / compose / OpenAI / tool-upgrade. Baseline updates stay disabled.
  • manim_scene_support no longer imports validate at module load, so the freeze can keep excluding cv2 and still run the benchmark.

Proven on Linux

docgen freeze --smoke wrote the onedir binary and returned:

{
  "ok": true,
  "session": {
    "frozen": true,
    "pipeline_available": false,
    "has_bundle": false
  },
  "case_id": "early_title",
  "html_has_benchmark": true,
  "meets_baseline": true
}

Not in this PR

  • Windows/macOS installers, icons, code signing
  • Freezing Manim / ffmpeg / OpenAI
  • A freeze job on every CI run
Open in Web Open in Cursor 

cursoragent and others added 2 commits August 16, 2026 01:19
Prove the GUI packaging path: docgen freeze builds the docgen-gui
onedir, docgen gui --smoke checks / and /api/benchmark without a
window, and the wizard can attach a consumer bundle at runtime.
Pipeline routes stay disabled in a frozen shell.

Co-authored-by: jmjava <jmjava@gmail.com>
PyInstaller copies the spec into the work dir, so locate the repo via
DOCGEN_FREEZE_ROOT. Stop importing validate at manim_scene_support
import time so the frozen binary can run the benchmark without OpenCV.

Co-authored-by: jmjava <jmjava@gmail.com>
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