Skip to main content

pub.layers.judgment

The record mains declare key: any (Scheme A): rkeys may be arbitrary strings rather than TIDs. An experimentDef is a type-level protocol; the token event that runs it is a pub.layers.acquisition.session, which links back via session.experimentRef. Neural, eye-tracking, and other instrument data captured during a judgment task live in pub.layers.media signal records placed on the session clock.

Linguistic judgment records for annotation experiments, crowdsourced judgments, and inter-annotator agreement. Inspired by bead's framework for constructing, deploying, and analyzing large-scale linguistic judgment experiments.

Types

experimentDef

NSID: pub.layers.judgment.experimentDef Type: Record

Definition of an annotation or judgment experiment.

FieldTypeDescription
namestringExperiment name.
descriptionstringDetailed description.
measureTypeUriat-uriAT-URI of the measure type definition node. Community-expandable via knowledge graph.
measureTypestringWhat property or behavior is being measured (fallback). Known values: acceptability, inference, similarity, plausibility, comprehension, preference, extraction, reading-time, production, custom
taskTypeUriat-uriAT-URI of the response instrument definition node. Community-expandable via knowledge graph.
taskTypestringResponse instrument: how the response is collected (fallback). Known values: forced-choice, multi-select, ordinal-scale, magnitude, binary, categorical, free-text, cloze, span-labeling, custom
guidelinesstringTask guidelines and instructions.
guidelinesFormatstringFormat of the guidelines text, so consumers can render it safely without sniffing. Defaults to plain when omitted. Known values: plain, html, markdown
ontologyRefat-uriReference to the ontology used.
personaRefat-uriReference to the persona defining the annotation framework.
corpusRefat-uriReference to the corpus.
templateRefsarrayReferences to pub.layers.resource.template records used to generate stimuli. Array of at-uri
collectionRefsarrayReferences to pub.layers.resource.collection records providing filler pools. Array of at-uri
presentationrefHow stimuli are displayed to participants. Ref: pub.layers.judgment.defs#presentationSpec
recordingMethodsarrayData capture instruments used in this experiment. Array of ref: pub.layers.judgment.defs#recordingMethod
designrefExperiment design specification (list constraints, distribution, item order). Ref: pub.layers.judgment.defs#experimentDesign
scaleMinintegerMinimum scale value for ordinal-scale judgments.
scaleMaxintegerMaximum scale value.
labelsarrayAvailable labels for categorical judgments. Array of strings
stimulusExpressionRefsarrayReferences to pub.layers.expression.expression records used as stimuli (text stimuli). Array of at-uri
stimulusMediaRefsarrayReferences to pub.layers.media.media records used as stimuli (audio, video, image, signal, and other carrier stimuli). Array of at-uri
languagesarrayBCP-47 language tags of the stimuli. Empty when unspecified. Array of strings (item max 32). No array-level cap.
languageRefsarrayGrounded language references for the stimuli, carrying canonical BCP-47 tag, script/region codes, variety label, and a knowledge-graph source (glottolog, iso639-3, cldr). Use both. Array of ref: pub.layers.defs#languageRef
knowledgeRefsarrayKnowledge graph references. Array of ref: pub.layers.defs#knowledgeRef
licensingrefLicensing terms governing this experiment definition (supports dual/multi/component licensing). Ref: pub.layers.defs#licensing
eprintRefsarrayEprint records (papers/preprints) describing or associated with this experiment. Array of at-uri (max 64)
reproducibilityrefHow this experiment dataset was produced (code, commit, command, environment, seed). Ref: pub.layers.defs#reproducibilityInfo
featuresrefRef: pub.layers.defs#featureMap
createdAtdatetimeRecord creation timestamp.

Stimuli split into two type-discriminated arrays (stimulusExpressionRefs for text, stimulusMediaRefs for carriers) rather than one polymorphic ref, so a renderer dispatches on the array without resolving each AT-URI.

judgmentSet

NSID: pub.layers.judgment.judgmentSet Type: Record

A set of judgments from a single annotator for an experiment.

FieldTypeDescription
experimentRefat-uriReference to the experiment.
agentrefThe agent who produced this judgment set. Ref: pub.layers.defs#agentRef
judgmentsarrayThe judgments. Array of ref: pub.layers.judgment.defs#judgment
metadatarefRef: pub.layers.defs#annotationMetadata
knowledgeRefsarrayKnowledge graph references. Array of ref: pub.layers.defs#knowledgeRef
featuresrefOpen-ended features (e.g., annotator demographics, session metadata, completion time). Ref: pub.layers.defs#featureMap
createdAtdatetimeRecord creation timestamp.

judgment

NSID: pub.layers.judgment.defs#judgment Type: Object

A single judgment about a linguistic item.

