pub struct AggregateOptions {
pub prior_period_aggregate: Option<PathBuf>,
pub tolerate_missing_shards: bool,
pub cgu_test_inputs: Vec<CguTestInputs>,
pub cpi_series_by_currency: BTreeMap<String, GeneralPriceIndex>,
}Expand description
Knobs the caller can supply to tune run_aggregate behaviour.
All fields are optional; the Default impl gives the production
fail-fast contract (no prior period, missing shards are errors).
Fields§
§prior_period_aggregate: Option<PathBuf>Optional path to a prior period’s consolidated/ directory’s
parent — i.e. the prior period’s out_dir. When supplied,
opening NCI, equity-method carrying values, and CTA balances are
loaded from
prior_period_aggregate/consolidated/{nci_rollforward,equity_method_investments,cta_rollforward}.json.
When None, every opening defaults to zero per entity.
tolerate_missing_shards: boolWhen true, missing per-entity shard archives produce a warning
rather than an error — useful for partial-archive recovery
scenarios. Defaults to false: missing shards fail fast.
cgu_test_inputs: Vec<CguTestInputs>v5.2 IAS 36 § 10 — per-period CGU goodwill impairment test
inputs. Each entry references a CGU defined in
crate::manifest::GroupManifest::cgu_plan and supplies the
CGU’s other-asset carrying amount, fair-value-less-costs, and
value-in-use estimates for this period. When non-empty,
run_aggregate joins these against the manifest plan, runs
datasynth_core::models::CguImpairmentTest::run per CGU, and
emits consolidated/cgu_impairment_tests.json. When empty
(default), no impairment tests run and no artefact is emitted —
preserves backwards compatibility byte-for-byte for engagements
without CGU configuration.
cpi_series_by_currency: BTreeMap<String, GeneralPriceIndex>v5.5.2 IAS 29 § 12 — per-currency general price index (CPI)
series, keyed by ISO 4217 currency code. When supplied, the
aggregate driver matches each entity in
datasynth_core::models::HyperinflationStatus::Hyperinflationary
against this map by its functional currency. Matched entities
are translated via translate_entity_tb_with_indexed_restatement
(composing IAS 29 § 12 indexed restatement with IAS 21 § 42(b)
closing-rate translation). Hyperinflationary entities without a
matching currency entry log a warning and fall back to the
closing-rate-only path (the v5.5.0 behaviour). Non-hyperinflationary
entities ignore this map. Empty (default) preserves
backwards-compatible behaviour byte-for-byte.
Trait Implementations§
Source§impl Clone for AggregateOptions
impl Clone for AggregateOptions
Source§fn clone(&self) -> AggregateOptions
fn clone(&self) -> AggregateOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AggregateOptions
impl Debug for AggregateOptions
Source§impl Default for AggregateOptions
impl Default for AggregateOptions
Source§fn default() -> AggregateOptions
fn default() -> AggregateOptions
Auto Trait Implementations§
impl Freeze for AggregateOptions
impl RefUnwindSafe for AggregateOptions
impl Send for AggregateOptions
impl Sync for AggregateOptions
impl Unpin for AggregateOptions
impl UnsafeUnpin for AggregateOptions
impl UnwindSafe for AggregateOptions
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.