Skip to content

feat(llm): openai-cli backend — semantic extraction through the locally authenticated Codex CLI - #2981

Closed
Azeem1985 wants to merge 17 commits into
Graphify-Labs:v8from
TelB-io:feat/openai-cli-backend
Closed

feat(llm): openai-cli backend — semantic extraction through the locally authenticated Codex CLI#2981
Azeem1985 wants to merge 17 commits into
Graphify-Labs:v8from
TelB-io:feat/openai-cli-backend

test(openai-cli): cover the happy parse, failure raises with vendor d…

1d0a933
Select commit
Loading
Failed to load commit list.
Graphify Labs / Graphify succeeded Aug 24, 2026 in 0s

Graphify — worth a look

Worth a look — the grounded gate found no coupling regressions or blocking issues, but 5 advisory finding(s) below merit a look before merge.

Details

Graphify reviewed this change.

Worth a look — the grounded gate found no coupling regressions or blocking issues, but 5 advisory finding(s) below merit a look before merge.


Graphify review — findings

Adds an openai-cli backend that runs semantic extraction and community labeling through the locally authenticated Codex CLI (stdin-fed prompts, read-only sandbox, per-server MCP disabling, turn.completed usage parsing, forced-serial by default), and gates it on a present codex binary like claude-cli. Adds graphify extract --fallback-backend/GRAPHIFY_FALLBACK_BACKEND for a one-shot retry of failed chunks on a second backend, and makes extract hold the per-repo rebuild lock across its whole pipeline. Extends graphify watch --semantic to auto-run extraction as a locked subprocess on doc/image changes, and batches export neo4j|falkordb --push into UNWIND queries with a --batch-size flag (default 100).

Worth a look

  • --no-cluster path now builds and writes clustered graphgraphify/cli.py · Escalate · high
    • agreed by 2 of 2 members but NOT verified (no proof, no reproducing execution) — consensus is not a verdict; needs human review
  • --global-merge no longer merges into global graphgraphify/cli.py · Escalate · high
    • agreed by 2 of 2 members but NOT verified (no proof, no reproducing execution) — consensus is not a verdict; needs human review
  • AST extraction and downstream logic moved under if needs_llm: blockgraphify/cli.py · Escalate · high
    • agreed by 2 of 2 members but NOT verified (no proof, no reproducing execution) — consensus is not a verdict; needs human review
  • Default extract no longer writes analysis/manifest or final outputgraphify/cli.py · Escalate · high
    • agreed by 2 of 2 members but NOT verified (no proof, no reproducing execution) — consensus is not a verdict; needs human review
  • Extract finalization is guarded by global_mergegraphify/cli.py · Escalate · high
    • agreed by 2 of 2 members but NOT verified (no proof, no reproducing execution) — consensus is not a verdict; needs human review
Analysis details — impact, health, verification

Impact & health

Graphify review

Impact — 1356 functions depend on the 617 functions this change touches.

Health — this change adds coupling hotspots:

  • new: _rebuild_code() — 98 callers, 50 callees
  • new: deduplicate_entities() — 63 callers, 21 callees
  • new: build_merge() — 46 callers, 14 callees
  • new: extract_files_direct() — 17 callers, 21 callees
  • new: extract_corpus_parallel() — 26 callers, 11 callees
  • new: _call_claude_cli() — 31 callers, 9 callees
  • new: dispatch_command() — 2 callers, 121 callees
  • new: _call_llm() — 11 callers, 21 callees
  • …and 24 more — each is listed as a finding

Verification — 1356 functions in the blast radius were not formally verified this run (proofs are advisory here).

Gate & verification

graphify gate

PASS — objectively clean (no health regressions, tests not run — proofs not run this pass (advisory)). Grounded, not self-assessed.

Advisory (not blocking):

  • verification_scope: 1292 function(s) in the blast radius were not formally verified this run