CheddahBot/tests
PeninsulaInd 74c1971f70 Add clickup_runner module -- Phase 1: skeleton + ClickUp polling
New headless automation runner that replaces CheddahBot's multi-agent
system with a simpler design: poll ClickUp for tasks with "Delegate to
Claude" checkbox checked + due date <= today, route by task type + stage
through a skill map, and dispatch to Claude Code headless or AutoCora.

Module structure:
- config.py: env vars > YAML > defaults configuration
- clickup_client.py: ClickUp API client (adapted from cheddahbot/clickup.py)
  with checkbox, stage dropdown, and attachment operations
- skill_map.py: task_type + stage -> SkillRoute routing dictionary
  (Content Creation, On Page Optimization, Press Release, Link Building)
- state.py: minimal SQLite KV store + run log
- __main__.py: poll loop with graceful shutdown
- README.md: setup, config reference, skill map docs

Dispatch functions are stubs (Phase 2: Claude runner, Phase 3: AutoCora).
Includes system-design-spec.md that drives this rewrite.

68 new tests, all passing. Existing 347 tests unaffected.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 09:14:22 -05:00
..
test_clickup_runner Add clickup_runner module -- Phase 1: skeleton + ClickUp polling 2026-03-30 09:14:22 -05:00
__init__.py Add test suite for ClickUp integration APIs 2026-02-16 07:34:34 -06:00
conftest.py 1.1: Delete dead code and fix all lint errors 2026-02-17 09:56:36 -06:00
test_autocora.py Enhance ClickUp task creation, smart field setting, and Cora distribution comments 2026-03-11 18:06:03 -05:00
test_clickup.py Enhance ClickUp task creation, smart field setting, and Cora distribution comments 2026-03-11 18:06:03 -05:00
test_clickup_tools.py Add get_active_tasks tool to show what's running before restart 2026-03-18 17:04:19 -05:00
test_content_creation.py Route create_content by content_type instead of URL presence 2026-03-08 20:58:07 -05:00
test_cora_distribute.py Filter Cora distribution to eligible statuses and reduce poll interval to 40m 2026-03-18 12:29:02 -05:00
test_db.py Fix task looping: increase stale recovery to 6h, add file logging, use UNC paths 2026-03-04 21:41:46 -06:00
test_docx_export.py Add document export (.docx) and email delivery feature 2026-02-16 17:00:54 -06:00
test_email.py Add document export (.docx) and email delivery feature 2026-02-16 17:00:54 -06:00
test_linkbuilding.py Replace fuzzy keyword matching with exact match + LLM plural check 2026-03-18 18:53:24 -05:00
test_notifications.py Add test suite for ClickUp integration APIs 2026-02-16 07:34:34 -06:00
test_ntfy.py Fix ntfy dedup: make duplicate suppression permanent for process lifetime 2026-03-08 14:22:27 -05:00
test_press_advantage.py Separate PR Topic (angle) from Keyword (anchor text) in press release pipeline 2026-03-17 10:51:10 -05:00
test_scheduler.py Add get_active_tasks tool to show what's running before restart 2026-03-18 17:04:19 -05:00
test_scheduler_helpers.py Steps 7-8: Eliminate KV store from task pipelines and update tests 2026-02-27 16:26:44 -06:00
test_ui_helpers.py Phase 4: UI — Agent selector, conversation history, chat persistence 2026-02-17 11:23:50 -06:00