Skip to content

docs(claude-md): refresh stale gotchas (RAN-13)#63

Merged
aksOps merged 1 commit into
mainfrom
docs/claudemd-gotchas-ran13
Apr 25, 2026
Merged

docs(claude-md): refresh stale gotchas (RAN-13)#63
aksOps merged 1 commit into
mainfrom
docs/claudemd-gotchas-ran13

Conversation

@aksOps
Copy link
Copy Markdown
Contributor

@aksOps aksOps commented Apr 24, 2026

Summary

Review follow-up for RAN-13. CLAUDE.md carried three stale gotchas that
contradicted the current code and would mislead future contributors.

What changed

  • Virtual-thread guidance — replaced "use synchronized blocks (not
    ReentrantLock)" with the real story: on JDK 25 + JEP 491 neither
    synchronized nor java.util.concurrent.locks.* pins a virtual-thread
    carrier, so the lock primitive is no longer the constraint.
    AnalysisCache uses ReentrantReadWriteLock so virtual threads can
    read in parallel while writes stay serialized — which is what prevents
    ClosedChannelException against H2's MVStore file channel.
  • Cache version — bumped the mention from "currently 2" to
    "currently 4" to match cache/AnalysisCache.java.
  • Neo4j indexes — expanded the bullet to include label_lower,
    fqn_lower, and the two fulltext indexes (search_index,
    lexical_index) actually created in cli/EnrichCommand.java.

Docs-only change, no code touched.

Test plan

  • Diff reviewed, only CLAUDE.md modified.
  • Verified against cache/AnalysisCache.java (CACHE_VERSION = 4,
    ReentrantReadWriteLock), cache/FileHasher.java (SHA-256), and the
    Cypher index DDL in cli/EnrichCommand.java.
  • No build/test run needed — no production source changes.

Closes RAN-13.

- Replace "Virtual thread pinning: use synchronized (not ReentrantLock)"
  with current state: on JDK 25 + JEP 491 neither primitive pins a
  virtual-thread carrier; AnalysisCache uses ReentrantReadWriteLock to
  serialize writes against H2's MVStore while allowing parallel reads.
- Bump CACHE_VERSION mention from "currently 2" to "currently 4" to match
  cache/AnalysisCache.java.
- Extend Neo4j indexes bullet with label_lower/fqn_lower + the two
  fulltext indexes actually created by enrich.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@sonarqubecloud
Copy link
Copy Markdown

@aksOps aksOps merged commit ffe537a into main Apr 25, 2026
8 checks passed
@aksOps aksOps deleted the docs/claudemd-gotchas-ran13 branch April 25, 2026 13:19
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.

1 participant