ARCHITECTURE.md explains the governed shell stack, Keylime integration model, ShellClass derivation, and implementation status for reviewer orientation. CHANGELOG documents v0.1.0-rc.1 deliverables. Cargo.toml metadata (license, repository) added to bascule-core, bascule-agent, bascule-gateway. Signed-off-by: Tyler King <tking@guildhouse.dev> Signed-off-by: Tyler J King <tking727@gmail.com>
1.9 KiB
1.9 KiB
Changelog
[0.1.0-rc.1] - 2026-04-15
Added
-
ShellClass (Application | System) derived from PostureLevel at ceremony grant
- Immutable for session lifetime — no mid-session upgrade, downgrade only
derive_shell_class()pure function with configurable thresholdsatisfies()hierarchical check (System satisfies Application)
-
PostureReader in bascule-agent replacing soft-mode attestation
- Reads
posture-currentConfigMap written by substrate-operator - TTL-cached (30s default) with stale-serve-on-error semantics
- Fail-closed to
PostureLevel::Lockdownon ConfigMap unavailability posture_source="static"preserved for dev/test without a cluster
- Reads
-
DelegationScope for Infrastructure shell pattern
- Application sessions with delegation authority for orchestrators (Ansible/Terraform)
TargetSelector: Hosts, LabelSelector (deferred), TrustDomain- Orthogonal to ShellClass — independent axes on SessionScope
-
Session downgrade on posture breach
- Breach evaluator maps all 5
BreachResponsevariants (LogOnly, AlertDelegates, ReducePosture, SuspendTrust, RevokeAccord) - 30s posture polling loop on
posture-currentConfigMap - System sessions downgraded to Application on posture degradation
- SuspendTrust/RevokeAccord terminate sessions immediately
- Breach evaluator maps all 5
-
Worker pre-flight enforcement in org-ops
required_shell_class()on OrgCommands trait (default: Application)target_host()on OrgCommands trait for remote dispatch- Three-step pre-flight: delegation authority + target scope + target posture
- Fail-closed on unknown delegation or posture
-
SessionScope enrichment
shell_class: ShellClasswith#[serde(default)]posture_level_at_establishment: Option<u8>with#[serde(default)]delegation: DelegationScopewith#[serde(default)]- All backward-compatible with existing persisted sessions