Files
growmos/docs/headless.md
T
codician-dev 988358ad1a growmos 0.1.0 — living knowledge graph for any repo, agent-native and zero-dependency
Implements the knowledge-graph playbook (extraction → resolution → assembly →
querying + evaluation loop) as a plug & play CLI + .growmos/ JSONL store:
task packets for Claude Code / Codex / Grok / Cursor / Gemini, MCP stdio server,
git hooks, CI, optional headless provider mode, Apollo example corpus, 18 tests,
docs and methodology. Repo dogfoods its own graph.
2026-08-17 14:55:19 +03:00

2.2 KiB

Headless mode: cron, CI, overnight loops

Agent-native mode needs no API key. When no agent is at the keyboard — a nightly job, a CI step, a batch backfill — growmos can call an LLM API itself. It is stdlib-only and provider-neutral.

Configure

export ANTHROPIC_API_KEY=sk-ant-…            # provider auto-detected from whichever key is set
# or
export OPENAI_API_KEY=# OpenAI
export XAI_API_KEY=# xAI Grok
# or any OpenAI-compatible server:
export GROWMOS_PROVIDER=openai GROWMOS_BASE_URL=http://localhost:11434/v1 GROWMOS_API_KEY=x
# optional per-stage overrides:
export GROWMOS_EXTRACT_MODEL=GROWMOS_REASON_MODEL=

Or set provider.name / base_url / extract_model / reason_model in .growmos/config.json (never commit an API key there — use env vars).

Model split follows the playbook's Table IV: a fast, cheap model for high-volume extraction (claude-haiku-4-5, gpt-4o-mini, grok-3-mini by default) and a stronger reasoning model for resolution, summarization and answering (claude-sonnet-5, gpt-4o, grok-3). Structured outputs are requested (output_config.format json_schema on Anthropic, response_format json_schema on OpenAI-compatible APIs) so payloads validate by construction.

Run

growmos ingest --scan --limit 25   # extraction → resolution → hub profiles, respecting caps
growmos query "…" --auto           # grounded answer via the reasoning model

Cron / GitHub Actions

- run: pip install growmos
- run: growmos ingest --scan
  env: { ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} }
- run: growmos doctor && growmos eval
- run: git add .growmos && git commit -m "growmos: overnight growth" || true

Cost notes (from the playbook's scaling guidance)

  • Extraction dominates for large corpora — cache the fixed prompt prefix and batch when your provider offers it; growmos already caps documents per run.
  • Resolution is one call per entity type per block (blocks of ≤ resolve_batch_size), not per document.
  • Summarization is per hub node and only when its source set changed.
  • Querying cost is proportional to subgraph size — tune --hops and --max-triples.