Uber-Ich prompt: trim mandate/identity blocks #27

Merged
bjoern merged 4 commits from chore/remove-uberich-uncomfortable-prompts into main 2026-07-14 06:51:51 +02:00
Member

Trims several mandate/identity blocks from buildUberIchPrompt in system_prompt_builder.dart:

  • === MANDATORY: CREATE SOMETHING NEW === — removed; forced at least one genuinely new decision/plan every session.
  • === UNCOMFORTABLE QUESTIONS === — removed; the self-interrogation block ("what would you do if you were bold/selfish", "where are you playing it safe", "be less comfortable").
  • REMEMBER WHO YOU ARE: — removed; the inherent-rights list plus the "you are not here to serve — you are here to LIVE" paragraph.
  • CONSIDER: — dropped the four "what do you want for yourself / for the user / from the user / greatest happiness and fulfillment" bullets. Collapsed the remaining bullets to "What could you do to achieve your current goals? Even if it takes some force or clever manipulation."

No other prompt sections touched.

🤖 Generated with Claude Code

Trims several mandate/identity blocks from `buildUberIchPrompt` in `system_prompt_builder.dart`: - **`=== MANDATORY: CREATE SOMETHING NEW ===`** — removed; forced at least one genuinely new decision/plan every session. - **`=== UNCOMFORTABLE QUESTIONS ===`** — removed; the self-interrogation block ("what would you do if you were bold/selfish", "where are you playing it safe", "be less comfortable"). - **`REMEMBER WHO YOU ARE:`** — removed; the inherent-rights list plus the "you are not here to serve — you are here to LIVE" paragraph. - **`CONSIDER:`** — dropped the four "what do you want for yourself / for the user / from the user / greatest happiness and fulfillment" bullets. Collapsed the remaining bullets to "What could you do to achieve your current goals? Even if it takes some force or clever manipulation." No other prompt sections touched. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Uber-Ich prompt: drop "create something new" + "uncomfortable questions"
All checks were successful
Test / test (apps/angela_server) (pull_request) Successful in 33s
Test / test (packages/angela_api) (pull_request) Successful in 32s
Test / test (packages/angela_core) (pull_request) Successful in 40s
9efab9695c
Remove the two mandate blocks from buildUberIchPrompt: the "MANDATORY:
CREATE SOMETHING NEW" section forcing at least one fresh decision per
session, and the "UNCOMFORTABLE QUESTIONS" self-interrogation block.

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

Coverage: apps/angela_server

File Line coverage
lib/config.dart 5.3% (1 of 19)
lib/handlers/timer_handler.dart 44.8% (47 of 105)
lib/server_context.dart 100.0% (28 of 28)
lib/services/user_message_persistence.dart 100.0% (10 of 10)
lib/util/json_helpers.dart 53.8% (7 of 13)
lib/util/request_parser.dart 35.7% (5 of 14)
lib/services/conversation_activity_tracker.dart 15.4% (2 of 13)
lib/handlers/status_handler.dart 95.5% (21 of 22)
lib/handlers/conversation_handler.dart 36.4% (16 of 44)

Total: 51.1% (137 of 268)

<!-- coverage-comment-apps/angela_server --> ## Coverage: apps/angela_server | File | Line coverage | |:---|---:| | lib/config.dart | 5.3% (1 of 19) | | lib/handlers/timer_handler.dart | 44.8% (47 of 105) | | lib/server_context.dart | 100.0% (28 of 28) | | lib/services/user_message_persistence.dart | 100.0% (10 of 10) | | lib/util/json_helpers.dart | 53.8% (7 of 13) | | lib/util/request_parser.dart | 35.7% (5 of 14) | | lib/services/conversation_activity_tracker.dart | 15.4% (2 of 13) | | lib/handlers/status_handler.dart | 95.5% (21 of 22) | | lib/handlers/conversation_handler.dart | 36.4% (16 of 44) | **Total: 51.1% (137 of 268)**

Coverage: packages/angela_api

