Skip to content

Name Nod loops, and run Nod's headless calls by quoted path - #618

Merged
scgopi merged 2 commits into
mainfrom
fix/nod-loop-titles
Oct 3, 2026
Merged

scgopi merged 2 commits into
mainfrom
fix/nod-loop-titles

Conversation

@scgopi

@scgopi scgopi commented Oct 3, 2026

Copy link
Copy Markdown
Owner

Summary

Loops on the Nod backend were never named: a blank-titled Nod loop stayed "NewNode".

  • Titles: TitleSuggestionClient returned nil for .nod, a placeholder from when Nod was added. It now runs graphcode-nod -p from the path NodRuntimeLocator finds, like the session launch. With no runtime it still declines.
  • Summary rewrites: SummaryModelWriter named graphcode-nod bare. It is not on the login shell's PATH, so every Nod rewrite failed silently. It now uses the located path.
  • Path quoting: ZmxSessionLauncher.loginShellInvocation typed the executable unquoted, so a runtime inside an app whose path has a space was split and never ran. Paths that need it are now single-quoted; bare CLI names (claude, copilot, …) are byte-identical to before.

Evidence

RED: xcodebuild test -only-testing NodLaunchArgumentTests with main's three source files -> exit 65; titleRequestsRunTheBundledRuntimeByPath, summaryRewritesRunTheBundledRuntimeByPath and aRuntimePathWithASpaceSurvivesTheLoginShell fail
GREEN: xcodebuild test -only-testing NodLaunchArgumentTests on this branch -> exit 0, all suite tests pass including the 4 new ones
REGRESSION: xcodebuild test (full graphcode scheme) -> 2232 tests, 1 failure in MessageDeliveryTests.aSessionWhoseTaskEndedIsNeverTypedInto, which fails identically on main's sources; make check -> exit 0; graphcoded and graphcode-cli schemes -> BUILD SUCCEEDED

Manual: graphcode-nod -p from the installed app returned LoginPageTimeoutFix (exit 0). In zsh, exec <path with space> "$@" fails with "no such file or directory: …/Graph"; the quoted form runs.

scgopi and others added 2 commits October 3, 2026 14:09
TitleSuggestionClient returned nil for Nod, so a blank-titled Nod loop
stayed NewNode. SummaryModelWriter named graphcode-nod bare, which is not
on the login shell's PATH, so every Nod summary rewrite failed silently.
Both now run the runtime NodRuntimeLocator finds, like the session launch.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: scgopi <scgopireddy@gmail.com>
The login-shell launcher typed the executable unquoted, so a Nod runtime
inside an app whose path has a space was split at the space and never
ran. Bare CLI names are still typed exactly as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: scgopi <scgopireddy@gmail.com>
@scgopi
scgopi merged commit 04c0d3b into main Oct 3, 2026
24 checks passed
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.

1 participant