Skip to content

perf: skip rewriting files untouched by in-place anonymization#22

Open
CompactAIOfficial wants to merge 1 commit into
TeichAI:mainfrom
CompactAIOfficial:perf/anonymize-skip-unchanged
Open

perf: skip rewriting files untouched by in-place anonymization#22
CompactAIOfficial wants to merge 1 commit into
TeichAI:mainfrom
CompactAIOfficial:perf/anonymize-skip-unchanged

Conversation

@CompactAIOfficial

Copy link
Copy Markdown

In-place anonymization (teich extract's default post-pass, teich anonymize --in-place) always replaced the destination with the freshly written temp file, even when zero lines changed — every clean trace got rewritten and its mtime churned on every run.

This tracks whether any line was actually modified while streaming; when an in-place run leaves the content identical, the temp file is discarded instead of replacing the destination. Whole-text (non-jsonl) files get the same check. Copy-to-other-destination behavior is unchanged.

Testing

  • pytest tests/test_extract_anonymize_cli.py — 32 passed
  • manual check: clean file's mtime untouched after in-place run, secret-bearing sibling still anonymized

🤖 Generated with Claude Code

In-place anonymization always replaced the destination with the temp
file even when no line changed, rewriting every clean trace and
churning mtimes. Track whether any line was actually modified and drop
the temp file when an in-place run left the content identical; apply
the same check to whole-text (non-jsonl) files.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant