`TagRuleEngine` used a placeholder prefix as both the FK field name and the table name: `{blog.slug}` read `blogId` then GOT table `blog`. Apps with prefixed tables (kof22 `cms_blog`) silently lost those purge paths.
Fix
The joined table is resolved from `Id`'s possible-value source (table name for TABLE-type, or the PVS name when it names a table); fallback to the bare prefix keeps existing behaviour.
A missing joined table no longer skips silently: warn once per table per engine; a missing FK field/value is skipped without throwing.
README section on placeholders and CHANGELOG 0.1.1 entry.
Tests
Prefixed table via PVS, PVS-named-as-table, bare-prefix fallback, missing FK field, missing/dangling table. `CI=true ./mvnw verify`: 77 tests pass, checkstyle and coverage checks met.
Replaces #9. The hotfix/* branch name triggered the hotfix publish workflow instead of test CI. This is the same commit on a fix/* branch.
## Problem
\`TagRuleEngine\` used a placeholder prefix as both the FK field name and the table name: \`{blog.slug}\` read \`blogId\` then GOT table \`blog\`. Apps with prefixed tables (kof22 \`cms_blog\`) silently lost those purge paths.
## Fix
- The joined table is resolved from \`<prefix>Id\`'s possible-value source (table name for TABLE-type, or the PVS name when it names a table); fallback to the bare prefix keeps existing behaviour.
- A missing joined table no longer skips silently: warn once per table per engine; a missing FK field/value is skipped without throwing.
- README section on placeholders and CHANGELOG 0.1.1 entry.
## Tests
Prefixed table via PVS, PVS-named-as-table, bare-prefix fallback, missing FK field, missing/dangling table. \`CI=true ./mvnw verify\`: 77 tests pass, checkstyle and coverage checks met.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Replaces #9. The `hotfix/*` branch name triggered the hotfix publish workflow instead of test CI. This is the same commit on a `fix/*` branch.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
`TagRuleEngine` used a placeholder prefix as both the FK field name and the table name: `{blog.slug}` read `blogId` then GOT table `blog`. Apps with prefixed tables (kof22 `cms_blog`) silently lost those purge paths.
Fix
Tests
Prefixed table via PVS, PVS-named-as-table, bare-prefix fallback, missing FK field, missing/dangling table. `CI=true ./mvnw verify`: 77 tests pass, checkstyle and coverage checks met.
🤖 Generated with Claude Code
Replaces #9. The
hotfix/*branch name triggered the hotfix publish workflow instead of test CI. This is the same commit on afix/*branch.