Skip to main content

Crate faf_kernel

Crate faf_kernel 

Source
Expand description

faf-kernel — the FAF kernel.

Parse, validate, and score .faf files (IANA-registered application/vnd.faf+yaml). This crate is the single source of truth consumed by every FAF shell — CLI, MCP server, WASM, edge worker.

§Example

use faf_kernel::{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);

Structs§

ContextQuality
Context quality metrics
FafData
Complete FAF file structure
FafFile
Parsed FAF file with convenient accessors
HumanContext
Human context - the 6 W’s
InstantContext
Instant context for AI
Mk4Result
The result of an Mk4 scoring run.
Mk4Scorer
The Mk4 scoring engine.
Preferences
Development preferences
Project
Project metadata
Stack
Technical stack
State
Project state
ValidationResult
Validation result

Enums§

CompressionLevel
Compression levels
FafError
FAF parsing errors
FindError
Errors from find operations
SlotState
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 .faf YAML 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