configSource property
Runtime config freshness: invoked before every memory operation; a
non-null result REPLACES the active memory: section — stores whose
resolved path changed are dropped and re-created lazily at the new
location (editing .fah/config.yaml takes effect without a restart).
A thrown error keeps the current config (a mid-session yaml typo
must not kill memory ops; the next successful read recovers).
Implementation
final Future<MemoryConfig?> Function()? configSource;