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

              All subsystems · Source: docs/systems-plan.json.