Context
From the 20 September 2026 Violin dev duplication/library review, baseline 5ca0d9d6767b91fe809b2e4996c85ac65ba9e962. Priority: P1. Source locations and measurements describe the review baseline.
Scope
Share one internal redaction pipeline between redact_text() and redact_single_line(), parametrized for the provider placeholder. Retain single-line preprocessing separately and retain Violin-specific secret patterns.
Acceptance criteria
Dependencies and overlap
No existing open issue covers redaction-pipeline duplication.
Branch and verification
Working branch: codex/review-redaction, based on dev. Future PRs target dev; follow AGENTS.md and preserve fail-closed policy. Rebase dependent branches onto updated dev before implementation.
Implementation must pass uv run pytest, uv run ruff check ., uv run ruff format --check . and uv run python scripts/violin_guard.py check-release, plus the focused checks above. No implementation or test rerun is claimed by this tracking issue.
Context
From the 20 September 2026 Violin dev duplication/library review, baseline
5ca0d9d6767b91fe809b2e4996c85ac65ba9e962. Priority: P1. Source locations and measurements describe the review baseline.Scope
Share one internal redaction pipeline between redact_text() and redact_single_line(), parametrized for the provider placeholder. Retain single-line preprocessing separately and retain Violin-specific secret patterns.
Acceptance criteria
Dependencies and overlap
No existing open issue covers redaction-pipeline duplication.
Branch and verification
Working branch:
codex/review-redaction, based ondev. Future PRs targetdev; follow AGENTS.md and preserve fail-closed policy. Rebase dependent branches onto updated dev before implementation.Implementation must pass
uv run pytest,uv run ruff check .,uv run ruff format --check .anduv run python scripts/violin_guard.py check-release, plus the focused checks above. No implementation or test rerun is claimed by this tracking issue.