Skip to content

fix(graphify): translate issue-flow build to a real graphify subcommand#51

Merged
jepegit merged 1 commit into
mainfrom
fix-graphify-subcommand
May 14, 2026
Merged

fix(graphify): translate issue-flow build to a real graphify subcommand#51
jepegit merged 1 commit into
mainfrom
fix-graphify-subcommand

Conversation

@jepegit
Copy link
Copy Markdown
Owner

@jepegit jepegit commented May 14, 2026

graphify is dispatch-based — every action is a subcommand
(extract <path>, update <path>, watch <path>, …). The original
integration emitted graphify <project_root> with no subcommand, so
every issue-flow build (and the /build slash command) failed with
error: unknown command '<path>'. The scaffolded docs also advertised
flags (--update, --no-viz, --mode deep, --cluster-only,
--watch) that do not exist on graphify; they are subcommands or
per-subcommand flags.

Changes:

  • _build_graphify_argv constructs graphify <subcommand> <path> [args].
    Default subcommand is extract (full AST + semantic LLM build);
    a leading recognized build subcommand (extract, update, watch,
    cluster-only, check-update) overrides it. Project root is
    injected after the subcommand unless the user supplied a positional
    path, in which case it is trusted.
  • cli.build converts project_dir from a positional to -C /
    --project-dir, modeled on git -C. The previous positional ate
    args like update (issue-flow build update failed because Typer
    bound update to project_dir and the existence check rejected it).
  • Update build template, rules entry, cursor-issue-workflow doc,
    issue-close template, build skill, and README to describe real
    graphify subcommands and the new -C flag. Replace every
    graphify . fallback (which was never valid) with graphify extract ..
  • New tests cover argv construction across no-args, leading
    subcommand, leading flag, and explicit-path cases. Existing
    subprocess.run-mocked tests are updated to the new -C shape and
    also patch _candidate_install_locations so the install-hint
    branch is exercised on machines that already have graphify on disk.
  • Add a "Correction" section to
    .issueflows/04-designs-and-guides/graphify-integration.md so the
    next reader sees that graphify is subcommand-based and that future
    integrations should test against real subcommand names.

Co-authored-by: Cursor cursoragent@cursor.com

…mand

`graphify` is dispatch-based — every action is a subcommand
(`extract <path>`, `update <path>`, `watch <path>`, …). The original
integration emitted `graphify <project_root>` with no subcommand, so
every `issue-flow build` (and the `/build` slash command) failed with
`error: unknown command '<path>'`. The scaffolded docs also advertised
flags (`--update`, `--no-viz`, `--mode deep`, `--cluster-only`,
`--watch`) that do not exist on graphify; they are subcommands or
per-subcommand flags.

Changes:

- `_build_graphify_argv` constructs `graphify <subcommand> <path> [args]`.
  Default subcommand is `extract` (full AST + semantic LLM build);
  a leading recognized build subcommand (`extract`, `update`, `watch`,
  `cluster-only`, `check-update`) overrides it. Project root is
  injected after the subcommand unless the user supplied a positional
  path, in which case it is trusted.
- `cli.build` converts `project_dir` from a positional to `-C` /
  `--project-dir`, modeled on `git -C`. The previous positional ate
  args like `update` (`issue-flow build update` failed because Typer
  bound `update` to `project_dir` and the existence check rejected it).
- Update build template, rules entry, cursor-issue-workflow doc,
  issue-close template, build skill, and README to describe real
  graphify subcommands and the new `-C` flag. Replace every
  `graphify .` fallback (which was never valid) with `graphify extract .`.
- New tests cover argv construction across no-args, leading
  subcommand, leading flag, and explicit-path cases. Existing
  `subprocess.run`-mocked tests are updated to the new `-C` shape and
  also patch `_candidate_install_locations` so the install-hint
  branch is exercised on machines that already have graphify on disk.
- Add a "Correction" section to
  `.issueflows/04-designs-and-guides/graphify-integration.md` so the
  next reader sees that graphify is subcommand-based and that future
  integrations should test against real subcommand names.

Co-authored-by: Cursor <cursoragent@cursor.com>
@jepegit jepegit merged commit f883635 into main May 14, 2026
1 check passed
@jepegit jepegit deleted the fix-graphify-subcommand branch May 14, 2026 20:19
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