From f3c6ba4e5e9f1886ac96f0486301e790336fac60 Mon Sep 17 00:00:00 2001 From: rob Date: Thu, 8 Jan 2026 23:02:02 -0400 Subject: [PATCH] fix: Diagrams dir and new discussion path improvements MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - runner.py: Pass diagrams-dir relative to discussion file location - gui.py: Default new discussions to discussions/ subdirectory - .gitignore: Ignore docs symlink (points to project-docs) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .gitignore | 3 +++ src/discussions/runner.py | 5 +++++ src/discussions/ui/gui.py | 6 ++++-- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 71b732f..b5b7719 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,6 @@ test_*.md # Generated diagrams (keep examples/diagrams/ for documentation) diagrams/ + +# Documentation symlink (points to project-docs) +docs diff --git a/src/discussions/runner.py b/src/discussions/runner.py index 5b76a7a..c799959 100644 --- a/src/discussions/runner.py +++ b/src/discussions/runner.py @@ -800,6 +800,9 @@ def run_turn( # Step 3: Call each participant responses_for_appender = [] + # Determine diagrams directory relative to discussion file + diagrams_dir = discussion_path.parent / "diagrams" + for alias in participants_to_call: tool_name = f"discussion-{alias}" log(f"Calling {alias}...") @@ -809,6 +812,8 @@ def run_turn( args.extend(["--callout", callout]) if provider: args.extend(["--provider", provider]) + # Always pass diagrams-dir relative to discussion file + args.extend(["--diagrams-dir", str(diagrams_dir)]) try: participant_result = _call_tool(tool_name, discussion_content, args) diff --git a/src/discussions/ui/gui.py b/src/discussions/ui/gui.py index 2eb643e..5ed17ec 100644 --- a/src/discussions/ui/gui.py +++ b/src/discussions/ui/gui.py @@ -2544,11 +2544,13 @@ class DiscussionGUI: except Exception as e: self._show_error(f"Failed to create discussion: {e}") - # Determine initial output directory + # Determine initial output directory - default to discussions/ subdirectory if self.current_discussion: initial_dir = self.current_discussion.path.parent else: - initial_dir = self.discussions_dir if self.discussions_dir else Path.cwd() + base_dir = self.discussions_dir if self.discussions_dir else Path.cwd() + # Default to discussions/ subdirectory (like CLI does) + initial_dir = base_dir / "discussions" with dpg.window(label="New Discussion", tag=window_tag, width=550, height=550, pos=[400, 150], no_collapse=True):