mirror of
https://github.com/safishamsi/graphify.git
synced 2026-08-27 00:36:39 +00:00
fix(update,llm): retry failed extractions; surface claude-cli envelope errors; bump to 0.9.37 (#2543, #2554)
#2543 (adopts PR #2546, thanks @michaelxer): a failed extraction is no longer stamped in the incremental manifest as up-to-date, so graphify update retries it instead of skipping it forever; a manifest already poisoned by the old behavior is healed on the next run; genuinely unchanged files are not re-processed. Extended to the watch save_manifest paths too. #2554 (adopts PR #2555, thanks @annieyii): the claude-cli backend now inspects the stdout envelope for an is_error result (e.g. a rate limit returned with exit code 0) and raises it on both the zero and non-zero exit paths, instead of parsing it as an empty success and bisecting against a live rate limit. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
cfc6a75c86
commit
09a34ad87a
@@ -150,6 +150,28 @@ def test_stamped_manifest_excludes_partial_files():
|
||||
assert out["code"] == ["x.py"]
|
||||
|
||||
|
||||
def test_stamped_manifest_excludes_failed_ast_sources():
|
||||
"""#2543: code files whose AST extract failed (missing extra) stay unstamped."""
|
||||
from pathlib import Path
|
||||
from graphify.cli import _stamped_manifest_files
|
||||
|
||||
files_by_type = {
|
||||
"document": ["a.md"],
|
||||
"code": ["/abs/ok.py", "/abs/schema.sql"],
|
||||
}
|
||||
sem_result = {
|
||||
"nodes": [{"id": "1", "source_file": "a.md"}],
|
||||
"edges": [], "hyperedges": [],
|
||||
}
|
||||
out = _stamped_manifest_files(
|
||||
files_by_type, sem_result, Path("/abs"),
|
||||
failed_ast_sources={"/abs/schema.sql"},
|
||||
)
|
||||
assert out["document"] == ["a.md"]
|
||||
assert out["code"] == ["/abs/ok.py"]
|
||||
assert "/abs/schema.sql" not in out["code"]
|
||||
|
||||
|
||||
def test_group_has_partial_marker():
|
||||
assert _group_has_partial_marker({"nodes": [{"_partial": True}]}) is True
|
||||
assert _group_has_partial_marker({"edges": [{"_partial": True}]}) is True
|
||||
|
||||
Reference in New Issue
Block a user