Update Technical_Decomp_Harvest

Miguel Jacq 2025-12-27 20:58:12 -06:00
parent 8b54d60765
commit 8b77af007c

@ -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/<role>/...
### ManagedFile (dataclass)