Represent the smallest preserved scientific context unit extracted from a source
paper.
StructuredBlock exists to preserve scientific content while maintaining local
semantic coherence, document structure, content ordering, and traceability to the
original publication.
StructuredBlock is a derived artifact created during paper processing.
StructuredBlock replaces the legacy Section Block terminology. New
documentation must use StructuredBlock; Section Block should be treated as
legacy wording only.
StructuredBlock does not represent evidence, experiments, conclusions,
scientific meaning, or extracted knowledge.
Its sole responsibility is preservation.
block_idblock_id is globally unique inside Victus.block_id is immutable after creation.block_id is deterministic for the same source paper, block order, andblock_id.content_hash identifies normalized block text content for change detectionStructuredBlock identity is owned by victus-processing.
Downstream workflows may consume blocks but must not modify block identity.
{
"block_id": "string",
"paper_id": "string",
"content_hash": "string",
"order": "integer",
"section_path": [
"string"
],
"section_type": "string",
"content_kind": "string",
"text": "string"
}
| Field | Type | Description |
|---|---|---|
block_id |
String | Canonical Victus identifier for the block. |
paper_id |
String | Source Paper identifier. |
content_hash |
String | Deterministic hash of normalized block text used for content change detection. |
order |
Integer | Stable document order of the block within the processed paper. |
section_path |
Array[String] | Hierarchical document location where the block appears. |
section_type |
String | Canonical scientific section classification. |
content_kind |
String | Structural content type preserved from the paper. |
text |
String | Full preserved textual content of the block. |
StructuredBlock must:
StructuredBlock must not store:
StructuredBlock must not infer scientific meaning beyond what is explicitly present in the source content.
block_id must be unique and immutable.block_id must be deterministic for the same source paper, block order, andpaper_id must reference an existing Paper.content_hash must be derived from normalized block text.order must preserve document ordering within the source paper.section_path must contain at least one element.text must not be empty.StructuredBlock is created during document ingestion and scientific document structuring.
Typical sources:
StructuredBlock may be regenerated if document parsing or structuring logic
changes.
Regenerated versions must coexist with prior versions unless an explicit
promotion or migration decision supersedes them.
StructuredBlock may be deleted only if its parent paper is removed from Victus.
StructuredBlock versions may be deprecated when superseded by a newer contract version.
PaperExperimentMapCanonicalEvidenceStructuredBlock.paper_id -> Paper.paper_idExperimentMap.source_block_ids[] -> StructuredBlock.block_idCanonicalEvidence.source_block_ids[] -> StructuredBlock.block_idStructuredBlock is the primary preserved scientific context object used
throughout the offline evidence pipeline.
StructuredBlock should remain stable and reusable across multiple downstream workflows.
Storage location, file paths, databases, object stores, vector stores, and processing systems must not be treated as block identity.
paper.final.json may be a repository-local implementation of
StructuredBlock[], but it is not a separate canonical scientific contract.
StructuredBlock regeneration must produce equivalent scientific content
preservation for the same source document and contract version.
Pipeline, parser, model, and prompt versions belong in a separate provenance
contract such as ProcessingProvenance or ExtractionRun, not in
StructuredBlock.
Documentation clarification or validation wording refinement.
Backward-compatible additions such as optional metadata fields.
Changes to identity rules, schema structure, preservation guarantees, or contract semantics.