Behavioral Observatory labels count as durable evidence only after an authorized save succeeds and the saved value can be read back. The source contract reviewed on 2026-08-12 keeps one label per reviewer per run item and assumes the reviewer is the signed-in owner/user for this privileged surface.
Status
- Durable label schema and save adapter: implemented in tracked source.
- Saved-label reload: implemented when the durable service is available.
- Reviewer equals signed-in owner/user: current source assumption.
- Evaluator reviewing an owner run: deferred pending an explicit authorization change.
Durable evidence boundary
Behavioral labels belong to a dedicated durable evidence domain, separate from Review Queue scoring. The durable record binds:- the evaluated run item
- the run owner
- the reviewer who made the judgment
- the structured label and optional notes
- save state and audit timestamps
Label values
Currentintent values:
guest_affect values:
response_strategy values:
humanness range:
status values:
One-label rule
There is one label per reviewer per run item. The durable layer enforces that product rule without exposing its database key composition here. Saving again updates the same reviewer’s label for that run item instead of creating a second label.Authorization boundary
The durable service evaluates the authenticated identity and the ownership relationships for the run, item, and label. A visible route or enabled Save control is not proof that the write is authorized. The source contract is intentionally narrow: it permits the privileged signed-in owner/user workflow and fails closed outside that relationship. The current narrow contract assumes:Current limitation
The source persistence model supports owner/user-owned run labeling on the privileged Behavioral Observatory surface. It is not yet sufficient for a future workflow where:Saved / unsaved / error states
The UI should preserve these truth states:derived: suggested from existing run/review context, not savedunsaved: reviewer changed values but did not savesaving: save is in progresssaved: Supabase confirmed the labelerror: save/load failed
saved should be treated as persisted Behavioral Observatory label data.
Verification contract
Source, deployment, and live data are separate claims. A release is not enough by itself. To verify live persistence, use an approved account and confirm that:- the write is accepted for the intended reviewer and run item;
- the UI reports
savedonly after the durable service confirms it; - the same value reloads after refresh;
- a second save updates the same reviewer’s label instead of creating a duplicate; and
- a rejected or failed write is never counted as persisted evidence.
Future support
Future evaluator workflows may require:- owner/admin assignment records
- evaluator-to-owner review grants
- durable authorization rules that allow assigned reviewers to label owner runs
- clearer reviewer/owner separation in UI copy
- audit views for who saved which Behavioral Observatory label

