Skip to content

[Windows] Skill's inline python snippets fail under PowerShell 5.1 (quoting) and Windows multiprocessing (missing __main__ guard); minor: query exit code, fuzzy-match ties #1637

Description

@ray8875

Version: graphifyy 0.9.5 · Platform: Windows 10, PowerShell 5.1, Python 3.14

1. PowerShell 5.1 quoting breaks the inline python -c snippets

Steps 3–5 of SKILL.md embed multi-line Python with escaped double quotes (\"nodes\"), written for bash. Under Windows PowerShell 5.1 the escapes are mangled before reaching Python (SyntaxError: unterminated string literal). Suggestion: for the Windows variant, instruct the agent to write each step to a temp .py file and execute that, instead of python -c.

2. extract() requires an if __name__ == "__main__": guard on Windows

graphify.extract.extract() uses multiprocessing. Windows uses the spawn start method, so any caller script without a __main__ guard re-executes on every worker spawn → a cascade of spawn_main tracebacks and no extraction. Worked once the runner script was wrapped in def main(): ... if __name__ == "__main__": main(). The SKILL.md snippets don't mention this; the Windows variant should either wrap its snippets or document the guard.

3. Minor observations from the same test run (209-file TypeScript corpus)

  • graphify query "..." prints a correct, useful subgraph but exits 255 even on success — breaks scripted $LASTEXITCODE/&& chaining.
  • graphify path A B with human-readable names failed with warning: target match was ambiguous (top score X, runner-up X) and reported "No path found", while the same call with exact node IDs returned a correct 3-hop path. When fuzzy scores tie exactly, consider listing the tied candidates and asking, rather than silently picking one that may be disconnected.
  • Community labeling step assumes a hand-labelable number of communities; this corpus produced 125. A documented top-N-plus-heuristic-tail strategy would help.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions