Open
Conversation
Split markdown auto-fix into a line-level surgical fixer and a guarded kramdown formatter. `--fix` now preserves frontmatter, code blocks, and other structure, while `--format` skips rewrites that risk structural changes.
Add a regression test for fix_file when the target markdown path does not exist, asserting the operation fails and reports a file-not-found error.
Update the task spec to reflect completed validation, with all acceptance and verification items checked off and the task status set to done.
Update the gem version constant and add the 0.26.0 changelog entry for the release.
Refresh the top-level changelog and Gemfile.lock to point at the new ace-lint release.
Document the 8qp-t-1fn-0 markdown surgical fix release retro, including what went well, what needs improvement, and follow-up action items.
Introduce `--auto-fix`, `--auto-fix-with-agent`, `--dry-run`, and `--model`, with config-backed agent defaults and coverage for the new fix flow.
Mark implemented success criteria and validation checks for the auto-fix and agent-assisted lint task.
Update the tools reference to show deterministic auto-fix, dry-run preview, and agent escalation usage.
Treat unresolved issues after `--auto-fix` as an error and add coverage for both failing and clean auto-fix paths.
Update the task spec to reflect the implemented auto-fix-with-agent behavior, model passthrough, and verification results.
Update the package changelog and version constant for the 0.27.0 release.
Refresh the root changelog entry and Gemfile.lock to track the new ace-lint release.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
📋 Summary
ace-lint --fixnow applies surgical, line-level edits instead of reformatting entire files through kramdown — preserving frontmatter, code blocks, and document structure. A new--auto-fix-with-agentflag provides LLM-assisted repair for issues that deterministic rules cannot fix, and--dry-runlets you preview fixes without writing.Previously,
--fixused kramdown round-trip formatting which could silently rewrite frontmatter, collapse tables, and alter HTML attributes.✏️ Changes
MarkdownSurgicalFixer: line-level fix molecule for em-dash, smart quotes, trailing whitespace, blank-line rules, and trailing newline — skips fenced code blocks and frontmatter (c5f800131)KramdownFormatter(c5f800131)--auto-fix(aliases--fix,-f): deterministic surgical fix → re-lint pipeline (5dd5af7ec)--auto-fix-with-agent: LLM-assisted repair usingAce::LLM::QueryInterfacewith prompt construction (5dd5af7ec)--dry-run(-n): preview fixes without writing (5dd5af7ec)--model: override LLM model for agent-assisted fixes (5dd5af7ec)9bba87e28)lint.doctor_agent_modelconfig key in.ace-defaults/lint/config.yml(5dd5af7ec)LintOrchestrator:--fixruns surgical fixer,--formatruns guarded kramdown,--fix --formatruns both in correct order (c5f800131)📁 File Changes
🧪 Test Evidence
📦 Releases
--auto-fix) and agent-assisted repair (--auto-fix-with-agent) flags🎮 Demo
Surgical fix (deterministic)
Dry-run preview
Agent-assisted fix