[PR #383] [CLOSED] Normalize specialized agent pillar IDs and log invalid proposals #690

Closed
opened 2026-03-13 21:04:00 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/AJaySi/ALwrity/pull/383
Author: @AJaySi
Created: 3/6/2026
Status: Closed

Base: mainHead: codex/update-propose_daily_tasks-for-canonical-pillar-ids


📝 Commits (1)

  • 4d543f9 Normalize daily task pillar IDs and log invalid task drops

📊 Changes

8 files changed (+20 additions, -8 deletions)

View changed files

📝 backend/services/intelligence/agents/specialized/citation_expert.py (+1 -1)
📝 backend/services/intelligence/agents/specialized/competitor_response.py (+1 -1)
📝 backend/services/intelligence/agents/specialized/content_guardian.py (+1 -1)
📝 backend/services/intelligence/agents/specialized/content_strategy.py (+1 -1)
📝 backend/services/intelligence/agents/specialized/link_graph.py (+1 -1)
📝 backend/services/intelligence/agents/specialized/seo_optimization.py (+1 -1)
📝 backend/services/intelligence/agents/specialized/social_amplification.py (+1 -1)
📝 backend/services/today_workflow_service.py (+13 -1)

📄 Description

Motivation

  • Standardize lifecycle pillar identifiers so all specialized agents emit the canonical IDs plan, generate, publish, analyze, engage, remarket instead of legacy values like create/distribute to avoid dropped/ignored tasks downstream.
  • Make invalid or malformed task proposals visible in logs so dropped proposals are diagnosable and not silently lost.

Description

  • Updated propose_daily_tasks in specialized agents to emit canonical pillar IDs at the source, replacing legacy values as follows: content_strategy -> generate, social_amplification -> engage, seo_optimization -> analyze, competitor_response -> analyze, and normalized citation_expert, content_guardian, and link_graph to analyze as well.
  • Added logging in today_workflow_service._sanitize_task to warn when a proposal is dropped for being non-dict, having an invalid pillarId, or having an empty title.
  • Added a warning when persisting tasks to skip and log any task with an invalid pillarId so persistence drops are observable.
  • Kept the PILLAR_IDS canonical list in today_workflow_service.py and removed legacy values at the source rather than adding a compatibility mapping.

Testing

  • Ran a search for legacy pillar emissions with rg -n "pillar_id=\"(create|distribute)\"" backend/services/intelligence/agents/specialized -g '*.py' and confirmed no matches remained.
  • Compiled modified modules with python -m compileall for the changed files and verified successful compilation with no syntax errors.
  • Verified changes across the following files: content_strategy.py, social_amplification.py, seo_optimization.py, competitor_response.py, citation_expert.py, content_guardian.py, link_graph.py, and today_workflow_service.py.

Codex Task


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/AJaySi/ALwrity/pull/383 **Author:** [@AJaySi](https://github.com/AJaySi) **Created:** 3/6/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `codex/update-propose_daily_tasks-for-canonical-pillar-ids` --- ### 📝 Commits (1) - [`4d543f9`](https://github.com/AJaySi/ALwrity/commit/4d543f9d364a63006a70e968698220b1bc1873d3) Normalize daily task pillar IDs and log invalid task drops ### 📊 Changes **8 files changed** (+20 additions, -8 deletions) <details> <summary>View changed files</summary> 📝 `backend/services/intelligence/agents/specialized/citation_expert.py` (+1 -1) 📝 `backend/services/intelligence/agents/specialized/competitor_response.py` (+1 -1) 📝 `backend/services/intelligence/agents/specialized/content_guardian.py` (+1 -1) 📝 `backend/services/intelligence/agents/specialized/content_strategy.py` (+1 -1) 📝 `backend/services/intelligence/agents/specialized/link_graph.py` (+1 -1) 📝 `backend/services/intelligence/agents/specialized/seo_optimization.py` (+1 -1) 📝 `backend/services/intelligence/agents/specialized/social_amplification.py` (+1 -1) 📝 `backend/services/today_workflow_service.py` (+13 -1) </details> ### 📄 Description ### Motivation - Standardize lifecycle pillar identifiers so all specialized agents emit the canonical IDs `plan`, `generate`, `publish`, `analyze`, `engage`, `remarket` instead of legacy values like `create`/`distribute` to avoid dropped/ignored tasks downstream. - Make invalid or malformed task proposals visible in logs so dropped proposals are diagnosable and not silently lost. ### Description - Updated `propose_daily_tasks` in specialized agents to emit canonical pillar IDs at the source, replacing legacy values as follows: `content_strategy` -> `generate`, `social_amplification` -> `engage`, `seo_optimization` -> `analyze`, `competitor_response` -> `analyze`, and normalized `citation_expert`, `content_guardian`, and `link_graph` to `analyze` as well. - Added logging in `today_workflow_service._sanitize_task` to warn when a proposal is dropped for being non-dict, having an invalid `pillarId`, or having an empty title. - Added a warning when persisting tasks to skip and log any task with an invalid `pillarId` so persistence drops are observable. - Kept the `PILLAR_IDS` canonical list in `today_workflow_service.py` and removed legacy values at the source rather than adding a compatibility mapping. ### Testing - Ran a search for legacy pillar emissions with `rg -n "pillar_id=\"(create|distribute)\"" backend/services/intelligence/agents/specialized -g '*.py'` and confirmed no matches remained. - Compiled modified modules with `python -m compileall` for the changed files and verified successful compilation with no syntax errors. - Verified changes across the following files: `content_strategy.py`, `social_amplification.py`, `seo_optimization.py`, `competitor_response.py`, `citation_expert.py`, `content_guardian.py`, `link_graph.py`, and `today_workflow_service.py`. ------ [Codex Task](https://chatgpt.com/codex/tasks/task_e_69aaf760ad20832895c23b40941ee10e) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-13 21:04:00 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ALwrity#690
No description provided.