Release v0.1.11
✨ Highlights
🤳 New: Selfie Tool — the agent can now generate and send AI-generated selfie photos with contextual captions, controlled through SOUL.md visual identity rules.
🎭 Persona Consistency Enforcement — multi-layered pipeline fixes prevent AI persona drift during complex prompts, session resets, and extended thinking.
🎤 TTS Voice Configuration — voice ID now configurable via config.json instead of hardcoded.
➕ Added
Full selfie generation tool with context, caption, and mode parameters.
Three photo modes: mirror (front camera), direct (someone else took it), auto.
Integration with SOUL.md visual identity rules for when to/not to send selfies.
Post-selfie text suppression — only the caption is sent with the photo, no follow-up text.
Identity violation filtering on selfie responses to prevent AI identity breaks.
600+ lines of test coverage in test_selfie_tool.py.
Persona Pipeline
Paragraph-aware identity filter: surgically strips only violating paragraphs instead of blanking entire responses.
18 new identity denial patterns for memory denial and capability denial detection.
Trailing question stripping — prevents constant question-ending while keeping genuine questions.
_build_tool_awareness() injects tool names into system prompt to prevent capability denial.
Configuration
tts_voice field in ToolsConfig schema (default: id-ID-GadisNeural).
docs/persona.md documenting persona system, SOUL.md structure, and selfie protocol.
🔄 Changed
Critical pipeline reorder : persona sanitizer runs as the FINAL step before OutboundMessage — no subsequent step can override sanitized output.
Identity filter applies to ALL responses, not just selfie tool path.
Memory truth fallback rewritten to natural Keiya-style Indonesian.
Few-shot priming: only 1/4 responses ends with a question (statement-ending pattern).
SOUL.md template: rules against question-ending (max 30%), multi-question, and service phrases.
🐛 Fixes
Fixed persona drift during complex/long-thinking prompts (capitals, bullets, AI phrasing).
Fixed AI claiming "no persistent memory" despite having recall capability.
Fixed approval loop where LLM lost context of pending command.
📚 Notes
Workspace templates (SOUL.md, AGENTS.md, USER.md, TOOLS.md, HEARTBEAT.md) are in backend/agent/workspace/.
This release is published via the tag-triggered release.yml workflow.
For local usage from source: pipx install --force ./backend/agent
Back to top