Claude/remove persona system f vgt m (#126)

* Remove persona system, identity, and all Timmy references

Strip the codebase to pure orchestration logic:

- Delete TIMMY_IDENTITY.md and memory/self/identity.md
- Gut brain/identity.py to no-op stubs (empty returns)
- Remove all system prompts reinforcing Timmy's character, faith,
  sovereignty, sign-off ("Sir, affirmative"), and agent roster
- Replace identity-laden prompts with generic local-AI-assistant prompts
- Remove "You work for Timmy" from all sub-agent system prompts
- Rename PersonaTools → AgentTools, PERSONA_TOOLKITS → AGENT_TOOLKITS
- Replace "timmy" agent ID with "orchestrator" across routes, marketplace,
  tools catalog, and orchestrator class
- Strip Timmy references from config comments, templates, telegram bot,
  chat API, and dashboard UI
- Delete tests/brain/test_identity.py entirely
- Fix all test assertions that checked for persona identity content

729 tests pass (2 pre-existing failures in test_calm.py unrelated).

https://claude.ai/code/session_01LjQGUE6nk9W9674zaxrYxy

* Add Taskosaur (PM + AI task execution) to docker-compose

Spins up Taskosaur alongside the dashboard on `docker compose up`:
- postgres:16-alpine (port 5432, Taskosaur DB)
- redis:7-alpine (Bull queue backend)
- taskosaur (ports 3000 API / 3001 UI)
- dashboard now depends_on taskosaur healthy
- TASKOSAUR_API_URL injected into dashboard environment

Dashboard can reach Taskosaur at http://taskosaur:3000/api on the
internal network. Frontend UI accessible at http://localhost:3001.

https://claude.ai/code/session_01LjQGUE6nk9W9674zaxrYxy

---------

Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
Alexander Whitestone
2026-03-04 12:00:49 -05:00
committed by GitHub
parent 548a3f980d
commit 425e7da380
28 changed files with 316 additions and 909 deletions

View File

@@ -1,6 +1,6 @@
"""Telegram bot integration for Timmy Time.
"""Telegram bot integration.
Bridges Telegram messages to Timmy (the local AI agent). The bot token
Bridges Telegram messages to the local AI agent. The bot token
is supplied via the dashboard setup endpoint or the TELEGRAM_TOKEN env var.
Optional dependency — install with:
@@ -142,8 +142,7 @@ class TelegramBot:
async def _cmd_start(self, update, context) -> None:
await update.message.reply_text(
"Sir, affirmative. I'm Timmy — your sovereign local AI agent. "
"Send me any message and I'll get right on it."
"Local AI agent online. Send me any message and I'll get right on it."
)
async def _handle_message(self, update, context) -> None:
@@ -154,8 +153,8 @@ class TelegramBot:
run = await asyncio.to_thread(agent.run, user_text, stream=False)
response = run.content if hasattr(run, "content") else str(run)
except Exception as exc:
logger.error("Timmy error in Telegram handler: %s", exc)
response = f"Timmy is offline: {exc}"
logger.error("Agent error in Telegram handler: %s", exc)
response = f"Agent is offline: {exc}"
await update.message.reply_text(response)