Expand description
FAF Rust SDK — the facade over the FAF kernel.
faf-rust-sdk re-exports two crates so downstream code has one dependency
for the whole Rust FAF surface:
faf-kernel— parse, validate, and score.faffiles (the kernel).faf-fafb— the compiled binary form, re-exported here under thebinarymodule.
As of 3.0 the SDK contains no logic of its own; it is a stable import
surface. The kernel is the single source of truth — the same faf-kernel
object scores in the CLI, the MCP server, WASM, and the edge worker, so
parity is a property of the build, not a test that has to be re-run.
§Example
use faf_rust_sdk::{parse, score};
let content = r#"
faf_version: 2.5.0
project:
name: my-project
goal: Build something great
"#;
let faf = parse(content).unwrap();
assert_eq!(faf.project_name(), "my-project");
let result = score(content).unwrap();
assert!(result.score <= 100);Modules§
- binary
- The compiled binary form of
.faf— FAFb v2 (re-export offaf-fafb).
Structs§
- Context
Quality - Context quality metrics
- FafData
- Complete FAF file structure
- FafFile
- Parsed FAF file with convenient accessors
- Fafb
Header - The 32-byte FAFB file header
- Flags
- Helper struct for working with flags
- Human
Context - Human context - the 6 W’s
- Instant
Context - Instant context for AI
- Mk4Result
- The result of an Mk4 scoring run.
- Mk4Scorer
- The Mk4 scoring engine.
- Preferences
- Development preferences
- Priority
- Priority level with semantic meaning
- Project
- Project metadata
- Section
Entry - A single section entry in the section table
- Section
Table - The section table containing all section entries
- Stack
- Technical stack
- State
- Project state
- Validation
Result - Validation result
Enums§
- Compression
Level - Compression levels
- FafError
- FAF parsing errors
- Fafb
Error - Errors that can occur when working with .fafb files
- Find
Error - Errors from find operations
- Slot
State - The three technical states of a FAF slot.
Constants§
- TOTAL_
SLOTS - The total number of FAF slots. The kernel always scores against all 33;
“21-base” files simply carry the 12 enterprise slots as
slotignored. - VERSION
- Library version
Functions§
- compress
- Compress FAF to specified level
- estimate_
tokens - Get estimated token count for compression level
- find_
and_ parse - Find and parse FAF file in one call
- find_
faf_ file - Find FAF file starting from given directory, walking up to parents
- parse
- Parse FAF content from string
- parse_
file - Parse FAF from file path
- score
- Score a
.fafYAML document against the 33-slot model. - stringify
- Serialize FAF back to YAML string
- tier_
name - Canonical tier name for a score — source of truth: tiers.ts.
- tier_
symbol - Canonical tier symbol — Trophy 🏆 is the ONLY emoji; sub-Trophy tiers use clean Unicode geometric symbols. The medal-emoji ladder is history.
- validate
- Validate FAF file structure