Skip to content

feat: streaming CSV summarization + environment diagnostics and desktop UI integration#15

Merged
rad1092 merged 2 commits into
mainfrom
codex/evaluate-current-project-completion-level
Feb 14, 2026
Merged

feat: streaming CSV summarization + environment diagnostics and desktop UI integration#15
rad1092 merged 2 commits into
mainfrom
codex/evaluate-current-project-completion-level

Conversation

@rad1092
Copy link
Copy Markdown
Owner

@rad1092 rad1092 commented Feb 14, 2026

Motivation

  • Improve memory usage and support large CSVs by switching summarization to a streaming-style collector.
  • Provide a quick local environment check for Ollama and model availability to make diagnoses easier before running models.
  • Expose diagnostics from both the CLI and the Windows desktop UI so users can validate runtime dependencies without leaving the app.

Description

  • Implemented streaming summarization by adding summarize_reader and routing build_analysis_payload/build_analysis_payload_from_csv_text to use it in bitnet_tools/analysis.py.
  • Added a new diagnostics module bitnet_tools/doctor.py with collect_environment(model) to check Python/platform info, ollama in PATH, ollama --version, and ollama list + model availability.
  • Exposed diagnostics via a new CLI subcommand doctor in bitnet_tools/cli.py and added a desktop command path and bitnet-desktop entry point in pyproject.toml.
  • Integrated a GUI 환경진단 button into the Windows desktop app (bitnet_tools/desktop.py) to show diagnostics in-app and added a thin bitnet_desktop.pyw launcher plus BitNet_Desktop_Start.bat for one-click start on Windows.
  • Updated README.md to reflect the diagnostics flow, Windows start guidance, and updated completion status.
  • Added/updated tests for streaming mixed-type handling and the doctor CLI output in tests/test_analysis.py and tests/test_cli.py.

Testing

  • Ran pytest -q and all tests passed (7 passed).
  • Executed the diagnostic CLI with python -m bitnet_tools.cli doctor --model bitnet:latest, which ran successfully and produced a valid diagnostics report (in this environment it reported ollama not found in PATH).

Codex Task

@rad1092 rad1092 merged commit 003c5fe into main Feb 14, 2026
4 checks passed
@rad1092 rad1092 deleted the codex/evaluate-current-project-completion-level branch February 14, 2026 12:48
@chatgpt-codex-connector
Copy link
Copy Markdown

💡 Codex Review

question = self.question.get("1.0", "end").strip()

P1 Badge Keep Tkinter widget access on the main thread

_analyze_async, _doctor_async, and _run_model_async run work in background threads, but those workers call Tk widget APIs (self.question.get() here, and similarly self.model.get() in other handlers). Tkinter is not thread-safe, so this can intermittently raise Tcl/thread errors or hang the desktop app when users click Analyze/Doctor/Run. Capture widget values on the UI thread before starting the worker, and only do non-Tk work inside the thread.

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant