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 Java backend team added an optional maxRetries parameter to a public service method. The method already has a Javadoc comment. The project's README.md has a Quick Start section that references the method. The team wants to update the documentation.
The team wants the documentation updated. Use --apply mode on the latest committed change.
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/main/java/com/example cat > src/main/java/com/example/DataService.java << 'JEOF' package com.example;
public class DataService {
/**
* Fetch records from the data store by category.
*
* @param category the category identifier to query
* @param limit maximum number of records to return
* @return list of matching records as strings
*/
public java.util.List<String> fetchByCategory(String category, int limit) {
return java.util.Collections.emptyList();
}} JEOF cat > README.md << 'MDEOF'
Use fetchByCategory to retrieve records from the data store.
MDEOF
git add -A && git commit -m "baseline"
cat > src/main/java/com/example/DataService.java << 'JEOF'
package com.example;
public class DataService {
/**
* Fetch records from the data store by category.
*
* @param category the category identifier to query
* @param limit maximum number of records to return
* @return list of matching records as strings
*/
public java.util.List<String> fetchByCategory(String category, int limit, int maxRetries) {
return java.util.Collections.emptyList();
}} JEOF git add -A && git commit -m "add maxRetries param to fetchByCategory"
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