Add divisions.json — division presentation metadata (label, icon, color) (#592)

* Add divisions.json — presentation metadata (label, icon, color) per division

Establishes a source of truth for how each division (top-level agent directory)
is presented: a display label, a Lucide icon name, and a brand color. Lets the
Agency Agents app (and any other tooling) render divisions consistently —
including fixing "GIS" (was title-cased to "Gis") and covering `gis` +
`integrations`, which had no metadata before.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Make divisions.json the source of truth + enforce in CI

divisions.json now drives the division set. Add scripts/check-divisions.sh
(CI: check-divisions.yml, runs on every PR with no path filter) which fails
if divisions.json disagrees with the directories on disk, the AGENT_DIRS
arrays in convert.sh / lint-agents.sh, or the lint-agents.yml path filters,
or if any entry lacks label/icon/color.

Fixes pre-existing drift surfaced by the new check: integrations was missing
from convert.sh and lint-agents.sh; integrations and strategy were missing
from lint-agents.sh and the lint workflow (so those agents weren't being
linted at all).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Michael Sitarzewski
2026-06-15 15:13:33 -05:00
committed by GitHub
parent a077c9ac0b
commit a5688be6cc
6 changed files with 163 additions and 3 deletions
+20
View File
@@ -0,0 +1,20 @@
name: Check Divisions Consistency
# Runs on every PR (no path filter on purpose): a new division directory must
# trip this check even when nobody touched divisions.json or the lint config.
on:
pull_request:
push:
branches: [main]
jobs:
check-divisions:
name: divisions.json is the single source of truth
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Validate division set
run: |
chmod +x scripts/check-divisions.sh
./scripts/check-divisions.sh
+4 -2
View File
@@ -9,6 +9,7 @@ on:
- "finance/**"
- "game-development/**"
- "gis/**"
- "integrations/**"
- "marketing/**"
- "paid-media/**"
- "sales/**"
@@ -19,6 +20,7 @@ on:
- "support/**"
- "spatial-computing/**"
- "specialized/**"
- "strategy/**"
jobs:
lint:
@@ -33,9 +35,9 @@ jobs:
id: changed
run: |
FILES=$(git diff --name-only --diff-filter=ACMR origin/${{ github.base_ref }}...HEAD -- \
'academic/**/*.md' 'design/**/*.md' 'engineering/**/*.md' 'finance/**/*.md' 'game-development/**/*.md' 'gis/**/*.md' 'marketing/**/*.md' 'paid-media/**/*.md' 'sales/**/*.md' 'security/**/*.md' 'product/**/*.md' \
'academic/**/*.md' 'design/**/*.md' 'engineering/**/*.md' 'finance/**/*.md' 'game-development/**/*.md' 'gis/**/*.md' 'integrations/**/*.md' 'marketing/**/*.md' 'paid-media/**/*.md' 'sales/**/*.md' 'security/**/*.md' 'product/**/*.md' \
'project-management/**/*.md' 'testing/**/*.md' 'support/**/*.md' \
'spatial-computing/**/*.md' 'specialized/**/*.md')
'spatial-computing/**/*.md' 'specialized/**/*.md' 'strategy/**/*.md')
{
echo "files<<ENDOFLIST"
echo "$FILES"