8000 feat(entities): a hybrid mode, and the LLM for fixed lists by adeelahmad · Pull Request #66 · adeelahmad/lense · GitHub
[go: up one dir, main page]

Skip to content

feat(entities): a hybrid mode, and the LLM for fixed lists - #66

Merged
adeelahmad merged 2 commits into
mainfrom
claude/project-thread-2qdx7m
Oct 3, 2026
Merged

adeelahmad merged 2 commits into
mainfrom
claude/project-thread-2qdx7m

Conversation

@adeelahmad
Copy link
Copy Markdown
Owner

Requested by Adeel · project thread

Description

Before: a namespace or collection was either self-organizing or a fixed list, and matching by description only worked in the self-organizing mode.

After:

  • Entities → Setup has a third mode, A few fixed, then self-organizing (hybrid). A name goes to the defined entity it names first, or to an entity it already is. Any other name of a type that belongs here becomes an entity of its own, and names of other types go to Unknown.
  • With "By name, then by description (uses the LLM)", the fixed and hybrid modes also send the names the rules can't place to the LLM. In fixed mode it can place a name on a defined entity or say it doesn't belong (Unknown). In hybrid mode it can place it on a defined or described entity, call it new, or say it doesn't belong. A placed name becomes that entity's other name, so the rules handle it from then on.

The logic is entity_map.place, which replaces resolve. analyze_recording calls it for both list modes, and the workflow executor is untouched.

Motivation and Context

This is the last of the small PRs for entity modes: "few fixed and then allow dynamic based on the description (a hybrid among the above two)".

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change; ! in the title)

Checklist:

  • The title is a Conventional Commit.
  • My code follows the code style of this project (ruff, mypy, eslint, prettier, tsc).
  • I added or updated tests (tests/api/test_entity_hybrid.py).
  • My change requires documentation updates, and I have updated docs/ accordingly (processing.md).
  • Users need more than the title to understand it, so I wrote it under ## Unreleased in CHANGELOG.md.

Local checks:

  • Backend: 351 passed. Only test_office_and_text_files_become_documents fails, and it fails on main too because of this machine's LibreOffice.
  • Frontend: jest 546 passed; eslint, tsc and prettier are clean.

🤖 Generated with Claude Code

https://claude.ai/code/session_01VmPYPheY7aGQv9TiA563P5


Generated by Claude Code

Hybrid: names go to a defined entity first; other names of the types that
belong here become entities of their own, the rest go to Unknown. With
matching by description, the fixed and hybrid modes also ask the model
where names the rules can't place go.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VmPYPheY7aGQv9TiA563P5
@adeelahmad adeelahmad self-assigned this Oct 3, 2026
… even when an entity

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VmPYPheY7aGQv9TiA563P5
@adeelahmad
adeelahmad merged commit 8fe2458 into main Oct 3, 2026
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.

2 participants

0