color_tools.reconcilers.filament_reconciler
Base contract for reusable external-filament reconciliation.
- class color_tools.reconcilers.filament_reconciler.FilamentReconciler(catalog, *, policy=None)[source]
Bases:
ABCPlan and resolve imported filaments against an existing catalog.
Subclasses rank format-specific candidates. This base class owns source ordering, deterministic ID reservation, ambiguity enforcement, resolution validation, and remapping of imported ownership to final catalog IDs.
- Parameters:
catalog (Sequence[FilamentRecord])
policy (FilamentReconciliationPolicy | None)
- property fuzzy_matching_available: bool
Return whether the reconciler is using its optional fuzzy engine.
- plan(source)[source]
Create an immutable reconciliation plan without modifying files.
- Return type:
- Parameters:
source (FilamentExportData)
- resolve(plan, resolutions=None)[source]
Apply caller choices and return only records that must be imported.
Ambiguous entries require an explicit choice. Matched entries default to
UseExisting, new entries default toImportNew, and skipped entries default toSkip.- Return type:
- Parameters:
plan (FilamentReconciliationPlan)
resolutions (Mapping[int, UseExisting | ImportNew | Skip] | None)