Skip to main content

bifp_core/
lib.rs

1//! bifp-core — Bidirectional Instant Feedback Protocol, native primitives.
2//!
3//! Real, tested Rust implementing the mechanics described in BIFP v0.1
4//! (`docs/bifp-protocol.tex` in this repository): a ternary flag tuple, teach-then-handoff
5//! task decomposition, ternary consensus for resolving disagreement, a TAP-inspired
6//! hold-until-resolved primitive, the co-designed badge palette, and — the thing the
7//! hosted `ternlang-engram` MCP server's persisted schema doesn't have — a store where
8//! the trit is a real, native field, not a value folded into a tags array.
9//!
10//! Provenance discipline (same one the protocol document itself insists on): every
11//! module here is original code written for BIFP. Nothing in this crate is, extends, or
12//! claims to be part of the separately published `ternlang-engram`/`ternlang-py`
13//! packages or the (not present on disk, unverified) "TAP" mentioned in the Ternlang
14//! whitepaper. Where this crate's behavior was designed to match something observed
15//! (e.g. `Trit::consensus`), that provenance is stated in the relevant module's docs.
16
17pub mod badge;
18pub mod flag;
19pub mod plan;
20pub mod store;
21pub mod tap;
22pub mod trit;
23
24pub use badge::{derive as derive_badge, Badge, BadgeContext};
25pub use flag::{Flag, Source};
26pub use plan::{plan, Plan, Subtask};
27pub use store::FlagStore;
28pub use tap::{evaluate as tap_evaluate, resolve as tap_resolve, Signal};
29pub use trit::{decide, Trit};