Cross-service callers
The caller in a different service, in a different language. One graph covers more than 8 languages.
For each pull request, Zenik finds the code that the change can break. It shows every caller, every service, and every test that the change affects, in more than 8 languages. Other reviewers tell you what changed. Zenik tells you what breaks.
refunds.py:88 calls create_refund()
⚠ 3 callers
lib/refund.ts:24 — keep in sync
1 file
test_refund.py:12 covers the changed path
2 tests
You do these three steps one time. After that, Zenik reviews every pull request before an engineer reads the diff.
The install screen shows all the permissions. Permission to read your code is not on the list. Zenik cannot open your repository.
Your own pipeline builds the call graph. GitHub OIDC does the authentication, so you keep no shared secrets. Later runs take seconds.
Zenik writes short comments and adds a check. Write the comment
/zenik fix, and Zenik commits the fix to the branch. It
changes only the affected files.
The caller in a different service, in a different language. One graph covers more than 8 languages.
The same logic in a second service. Zenik shows it, so that you can keep the two copies in sync.
Zenik finds the callers of a renamed symbol and of a renamed file.
Zenik lists the tests that cover the changed code. You do not search the test suite.
Other reviewers copy your repository to their servers. Zenik does not copy your repository. The analysis runs in your own pipeline, and the GitHub App has no permission to read your code.
Read the permission list on the install screen before you accept.
Your own pipeline builds the graph and does the analysis. Your code stays on your machines.
Zenik uses GitHub OIDC. There are no shared secrets and no tokens to rotate.
The agent uses your OPENAI_API_KEY. The key stays in your job. Zenik never receives it.
The call takes 30 minutes. We show you the install screen, the workflow file, and a real pull request review. Use one of your own repositories.
Book a 30-minute call → No preparation is necessary