Skip to content

[ti_recordedfuture] Drop redundant [Logs RecordedFuture] suffix from panel titles - #20383

Merged
efd6 merged 8 commits into
elastic:mainfrom
smnschndr:worktree-fix-20370-ti_recordedfuture-panel-title-prefix
Aug 2, 2026
Merged

[ti_recordedfuture] Drop redundant [Logs RecordedFuture] suffix from panel titles#20383
efd6 merged 8 commits into
elastic:mainfrom
smnschndr:worktree-fix-20370-ti_recordedfuture-panel-title-prefix

Conversation

@smnschndr

Copy link
Copy Markdown
Contributor

Summary

  • Per the documented dashboard naming convention, the [Logs <PACKAGE>] prefix is reserved for the dashboard-level title; individual panel titles should use just the descriptive name.
  • All five ti_recordedfuture dashboards (Overview, Files, URLs, Playbook Alert, Triggered Alert) repeated the prefix on every panel-level title and its matching embedded Lens/embeddableConfig title.
  • Stripped the suffix from both title levels (60 occurrences total) so panel titles read e.g. Unique MD5 instead of Unique MD5 [Logs RecordedFuture]. Dashboard-level titles are untouched and keep the prefix, which is correct.
  • Bumped package version 2.7.0 -> 2.7.2 and added a changelog entry.

Fixes #20370

⚠️ Depends on #20367

This PR was branched independently of #20367 (which bumps the same package to 2.7.1), so the version here is set to 2.7.2 assuming #20367 merges first. GitHub doesn't support a native "depends on" relationship between pull requests (only between issues), so noting it here instead:

Test plan

  • Verified with kbdash that no title-mismatch warnings were introduced (panel-level and embedded titles remain in sync after stripping the suffix).
  • Validated all modified dashboard JSON files parse correctly.
  • Ran elastic-package lint — the two errors it reports (transform.yml num_failure_retries, manifest agentless.release) are pre-existing on main and unrelated to this change.

🤖 Generated with Claude Code

@elastic-vault-github-plugin-prod

Copy link
Copy Markdown
Contributor

Reviewers

Buildkite won't run for external contributors automatically; you need to add a comment:

  • /test : will kick off a build in Buildkite.

NOTE: https://github.com/elastic/integrations/blob/main/.buildkite/pull-requests.json contains all those details.

@andrewkroh andrewkroh added dashboard Relates to a Kibana dashboard bug, enhancement, or modification. Integration:ti_recordedfuture Recorded Future labels Jul 28, 2026
…panel titles

Per the documented dashboard naming convention, the "[Logs <PACKAGE>]"
prefix is reserved for the dashboard-level title; individual panel
titles should use just the descriptive name. All five ti_recordedfuture
dashboards (Overview, Files, URLs, Playbook Alert, Triggered Alert)
repeated the prefix on every panel-level title and its matching
embedded Lens/embeddableConfig title.

Stripped the suffix from both title levels (60 occurrences total) so
panel titles read e.g. "Unique MD5" instead of
"Unique MD5 [Logs RecordedFuture]". Dashboard-level titles are
untouched and keep the prefix, which is correct.

Fixes elastic#20370

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01STTaWPq6nDxykUYmFe73D3
@smnschndr
smnschndr force-pushed the worktree-fix-20370-ti_recordedfuture-panel-title-prefix branch from 23ddf50 to b213746 Compare July 29, 2026 12:57
@smnschndr
smnschndr marked this pull request as ready for review July 29, 2026 12:57
@smnschndr
smnschndr requested review from a team as code owners July 29, 2026 12:57
@smnschndr

Copy link
Copy Markdown
Contributor Author

/test

@andrewkroh andrewkroh added the Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations] label Jul 29, 2026
@infra-vault-gh-plugin-prod

Copy link
Copy Markdown

Pinging @elastic/security-service-integrations (Team:Security-Service Integrations)

…board

Six by-value panels (Total Indicators Hash/IP/URL/Domain, Total
Sources Identifying the Indicators, Total Sightings) shared the
identical embeddableConfig.attributes.title "Total Indicators" even
though each measures a different metric. Set each embedded title to
match its panel-level title.

Addresses vera-review-bot finding on PR elastic#20383.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014tzkjPV4wxbHf7cfgre8iw
…tity Detections saved search

The "Recent Identity Detections" saved search embedded in the
Identity Detections dashboard still carried the redundant
[Logs RecordedFuture] suffix that elastic#20383 removes elsewhere. It was
masked by the dashboard panel's own title override, only visible
when the saved object is opened directly.

Found during a focused review of PR elastic#20383 for other assets sharing
the same suffix pattern.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014tzkjPV4wxbHf7cfgre8iw
@smnschndr

Copy link
Copy Markdown
Contributor Author

/test

…ch titles

- Sync the last remaining embedded Lens title in the Overview dashboard
  ("Indicators ingested per Datastream" -> "Indicators ingested timeline")
  to match its panel title, completing the title-sync pass.
- Restore the `[Logs RecordedFuture]` prefix on the "Recent Identity
  Detections" saved search: unlike dashboard panel titles, a saved search
  is a standalone top-level asset (Discover, Saved Objects) with no
  dashboard title to supply package context, and every other saved search
  in the repo carries a package identifier.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014tzkjPV4wxbHf7cfgre8iw
@smnschndr

Copy link
Copy Markdown
Contributor Author

/test

…board

