1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
// SPDX-License-Identifier: BSD-3-Clause
// Copyright (C) 2026 Vallés Puig, Ramon
//! Generic dataset provenance record.
//!
//! A [`DatasetProvenance`] captures the minimum lineage information that every
//! dataset in the archive carries: where the data came from, which tool
//! produced the derived artefact, and when it was generated.
//!
//! Domain-specific provenance types (e.g. [`crate::time::TimeDataProvenance`])
//! extend or complement this with additional per-format fields.
/// Lineage record for a single derived dataset or downloaded resource.
///
/// # Example
///
/// ```rust
/// use siderust_archive::provenance::DatasetProvenance;
///
/// let prov = DatasetProvenance {
/// source: "IMCCE VSOP87 ftp mirror".to_string(),
/// generator: "siderust/import-vsop87".to_string(),
/// generator_version: "0.8.0".to_string(),
/// git_commit: Some("deadbeef".to_string()),
/// generated_at: "2026-05-29T00:00:00Z".to_string(),
/// };
/// assert_eq!(prov.source, "IMCCE VSOP87 ftp mirror");
/// ```