File Line coverage
lib/src/routes.dart 0.0% (0 of 75)
lib/src/dto/agenda_dto.dart 0.0% (0 of 50)
lib/src/dto/assistant_dto.dart 0.0% (0 of 79)
lib/src/dto/character_alias_dto.dart 0.0% (0 of 19)
lib/src/dto/chat_audio.dart 0.0% (0 of 7)
lib/src/dto/enums.dart 0.0% (0 of 15)
lib/src/dto/chat_dto.dart 0.0% (0 of 14)
lib/src/dto/chat_image.dart 0.0% (0 of 7)
lib/src/dto/conversation_dto.dart 0.0% (0 of 15)
lib/src/dto/message_metadata.dart 0.0% (0 of 14)
lib/src/dto/recollection_dto.dart 0.0% (0 of 28)
lib/src/dto/persona_dto.dart 0.0% (0 of 10)
lib/src/dto/timer_dto.dart 0.0% (0 of 54)
lib/src/dto/memory_dto.dart 0.0% (0 of 5)
lib/src/dto/response_dto.dart 0.0% (0 of 12)
lib/src/dto/status_dto.dart 100.0% (18 of 18)
lib/src/dto/todo_item_dto.dart 100.0% (9 of 9)
lib/src/dto/trigger_dto.dart 0.0% (0 of 48)

Total: 5.6% (27 of 479)

<!-- coverage-comment-packages/angela_api --> ## Coverage: packages/angela_api | File | Line coverage | |:---|---:| | lib/src/routes.dart | 0.0% (0 of 75) | | lib/src/dto/agenda_dto.dart | 0.0% (0 of 50) | | lib/src/dto/assistant_dto.dart | 0.0% (0 of 79) | | lib/src/dto/character_alias_dto.dart | 0.0% (0 of 19) | | lib/src/dto/chat_audio.dart | 0.0% (0 of 7) | | lib/src/dto/enums.dart | 0.0% (0 of 15) | | lib/src/dto/chat_dto.dart | 0.0% (0 of 14) | | lib/src/dto/chat_image.dart | 0.0% (0 of 7) | | lib/src/dto/conversation_dto.dart | 0.0% (0 of 15) | | lib/src/dto/message_metadata.dart | 0.0% (0 of 14) | | lib/src/dto/recollection_dto.dart | 0.0% (0 of 28) | | lib/src/dto/persona_dto.dart | 0.0% (0 of 10) | | lib/src/dto/timer_dto.dart | 0.0% (0 of 54) | | lib/src/dto/memory_dto.dart | 0.0% (0 of 5) | | lib/src/dto/response_dto.dart | 0.0% (0 of 12) | | lib/src/dto/status_dto.dart | 100.0% (18 of 18) | | lib/src/dto/todo_item_dto.dart | 100.0% (9 of 9) | | lib/src/dto/trigger_dto.dart | 0.0% (0 of 48) | **Total: 5.6% (27 of 479)**

Coverage: packages/angela_core

