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, continuous, 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.
scalarValueintegerInteger response value (ordinal-scale rating, integer magnitude estimate, or rank position). Use continuousValue for an exact decimal response.
continuousValuerefExact finite decimal response for continuous tasks, represented by decimalValue. Distinct from the integer scalarValue arm. Ref: pub.layers.judgment.defs#decimalValue
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

decimalValue​

NSID: pub.layers.judgment.defs#decimalValue

An exact finite decimal represented as coefficient multiplied by 10 to the exponent. For instance, 0.73 is { "coefficient": 73, "exponent": -2 }. The carrier permits negative values and values outside 0 to 1. The experiment declaration, rather than this value type, owns any range constraint.

FieldTypeDescription
coefficientinteger (required)Signed integer coefficient of the decimal value.
exponentinteger (required)Base-10 exponent applied to coefficient.

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 }