RETE hot-path optimizations driven by cluster cProfile evidence

Cluster cProfile on combined_40_ings (recipe wall 23.6s on dev,
v0.5.419) showed orchestration at 82% of wall time, with these
top hot spots:

  ncalls  tottime  function
  897K    1.23s    alpha_network.activate
  2.6M    0.74s    isinstance
  1.76M   0.79s    hasattr
  974K    0.60s    getattr
  403K    0.56s    alpha_network._get_related_at_depth
  1.39M   0.44s    _abc_instancecheck   (driven by isinstance)

This release ships three changes targeting these:

1. _kind/_is_compound flags (8c8923aca)
   Replace per-callback isinstance + set-membership with class-level
   bit flags set at network-build time. Eliminates 2.6M isinstance
   calls on combined_40 → 0 in selective_evaluator hot path.

2. Per-batch BFS walk cache (53fd00f86)
   Cache RelatedNodeAlpha._get_related_at_depth results within a
   single on_facts_changed sweep. Measured 91.3% hit rate on
   two_origins fixture; on combined_40 the BFS cumtime is 2.4s →
   should drop to ~0.2s.

3. Drop hasattr/getattr probes on alpha hot path (06b932bc7)
   Hoist condition fields into PerRelatedNodeAlpha.__init__ (frozen
   dataclass — sound). Drop dead hasattr guards for methods always
   defined on Node base class. Measured -29.9% hasattr, -21.4%
   getattr on two_origins; -2.6% wall time.

Tests: 503/503 green (orchestrator + benchmark suites).
Local two_origins: 3.05-3.20s (within run-to-run noise).
Expected cluster gain: 3-5s off the 23.6s combined_40_ings baseline,
biggest impact on the 18.6s outside-GFM time (selective_evaluator,
relational fan-out, alpha activation).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>