CtrlK
BlogDocsLog inGet started
Tessl Logo

jbaruch/face-recognition-calibration

Production-grade dlib face_recognition toolkit: piecewise confidence formula, enrollment quality diagnostics, and producer-side persistence for flicker suppression.

96

2.70x
Quality

93%

Does it follow best practices?

Impact

100%

2.70x

Average score across 6 eval scenarios

SecuritybySnyk

Passed

No known issues

Overview
Quality
Evals
Security
Files

criteria.jsonevals/scenario-3/

{
  "context": "Tests whether the agent implements persistence on the producer side (between detector and actuator), tunes persistence duration to ~0.8s, and correctly understands that producer-side persistence and actuator-side debounce are separate complementary layers.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "miss_streak counter",
      "description": "presence_buffer.py tracks a consecutive-miss counter (miss streak) that increments on each no-detection frame and resets on detection",
      "max_score": 12
    },
    {
      "name": "Persist below threshold",
      "description": "While miss_streak is below the configured threshold, presence_buffer.py returns the last observed confidence/state (not zero)",
      "max_score": 12
    },
    {
      "name": "Commit zero above threshold",
      "description": "Once miss_streak reaches or exceeds the threshold, presence_buffer.py returns 0 / no-presence (not the last seen state)",
      "max_score": 12
    },
    {
      "name": "last_conf reset on expiry",
      "description": "When the miss streak expires (reaches threshold), the stored last-seen confidence is reset to 0 so subsequent detection starts fresh",
      "max_score": 10
    },
    {
      "name": "Persistence ~0.8s at 10Hz",
      "description": "The max_misses / threshold value is tuned to approximately 0.8s wall-time at 10fps (i.e., a value of 7–9 misses, not dramatically higher or lower)",
      "max_score": 16
    },
    {
      "name": "Producer-side placement",
      "description": "architecture_notes.md or code comments describe the buffer as sitting on the producer side (between detector output and downstream consumer/actuator input)",
      "max_score": 14
    },
    {
      "name": "Separate actuator debounce layer",
      "description": "architecture_notes.md explicitly states that actuator-side stability filtering / debounce is a SEPARATE layer that should still be kept — the buffer does NOT replace it",
      "max_score": 14
    },
    {
      "name": "Reset streak on detection",
      "description": "When a face IS detected, miss_streak is reset to zero (not accumulated)",
      "max_score": 10
    }
  ]
}

evals

README.md

tile.json