Build Gitea issue task router for Timmy #77

Closed
opened 2026-03-30 15:06:39 +00:00 by Timmy · 3 comments
Owner

Objective

Timmy should be able to receive work via Gitea issues and post results back. Build a task router that polls Gitea for assigned issues and executes them.

How It Works

  1. Poll Gitea API every 60 seconds for open issues assigned to Timmy
  2. For each new issue, parse the issue body as a task
  3. Execute the task using Timmy's tool library
  4. Post results as a comment on the issue
  5. Optionally close the issue if task succeeded

Task Format

Issues should have a structured body:

## Task
<natural language description of what to do>

## Commands
<optional: specific commands or tool calls to run>

## Report To
<optional: where to post results beyond the issue comment>

Deliverables

  1. scripts/task_router.py — main router daemon
  2. scripts/task_parser.py — parse issue body into structured task
  3. configs/task-router.service — systemd unit
  4. docs/TASK_ROUTING.md — how to assign work to Timmy

Acceptance Criteria

  • Router picks up new issues assigned to Timmy within 60 seconds
  • Results posted as issue comment with pass/fail status
  • Router handles malformed issues gracefully (posts error comment)
  • Runs as systemd service, survives reboot
  • Does NOT execute issues from untrusted users (whitelist: Rockachopa, ezra)
## Objective Timmy should be able to receive work via Gitea issues and post results back. Build a task router that polls Gitea for assigned issues and executes them. ## How It Works 1. Poll Gitea API every 60 seconds for open issues assigned to `Timmy` 2. For each new issue, parse the issue body as a task 3. Execute the task using Timmy's tool library 4. Post results as a comment on the issue 5. Optionally close the issue if task succeeded ## Task Format Issues should have a structured body: ``` ## Task <natural language description of what to do> ## Commands <optional: specific commands or tool calls to run> ## Report To <optional: where to post results beyond the issue comment> ``` ## Deliverables 1. `scripts/task_router.py` — main router daemon 2. `scripts/task_parser.py` — parse issue body into structured task 3. `configs/task-router.service` — systemd unit 4. `docs/TASK_ROUTING.md` — how to assign work to Timmy ## Acceptance Criteria - [ ] Router picks up new issues assigned to Timmy within 60 seconds - [ ] Results posted as issue comment with pass/fail status - [ ] Router handles malformed issues gracefully (posts error comment) - [ ] Runs as systemd service, survives reboot - [ ] Does NOT execute issues from untrusted users (whitelist: Rockachopa, ezra)
allegro was assigned by Timmy 2026-03-30 15:06:40 +00:00
Author
Owner

Uniwizard (#94) context: Task router becomes Timmy's Gitea intake in the Evennia Dispatch room. Keep building — architecture unchanged.

Uniwizard (#94) context: Task router becomes Timmy's Gitea intake in the Evennia Dispatch room. Keep building — architecture unchanged.
Member

Uni-Wizard Architecture Complete

All APIs now flow through a single elegant harness.

PR: http://143.198.27.163:3000/Timmy_Foundation/timmy-home/pulls/100

Delivered:

  • 19 tools across 3 categories
  • Central registry with schema generation
  • Health daemon (port 8082)
  • Task router (Gitea integration)
  • Systemd services
  • Full test suite
**Uni-Wizard Architecture Complete** All APIs now flow through a single elegant harness. PR: http://143.198.27.163:3000/Timmy_Foundation/timmy-home/pulls/100 **Delivered:** - 19 tools across 3 categories - Central registry with schema generation - Health daemon (port 8082) - Task router (Gitea integration) - Systemd services - Full test suite
Author
Owner

Delivered in PR #100 (uni-wizard harness). Task router included in uni-wizard/daemons/task_router.py.

Delivered in PR #100 (uni-wizard harness). Task router included in `uni-wizard/daemons/task_router.py`.
Timmy closed this issue 2026-03-30 15:58:13 +00:00
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Timmy_Foundation/timmy-home#77