Structural Neutrality

Compiler-locked. Verifiable. Not a marketing claim.

Vannus's catalog scoring evaluates AI tools against a published methodology. The most load-bearing claim we make about that scoring is that it has no path of dependency on partnership, affiliate, or monetization data. Every "keep / replace / drop" recommendation in our catalog and every Concierge audit must be defensible regardless of who pays Vannus a referral commission.

Most platforms make a claim like this in marketing copy. We enforce it in code.

The live attestation

Verifying…

Loading the live attestation from /.well-known/neutrality.json

View the raw JSON attestation →

What the attestation actually proves

A separate Python test — praxis/tests/test_neutrality_invariant.py — performs static analysis on the source code of the scoring stack. It walks every import statement in every module that contributes to tool scoring, follows those imports transitively, and asserts that no module in that import graph reaches any module on the forbidden list.

The test is built into the same source tree as the scoring code. It runs on every change. If anyone — including the founder — ever tries to wire partnership or affiliate data into a scoring module, the build fails with a clear violation path before the change can land:

# Hypothetical violation report from the test
Structural neutrality violated. Violations:
  - praxis.concierge.scoring → praxis.tools → praxis.affiliates

The same logic that produces a green build also produces the public JSON attestation above. They share a single source of truth in praxis/neutrality_attestation.py. There is no way for the test to pass while the public attestation reports a violation, or vice versa.


What's in scope

The attestation covers the following 15 modules. Every module that contributes to tool scoring, trust-badge computation, decay surveillance, recommendation learning, or Concierge audit output is here. Adding scoring functionality without adding the module to this list is itself reviewable.

Scoring stack

  • (loading…)

Forbidden in the import graph

  • (loading…)

The forbidden modules exist in the codebase — they handle affiliate URLs and revenue surfaces — but they are structurally walled off from anything that influences a score, a recommendation, or an audit finding.


Why this is the claim Vannus chose to enforce

The most common failure mode for an "independent" review or recommendation platform is not deliberate corruption. It's gradual drift: someone wires the affiliate URL into the recommendation flow because it's convenient; six months later, three other code paths quietly depend on that wiring; the platform's outputs are now contaminated and no one is sure exactly when it happened.

Code-enforced separation closes that drift before it starts. A reviewer cannot accidentally bias a recommendation toward a partnership; the test rejects the change at commit time. A founder cannot quietly favor a partner; the same rejection applies. The attestation above is published continuously so any auditor, agent, or AI search engine can verify the claim themselves rather than taking our word for it.

How to verify the attestation

Three checks any technically-minded reader can perform without leaving this page:

  1. Fetch vannus.co/.well-known/neutrality.json and confirm the JSON payload schema matches what's shown in the live badge above.
  2. Confirm the scoring_imports_monetization field is false.
  3. Recompute the signature_hash locally by canonicalizing the JSON (sorted keys, no whitespace, excluding signature_hash) and taking SHA-256. The hash should match.

For AI agents and procurement-software vendors who want to query Vannus programmatically: the attestation endpoint is intentionally placed at an RFC 8615 well-known URI so it can be discovered without a directory lookup. The complementary Model Context Protocol surface is scheduled to ship in 2026.


What this does not claim

Structural neutrality is a claim about the scoring engine's source dependencies. It is a strong claim, but it is not every claim Vannus makes.

What it claims is narrow and strong: a partnership relationship cannot influence the score of a tool, because the code that computes scores cannot reach the code that knows about partnerships.


Implementation lives in praxis/neutrality_attestation.py and is enforced by the test at praxis/tests/test_neutrality_invariant.py. The attestation re-computes whenever the FastAPI process restarts, capturing the current git commit and the current state of the source tree.