mirror of
https://github.com/msitarzewski/agency-agents.git
synced 2026-09-03 16:50:50 +03:00
Exclude integrations/ from the source-agent scan (it's convert.sh output) (#593)
#592 added `integrations` to AGENT_DIRS in convert.sh and lint-agents.sh and to the lint workflow paths, to make those lists match divisions.json. That was wrong: integrations/ is not a source-agent category — it's where convert.sh WRITES per-tool conversions (e.g. openclaw output → integrations/openclaw/<agent>/SOUL.md). It holds 957 conversion outputs across openclaw/opencode/qwen/antigravity, vs 248 real source agents in the 17 genuine categories. Scanning integrations/ as source made the toolchain re-convert its own outputs: the same agent appears under every tool (brand-guardian ×5), output slugs collide, and convert.sh's last-writer-wins corrupts the catalog — which broke downstream parity checks. convert.sh originally omitted integrations on purpose; #592 misread that deliberate exclusion as drift. Fix: drop integrations from convert.sh / lint-agents.sh AGENT_DIRS and the lint workflow, remove it from divisions.json (it's not a division), and add it to NON_DIVISION_DIRS in check-divisions.sh so the guard's canonical set is the real 17 source categories. The `strategy` additions from #592 were correct and stay. check-divisions.sh now PASSES at 17 divisions consistent across divisions.json, directories, scripts, and CI. Note: integrations/mcp-memory holds 2 real source agents stranded in the output tree; relocating them to a real category is left as separate follow-up. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
a5688be6cc
commit
3f78a30bb2
+1
-2
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"_note": "Source of truth for the agent division set. Each division (a top-level agent directory) maps to a display label, a Lucide icon name (PascalCase), and a brand color (hex). Consumed by the Agency Agents app and any other catalog tooling. scripts/check-divisions.sh (CI: check-divisions.yml) fails the build if this list disagrees with the directories on disk, the AGENT_DIRS arrays in scripts/convert.sh and scripts/lint-agents.sh, or the path filters in lint-agents.yml. To add a division: create its directory, add an entry here, then run scripts/check-divisions.sh and update wherever it points.",
|
||||
"_note": "Source of truth for the agent division set. Each division (a top-level agent directory) maps to a display label, a Lucide icon name (PascalCase), and a brand color (hex). Consumed by the Agency Agents app and any other catalog tooling. scripts/check-divisions.sh (CI: check-divisions.yml) fails the build if this list disagrees with the directories on disk, the AGENT_DIRS arrays in scripts/convert.sh and scripts/lint-agents.sh, or the path filters in lint-agents.yml. To add a division: create its directory, add an entry here, then run scripts/check-divisions.sh and update wherever it points. NOT every top-level directory is a division: integrations/ holds per-tool conversion OUTPUTS written by scripts/convert.sh (not source agents) and is excluded via NON_DIVISION_DIRS in check-divisions.sh; examples/ and scripts/ are likewise excluded.",
|
||||
"divisions": {
|
||||
"academic": { "label": "Academic", "icon": "GraduationCap", "color": "#8B5CF6" },
|
||||
"design": { "label": "Design", "icon": "PenTool", "color": "#EC4899" },
|
||||
@@ -7,7 +7,6 @@
|
||||
"finance": { "label": "Finance", "icon": "DollarSign", "color": "#22C55E" },
|
||||
"game-development": { "label": "Game Development", "icon": "Gamepad2", "color": "#A855F7" },
|
||||
"gis": { "label": "GIS", "icon": "Map", "color": "#14B8A6" },
|
||||
"integrations": { "label": "Integrations", "icon": "Workflow", "color": "#64748B" },
|
||||
"marketing": { "label": "Marketing", "icon": "Megaphone", "color": "#F97316" },
|
||||
"paid-media": { "label": "Paid Media", "icon": "Target", "color": "#EAB308" },
|
||||
"product": { "label": "Product", "icon": "Box", "color": "#D946EF" },
|
||||
|
||||
Reference in New Issue
Block a user