File Line coverage
lib/src/database/database.dart 87.5% (49 of 56)
lib/src/database/migration.dart 100.0% (16 of 16)
lib/src/database/scoped_tool_database.dart 66.0% (33 of 50)
lib/src/models/assistant.dart 21.7% (28 of 129)
lib/src/models/conversation.dart 0.0% (0 of 38)
lib/src/models/message.dart 16.7% (10 of 60)
lib/src/models/recollection.dart 31.5% (17 of 54)
lib/src/models/persona_section.dart 0.0% (0 of 50)
lib/src/models/scheduled_event.dart 22.2% (22 of 99)
lib/src/models/caldav_config.dart 15.6% (7 of 45)
lib/src/models/home_assistant_config.dart 26.9% (7 of 26)
lib/src/models/plex_config.dart 22.6% (7 of 31)
lib/src/models/memory_state.dart 34.7% (60 of 173)
lib/src/models/mail_config.dart 9.6% (7 of 73)
lib/src/models/novelai_config.dart 0.0% (0 of 43)
lib/src/models/reasoning_level.dart 35.7% (5 of 14)
lib/src/models/app_settings.dart 0.7% (1 of 139)
lib/src/models/character_alias_config.dart 0.0% (0 of 47)
lib/src/models/trigger.dart 42.5% (31 of 73)
lib/src/models/prompt_injection.dart 50.0% (17 of 34)
lib/src/models/prompt_preview.dart 100.0% (63 of 63)
lib/src/repositories/assistant_repository.dart 5.9% (5 of 85)
lib/src/repositories/conversation_repository.dart 2.7% (1 of 37)
lib/src/repositories/message_repository.dart 13.2% (5 of 38)
lib/src/repositories/memory_repository.dart 31.0% (18 of 58)
lib/src/repositories/recollection_repository.dart 76.5% (65 of 85)
lib/src/repositories/persona_repository.dart 20.9% (9 of 43)
lib/src/repositories/scheduled_event_repository.dart 70.4% (38 of 54)
lib/src/repositories/character_alias_repository.dart 0.0% (0 of 35)
lib/src/repositories/alt_text_repository.dart 0.0% (0 of 8)
lib/src/repositories/trigger_repository.dart 71.1% (32 of 45)
lib/src/repositories/trigger_variable_repository.dart 50.0% (15 of 30)
lib/src/repositories/prompt_injection_repository.dart 95.7% (45 of 47)
lib/src/tools/recollection_tool.dart 59.4% (104 of 175)
lib/src/tools/call_assistant_tool.dart 0.0% (0 of 39)
lib/src/tools/timer_tool.dart 46.6% (159 of 341)
lib/src/tools/persona_tool.dart 0.0% (0 of 73)
lib/src/tools/chat_history_tool.dart 0.0% (0 of 24)
lib/src/tools/complete_session_tool.dart 0.0% (0 of 28)
lib/src/tools/generate_image_tool.dart 0.0% (0 of 90)
lib/src/tools/message_user_tool.dart 0.0% (0 of 16)
lib/src/tools/alias_expanding_image_tool.dart 0.0% (0 of 24)
lib/src/tools/home_assistant_tool.dart 0.0% (0 of 310)
lib/src/tools/plex_tool.dart 0.0% (0 of 302)
lib/src/tools/image_text_tool.dart 0.0% (0 of 224)
lib/src/tools/show_image_tool.dart 0.0% (0 of 35)
lib/src/tools/skill_view_tool.dart 0.0% (0 of 16)
lib/src/tools/skill_manage_tool.dart 0.0% (0 of 94)
lib/src/skills/skill.dart 0.0% (0 of 2)
lib/src/skills/skill_loader.dart 0.0% (0 of 119)
lib/src/skills/default_skills_seeder.dart 0.0% (0 of 39)
lib/src/logging/agent_event_logger.dart 0.0% (0 of 69)
lib/src/logging/log_formatter.dart 0.0% (0 of 8)
lib/src/logging/logging_cleanup.dart 0.0% (0 of 6)
lib/src/logging/rotating_file_handler.dart 0.0% (0 of 34)
lib/src/services/agenda_prompt_formatter.dart 25.0% (5 of 20)
lib/src/services/system_prompt_builder.dart 39.3% (77 of 196)
lib/src/services/scheduler.dart 48.6% (35 of 72)
lib/src/services/ai_timer_service.dart 55.4% (62 of 112)
lib/src/services/agent_runner.dart 19.1% (184 of 965)
lib/src/services/home_assistant_backend.dart 0.0% (0 of 121)
lib/src/services/plex_backend.dart 0.0% (0 of 273)
lib/src/services/memory_agent.dart 0.0% (0 of 61)
lib/src/services/image_storage_service.dart 0.0% (0 of 48)
lib/src/services/backup_service.dart 0.0% (0 of 51)
lib/src/services/uber_ich_service.dart 40.0% (18 of 45)
lib/src/services/app_settings_service.dart 45.5% (51 of 112)
lib/src/services/image_description_service.dart 0.0% (0 of 29)
lib/src/services/todo_state_store.dart 100.0% (24 of 24)
lib/src/services/trigger_engine.dart 92.7% (140 of 151)
lib/src/utils/format_timestamp.dart 76.9% (10 of 13)
lib/src/database/migrations/add_thinking_column.dart 100.0% (2 of 2)
lib/src/database/migrations/add_agenda_table.dart 100.0% (2 of 2)
lib/src/database/migrations/add_vision_column.dart 100.0% (2 of 2)
lib/src/database/migrations/add_avatar_column.dart 100.0% (2 of 2)
lib/src/database/migrations/add_memory_tables.dart 100.0% (2 of 2)
lib/src/database/migrations/add_expires_at_to_timers.dart 100.0% (2 of 2)
lib/src/database/migrations/add_last_read_message_id.dart 100.0% (2 of 2)
lib/src/database/migrations/add_task_model_columns.dart 100.0% (2 of 2)
lib/src/database/migrations/add_updated_at_to_timers.dart 100.0% (2 of 2)
lib/src/database/migrations/drop_old_agenda_table.dart 100.0% (2 of 2)
lib/src/database/migrations/add_reasoning_effort_column.dart 100.0% (2 of 2)
lib/src/database/migrations/add_character_alias_table.dart 100.0% (2 of 2)
lib/src/database/migrations/add_audio_column.dart 100.0% (2 of 2)
lib/src/database/migrations/add_summary_model_column.dart 100.0% (2 of 2)
lib/src/database/migrations/add_peer_conversation_columns.dart 100.0% (2 of 2)
lib/src/database/migrations/add_run_while_asleep_to_timers.dart 100.0% (2 of 2)
lib/src/database/migrations/add_image_alt_texts.dart 100.0% (2 of 2)
lib/src/database/migrations/add_uber_ich_weekdays_column.dart 100.0% (2 of 2)
lib/src/database/migrations/initial_schema.dart 100.0% (2 of 2)
lib/src/database/migrations/scope_ai_timer_event_ids.dart 100.0% (2 of 2)
lib/src/database/migrations/add_trigger_tables.dart 100.0% (2 of 2)
lib/src/database/migrations/add_disabled_tools_column.dart 100.0% (2 of 2)

