fix(rules): show counterparty/series name in rule detail + lift icon contrast#1919
Merged
Conversation
…il, lift icon contrast The rule detail "Then" card rendered "Assign to counterparty wvmXi45D" instead of "Assign to counterparty Netflix" whenever an assign_counterparty / assign_series action binds an existing entity by short_id (no inline name stored). ruleActionEntityName fell straight back to the surrogate. Resolve the short_id to the live entity's display name in the rule detail handler (cheap — a rule carries a handful of actions) and pass it through RuleDetailProps.ActionEntityNames; the templ helper now prefers inline name → resolved name → short_id as a last resort. Also fix the near-invisible counterparty icon: the tile used bg-secondary/10 + text-secondary, and --color-secondary is ~white in light mode (and ~dark in dark mode), so the store glyph washed out in both themes. Switch to the chromatic bg-info/10 + text-info, matching the visibility of the assign_series (primary) tile. Fixes #1916 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FBR5SK8z4L71JAHcA3DdAH
Owner
Author
|
Screenshot of the fix (rule detail page, after) — the "Then" card now reads Assign to counterparty Netflix with a clearly-visible blue store icon:
Generated by Claude Code |
Owner
Author
|
Screenshot link (clean — the previous comment's raw After fix → https://bb-artifacts.exe.xyz/f/6991c873c7ffcf80.jpg The "Then" card now reads Assign to counterparty Netflix (was the surrogate Generated by Claude Code |
canalesb93
added a commit
that referenced
this pull request
Jun 24, 2026
Pull in main (#1907–#1919). Two changes interact with this PR: - #1918 fully removed series tags (AddSeriesTag/RemoveSeriesTag service methods gone). Reverted this PR's update_series tag fold: update_series is back to name/type only, and the tags_to_add/tags_to_remove input + handler loops are removed. Series no longer have a tag dimension. - #1913 added four series/counterparty workflow preset prompts written against main's older tool surface. Scrubbed their stale refs to match the consolidated tools: breadbox://overview → get_overview; batch_create_rules → create_transaction_rule rules array; set_series_type / split_series / review_series / explain_series_candidates (all removed upstream) → update_series / unlink_series_transactions / get_series. Resolved the docs/mcp-tools-reference.md conflict by taking main's series-unlink description (no tags). The counterparty create→assign fold and unlink rename from the prior commit are preserved. Verified: go build ./..., go vet ./..., and the full internal/mcp integration suite green on a clean DB. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Y7qg4TN9ZPcHsXR714UrjG
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #1916.
Problem
Two issues on the rule detail "Then" card, both visible in the filed screenshot:
Assign to counterparty wvmXi45Dinstead ofAssign to counterparty Netflix. When anassign_counterparty/assign_seriesaction binds an existing entity byshort_id, no inline name is stored on the action, andruleActionEntityNamefell straight back to the surrogate.bg-secondary/10+text-secondary. In the theme,--color-secondaryisoklch(0.971 …)— nearly white in light mode (and nearly the surface color in dark mode), so thestoreglyph washed out in both themes.Fix
RuleDetailPageHandlernow resolves each bind-by-short_idaction to the live entity's display name (viaGetCounterparty/GetSeries— cheap, a rule carries only a handful of actions) and passes it through the newRuleDetailProps.ActionEntityNamesmap. The templ helper now prefers inline name → resolved name →short_idas a last resort, so a deleted/unresolvable entity still shows something rather than an empty label.bg-info/10+text-info, matching the visibility of theassign_series(primary) tile and reading clearly in both light and dark themes.This is read-path display only — provider data and the stored action remain untouched, consistent with the surrogate-first identity model (name is a display fallback).
Validation
go build ./...,go vet ./...clean.rule_detail_types_test.gocover inline-name, short_id-resolution, and the unresolved fallback (go test ./internal/templates/components/pages/passes). The one unrelated failure in the suite isinternal/agentprocess-group reaping, untouched by this change.Netflixcounterparty, authored a rule binding it by short_id only, and rendered the detail page. Screenshot of the fixed state below — the card now reads Assign to counterparty Netflix with a clearly-visible blue store icon:rule detail — after fix
🤖 Generated with Claude Code