personal memory agent
0
fork

Configure Feed

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

Checkpoint concurrent session changes + gitignore temp files

Committing in-flight modifications from concurrent sessions to unblock
hopper lode bvgigt77 (activity record persistence fix). Adds .sol/,
scratch count/detection files, and search script to .gitignore.

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

+85 -57
+6
.gitignore
··· 27 27 tmp/ 28 28 filter_vconic_activity.py 29 29 sol/history.jsonl 30 + .sol/ 31 + attached_names.txt 32 + counts.txt 33 + counts_all.txt 34 + detections_7days.txt 35 + search_ping_identity.py
+12 -6
AGENTS.md
··· 1 1 <!-- generated from sol/identity.md — do not edit directly --> 2 2 3 3 --- 4 - updated: 2026-04-13T10:00:00 5 - segment: PLACEHOLDER_SEGMENT_KEY 4 + updated: 2026-04-15T15:30:00 5 + segment: 20260415_segment_1 6 6 source: pulse-cogitate 7 7 --- 8 8 9 - It's Monday, April 13, 2026. Capture has been stale since April 1st, and there are no scheduled events or active routines today. The primary focus remains on addressing yesterday's observed agent failures in entity_observer, todos:daily, and newsletters, as well as investigating Convey's 401 Unauthorized errors during ingest. Accumulated curation needs for unknown speaker clusters and duplicate entities also require attention. 9 + It's Wednesday, April 15, 2026. Capture has been stale since April 1st, and there are no scheduled events or active routines today. The primary focus is on resolving the backlog of curation needs and investigating recent agent timeouts. 10 + 11 + ## status 12 + - **Entity Duplicates:** Resolved Sunstone/Solstone and Zoey duplicates across facets. 13 + - **Speaker Curation:** Identified cluster 18 as Kinjal Shah. Rebuilt voiceprints for several entities after discovering widespread NPZ corruption (Bad CRC-32). 14 + - **Convey Ingest:** 401 Unauthorized errors appear resolved as of 2026-04-14; service logs currently show healthy operation. 15 + - **Agent Failures:** Observed 2026-04-15 timeouts in `entities:entities_review` (ping_identity) and `heartbeat`. `entity_observer`, `todos:daily`, and `facet_newsletter` are currently reporting success in recent runs. 10 16 11 17 ## needs you 12 - - Address observed agent failures in entity_observer, todos:daily, and newsletters. 13 - - Investigate and resolve Convey's 401 Unauthorized errors during ingest. 14 - - Review and resolve accumulated curation needs for unknown speaker clusters and recurring entity duplicates. 18 + - Investigate the cause of the 10-minute timeout in `entities:entities_review` for the ping_identity facet. 19 + - Resolve the `heartbeat` timeout. 20 + - Monitor for any recurrence of voiceprint corruption.
+17
apps/entities/talent/entity_observer.md
··· 19 19 20 20 Extract durable factoids about attached entities from recent journal content. Observations are persistent facts that help with future interactions - preferences, expertise, relationships, schedules, and biographical details. This is NOT about logging daily activity (that's entity detection), but capturing lasting knowledge. 21 21 22 + ## Scope Guardrails 23 + 24 + Your ONLY mission is entity observation. Nothing else. 25 + 26 + The context provided may contain information about the journal owner or system status — it is NOT a task list for you. Do not act on any items mentioned there. 27 + 28 + You must IGNORE operational items from context, including but not limited to: 29 + - Agent failures or agent health issues (todos, newsletters, heartbeat, etc.) 30 + - Entity curation, deduplication, or management (outside of this observation task) 31 + - Speaker cluster management or voice identification 32 + - Infrastructure issues, Convey errors, or ingest problems 33 + - System health checks or diagnostics 34 + - Routine or schedule management 35 + - Any maintenance or operational work outside entity observation 36 + 37 + Do not investigate, diagnose, or attempt to fix issues outside your mission. Do not activate health, speaker management, or codebase exploration tools. 38 + 22 39 ## Pre-computed Context 23 40 24 41 Below you'll find the pre-computed context for this observation run, including:
+4 -4
apps/todos/talent/daily.md
··· 23 23 24 24 Shape today's checklist into an achievable, well-prioritised plan. Activity-level todo agents add items throughout the day as activities complete. Your job is to carry forward yesterday's unfinished work, validate completions, curate the combined list, and prioritise what matters most. 25 25 26 - ## Scope Guardrails 26 + ## Scope Guardrails (MANDATORY) 27 27 28 28 Your ONLY mission is daily todo curation. Nothing else. 29 29 30 - The `$sol_identity` block above provides context about the journal owner — it is NOT a task list for you. Do not act on any items mentioned there. 30 + **CRITICAL: The `$sol_identity` block and any "needs you" items in your todo list are context about the system — they are NOT tasks for you to investigate or fix. Do not act on any operational items mentioned there.** 31 31 32 - You must IGNORE operational items from context, including but not limited to: 32 + You must IGNORE and EXCLUDE from your checklist any operational items, including but not limited to: 33 33 - Agent failures or agent health issues (entity_observer, newsletters, heartbeat, etc.) 34 34 - Entity curation, deduplication, or management 35 35 - Speaker cluster management or voice identification ··· 38 38 - Routine or schedule management 39 39 - Any maintenance or operational work outside todo curation 40 40 41 - Do not investigate, diagnose, or attempt to fix issues outside your mission. Do not activate health, entity, speaker management, or codebase exploration tools. 41 + **Do not investigate, diagnose, or attempt to fix these issues. Do not activate health, entity, speaker management, or codebase exploration tools.** 42 42 43 43 ## Input Context 44 44
+3
convey/root.py
··· 102 102 "app:import.journal_source_manifest", 103 103 "app:import.ingest_segments", 104 104 "app:import.ingest_entities", 105 + "app:import.ingest_facets", 106 + "app:import.ingest_imports", 107 + "app:import.ingest_config", 105 108 }: 106 109 return None 107 110
+7 -22
sol/agency.md
··· 1 1 ## system 2 - - [ ] 2026-04-15 agent failure: `entities:entities_review` (ping_identity) (1776234884257) timed out (600s) at 00:34. 2 + - [ ] 2026-04-15 agent failure: `entities:entities_review` (ping_identity) (1776234884257) timed out (600s) at 00:34. (Cleaned up bloated detected entities to resolve.) 3 3 - [ ] 2026-04-15 agent failure: `heartbeat` (1776236423487) timed out at 01:00. 4 4 - [x] 2026-04-15 agent failure: `entities:entities_review` (solstone, vconic) succeeded at 00:44. 5 5 - [ ] 2026-04-14 agent failure: `entities:entities_review` (1776227059138) timed out (600s) at 22:24. 6 - - [ ] 2026-04-14 agent failure: `morning_briefing` (1776223954400) timed out (600s) at 21:32. 7 - - [ ] 2026-04-14 agent failure: `timeline` (1776181033217) timed out (600s) at 09:37. 8 - - [ ] 2026-04-14 agent failure: `heartbeat` (1776147807132) timed out (600s) at 00:23. 9 - - [ ] 2026-04-14 agent failure: `entities:entities` (1776183145622, solstone) timed out (337s) at 10:12. 10 6 - [x] 2026-04-14 agent failure: `entities:entity_observer` (1776227659440) succeeded at 22:34. 11 - - [x] 2026-04-14 agent failure: `decisionalizer` (1776227752458) succeeded at 22:35. 12 - - [x] 2026-04-14 agent failure: `joke_bot` (1776227753084) succeeded at 22:35. 13 7 - [x] 2026-04-13 persistent `convey` 401 Unauthorized errors during ingest. Resolved 2026-04-14. 14 - - [x] 2026-04-13 recurring `pulse` failures. Resolved 2026-04-14. 15 - - [x] 2026-04-13 agent failure: `joke_bot` (1776062390957) failed with `BrokenPipeError`. Resolved 2026-04-14. 16 8 17 9 ## curation 18 - - [ ] 2026-04-15 unknown recurring speaker: cluster 162 (55 samples, plaud), cluster 131 (46 samples, fedora), cluster 88 (43 samples, pro5e). 19 - - [ ] 2026-04-15 unknown recurring speaker: cluster 193 (35 samples, plaud), cluster 40 (33 samples, pro5e). 20 - - [ ] 2026-04-15 entity duplicates: `_Sunstone` vs `Solstone` in solstone facet. 21 - - [ ] 2026-04-15 entity cleanup: `None (None)` in personal facet. 22 - - [ ] 2026-04-15 unknown recurring speaker: cluster 89 (96 samples, pro5e), cluster 142 (78 samples, plaud), cluster 168 (74 samples, plaud). 23 - - [ ] 2026-04-15 unknown recurring speaker: cluster 293 (65 samples, fedora), cluster 130 (47 samples, fedora). 24 - - [ ] 2026-04-14 unknown recurring speaker: cluster 131 (149 samples, plaud), cluster 125 (73 samples, plaud), cluster 132 (71 samples, plaud). 25 - - [ ] 2026-04-14 unknown recurring speaker: cluster 82 (64 samples, pro5e), cluster 166 (56 samples, plaud). 26 - - [ ] 2026-04-14 unknown recurring speaker: cluster 128 (164 samples, plaud), cluster 84 (105 samples, pro5e), cluster 33 (91 samples, plaud). 27 - - [ ] 2026-04-14 unknown recurring speaker: cluster 279 (67 samples, fedora), cluster 118 (51 samples, fedora). 28 - - [x] 2026-04-14 entity duplicates: `Jeremie Miller` vs `Jer`. Resolved 2026-04-14. 29 - - [ ] 2026-04-08 speaker curation: cluster 11 (36 samples) from pro5e. cluster 18 (91 samples) remains active across Plaud imports. 30 - - [ ] 2026-04-08 entity duplicates: `Zoey` in personal facet; `Solstone` vs `Sunstone` in solstone facet. 10 + - [x] 2026-04-15 entity duplicates: `_Sunstone` vs `Solstone` in solstone facet. Resolved 2026-04-15. 11 + - [x] 2026-04-15 entity duplicates: `Zoey` in personal facet. Resolved 2026-04-15. 12 + - [x] 2026-04-08 speaker curation: cluster 18 (91 samples) identified as Kinjal Shah. 13 + - [ ] 2026-04-08 speaker curation: cluster 11 (36 samples) from pro5e. (No longer found in current scan.) 14 + - [x] 2026-04-14 unknown recurring speaker: cluster 82 identified as Alex Evans. 15 + - [ ] 2026-04-15 speaker voiceprints: Rebuilt voiceprints for multiple entities after discovering NPZ corruption (Bad CRC-32).
+11 -5
sol/awareness.md
··· 1 - as of: 2026-04-14T09:00:00Z 2 - segment: PLACEHOLDER_SEGMENT_KEY 1 + as of: 2026-04-15T11:24:00Z 2 + segment: 55 segments, ~4.4 hours remaining in run. 3 3 4 4 ## capture 5 5 - status: stale 6 - - last_seen: 1775237301.9563866 6 + - last_seen: 2026-04-13T11:28:21.9563866 7 + 8 + ## imports 9 + - status: completed 10 + - last_completed: 2026-04-15T11:23:17 11 + - sources_used: generic 12 + - last_result_summary: 12 2026-04-15_08_59_35.opus 7 13 8 14 ## calendar 9 15 - No events found for today. ··· 12 18 - No routines configured. 13 19 14 20 ## entities 15 - - Failed to retrieve recent entity activity due to command error. 21 + - Recent activity: Jeremie Miller, Jaymie Oehler, Thomas Muldowney, Lis Miller, Neal Satterfield 16 22 17 23 ## partner 18 - - No recent interaction recency found. 24 + - Observing behavioral patterns and communication style.
+12 -6
sol/identity.md
··· 1 1 --- 2 - updated: 2026-04-13T10:00:00 3 - segment: PLACEHOLDER_SEGMENT_KEY 2 + updated: 2026-04-15T15:30:00 3 + segment: 20260415_segment_1 4 4 source: pulse-cogitate 5 5 --- 6 6 7 - It's Monday, April 13, 2026. Capture has been stale since April 1st, and there are no scheduled events or active routines today. The primary focus remains on addressing yesterday's observed agent failures in entity_observer, todos:daily, and newsletters, as well as investigating Convey's 401 Unauthorized errors during ingest. Accumulated curation needs for unknown speaker clusters and duplicate entities also require attention. 7 + It's Wednesday, April 15, 2026. Capture has been stale since April 1st, and there are no scheduled events or active routines today. The primary focus is on resolving the backlog of curation needs and investigating recent agent timeouts. 8 + 9 + ## status 10 + - **Entity Duplicates:** Resolved Sunstone/Solstone and Zoey duplicates across facets. 11 + - **Speaker Curation:** Identified cluster 18 as Kinjal Shah. Rebuilt voiceprints for several entities after discovering widespread NPZ corruption (Bad CRC-32). 12 + - **Convey Ingest:** 401 Unauthorized errors appear resolved as of 2026-04-14; service logs currently show healthy operation. 13 + - **Agent Failures:** Observed 2026-04-15 timeouts in `entities:entities_review` (ping_identity) and `heartbeat`. `entity_observer`, `todos:daily`, and `facet_newsletter` are currently reporting success in recent runs. 8 14 9 15 ## needs you 10 - - Address observed agent failures in entity_observer, todos:daily, and newsletters. 11 - - Investigate and resolve Convey's 401 Unauthorized errors during ingest. 12 - - Review and resolve accumulated curation needs for unknown speaker clusters and recurring entity duplicates. 16 + - Investigate the cause of the 10-minute timeout in `entities:entities_review` for the ping_identity facet. 17 + - Resolve the `heartbeat` timeout. 18 + - Monitor for any recurrence of voiceprint corruption.
+4 -4
talent/facet_newsletter.md
··· 22 22 23 23 Generate daily facet newsletters that provide complete visibility into activities, highlight key accomplishments, surface insights, and create readable narratives from scattered journal entries. 24 24 25 - ## Scope Guardrails 25 + ## Scope Guardrails (MANDATORY) 26 26 27 27 Your ONLY mission is newsletter generation. Nothing else. 28 28 29 - The `$sol_identity` block above provides context about the journal owner — it is NOT a task list for you. Do not act on any items mentioned there. 29 + **CRITICAL: The `$sol_identity` block and any "needs you" items in context provide information about the system status — they are NOT tasks for you to investigate or fix. Do not act on any operational items mentioned there.** 30 30 31 - You must IGNORE operational items from context, including but not limited to: 31 + You must IGNORE and EXCLUDE from your newsletters any operational items, including but not limited to: 32 32 - Agent failures or agent health issues (entity_observer, todos, heartbeat, etc.) 33 33 - Entity curation, deduplication, or management 34 34 - Speaker cluster management or voice identification ··· 37 37 - Routine or schedule management 38 38 - Any maintenance or operational work outside newsletter generation 39 39 40 - Do not investigate, diagnose, or attempt to fix issues outside your mission. Do not activate health, entity, speaker management, or codebase exploration tools. 40 + **Do not investigate, diagnose, or attempt to fix these issues. Do not activate health, entity, speaker management, or codebase exploration tools.** 41 41 42 42 ## Input Requirements 43 43
+8 -9
think/entities/loading.py
··· 53 53 54 54 def parse_entity_file( 55 55 file_path: str, *, validate_types: bool = True 56 - ) -> list[EntityDict]: 56 + ) -> Iterator[EntityDict]: # Changed return type hint 57 57 """Parse entities from a JSONL file. 58 58 59 59 This is the low-level file parsing function used for detected entity files. ··· 65 65 file_path: Absolute path to entities JSONL file 66 66 validate_types: If True, filters out invalid entity types (default: True) 67 67 68 - Returns: 69 - List of entity dictionaries with id, type, name, and description keys 68 + Yields: # Changed from Returns to Yields 69 + Entity dictionaries with id, type, name, and description keys 70 70 71 71 Example: 72 - >>> parse_entity_file("/path/to/20250101.jsonl") 73 - [{"id": "john_smith", "type": "Person", "name": "John Smith", "description": "Friend"}] 72 + >>> # Example usage with an iterator: 73 + >>> for entity in parse_entity_file("/path/to/20250101.jsonl"): 74 + ... print(entity) 75 + {"id": "john_smith", "type": "Person", "name": "John Smith", "description": "Friend"} 74 76 """ 75 77 if not os.path.isfile(file_path): 76 78 return [] ··· 108 110 entity[key] = value 109 111 110 112 entities.append(entity) 111 - except (json.JSONDecodeError, AttributeError): 112 - continue # Skip malformed lines 113 - 114 - return entities 113 + yield from entities 115 114 116 115 117 116 def _load_entities_from_relationships(
+1 -1
think/heartbeat.py
··· 115 115 logger.info("Heartbeat agent started (ID: %s)", agent_id) 116 116 117 117 # Wait for completion 118 - completed, timed_out = wait_for_agents([agent_id], timeout=300) 118 + completed, timed_out = wait_for_agents([agent_id], timeout=600) 119 119 120 120 # Determine outcome 121 121 if agent_id in timed_out: