personal memory agent
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

revert entity extraction to segment schedule

Cross-workstream review identified that facets agent (priority 90)
reads {segment}/agents/entities.md as input. Moving entities to
activity schedule would break facet classification. Entity redundancy
is instead handled by the change-detection gate which skips all
priority-10 agents during idle/low-change segments.

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

+18 -16
+3 -5
muse/entities.md
··· 4 4 "title": "Entity Extraction", 5 5 "description": "Extracts people, companies, projects, and tools from segment content", 6 6 "color": "#2e7d32", 7 - "schedule": "activity", 8 - "activities": ["*"], 7 + "schedule": "segment", 9 8 "priority": 10, 10 9 "hook": {"post": "entities"}, 11 10 "thinking_budget": 4096, ··· 13 12 "output": "md", 14 13 "instructions": { 15 14 "sources": {"transcripts": true, "percepts": true, "agents": false}, 16 - "facets": false, 17 - "activity": true 15 + "facets": false 18 16 } 19 17 20 18 } 21 19 22 - $activity_preamble 20 + $segment_preamble 23 21 24 22 Extract named entities and descriptions from the given segment transcription document. 25 23
+1 -1
tests/baselines/api/agents/agents-day.json
··· 105 105 "description": "Extracts people, companies, projects, and tools from segment content", 106 106 "multi_facet": false, 107 107 "output_format": "md", 108 - "schedule": "activity", 108 + "schedule": "segment", 109 109 "source": "system", 110 110 "title": "Entity Extraction", 111 111 "type": "generate"
+10
tests/baselines/api/settings/generators.json
··· 174 174 }, 175 175 { 176 176 "app": null, 177 + "description": "Extracts people, companies, projects, and tools from segment content", 178 + "disabled": false, 179 + "extract": null, 180 + "has_extraction": false, 181 + "key": "entities", 182 + "source": "system", 183 + "title": "Entity Extraction" 184 + }, 185 + { 186 + "app": null, 177 187 "description": "Identifies who said what in each transcript segment. Layers 1-3 (owner, structural, acoustic) run computationally via hook; Layer 4 uses contextual LLM analysis for remaining unmatched sentences.", 178 188 "disabled": false, 179 189 "extract": null,
+1 -1
tests/baselines/api/settings/providers.json
··· 141 141 "disabled": false, 142 142 "group": "Think", 143 143 "label": "Entity Extraction", 144 - "schedule": "activity", 144 + "schedule": "segment", 145 145 "tier": 2, 146 146 "type": "generate" 147 147 },
+1 -5
tests/baselines/api/stats/stats.json
··· 138 138 "type": "generate" 139 139 }, 140 140 "entities": { 141 - "activities": [ 142 - "*" 143 - ], 144 141 "color": "#2e7d32", 145 142 "description": "Extracts people, companies, projects, and tools from segment content", 146 143 "hook": { 147 144 "post": "entities" 148 145 }, 149 146 "instructions": { 150 - "activity": true, 151 147 "facets": false, 152 148 "sources": { 153 149 "agents": false, ··· 160 156 "output": "md", 161 157 "path": "<PROJECT>/muse/entities.md", 162 158 "priority": 10, 163 - "schedule": "activity", 159 + "schedule": "segment", 164 160 "source": "system", 165 161 "thinking_budget": 4096, 166 162 "title": "Entity Extraction",
+2 -4
tests/test_entities_hook.py
··· 45 45 assert "missing output_path" in caplog.text 46 46 47 47 48 - def test_entities_muse_is_activity_scheduled(): 48 + def test_entities_muse_is_segment_scheduled(): 49 49 from think.muse import get_muse_configs 50 50 51 51 segment_prompts = get_muse_configs(schedule="segment") 52 - activity_prompts = get_muse_configs(schedule="activity") 53 52 54 - assert "entities" not in segment_prompts 55 - assert activity_prompts["entities"]["activities"] == ["*"] 53 + assert "entities" in segment_prompts