Skip to content

--update runbook: graph.json backup instruction comes after the diff that needs it, so the graph diff never runs #4539

Open

Description

@sunildivakar96-cpu

Version: 0.9.92 (v8 at 86c57be); also present in 0.9.91. All 14 split-platform references/update.md runbooks, plus the aider and devin monoliths.

Problem

The --update runbook ends with a "show the graph diff" block that runs after Step 4. It compares graphify-out/.graphify_old.json, a backup of the pre-update graph.json, with the merged extraction. The instruction that creates that backup sits after the diff block, at the end of the section:

After Step 4, show the graph diff:
  ...diff block reads .graphify_old.json...
Before the merge step, save the old graph: `cp graphify-out/graph.json graphify-out/.graphify_old.json`
Clean up after: `rm -f graphify-out/.graphify_old.json`

An agent that follows the runbook from top to bottom reaches the backup sentence only after Step 4 has rewritten graph.json. By then it's too late:

  • If the agent never takes the backup, the diff block's if old_data: has no else, so the diff prints nothing at all. The user gets no diff and no sign that one was skipped.
  • If it takes the backup on reaching the sentence, the "old" graph is already the new one, and the diff reports no changes.

Repro

  1. Build a graph, change a code file, and run /graphify . --update, following references/update.md in order.
  2. After Step 4 the diff block runs before any .graphify_old.json exists, and it prints nothing.

Expected

The backup is taken before the merge, and the diff block says so when the backup is missing instead of skipping silently.

Activity

  1. github-actions commented on Oct 18, 2026

    @github-actions

    Thanks for opening this issue, @sunildivakar96-cpu. A maintainer will take a look soon.

    If you would like to discuss it in real time, come say hi on our Discord server. For longer-form questions and ideas there is also GitHub Discussions.

    To help us triage, please make sure the report includes what you expected, what actually happened, and the steps (and a small sample) to reproduce it.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions