[Bug]: malformed learning sidecar data can hide valid annotations
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 72/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- python
- Domain
- ai-infra-agents
Research direction
Start with graphify.reflect.load_learning_overlay and trace how it parses the sidecar JSON and reads individual entries. Check the MCP loader’s handling of overlay errors as well. Treat a non-object root as an empty overlay and skip malformed rows while retaining valid entries; verify the reproductions with a sidecar containing null, [], and the mixed bad/good entries.
Written by the indexing model from the issue text.
Description
Reproduction
Confirmed on v8 at 59b5ab11 (0.9.102), Python 3.12 on Windows. No LLM or API credentials are needed.
Next to graph.json, save .graphify_learning.json containing {"nodes":{"bad":{"source_file":["app.py"]},"good":{"status":"preferred","score":2}}}. Call graphify.reflect.load_learning_overlay with the graph path. A second reproduction is a sidecar containing JSON null or [].
Actual behavior
A non-string source raises TypeError while resolving a path. The MCP loader catches the exception and drops the entire overlay, including healthy entries. A non-object JSON root raises AttributeError before entries are read.
Expected behavior
Treat a malformed root as an empty optional overlay, and keep healthy entries when an individual row is malformed.
The change concerns sidecar input handling. The staleness characterization in #4996 exercises the existing behavior for well-formed entries.
- Dominant language
- Python
- Stars
- 124k
- Forks
- 11.9k
- Avg merge
- 2h 35m
- Merged PRs (30d)
- 6
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Graphify-Labs/graphify
-
[Bug]: valid JSON with the wrong global-manifest shape bypasses recoveryPossibly taken @azizur100389 claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
Graphify-Labs/graphify#5020 · 1 comment ·
Maintainers usually reply within 1 day
-
[Bug]: graphify update skips or partially rebuilds a missing graph when the manifest survivesPossibly taken @azizur100389 claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
Graphify-Labs/graphify#5016 · 1 comment ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
Graphify-Labs/graphify#5006 · 2 comments ·
Maintainers usually reply within 1 day
-
extract --out <dir>: semantic cache never saved, docs missing from manifest (relative source_file resolved against --out)Possibly taken A pull request linked to this issue is open or already merged. Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Graphify-Labs/graphify#4831 · 3 comments ·
Maintainers usually reply within 1 day
-
hooks: last-resort `python3` probe launches the Microsoft Store redirector on Windows (visible console flash, exit 9009)Possibly taken @Deepjyoti-Sarmah claimed this 17 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Graphify-Labs/graphify#4563 · 2 comments ·
Maintainers usually reply within 1 day
All issues in Graphify-Labs/graphify
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
fritzprix/libr-agent#2612 ·
Maintainers usually reply within 1 day
-
needs-triage presubmit-gate
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
gke-labs/kube-agents#5001 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
simonw/sqlite-utils#928 ·
Maintainers usually reply within 3 days
-
colorado
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
freelawproject/juriscraper#2405 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
cline/mcp-marketplace#3576 ·