diff --git a/Technical_Decomp_Harvest.md b/Technical_Decomp_Harvest.md index c02db6a..611207e 100644 --- a/Technical_Decomp_Harvest.md +++ b/Technical_Decomp_Harvest.md @@ -1,6 +1,13 @@ ## enroll/harvest.py -All of these are dataclasses that act as the schema for state.json. harvest.harvest() creates them, then serializes them with asdict(). +`harvest.harvest()` is the producer: + +- uses UnitInfo / TimerInfo (systemd introspection) +- uses IgnorePolicy + PathFilter/CompiledPathPattern to decide what files are safe to copy +- emits ServiceSnapshot, PackageSnapshot, UsersSnapshot, etc. +- emits ManagedFile and ExcludedFile entries everywhere +- writes everything into state.json, and file copies into artifacts//... + ### ManagedFile (dataclass)