Skip to content

Closes #538: save_manifest at end of --update merge step#545

Merged
safishamsi merged 1 commit into
Graphify-Labs:v5from
saxster:fix/538-save-manifest-after-update
May 2, 2026
Merged

Closes #538: save_manifest at end of --update merge step#545
safishamsi merged 1 commit into
Graphify-Labs:v5from
saxster:fix/538-save-manifest-after-update

Conversation

@saxster

@saxster saxster commented Apr 25, 2026

Copy link
Copy Markdown

Closes #538.

Summary

Adds save_manifest(incremental['files']) at the end of the --update merge step in skill.md and skill-copilot.md.

Why

The full-pipeline path's Step 9 already calls save_manifest, so the next --update can diff against the full-rebuild's baseline. But the --update flow itself does NOT save the manifest after merging the incremental result.

Consequence: a file deleted between --update #1 and --update #2 keeps reappearing in #2's deleted_files list (since the manifest still records its old mtime), generating a spurious ghost-node prune attempt every run. The drift never settles until a full rebuild runs.

This was originally reported as "manifest should be saved on every full rebuild," but on inspection of v0.5.0 the full-rebuild path is already correct — the actual gap is in --update. Fixing in the right place.

Files changed

  • graphify/skill.md (line ~933) — primary skill template
  • graphify/skill-copilot.md (line ~825) — Copilot variant carries the merge step verbatim

The other 9 skill-*.md files don't include the --update merge step inline.

Test plan

  • Manual: run --update after a deletion → verify manifest is rewritten and a follow-up --update reports no deleted_files
  • No code changes; pure skill-prompt edit — no test suite impact

Closes Graphify-Labs#538.

The full-pipeline path's Step 9 already calls save_manifest, so the
NEXT --update can diff against the full-rebuild's baseline.

But the --update flow itself does NOT save the manifest after merging
the incremental result. Consequence: a file deleted between
--update Graphify-Labs#1 and --update Graphify-Labs#2 keeps reappearing in Graphify-Labs#2's deleted_files
list (since the manifest still records its old mtime), generating a
spurious ghost-node prune attempt every run.

Add save_manifest(incremental['files']) at the end of the --update
merge step in both skill.md and skill-copilot.md (the only two skill
files carrying the merge step verbatim). The 'incremental' dict is
already in scope from the prune block above; its 'files' key is the
full current file list, which is exactly what save_manifest needs.

Pure prompt edit — no code changes, no test impact.
Copilot AI review requested due to automatic review settings April 25, 2026 05:01

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the --update pipeline instructions so that, after merging incremental extraction results into the existing graph, the manifest is persisted—preventing repeated “deleted file” drift across consecutive --update runs.

Changes:

  • Add save_manifest(incremental['files']) at the end of the --update merge step.
  • Mirror the same change in the Copilot skill variant.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
graphify/skill.md Saves the updated manifest after the incremental merge so subsequent --update runs diff against the latest filesystem baseline.
graphify/skill-copilot.md Applies the same post-merge manifest save to keep Copilot skill behavior aligned with the primary skill.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread graphify/skill.md
Comment on lines +939 to +940
from graphify.detect import save_manifest
save_manifest(incremental['files'])

Copilot AI Apr 25, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The save_manifest import is introduced mid-script inside this python -c block, while other imports are grouped at the top. For readability/consistency, move the from graphify.detect import save_manifest line up into the main import section of this snippet and keep the call site here.

Copilot uses AI. Check for mistakes.
Comment thread graphify/skill-copilot.md
Comment on lines +831 to +832
from graphify.detect import save_manifest
save_manifest(incremental['files'])

Copilot AI Apr 25, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This snippet groups imports at the top, but from graphify.detect import save_manifest is added later. Consider moving that import up with the other imports to keep the python -c block easier to skim and maintain.

Copilot uses AI. Check for mistakes.
@safishamsi
safishamsi merged commit e1636a0 into Graphify-Labs:v5 May 2, 2026
3 of 4 checks passed
@safishamsi

Copy link
Copy Markdown
Collaborator

Fixed in v0.6.6. Available on PyPI: pip install graphifyy==0.6.6

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.

Manifest should be saved on every full rebuild, not only on --update

3 participants