pub struct TrustedBar {
pub tenure_secs: u64,
pub messages: u64,
pub distinct: u64,
pub veteran_secs: u64,
pub roles_trust: bool,
}Expand description
Standing, earned three ways. Thresholds live in the POLICY (a locally tunable shield would make two mods convict differently under identical hashes), and every input is a shared fact — tenure from the guestbook, roles from the stamped roster, activity over the DECLARED window — so two clients compute the same standing.
A member is Trusted if ANY path clears:
- role — the community granted them one. A cosmetic role is not
immunity (that is
Protected, and it keys on moderation permissions), but it is a vouch, so it earns the gate a regular gets. - veteran — long tenure plus any activity at all. Someone who has been here for months and still talks is not a raid.
- active — tenure AND volume AND variety together, all
>=. Never volume alone: five varied lines from a script must not buy immunity, which is why every path carries a tenure floor a fresh account cannot clear.
Fields§
§tenure_secs: u64Tenure floor for the active path.
messages: u64§distinct: u64§veteran_secs: u64Tenure that earns trust on its own, given any activity.
roles_trust: boolHolding any role earns trust.
Trait Implementations§
Source§impl Clone for TrustedBar
impl Clone for TrustedBar
impl Copy for TrustedBar
Source§impl Debug for TrustedBar
impl Debug for TrustedBar
Source§impl Default for TrustedBar
impl Default for TrustedBar
Source§impl<'de> Deserialize<'de> for TrustedBar
impl<'de> Deserialize<'de> for TrustedBar
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for TrustedBar
Source§impl PartialEq for TrustedBar
impl PartialEq for TrustedBar
Source§impl Serialize for TrustedBar
impl Serialize for TrustedBar
impl StructuralPartialEq for TrustedBar
Auto Trait Implementations§
impl Freeze for TrustedBar
impl RefUnwindSafe for TrustedBar
impl Send for TrustedBar
impl Sync for TrustedBar
impl Unpin for TrustedBar
impl UnsafeUnpin for TrustedBar
impl UnwindSafe for TrustedBar
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more