Skip to content

feat: uniform description on every saveable entity (human + AI) - #97

Merged
ozgesolidkey merged 2 commits into
mainfrom
feat/entity-descriptions
Aug 13, 2026
Merged

ozgesolidkey merged 2 commits into
mainfrom
feat/entity-descriptions

Conversation

@ozgesolidkey

@ozgesolidkey ozgesolidkey commented Aug 13, 2026 •

Copy link
Copy Markdown
Contributor

Give every saveable basic entity an optional description so both the AI and the human can record what it's for / why it was added. One uniform field name (matches the existing BaselineRecord/InvestigationTemplate description; findings already carry detail).

Data model

description?: string added to Bookmark, 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 description through one shared impl: logan_constants, logan_add_bookmark, logan_highlight, logan_column_layouts (+ their /api create/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:

  • Search config + session → chip context-menu item
  • Column layout + Pattern property (trend) chips → right-click
  • Bookmark + Highlight rows → right-click
  • Constant/tag → right-click in the constants picker (threaded description through the human save path)

Search configs / sessions / pattern-properties have no MCP create tool today (pre-existing human-only exemption), so their description is human-set — the field is carried so a future AI tool inherits it. Tracked in docs/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

ozgesolidkey and others added 2 commits August 13, 2026 13:09
… 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 ozgesolidkey changed the title feat: uniform description on all saveable entities (data + agent parity) feat: uniform description on every saveable entity (human + AI) Aug 13, 2026
@ozgesolidkey
ozgesolidkey merged commit 9bef6da into main Aug 13, 2026
3 checks passed
@ozgesolidkey
ozgesolidkey deleted the feat/entity-descriptions branch August 13, 2026 12:27
ozgesolidkey added a commit that referenced this pull request Aug 19, 2026
feat: uniform description on every saveable entity (human + AI)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant