ShellTier enum (T0-T6) with tree hierarchy, satisfies(), from_shell_class() backward compat mapping. Exported as GSH_SHELL_TIER alongside GSH_SHELL_CLASS. SessionState carries shell_tier derived from AC shell_tier field, GSH_SHELL_TIER env, or shell_class mapping. Prompt shows tier: [governed] T2:tking@gsh. Optional LMDB enrichment (behind `lmdb` feature flag): reads earned credentials and identity class from substrate-identity-store, displays in banner. 16 shell_tier tests, 3 LMDB enrichment tests, 3 governance_env tests. 66 tests without lmdb, 69 with --features lmdb. Signed-off-by: Tyler J King <tking@guildhouse.dev> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Signed-off-by: Tyler J King <tking@guildhouse.dev>
30 lines
856 B
Rust
30 lines
856 B
Rust
pub mod ac;
|
|
pub mod agent_api;
|
|
pub mod capabilities;
|
|
pub mod chronicle_events;
|
|
pub mod classifier;
|
|
pub mod config;
|
|
pub mod corpus;
|
|
pub mod cr;
|
|
pub mod governance_env;
|
|
#[cfg(feature = "lmdb")]
|
|
pub mod lmdb_enrichment;
|
|
pub mod register;
|
|
pub mod registry;
|
|
pub mod session;
|
|
pub mod shell_tier;
|
|
|
|
pub use ac::{AcValidationError, AuthorizationContext};
|
|
pub use classifier::{classify_command, CommandClass, FREE_COMMANDS};
|
|
pub use config::GshConfig;
|
|
pub use corpus::{corpus_check, corpus_check_with_base, CorpusCheckResult, DEFAULT_CORPUS_BASE};
|
|
pub use cr::{post_cr, CrResult};
|
|
pub use registry::ConsumedRegistry;
|
|
pub use session::SessionState;
|
|
pub use shell_tier::ShellTier;
|
|
|
|
/// Compute SHA-256 hash with "sha256:" prefix.
|
|
pub fn sha256_hash(data: &[u8]) -> String {
|
|
use sha2::{Digest, Sha256};
|
|
format!("sha256:{}", hex::encode(Sha256::digest(data)))
|
|
}
|