Skip to content

Field reference

This page lists every class, slot and enumeration of the seven LinkML files of ASB Schema, one section per file. It is generated from src/asb_schema/*.yaml by scripts/gen_reference.py, and CI checks that it matches the sources.

Reading this page

  • Each class has the anchor #class-<ClassName> and each enumeration the anchor #enum-<EnumName>; each file section has the anchor #file-<file name>.
  • The table of a class lists the slots named under its slots key, then its inline attributes.
  • Range is the declared range, or string when none is declared. Cardinality reads 1 (required), 0..1 (optional), 1..* (required list) or 0..* (optional list).
  • Notes give the serialized alias, pattern, bounds, slot_uri, annotations (including importance) and ontology mappings.
  • Descriptions are copied from the sources. An em-dash becomes a colon, an en-dash between numbers becomes "to", a pointer to an unpublished design note is left out, and the name of the reference pipeline is written as "Reference pipeline".
  • Slot names are global in LinkML: loading asb.yaml merges slots that share a name across files. Validate each artifact against its own file; see Conformance.

Schema files

File id version Root class Classes Slots Attributes Enums
asb.yaml https://w3id.org/holobiomicslab/asb-schema/v0.2 0.2.0 none 0 0 0 0
asb_card.yaml https://w3id.org/holobiomicslab/asb-schema/card/v0.3 0.3.0 ASBTaskCard 13 64 59 7
asb_capsule.yaml https://w3id.org/holobiomicslab/asb-schema/capsule/v0.2 0.1.0 SciTaskCapsule 2 8 4 1
asb_skill_bundle.yaml https://w3id.org/holobiomicslab/asb-schema/skill-bundle/v0.2 0.2.0 SkillBundle 7 33 19 1
asb_skill_collection.yaml https://w3id.org/holobiomicslab/asb-schema/skill-collection/v0.3 0.3.0 SkillCollection 5 25 11 0
asb_skill_collection_registry.yaml https://w3id.org/holobiomicslab/asb-schema/skill-collection-registry/v0.2 0.2.0 SkillCollectionRegistry 1 7 0 0
asb_trace.yaml https://w3id.org/holobiomicslab/asb-schema/trace/v0.1 0.1.0 none 2 21 0 2

asb.yaml

asb.yaml 0.2.0 https://w3id.org/holobiomicslab/asb-schema/v0.2 License: CC-BY-4.0

ASB Schema umbrella file, version 0.2.0: schema for scientific benchmark substrates and curated skill / tool release collections. Imports sub-schemas for ASB Cards, Capsules, Skill Bundles, Skill Collections, and the SkillCollectionRegistry.

Schema name asb_standard. Imports: linkml:types, asb_card.yaml, asb_capsule.yaml, asb_skill_bundle.yaml, asb_skill_collection.yaml, asb_skill_collection_registry.yaml. Format page: The format.

asb_card.yaml

asb_card.yaml 0.3.0 https://w3id.org/holobiomicslab/asb-schema/card/v0.3 License: CC-BY-4.0

LinkML schema for the ASB task card, file version 0.3.0: a bounded, reproducible scientific task extracted from a peer-reviewed paper. Covers all fields of the ASBTaskCard dataclass and related nested types.

Schema name asb_card_v0_3. Imports: linkml:types. Format page: Task card.

AvailableArtifact

A file or data artifact accessible from the research paper package. Records its path, role in the workflow, whether it is indexable, and an optional content hash.

Class of asb_card.yaml

Slot Range Cardinality Description Notes
path string 1 Relative path to the artifact within the package importance: must_have; exact_mappings: prov:atLocation
role string 1 Semantic role of the artifact (e.g. raw_data, figure, script) importance: must_have; exact_mappings: dcterms:type
indexable boolean 0..1 Whether this artifact's content is indexed for retrieval importance: should_have; close_mappings: schema:additionalType
sha256 string 0..1 SHA-256 hex digest of the artifact content importance: nice_to_have; exact_mappings: schema:sha256

EvidenceSnippet

A verbatim text snippet extracted from the source paper that supports a claim or field in the ASB task card.

Class of asb_card.yaml

Slot Range Cardinality Description Notes
snippet_id string 1 Unique identifier for this snippet (e.g. snip_001) importance: must_have; exact_mappings: dcterms:identifier
source_path string 1 Relative path to the source file from which this snippet was extracted importance: must_have; exact_mappings: prov:atLocation
reason string 1 Why this snippet was selected as evidence importance: must_have; close_mappings: dcterms:description
text string 1 Verbatim text of the evidence snippet importance: must_have; exact_mappings: schema:text

EvaluationStrategy

Structured evaluation plan for an ASB task card, aligned with the p-plan:Plan concept. Specifies direct automated checks and expert-review criteria.

Class of asb_card.yaml

Slot Range Cardinality Description Notes
direct_checks string 0..* List of automated, deterministic checks that can be run without human review (e.g., file existence, column count, value ranges). importance: must_have; close_mappings: pplan:Plan
expert_review string 0..* List of criteria requiring human or expert judgment (e.g., scientific validity, reproducibility within tolerance). importance: should_have; close_mappings: pplan:Plan

TaskPort

A single typed data port (input or output) on an ASB task card.

Class of asb_card.yaml

Slot Range Cardinality Description Notes
port_id string 1 Unique identifier for this port importance: must_have; exact_mappings: dcterms:identifier
label string 1 Human-readable label for this port importance: must_have; exact_mappings: schema:name
evidence_id string 0..1 ID of the EvidenceSnippet that supports this port's existence importance: nice_to_have; close_mappings: prov:wasDerivedFrom
source string 0..1 Source artifact name or path importance: nice_to_have; exact_mappings: prov:atLocation
source_dataset string 0..1 Repository or dataset name for the source importance: nice_to_have; close_mappings: schema:dataset
resolved_via JsonObject 0..1 How the port was resolved to a concrete source, as a JSON object; null when the port is unresolved inlined: true; importance: nice_to_have; close_mappings: prov:wasDerivedFrom
edam_operation_uri uri 0..1 EDAM operation IRI for the operation that produces or consumes this port importance: nice_to_have; exact_mappings: EDAM:operation_0004
edam_format_uri uri 0..1 EDAM format IRI for the data format of this port importance: nice_to_have; exact_mappings: EDAM:format_1915
port_role string 0..1 Role of the port; "environment" marks a port that declares the software under study rather than data. Absent or null means not flagged. importance: nice_to_have; close_mappings: dcterms:type

PROV-O-inspired links for an ASB task card.

Class of asb_card.yaml

Slot Range Cardinality Description Notes
used string 0..* IRIs or IDs of entities used (inputs, prior task outputs) importance: should_have; exact_mappings: prov:used
was_influenced_by string 0..* IRIs or IDs of entities that influenced this card importance: nice_to_have; exact_mappings: prov:wasInfluencedBy

ToolAlternative

A closed-source / open-source tool pair with optional divergence notes.

Class of asb_card.yaml

Slot Range Cardinality Description Notes
closed string 1 Closed-source or proprietary tool name importance: must_have; close_mappings: EDAM:operation_0004
oss string 1 Open-source alternative tool name importance: must_have; close_mappings: EDAM:operation_0004
expected_divergence string 0..1 Notes on expected behavioral or performance divergence importance: nice_to_have; close_mappings: schema:description

ExecutionProfile

Execution and tool requirements for a scientific task.

Class of asb_card.yaml

Slot Range Cardinality Description Notes
compute_tier ComputeTierEnum 0..1 Compute requirement tier for task execution importance: should_have; close_mappings: schema:requiresSubscription
commercial_software string 0..* List of commercial or proprietary software tools required importance: should_have; close_mappings: EDAM:operation_0004
open_source_alternatives ToolAlternative 0..* Open-source alternatives to commercial tools importance: nice_to_have; close_mappings: EDAM:operation_0004

ResumptionContract

Recipe for resuming a workflow at a step whose runner cannot re-execute (bypassed compute, commercial/GUI software, wet-lab step).

Class of asb_card.yaml

Slot Range Cardinality Description Notes
cached_outputs string 0..* Hash-pinned artifact paths for bypassed steps importance: should_have; exact_mappings: prov:atLocation
alt_cli_method string 0..1 CLI alternative or manual SOP for manual-only steps importance: nice_to_have; close_mappings: schema:description
pseudo_outputs string 0..* Wet-lab stand-in outputs for experimental steps importance: nice_to_have; close_mappings: prov:atLocation
protocol string 0..1 Protocol description for experimental resumption importance: nice_to_have; close_mappings: schema:description

ExecutableSpec

A runnable command bound to an ASB task card.

Class of asb_card.yaml

Slot Range Cardinality Description Notes
cmd string 1..* Command as a list of arguments (no shell string) importance: must_have; close_mappings: schema:description
working_dir string 0..1 Working directory for the command importance: should_have; exact_mappings: prov:atLocation
timeout_s integer 0..1 Timeout in seconds (default 300) importance: nice_to_have; close_mappings: schema:duration
env JsonObject 0..1 Environment variables set for the command, as a JSON object of names to values inlined: true; importance: nice_to_have; close_mappings: schema:description
inferred boolean 0..1 True when the command could not be confirmed against the files of the source package and is a best-effort inference importance: nice_to_have; close_mappings: schema:creativeWorkStatus
grounding_notes string 0..1 Why the command could not be confirmed, when inferred is true importance: nice_to_have; close_mappings: schema:description

ExecutionEnvironment

Software/hardware/scheduler/agentic context that ran or is required to run a card or workflow.

Class of asb_card.yaml

Slot Range Cardinality Description Notes
operating_system string 0..1 Operating system name and version importance: should_have; close_mappings: schema:operatingSystem
python_version string 0..1 Python version string importance: should_have; close_mappings: schema:softwareVersion
lockfile_path string 0..1 Path to the lockfile (e.g. requirements.txt, uv.lock) importance: nice_to_have; exact_mappings: prov:atLocation
container_image string 0..1 Docker or Singularity container image URI importance: nice_to_have; close_mappings: schema:softwareVersion
asb_version string 0..1 Reference pipeline version used importance: nice_to_have; close_mappings: schema:softwareVersion
hardware_profile string 0..1 Hardware profile description (e.g. CPU, GPU, RAM) importance: nice_to_have; close_mappings: schema:description
scheduler SchedulerEnum 0..1 HPC or cluster scheduler importance: nice_to_have; close_mappings: schema:description
scheduler_resources JsonObject 0..1 Resources requested from the scheduler (for example nodes, memory and wall time), as a JSON object inlined: true; importance: nice_to_have; close_mappings: schema:description
llm_models string 0..* LLM model IDs used during card synthesis importance: nice_to_have; close_mappings: schema:softwareVersion
tools_versions JsonObject 0..1 Versions of the tools used, as a JSON object of tool names to versions inlined: true; importance: nice_to_have; close_mappings: schema:softwareVersion
cloud_region string 0..1 Cloud region or availability zone importance: nice_to_have; close_mappings: schema:description

TypedArtifact

A typed, format-identified artifact (input or output) of an ASB task card. Pairs 1-to-1 with an entry in inputs[] or expected_outputs[].

Class of asb_card.yaml

Slot Range Cardinality Description Notes
description string 1 Original prose string from the card (verbatim) importance: must_have; exact_mappings: schema:description
format_id string 0..1 Short format key (e.g. mzML) matching a FormatSpec.name importance: should_have; close_mappings: EDAM:format_1915
format_iri uri 0..1 EDAM format IRI (e.g. http://edamontology.org/format_3244) importance: should_have; exact_mappings: EDAM:format_1915
ontology_class string 0..1 PSI-MS or fallback OBO class string (e.g. MS:1000584) importance: nice_to_have; close_mappings: EDAM:format_1915
file_extension string 0..1 Representative file extension (e.g. .mzml) importance: nice_to_have; close_mappings: schema:fileFormat
content_signature string 0..1 Short content hint from magic-byte matching (e.g. <?xml) importance: nice_to_have; close_mappings: schema:encodingFormat
confidence ArtifactConfidenceEnum 0..1 Detection confidence level importance: must_have; close_mappings: schema:credentialCategory
detection_method ArtifactDetectionMethodEnum 0..1 How the format was detected importance: should_have; close_mappings: prov:wasGeneratedBy
instrument_class string 0..1 Advisory instrument class hint extracted from article text importance: nice_to_have; close_mappings: EDAM:operation_0004
ionization_polarity string 0..1 Ionization polarity (positive/negative/both/unknown) importance: nice_to_have; close_mappings: schema:description
acquisition_mode string 0..1 MS acquisition mode (DDA/DIA/targeted/full_scan/unknown) importance: nice_to_have; close_mappings: schema:description

JsonObject

Arbitrary JSON object; members may be any JSON values.

Class of asb_card.yaml; class_uri: linkml:Any; json_schema_type: object

This class declares no slots or attributes.

ASBTaskCard

A bounded, reproducible scientific task extracted from a peer-reviewed paper. Links a task to its research question, finding, inputs, outputs, tools, required skills, workflow description, and evaluation strategy. Runtime mirror: the ASBTaskCard dataclass of the reference pipeline (schema v0.18.0).

Class of asb_card.yaml; tree root

Slot Range Cardinality Description Notes
task_id string 1 Unique identifier for this task (e.g. task_001 or doi-slug__task_001) importance: must_have; exact_mappings: dcterms:identifier
title string 1 Short human-readable task title importance: must_have; exact_mappings: schema:name
task_kind TaskKindEnum 0..1 How this card relates to the source paper (reproduction of a reported result, derived analysis, reconstruction of a described mechanism, or an extension beyond the paper). Optional; absent means unclassified. importance: nice_to_have; close_mappings: dcterms:type
source_package string 1 Path or identifier of the research article package this card was synthesized from importance: must_have; exact_mappings: prov:wasDerivedFrom
research_question string 1 The scientific question this task addresses importance: must_have; close_mappings: schema:description
finding string 1 The paper's answer or result for this task importance: must_have; close_mappings: schema:description
task_description string 1 Full natural-language description of the task importance: must_have; exact_mappings: schema:description
task_objective string 0..1 One-sentence task objective (LLM mode; empty string when not populated) importance: should_have; close_mappings: pplan:Plan
inputs string 1..* Human-readable input descriptions for the task importance: must_have; exact_mappings: pplan:wasGeneratedBy
expected_outputs string 1..* Human-readable expected output descriptions importance: must_have; exact_mappings: pplan:wasGeneratedBy
tools string 1..* Software tools, databases, and APIs used in the task importance: must_have; close_mappings: EDAM:operation_0004
skills string 1..* Reusable capabilities required to complete the task importance: must_have; close_mappings: EDAM:operation_0004
workflow_description string 1 Step-by-step methodology for executing the task importance: must_have; close_mappings: pplan:Plan
available_artifacts AvailableArtifact 0..* Artifacts accessible from the paper package (path, role, indexable, sha256) importance: should_have; close_mappings: prov:atLocation
missing_information string 0..* Gaps, inaccessible artifacts, and unknowns noted by the extraction agent importance: should_have; close_mappings: schema:description
uncertainty_notes string 0..* Gaps and ambiguities in the card's fields importance: should_have; close_mappings: schema:description
evidence_snippets EvidenceSnippet 0..* Verbatim text snippets from the source paper supporting this card importance: should_have; exact_mappings: prov:wasDerivedFrom
evaluation_strategy EvaluationStrategy 1 Structured evaluation plan with direct_checks and expert_review lists, aligned with p-plan:Plan importance: must_have; close_mappings: pplan:Plan
review_questions string 0..* Open questions for a human reviewer of this card importance: nice_to_have; close_mappings: schema:description
created_at string 1 ISO 8601 timestamp when this card was created importance: must_have; exact_mappings: dcterms:created
schema_version string 1 ASBTaskCard dataclass schema version (e.g. 0.17.0) importance: must_have; close_mappings: schema:version
scitask_version string 1 Version of the task specification (the reference pipeline writes 0.1.1); the slot keeps its name from before the rename to ASB importance: must_have; close_mappings: schema:version
domain string 0..1 Scientific domain (e.g. metabolomics, genomics) importance: should_have; close_mappings: schema:about
subtask_categories string 0..* ScienceAgentBench-aligned subtask categories importance: should_have; close_mappings: schema:about
domain_knowledge string 0..* Domain-specific knowledge items required for the task importance: nice_to_have; close_mappings: schema:about
crossref_doi string 0..1 DOI of the source article (Crossref format) importance: should_have; exact_mappings: schema:identifier
github_name string 0..1 GitHub repository name (owner/repo) associated with the source article importance: nice_to_have; close_mappings: schema:codeRepository
parameters JsonObject 0..* Resolved task parameters, one JSON object per parameter; empty when parameter resolution did not run inlined: true; inlined_as_list: true; importance: nice_to_have; close_mappings: schema:variableMeasured
data_accessions JsonObject 0..* Public repository accessions (MassIVE, PRIDE, MetaboLights, GEO, etc.) mined from article text inlined: true; inlined_as_list: true; importance: should_have; exact_mappings: EDAM:data_2091
input_from string 0..1 task_id of a prior sub-task whose output is this card's first input (chaining) importance: nice_to_have; exact_mappings: prov:wasDerivedFrom
keywords string 0..* Free-form keywords extracted from the source (methods, domains, instruments) importance: should_have; close_mappings: schema:keywords
article_type string 0..1 Article type classification (e.g. research-article, review, software-tool) importance: should_have; close_mappings: dcterms:type
primary_domain string 0..1 Primary scientific domain identified by the classifier importance: should_have; close_mappings: schema:about
subdomains string 0..* Secondary scientific sub-domains identified by the classifier importance: nice_to_have; close_mappings: schema:about
techniques string 0..* Key experimental or computational techniques used importance: nice_to_have; close_mappings: EDAM:operation_0004
expected_artifact_name string 0..1 SAB-aligned canonical output filename (equivalent to SAB output_fname) importance: should_have; exact_mappings: prov:atLocation
landmark_outputs string 0..* SUPER-style partial-credit grading: 2 to 6 intermediate output file patterns ordered by pipeline stage importance: nice_to_have; close_mappings: prov:atLocation
artifact_refs JsonObject 0..* Bindings of prose inputs and outputs to typed locators (files, URLs) found by enrichment or in the package index, one JSON object per binding inlined: true; inlined_as_list: true; importance: nice_to_have; close_mappings: prov:wasDerivedFrom
methodology_summary string 0..* Ordered list of plain-text procedure steps importance: should_have; close_mappings: pplan:Plan
synthesized_from string 0..1 Source from which this card was synthesized (e.g. article, github:owner/repo, web:https://..., mixed) importance: should_have; close_mappings: prov:wasDerivedFrom
linked_result_ids string 0..* Result IDs from the claim/result ledger that this card primarily grades importance: nice_to_have; close_mappings: prov:wasDerivedFrom
section_provenance string 0..* Unique source_section values back-filled from linked claims' source_anchor importance: nice_to_have; close_mappings: prov:wasDerivedFrom
script_refs JsonObject 0..* Links from workflow steps to source-file line ranges, one JSON object per link: inlined: true; inlined_as_list: true; importance: nice_to_have; close_mappings: prov:atLocation
scenario_id string 0..1 Scenario assignment ID; null when the card has no scenario assignment importance: nice_to_have; close_mappings: dcterms:isPartOf
project_id string 0..1 Project assignment ID; null when the card has no project assignment importance: nice_to_have; close_mappings: dcterms:isPartOf
provenance_source ProvenanceSourceEnum 0..1 Source category of the paper this card was extracted from importance: should_have; close_mappings: prov:wasGeneratedBy
reproducibility_tier ReproducibilityTierEnum 0..1 Tier describing how reproducible this card's workflow step is importance: should_have; close_mappings: pplan:Plan
run_command string 0..1 Shell command that re-runs the task for verification; null means skip importance: nice_to_have; close_mappings: schema:description
run_cwd string 0..1 Working directory for run_command (relative to capsule dir) importance: nice_to_have; exact_mappings: prov:atLocation
run_timeout_seconds float 0..1 Timeout in seconds for run_command (default 60.0) importance: nice_to_have; close_mappings: schema:duration
related_repos string 0..* Repositories linked to the source that are not the task's own repository (dependencies, upstream engines, mirrors), as owner/repo strings importance: nice_to_have; close_mappings: schema:codeRepository
execution_profile ExecutionProfile 0..1 Declared execution requirements: compute tier, commercial software and open-source alternatives importance: should_have; close_mappings: schema:softwareRequirements
task_inputs TaskPort 0..* Typed input ports of the task, for dataflow between cards importance: nice_to_have; close_mappings: prov:used
task_outputs TaskPort 0..* Typed output ports of the task, for dataflow between cards importance: nice_to_have; close_mappings: prov:generated
prov ProvenanceLinks 0..1 Provenance links of the card (entities used and entities that influenced it) importance: nice_to_have; close_mappings: prov:wasInfluencedBy
data_in TypedArtifact 0..* Format-typed descriptions of the inputs, one per entry of inputs and in the same order importance: should_have; close_mappings: prov:used
data_out TypedArtifact 0..* Format-typed descriptions of the expected outputs, one per entry of expected_outputs and in the same order importance: should_have; close_mappings: prov:generated
resumption_contract ResumptionContract 0..1 How a workflow resumes at this step when the step cannot be re-executed; null when not needed importance: nice_to_have; close_mappings: pplan:Plan
execution_environment ExecutionEnvironment 0..1 Software, hardware and scheduler context that ran or is required to run the card; null when not recorded importance: nice_to_have; close_mappings: schema:runtimePlatform
executable ExecutableSpec 0..1 A runnable command for the task; null when no command is available importance: nice_to_have; close_mappings: schema:potentialAction
spine_entity_ids string 0..* Identifiers of the paper-level entities the card refers to; empty when no entity spine was built importance: nice_to_have; close_mappings: prov:wasDerivedFrom
spine_condition_ids string 0..* Identifiers of the paper-level conditions the card refers to; empty when no entity spine was built importance: nice_to_have; close_mappings: prov:wasDerivedFrom
abstraction_frame string 0..1 Abstraction frame of the task in the paper-level entity spine; null when no spine was built importance: nice_to_have; close_mappings: schema:about
finding_evidence_span string 0..1 Verbatim passage of the source that supports finding; null when none was selected importance: nice_to_have; close_mappings: schema:text

ProvenanceSourceEnum

Source from which an ASB task card was synthesized

Enumeration of asb_card.yaml

Value Description
published Peer-reviewed journal article
preprint Preprint (e.g. bioRxiv, arXiv)
draft_paper Unpublished manuscript or draft
local_project Local HPC or agentic project

TaskKindEnum

What an ASB task card represents relative to the source paper: a result the paper empirically reported, a derived re-analysis, a described-but-not- separately-validated mechanism, or a task beyond the paper's reported scope.

Enumeration of asb_card.yaml

Value Description
reproduction A result the paper empirically reported / evaluated
analysis A derived re-analysis of the paper's own data
component_reconstruction A mechanism the paper describes but does not separately validate (a stage of its pipeline, reconstructed as a checkable task)
extension A task beyond the paper's reported scope (e.g. its sanctioned method substitutions or future work)

ReproducibilityTierEnum

Tier describing how reproducible a card's workflow step is

Enumeration of asb_card.yaml

Value Description
certified Fully automated and verified
type-checked Outputs type-checked but not end-to-end verified
bypassed Compute step bypassed; cached outputs pinned
manual-only Requires manual or commercial software; no CLI alternative
experimental Wet-lab or experimental step; pseudo-outputs only

SchedulerEnum

HPC / cluster scheduler

Enumeration of asb_card.yaml

Value Description
none
slurm
lsf
pbs
kubernetes

ComputeTierEnum

Compute requirement tier for task execution

Enumeration of asb_card.yaml

Value Description
trivial
light
medium
heavy
hpc

ArtifactConfidenceEnum

Detection confidence level for a typed artifact

Enumeration of asb_card.yaml

Value Description
high Magic-byte verified on disk file
medium Prose regex only, no disk file
low Heuristic inference
none Detection failed: honest unknown

ArtifactDetectionMethodEnum

Method used to detect artifact format

Enumeration of asb_card.yaml

Value Description
prose_regex
magic_bytes
package_filename
content_sniff
none

asb_capsule.yaml

asb_capsule.yaml 0.1.0 https://w3id.org/holobiomicslab/asb-schema/capsule/v0.2 License: CC-BY-4.0

LinkML schema for the ASB capsule, file version 0.1.0: an RO-Crate 1.1 package wrapping an ASB task card with evidence, provenance, evaluation material, and embedded script chunks. Workflow Run Crate alignment is tracked in the reference pipeline.

Schema name asb_capsule_v0_2. Imports: linkml:types, asb_card.yaml. Format page: Capsule.

ArtifactProvenanceEntry

Provenance record for a single file in the capsule, recording how it was produced and where it was sourced from.

Class of asb_capsule.yaml

Slot Range Cardinality Description Notes
path string 1 Relative path to the file within the capsule directory importance: must_have; exact_mappings: prov:atLocation
source ArtifactSourceEnum 1 Source agent or process that produced this file importance: must_have; exact_mappings: prov:wasGeneratedBy
jsonpath string 0..1 JSONPath into the emitting agent's output locating this artifact importance: nice_to_have; close_mappings: prov:atLocation
created_at string 0..1 ISO 8601 timestamp when this artifact was produced importance: should_have; exact_mappings: dcterms:created

SciTaskCapsule

An RO-Crate 1.1 package that wraps an ASB task card with supporting evidence, provenance, evaluation manifests, and embedded scripts. Conforms to schema:Dataset, rocrate:Dataset, and pplan:Plan. Workflow Run Crate alignment is tracked in the reference pipeline.

Class of asb_capsule.yaml; tree root

Slot Range Cardinality Description Notes
capsule_task_id string 1 Unique identifier for this capsule; typically doi-slug__task_NNN. Matches the task_id in the embedded ASBTaskCard. importance: must_have; exact_mappings: dcterms:identifier
ro_crate_version string 0..1 RO-Crate specification version used (e.g. 1.1) importance: must_have; close_mappings: schema:version
profile_version string 0..1 Version of the RO-Crate profile the crate declares, if any (e.g. 0.5) importance: should_have; close_mappings: schema:version
capsule_card ASBTaskCard 1 The ASB task card embedded in this capsule importance: must_have; exact_mappings: pplan:Plan
capsule_artifacts AvailableArtifact 0..* Artifacts accessible within this capsule importance: should_have; close_mappings: rocrate:Dataset
capsule_created_at string 1 ISO 8601 timestamp when this capsule was created importance: must_have; exact_mappings: dcterms:created
artifact_provenance ArtifactProvenanceEntry 0..* Provenance manifest for all files in the capsule importance: should_have; exact_mappings: prov:wasGeneratedBy
capsule_dir string 0..1 Relative or absolute path to the capsule directory on disk importance: nice_to_have; exact_mappings: prov:atLocation

ArtifactSourceEnum

Source agent or process that produced a file in the capsule

Enumeration of asb_capsule.yaml

Value Description
agent2b Card synthesizer (LLM-based)
agent5 Skill bundle synthesizer
github_search GitHub search enricher
perspicacite_mcp Perspicacite MCP enrichment
script_linker Script linker
capsule_writer Capsule writer
heuristic_enricher Heuristic enricher (non-LLM)

asb_skill_bundle.yaml

asb_skill_bundle.yaml 0.2.0 https://w3id.org/holobiomicslab/asb-schema/skill-bundle/v0.2 License: CC-BY-4.0

LinkML schema for the ASB skill bundle, file version 0.2.0: a versioned, curated description of one reusable computational skill identified across multiple papers. Each bundle contains a human-readable skill description and 12 structured sidecars.

Schema name asb_skill_bundle_v0_2. Imports: linkml:types. Format page: Skill bundle.

ToolRecord

A tool referenced in a Skill Bundle's tools.json sidecar.

Class of asb_skill_bundle.yaml

Slot Range Cardinality Description Notes
tool_name string 1 Tool name (e.g. matchms, scikit-learn) importance: must_have; close_mappings: EDAM:operation_0004
canonical_url uri 0..1 Canonical URL (GitHub, bio.tools, PyPI, etc.) importance: should_have; close_mappings: schema:codeRepository
version string 0..1 Version string used or recommended importance: should_have; close_mappings: schema:softwareVersion
tool_description string 0..1 Short description of the tool importance: should_have; exact_mappings: schema:description
edam_topics uri 0..* EDAM topic IRIs for this tool importance: nice_to_have; exact_mappings: EDAM:topic_0003

PaperReference

A reference to a source paper that contributed to this skill bundle.

Class of asb_skill_bundle.yaml

Slot Range Cardinality Description Notes
doi string 0..1 DOI of the paper importance: should_have; exact_mappings: schema:identifier
title string 0..1 Title of the paper importance: must_have; exact_mappings: schema:name
relevance string 0..1 Short note on the relevance of this paper to the skill importance: nice_to_have; close_mappings: schema:description
task_ids string 0..* task_id values from this paper that surfaced this skill importance: nice_to_have; close_mappings: dcterms:isPartOf

MergeAuditRecord

Per-merge audit record documenting alias deduplication decisions. Surfaces the deduplication data recorded at release time, so dedup decisions are queryable and citable.

Class of asb_skill_bundle.yaml

Slot Range Cardinality Description Notes
alias string 1 Original skill label before deduplication importance: must_have; close_mappings: schema:alternateName
target_slug string 1 Canonical slug this alias was merged into importance: must_have; exact_mappings: schema:identifier
jaccard_score float 0..1 Token-set Jaccard similarity score used for the merge decision importance: should_have; close_mappings: schema:value
embedding_cosine float 0..1 Cosine similarity of MiniLM embeddings (when semantic dedup ran) importance: should_have; close_mappings: schema:value
edam_match boolean 0..1 True when both records share an EDAM operation IRI importance: nice_to_have; close_mappings: schema:sameAs
llm_judge_verdict string 0..1 Free-form judgement string from an LLM dedup judge (if used) importance: nice_to_have; close_mappings: schema:description
method string 0..1 Deduplication method (e.g. token_set_jaccard, semantic_embed, llm_judge) importance: should_have; close_mappings: prov:wasGeneratedBy
decision MergeDecisionEnum 1 Final merge decision importance: must_have; close_mappings: prov:wasInfluencedBy
decided_at datetime 0..1 When the merge decision was recorded (ISO 8601) importance: should_have; close_mappings: prov:generatedAtTime
decided_by string 0..1 Agent or person that made the decision (e.g. "agent:dedup", "orcid:0000-...") importance: should_have; close_mappings: prov:wasAttributedTo

SkillBundle

A versioned, curated description of one reusable computational skill identified across multiple papers. Contains a human-readable skill description and 12 structured sidecars (papers, parameters, failure modes, tools, environments, links, etc.).

Class of asb_skill_bundle.yaml; tree root

Slot Range Cardinality Description Notes
slug string 1 Lowercase, hyphen-separated unique identifier for this skill bundle (e.g. spectral-similarity-scoring) importance: must_have; exact_mappings: schema:identifier
skill_name string 1 Human-readable canonical name of the skill importance: must_have; exact_mappings: schema:name
skill_description string 0..1 Full description of the skill's purpose and scope importance: must_have; exact_mappings: schema:description
when_to_use string 0..1 Guidance on when and how to apply this skill importance: should_have; close_mappings: pplan:Plan
skill_tools ToolRecord 0..* Tool records for tools associated with this skill importance: must_have; close_mappings: EDAM:operation_0004
edam_topics uri 0..* EDAM topic IRIs for this skill (e.g. http://edamontology.org/topic_3172) importance: should_have; exact_mappings: EDAM:topic_0003
edam_operation uri 0..1 Primary EDAM operation IRI for this skill (e.g. http://edamontology.org/operation_3799) importance: should_have; exact_mappings: EDAM:operation_0004
scripts string 0..* Paths to embedded script chunks from linked GitHub repositories (line-range copies, not full clones) importance: nice_to_have; exact_mappings: prov:atLocation
skill_kb_path string 0..1 Relative path to the skill's knowledge base entry file (e.g. docs/skill_name.md) importance: nice_to_have; exact_mappings: prov:atLocation
bundle_dir string 0..1 Absolute path to the offline skill knowledge base bundle directory importance: nice_to_have; exact_mappings: prov:atLocation
bundle_version string 1 Version of this skill bundle (e.g. 0.1.0) importance: must_have; close_mappings: schema:version
source_task_ids string 0..* task_id values of the ASB task cards from which this skill was extracted importance: should_have; close_mappings: dcterms:isPartOf
source_papers PaperReference 0..* Structured references to papers that contributed to this bundle importance: should_have; close_mappings: dcterms:source
merged_aliases string 0..* Original labels of skills merged into this canonical entry importance: nice_to_have; close_mappings: schema:alternateName
merged_alias_records MergeAuditRecord 0..* Per-merge audit records documenting alias deduplication decisions importance: nice_to_have; close_mappings: prov:wasGeneratedBy

ASBSkill

Collection-time aggregated skill record: the deduplicated, paper-grounded scientific competency collected at release time. Distinct from SkillBundle which is the per-capsule artifact. Mirrors the ASBSkill dataclass of the reference pipeline (formerly SciSkill).

Class of asb_skill_bundle.yaml

Slot Range Cardinality Description Notes
slug string 1 Lowercase, hyphen-separated unique identifier for this skill bundle (e.g. spectral-similarity-scoring) importance: must_have; exact_mappings: schema:identifier
skill_name string 1 Human-readable canonical name of the skill importance: must_have; exact_mappings: schema:name
description string 1 Retrieval-key description for an ASBSkill. Discipline-constrained: 50 to 300 chars, leads with "Use when …", no marketing tokens. The CI gate in asb-skill-collections additionally enforces the banned-token list at release time. pattern: ^[Uu]se when .+; minimum_value: 50; maximum_value: 300; importance: must_have; banned_tokens: revolutionary, cutting-edge, best-in-class, powerful, amazing, state-of-the-art, groundbreaking; exact_mappings: schema:description
when_to_use string 0..1 Guidance on when and how to apply this skill importance: should_have; close_mappings: pplan:Plan
related_tools string 0..* Canonical URLs / slugs of tools used by this skill importance: should_have; close_mappings: EDAM:operation_0004
source_task_ids string 0..* task_id values of the ASB task cards from which this skill was extracted importance: should_have; close_mappings: dcterms:isPartOf
source_paper_doi string 0..1 Primary source paper DOI (flat field, complements source_papers[]) importance: should_have; exact_mappings: schema:identifier
source_paper_title string 0..1 Primary source paper title (flat field, complements source_papers[]) importance: nice_to_have; exact_mappings: schema:name
source_papers PaperReference 0..* Structured references to papers that contributed to this bundle importance: should_have; close_mappings: dcterms:source
merged_aliases string 0..* Original labels of skills merged into this canonical entry importance: nice_to_have; close_mappings: schema:alternateName
merged_alias_records MergeAuditRecord 0..* Per-merge audit records documenting alias deduplication decisions importance: nice_to_have; close_mappings: prov:wasGeneratedBy
edam_operation uri 0..1 Primary EDAM operation IRI for this skill (e.g. http://edamontology.org/operation_3799) importance: should_have; exact_mappings: EDAM:operation_0004
edam_topics uri 0..* EDAM topic IRIs for this skill (e.g. http://edamontology.org/topic_3172) importance: should_have; exact_mappings: EDAM:topic_0003
kb_path string 0..1 Relative path to the skill's knowledge-base entry file importance: nice_to_have; exact_mappings: prov:atLocation
bundle_dir string 0..1 Absolute path to the offline skill knowledge base bundle directory importance: nice_to_have; exact_mappings: prov:atLocation

ASBTool

Collection-time aggregated tool record: the deduplicated, paper-grounded software-tool reference collected at release time. Mirrors the ASBTool dataclass of the reference pipeline (formerly SciTool).

Class of asb_skill_bundle.yaml

Slot Range Cardinality Description Notes
slug string 1 Lowercase, hyphen-separated unique identifier for this skill bundle (e.g. spectral-similarity-scoring) importance: must_have; exact_mappings: schema:identifier
tool_name string 1 Tool name (mirrors ToolRecord.tool_name; used by ASBTool) importance: must_have; close_mappings: schema:name
canonical_url uri 0..1 Canonical URL for the tool (GitHub, bio.tools, PyPI, etc.) importance: should_have; close_mappings: schema:codeRepository
related_skills string 0..* Slugs of ASBSkill records that reference this tool importance: should_have; close_mappings: dcterms:isPartOf
source_task_ids string 0..* task_id values of the ASB task cards from which this skill was extracted importance: should_have; close_mappings: dcterms:isPartOf
source_paper_doi string 0..1 Primary source paper DOI (flat field, complements source_papers[]) importance: should_have; exact_mappings: schema:identifier
source_paper_title string 0..1 Primary source paper title (flat field, complements source_papers[]) importance: nice_to_have; exact_mappings: schema:name
evidence_spans string 0..* Verbatim quotes from source papers anchoring this tool reference importance: should_have; close_mappings: prov:wasDerivedFrom
version_used string 0..1 Version string actually used in the source paper(s) importance: nice_to_have; close_mappings: schema:softwareVersion
install string 0..1 Install metadata dict (conda / pip / docker / etc.) produced by tool_resolver importance: nice_to_have; close_mappings: schema:installUrl
resolution_attempts string 0..* Audit list of resolver attempts (each entry a dict; serialized as JSON) importance: nice_to_have; close_mappings: prov:wasGeneratedBy
edam_operation uri 0..1 Primary EDAM operation IRI for this skill (e.g. http://edamontology.org/operation_3799) importance: should_have; exact_mappings: EDAM:operation_0004
edam_topics uri 0..* EDAM topic IRIs for this skill (e.g. http://edamontology.org/topic_3172) importance: should_have; exact_mappings: EDAM:topic_0003
bio_tools_id string 0..1 bio.tools identifier for this tool. Reserved slot for the future bio.tools federation work; not populated in v1. importance: nice_to_have; close_mappings: schema:identifier

ToolAffordance

W3C WoT ActionAffordance-aligned mixin. RESERVED for v1: slot definitions exist but no ASB class consumes them yet. When the ecosystem standardises on WoT for executable tools, ASBTool (or an ExecutableTool subclass) will inherit from this mixin without breaking existing instances.

Class of asb_skill_bundle.yaml; mixin

Slot Range Cardinality Description Notes
input_schema string 0..1 JSON Schema describing the tool's input payload (WoT ActionAffordance.input) importance: nice_to_have; close_mappings: schema:potentialAction
output_schema string 0..1 JSON Schema describing the tool's output payload (WoT ActionAffordance.output) importance: nice_to_have; close_mappings: schema:potentialAction
precondition string 0..1 Free-form precondition (e.g. "requires CUDA 12.x"): WoT-style affordance hint importance: nice_to_have; close_mappings: prov:wasInfluencedBy
effect string 0..1 Free-form effect description for downstream agents importance: nice_to_have; close_mappings: prov:generated
side_effect_free boolean 0..1 True when invoking the tool has no observable side effects (pure function) importance: nice_to_have; close_mappings: schema:propertyID

MergeDecisionEnum

Possible outcomes recorded by a MergeAuditRecord

Enumeration of asb_skill_bundle.yaml

Value Description
auto_merge Auto-merged above the auto threshold
manual_merge Manually merged by a curator
kept_separate Reviewed and explicitly kept as distinct entries
needs_review Pending human review

asb_skill_collection.yaml

asb_skill_collection.yaml 0.3.0 https://w3id.org/holobiomicslab/asb-schema/skill-collection/v0.3 License: CC-BY-4.0

LinkML schema for ASB SkillCollection: a curated thematic release containing N ASBSkills and M ASBTools, pinned by content-hash IRIs. Each SkillCollection release corresponds to one Zenodo concept DOI; releases mint version DOIs beneath that concept. v0.3 declares the ten keys every released collection.yaml already carries (JSON-LD framing, lead curators, counts, catalogue topics, attribution roles, Zenodo DOI), so a real manifest validates against the class instead of failing on additional properties. All ten are optional; the required set is unchanged.

Schema name asb_skill_collection_v0_3. Imports: linkml:types, asb_skill_bundle.yaml. Format page: Skill collection.

Any

Unconstrained value. Used only for the inline JSON-LD @context, whose shape (IRI string, object or list) belongs to JSON-LD, not to this schema.

Class of asb_skill_collection.yaml; class_uri: linkml:Any

This class declares no slots or attributes.

Person

A person, contributor at the collection level.

Class of asb_skill_collection.yaml

Slot Range Cardinality Description Notes
name string 1 Full display name importance: must_have; exact_mappings: schema:name
orcid uri 0..1 ORCID iD as a URI (https://orcid.org/0000-0000-0000-0000) importance: should_have; exact_mappings: schema:identifier
affiliation string 0..1 Institutional affiliation (free-form; e.g. "Holobiomics Lab, CNRS") importance: should_have; close_mappings: schema:affiliation

SkillCollection

A curated thematic release of N ASBSkills and M ASBTools, pinned by content-hash. Distinct from per-capsule SkillBundle; this is the release unit.

Class of asb_skill_collection.yaml; tree root

Slot Range Cardinality Description Notes
iri uriorcurie 1 Stable IRI for this collection release (e.g. w3id.org/holobiomicslab/asb-skill/collection/metabolomics/v1). importance: must_have; exact_mappings: schema:url
slug string 1 Short slug for the collection (e.g. "metabolomics") importance: must_have; exact_mappings: schema:identifier
version integer 1 Release version number (integer; matches the vN in the IRI) importance: must_have; close_mappings: schema:version
title string 1 Human-readable collection title importance: must_have; exact_mappings: schema:name
description string 1 Human-readable description of the collection's scope and thematic coherence importance: must_have; exact_mappings: schema:description
license string 1 SPDX license identifier (e.g. "CC-BY-4.0") importance: must_have; exact_mappings: schema:license
contributors Person 0..* People who curated this collection (per-collection ORCIDs) importance: should_have; close_mappings: schema:contributor
doi uriorcurie 0..1 Zenodo DOI of this collection release (uriorcurie) importance: should_have; exact_mappings: schema:identifier
released_at datetime 0..1 Release timestamp (ISO 8601) importance: should_have; exact_mappings: schema:datePublished
skills uriorcurie 0..* Content-hash-pinned references to ASBSkill entries included in this release. Each entry is an IRI of the form w3id.org/holobiomicslab/asb-skill/<slug>@sha256:<hash> importance: must_have; close_mappings: dcterms:hasPart
tools uriorcurie 0..* Content-hash-pinned references to ASBTool entries used by this collection. Each entry is an IRI of the form w3id.org/holobiomicslab/asb-tool/<slug>@sha256:<hash> importance: should_have; close_mappings: dcterms:hasPart
edam_topics uri 0..* Collection-level EDAM topic IRIs (anchors the whole release) importance: should_have; exact_mappings: EDAM:topic_0003
source_collections uriorcurie 0..* Recursive: IRIs of prior collections this release is derived from (e.g. merged or split). Empty for fresh collections. importance: nice_to_have; close_mappings: prov:wasDerivedFrom
catalogue_membership uriorcurie 0..* Higher-level catalogue IRIs that include this collection (typically the SkillCollectionRegistry root). importance: nice_to_have; close_mappings: dcterms:isPartOf
ro_crate_path string 0..1 Path to this collection's ro-crate-metadata.json (relative to release root) importance: should_have; exact_mappings: prov:atLocation
jsonld_context Any 0..1 Inline JSON-LD context of the manifest. Serialised as @context; opaque to this schema. alias (serialized key): @context
jsonld_type string 0..1 JSON-LD type of the manifest node (e.g. asb:SkillCollection). Serialised as @type. alias (serialized key): @type
jsonld_id uriorcurie 0..1 JSON-LD node identifier; equal to iri in released manifests. Serialised as @id. alias (serialized key): @id
lead_curators Curator 0..* Lead curators of the release (see Curator). inlined_as_list: true
skills_count integer 0..1 Number of skills the release declares; read by the catalogue generator. minimum_value: 0
tools_count integer 0..1 Number of tools the release declares; read by the catalogue generator. minimum_value: 0
workflows_count integer 0..1 Number of workflow directories the release ships, when declared; a release gate checks it against the tree. minimum_value: 0
domain_topics uri 0..* EDAM topic IRIs under the name the catalogue generator reads. Released manifests carry the same list as edam_topics. close_mappings: schema:about
roles CollectionRoles 0..1 Collection-level attribution roles (see CollectionRoles). inlined: true
zenodo_doi string 0..1 Bare Zenodo DOI of the deposit (10.5281/zenodo.N), as recorded by the Zenodo release step. Released manifests carry the same value as doi. pattern: ^10\.5281/zenodo\.[0-9]+$

Curator

A lead curator as released manifests record one: display name, a bare ORCID iD and a GitHub handle. Distinct from Person, whose orcid is a URI; the manifest writer derives contributors from this list with the URI form.

Class of asb_skill_collection.yaml

Slot Range Cardinality Description Notes
name string 1 Full display name exact_mappings: schema:name
orcid string 0..1 Bare ORCID iD (0000-0000-0000-0000), not a URI pattern: ^[0-9]{4}-[0-9]{4}-[0-9]{4}-[0-9]{3}[0-9X]$
github string 0..1 GitHub user name

CollectionRoles

Attribution roles for the collection as a whole, mirroring the per-skill attribution block: what generated it, who promotes it, who paid for it, who curated it, and the author list deposited on Zenodo.

Class of asb_skill_collection.yaml

Slot Range Cardinality Description Notes
generator string 0..1 What produced the content (a pipeline, not a human author)
promoter string 0..1 Person who proposes the collection for use
sponsor string 0..1 Who paid the generation cost
curators string 0..* People who modified or validated the content (may be empty)
zenodo_authors string 0..* Creators as listed on the Zenodo deposit, in order

asb_skill_collection_registry.yaml

asb_skill_collection_registry.yaml 0.2.0 https://w3id.org/holobiomicslab/asb-schema/skill-collection-registry/v0.2 License: CC-BY-4.0

LinkML schema for the asb-skill-collections catalogue root. Lists all published SkillCollection releases and reserves an external_repos slot for future federation. The serialized form is catalogue.jsonld at the root of the asb-skill-collections repo.

Schema name asb_skill_collection_registry_v0_2. Imports: linkml:types, asb_skill_collection.yaml. Format page: Skill collection.

SkillCollectionRegistry

Catalogue root for the asb-skill-collections repo. Lists every released SkillCollection, plus a reserved (v1-off) federation slot.

Class of asb_skill_collection_registry.yaml; tree root

Slot Range Cardinality Description Notes
registry_iri uriorcurie 1 Stable IRI of this registry (e.g. w3id.org/holobiomicslab/asb-skill/) importance: must_have; exact_mappings: schema:url
registry_title string 1 Human-readable registry title importance: must_have; exact_mappings: schema:name
registry_description string 0..1 Human-readable description of the registry importance: should_have; exact_mappings: schema:description
registry_maintainers Person 0..* People listed in MAINTAINERS.md who curate this registry importance: should_have; close_mappings: schema:contributor
collections uriorcurie 1..* IRIs of all SkillCollection releases catalogued by this registry. Each entry pins a specific version (e.g. w3id.org/holobiomicslab/asb-skill/collection/metabolomics/v1). importance: must_have; close_mappings: dcterms:hasPart
external_repos uriorcurie 0..* RESERVED (off in v1). Future federation slot: IRIs of third-party *-skill-collections repos whose collections get aggregated into this catalogue. This is a design slot only. importance: nice_to_have; close_mappings: dcterms:isPartOf
generated_at datetime 0..1 When this catalogue snapshot was generated (ISO 8601) importance: should_have; exact_mappings: prov:generatedAtTime

asb_trace.yaml

asb_trace.yaml 0.1.0 https://w3id.org/holobiomicslab/asb-schema/trace/v0.1 License: CC-BY-4.0

LinkML schema for the ASB exploration trace v0.1.0: the research journey behind a paper's outcome: what was asked, tried, chosen and rejected. ASB's existing card and capsule schemas are outcome-only; this records the branches, including the ones that failed. Mirrors the ExplorationNode / ExplorationTree dataclasses of the reference pipeline.

Schema name asb_trace_v0_1. Imports: linkml:types. Format page: Exploration trace.

ExplorationNode

One step in the research journey. The value of type selects which further slots are mandatory; those constraints are enforced by the trace gate of the reference pipeline, not expressible in LinkML alone.

Class of asb_trace.yaml

Slot Range Cardinality Description Notes
id string 1 N-prefixed, zero-padded node identifier, unique within the tree identifier: true; pattern: ^N\d{2,}$
type NodeTypeEnum 1 Kind of step
title string 1 Short human-readable label for the step
support_level SupportLevelEnum 1 Whether the source stated this step or it was reconstructed
source_refs string 0..* Where in the source this step is stated, e.g. "§4.1", "Table 2", "Fig. 6 left". Mandatory when support_level is explicit.
children ExplorationNode 0..* Nested steps that follow from this one inlined_as_list: true
also_depends_on string 0..* Cross-edges to nodes outside this node's nesting, making the tree a DAG
choice string 0..1 The option taken (decision nodes) slot_uri: pplan:Plan
alternatives string 0..* Options considered and not taken (decision nodes). A decision with no alternative is a restatement, not a decision.
alternatives_unanchored integer 0..1 How many alternatives a guard removed from this decision (decision nodes); set only when at least one was removed, so an empty alternatives list beside a positive count is a recorded gap rather than a decision the source never qualified. The removed text is deliberately not recorded.
hypothesis string 0..1 What the abandoned approach assumed (dead_end nodes)
failure_mode string 0..1 How the abandoned approach failed (dead_end nodes)
lesson string 0..1 What a later reader should take from the failure (dead_end nodes). This is the field that stops a downstream agent re-walking the same branch.
result string 0..1 What the attempt produced (experiment nodes)
evidence string 0..* Claim ids, figures or tables supporting the result (experiment nodes)
from string 0..1 The approach departed from (pivot nodes)
to string 0..1 The approach moved to (pivot nodes)
trigger string 0..1 What prompted the change of direction (pivot nodes)

ExplorationTree

A paper's exploration graph: root nodes plus everything nested beneath.

Class of asb_trace.yaml

Slot Range Cardinality Description Notes
schema_version string 1 Version of this trace schema
source_doi string 0..1 DOI of the paper whose journey this trace records slot_uri: prov:wasDerivedFrom
nodes ExplorationNode 0..* Root nodes of the exploration graph inlined_as_list: true

NodeTypeEnum

Kind of step in the research journey

Enumeration of asb_trace.yaml

Value Description
question An open question, typically the root of a branch
experiment An attempt that produced a result
decision A choice made between competing options
dead_end An approach tried and abandoned; always a leaf
pivot A change of direction from one approach to another

SupportLevelEnum

Whether the source stated this step outright or it was reconstructed. The honesty axis: an inferred node must never be presented as directly observed.

Enumeration of asb_trace.yaml

Value Description
explicit Stated in the source; requires source_refs
inferred Reconstructed from surrounding narrative