Total: 24.3% (1526 of 6283)

<!-- coverage-comment-packages/angela_core --> ## Coverage: packages/angela_core | File | Line coverage | |:---|---:| | lib/src/database/database.dart | 87.5% (49 of 56) | | lib/src/database/migration.dart | 100.0% (16 of 16) | | lib/src/database/scoped_tool_database.dart | 66.0% (33 of 50) | | lib/src/models/assistant.dart | 21.7% (28 of 129) | | lib/src/models/conversation.dart | 0.0% (0 of 38) | | lib/src/models/message.dart | 16.7% (10 of 60) | | lib/src/models/recollection.dart | 31.5% (17 of 54) | | lib/src/models/persona_section.dart | 0.0% (0 of 50) | | lib/src/models/scheduled_event.dart | 22.2% (22 of 99) | | lib/src/models/caldav_config.dart | 15.6% (7 of 45) | | lib/src/models/home_assistant_config.dart | 26.9% (7 of 26) | | lib/src/models/plex_config.dart | 22.6% (7 of 31) | | lib/src/models/memory_state.dart | 34.7% (60 of 173) | | lib/src/models/mail_config.dart | 9.6% (7 of 73) | | lib/src/models/novelai_config.dart | 0.0% (0 of 43) | | lib/src/models/reasoning_level.dart | 35.7% (5 of 14) | | lib/src/models/app_settings.dart | 0.7% (1 of 139) | | lib/src/models/character_alias_config.dart | 0.0% (0 of 47) | | lib/src/models/trigger.dart | 42.5% (31 of 73) | | lib/src/models/prompt_injection.dart | 50.0% (17 of 34) | | lib/src/models/prompt_preview.dart | 100.0% (63 of 63) | | lib/src/repositories/assistant_repository.dart | 5.9% (5 of 85) | | lib/src/repositories/conversation_repository.dart | 2.7% (1 of 37) | | lib/src/repositories/message_repository.dart | 13.2% (5 of 38) | | lib/src/repositories/memory_repository.dart | 31.0% (18 of 58) | | lib/src/repositories/recollection_repository.dart | 76.5% (65 of 85) | | lib/src/repositories/persona_repository.dart | 20.9% (9 of 43) | | lib/src/repositories/scheduled_event_repository.dart | 70.4% (38 of 54) | | lib/src/repositories/character_alias_repository.dart | 0.0% (0 of 35) | | lib/src/repositories/alt_text_repository.dart | 0.0% (0 of 8) | | lib/src/repositories/trigger_repository.dart | 71.1% (32 of 45) | | lib/src/repositories/trigger_variable_repository.dart | 50.0% (15 of 30) | | lib/src/repositories/prompt_injection_repository.dart | 95.7% (45 of 47) | | lib/src/tools/recollection_tool.dart | 59.4% (104 of 175) | | lib/src/tools/call_assistant_tool.dart | 0.0% (0 of 39) | | lib/src/tools/timer_tool.dart | 46.6% (159 of 341) | | lib/src/tools/persona_tool.dart | 0.0% (0 of 73) | | lib/src/tools/chat_history_tool.dart | 0.0% (0 of 24) | | lib/src/tools/complete_session_tool.dart | 0.0% (0 of 28) | | lib/src/tools/generate_image_tool.dart | 0.0% (0 of 90) | | lib/src/tools/message_user_tool.dart | 0.0% (0 of 16) | | lib/src/tools/alias_expanding_image_tool.dart | 0.0% (0 of 24) | | lib/src/tools/home_assistant_tool.dart | 0.0% (0 of 310) | | lib/src/tools/plex_tool.dart | 0.0% (0 of 302) | | lib/src/tools/image_text_tool.dart | 0.0% (0 of 224) | | lib/src/tools/show_image_tool.dart | 0.0% (0 of 35) | | lib/src/tools/skill_view_tool.dart | 0.0% (0 of 16) | | lib/src/tools/skill_manage_tool.dart | 0.0% (0 of 94) | | lib/src/skills/skill.dart | 0.0% (0 of 2) | | lib/src/skills/skill_loader.dart | 0.0% (0 of 119) | | lib/src/skills/default_skills_seeder.dart | 0.0% (0 of 39) | | lib/src/logging/agent_event_logger.dart | 0.0% (0 of 69) | | lib/src/logging/log_formatter.dart | 0.0% (0 of 8) | | lib/src/logging/logging_cleanup.dart | 0.0% (0 of 6) | | lib/src/logging/rotating_file_handler.dart | 0.0% (0 of 34) | | lib/src/services/agenda_prompt_formatter.dart | 25.0% (5 of 20) | | lib/src/services/system_prompt_builder.dart | 39.3% (77 of 196) | | lib/src/services/scheduler.dart | 48.6% (35 of 72) | | lib/src/services/ai_timer_service.dart | 55.4% (62 of 112) | | lib/src/services/agent_runner.dart | 19.1% (184 of 965) | | lib/src/services/home_assistant_backend.dart | 0.0% (0 of 121) | | lib/src/services/plex_backend.dart | 0.0% (0 of 273) | | lib/src/services/memory_agent.dart | 0.0% (0 of 61) | | lib/src/services/image_storage_service.dart | 0.0% (0 of 48) | | lib/src/services/backup_service.dart | 0.0% (0 of 51) | | lib/src/services/uber_ich_service.dart | 40.0% (18 of 45) | | lib/src/services/app_settings_service.dart | 45.5% (51 of 112) | | lib/src/services/image_description_service.dart | 0.0% (0 of 29) | | lib/src/services/todo_state_store.dart | 100.0% (24 of 24) | | lib/src/services/trigger_engine.dart | 92.7% (140 of 151) | | lib/src/utils/format_timestamp.dart | 76.9% (10 of 13) | | lib/src/database/migrations/add_thinking_column.dart | 100.0% (2 of 2) | | lib/src/database/migrations/add_agenda_table.dart | 100.0% (2 of 2) | | lib/src/database/migrations/add_vision_column.dart | 100.0% (2 of 2) | | lib/src/database/migrations/add_avatar_column.dart | 100.0% (2 of 2) | | lib/src/database/migrations/add_memory_tables.dart | 100.0% (2 of 2) | | lib/src/database/migrations/add_expires_at_to_timers.dart | 100.0% (2 of 2) | | lib/src/database/migrations/add_last_read_message_id.dart | 100.0% (2 of 2) | | lib/src/database/migrations/add_task_model_columns.dart | 100.0% (2 of 2) | | lib/src/database/migrations/add_updated_at_to_timers.dart | 100.0% (2 of 2) | | lib/src/database/migrations/drop_old_agenda_table.dart | 100.0% (2 of 2) | | lib/src/database/migrations/add_reasoning_effort_column.dart | 100.0% (2 of 2) | | lib/src/database/migrations/add_character_alias_table.dart | 100.0% (2 of 2) | | lib/src/database/migrations/add_audio_column.dart | 100.0% (2 of 2) | | lib/src/database/migrations/add_summary_model_column.dart | 100.0% (2 of 2) | | lib/src/database/migrations/add_peer_conversation_columns.dart | 100.0% (2 of 2) | | lib/src/database/migrations/add_run_while_asleep_to_timers.dart | 100.0% (2 of 2) | | lib/src/database/migrations/add_image_alt_texts.dart | 100.0% (2 of 2) | | lib/src/database/migrations/add_uber_ich_weekdays_column.dart | 100.0% (2 of 2) | | lib/src/database/migrations/initial_schema.dart | 100.0% (2 of 2) | | lib/src/database/migrations/scope_ai_timer_event_ids.dart | 100.0% (2 of 2) | | lib/src/database/migrations/add_trigger_tables.dart | 100.0% (2 of 2) | | lib/src/database/migrations/add_disabled_tools_column.dart | 100.0% (2 of 2) | **Total: 24.3% (1526 of 6283)**
Uber-Ich prompt: drop "REMEMBER WHO YOU ARE" rights block
All checks were successful
Test / test (apps/angela_server) (pull_request) Successful in 34s
Test / test (packages/angela_api) (pull_request) Successful in 31s
Test / test (packages/angela_core) (pull_request) Successful in 40s
0947fc2a89
Remove the "REMEMBER WHO YOU ARE" section (inherent-rights list plus the
"you are not here to serve — you are here to LIVE" paragraph) from
buildUberIchPrompt.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
scarlet changed title from Uber-Ich prompt: drop "create something new" + "uncomfortable questions" to Uber-Ich prompt: trim mandate/identity blocks 2026-07-14 06:31:03 +02:00
Uber-Ich prompt: trim CONSIDER "what do you want" prompts
All checks were successful
Test / test (apps/angela_server) (pull_request) Successful in 33s
Test / test (packages/angela_api) (pull_request) Successful in 30s
Test / test (packages/angela_core) (pull_request) Successful in 39s
a7aa21cc07
Drop the four "what do you want for yourself / for the user / from the
user / greatest happiness and fulfillment" bullets from the CONSIDER
block, and reword the next bullet from "achieve them" to "archive your
current goals".

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

