{"id":50329098,"url":"https://github.com/alexandrebrt14-sys/geo-orchestrator","last_synced_at":"2026-05-29T08:31:02.962Z","repository":{"id":346909906,"uuid":"1191007568","full_name":"alexandrebrt14-sys/geo-orchestrator","owner":"alexandrebrt14-sys","description":"Multi-LLM orchestrator (Claude, GPT-4o, Gemini, Perplexity, Groq) with adaptive routing, FinOps governance, auto-calibration and HTTP /health. 140 tests, 53% coverage.","archived":false,"fork":false,"pushed_at":"2026-05-17T15:49:45.000Z","size":853,"stargazers_count":0,"open_issues_count":7,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-17T17:35:18.469Z","etag":null,"topics":["ai-agents","claude","finops","gemini","gpt-4o","groq","langchain-alternative","llm","multi-llm","orchestrator","perplexity","python"],"latest_commit_sha":null,"homepage":"https://alexandrecaramaschi.com/geo-orchestrator","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alexandrebrt14-sys.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":"docs/ROADMAP_2026Q2-Q4.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-24T20:42:22.000Z","updated_at":"2026-05-13T22:21:56.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/alexandrebrt14-sys/geo-orchestrator","commit_stats":null,"previous_names":["alexandrebrt14-sys/geo-orchestrator"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/alexandrebrt14-sys/geo-orchestrator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexandrebrt14-sys%2Fgeo-orchestrator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexandrebrt14-sys%2Fgeo-orchestrator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexandrebrt14-sys%2Fgeo-orchestrator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexandrebrt14-sys%2Fgeo-orchestrator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alexandrebrt14-sys","download_url":"https://codeload.github.com/alexandrebrt14-sys/geo-orchestrator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alexandrebrt14-sys%2Fgeo-orchestrator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33644126,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-29T02:00:06.066Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agents","claude","finops","gemini","gpt-4o","groq","langchain-alternative","llm","multi-llm","orchestrator","perplexity","python"],"created_at":"2026-05-29T08:31:02.200Z","updated_at":"2026-05-29T08:31:02.956Z","avatar_url":"https://github.com/alexandrebrt14-sys.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# geo-orchestrator\n\n![Python](https://img.shields.io/badge/Python-3.11+-blue.svg)\n![LLMs](https://img.shields.io/badge/LLMs-6_providers-ff6b35)\n![Tests](https://img.shields.io/badge/tests-140%20passed-brightgreen.svg)\n![Coverage](https://img.shields.io/badge/coverage-53%25-yellow.svg)\n[![CI](https://github.com/alexandrebrt14-sys/geo-orchestrator/actions/workflows/tests.yml/badge.svg)](https://github.com/alexandrebrt14-sys/geo-orchestrator/actions/workflows/tests.yml)\n![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)\n\nMulti-LLM orchestration pipeline for Generative Engine Optimization (GEO) content production. Receives a natural-language demand, decomposes it into atomic tasks via Claude Sonnet 4.6, routes each task to the most appropriate LLM (12 models across **6 providers**) based on **complexity-aware tier routing** + **provider concentration caps** + **diversity guarantee in COMPLEX plans** + adaptive scoring, and executes waves in parallel with caching, checkpoints, quality gates, FinOps governance and **WhatsApp/email alerts** on budget thresholds.\n\n**12,500+ lines | 1,189+ calls tracked | 12 models / 6 providers | unified tracking via [geo-finops](https://github.com/alexandrebrt14-sys/geo-finops)**\n\n\u003e **Updated 2026-05-17 (Sprint 12) — DIRETRIZ CANÔNICA COPY PREMIUM ONLY + PERPLEXITY PRIORIDADE EM RESEARCH**.\n\u003e Quatro mudanças canônicas:\n\u003e 1. **Copy (`writing` / `copywriting` / `seo`)** só pode ser produzido por modelos **PREMIUM-tier**: `gpt-5.5` (OpenAI flagship, default), `claude-opus-4-7` (Anthropic flagship, 1º fallback) ou `gemini-2.5-pro` (Google flagship, 2º fallback). **Sonnet / Haiku / Flash banidos de copy** (qualidade editorial PT-BR exige reasoning nativo + 1M ctx). Refletido em `TASK_TYPES` + `FALLBACK_CHAINS` + `smart_router.upgrade_hints`.\n\u003e 2. **Research / fact_check** com **Perplexity sonar-deep-research como prioridade absoluta**. Cap por provider RESTAURADO `0.35 → 0.50` (era de Sprint 10/bateria 360 e sufocava deep research editorial). Fallback chain prioriza Gemini 2.5 Pro (1M ctx) → Opus 4.7 (raciocínio) → gpt-5.5; groq/groq_heavy só como último recurso.\n\u003e 3. **Catalog YAML sincronizado**: `gpt-4o` → `gpt-5.5` no catalog (estava em drift desde Sprint 11). Pricing $5.00/$15.00 por Mtok refletido em testes (`test_sprint7.py:catalog_provides_correct_costs`).\n\u003e 4. **Smart router hints atualizadas**: quando Anthropic ausente em plano COMPLEX, antes de promover decomposition → Sonnet, tenta promover `writing/copywriting/seo` → Opus 4.7. Mesma lógica em Gemini Pro para 3º tier de copy.\n\u003e\n\u003e **Updated 2026-05-17 (Sprint 11)** — Adicionado **xAI Grok (com K) como 6º provider canônico**, distinto de Groq Inc (com Q, chips LPU). 3 entradas Grok (`grok` grok-4.3 / `grok_multi` grok-4.20-multi-agent / `grok_fast` grok-4.20-non-reasoning). 6 task types novos exclusivos: realtime_search, social_listening, current_events, brand_monitoring, multi_perspective_decomposition, long_context_synthesis. Upgrades simultâneos: Claude Opus 4.6→4.7, Groq default Llama 3.3 70B → Llama 4 Scout 17B 16E, Groq Heavy default → openai/gpt-oss-120b. **Diversity guarantee em planos COMPLEX 5+ tasks** baseado em Mixture of Agents (Wang 2024) + DAAO (2509.11079) + AdaptOrch (2602.16873). Detalhes: [docs/research/multi-llm-orchestration-2026.md](docs/research/multi-llm-orchestration-2026.md).\n\u003e\n\u003e **Updated 2026-04-07** — Migrated from single-model-per-task-type (96.7% cost concentration in Opus 4) to **tier routing by complexity** (Haiku 4.5 → Sonnet 4.6 → Opus 4.7). Added Kimi K2 + Qwen 3 32B in Groq, sonar-deep-research in Perplexity, Gemini 2.5 Pro for analysis. **Projected savings: 20-40% per execution**. Full audit: [docs/AUDIT_2026-04-07.md](docs/AUDIT_2026-04-07.md).\n\u003e\n\u003e **Unified FinOps tracking** — All calls (this orchestrator + papers + curso-factory + caramaschi + landing-page-geo probes) now flow into a single SQLite local database with nightly Supabase sync. Live dashboard at https://alexandrecaramaschi.com/finops. See the standalone [`geo-finops`](https://github.com/alexandrebrt14-sys/geo-finops) repository (initial release [v1.1.0](https://github.com/alexandrebrt14-sys/geo-finops/blob/main/CHANGELOG.md)).\n\n---\n\n## Architecture\n\n```\nDemand --\u003e Orchestrator (Claude decomposes) --\u003e Router (adaptive scoring)\n                                                       |\n                                       +---------------+---------------+\n                                       |               |               |\n                               Wave 1 (parallel) Wave 2 (parallel)  Wave 3\n                               +--+--+--+         +--+--+            +--+\n                               |P |G |O |         |C |G |            |C |\n                               +--+--+--+         +--+--+            +--+\n                               P=Perplexity G=Gemini O=OpenAI C=Claude Q=Groq\n\n                                       |\n                                       v\n                              Consolidated result\n                           (report + Gantt + cost breakdown)\n```\n\n---\n\n## 12 Models across 6 Providers (with tier routing + diversity guarantee)\n\n| Provider | Model | Tier / Role | Cost/1M tokens (in/out) |\n|---|---|---|---|\n| **Anthropic** | claude-opus-4-7 | premium · architecture/critical_review complexity 4-5 | $15.00 / $75.00 |\n| **Anthropic** | claude-sonnet-4-6 | balanced · default for code/review complexity 3 | $3.00 / $15.00 |\n| **Anthropic** | claude-haiku-4-5 | economy · classification/summarization complexity 1-2 | $0.80 / $4.00 |\n| **OpenAI** | gpt-5.5 ⭐ | **PREMIUM canonical p/ writing, copywriting, SEO** (Sprint 12) | $5.00 / $15.00 |\n| **Google** | gemini-2.5-pro | analysis, code, decomposition (Pro reservado p/ raciocínio profundo) | $1.25 / $5.00 |\n| **Google** | gemini-2.5-flash | analysis medium, classification, data_processing (5x mais barato que Pro) | $0.30 / $2.50 |\n| **Perplexity** | sonar-deep-research | research profunda com 5-40 citações verificáveis | $2.00 / $8.00 |\n| **Groq Inc (com Q)** | meta-llama/llama-4-scout-17b-16e-instruct | ultra-fast LPU · classification/summarization | $0.11 / $0.34 |\n| **Groq Inc (com Q)** | openai/gpt-oss-120b (groq_heavy) | reasoning rápido em LPU · code_review, decomposition | $0.15 / $0.20 |\n| **xAI Grok (com K) ⓘ** | grok-4.3 | flagship com busca live X/Twitter + reasoning + vision (1M ctx) | $1.25 / $2.50 |\n| **xAI Grok (com K) ⓘ** | grok-4.20-multi-agent-0309 | 4 agentes paralelos nativos (Grok+Harper+Benjamin+Lucas) — 2M ctx | $1.25 / $2.50 |\n| **xAI Grok (com K) ⓘ** | grok-4.20-0309-non-reasoning | classificação rápida + live_search_quick | $1.25 / $2.50 |\n\n\u003e ⓘ **xAI Grok (com K) ≠ Groq Inc (com Q)**. Adicionado 2026-05-17. Conta canônica `alexandre.brt14@gmail.com` / team `caramaschigeo`. API OpenAI-compatible em `https://api.x.ai/v1`. Diferencial único: `search_parameters` com busca live em X/Twitter (`realtime_search`, `social_listening`, `current_events`, `brand_monitoring`).\n| **Perplexity** | sonar-deep-research | research multi-step para complexity 4-5 (raciocinio profundo) | $2.00 / $8.00 |\n| **Groq** | llama-3.3-70b-versatile | ultra-rapida (~10x), default para Groq tier 1-2 | $0.59 / $0.79 |\n| **Groq** | moonshotai/kimi-k2-instruct | Kimi K2 1T params, raciocinio agentic, complexity 4-5 | $1.00 / $3.00 |\n| **Groq** | qwen/qwen3-32b | multilingue, traducao primary | $0.29 / $0.59 |\n\n### Tier Routing (automatic via Router._apply_claude_tier and _apply_perplexity_tier)\n\n| Complexity | Claude family | Groq family | Perplexity family |\n|---|---|---|---|\n| 1-2 (low) | claude-haiku-4-5 | llama-3.3-70b-versatile | sonar-pro |\n| 3 (medium) | claude-sonnet-4-5 | qwen/qwen3-32b | sonar-pro |\n| 4-5 (high) | claude-opus-4-6 | moonshotai/kimi-k2-instruct | sonar-deep-research |\n\n### Provider Concentration Cap (80% default)\n\nAfter 5+ tasks executed in a session, if any provider exceeds its `CAP_*_SHARE` environment variable (default 0.80), the router rebalances to the first viable alternative from a different provider. Configurable per provider via `CAP_ANTHROPIC_SHARE`, `CAP_OPENAI_SHARE`, etc.\n\n### Pipeline Role Assignment\n\n| Stage | LLM | Function |\n|---|---|---|\n| Research | Perplexity | Gathers live data with citations |\n| Writing | GPT-4o | Produces final long-form content |\n| Analysis | Gemini 2.5 Pro | Analyzes and structures data |\n| Classification | Groq/Llama-3.3-70B | Fast categorization and tagging |\n| Review | Claude Opus 4.6 | Quality check and final revision |\n\n---\n\n## 12 Task Types\n\n**Sprint 12 (2026-05-17) — diretriz canônica COPY PREMIUM ONLY + Perplexity prioridade.** Os 4 primeiros slots de `writing/copywriting/seo` são todos premium-tier (gpt-5.5, claude-opus-4-7, gemini-2.5-pro, perplexity); Sonnet/Haiku/Flash só como último recurso. Research tem Perplexity como prioridade absoluta com Gemini Pro + Opus 4.7 como fallback.\n\n| Type | Primary LLM | Fallback | Premium chain |\n|---|---|---|---|\n| `research` | **Perplexity** (sonar-deep-research) | Gemini Pro | perplexity → gemini → claude → gpt-5.5 |\n| `fact_check` | **Perplexity** (sonar-deep-research) | Gemini Pro | perplexity → gemini → claude → gpt-5.5 |\n| `writing` ⭐ | **gpt-5.5** | Claude Opus 4.7 | gpt-5.5 → claude → gemini → perplexity |\n| `copywriting` ⭐ | **gpt-5.5** | Claude Opus 4.7 | gpt-5.5 → claude → gemini → perplexity |\n| `seo` ⭐ | **gpt-5.5** | Claude Opus 4.7 | gpt-5.5 → claude → gemini → perplexity |\n| `analysis` | Gemini Flash | Groq Heavy | — |\n| `code` | Gemini Pro | Claude Sonnet | — |\n| `review` | Groq Heavy | Gemini Flash | — |\n| `architecture` | Claude Opus 4.7 | Gemini Pro | — |\n| `critical_review` | Claude Opus 4.7 | Gemini Pro | — |\n| `decomposition` | Claude Sonnet | Gemini Pro | — |\n| `code_review` | Groq Heavy | Claude Sonnet | — |\n| `data_processing` | Gemini Flash | Groq | — |\n| `classification` | Groq (Llama 4 Scout) | Gemini Flash | — |\n| `translation` | Groq | gpt-5.5 | — |\n| `summarization` | Groq | Gemini Flash | — |\n| `realtime_search` | xAI Grok 4.3 | Perplexity | — |\n| `social_listening` | xAI Grok 4.3 | Perplexity | — |\n| `multi_perspective_decomposition` | xAI Grok Multi-Agent | Claude Sonnet | — |\n\n⭐ = task type sujeito à diretriz **COPY PREMIUM ONLY** (Sprint 12).\n\n---\n\n## CLI Commands\n\n```bash\n# Full pipeline\npython cli.py run \"Write a complete study on GEO vs traditional SEO\"\n\n# View plan without executing\npython cli.py plan \"Research competitors and write report\"\n\n# LLM status\npython cli.py status\n\n# List configured models and pricing\npython cli.py models\n\n# Cost report\npython cli.py cost-report\n\n# FinOps\npython cli.py finops status     # Current limit state\npython cli.py finops reset      # Reset daily counters\npython cli.py finops report     # Detailed cost report\n\n# Tracing\npython cli.py trace list        # List recent traces\npython cli.py trace show \u003cid\u003e   # Trace details\npython cli.py trace last        # Last trace\n```\n\n### Run Options\n\n```bash\npython cli.py run \"demand\" --dry-run          # Show plan without executing\npython cli.py run \"demand\" --verbose          # Detailed progress output\npython cli.py run \"demand\" --output-dir ./out # Custom output directory\npython cli.py run \"demand\" --force            # Override budget guard\n```\n\n---\n\n## Claude Code Integration\n\nA bridge script enables direct integration from Claude Code sessions:\n\n```bash\nbash C:/Sandyboxclaude/scripts/bin/geo-bridge.sh \"your demand here\"\n```\n\nThe bridge script automatically:\n- Loads API keys from `geo-orchestrator/.env`\n- Changes to the orchestrator directory\n- Executes `python cli.py run \"$@\" --verbose`\n- Displays a summary of LLMs used and their costs\n\n---\n\n## Integration: curso-factory\n\nThe orchestrator integrates with [curso-factory](https://github.com/alexandrebrt14-sys/curso-factory) for automated course generation:\n\n- Perplexity researches the topic and market context\n- GPT-4o drafts module content and scripts\n- Gemini structures the curriculum and learning objectives\n- Claude reviews quality and pedagogical consistency\n- Output feeds directly into the curso-factory Jinja2 templates\n\nThe alexandrecaramaschi.com platform currently hosts **35 courses, 387 modules, 122K+ lines** produced through this pipeline.\n\n---\n\n## Improvement Rounds\n\n| Round | Focus | Key Deliverables |\n|---|---|---|\n| **Round 1** | Foundation | Orchestrator, pipeline, adaptive router, 4 agents, CLI, SHA-256 cache, checkpoints, quality gates, budget guard |\n| **Round 2** | Resilience \u0026 observability | FinOps with daily limits, token bucket rate limiter, tracing with spans, connection pool, cost tracker, context pipeline, feedback loop |\n| **Round 3** | Advanced intelligence | Circuit breaker, metrics dashboard, token budget allocator, agent memory, session load balancer, task re-prioritization, complexity scoring |\n| **Round 4** | Web showcase | Showcase page generated by 5 LLMs, automatic deploy |\n| **Round 5** | Security hardening | API keys via headers (not URL params), git filter-repo to clean history, .gitignore on all repos, key rotation |\n| **Round 6** | MARL analysis | Analysis based on Foerster/Jaques/Albrecht. 12 tasks, 7 groups, 5 LLMs, $2.68. Proposals: inter-agent communication, collaborative feedback, adaptive balancer |\n\n---\n\n## Intelligence Features\n\n### Foundation (Round 1)\n\n- **Result Cache**: SHA-256 with 24h TTL. Identical tasks are not re-executed.\n- **Checkpoints**: State saved per wave. Resume without re-executing completed tasks.\n- **Quality Gates**: Automatic validation per task type. Failure triggers retry on fallback.\n- **Budget Guard**: Pre-execution cost estimate. Blocks if cost \u003e limit, alert if real \u003e 2x estimate.\n- **Adaptive Router**: Weighted score — success (60%), cost (20%), latency (20%).\n- **Deduplication**: Cosine similarity \u003e 0.7 merges tasks automatically.\n- **Context Optimization**: Long outputs summarized via Gemini before injecting as context.\n\n### Resilience (Round 2)\n\n- **Rate Limiter**: Token bucket per provider with burst and stagger for Gemini.\n- **FinOps**: Daily limits per provider, cost reports, history in JSONL.\n- **Tracing**: Spans per task with timeline, duration, and metadata.\n- **Connection Pool**: HTTP connection reuse per provider.\n- **Feedback Loop**: Quality gate results adjust router scores.\n\n### Advanced Intelligence (Round 3)\n\n- **Circuit Breaker**: Protection against offline providers. Opens circuit after consecutive failures, tries half-open periodically.\n- **Dashboard**: Consolidated usage, cost, and performance metrics per provider.\n- **Token Budget Allocator**: Intelligent distribution of token budget between tasks based on complexity.\n- **Agent Memory**: Agents maintain context between executions to progressively improve quality.\n\n---\n\n## FinOps and Governance\n\n### Daily Limits per Provider\n\n| Provider | Daily Limit (USD) | Env Variable |\n|---|---|---|\n| Anthropic | $2.00 | `FINOPS_LIMIT_ANTHROPIC` |\n| OpenAI | $2.00 | `FINOPS_LIMIT_OPENAI` |\n| Google | $1.00 | `FINOPS_LIMIT_GOOGLE` |\n| Perplexity | $1.00 | `FINOPS_LIMIT_PERPLEXITY` |\n| Groq | $1.00 | `FINOPS_LIMIT_GROQ` |\n| **Global** | **$5.00** | `FINOPS_LIMIT_GLOBAL` |\n\n### Estimated Costs by Demand Type\n\n| Demand Type | Tasks | Estimated Cost |\n|---|---|---|\n| Simple research | 2-3 | $0.01-0.05 |\n| Article with research | 4-5 | $0.05-0.15 |\n| Complete study | 6-8 | $0.10-0.50 |\n| Site with content | 7-10 | $0.50-1.50 |\n\n---\n\n## Installation\n\n```bash\ngit clone https://github.com/alexandrebrt14-sys/geo-orchestrator.git\ncd geo-orchestrator\npip install -e .\ncp .env.example .env\n# Edit .env with your API keys\n```\n\n### Required Keys\n\n| Variable | Provider |\n|---|---|\n| `ANTHROPIC_API_KEY` | Anthropic (Claude) |\n| `OPENAI_API_KEY` | OpenAI (GPT-4o) |\n| `PERPLEXITY_API_KEY` | Perplexity (Sonar) |\n| `GOOGLE_AI_API_KEY` | Google (Gemini) |\n| `GROQ_API_KEY` | Groq (Llama 3.3 70B) |\n\n---\n\n## Project Structure\n\n```\ngeo-orchestrator/\n  cli.py                    # Main CLI (Click) — entry point\n  pyproject.toml            # Project configuration and dependencies\n  .env.example              # Environment variable template\n  src/\n    config.py               # LLM configs, task routing, FinOps limits\n    models.py               # Pydantic models (Task, Plan, TaskResult, ExecutionReport)\n    orchestrator.py         # Core: decompose, deduplicate, cache, budget guard, report\n    pipeline.py             # Execution engine: waves, checkpoints, quality gates, fallback\n    router.py               # Adaptive router: scoring, fallback, session load balancer\n    llm_client.py           # Unified HTTP client for 5 providers (retry, backoff)\n    rate_limiter.py         # Token bucket per provider (RPM limits, burst, stagger)\n    cost_tracker.py         # Cost tracking per task and per LLM\n    finops.py               # FinOps engine: daily limits, alerts, reports\n    tracer.py               # Tracing with spans: timeline and observability\n    connection_pool.py      # HTTP connection pool per provider\n    circuit_breaker.py      # Circuit breaker per provider: CLOSED/OPEN/HALF_OPEN\n    agents/\n      researcher.py         # Perplexity agent (research with citations)\n      writer.py             # GPT-4o agent (writing, copy, SEO)\n      architect.py          # Claude agent (code, architecture, review)\n      analyzer.py           # Gemini agent (analysis, classification, batch)\n      groq_agent.py         # Groq Llama 3.3 70B agent (speed, rapid drafts)\n  scripts/\n    run_5llm_board.py       # 5-LLM board: collaborative audit and improvement\n    implement_improvements.py\n    round3_deep_improvements.py\n  docs/\n    MANUAL.md               # Complete technical manual\n    ARCHITECTURE.md         # Detailed technical architecture\n  output/                   # Execution reports, cache, checkpoints\n```\n\n---\n\n## Security\n\n- API keys **never in URLs** — Google API key via `x-goog-api-key` header\n- All secrets via environment variables (`.env` in `.gitignore`)\n- `output/` directory excluded from git (contains logs with sensitive data)\n- Git history cleaned with `git filter-repo` after GitGuardian incident\n- Audit module: `papers/src/finops/secrets.py` with leak scanning\n\n---\n\n## Repository\n\n- **GitHub**: https://github.com/alexandrebrt14-sys/geo-orchestrator\n- **Owner**: Alexandre Caramaschi — CEO of Brasil GEO, former CMO at Semantix (Nasdaq), co-founder of AI Brasil\n\n---\n\n## Ecosystem\n\n| Property | Stack | Status |\n|---|---|---|\n| [alexandrecaramaschi.com](https://alexandrecaramaschi.com) | Next.js 16 + React 19 + Supabase | Production — 35 courses, 25 insights, 122K+ lines |\n| [brasilgeo.ai](https://brasilgeo.ai) | Cloudflare Workers | Production — 14 articles |\n| [geo-orchestrator](https://github.com/alexandrebrt14-sys/geo-orchestrator) | Python + 5 LLMs | Active — multi-LLM pipeline |\n| [curso-factory](https://github.com/alexandrebrt14-sys/curso-factory) | Python + Jinja2 | Active — course generation pipeline |\n| [geo-checklist](https://github.com/alexandrebrt14-sys/geo-checklist) | Markdown | Open-source — GEO audit checklist |\n| [llms-txt-templates](https://github.com/alexandrebrt14-sys/llms-txt-templates) | Markdown + JSON | Open-source — llms.txt standard |\n| [geo-taxonomy](https://github.com/alexandrebrt14-sys/geo-taxonomy) | JSON + CSV + Markdown | Open-source — 60+ GEO terms |\n| [entity-consistency-playbook](https://github.com/alexandrebrt14-sys/entity-consistency-playbook) | Markdown | Open-source — entity consistency |\n| [papers](https://github.com/alexandrebrt14-sys/papers) | Python + Supabase | Research — LLM citation study |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexandrebrt14-sys%2Fgeo-orchestrator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falexandrebrt14-sys%2Fgeo-orchestrator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falexandrebrt14-sys%2Fgeo-orchestrator/lists"}