Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Lesson 2: Compliance Reporting

Building Compliance Reports

# Generate compliance report
sruja compliance -r . -a repo.sruja

# With JSON output for automation
sruja compliance -r . -a repo.sruja --format json

Report Output

When you run sruja compliance, it shows:

  • Policy violations found in your architecture
  • Structural drift between code and architecture
  • Intent violations from ADRs and documented intent
  • Overall compliance status (pass/fail)

Per-Repo Compliance

# Check compliance for specific repo
sruja compliance -r ./user-service -a user-service/repo.sruja

# Check with output format
sruja compliance -r . -a repo.sruja --format json

Drift Reporting

# Show drift between code and architecture
sruja drift -r . -a repo.sruja

# In CI mode (GitHub Actions format)
sruja drift --ci -r . -a repo.sruja

# Show only violations
sruja drift -r . -a repo.sruja --violations-only

Health Reporting

# Check overall health
sruja health -r .

# With architecture file
sruja health -r . -a repo.sruja

# JSON format for dashboards
sruja health -r . -a repo.sruja --format json

Scheduled Reports

# .github/workflows/architecture-report.yml
on:
  schedule:
    - cron: '0 8 * * 1'  # Weekly Monday 8am

jobs:
  report:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Check Compliance
        run: sruja compliance -r . -a repo.sruja --format json > compliance.json

      - name: Check Health
        run: sruja health -r . -a repo.sruja --format json > health.json

      - name: Upload Reports
        uses: actions/upload-artifact@v4
        with:
          name: weekly-architecture-reports
          path: |
            compliance.json
            health.json

Hands-On: Generate Compliance Reports

  1. Run compliance check:

    sruja compliance -r . -a repo.sruja
    
  2. Run health check:

    sruja health -r .
    
  3. Check for drift:

    sruja drift -r . -a repo.sruja
    
  4. View in CI mode:

    sruja drift --ci -r . -a repo.sruja
    

Learning Outcomes

  • ✅ Generate compliance reports using sruja compliance
  • ✅ Check health with sruja health
  • ✅ Detect drift using sruja drift
  • ✅ Integrate reports into CI/CD pipelines

Quiz: Test Your Understanding

Q1: What command generates a compliance report?

A) sruja report B) sruja compliance C) sruja audit D) sruja check

Q2: What does sruja drift --ci do?

A) Runs in CI mode with GitHub Actions format output B) Checks Git CI/CD pipeline status C) Creates a new CI/CD workflow D) Uploads to continuous integration service

Q3: What does sruja health show?

A) Server health metrics B) Overall architectural health and graph quality C) Network connectivity status D) Database health

Module Complete!

You've completed Federated Governance. You now understand:

  • ✅ Federated policy definition
  • ✅ Policy inheritance and overrides
  • ✅ Compliance reporting
  • ✅ Governance automation

Course complete!