Introduce ShellClass (Application | System) as a session-scoped classification derived from PostureLevel at ceremony grant time. - ShellClass::Application: default, software operations only - ShellClass::System: host operations, requires Normal (5) posture - derive_shell_class(): pure function, configurable threshold - satisfies(): hierarchical check (System satisfies Application) - No mid-session upgrade by design (immutable in SessionScope) Added shell_class and posture_level_at_establishment to SessionScope with #[serde(default)] for backward-compatible deserialization. Signed-off-by: Tyler King <tking@guildhouse.dev> Signed-off-by: Tyler J King <tking727@gmail.com>
26 lines
938 B
TOML
26 lines
938 B
TOML
[package]
|
|
name = "bascule-core"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "Shared types for the Bascule governance-mediated access control system"
|
|
|
|
[dependencies]
|
|
serde = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
serde_json_canonicalizer = { workspace = true }
|
|
uuid = { workspace = true }
|
|
chrono = { workspace = true }
|
|
sha2 = { workspace = true }
|
|
hex = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
async-trait = { workspace = true }
|
|
tokio = { workspace = true }
|
|
# Governance ceremony state machine (extracted)
|
|
ceremony-engine = { workspace = true }
|
|
|
|
# Cross-workspace path deps — Guildhouse governance primitives.
|
|
accord-core = { path = "../../guildhouse/services/accord-core" }
|
|
registry-protocol = { path = "../../guildhouse/services/registry-protocol" }
|
|
|
|
# Cross-workspace path dep — substrate governance types (for PostureLevel).
|
|
governance-types = { path = "../../substrate/crates/governance-types" }
|