System Architecture
How GitReport Works
Seven data sources plus a personal vault feed a 9-step flywheel that normalizes everything into a unified entity hierarchy. Reports are generated from vault state — every route reads the same ground truth. GitHub extraction is incremental (~95% fewer API calls).
Entity Hierarchy (657 entities)
| Level | Type | Count | Examples |
| h0 | Organizations | 2 | noboxAI, aiChemist |
| h1 | Clients | 18 | HHE, SecondAct, FLY, Kaleido Life |
| h2 | Projects | 68 | project-tracker entries |
| h3 | Repos | 89 | GitHub repos with full metadata |
| h4 | Submodules | 92 | Deep project structure |
| h5 | Pipelines | 3 | ADW, CSA, CSA→ADW Conversions |
| h6 | Sources | 87+ | Sessions, Stripe, hook queue |
Data Sources
7 Live Integrations + Cross-Vault
GitHub API
- ~95 repos under jgatlit
- 270 issues extracted with comments
- Incremental sync — ?since= per repo
- Provides: repo activity, issue timelines, ADW traces
Stripe API
- $5,000/mo subscription (HHE)
- $24,600 total across 6 paying clients
- Nightly extraction at 2:30am
- Provides: per-client revenue, payment health
project-tracker
- 68 projects + 92 submodules
- REST API at localhost:8199
- 3-strategy entity matching to GitHub repos
CSA Pipeline
- 37 engagements scanned
- 338 files across workspaces
- Detects handoff manifests + artifact status
Claude Code Sessions
- 87+ session notes ingested
- Offset-based incremental processing
- 4-strategy repo matching for client attribution
Asana MCP
- Human-in-the-loop task ingestion
- 4-step flow: Fetch → Stage → Review → Ingest
- Learnable client mapping
Cross-Vault Intelligence
Personal Vault → GitReport (Read-Only)
The personal knowledge vault at ~/vault contains meeting notes, project entities, and people relationships. GitReport reads — never writes — this vault to enrich client intelligence with human context that no API can provide.
Stream 1: Meeting Sync
- 30 meeting notes scanned
- 8 clients enriched with last_meeting, meeting_count_30d
- Feeds health score comms weight (meeting ≤7d = +7pts)
- Maps via project/company frontmatter → client slug
Stream 2: Project Sync
- 10 project entities scanned
- 6 clients enriched with project_tier, last_movement
- Captures non-code work (strategy, design, meetings)
- Signals activity invisible in git push timestamps
Cross-Vault Sync Architecture
Optimal Entry Point for Transcripts
Call transcripts land in ~/vault/999 Inbox/Transcripts/ → personal vault's process-transcripts.sh cron creates a structured meeting note → GitReport picks it up via sync-vault-meetings.py on the next flywheel → client health score updates automatically.
Report System
8 Domain-Specific Report Routes
Each route speaks in the language of a specific operations role. All regenerate every 30 minutes. Health scoring now incorporates meeting recency alongside Slack momentum.
Report Route Architecture
| Route | Persona | Core Question |
| Client Outcome | Revenue Ops Analyst | Which clients are paying? Which are at risk? |
| Activity Pipeline | DevOps Lead | How fast are we shipping? Where are bottlenecks? |
| Client Pipeline | Customer Success | What's each client's health grade? |
| Pipeline Outcome | Project Manager | Are we progressing across all 5 vectors? |
| Task Dashboard | Operations Director | What should I do next? |
| Financial Value | Financial Analyst | Where is every dollar going? |
| Value Dashboard | Operations Director | What needs protection vs conversion? |
| Weekly Handoff | Executive Ops | What happened this week? |
Value Attribution
Revenue × Velocity Intelligence
Every code activity earns weighted Velocity Points. Revenue is allocated proportionally. Risk signals detect when revenue lacks delivery backing — or delivery lacks revenue backing.
$5,000Monthly Revenue
797VP (March)
240Activities Done
7Active Clients
Client Portfolio — Revenue × Velocity
Activity Multipliers
- Feature — 3.0x VP
- Bug Fix — 2.0x VP
- CSA Converted — 2.0x VP
- Demand Gen — 1.5x VP
- Chore — 1.0x VP
Health Score (100pts)
- Delivery — 40pts (days since last push)
- Pipeline — 30pts (ADW + CSA in 30d)
- Comms — 20pts (Slack 10 + msgs 3 + meetings 7)
- Scope — 10pts (closed/total ratio)
ADW Pipeline
Agent DevOps Workflow — 115 Executions
Automated issue-to-PR pipeline. An issue is filed, the agent plans, implements, and opens a PR — across 11 repos for 8 clients.
115Issues Processed
197Pipeline Runs
75%Success Rate
11Repos Served
8Clients Served
ADW Execution Distribution
Top Failure Modes
| Failure | Count | Root Cause |
| Branch checkout failed | 6 | Retrigger conflicts |
| No plan file | 5 | Spec generation failed |
| Zero file changes | 4 | Implementation produced no code |
| Agent timeouts | 4 | Exceeded time limits |
CSA Pipeline
Call → Specification → Artifact — 37 Engagements
Transforms unstructured inputs into deployed HTML briefings with interactive decision forms. 70% of tracked engagements converted to ADW implementation.
37Engagements
338Files Produced
70%CSA→ADW Rate
101Issues Created
84PRs Created
CSA → ADW Conversion Pipeline
Client Portfolio
March 2026 — 7 Active Clients
| Client | Monthly $ | VP | Activities | ADW | Last Meeting | Tier | Status |
| HHE | $5,000 | 100 | 28 | 14 | Jan 30 | 1 | Protected |
| Kaleido Life | — | 100 | 26 | 14 | Feb 24 | 2 | Unattributed |
| AAS | — | 100 | 5 | 0 | — | — | Protected |
| JuxtMedia | — | 100 | 22 | 9 | Mar 4 | 1 | Protected |
| FLY | — | 99 | 39 | 11 | Mar 3 | 2 | Unattributed |
| SecondAct | — | 98 | 120 | 53 | Feb 23 | 1 | Unattributed |
| Melody Keel | — | 100 | 0 | 0 | Jan 29 | — | Unattributed |
Activity Type Distribution
Operations
How It Stays Fresh
Cron Automation
- Every 30 min — 9-step flywheel
- 2:30am daily — Stripe extraction
- Sunday 7pm — Weekly handoff
Incremental Sync
- GitHub — ?since= per repo (~95% fewer API calls)
- Sessions — offset-based (new lines only)
- Meetings/Projects — timestamp-based from personal vault
Production Stats
- 20 scripts — 15 Python, 5 shell
- 8,798 lines of code (stdlib only)
- 46 commits, 19 closed issues
- Zero dependencies — no frameworks, no containers
Quality Infrastructure
- Skill chain freshness gates — verify data before downstream
- 9 sync state files — incremental everywhere
- 11-phase CSA checklist — no shortcuts
Flywheel: 9-Step Incremental Refresh