mirror of
https://github.com/msitarzewski/agency-agents.git
synced 2026-06-16 07:53:19 +03:00
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>
This commit is contained in:
@@ -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
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user