Verify the change. Deploy with evidence.
Fluent Graph is operational intelligence for ServiceNow development teams — it resolves what a change reaches across the whole project, at the moment the change is made.
Before it ships, rather than after it breaks.
npx @yesprasad/fluent-graph Every change, accounted for.
One command produces a complete record of what moved: the inventory, the findings, the evidence behind each one, and the checks it did not run. Self-contained, offline, and yours to keep.
file:///…/pr-review-community.html self-contained · offline fluent-graph review on a reference project.
Open the full report → Review speed kept up with the agent. Review depth did not.
The diff is a list of files. The change is a set of artifacts with relationships between them, and those relationships are where a deploy breaks.
writes the change
An ACL, a business rule trigger, a field removed from a table. Committed, pushed, and on its way in under a minute.
sees five files
A diff shows what was edited. It cannot show the client script three hops away that reads a field which no longer exists.
finds the rest
At runtime, in front of users, as an error nobody can attribute to a change that looked small.
Counts show connected metadata records, including generated test records. They describe static dependency reach, not confirmed runtime failures.
x_1566039_testing.fraud_manager (Role, sys_user_role) — 5 impacted: 2 direct, 3 transitive, deepest path 3 hops.
| Name | Type | Table | Hop |
|---|---|---|---|
| ACL role mapping · 780434… | ACL role mapping | sys_security_acl_role | 1 |
| ACL role mapping · c52f3b… | ACL role mapping | sys_security_acl_role | 1 |
| x_1566039_testing_fraud_a… | ACL | sys_security_acl | 2 |
| x_1566039_testing_fraud_a… | ACL | sys_security_acl | 2 |
| ACL role mapping · c… | ACL role mapping | sys_security_acl_role | 3 |
“I used Claude Code to build apps in ServiceNow… it would’ve been great to see and review it before committing. The visuals make that easier.”
Deterministic, not inferred.
The same change produces the same finding, every time, for anyone who runs it. No scores, no confidence percentages, no answer that changes between runs.
| Rule | Fires when | Severity |
|---|---|---|
| FG-ACL-001 | Roles on an ACL changed through emitted ACL-role relationships | warning |
| FG-ACL-002 | An existing ACL's operation, type, name, field, or condition changed | warning |
| FG-BR-001 | An existing Business Rule's when changed | warning |
| FG-BR-002 | Established boolean trigger flags changed | warning |
| FG-DEP-001 | A removed artifact still has a surviving non-composition reference | error |
Nothing is guessed from a filename, a record name, or a regular expression over your script source.
It tells you what it did not check.
Every report enumerates its own evidence sources — including the ones it has no view of. Rule coverage never hides a change.
| Source | State | Note |
|---|---|---|
| Fluent static analysis | Findings | Static change checks completed. |
| ATF | Not assessed | Not assessed by this static report. |
| Instance Scan | Not assessed | Not assessed by this static report. |
| Access Analyzer | Not assessed | Not assessed by this static report. |
| Dependency review | Not assessed | Not assessed by this static report. |
| GitHub checks | Not assessed | Not assessed by this static report. |
The decision ledger reports blocking findings as by policy · not evaluated until a team policy is configured. The tool will not manufacture a verdict it was not asked to make.
The findings above are produced without a model. An AI summary is one optional request, to a
provider you choose — including ollama, so the reasoning never leaves your machine either.
What is sent
- The resolved facts about what changed
- The affected artifacts and their relationships
- The gaps the static analysis could not close
What is never sent
- Your source code
- Your API key, in any form
- Anything from your ServiceNow instance
You can read the request before it exists. One flag prints the complete plan — every request, its size budget, and anything left out with the reason it was left out — and sends nothing. Another guarantees no provider is contacted at all.
If the provider fails or answers with something unexpected, the report says so and the findings stand.
Nothing leaves your machine.
There is no Fluent Graph service to send anything to. The review runs where your code already is.
- No telemetry in this release.
- Source code is never included in an AI request.
- Your API key is never printed, logged, placed in a command argument, written to a report, or included in a payload preview.
- Nothing is installed in your instance, and the reviewed working tree is never modified.
Wherever the change is being made.
The same intelligence in your terminal, your pipeline, your coding agent and your browser — because a change can now originate in any of them.
Five commands, in your terminal or your pipeline.
analyze · blast · validate · context · review
npx @yesprasad/fluent-graph Let a coding agent check reach before it acts.
blast_radius · get_artifact · list_artifacts · refresh
npx @yesprasad/fluent-graph-mcp --project-root . See the whole project at once, offline and interactive.
click-to-highlight · search · pan and zoom
npx @yesprasad/fluent-graph-visualize Running this across an organisation?
Fluent Graph Enterprise is in development — shared gate configuration, report history, and support terms.
Free forever for developers.
The full local review, the CLI, the MCP server and Visualize. No seat limits and no trial.
npx @yesprasad/fluent-graph Requires Node.js 18+ and an existing Fluent SDK project.
“This is awesome. It keeps getting better!”