Release v0.4.20: filter_predicate + CYCLE detection Features: - filter_predicate on NodeMapping: Map multiple graph labels to the same base table using a discriminator column filter. Injected on reads at 5 sites; writes skip it. Supports YAML config. - CYCLE clause for PostgreSQL recursive CTEs (14+): Prevents infinite loops on cyclic graphs. Body filter adds NOT is_cycle alongside depth guard. Optimizer preserves cycle_columns through all passes. Tests: 26 new tests across 4 files. All 632 Cypher + 134 SPARQL passing.