count_active_siblings excludes soft-deleted references, so rewriting the last active reference to a shared asset clears that asset's hash in place while a soft-deleted sibling still points at it. Restoring the sibling then matched the unchanged check on its own untouched file and kept enrichment_level at HASHED, so it was never re-hashed. Preserving state only makes sense when there is state to preserve: require a recorded hash before taking the unchanged path. |
||
|---|---|---|
| .. | ||
| api | ||
| database | ||
| services | ||
| helpers.py | ||
| scanner.py | ||
| seeder.py | ||