patterns_trust
patterns_trust
¶
Pattern trust scoring mixin for GlobalLearningStore.
Provides trust score calculation and querying methods: - calculate_trust_score: Calculate and persist trust score - update_trust_score: Incremental trust updates - get_high_trust_patterns: Query high-trust patterns - get_low_trust_patterns: Query low-trust patterns - get_patterns_for_auto_apply: Auto-apply eligibility check - recalculate_all_trust_scores: Batch recalculation
Classes¶
PatternTrustMixin
¶
Bases: _TrustBase
Mixin providing pattern trust scoring methods.
This mixin requires that the composed class provides: - _get_connection(): Context manager yielding sqlite3.Connection - get_pattern_by_id(): For pattern lookup (from PatternQueryMixin) - get_patterns(): For filtered queries (from PatternQueryMixin) - _row_to_pattern_record(): For row conversion (from PatternQueryMixin)
Functions¶
calculate_trust_score
¶
Calculate and update trust score for a pattern.
Trust score formula
trust: float = 0.5 + (success_rate * 0.3) - (failure_rate * 0.4) + (age_factor * 0.2)
Quarantined patterns get a -0.2 penalty. Validated patterns get a +0.1 bonus.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
pattern_id
|
str
|
The pattern ID to calculate trust for. |
required |
Returns:
| Type | Description |
|---|---|
float | None
|
New trust score (0.0-1.0), or None if pattern not found. |
Source code in src/marianne/learning/store/patterns_trust.py
update_trust_score
¶
Update trust score by a delta amount.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
pattern_id
|
str
|
The pattern ID to update. |
required |
delta
|
float
|
Amount to add to trust score (can be negative). |
required |
Returns:
| Type | Description |
|---|---|
float | None
|
New trust score after update, or None if pattern not found. |
Source code in src/marianne/learning/store/patterns_trust.py
get_high_trust_patterns
¶
Get patterns with high trust scores.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
threshold
|
float
|
Minimum trust score to include. |
0.7
|
limit
|
int
|
Maximum number of patterns to return. |
50
|
Returns:
| Type | Description |
|---|---|
list[PatternRecord]
|
List of high-trust PatternRecord objects. |
Source code in src/marianne/learning/store/patterns_trust.py
get_low_trust_patterns
¶
Get patterns with low trust scores.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
threshold
|
float
|
Maximum trust score to include. |
0.3
|
limit
|
int
|
Maximum number of patterns to return. |
50
|
Returns:
| Type | Description |
|---|---|
list[PatternRecord]
|
List of low-trust PatternRecord objects. |
Source code in src/marianne/learning/store/patterns_trust.py
get_patterns_for_auto_apply
¶
get_patterns_for_auto_apply(trust_threshold=0.85, require_validated=True, limit=3, context_tags=None)
Get patterns eligible for autonomous application.
Criteria: 1. Trust score >= trust_threshold (default 0.85) 2. Quarantine status == VALIDATED (if require_validated=True) 3. Pattern is not retired
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
trust_threshold
|
float
|
Minimum trust score for auto-apply. |
0.85
|
require_validated
|
bool
|
Require VALIDATED quarantine status. |
True
|
limit
|
int
|
Maximum patterns to return. |
3
|
context_tags
|
list[str] | None
|
Optional context tags to filter by relevance. |
None
|
Returns:
| Type | Description |
|---|---|
list[PatternRecord]
|
List of PatternRecord objects eligible for auto-apply. |
Source code in src/marianne/learning/store/patterns_trust.py
recalculate_all_trust_scores
¶
Recalculate trust scores for all patterns.
Returns:
| Type | Description |
|---|---|
int
|
Number of patterns updated. |