Add chat preference extraction on shared ingest
This commit is contained in:
@@ -7,6 +7,39 @@ Updated: 2026-02-22
|
||||
- After every sensible code/documentation change set, create a git commit as
|
||||
the last step so the next agent session can pick up from clean checkpoints.
|
||||
|
||||
## Latest Milestone (2026-02-22): MVP Chat Preference Extractor + Ingest Enrichment
|
||||
|
||||
Implemented the first local semantic-enrichment pass so shared chat messages can
|
||||
start building inferred person preferences automatically.
|
||||
|
||||
- `lib/features/local/chat_preference_extractor.dart` (new)
|
||||
- added a pure Dart, local-first rule-based extractor
|
||||
- extracts evidence-backed preference candidates from message text:
|
||||
- `prefer X over Y` (creates like/dislike pair)
|
||||
- `favorite ... is ...`
|
||||
- `I love/like/enjoy ...`
|
||||
- `I hate/dislike/don’t like ...`
|
||||
- `allergic to ...`
|
||||
- adds category heuristics (e.g. drink/food/hobby/environment/health)
|
||||
- returns confidence-scored candidates with evidence snippets
|
||||
|
||||
- `lib/features/local/local_repository.dart`
|
||||
- integrated extractor into resolved shared-message ingest flow
|
||||
- when a chat share is imported and linked to a profile:
|
||||
- store raw shared message + capture moment (existing behavior)
|
||||
- extract preference candidates from message text
|
||||
- upsert local inferred preference signals with evidence + source metadata
|
||||
|
||||
- Tests
|
||||
- `test/features/local/chat_preference_extractor_test.dart` (new)
|
||||
- extractor unit coverage for positive/negative/comparative/allergy patterns
|
||||
- `test/features/local/local_repository_test.dart`
|
||||
- added ingest test proving shared chat import creates inferred signals
|
||||
|
||||
- Validation
|
||||
- `flutter analyze` -> pass
|
||||
- `flutter test` -> pass
|
||||
|
||||
## Latest Milestone (2026-02-22): Local Preference Signal Scaffolding (Inferred/Confirmed)
|
||||
|
||||
Added a local-first data model and repository APIs for chat-derived preference
|
||||
|
||||
Reference in New Issue
Block a user