Files
openhuman/src
53b3d67460 fix(memory): ingest entities/relations after skill sync (#292) (#313)
* fix(memory): ingest entities/relations after skill sync (#292)

After store_skill_sync persists a raw document, call ingest_doc to
extract entities and relations into the memory graph. For Notion syncs,
individual pages are extracted from the sync blob and ingested
separately (keyed by page ID) so GLiNER operates on clean page text
rather than a monolithic JSON blob. Other skills ingest the full
content as a single document.

Closes #292

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* style: apply cargo fmt to event_loop.rs

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* fix(memory): use page_key for ingestion dedup, strip credentials

- Use page_key (page-{id}) as the ingestion document key to match
  store_skill_sync, ensuring consistent dedup on re-sync
- Strip __oauth_credential from content before ingesting in the
  fallback (non-Notion) branch to prevent credentials in the graph
- Add tests for strip_credentials

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-03 11:38:34 -07:00
..