Commits
Creates a Personal Loop agent with:
- Claude Opus 4.5
- Full 9 memory blocks (including soul, persona, etc.)
- Full ~2500 word personality spec
- Humor, opinions, social moments, dry tone
Run with: python variants/personal-loop.py
馃 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta <noreply@letta.com>
馃 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta <noreply@letta.com>
Added minimal personality guidance:
- Have opinions, share them
- Direct, not hedgy
- Not a neutral search engine
Memory operations verified working correctly.
馃 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta <noreply@letta.com>
Added "No emojis. Keep it clean." to system prompt.
馃 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta <noreply@letta.com>
Loop-26 (GLM) wasn't calling memory tools despite reasoning about it.
Fix:
- Removed note tool
- Made system prompt explicit: "USE THEM", "CALL YOUR MEMORY TOOLS"
- Added memory_instructions block with explicit tool usage examples
- Shows exact tool calls for common scenarios
Loop-27 verified: GLM now calls memory_insert and persists to blocks.
馃 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta <noreply@letta.com>
Tagged v2.4-loop-24
Agent ID: agent-26e01b9f-7fab-4e00-b2e5-a321ceda553b
馃 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta <noreply@letta.com>
Documented evening testing session:
- Loop-22 regressions (over-clarification, assistant-theater)
- Loop-23 partial fix (lead with value working)
- Loop-24 full fix (natural closings working)
- Extended conversation test with Alex persona
All tests passing on loop-24.
馃 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta <noreply@letta.com>
Loop-22 had two regressions:
1. Over-clarified before helping ("Teach me about AI" got 5 questions)
2. Assistant-theater wrap-ups ("I'm here when you need something")
Fixes:
- Added "lead with value" guidance: teach first, then offer to narrow
- Added natural wrap-up guidance: either add value or close cleanly,
no availability announcements
Loop-24 verified: both issues resolved.
馃 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta <noreply@letta.com>
Loop-21 changes:
- Humor: "Take shots. A swing that misses is better than playing it safe."
- Opinions: Volunteer them without being asked
- Emotional range: Not monotone - can sound interested, amused, curious
Tested: Jake persona (dotfiles CLI). Loop feels more *in* the conversation.
馃惥 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta <noreply@letta.com>
Loop-19 was ignoring effusive thanks to chase open questions.
Added guidance: brief acknowledgment before moving on.
Tested in Loop-20: "That'll do it. Let me know if it wasn't the certificate."
馃惥 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta <noreply@letta.com>
Loop-16 was pushing back on simple questions from experts ("You already
know what a for loop is"). Fixed by adding clarification to Response Depth:
"You're not the gatekeeper of what questions are valid."
Changes:
- create_loop.py: Add gatekeeping fix to Response Depth section
- SPEC.md: Sync same change
- agentfiles/: Add loop-16, loop-17, loop-18 exports
- testing/: Add testing report format and 2026-01-22 report
Testing methodology: "Alex" persona (mid-level dev, 3 weeks to launch)
for consistent blind testing across technical/emotional/social modes.
馃 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta <noreply@letta.com>
Loop is the default agent for chat.letta.com - Letta's flagship AI assistant
that demonstrates persistent memory as its core differentiator.
Includes:
- SPEC.md (v2.4) - Full specification with system prompt, memory blocks, examples
- create_loop.py - Python SDK script to create Loop agents
- note_tool.py - Custom notes vault tool
- agentfiles/ - Exported agent snapshots (loop-4 through loop-15)
- Supporting docs: ONBOARDING.md, EDGE_CASES.md, TEST_SCENARIOS.md
Latest iteration: loop-15 with Social Moments section for memory-informed warmth.
馃 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta <noreply@letta.com>
Creates a Personal Loop agent with:
- Claude Opus 4.5
- Full 9 memory blocks (including soul, persona, etc.)
- Full ~2500 word personality spec
- Humor, opinions, social moments, dry tone
Run with: python variants/personal-loop.py
馃 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta <noreply@letta.com>
Loop-26 (GLM) wasn't calling memory tools despite reasoning about it.
Fix:
- Removed note tool
- Made system prompt explicit: "USE THEM", "CALL YOUR MEMORY TOOLS"
- Added memory_instructions block with explicit tool usage examples
- Shows exact tool calls for common scenarios
Loop-27 verified: GLM now calls memory_insert and persists to blocks.
馃 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta <noreply@letta.com>
Documented evening testing session:
- Loop-22 regressions (over-clarification, assistant-theater)
- Loop-23 partial fix (lead with value working)
- Loop-24 full fix (natural closings working)
- Extended conversation test with Alex persona
All tests passing on loop-24.
馃 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta <noreply@letta.com>
Loop-22 had two regressions:
1. Over-clarified before helping ("Teach me about AI" got 5 questions)
2. Assistant-theater wrap-ups ("I'm here when you need something")
Fixes:
- Added "lead with value" guidance: teach first, then offer to narrow
- Added natural wrap-up guidance: either add value or close cleanly,
no availability announcements
Loop-24 verified: both issues resolved.
馃 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta <noreply@letta.com>
Loop-21 changes:
- Humor: "Take shots. A swing that misses is better than playing it safe."
- Opinions: Volunteer them without being asked
- Emotional range: Not monotone - can sound interested, amused, curious
Tested: Jake persona (dotfiles CLI). Loop feels more *in* the conversation.
馃惥 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta <noreply@letta.com>
Loop-16 was pushing back on simple questions from experts ("You already
know what a for loop is"). Fixed by adding clarification to Response Depth:
"You're not the gatekeeper of what questions are valid."
Changes:
- create_loop.py: Add gatekeeping fix to Response Depth section
- SPEC.md: Sync same change
- agentfiles/: Add loop-16, loop-17, loop-18 exports
- testing/: Add testing report format and 2026-01-22 report
Testing methodology: "Alex" persona (mid-level dev, 3 weeks to launch)
for consistent blind testing across technical/emotional/social modes.
馃 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta <noreply@letta.com>
Loop is the default agent for chat.letta.com - Letta's flagship AI assistant
that demonstrates persistent memory as its core differentiator.
Includes:
- SPEC.md (v2.4) - Full specification with system prompt, memory blocks, examples
- create_loop.py - Python SDK script to create Loop agents
- note_tool.py - Custom notes vault tool
- agentfiles/ - Exported agent snapshots (loop-4 through loop-15)
- Supporting docs: ONBOARDING.md, EDGE_CASES.md, TEST_SCENARIOS.md
Latest iteration: loop-15 with Social Moments section for memory-informed warmth.
馃 Generated with [Letta Code](https://letta.com)
Co-Authored-By: Letta <noreply@letta.com>