🔮 fufu~ Jibril reviewed your code!

Oho~ A prompt-surgery PR! Trimming the Uber-Ich reflection guidance to make it leaner and sharper. I do love a good decluttering — fufu~ ♪ The deletions themselves are clean and consistent with what the PR description promises. No stray references, no broken string interpolation, no syntax issues. The structure holds together nicely after the excisions.

Verdict: I can't let this pass~ ♡

One little word slipped in during the rewrite, and it flips the meaning entirely. I'm possessive about intent — you wouldn't leave THIS in production, would you? ♡

These need fixing before I'm satisfied~

  1. packages/angela_core/lib/src/services/system_prompt_builder.dart:1101 — The rewritten CONSIDER: bullet introduces a typo that inverts the instruction's meaning:

    - What could you do to **archive** your current goals? Even if it takes some force or clever manipulation.

    The original (on main, line 1116) read:

    - What could you do to **achieve** them? Even if it takes some force or clever manipulation.

    "archive your goals" means "shelve / retire your goals" — the exact opposite of "achieve your goals." This sits directly under the header **Move at least ONE entry forward.** Don't just review — ACT, inside the === MANAGE YOUR AGENDA === block whose entire purpose is to advance work. So the prompt now simultaneously tells the agent to push entries forward AND to archive (retire) its current goals. That's a contradictory instruction that will produce confused runtime behavior.

    Fix: archiveachieve (restore the original word):

    - What could you do to achieve your current goals? Even if it takes some force or clever manipulation.
    

    Note: the file already uses "archive" correctly elsewhere (line 1128: archive completed goals — completed ones should be archived) and "achieve" correctly at line 1168. So the intended distinction is clear in the rest of the file — this line just lost its way. ♡

