diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a0daf515..3f19cfaa1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Full release notes with details on each version: [GitHub Releases](https://githu ## 0.9.63 (2026-09-16) +- Fix: the README's prompt-cache troubleshooting entry told users to add `graph.json`/`graphify-out/` to a `.claudeignore` file — Claude Code never shipped `.claudeignore` support, so this was a no-op that left the symptom in place. Replaced with the supported `permissions.deny` rule in `.claude/settings.json`, plus a note that it trades off against the wiki-as-navigation workflow since a deny rule also blocks reading those files (#1843, thanks @chaosanderos). + - Feature: Elixir `alias`/`import`/`require`/`use` targets now resolve onto the module's `defmodule` node across files, so the internal module dependency graph is no longer dropped as dangling. Only top-level modules are indexed (a nested `defmodule`, labeled with its bare inner name, cannot capture an unrelated `use ` from another file), and a same-file reference is left unresolved so it cannot clobber the structural `contains` edge (#3603, thanks @ayushcodes10). - Feature: a Rust `self.method()` call now resolves to a method defined on the same type in another file (the common split-`impl`-block layout), pooling methods across every `impl` of one type and refusing to link when two unrelated types share a bare name (#3602, thanks @ayushcodes10). - Feature: a Ruby member call `obj.foo` on a known-type receiver now resolves to a method `foo` inherited from a superclass, including across files, using the same conservative promotion as the implicit-self resolver — a single owning class, matching method kind, and one unambiguous ancestry chain, or it stays dangling (#3585, thanks @oleksii-tumanov). diff --git a/README.md b/README.md index acbd57ecb..27d23f1ae 100644 --- a/README.md +++ b/README.md @@ -670,12 +670,12 @@ graphify install # overwrites the skill file ``` **Claude Code prompt cache invalidated after every `graphify extract`** -Graphify writes output files (`graph.json`, `graphify-out/`) into the workspace. If those paths aren't ignored, every write invalidates Claude Code's prompt cache, forcing a full re-upload at cache-write rates on the next turn. Add them to `.claudeignore`: -```text -# .claudeignore -graph.json -graphify-out/ +Graphify writes output files (`graph.json`, `graphify-out/`) into the workspace. If those paths aren't excluded, every write invalidates Claude Code's prompt cache, forcing a full re-upload at cache-write rates on the next turn. Claude Code has no `.claudeignore` support (it never shipped; `permissions.deny` is the supported mechanism) — add a deny rule instead: +```json +// .claude/settings.json +{ "permissions": { "deny": ["Read(./graphify-out/**)", "Read(./graph.json)"] } } ``` +Note this trades off against the wiki-as-navigation workflow (`export wiki`, `graphify-out/wiki/`): a deny rule blocks reading those files too, so skip it if you rely on that workflow. ---