TL;DR: faf-kernel is the engine under every FAF score. We scored 9 public project.faf files through 6 engines: the kernel itself, faf-cli, faf-python-sdk and three hosted MCP routes. 54 of 54 scores agree.

In Plain English

Old state. Each FAF app grew its own way of scoring. They mostly agreed. Mostly isn't good enough for a number people rely on.

Fix. One kernel. Every app either runs it, or matches it file for file and proves it with tests.

New state. Ask any FAF tool about your project and you get the same number. The table below shows it.

cargo add faf-kernel

The same kernel, compiled to WebAssembly, is on npm as faf-scoring-kernel. That's the build faf-cli carries.

The matrix

Nine public project.faf files from FAF repos, each scored by six engines on September 30, 2026. The last row is the faf-cli file with its slotignored markers stripped, the way a file looks before faf auto.

Filefaf-kernelfaf-cli v8Python v2/claude/grok/faf
agents-md-facts525252525252
mcp-context-card565656565656
claude-faf-mcp100100100100100100
faf-cli100100100100100100
faf-mcp100100100100100100
faf-python-sdk100100100100100100
gemini-faf-mcp100100100100100100
grok-faf-mcp100100100100100100
faf-cli, no markers363636363636

/claude, /grok and /faf are the hosted routes on mcpaas.live. claude-faf-mcp, faf-mcp and grok-faf-mcp score through faf-cli, and gemini-faf-mcp through faf-python-sdk, so the table covers them too.

The no-markers row is the upgrade story in one line: 36 until faf auto marks the 12 enterprise slots slotignored, then 100.

The version numbers tell the story

faf-cli is at v8, claude-faf-mcp v7, faf-mcp v4, gemini-faf-mcp v3, grok-faf-mcp and faf-python-sdk v2, mcpaas.live v1.8. The kernel is at v1.1. It's the youngest piece, and it's the engine every other product now stands on.

v1.1.1 made the last difference go away: tbd and todo count as empty, in the kernel and everywhere else.

The series

Try it

npx faf-cli auto npx faf-cli score

Then ask Claude, your IDE, Gemini or Grok for the score. It will be the same number.

More depth: crates.io · docs.rs · The Always33 Suite.

Technical details

  • Version: faf-kernel 1.1.1 (September 25, 2026)
  • Packages: crates.io faf-kernel · npm faf-scoring-kernel (WebAssembly)
  • Scoring: always-33; 21 slots filled, the 12 enterprise slots slotignored where they don't apply
  • Matrix: 9 files × 6 engines = 54 scores, all equal (September 30, 2026)