Erinaldorodrigues commited on
Commit
5e23899
·
1 Parent(s): a744d19

Use explicit risk gates for SAFE approval

Browse files
Files changed (2) hide show
  1. CHECKSUMS.sha256 +1 -1
  2. app/core/analyzer.py +5 -2
CHECKSUMS.sha256 CHANGED
@@ -10,7 +10,7 @@ ad56ac369ef2949200f6d45eaeeff4d77c9f5f780780975434c9e4c5aafda29b RELEASE_NOTES_
10
  e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 app/__init__.py
11
  c4891fc509f38fb94d9006be910c18b7573645c11da3532c38356302d99c7e55 app/config.py
12
  e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 app/core/__init__.py
13
- d275508ca46c82aacf06b8603486fc1196b558a188b3b90829cd0f6163da4612 app/core/analyzer.py
14
  48c155a14807a76713edb7579076fa877587e5cff9e35f8f7d0fef35d821396f app/core/calibration.py
15
  ecc608094af12bc17a728263a7e963bde91ea26ac2a8715101e7493735f95453 app/core/competitions.py
16
  0545a029d7488a10cc6d3dd8d2c69c38d5b6b3246ceb34b035ed0f2b77570e49 app/core/history.py
 
10
  e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 app/__init__.py
11
  c4891fc509f38fb94d9006be910c18b7573645c11da3532c38356302d99c7e55 app/config.py
12
  e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 app/core/__init__.py
13
+ f3c348363a4519ac6ab7c3a98045747e961379b62b391157cbd9db10d23be54b app/core/analyzer.py
14
  48c155a14807a76713edb7579076fa877587e5cff9e35f8f7d0fef35d821396f app/core/calibration.py
15
  ecc608094af12bc17a728263a7e963bde91ea26ac2a8715101e7493735f95453 app/core/competitions.py
16
  0545a029d7488a10cc6d3dd8d2c69c38d5b6b3246ceb34b035ed0f2b77570e49 app/core/history.py
app/core/analyzer.py CHANGED
@@ -299,6 +299,8 @@ def analyze_events(
299
  reasons.append("mercado muito disperso para a seleção")
300
  if data_quality < 0.52:
301
  reasons.append("qualidade de dados insuficiente")
 
 
302
  if calibrated_p < min_probability:
303
  reasons.append("probabilidade abaixo do filtro")
304
  if conservative < min_conservative_probability:
@@ -319,8 +321,9 @@ def analyze_events(
319
  reasons.append("seleção mudou desde o último scan")
320
  if version_conflict:
321
  reasons.append("evento já rastreado por uma versão anterior")
322
- if score < min_safe_score:
323
- reasons.append("SafeScore abaixo do mínimo")
 
324
 
325
  row = {
326
  "side": side,
 
299
  reasons.append("mercado muito disperso para a seleção")
300
  if data_quality < 0.52:
301
  reasons.append("qualidade de dados insuficiente")
302
+ if reliability < 0.60:
303
+ reasons.append("confiabilidade combinada abaixo do mínimo")
304
  if calibrated_p < min_probability:
305
  reasons.append("probabilidade abaixo do filtro")
306
  if conservative < min_conservative_probability:
 
321
  reasons.append("seleção mudou desde o último scan")
322
  if version_conflict:
323
  reasons.append("evento já rastreado por uma versão anterior")
324
+ # SafeScore is a transparent ranking/label. Approval is controlled by
325
+ # the explicit safety gates above, avoiding a second, opaque veto over
326
+ # candidates that already satisfy every measurable requirement.
327
 
328
  row = {
329
  "side": side,