Skip to content

Replace the misleading .claudeignore troubleshooting entry (#1843) - #3634

Open
ayushcodes10 wants to merge 2 commits into
Graphify-Labs:v8from
ayushcodes10:fix-1843-claudeignore-doc
Open

ayushcodes10 wants to merge 2 commits into
Graphify-Labs:v8from
ayushcodes10:fix-1843-claudeignore-doc

Conversation

@ayushcodes10

Copy link
Copy Markdown
Contributor

Summary

Fixes #1843. The README's prompt-cache troubleshooting entry told users to add `graph.json`/`graphify-out/` to a `.claudeignore` file to stop Claude Code's prompt cache from invalidating on every write. Claude Code never shipped `.claudeignore` support — the original feature request (anthropics/claude-code#579) was closed in favor of `permissions.deny` rules, and a long tail of user reports confirms the file is silently ignored when present. The README's remedy is a no-op: users create the file, nothing changes, and the symptom persists.

Fix

Replaced with the supported mechanism:
```json
// .claude/settings.json
{ "permissions": { "deny": ["Read(./graphify-out/**)", "Read(./graph.json)"] } }
```
Added a note that this trades off against the wiki-as-navigation workflow (`export wiki`, `graphify-out/wiki/`), since a deny rule also blocks reading those files, not just writes.

Test plan

  • Docs-only change; no code paths affected. Confirmed no test pins the old `.claudeignore` text.
  • Full suite: `python3 -m pytest -q` — 5621 passed, 68 skipped, no regressions.

🤖 Generated with Claude Code

ayushcodes10 and others added 2 commits September 17, 2026 20:06
Claude Code never shipped .claudeignore support: the original feature
request was closed in favor of permissions deny read rules, and a
long tail of user reports confirms the file is silently ignored when
present. The README's prompt cache troubleshooting entry told users
to add graph.json and graphify out to a .claudeignore file, which is
a no op that leaves the symptom in place.

Replaced with the supported settings.json deny rule, plus a note that
it trades off against the wiki as navigation workflow, since a deny
rule blocks reading those files too.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

@graphify-labs graphify-labs Bot 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.

Graphify reviewed this change.

Looks safe to merge — no coupling regressions and no blocking issues, checked against the code graph (not a self-assessment).


Graphify review — findings

Corrects the prompt-cache troubleshooting guidance in the README to use permissions.deny in .claude/settings.json instead of the non-existent .claudeignore, since Claude Code never shipped .claudeignore support and the old advice was a no-op. Adds a note that the deny rule also blocks reading graph.json/graphify-out/, so it conflicts with the wiki-as-navigation workflow. Records both in the changelog under 0.9.63.

No blocking issues surfaced.

Analysis details — impact, health, verification

Impact & health

Graphify review

Impact — 235 functions depend on the 235 functions this change touches.

Health — grade A; no new coupling hotspots.

Verification — 235 functions in the blast radius were not formally verified this run (proofs are advisory here).

Gate & verification

graphify gate

PASS — objectively clean (no health regressions, tests not run — proofs not run this pass (advisory)). Grounded, not self-assessed.

Advisory (not blocking):

  • verification_scope: 235 function(s) in the blast radius were not formally verified this run

Test selection

Test selection

286 of 286 test file(s) selected (100%) via static blast radius.

Escalated to a full run for safety — the selection is not trustworthy on its own (see below). CI should run the whole suite.

  • tests/test_affected_cli.py — full-run-safety
  • tests/test_affected_member_seed.py — full-run-safety
  • tests/test_agents_platform.py — full-run-safety
  • tests/test_analyze.py — full-run-safety
  • tests/test_anthropic_custom_endpoint.py — full-run-safety
  • tests/test_antigravity_install.py — full-run-safety
  • tests/test_apm_fallback_version.py — full-run-safety
  • tests/test_architecture_doc.py — full-run-safety
  • tests/test_astro_extraction.py — full-run-safety
  • tests/test_astro_import_ids.py — full-run-safety
  • tests/test_atomic_canvas_export.py — full-run-safety
  • tests/test_atomic_version_stamp.py — full-run-safety
  • tests/test_atomic_writes.py — full-run-safety
  • tests/test_backend_env_isolation.py — full-run-safety
  • tests/test_backend_extras.py — full-run-safety
  • tests/test_benchmark.py — full-run-safety
  • tests/test_benchmark_raw_graph.py — full-run-safety
  • tests/test_build.py — full-run-safety
  • tests/test_build_merge_dedup_scope.py — full-run-safety
  • tests/test_build_merge_hyperedges_and_prune.py — full-run-safety
  • tests/test_build_merge_shrink_guard.py — full-run-safety
  • tests/test_builtin_global_type_refs.py — full-run-safety
  • tests/test_cache.py — full-run-safety
  • tests/test_callflow_html.py — full-run-safety
  • tests/test_cargo_introspect.py — full-run-safety
  • tests/test_carried_hyperedge_remap.py — full-run-safety
  • tests/test_case_sensitive_resolution.py — full-run-safety
  • tests/test_charmap_encoding.py — full-run-safety
  • tests/test_chunking.py — full-run-safety
  • tests/test_cjs_module_extension.py — full-run-safety
  • tests/test_claude_cli_backend.py — full-run-safety
  • tests/test_claude_md.py — full-run-safety
  • tests/test_cli_broken_pipe.py — full-run-safety
  • tests/test_cli_export.py — full-run-safety
  • tests/test_cli_help.py — full-run-safety
  • tests/test_cluster.py — full-run-safety
  • tests/test_codebuddy.py — full-run-safety
  • tests/test_community_hub_labels.py — full-run-safety
  • tests/test_community_labels_skill.py — full-run-safety
  • tests/test_confidence.py — full-run-safety
  • tests/test_corrupt_graph_json.py — full-run-safety
  • tests/test_cpp_nested_and_cli.py — full-run-safety
  • tests/test_cpp_objc_cross_file_calls.py — full-run-safety
  • tests/test_cpp_preprocess.py — full-run-safety
  • tests/test_cross_extension_reexport_self_cycle.py — full-run-safety
  • tests/test_cross_language_call_resolution.py — full-run-safety
  • tests/test_cross_repo_external_call_guards.py — full-run-safety
  • tests/test_cross_repo_member_calls.py — full-run-safety
  • tests/test_cross_repo_shared_types.py — full-run-safety
  • tests/test_csharp_call_site_generic_args.py — full-run-safety
  • … and 236 more

non-code file(s) changed (CHANGELOG.md, README.md) → running the full suite for safety (a code graph can't see config/fixture/data deps)

changed code file(s) with no mapped test (CHANGELOG.md, README.md) — a coverage gap or a missing link — running the full suite rather than only the selected tests

Selection is safe under the controlled-regression assumption; always-run tests + a periodic full run are the backstops. Advisory — it never changes the check verdict.

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.

README troubleshooting recommends .claudeignore, which Claude Code does not support

1 participant