Represent the deterministic mapping between StructuredBlocks and coherent result-centered scientific contexts.
ExperimentMap exists to group preserved scientific blocks into scopes that can be consumed by downstream evidence extraction.
Despite the name, an experiment scope does not necessarily represent a whole experiment, whole study, whole protocol, whole trial, whole cohort, or whole paper.
An experiment scope represents a coherent result-centered context supported by source blocks.
ExperimentMap is a derived mapping artifact.
ExperimentMap does not extract evidence, infer experiments, describe protocols, normalize scientific findings, or generate conclusions.
Its sole responsibility is block grouping.
experiment_map_idexperiment_map_id is globally unique inside Victus.experiment_map_id is immutable after creation.experiment_map_id is deterministic for the same Paper, StructuredBlockexperiment_map_id when the full mapping artifact must be traced.experiment_scope_id.experiment_scope_id is deterministic and supports traceability, audit,ExperimentMap identity is owned by victus-processing.
Downstream extraction workflows may consume ExperimentMap but must not modify its identity or reinterpret its grouping as experimental truth.
{
"experiment_map_id": "string",
"paper_id": "string",
"experiment_scopes": [
{
"experiment_scope_id": "string",
"source_block_ids": [
"string"
]
}
],
"unmapped_block_ids": [
"string"
]
}
| Field | Type | Description |
|---|---|---|
experiment_map_id |
String | Canonical Victus identifier for the mapping artifact. |
paper_id |
String | Source Paper identifier. |
experiment_scopes |
Array[Object] | Result-centered block groups used as downstream evidence extraction contexts. |
experiment_scopes[].experiment_scope_id |
String | Deterministic identifier for the scope within the mapping artifact. |
experiment_scopes[].source_block_ids |
Array[String] | StructuredBlock identifiers belonging to the same coherent result-centered context. |
unmapped_block_ids |
Array[String] | StructuredBlock identifiers not directly required for any result-centered scope. |
ExperimentMap must:
source_block_idsExperimentMap must not store:
ExperimentMap must not infer experiments, protocols, outcomes, populations, or findings that are not explicitly supported by source blocks.
ExperimentMap must not use methods blocks to merge otherwise separate result-centered contexts.
experiment_map_id must be unique and immutable.experiment_map_id must be deterministic for the same Paper,paper_id must reference an existing Paper.experiment_scope_id.experiment_scope_id must be deterministic within the mapping artifact.source_block_ids value must reference an existing StructuredBlock.unmapped_block_ids value must reference an existing StructuredBlock.source_block_id.ExperimentMap is created after StructuredBlock generation and before CanonicalEvidence extraction.
Typical sources:
ExperimentMap may be regenerated when block structuring, mapping rules, prompts,
or contract versions change.
Regenerated versions must coexist with prior versions unless an explicit
promotion or migration decision supersedes them.
ExperimentMap may be deleted when the source paper is removed or when regeneration supersedes the artifact.
ExperimentMap versions may be deprecated when replaced by a newer contract version or mapping strategy.
PaperStructuredBlockCanonicalEvidenceExperimentMap.paper_id -> Paper.paper_idExperimentMap.experiment_scopes[].source_block_ids[] -> StructuredBlock.block_idExperimentMap.unmapped_block_ids[] -> StructuredBlock.block_idCanonicalEvidence.source_block_ids[] -> StructuredBlock.block_idExperimentMap is a lightweight grouping artifact.
It should remain minimal, deterministic, and independent from downstream evidence schema design.
ExperimentMap should not become a hidden experiment model.
The name experiment_scope is operational, not ontological.
A single paper may produce zero, one, or many scopes.
A single study, cohort, intervention, or protocol may produce many scopes.
A single scope may produce zero, one, or many CanonicalEvidence objects.
Storage paths, object-store keys, database rows, pipeline runs, and prompt executions must not be treated as ExperimentMap identity.
Pipeline, parser, model, and prompt versions belong in a separate provenance
contract such as ProcessingProvenance or ExtractionRun, not in ExperimentMap.
Documentation clarification or validation wording refinement.
Backward-compatible additions such as optional metadata fields or additional validation guidance.
Breaking schema changes, identity changes, field removals, or semantic changes to scope boundary guarantees.