All notable changes to the Layers lexicon schemas will be documented in this file.
This project follows Semantic Versioning.
- Breaking: Switch
pub.layers.defs#spanandpub.layers.defs#textPositionSelectorfrom character offsets to UTF-8 byte offsets. Required fields are nowbyteStart/byteEnd; optionalcharStart/charEndfields added for compatibility with character-offset datasets. - Update
pub.layers.segmentation.defs#token.textSpandescription to reference byte offsets. - Update
pub.layers.expression.expression#textdescription to reference byte offsets. - Update all integration data model docs (BRAT, CoNLL-U, NAF, NIF, UIMA, LAF/GrAF, PAULA, W3C Web Annotation, Concrete) to reflect byte-offset field names.
- Update guides (multimodal annotation, judgment data, psycholinguistic data) with byte-offset examples.
- Update appview plan docs (firehose ingestion, indexing strategy) with byte-offset validation rules and queries.
pub.layers.changelognamespace for structured change tracking across all Layers record types.pub.layers.changelog.entryrecord type with subject targeting (anypub.layers.*record), categorized change sections, and optional semantic versioning.pub.layers.changelog.defswith shared object types:semanticVersion,changeSection,changeItem.changeItem.targetsusesobjectReffor machine-readable sub-record targeting (e.g., a specific annotation within a layer, a specific typeDef within an ontology).changeItem.fieldPathfor field-level change tracking within targeted objects.- 14 change categories:
annotations,segmentation,text,ontology,corpus,alignment,graph,experiment,resource,media,provenance,references,corrections,other. - 5 change types:
added,changed,removed,fixed,deprecated. - XRPC queries:
getEntry,listEntries(by subject record),listByCollection(by collection NSID).
- Comprehensive AppView Plans documentation (13 pages): technology stack, database design, firehose ingestion, indexing strategy, API design, query and discovery, background jobs, caching strategy, observability, testing strategy, deployment, security, and plugin system.
- Seams.so ATProto ecosystem integration documentation.
- Updated XRPC query count from 25 to 26 record types across all documentation.
- Updated lexicon namespace count from 13 to 14 across all documentation.
- Breaking: Restructured all lexicons into directory-based NSIDs for ATProto compliance. Each record type is now its own lexicon file with the record as the
maindef. Shared object types moved to namespacedefs.jsonfiles.pub.layers.expression→pub.layers.expression.expressionpub.layers.annotation→pub.layers.annotation.annotationLayer,pub.layers.annotation.clusterSetpub.layers.corpus→pub.layers.corpus.corpus,pub.layers.corpus.membershippub.layers.ontology→pub.layers.ontology.ontology,pub.layers.ontology.typeDefpub.layers.resource→pub.layers.resource.entry,pub.layers.resource.collection,pub.layers.resource.collectionMembership,pub.layers.resource.template,pub.layers.resource.filling,pub.layers.resource.templateCompositionpub.layers.judgment→pub.layers.judgment.experimentDef,pub.layers.judgment.judgmentSet,pub.layers.judgment.agreementReportpub.layers.graph→pub.layers.graph.graphNode,pub.layers.graph.graphEdge,pub.layers.graph.graphEdgeSetpub.layers.eprint→pub.layers.eprint.eprint,pub.layers.eprint.dataLinkpub.layers.segmentation→pub.layers.segmentation.segmentationpub.layers.alignment→pub.layers.alignment.alignmentpub.layers.media→pub.layers.media.mediapub.layers.persona→pub.layers.persona.persona
- Breaking: All cross-file
#localRefreferences updated to fully qualifiedpub.layers.<ns>.defs#nameform. - Breaking: Simplified
pub.layers.segmentationto tokenization-only. Removedsection,sentence,sectionWithSentences, andsentenceWithTokenizationstypes frompub.layers.segmentation.defs. Structural hierarchy (sections, sentences, paragraphs) is now expressed via expression records withparentRef. AddedexpressionReffield ontokenizationto scope tokenizations to specific sub-expressions. - Breaking: Changed confidence and agreement metric scales from 0-10000 to 0-1000 across all lexicons (
annotation.defs,defs,graph.graphEdge,graph.defs,corpus.defs,judgment.defs,judgment.agreementReport).
- XRPC query lexicons for all 25 record types:
get<Record>andlist<Records>queries with domain-specific filter parameters. - Namespace
defs.jsonfiles for shared object types in: annotation, corpus, eprint, graph, judgment, media, ontology, resource, segmentation.
annotationDesignobject type oncorpusfor annotation project design metadata: annotator assignment, adjudication, and quality criteria.redundancySpecobject type for annotator-per-item count and assignment strategy (random,round-robin,stratified,expertise-based).adjudicationSpecobject type for disagreement resolution method (expert,majority-vote,unanimous,discussion,dawid-skene,automatic-merge,intersection,union,none), with dedicated adjudicator flag and agreement threshold.qualityCriterionobject type for acceptance criteria: metric (cohens-kappa,fleiss-kappa,krippendorff-alpha,percent-agreement,f1,smatch,uas,las,correlation), threshold, and evaluation scope (item,layer,document,corpus).sourceMethodUri/sourceMethodfield onannotationLayerfor per-layer annotation source tracking (manual-native,manual-corrected,automatic,automatic-corrected,converted,converted-corrected,crowd-sourced), following UD's per-layer annotation source convention.- Annotation Design guide with composability table across 8 project types.
measureType/measureTypeUrifield onexperimentDeffor what property or behavior is measured, with known values:acceptability,inference,similarity,plausibility,comprehension,preference,extraction,reading-time,production,custom.presentationSpecobject type for stimulus display method (RSVP, self-paced, whole-sentence, auditory, visual-world, masked-priming, cross-modal, naturalistic, gating, maze, boundary, moving-window), with chunking, timing, and masking parameters.recordingMethodobject type for data capture instruments: behavioral input devices (button-box,keyboard,mouse-click,touchscreen,voice) and physiological instruments (eeg,meg,fmri,fnirs,eye-tracking,pupillometry,mouse-tracking,emg,skin-conductance,ecog).presentationfield onexperimentDefreferencingpresentationSpec.recordingMethodsarray field onexperimentDeffor multiple simultaneous recording instruments.- Stimulus Presentation and Recording Methods sections in the Judgment Data guide.
- Composability table showing how four orthogonal dimensions combine across 20 experimental paradigms.
- Breaking: Split
experimentDef.taskTypeinto two orthogonal fields:measureType(what is measured) andtaskType(response instrument only). FormertaskTypevaluesacceptability,ranking,pairwise-comparison,best-worst-scalingare removed;scalarandordinalare unified asordinal-scale. - Breaking: Renamed
experimentDesign.presentationMode/presentationModeUritoitemOrder/itemOrderUrito distinguish item sequencing from stimulus display method. - Updated
taskTypeknown values to:forced-choice,multi-select,ordinal-scale,magnitude,binary,categorical,free-text,cloze,span-labeling,custom.
rankValuefield fromjudgmentobject (usescalarValuefor rank positions).
- Initial draft of 15 ATProto lexicon schemas under
pub.layers.*namespace. - Core primitives:
objectRef,anchor,constraint,agentRef,knowledgeRef,featureMap,annotationMetadata(pub.layers.defs). - Document model with text, metadata, and source tracking (
pub.layers.communication). - Corpus collections with membership records (
pub.layers.corpus). - Tokenization strategies and token sequences (
pub.layers.segmentation). - Annotation type systems with role slots and inheritance (
pub.layers.ontology). - Unified annotation model with layers, clusters, and multi-modal anchoring (
pub.layers.annotation). - Linguistic judgment experiments with scales and items (
pub.layers.judgment). - Parallel structure alignment with typed links (
pub.layers.alignment). - Lexical resources: entries, templates, slots, fillings, collections (
pub.layers.resource). - Media metadata for audio, video, and images (
pub.layers.media). - Annotator personas and annotation frameworks (
pub.layers.persona). - Knowledge graph integration with typed relations (
pub.layers.graph). - Chive eprint integration (
pub.layers.chive). - General eprint linkage (
pub.layers.eprint). - URI+slug flexible enum pattern across all kind/subkind fields.
- Docusaurus documentation site with lexicon reference, design principles, and subsumption analysis.
- Minimal landing page for layers.pub.