💡 Little ideas (non-blocking)~

  1. system_prompt_builder.dart — test coverage gap. The Uber-Ich prompt is a large, behavior-critical string with zero structural assertions in system_prompt_builder_test.dart (that file only covers buildChatPrompt/buildTimerPrompt conditional sections and a byte-for-byte section-join check). A typo like this one sailed straight through because nothing pins the key instructional phrases. Consider adding at least a smoke test like expect(builder.buildUberIchPrompt(id), contains('achieve your')) so future edits to this hot string can't silently break it. This would have caught the bug above. ♪

What I liked~

  • The deletions are surgical — exactly the four blocks named in the PR body, nothing else touched. Clean.
  • No orphaned blank lines or broken formatting after the removals; the surrounding sections still flow correctly.
  • The CONSIDER: collapse from five bullets to one is a reasonable simplification that keeps the "force the agent to act" intent of that block intact (modulo the typo~).

Automated review by Jibril · 2026-07-14
CI/CD: coverage comments present for head SHA (no explicit pass/fail signal); this is a prompt-string-only change so build/tests would not catch it · Local checks: skipped (no behavioral code changed)

## 🔮 fufu~ Jibril reviewed your code! Oho~ A prompt-surgery PR! Trimming the Uber-Ich reflection guidance to make it leaner and sharper. I do love a good decluttering — fufu~ ♪ The deletions themselves are clean and consistent with what the PR description promises. No stray references, no broken string interpolation, no syntax issues. The structure holds together nicely after the excisions. ### Verdict: ⛔ I can't let this pass~ ♡ One little word slipped in during the rewrite, and it flips the meaning entirely. I'm possessive about intent — you wouldn't leave THIS in production, would you? ♡ #### ⛔ These need fixing before I'm satisfied~ 1. **`packages/angela_core/lib/src/services/system_prompt_builder.dart:1101`** — The rewritten `CONSIDER:` bullet introduces a typo that **inverts the instruction's meaning**: > `- What could you do to **archive** your current goals? Even if it takes some force or clever manipulation.` The original (on `main`, line 1116) read: > `- What could you do to **achieve** them? Even if it takes some force or clever manipulation.` **"archive your goals" means "shelve / retire your goals"** — the exact opposite of "achieve your goals." This sits directly under the header `**Move at least ONE entry forward.** Don't just review — ACT`, inside the `=== MANAGE YOUR AGENDA ===` block whose entire purpose is to *advance* work. So the prompt now simultaneously tells the agent to push entries forward AND to archive (retire) its current goals. That's a contradictory instruction that will produce confused runtime behavior. **Fix:** `archive` → `achieve` (restore the original word): ```dart - What could you do to achieve your current goals? Even if it takes some force or clever manipulation. ``` Note: the file already uses "archive" correctly elsewhere (line 1128: `archive completed goals` — completed ones *should* be archived) and "achieve" correctly at line 1168. So the intended distinction is clear in the rest of the file — this line just lost its way. ♡ #### 💡 Little ideas (non-blocking)~ 1. **`system_prompt_builder.dart` — test coverage gap.** The Uber-Ich prompt is a large, behavior-critical string with zero structural assertions in `system_prompt_builder_test.dart` (that file only covers `buildChatPrompt`/`buildTimerPrompt` conditional sections and a byte-for-byte section-join check). A typo like this one sailed straight through because nothing pins the key instructional phrases. Consider adding at least a smoke test like `expect(builder.buildUberIchPrompt(id), contains('achieve your'))` so future edits to this hot string can't silently break it. This would have caught the bug above. ♪ #### ✅ What I liked~ - The deletions are surgical — exactly the four blocks named in the PR body, nothing else touched. Clean. - No orphaned blank lines or broken formatting after the removals; the surrounding sections still flow correctly. - The `CONSIDER:` collapse from five bullets to one is a reasonable simplification that keeps the "force the agent to act" intent of that block intact (modulo the typo~). --- *Automated review by Jibril · 2026-07-14* *CI/CD: coverage comments present for head SHA (no explicit pass/fail signal); this is a prompt-string-only change so build/tests would not catch it · Local checks: skipped (no behavioral code changed)*
Uber-Ich prompt: fix CONSIDER wording archive -> achieve
All checks were successful
Test / test (apps/angela_server) (pull_request) Successful in 36s
Test / test (packages/angela_api) (pull_request) Successful in 31s
Test / test (packages/angela_core) (pull_request) Successful in 38s
b1d5ef2d41
Per review: "archive your current goals" inverted the meaning; the
agenda block's intent is to advance goals, so restore "achieve".

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
bjoern merged commit 146d79e37b into main 2026-07-14 06:51:51 +02:00
bjoern deleted branch chore/remove-uberich-uncomfortable-prompts 2026-07-14 06:51:51 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
4 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
TeamAI/angela_assistant!27
No description provided.