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 findings, normalize scientific findings, rank evidence, or generate conclusions.
Its responsibility is block grouping plus minimal methodological scope context
needed by downstream evidence derivation.
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",
"study_id": "string",
"source_block_ids": [
"string"
],
"study_design": "rct|prospective_cohort|retrospective_cohort|case_control|cross_sectional|meta_analysis|systematic_review|animal_experiment|in_vitro|mechanistic_experiment|descriptive_microbiome|method_validation|unclear",
"study_role_in_paper": "main_study|secondary_analysis|subgroup_analysis|sensitivity_analysis|mechanistic_substudy|external_meta_analysis|method_validation|unclear"
}
],
"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[].study_id |
String | Study/scope identifier used by CanonicalEvidence. May equal experiment_scope_id for compatibility. |
experiment_scopes[].source_block_ids |
Array[String] | StructuredBlock identifiers belonging to the same coherent result-centered context. |
experiment_scopes[].study_design |
Enum | Methodological design for the mapped scope. Use unclear when uncertain. |
experiment_scopes[].study_role_in_paper |
Enum | Role of the mapped scope within the paper. Use unclear when uncertain. |
unmapped_block_ids |
Array[String] | StructuredBlock identifiers not directly required for any result-centered scope. |
ExperimentMap must:
source_block_idsstudy_id, study_design, and study_role_in_paper for downstream traceabilityExperimentMap must not store:
ExperimentMap must not infer outcomes, populations, findings, or claims 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.study_id; it may equal experiment_scope_id.experiment_scope_id must be deterministic within the mapping artifact.study_design must use the allowed enum and should be unclear when notstudy_role_in_paper must use the allowed enum and should be unclear whensource_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
ranking, aggregation, and retrieval design.
ExperimentMap should not become a hidden experiment model.
The name experiment_scope is operational, not ontological.
study_id is a downstream traceability handle, not a claim that the scope is a
complete trial, cohort, experiment, or paper-level study.
study_design belongs here because it describes the methodological context of
the scope. It does not belong in CanonicalEvidence, EvidenceProjection rank
inputs except as copied context, or GeneralEvidence aggregation outputs as a
source-of-truth field.
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.