lacing.bodies.reference_lock#
Body schema for a locked reference — a first-class “this is canonical”.
URI: annot://schema/reference-lock/v1
A reference lock records the decision that one or more reference
artifacts are the canonical anchor for some subject — a character’s
face, a location’s architecture, a style, a prop. Once a subject is
locked, a supervisor can check every later generation against the
locked anchor and flag drift (the consumer in reelee runs the
identity/likeness comparison and emits continuity-violation/v1
annotations; this schema only carries the decision, not the result).
The shape is deliberately general so it fits several real workflows without a schema bump:
One image or a set.
locked_artifact_idsholds 1..N artifacts. Lock a single canonical headshot, or a set (front / three-quarter / full-body / expression sheet).primary_artifact_idnames the one to show by default.Project- or scene-scoped.
scopeis"project"by default (the character is locked for the whole piece) or"scene"(a re-lock for a flashback / costume change), in which casescope_refnames the scene/segment it applies to. Re-locks chain viasupersedes(the prior lock’s annotation id).Per-aspect checklist with advisory-by-default gating.
checklistis the set of aspects the supervisor compares ("face","architecture","props","lighting","costume","palette", …).hard_gatesis the subset that blocks on mismatch; it defaults to empty, so every aspect is advisory (flag, never auto-reject) — honouring the field observation that over-strict likeness filters waste the user’s time rejecting perfectly good images.
The lock is itself an annotation; who locked it and when live in the annotation’s PROV-O provenance, not in this body.
Reference: reelee/docs/Narrative to Storyboard.md (reference
consistency); reelee-web epic #151, lacing #9.
Module Attributes
What the lock anchors. |
|
|
Classes
|
Body of a reference-lock annotation. |
- class lacing.bodies.reference_lock.ReferenceLockBodyV1(**data)[source]#
Bases:
SchemaModelBody of a reference-lock annotation.
Records that
locked_artifact_idsare the canonical anchor forsubject_id(asubject_kind), the aspects a supervisor should compare (checklist), which of those block vs merely warn (hard_gates), and the advisory identity threshold (min_similarity).