* chore: add timecop, centralizar en spec_helper (item 11b)
* refactor(engine): extraer step_* + purge_loop retorna total_deleted (item 10)
* refactor(observability): extraer Timing mixin (item 20)
* refactor(file_ingestor): extraer step_* methods (item 20)
* refactor(record): guard clause en execute_and_instantiate (item 20)
* refactor(storage/s3): extraer build_destroy_pattern + collect_matching_objects (item 20)
* feat(engine): vacuum_after_purge opcional post-purge (item 5)
* feat(engine): warning runtime de purga lenta sin avance (item 11b)
* security(record): sandboxing con lock_configuration=true (item 6)
* chore: release v0.3.0 — refactor y observabilidad avanzada
Items: 10 (refactor Engine#call CC=13→5), 20 (cleanup rubocop:disable),
5 (vacuum_after_purge), 11b (warning purga lenta), 6 (sandboxing Record)