Two side-by-side panels (bar chart of counts, donut of percentages) were
both titled "Top File Hash Types" after the suffix strip, a pre-existing
ambiguity carried forward from upstream. Rename the donut's panel-level
and embedded Lens title to "% of File Hash Types", matching the naming
pattern already used on the Overview dashboard ("Top Indicator Criticality
Labels" vs "% of Indicator Criticality").

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014tzkjPV4wxbHf7cfgre8iw
@smnschndr

Copy link
Copy Markdown
Contributor Author

/test

Comment thread packages/ti_recordedfuture/changelog.yml Outdated
The Files dashboard's "% of File Hash Types" donut had all 5 Lens filter
labels set to empty strings (pre-existing, but this is the same panel
whose title this PR already touches), so its legend rendered raw KQL
instead of MD5/SHA1/SHA256/SHA384/SHA512. Label it to match the adjacent
bar chart, which already carries the correct labels for the identical
filters.

Also condense the 2.7.2 changelog entry to a single user-facing sentence,
per repository convention, instead of enumerating internal saved-object
mechanics.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014tzkjPV4wxbHf7cfgre8iw
@smnschndr

Copy link
Copy Markdown
Contributor Author

/test

The "Top File Hashes" donut in the Files dashboard only buckets on
threat.indicator.file.hash.md5 (a single terms aggregation), so the
generic plural title is misleading next to the "% of File Hash Types"
donut, which does cover all five algorithms. Rename both the panel
title and embedded Lens title to "Top MD5 File Hashes" to match the
sourceField it actually aggregates.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014tzkjPV4wxbHf7cfgre8iw
@smnschndr

Copy link
Copy Markdown
Contributor Author

/test

Comment thread packages/ti_recordedfuture/changelog.yml Outdated
Bundling the suffix strip, title-mismatch fixes, and filter labeling into
one run-on sentence made the entry hard to read. Split into three
separate change entries under the same version, matching the repository
convention used when several distinct changes land in the same PR (e.g.
packages/panw/changelog.yml version 2.2.1).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014tzkjPV4wxbHf7cfgre8iw
@smnschndr

Copy link
Copy Markdown
Contributor Author

/test

@vera-review-bot

Copy link
Copy Markdown

No issues across the latest commits f154992.

Review summary

Issues found across earlier commits bf061fd — 1 low
  • 🔵 The 2.7.2 changelog entry bundles three distinct changes into one long run-on description (link) (Unresolved)
Issues found across earlier commits 4acab8d — 1 low
  • 🔵 The renamed panel "Top File Hashes" only aggregates MD5 hashes, so the plural generic title is still misleading (link) (Unresolved)
Issues found across earlier commits 04a8f0d — 2 low
  • 🔵 The 2.7.2 changelog entry is a ~530-character run-on sentence describing internal saved-object mechanics (embedded Lens counts, panel-by-panel renames) (link) (Unresolved)
  • 🔵 The donut panel being renamed to "% of File Hash Types" has all five of its Lens filter labels set to empty strings, so its legend renders raw KQL ("threat.indicator.file.hash.md5" : *) instead of MD5/SHA1/... (link) (Unresolved)
Issues found across earlier commits 6b7b5d8 — 1 low
  • 🔵 Two side-by-side panels on the Files dashboard are both titled "Top File Hash Types" after the suffix strip, so they are now indistinguishable (link) (Unresolved)
Issues found across earlier commits 9a14946 — 1 medium
  • 🟡 The saved search is a standalone saved object, not a dashboard panel, so stripping its [Logs RecordedFuture] prefix leaves it unattributable in Discover's saved-search list (link) (Resolved)
Issues found across earlier commits bf769f7 — 1 low
  • 🔵 The embedded Lens title on the 'Indicators ingested timeline' panel still reads 'Indicators ingested per Datastream', so this panel is left out of the title-sync pass the rest of the PR performs (link) (Resolved)
Issues found across earlier commits b213746 — 1 low
  • 🔵 Stripping the suffix left six embedded Lens titles in the Overview dashboard all reading the generic "Total Indicators", even though the panels measure different metrics (link) (Resolved)

Since this is a community PR, a new commit triggers another review — at most once every 30 minutes. I skip the PR while it's approved or has merge conflicts.

🤖 AI-Generated Review | Vera Review Bot | 📚 Knowledge base: integration-skills

⚠️ Automated review — verify suggestions before applying.

@smnschndr

Copy link
Copy Markdown
Contributor Author

@elastic/security-service-integrations This PR is ready for review/merge — all checks are green (CLA, Buildkite/Summary) and it's out of draft. It went through several rounds of automated review (Vera) covering both the original scope (redundant [Logs RecordedFuture] panel-title suffix) and a few related title/consistency issues surfaced along the way; the latest commit has no outstanding findings. Happy to address any additional feedback.

@efd6

efd6 commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

/test

@elastic-vault-github-plugin-prod

Copy link
Copy Markdown
Contributor

✅ All changelog entries have the correct PR link.

@infra-vault-gh-plugin-prod

Copy link
Copy Markdown

💚 Build Succeeded

@efd6
efd6 merged commit 372b824 into elastic:main Aug 2, 2026
4 checks passed
@mergify

mergify Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@elastic-vault-github-plugin-prod

Copy link
Copy Markdown
Contributor

Package ti_recordedfuture - 2.7.2 containing this change is available at https://epr.elastic.co/package/ti_recordedfuture/2.7.2/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dashboard Relates to a Kibana dashboard bug, enhancement, or modification. Integration:ti_recordedfuture Recorded Future Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations]

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ti_recordedfuture] Panel-level dashboard titles redundantly repeat the "[Logs RecordedFuture]" prefix

3 participants