Skip to content

feat(personal): opt-in model extraction for the KG (#1, part 2)#66

Merged
mlcyclops merged 1 commit into
masterfrom
feat/kg-model-extract
Jun 24, 2026
Merged

feat(personal): opt-in model extraction for the KG (#1, part 2)#66
mlcyclops merged 1 commit into
masterfrom
feat/kg-model-extract

Conversation

@mlcyclops

Copy link
Copy Markdown
Owner

Part 2 of the 'Both' approach. Adds a Settings toggle 'Richer graph (uses the model)' (default OFF) under Personalization.

When on, live learning uses the model extractor instead of the offline heuristic, pulling semantic facts + relationships so related ideas connect across turns (custard~caramel) — at the cost of one extra model call per turn. Off by default → zero cost; the always-on offline cross-turn linker from #65 still runs underneath either way.

Wiring: personalAiExtract setting + setter; learnFromTurn takes an optional model-call and uses modelExtractor when the flag is on; acp_backend passes its existing complete() util (same one import uses); personalStatus exposes aiExtract; bridge + /api/personal/ai-extract route + UI toggle (shown only when the store is unlocked).

Verified: API round-trips the flag false→true→false; tsc clean; 332 desktop + personal tests pass.

🤖 Generated with Claude Code

…part 2)

Adds a Settings toggle 'Richer graph (uses the model)' (default OFF) under
Personalization. When on, live learning uses the MODEL extractor instead of the
offline heuristic, pulling semantic facts + relationships (so related ideas connect
across turns, e.g. custard~caramel) at the cost of one extra model call per turn.

Wiring: new personalAiExtract setting (+ setter); learnFromTurn takes an optional
model-call and uses modelExtractor when the flag is on; acp_backend passes its
existing complete() util (the same one the import path already uses); personalStatus
exposes aiExtract; bridge + /api/personal/ai-extract route + UI toggle (only shown
when the store is unlocked, since that's when learning runs). Off by default → zero
cost; the offline cross-turn linker (part 1, #65) still runs underneath either way.

Verified: API round-trips the flag false->true->false; tsc clean; 332 desktop +
personal tests pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@mlcyclops mlcyclops merged commit 34ec62c into master Jun 24, 2026
4 checks passed
@mlcyclops mlcyclops deleted the feat/kg-model-extract branch June 24, 2026 03:47
mlcyclops added a commit that referenced this pull request Jun 24, 2026
…l hygiene) (#70)

ADR-0042: records the opt-in personalAiExtract toggle (default OFF) — model-based
extraction for richer semantic facts + cross-turn relations at one model call/turn,
reusing backend.complete(); offline heuristic + cross-turn linker remain the free
baseline (PR #66, ADR-0010).

ADR-0043: records the recall-hygiene decision — recall excludes mechanical tool
activity (omp:*/subagent:*, PR #50) and rememberActivity stops promoting raw tool
I/O as durable facts while keeping provenance ingest (PR #56); subagent-result
promotion through the keystone-#2 gate is untouched (ADR-0009, keystone #2).

Co-authored-by: mlcyclops <mlcyclops@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
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