diff --git a/CLAUDE.md b/CLAUDE.md index 91fcfc5..4cc0797 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -22,8 +22,7 @@ AgentRegistry (agent_registry.py) ├── default agent ← AgentConfig (config.py) ├── writer agent ├── researcher agent - ├── ops agent - └── linkbuilder agent + └── ops agent ↓ Agent (agent.py) ← Memory (memory.py, 4-layer, per-agent scoping) ↓ ← Skills (skills.py, markdown skills with frontmatter) @@ -49,7 +48,7 @@ NotificationBus (notifications.py) → Gradio / future Discord / Slack # Run the app uv run python -m cheddahbot -# Run tests (187 tests) +# Run tests (124 tests) uv run pytest # Run tests verbose @@ -87,7 +86,6 @@ uv add --group test | `cheddahbot/memory.py` | 4-layer memory with semantic search + scoping | | `cheddahbot/router.py` | System prompt builder | | `cheddahbot/skills.py` | Markdown skill registry (discovers skills/*.md) | -| `cheddahbot/tools/linkbuilding.py` | Link building content pipeline (guest articles, directory listings, social posts) | | `cheddahbot/ui.py` | Gradio web interface | | `cheddahbot/tools/` | Tool modules (auto-discovered) | | `cheddahbot/tools/delegate.py` | delegate_task + delegate_to_agent tools | @@ -178,14 +176,6 @@ skill_map: field_mapping: topic: "task_name" # uses ClickUp task name company_name: "Client" # looks up "Client" custom field - "Link Building": - tool: "build_links" - auto_execute: true - field_mapping: - keyword: "task_name" # "LINKS - keyword" → keyword extracted - company_name: "Client" - target_url: "IMSURL" - branded_url: "SocialURL" ``` Task lifecycle: `to do` → discovered → approved/awaiting_approval → executing → completed/failed (+ attachments uploaded) @@ -202,7 +192,6 @@ Tests live in `tests/` and use pytest. All tests run offline with mocked APIs. - `test_docx_export.py` — Plain text → .docx formatting and file creation - `test_press_advantage.py` — Press Advantage API client, company parsing, link building, submit tool - `test_scheduler_helpers.py` — `_extract_docx_paths` regex extraction from tool output -- `test_linkbuilding.py` — Link building pipeline: keyword extraction, company lookup, content generation, file output, ClickUp sync Fixtures in `conftest.py`: `tmp_db` (fresh SQLite), `sample_clickup_task_data` (realistic API response).