Skip to content

v2.0.0: Runtime adapter layer + standalone egeo CLI

Latest

Choose a tag to compare

@mverab mverab released this 30 Jun 10:05

Runtime-agnostic execution. E-GEO now runs outside Claude Code through a standalone egeo CLI and a pluggable runtime-adapter layer — without duplicating any optimization logic. Both the Claude Code agents and the CLI share one source of truth (geo_eval.py + llm_client.py).

Highlights

🧩 Runtime adapter layer (egeo/runtimes.py)

  • RuntimeAdapter interface + registry (get_runtime, list_runtimes, runtime_status).
  • python adapter (aliases cli, local) — in-process, honors GEO_EVAL_MOCK.
  • claude-code adapter (alias claude) — host-executed descriptor, auto-detected via .claude/.

⌨️ Standalone egeo CLI (python -m egeo)

Command Behavior
optimize <file> Full pipeline (analyze → rank → rewrite → schema); writes report.md, optimized/*.md, schema/*.json, analysis.json
evaluate Delegates to geo_eval.pybyte-identical output
optimize-prompts Meta-optimizes the rewriter prompt (non-destructive by default)
runtimes Lists runtime adapters and live status

Install with pip install -e .. The whole CLI honors GEO_EVAL_MOCK=1 for deterministic, offline runs (no API key).

🤖 Release automation (.github/workflows/release.yml)

  • Publishes a GitHub Release on v* tags (and manual workflow_dispatch), extracting the matching CHANGELOG.md section.
  • Uses the GitHub-injected token (${{ github.token }}) — never a PAT.

✅ CI

  • New egeo CLI smoke test under GEO_EVAL_MOCK=1 (runtimes + evaluate + optimize + JSON-LD validation). Existing quality gates unchanged.

📚 Docs & spec

  • README: new "Standalone CLI (egeo)" and "Supported Runtimes" sections.
  • OpenSpec change add-runtime-adapters (proposal, tasks, design, capability spec).

Full changelog: https://github.com/mverab/eGEOagents/blob/main/CHANGELOG.md · PR: #10