FieldTypeDescription
itemrefReference to the item being judged. Ref: pub.layers.defs#objectRef
fillingRefat-uriReference to the pub.layers.resource.filling that generated the item being judged.
categoricalValuestringCategorical judgment label.
scalarValueintegerNumeric response value (ordinal-scale rating, magnitude estimate, or rank position).
textSpanrefSelected text span for span-labeling tasks. Ref: pub.layers.defs#span
freeTextstringFree-text response.
responseTimeMsintegerResponse time in milliseconds.
confidenceintegerConfidence score 0-1000.
behavioralDatarefBehavioral analytics (e.g., mouse movements, keystroke patterns, eye tracking). Ref: pub.layers.defs#featureMap
regionResponsesarrayPer-region reading-time and eye-movement measures for incremental-presentation tasks (self-paced reading, eye-tracking-while-reading, maze), one entry per region. Array of ref: pub.layers.judgment.defs#regionResponse
featuresrefRef: pub.layers.defs#featureMap

experimentDesign

NSID: pub.layers.judgment.defs#experimentDesign Type: Object

Experiment design specification controlling how items are distributed, ordered, and timed.

FieldTypeDescription
listConstraintsarrayConstraints on how items are distributed into lists. Array of ref: pub.layers.judgment.defs#listConstraint
distributionStrategyUriat-uriAT-URI of the distribution strategy definition node. Community-expandable via knowledge graph.
distributionStrategystringDistribution strategy slug (fallback). Known values: latin-square, random, blocked, stratified, custom
itemOrderUriat-uriAT-URI of the item order definition node. Community-expandable via knowledge graph.
itemOrderstringHow items are ordered within a list (fallback). Known values: random-order, fixed-order, blocked, adaptive, custom
timingMsintegerTime limit per item in milliseconds, if applicable.
featuresrefRef: pub.layers.defs#featureMap

listConstraint

NSID: pub.layers.judgment.defs#listConstraint Type: Object

A constraint on how experimental items are distributed into lists (e.g., Latin square balancing, no two items of the same condition adjacent).

FieldTypeDescription
kindUriat-uriAT-URI of the constraint kind definition node. Community-expandable via knowledge graph.
kindstringConstraint kind slug (fallback). Known values: latin-square, no-adjacent-same-condition, balanced-frequency, minimum-distance, custom
targetPropertystringThe property being constrained (e.g., 'condition', 'verb-type', 'length').
parametersrefRef: pub.layers.defs#featureMap
constraintrefFormal constraint expression. Ref: pub.layers.defs#constraint

presentationSpec

NSID: pub.layers.judgment.defs#presentationSpec Type: Object

How stimuli are displayed to participants.

FieldTypeDescription
methodUriat-uriAT-URI of the presentation method definition node. Community-expandable via knowledge graph.
methodstringPresentation method (fallback). Known values: rsvp, self-paced, whole-sentence, auditory, visual-world, masked-priming, cross-modal, naturalistic, gating, maze, boundary, moving-window, custom
chunkingUnitUriat-uriAT-URI of the chunking unit definition node. Community-expandable via knowledge graph.
chunkingUnitstringHow text is segmented for incremental presentation (fallback when chunkingUnitUri unavailable). Known values: word, character, morpheme, phrase, clause, sentence, region, sign, gesture-phrase, custom
timingMsintegerPer-chunk display duration in milliseconds.
isiMsintegerInter-stimulus interval in milliseconds.
cumulativebooleanWhether previous chunks remain visible during incremental presentation.
maskCharstringMasking character for non-cumulative displays (e.g., '-', '#').
screenWidthPx / screenHeightPxintegerDisplay width and height in pixels.
screenWidthMm / screenHeightMmintegerPhysical display width and height in millimeters.
viewingDistanceMmintegerParticipant eye-to-screen distance in millimeters.
refreshRateMilliHzintegerDisplay refresh rate in millihertz (e.g., 60000 for 60 Hz).
pixelsPerDegreeintegerPixels subtending one degree of visual angle at the stated viewing distance.
sessionRefat-uriAT-URI of the pub.layers.acquisition.session whose clock and setup this presentation was delivered under.
participantRefsarrayAT-URIs of pub.layers.acquisition.participant records presented under this specification. Array of at-uri
mediaRefsarrayAT-URIs of pub.layers.media.media records delivered as stimuli under this specification. Array of at-uri
featuresrefRef: pub.layers.defs#featureMap

The screen-geometry fields are what gaze-on-screen eye-tracking requires (a pixel gaze sample means nothing without screen size, viewing distance, and pixels-per-degree); BIDS keeps them in the events sidecar StimulusPresentation object.

regionResponse

NSID: pub.layers.judgment.defs#regionResponse Type: Object

A per-region reading-time or response record, for self-paced reading, eye-tracking-while-reading, and maze tasks. Carries the standard eye-movement measures and a region-role axis (critical, spillover, precritical) for analysis. Required: region.

