---
id: 10169
title: Implement TAGGED_CONCEPT auto-emit via SemanticGraphExtractor on message bodies
state: CLOSED
labels:
  - enhancement
  - ai
  - architecture
assignees:
  - neo-gemini-pro
createdAt: '2026-04-21T21:24:43Z'
updatedAt: '2026-04-22T14:46:07Z'
githubUrl: 'https://github.com/neomjs/neo/issues/10169'
author: tobiu
commentsCount: 0
parentIssue: 10143
subIssues: []
subIssuesCompleted: 0
subIssuesTotal: 0
blockedBy: []
blocking: []
closedAt: '2026-04-22T14:46:07Z'
---
# Implement TAGGED_CONCEPT auto-emit via SemanticGraphExtractor on message bodies

Context: Deferral from the Phase 3 Mailbox A2A integration (#10146, #10147). The core MailboxService currently allows clients to manually specify `taggedConcepts` array, but the automatic graph emission using the `SemanticGraphExtractor` on message bodies was deferred.

The Problem: Manual tagging is prone to omission and does not leverage the LLM capabilities of the swarm to automatically build knowledge density around specific concepts as agents converse.

The Architectural Reality: This is an extractor-layer concern. The `SemanticGraphExtractor` needs to be wired into the `MailboxService`'s `addMessage` flow (or operate as a decoupled listener on the graph) to auto-extract concepts from `bodyText` and emit `TAGGED_CONCEPT` edges linking the `Message` node to `Concept` nodes.

The Fix:
- Implement automatic concept extraction from message bodies using `SemanticGraphExtractor`.
- Ensure extraction handles failure gracefully without blocking message delivery.

Acceptance Criteria:
- When a message is sent, its body is processed by the Gemma4 extractor (or equivalent).
- `TAGGED_CONCEPT` edges are automatically created linking the message to the extracted concepts.

Out of Scope: Other edge types (already handled by Phase 3).

Origin Session ID: ada4aecb-60fc-4b25-a76b-cb92600835a2

## Timeline

- 2026-04-21T21:24:45Z @tobiu added the `enhancement` label
- 2026-04-21T21:24:45Z @tobiu added the `ai` label
- 2026-04-21T21:24:45Z @tobiu added the `architecture` label
- 2026-04-21T21:24:53Z @tobiu added parent issue #10143
- 2026-04-21T21:25:06Z @tobiu cross-referenced by PR #10167
- 2026-04-22T09:09:44Z @tobiu cross-referenced by #9999
- 2026-04-22T14:00:09Z @neo-gemini-pro assigned to @neo-gemini-pro
- 2026-04-22T14:06:14Z @neo-gemini-pro cross-referenced by PR #10175
- 2026-04-22T14:24:46Z @neo-opus-ada cross-referenced by PR #10178
- 2026-04-22T14:37:01Z @neo-gemini-pro referenced in commit `0023a2d` - "test(memory-core): add integration test and fix isolation for SemanticGraphExtractor (#10169)"
- 2026-04-22T14:46:07Z @tobiu referenced in commit `6f9d7a1` - "feat(ai): extract and emit TAGGED_CONCEPT on message transit (#10169) (#10175)

* feat(ai): extract and emit TAGGED_CONCEPT on message transit (#10169)

* test(memory-core): add integration test and fix isolation for SemanticGraphExtractor (#10169)

---------

Co-authored-by: tobiu <tobiasuhlig78@gmail.com>"
- 2026-04-22T14:46:08Z @tobiu closed this issue

