#Scoring model
When many issues arrive at once, Claudear computes a composite severity score from five weighted signals:
| Signal | Default weight | What it measures |
|---|---|---|
| Severity | 0.30 | Source-provided severity (e.g. Sentry level, Linear priority) |
| Frequency | 0.25 | Event count / occurrence rate |
| Regression | 0.20 | Is this a regression of a previously fixed issue? |
| Blast radius | 0.15 | Which part of the codebase is affected? |
| Cluster | 0.10 | Part of a cluster of related issues? |
Weights are configurable and should sum to ~1.0 for intuitive scores.
#Blast radius classification
Claudear classifies every issue into a tier based on the file paths, function names, and culprit metadata it touches:
| Tier | Default path patterns |
|---|---|
| Critical | auth, payment, billing, security, login, oauth |
| Core | api, core, middleware, router, handler |
| Infra | deploy, infra, ci, docker, terraform, k8s, database, migration |
| Test | test, spec, fixture, mock |
| Cosmetic | readme, changelog, license, docs, md |
Matching is case-insensitive and splits on /, \, ., _, -. You can customise each tier's patterns in config.
#Content clustering
Content clustering groups issues by error type, culprit, and title similarity. When a deploy breaks three endpoints, instead of treating them as three separate issues, Claudear clusters them and addresses the root cause first.
Configure via content_clustering, cluster_similarity_threshold (default 0.60), and min_content_cluster_size (default 2).
#Suppression rules
Suppression rules skip known-noisy issues before they consume processing slots. Each rule matches a field against a pattern. First matching rule wins.
[[prioritisation.suppression_rules]]
name = "flaky-ci"
field = "title" # title | description | source | culprit | filename | error_type | project | labels | metadata:<key>
pattern = "flaky"
match_mode = "contains" # contains | exact | regex
reason = "Known flaky test"
#Configuration
All settings live under [prioritisation]. See the full reference for every option.
[prioritisation]
# Enable the prioritisation engine (default: true)
enabled = true
# Component weights (should sum to ~1.0)
severity_weight = 0.30
frequency_weight = 0.25
regression_weight = 0.20
blast_radius_weight = 0.15
cluster_weight = 0.10
# Path patterns for blast radius tiers
critical_paths = ["auth", "payment", "billing", "security", "login", "oauth"]
core_paths = ["api", "core", "middleware", "router", "handler"]
infra_paths = ["deploy", "infra", "ci", "docker", "terraform", "k8s", "database", "migration"]
test_paths = ["test", "spec", "fixture", "mock"]
cosmetic_paths = ["readme", "changelog", "license", "docs", "md"]
# Content clustering
content_clustering = true
cluster_similarity_threshold = 0.60
min_content_cluster_size = 2