FieldTypeDescription
regionrefReference to the region being measured. Use recordRef for the stimulus record, objectId for a specific region object within it. Ref: pub.layers.defs#objectRef
regionIndexintegerZero-indexed position of this region within the stimulus presentation order.
regionRoleUri / regionRoleat-uri / stringAnalysis role of this region. Known values: critical, spillover, precritical, pretarget, target, posttarget, filler, custom.
readingTimeMsintegerTotal reading time on this region.
firstFixationMsintegerFirst-fixation duration on this region.
gazeDurationMsintegerGaze (first-pass) duration on this region.
goPastMsintegerGo-past (regression-path) duration on this region.
totalTimeMsintegerTotal dwell time across all fixations on this region.
regressionsOut / regressionsInintegerCount of regressions launched out of / landing in this region.
fixationCountintegerNumber of fixations on this region.
responseTimeMsintegerResponse time for a per-region response task (maze, grammaticality-at-region).
scalarValueintegerNumeric per-region response value (e.g., rating at this region).
categoricalValuestringCategorical per-region response label.
featuresrefOpen key-value map for per-region measures not covered by the named fields. Ref: pub.layers.defs#featureMap

recordingMethod

NSID: pub.layers.judgment.defs#recordingMethod Type: Object

A data capture instrument used in an experiment. methodUri resolves into the shared modality node set in layers-acquisition.ontology.layers.pub, the same nodes backing media.signalInfo.modalityUri and catalog.contentSummary.modalityUri, so an instrument named in a protocol joins the recording it produced and the catalogue entry advertising it.

FieldTypeDescription
methodUriat-uriAT-URI of the recording method definition node, resolving into the shared modality node set. Community-expandable via knowledge graph.
methodstringRecording method (fallback). Known values: button-box, keyboard, mouse-click, touchscreen, voice, eeg, meg, fmri, fnirs, eye-tracking, pupillometry, mouse-tracking, emg, skin-conductance, ecog, custom
sessionRefat-uriAT-URI of the pub.layers.acquisition.session whose clock this recording was captured on.
participantRefsarrayAT-URIs of pub.layers.acquisition.participant records this recording captured. Array of at-uri
mediaRefsarrayAT-URIs of pub.layers.media.media records produced by this recording instrument. Array of at-uri
featuresrefRef: pub.layers.defs#featureMap

agreementReport

NSID: pub.layers.judgment.agreementReport Type: Record

An inter-annotator agreement report summarizing agreement metrics across judgment sets.

FieldTypeDescription
experimentRefat-uriReference to the experiment.
judgmentSetRefsarrayThe judgment sets compared. Array of at-uri
metricUriat-uriAT-URI of the metric definition node. Community-expandable via knowledge graph.
metricstringMetric slug (fallback). Known values: cohens-kappa, fleiss-kappa, krippendorff-alpha, percent-agreement, correlation, f1, custom
valueintegerMetric value scaled 0-1000.
numAnnotatorsintegerNumber of annotators.
numItemsintegerNumber of items judged.
featuresrefRef: pub.layers.defs#featureMap
createdAtdatetimeRecord creation timestamp.

XRPC Queries

getExperimentDef

NSID: pub.layers.judgment.getExperimentDef

Retrieve a single experiment definition record by AT-URI.

ParameterTypeDescription
uriat-uri (required)The AT-URI of the experiment definition record.

Output: The experiment definition record object.

listExperimentDefs

NSID: pub.layers.judgment.listExperimentDefs

List experiment definition records in a repository with pagination.

ParameterTypeDescription
repoat-identifier (required)The handle or DID of the repository.
measureTypestringFilter by measure type.
taskTypestringFilter by task type.
limitintegerMaximum number of records to return (1-100, default 50).
cursorstringPagination cursor from previous response.

Output: { records: experimentDef[], cursor?: string }

getJudgmentSet

NSID: pub.layers.judgment.getJudgmentSet

Retrieve a single judgment set record by AT-URI.

ParameterTypeDescription
uriat-uri (required)The AT-URI of the judgment set record.

Output: The judgment set record object.

listJudgmentSets

NSID: pub.layers.judgment.listJudgmentSets

List judgment set records in a repository with pagination.

ParameterTypeDescription
experimentRefat-uri (required)The AT-URI of the experiment whose judgment sets to list.
limitintegerMaximum number of records to return (1-100, default 50).
cursorstringPagination cursor from previous response.

Output: { records: judgmentSet[], cursor?: string }

getAgreementReport

NSID: pub.layers.judgment.getAgreementReport

Retrieve a single agreement report record by AT-URI.

ParameterTypeDescription
uriat-uri (required)The AT-URI of the agreement report record.

Output: The agreement report record object.

listAgreementReports

NSID: pub.layers.judgment.listAgreementReports

List agreement report records in a repository with pagination.

ParameterTypeDescription
experimentRefat-uri (required)The AT-URI of the experiment whose agreement reports to list.
metricstringFilter by metric slug.
limitintegerMaximum number of records to return (1-100, default 50).
cursorstringPagination cursor from previous response.

Output: { records: agreementReport[], cursor?: string }