S09 · Face Enrollment
Declared state: built, **never run on the current backend**.
This is the repository plan and evidence, not a live health reading. A task marked done may still depend on credentials, devices, deployment or a newer acceptance test.
Dependencies
No dependencies are declared in the catalog.
Tasks and gates
09.F1 · **Enrol on ArcFace.** The backend is wired and tested but only the legacy LBP references
Tier F · open · Verification: hermetic-test
Gate: `test_face_arcface_backend.py` — a real owner embedding present and loadable.
09.F2 · Enrolment rejects unusable captures (no face, two faces, too dark) at capture time.
Tier F · done · Verification: hermetic-test
Gate: `test_face_recognition.py` extended — 35/35, ten plants. Includes the positive case, the
- unverified-import · undated ·
docs/SYSTEMS-DETAILS.md:1685
09.R1 · Multi-condition capture set with per-condition scores reported after enrolment.
Tier R · open · Verification: hermetic-test
Gate: `test_phase5_identity_bench.py`
09.R2 · Re-enrolment is non-destructive — the old set is kept and can be restored.
Tier R · open · Verification: hermetic-test
Gate: `test_backup_restore.py` extended.
09.R3 · Household separation: a second enrolled face never matches the owner.
Tier R · open · Verification: hermetic-test
Gate: `test_face_identity_separation.py`
09.E1 · Zero owner false-negatives across a day of desk sessions.
Tier E · open · Verification: hermetic-test
Gate: recorded run of `test_face_recognition.py` against a day of frames.
09.R4 · **Isolate camera capture behind the device supervisor before enrolling** — Jev p=0.54, conf 0.39: there is no point enrolling on a path that can take the whole process down. Ordering directive; the enrolment itself is 09.F1.
Tier R · open · Verification: planned-test
Gate: new `test_camera_isolation.py` — a camera fault cannot terminate the pc agent.
HUD screen contracts
- Face Enrollment · /systems/S09
All subsystems · Source: docs/systems-plan.json.