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:
Michael Sitarzewski
2026-06-15 21:52:08 -05:00
committed by GitHub
parent a5688be6cc
commit 3f78a30bb2
5 changed files with 6 additions and 7 deletions
+3 -1
View File
@@ -25,7 +25,9 @@ JSON="divisions.json"
# Top-level directories that are NOT divisions. Everything else at the repo
# root that is a directory is treated as a division (so a new division dir is
# caught even if nobody remembered to register it).
NON_DIVISION_DIRS=(examples scripts)
# integrations/ is convert.sh's OUTPUT tree (per-tool conversions written back
# into the repo), not a source-agent category — it must never be scanned as one.
NON_DIVISION_DIRS=(examples scripts integrations)
errors=0
fail() { echo "ERROR $*"; errors=$((errors + 1)); }
+1 -1
View File
@@ -67,7 +67,7 @@ TODAY="$(date +%Y-%m-%d)"
. "$SCRIPT_DIR/lib.sh"
AGENT_DIRS=(
academic design engineering finance game-development gis integrations marketing paid-media product project-management
academic design engineering finance game-development gis marketing paid-media product project-management
sales security spatial-computing specialized strategy support testing
)
-1
View File
@@ -18,7 +18,6 @@ AGENT_DIRS=(
finance
game-development
gis
integrations
marketing
paid-media
product