Expand description
GCF (Graph Compact Format) encoder and decoder for Rust.
GCF is a compact, text-only, graph-native wire format designed for MCP tool responses. It exploits referential identity (local IDs), graph topology (edges as references), and hierarchical grouping (distance-based sections) to achieve significant token savings over JSON while remaining human-readable.
Specification: https://github.com/blackwell-systems/gcf
§Quick Start
use gcf::{Payload, Symbol, Edge, encode, decode};
let p = Payload {
tool: "context_for_task".to_string(),
token_budget: 5000,
tokens_used: 1847,
pack_root: String::new(),
symbols: vec![
Symbol {
qualified_name: "pkg.AuthMiddleware".to_string(),
kind: "function".to_string(),
score: 0.78,
provenance: "lsp_resolved".to_string(),
distance: 0,
signature: String::new(),
components: Default::default(),
},
],
edges: vec![],
};
let output = encode(&p);
let decoded = decode(&output).unwrap();
assert_eq!(decoded.tool, "context_for_task");Re-exports§
pub use decode::decode;pub use decode::DecodeError;pub use decode_generic::decode_generic;pub use delta::decode_delta;pub use delta::encode_delta;pub use delta::verify_delta;pub use encode::encode;pub use generic::encode_generic;pub use generic::encode_generic_with_options;pub use generic::GenericOptions;pub use generic_delta::canonical_cell;pub use generic_delta::decode_generic_delta;pub use generic_delta::decode_generic_full;pub use generic_delta::diff_generic_sets;pub use generic_delta::encode_generic_delta;pub use generic_delta::encode_generic_full;pub use generic_delta::generic_pack_root;pub use generic_delta::verify_generic_delta;pub use generic_delta::GenericDeltaPayload;pub use generic_delta::GenericDeltaSession;pub use generic_delta::GenericSet;pub use generic_delta::ReanchorPolicy;pub use generic_delta::DEFAULT_REANCHOR_N;pub use packroot::pack_root;pub use packroot::pack_root_canonical_bytes;pub use session::encode_with_session;pub use session::Session;pub use stream::StreamEncoder;pub use stream::StreamOptions;pub use stream_generic::GenericStreamEncoder;pub use types::Components;pub use types::DeltaPayload;pub use types::Edge;pub use types::Payload;pub use types::Symbol;
Modules§
- decode
- decode_
generic - GCF generic decoder: parses GCF generic or graph profile text into serde_json::Value.
- delta
- encode
- generic
- GCF generic encoder: serializes serde_json::Value into GCF generic profile.
- generic_
delta - Generic-profile delta encoding (SPEC Section 10a).
- packroot
- Graph pack root: content-addressed SHA-256 hash of a graph snapshot.
- scalar
- Common scalar grammar for GCF v2.0.
- session
- stream
- stream_
generic - types
Functions§
- kind_
abbrev - Returns the GCF abbreviation for a kind, or the original string if no abbreviation exists.
- kind_
expand - Returns the expanded kind for a GCF abbreviation, or the original string if not recognized.