Skip to content

feat(ui): connect dynamic mood bloop avatar to groq api with robust t… #9

feat(ui): connect dynamic mood bloop avatar to groq api with robust t…

feat(ui): connect dynamic mood bloop avatar to groq api with robust t… #9

Workflow file for this run

name: gitagent-validate
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
validate:
name: Validate Bloop Agent
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
- name: Install dependencies
run: npm install
- name: Check required agent files exist
run: |
echo "Checking agent structure..."
test -f agent.yaml && echo "✓ agent.yaml" || (echo "✗ agent.yaml MISSING" && exit 1)
test -f SOUL.md && echo "✓ SOUL.md" || (echo "✗ SOUL.md MISSING" && exit 1)
test -f RULES.md && echo "✓ RULES.md" || (echo "✗ RULES.md MISSING" && exit 1)
test -f DUTIES.md && echo "✓ DUTIES.md" || (echo "✗ DUTIES.md MISSING" && exit 1)
test -f skillflows/audit-pipeline.yaml && echo "✓ skillflows/audit-pipeline.yaml" || (echo "✗ workflow MISSING" && exit 1)
test -f hooks/bootstrap.md && echo "✓ hooks/bootstrap.md" || (echo "✗ bootstrap hook MISSING" && exit 1)
test -f hooks/teardown.md && echo "✓ hooks/teardown.md" || (echo "✗ teardown hook MISSING" && exit 1)
test -f knowledge/ml-failure-taxonomy.md && echo "✓ knowledge/ml-failure-taxonomy.md" || (echo "✗ taxonomy MISSING" && exit 1)
test -f skills/segment-analysis/SKILL.md && echo "✓ skills/segment-analysis" || (echo "✗ segment-analysis skill MISSING" && exit 1)
test -f skills/root-cause/SKILL.md && echo "✓ skills/root-cause" || (echo "✗ root-cause skill MISSING" && exit 1)
test -f skills/fix-generator/SKILL.md && echo "✓ skills/fix-generator" || (echo "✗ fix-generator skill MISSING" && exit 1)
test -f examples/diabetic-retinopathy.csv && echo "✓ examples/diabetic-retinopathy.csv" || (echo "✗ example dataset MISSING" && exit 1)
echo "All required files present."
- name: Validate agent.yaml structure
run: |
node -e "
import('fs').then(fs => {
const yaml = fs.readFileSync('agent.yaml', 'utf8');
if (!yaml.includes('spec_version')) { console.error('Missing spec_version'); process.exit(1); }
if (!yaml.includes('name: bloop')) { console.error('Missing agent name'); process.exit(1); }
if (!yaml.includes('skills:')) { console.error('Missing skills list'); process.exit(1); }
console.log('✓ agent.yaml is valid');
});
"
- name: Validate workflow pipeline structure
run: |
node -e "
import('fs').then(fs => {
const workflow = fs.readFileSync('skillflows/audit-pipeline.yaml', 'utf8');
if (!workflow.includes('segment-analysis')) { console.error('Missing segment-analysis step'); process.exit(1); }
if (!workflow.includes('root-cause')) { console.error('Missing root-cause step'); process.exit(1); }
if (!workflow.includes('fix-generator')) { console.error('Missing fix-generator step'); process.exit(1); }
if (!workflow.includes('depends_on')) { console.error('No depends_on found — pipeline is not chained'); process.exit(1); }
console.log('✓ audit-pipeline.yaml has 3 chained steps');
});
"
- name: Validate skill frontmatter
run: |
node -e "
import('fs').then(fs => {
const skills = ['skills/segment-analysis/SKILL.md', 'skills/root-cause/SKILL.md', 'skills/fix-generator/SKILL.md'];
for (const s of skills) {
const content = fs.readFileSync(s, 'utf8');
if (!content.startsWith('---')) { console.error('Missing YAML frontmatter in ' + s); process.exit(1); }
if (!content.includes('outputs:')) { console.error('Missing outputs: in ' + s); process.exit(1); }
if (!content.includes('role:')) { console.error('Missing role: in ' + s); process.exit(1); }
console.log('✓ ' + s);
}
});
"
- name: Validate memory structure
run: |
test -f memory/runtime/dailylog.md && echo "✓ memory/runtime/dailylog.md" || (echo "✗ dailylog MISSING" && exit 1)
test -f memory/runtime/key-decisions.md && echo "✓ memory/runtime/key-decisions.md" || (echo "✗ key-decisions MISSING" && exit 1)
test -f memory/runtime/context.md && echo "✓ memory/runtime/context.md" || (echo "✗ context MISSING" && exit 1)
- name: All checks passed
run: echo "✓ Bloop agent structure validated successfully."