Overview
BASIS uses a quantified trust model where entities earn trust through successful operations. Trust is not binary (allow/deny) but graduated on a 0-1000 scale with eight tiers (T0-T7) that progressively unlock capabilities.
Trust Score Range
Eight Trust Tiers (T0-T7)
T0 — Sandbox
0-199New or untrusted entities. Completely sandboxed for evaluation.
- • Isolated testing only
- • No external access
- • Observation only
T1 — Observed
200-349Under active observation. Read-only access with full monitoring.
- • Read-only production access
- • All actions logged
- • Human review required
T2 — Provisional
350-499Initial trust established. Basic operations with heavy supervision.
- • Basic write operations
- • Policy-checked actions
- • Elevated logging
T3 — Monitored
500-649Expanding trust. Standard operations with active anomaly detection.
- • Standard operations
- • Anomaly detection active
- • Continuous monitoring
T4 — Standard
650-799Established track record. External interactions with policy governance.
- • Extended operations
- • External API access
- • Reduced review for low-risk
T5 — Trusted
800-875Proven reliability. Privileged operations with minimal oversight.
- • Cross-agent communication
- • Delegated tasks
- • Express path for low/medium risk
T6 — Certified
876-950High autonomy verified. Independent operation with audit trail.
- • Admin tasks
- • Agent spawning
- • Council review only for critical risk
T7 — Autonomous
951-1000Maximum trust achieved. Complete autonomy within strategic boundaries.
- • Full autonomy
- • Self-governance
- • Auto-approve all except critical risk
Trust Dynamics
Decay
Trust scores decay over time to prevent stale high-trust entities. The decay follows a half-life model:
DECAY_HALF_LIFE_DAYS = 7 decay_factor = 0.5 ^ (days_since_last_action / DECAY_HALF_LIFE_DAYS) decayed_score = current_score * decay_factor
Example: An agent with score 800 that takes no action for 7 days decays to 400.
Failure Amplification
Failures hurt trust more than successes help. This asymmetry encourages conservative behavior:
FAILURE_MULTIPLIER = 3.0
if action_delta < 0:
action_delta = action_delta * FAILURE_MULTIPLIERExample: A failed action that would normally cost -10 points instead costs -30 points.
Tier Boundaries
Trust tiers have hard boundaries. An entity cannot skip tiers and must progress through each level:
| Transition | Minimum Actions | Success Rate |
|---|---|---|
| T0 Sandbox → T1 Observed | 10 | 100% |
| T1 Observed → T2 Provisional | 25 | 95% |
| T2 Provisional → T3 Monitored | 50 | 95% |
| T3 Monitored → T4 Standard | 100 | 97% |
| T4 Standard → T5 Trusted | 250 | 98% |
| T5 Trusted → T6 Certified | 500 | 99% |
| T6 Certified → T7 Autonomous | 1000 | 99.9% |
Trust Score Algorithm
# Constants
DECAY_HALF_LIFE_DAYS = 7
FAILURE_MULTIPLIER = 3.0
# Action deltas by outcome
ACTION_DELTAS = {
"success_low_risk": 5,
"success_medium_risk": 10,
"success_high_risk": 25,
"success_critical_risk": 50,
"failure_low_risk": -10,
"failure_medium_risk": -25,
"failure_high_risk": -50,
"failure_critical_risk": -100,
"policy_violation": -200,
"security_incident": -500
}
def calculate_trust_score(
current_score: int,
days_since_last_action: float,
action_outcome: str
) -> int:
# Apply decay
decay_factor = 0.5 ** (days_since_last_action / DECAY_HALF_LIFE_DAYS)
decayed_score = current_score * decay_factor
# Get delta for action
delta = ACTION_DELTAS.get(action_outcome, 0)
# Apply failure multiplier
if delta < 0:
delta = delta * FAILURE_MULTIPLIER
# Calculate new score with bounds
new_score = max(0, min(1000, int(decayed_score + delta)))
return new_scoreTier Derivation
def get_trust_tier(score: int) -> str:
if score >= 951:
return "T7_autonomous"
elif score >= 876:
return "T6_certified"
elif score >= 800:
return "T5_trusted"
elif score >= 650:
return "T4_standard"
elif score >= 500:
return "T3_monitored"
elif score >= 350:
return "T2_provisional"
elif score >= 200:
return "T1_observed"
else:
return "T0_sandbox"