feat: RSO observation system, child safety, Discord adapter, Telegram watchdog, email attachments
Core agent improvements: - RSO (Relevance Scoring & Observation) system: interaction_logger, memory_scorer, signal_detector - Memory access logging (memory_access_log table) for relevance scoring; high-signal turn detection - Rich conversation storage for notable turns; compact_conversation truncates long user messages - Task-type classifier (query/action/analysis/creative) for observation tagging - Nested sub-agent visibility: deep delegations now register against the main agent's manager Child safety (Gabriel profile): - child_safety.py: filtering, audit logging, prompt constants for restricted sessions - .kiro/specs/child-safety-profile: requirements, design, tasks specs - GABRIEL_BOT_PROPOSAL.md: initial proposal doc - Reduced context window (10 msgs) and tutor-mode identity for restricted users Telegram adapter: - Polling watchdog: auto-restarts updater if polling drops unexpectedly - get_me() with exponential-backoff retry on NetworkError at startup - Correct stop() ordering: signal watchdog before cancelling tasks Email / Gmail: - send_email: supports file attachments (attachments list param) - get_email: surfaces attachment metadata in response Scheduled tasks / weather: - Remove OpenWeatherMap API calls from morning-weather task; use wttr.in exclusively - New scheduled tasks and scheduler state persistence Discord: - adapters/discord/__init__.py scaffold - discord-plugin: MCP plugin for Claude Code Discord integration (server.ts, skills, config) Infrastructure: - n8n workflow exports (garvis_webhook, content_pipeline variants) - memory_workspace: context, homelab-repo-updates, weekly observation summaries, error logs - UCS C240 migration plan doc - requirements.txt: new deps - .claude/settings.json, fix_hooks.py: hook/permission tuning
This commit is contained in:
2
memory_workspace/observation/errors/2026-04-02.jsonl
Normal file
2
memory_workspace/observation/errors/2026-04-02.jsonl
Normal file
@@ -0,0 +1,2 @@
|
||||
{"record_type": "error", "timestamp": "2026-04-02T18:47:30.201926", "error_type": "Exception", "message": "Agent SDK error: Task timed out after 30 minutes (165 messages processed)\nLast tool used: mcp__file_system__run_command\nUsed 14 different tools - this is a complex multi-step task\n\nSuggestions:\n- Break this into smaller, focused sub-tasks\n- Use 'delegate_task' tool to run parts in parallel\n- Ask me to retry with a more specific scope", "component": "agent.py:_chat_agent_sdk", "intent": "Calling Agent SDK for chat response", "attempt": 1, "context": {"model": "claude-sonnet-4-6", "message_preview": " Double check the code for the vuln triage page. We did implement some of tier 2 already for some ti"}, "self_healed": false}
|
||||
{"record_type": "error", "timestamp": "2026-04-02T19:21:05.441930", "error_type": "Exception", "message": "Agent SDK error: Task timed out after 30 minutes (74 messages processed)\nLast tool used: mcp__file_system__delegate_task\nUsed 5 different tools - this is a complex multi-step task\n\nSuggestions:\n- Break this into smaller, focused sub-tasks\n- Use 'delegate_task' tool to run parts in parallel\n- Ask me to retry with a more specific scope", "component": "agent.py:_chat_agent_sdk", "intent": "Calling Agent SDK for chat response", "attempt": 1, "context": {"model": "claude-sonnet-4-6", "message_preview": "Where did you leave off"}, "self_healed": false}
|
||||
2
memory_workspace/observation/errors/2026-04-03.jsonl
Normal file
2
memory_workspace/observation/errors/2026-04-03.jsonl
Normal file
@@ -0,0 +1,2 @@
|
||||
{"record_type": "error", "timestamp": "2026-04-03T16:55:30.138074", "error_type": "Exception", "message": "Agent SDK error: Task timed out after 30 minutes (83 messages processed)\nLast tool used: WebFetch\nUsed 6 different tools - this is a complex multi-step task\n\nSuggestions:\n- Break this into smaller, focused sub-tasks\n- Use 'delegate_task' tool to run parts in parallel\n- Ask me to retry with a more specific scope", "component": "agent.py:_chat_agent_sdk", "intent": "Calling Agent SDK for chat response", "attempt": 1, "context": {"model": "claude-sonnet-4-6", "message_preview": "On this pc im running Apollo to stream my games to my rog ally x running moonlight. Can you look. Th"}, "self_healed": false}
|
||||
{"record_type": "error", "timestamp": "2026-04-03T20:35:44.911424", "error_type": "Exception", "message": "Agent SDK error: Task timed out after 30 minutes (11 messages processed)\nLast tool used: WebFetch\n\nSuggestions:\n- Break this into smaller, focused sub-tasks\n- Use 'delegate_task' tool to run parts in parallel\n- Ask me to retry with a more specific scope", "component": "agent.py:_chat_agent_sdk", "intent": "Calling Agent SDK for chat response", "attempt": 1, "context": {"model": "claude-sonnet-4-6", "message_preview": "bumping up my budget, take your recommendation and analyze it against 45 Inch UltraGear™ evo OLED 5K"}, "self_healed": false}
|
||||
4
memory_workspace/observation/errors/2026-04-04.jsonl
Normal file
4
memory_workspace/observation/errors/2026-04-04.jsonl
Normal file
@@ -0,0 +1,4 @@
|
||||
{"record_type": "error", "timestamp": "2026-04-04T08:51:14.521734", "error_type": "Exception", "message": "Agent SDK error: Task timed out after 30 minutes (13 messages processed)\nLast tool used: WebFetch\n\nSuggestions:\n- Break this into smaller, focused sub-tasks\n- Use 'delegate_task' tool to run parts in parallel\n- Ask me to retry with a more specific scope", "component": "agent.py:_chat_agent_sdk", "intent": "Calling Agent SDK for chat response", "attempt": 1, "context": {"model": "claude-sonnet-4-6", "message_preview": "I get a message in moonlight that says hardware or host on gpu doesn't support av1 when I connect fr"}, "self_healed": false}
|
||||
{"record_type": "error", "timestamp": "2026-04-04T09:48:16.090042", "error_type": "Exception", "message": "Agent SDK error: Task timed out after 30 minutes (14 messages processed)\nLast tool used: WebFetch\n\nSuggestions:\n- Break this into smaller, focused sub-tasks\n- Use 'delegate_task' tool to run parts in parallel\n- Ask me to retry with a more specific scope", "component": "agent.py:_chat_agent_sdk", "intent": "Calling Agent SDK for chat response", "attempt": 1, "context": {"model": "claude-sonnet-4-6", "message_preview": "yes please. Whats the difference between sunshine and apollo"}, "self_healed": false}
|
||||
{"record_type": "error", "timestamp": "2026-04-04T10:49:25.419527", "error_type": "Exception", "message": "Agent SDK error: Task timed out after 30 minutes (9 messages processed)\nLast tool used: WebFetch\n\nSuggestions:\n- Break this into smaller, focused sub-tasks\n- Use 'delegate_task' tool to run parts in parallel\n- Ask me to retry with a more specific scope", "component": "agent.py:_chat_agent_sdk", "intent": "Calling Agent SDK for chat response", "attempt": 1, "context": {"model": "claude-sonnet-4-6", "message_preview": "is there a way we could configure a virtual display in sunshine manually together?"}, "self_healed": false}
|
||||
{"record_type": "error", "timestamp": "2026-04-04T11:28:12.286350", "error_type": "Exception", "message": "Agent SDK error: Command failed with exit code 3221225786 (exit code: 3221225786)\nError output: Check stderr output for details", "component": "agent.py:_chat_agent_sdk", "intent": "Calling Agent SDK for chat response", "attempt": 1, "context": {"model": "claude-sonnet-4-6", "message_preview": "is there a way we could configure a virtual display in sunshine manually together?"}, "self_healed": false}
|
||||
1
memory_workspace/observation/errors/2026-04-08.jsonl
Normal file
1
memory_workspace/observation/errors/2026-04-08.jsonl
Normal file
@@ -0,0 +1 @@
|
||||
{"record_type": "error", "timestamp": "2026-04-08T22:06:53.850809", "error_type": "Exception", "message": "Agent SDK error: Task timed out after 30 minutes (39 messages processed)\nLast tool used: TodoWrite\nUsed 5 different tools - this is a complex multi-step task\n\nSuggestions:\n- Break this into smaller, focused sub-tasks\n- Use 'delegate_task' tool to run parts in parallel\n- Ask me to retry with a more specific scope", "component": "agent.py:_chat_agent_sdk", "intent": "Calling Agent SDK for chat response", "attempt": 1, "context": {"model": "claude-sonnet-4-6", "message_preview": "can you go through the loki logs, specifically for network 192.168.2.0/24 and take an inventory of t"}, "self_healed": false}
|
||||
4
memory_workspace/observation/errors/2026-04-21.jsonl
Normal file
4
memory_workspace/observation/errors/2026-04-21.jsonl
Normal file
@@ -0,0 +1,4 @@
|
||||
{"record_type": "error", "timestamp": "2026-04-21T18:16:49.928431", "error_type": "Exception", "message": "Agent SDK error: Task timed out after 30 minutes (16 messages processed)\nLast tool used: Read\nUsed 4 different tools - this is a complex multi-step task\n\nSuggestions:\n- Break this into smaller, focused sub-tasks\n- Use 'delegate_task' tool to run parts in parallel\n- Ask me to retry with a more specific scope", "component": "agent.py:_chat_agent_sdk", "intent": "Calling Agent SDK for chat response", "attempt": 1, "context": {"model": "claude-sonnet-4-6", "message_preview": "I just send you an email. Download those attachments and analyze the DAP 4.8 file"}, "self_healed": false}
|
||||
{"record_type": "error", "timestamp": "2026-04-21T18:56:25.822252", "error_type": "Exception", "message": "Agent SDK error: Task timed out after 30 minutes (16 messages processed)\nLast tool used: Read\nUsed 4 different tools - this is a complex multi-step task\n\nSuggestions:\n- Break this into smaller, focused sub-tasks\n- Use 'delegate_task' tool to run parts in parallel\n- Ask me to retry with a more specific scope", "component": "agent.py:_chat_agent_sdk", "intent": "Calling Agent SDK for chat response", "attempt": 2, "context": {"model": "claude-sonnet-4-6", "message_preview": "Did you download the attachments"}, "self_healed": false}
|
||||
{"record_type": "error", "timestamp": "2026-04-21T20:22:15.303985", "error_type": "Exception", "message": "Agent SDK error: Task timed out after 30 minutes (11 messages processed)\nLast tool used: WebFetch\n\nSuggestions:\n- Break this into smaller, focused sub-tasks\n- Use 'delegate_task' tool to run parts in parallel\n- Ask me to retry with a more specific scope", "component": "agent.py:_chat_agent_sdk", "intent": "Calling Agent SDK for chat response", "attempt": 1, "context": {"model": "claude-sonnet-4-6", "message_preview": "So let's go over the dividend being not guaranteed. Given the companies a+ rating can you give me a "}, "self_healed": false}
|
||||
{"record_type": "error", "timestamp": "2026-04-21T20:52:15.705546", "error_type": "Exception", "message": "Agent SDK error: Task timed out after 30 minutes (14 messages processed)\nLast tool used: WebFetch\nUsed 4 different tools - this is a complex multi-step task\n\nSuggestions:\n- Break this into smaller, focused sub-tasks\n- Use 'delegate_task' tool to run parts in parallel\n- Ask me to retry with a more specific scope", "component": "agent.py:_chat_agent_sdk", "intent": "Calling Agent SDK for chat response", "attempt": 1, "context": {"model": "claude-sonnet-4-6", "message_preview": "Time for your daily zettelkasten review! Help Jordan process fleeting notes:\n\n1. Use search_by_tags "}, "self_healed": false}
|
||||
Reference in New Issue
Block a user