Bearing Pro · self-hosted · annual
Findings that survive contact with a team.
The free tool tells you what your system looks like today. Bearing Pro is the memory, enforcement and measurement laid over it — a service you host, whose analysis, code and history stay in your infrastructure and never reach us.
Who it’s for
Anyone holding a codebase they didn’t write — after an acquisition, an inherited product, a team that has turned over. And any organisation whose codebase is worked by more than one team or stream of work.
What it is
A web application you run inside your own infrastructure. Bearing runs in your CI on every pull request and on the main branch, posts its output to the service you host, and the service keeps the history: what changed, and whether the trend is getting worse.
pro-home Home: one row per analysis unit and its countables. Screenshot from a real install with a real backfill. Three jobs
The free tool does its jobs once. Bearing Pro does them continuously — and for one of them, it’s the only thing that can do it at all.
1 · Orientation
Nobody can get familiar with an unfamiliar repository quickly.
Free Bearing gives you the map, and where the unusual things sit. Bearing Pro adds what has been happening to it, and what the team already decided: this component has been churning for eight months; this oddity was reviewed in March and is deliberate.
On 284 matched pairs, the components Bearing names are touched significantly more than controls matched on size and complexity — 0.475 against 0.380, p = 0.010. Bearing points at the parts of a system that are actually being worked on, beyond what size alone would tell you.
pro-overview A unit's overview page — orientation, with churn. 2 · Blind spots
You can’t see what you didn’t think to look for.
Free Bearing gives you the findings, today. Bearing Pro gives you the same, continuously and only when new: a pull-request comment names only what this change introduced or worsened, and a finding the team has examined and accepted is never raised again.
pro-pr-comment A pull-request comment naming only what the change introduced. pro-finding-detail A finding's detail page, with its evidence. 3 · Method — no free version
Teams adopt standards and have no instrument for whether they worked.
Declare a standard — a layering rule, a decision to stop putting logic in controllers — and see what the findings it targeted did afterwards, and why each one that left, left: the code improved, the code was deleted, a threshold moved between tool versions, someone acknowledged it, or its peer group moved around it.
Bearing Pro never says the standard worked. It says what happened after it, and why each thing moved.
pro-intervention An intervention: a declared standard, and what its findings did afterwards. How it fits your pipeline
-
A one-line CI step.
On an agent that already has the .NET SDK:
dotnet tool install --global IronMarten.Bearing.Connect. The package is published with Bearing Pro’s first release. -
Annotate, don’t fail.
It never fails a build on a statistical finding. Only a violation of a rule your team declared can fail a build.
-
Backfill on first install.
A newly acquired codebase, or a new joiner, gets its history on day one.
-
Pull-request comments about the change, not the codebase.
Only what the change introduced or worsened — never the standing state of the codebase, which would be noise pinned on whoever touched the file.
-
A weekly digest, not alerts.
To Slack or Teams. The only immediate notification is a violation of a rule you declared — an interruption you authorised.
pro-digest The weekly digest as it lands in Slack or Teams. Decisions that stay decided
-
Acknowledgment memory.
Mark a finding known and fine, with a reason, in a browser. The file lands in your repository, in the format the free tool reads. It’s raised again only if the evidence moves materially. The accumulated file is institutional memory a new joiner can read on its own.
-
Declared policy.
Your team writes down its intended architecture — layers, allowed dependencies, ownership — in a versioned file. Bearing Pro drafts a starting one; the team ratifies it. It never infers a violation: it says violation only because you supplied the rule.
-
Trends without a score.
The main view follows a standard you declared. Around it, countables over time, each drillable, none combined into a number: findings of a declared-policy kind in the declared area; unacknowledged findings by age; policy violations; components that are load-bearing and intricate; components spanning layers; churn.
pro-acknowledgments The acknowledgment register, with reasons. Built not to watch people
Never a per-developer metric, by design. No author column on any table; no ranking; no per-person view, export or filter.
A number a tool publishes about a person ends up in a performance review, whatever it was built for.
Nothing reaches us
- Your code, its analysis and its history stay in your infrastructure. Digests and comments go only to the destinations you configure.
- No telemetry, no usage reporting, no phone-home. The server refuses any outbound request to a host you haven’t configured.
- The licence key is verified offline. Designed for air-gapped installs.
- One artifact leaves, once a year, carried by your own operator: the renewal attestation — repository identities hashed, nothing about people.
- Nothing is held hostage. Going over your band never blocks or degrades anything, and a lapsed install keeps running read-only with full export.
How it’s delivered
A self-contained single-file server for linux-x64 and win-x64, or the
same binary as a container image. No database server, no broker: one process, one data
directory.
Questions
Does my code reach you?
No, for either product. Bearing makes no network call. Bearing Pro runs in your infrastructure: your code, its analysis and its history stay there, and digests and comments go only to the destinations you configure.
Do I need an account?
No account with us, for either product. Bearing needs none at all. Bearing Pro signs your people in to the server you host, and its licence key is issued to your organisation and verified offline.
What does it analyse?
The C# projects in a .NET solution. VB.NET and F# projects in the same solution aren’t analysed.
Is there a score?
No, and there never will be.
Does it use AI?
No. Findings are deterministic and auditable.
Can managers see who introduced the most findings?
No. It isn’t computed, and it isn’t available in any view, export or filter.
What happens if we don’t renew Bearing Pro?
Nothing changes for 30 days. After that the install keeps running read-only, indefinitely, and everything it holds can be exported.
See it on your own history
A 90-day pilot installs Bearing Pro in your infrastructure and backfills it over your repository’s history on day one.