Auto-syncs stale docstrings and README when function signatures change. Detects documentation drift after refactors, parameter additions, or return type changes. Dry-run by default — proposes before writing.
87
100%
Does it follow best practices?
Impact
86%
1.59xAverage score across 17 eval scenarios
Passed
No known issues
A backend team reorganized their Python service, moving several utility functions from a flat utils.py into a dedicated core/parsing.py module as part of a larger code cleanup. The functions kept identical signatures and implementations — they were just relocated. Some of these functions had docstrings and were referenced in README.md.
The team wants to identify any documentation that needs attention as a result of the restructuring. Use --apply mode.
Extract the following files, then set up the git repository:
=============== FILE: inputs/setup.sh =============== #!/usr/bin/env bash set -euo pipefail git init git config user.email "dev@example.com" git config user.name "Dev" mkdir -p src cat > src/utils.py << 'PYEOF' def parse_config(raw: str) -> dict: """Parse a raw configuration string into a dictionary.
Args:
raw: The raw configuration string in KEY=VALUE format.
Returns:
Dictionary of parsed key-value pairs.
"""
result = {}
for line in raw.splitlines():
if "=" in line:
k, _, v = line.partition("=")
result[k.strip()] = v.strip()
return resultdef sanitize_input(value: str) -> str: """Strip leading/trailing whitespace and remove null bytes.""" return value.strip().replace("\x00", "") PYEOF cat > README.md << 'MDEOF'
parse_config(raw) — Parses KEY=VALUE format into a dict.
sanitize_input(value) — Cleans a string value.
MDEOF
git add -A && git commit -m "baseline"
mkdir -p src/core
cat > src/core/parsing.py << 'PYEOF'
def parse_config(raw: str) -> dict:
"""Parse a raw configuration string into a dictionary.
Args: raw: The raw configuration string in KEY=VALUE format.
Returns: Dictionary of parsed key-value pairs. """ result = {} for line in raw.splitlines(): if "=" in line: k, _, v = line.partition("=") result[k.strip()] = v.strip() return result
def sanitize_input(value: str) -> str: """Strip leading/trailing whitespace and remove null bytes.""" return value.strip().replace("\x00", "") PYEOF cat > src/utils.py << 'PYEOF'
PYEOF git add -A && git commit -m "move parsing functions to core module"
Sync the documentation and write the results to doc-sync-report.md.
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10
scenario-11
scenario-12
scenario-13
scenario-14
scenario-15
scenario-16
scenario-17