feat: uniform description on every saveable entity (human + AI) - #97
Merged
Merged
Conversation
… agent parity) Every saveable "basic entity" now carries an optional description?: string so both the AI and the human can record what it's for / why it was added. Field name matches the existing BaselineRecord/InvestigationTemplate `description` (findings already have `detail`). Data model — `description?: string` added to: - Bookmark, Highlight, SearchConfig, PatternProperty, SearchConfigSession (src/shared/types.ts + their src/renderer/types.d.ts mirrors) - ConstantEntry (constantsStore) and ColumnLayoutSaved (columnLayoutsStore) Persistence — most stores spread the whole object so the field flows through for free; the explicit constructions were updated: ConstantsStore.save() gains a description param (create + upsert), and the /api/bookmark, /api/highlight create + -update routes now carry it. Agent parity — the four entities that already have an MCP create/save tool now accept a description and forward it through one shared impl (rule 5): - logan_constants, logan_add_bookmark, logan_highlight, logan_column_layouts. Search configs / sessions / pattern-properties have no MCP create tool today, so they only carry the field (creation stays human-only — pre-existing exemption). Next (PR-2): the uniform human editing UI (tooltip + right-click "Edit description") across the entity chips/panels. Tracked in docs/PARITY_CHECKLIST.md. tsc 0 · 667 tests green (+4 constants description tests) · bundle built. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Completes the entity-description feature with the human side, so both operators
can annotate an entity's purpose (rule 5 parity). One shared helper, one pattern.
- editEntityDescription() + showDescriptionModal(): a small prefilled modal
(textarea; blank clears; ⌘/Ctrl+Enter saves) reused by every entity.
- descTitleSuffix(): appends the note to each entity's hover tooltip; a 📝
marker shows on chips/rows that have a description.
- Wired the edit affordance into each entity's existing surface:
· Search config + Search-config session — chip context menu item.
· Column layout + Pattern property (trend) chips — right-click.
· Bookmark + Highlight rows — right-click (distinct from label/color).
· Constant/tag — right-click in the constants picker; threaded `description`
through the human save path (preload saveConstant + CONSTANTS_SAVE IPC).
tsc 0 · 667 tests green · bundle built.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ozgesolidkey
added a commit
that referenced
this pull request
Aug 19, 2026
feat: uniform description on every saveable entity (human + AI)
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.
Give every saveable basic entity an optional
descriptionso both the AI and the human can record what it's for / why it was added. One uniform field name (matches the existingBaselineRecord/InvestigationTemplatedescription; findings already carrydetail).Data model
description?: stringadded toBookmark,Highlight,SearchConfig,PatternProperty,SearchConfigSession(shared + renderer mirrors),ConstantEntry,ColumnLayoutSaved. Spread stores carry it for free; explicit constructions updated.AI side
The 4 entities with an MCP create tool accept & forward a
descriptionthrough one shared impl:logan_constants,logan_add_bookmark,logan_highlight,logan_column_layouts(+ their/apicreate/update routes).Human side
A shared
editEntityDescription()helper (prefilled modal; blank clears; ⌘/Ctrl+Enter saves) reached by right-click on each entity's chip/row, a📝marker on chips/rows that have one, and the note shown in the hover tooltip:descriptionthrough the human save path)Search configs / sessions / pattern-properties have no MCP create tool today (pre-existing human-only exemption), so their
descriptionis human-set — the field is carried so a future AI tool inherits it. Tracked indocs/PARITY_CHECKLIST.md.Verify
tsc 0 · 667 tests green (+4 constants description tests) · bundle built. GUI eyeball: right-click any chip/row → "Edit description", confirm the 📝 marker + tooltip appear and persist across reloads; ask the agent to add a highlight/bookmark/tag with a description and confirm it shows.
🤖 Generated with Claude Code