Proposal (rationale)
SWE-agent supplies a minimal coding loop and OpenHands supplies a sandboxed, multi-run product, but neither was selected to answer the local git lifecycle as its primary question. rungs writes into a developer’s existing repository, so the boundary between model-selected context, an applied edit, validation, commit, diff, undo, and human control is unusually relevant to its own product.
Aider is selected as a git-first local counterpoint. Its public project documents repository mapping, automatic lint/test integration, and git commits and undo. The extraction must establish how those features actually compose and what repository state they assume; the project description alone is not implementation evidence.
Decision
accepted then planned — 2026-08-15. The user directed the follow-on research to continue after
WI-019 and WI-020/WI-021 established the product and evaluation extraction workflow. This item is
the git-native product child of WI-018; its written
requirements and acceptance criteria are now the execution contract.
Plan
Requirements
- Pin SHA, licence, date, measured scale, default configuration, and the coder/git/test packages read.
- Trace one change request through repository-map or context selection, model request, edit format, patch/application, lint or test feedback, and commit or user-visible diff.
- Establish the dirty-tree, branch, ignored-file, generated-file, and undo boundaries, including what is automatic versus opt-in.
- Trace malformed edits and failing validation back into the loop, including termination budgets.
- Identify where the user approves, steers, rejects, or recovers a change and what state survives restart.
- Map findings against narrow-anchor, structural-gate, land/candidate, agent-facing-interface, and prompt-writes-artifact patterns without editing the catalogue.
Impacts
- One durable/local-product extraction and index row.
- Direct evidence about repository ingress/egress and validation that can be compared with WI-016 in WI-028, without changing either source extraction.
Approach
Use one ordinary edit path and the default git integration. Treat repository mapping as a context selection mechanism, not a claim about semantic understanding. Read architect/editor or alternate edit formats only where they materially change ownership or validation boundaries.
Acceptance criteria / tests
- One request is traced from context selection through repository mutation and its git result.
- Dirty-tree, commit, undo, ignore, and validation-failure semantics cite named implementation and tests.
- The extraction states which safeguards are defaults, optional settings, or user workflow conventions.
- Repository-map claims distinguish measured structure from model-facing summaries.
- Opinion is labelled; catalogue work remains WI-028;
rungs checkand site links pass.
Out of scope
- Model leaderboards, benchmark scores, or choosing an edit format by performance.
- IDE integrations beyond the boundary needed to trace the core local path.
- Comparing Aider as a product against OpenHands or SWE-agent inside this extraction.
- Catalogue, module, or CLI changes.
Execution
Completed 2026-08-15 on feature/WI-022-extract-aider.
- Pinned
Aider-AI/aiderat5dc9490bb35f9729ef2c95d00a19ccd30c26339c, recorded Apache-2.0, and measured 691 tracked files, 147 Python files, 88 test-named/test-directory files, 160 text/docs files, and 38 coder implementations. - Added
aider.mdand the follow-on index row. The extraction traces repo detection/map/context, model request, exact edit application, dirty and ignore gates, lint/test feedback, automatic/user commit, diff, undo, and restart boundaries. - Validation:
node src/cli.ts check— 20 pass, 0 fail; sitenpm run build— 82 pages; sitenpm run check— 0 Astro diagnostics and 1,048 internal links, 0 broken. No real model request or repository mutation was run; cited Aider tests provide executable evidence at the pinned SHA.
Review
Self-review completed 2026-08-15 against every acceptance criterion:
- Pass. The extraction traces one ordinary edit from repo-map context through edit parsing, mutation, validation, and Git result with pinned implementation paths.
- Pass. Dirty-tree pre-commit, Git/Aider ignore handling, auto/user commit, guarded undo, malformed edits, lint/test failure, and reflection limits cite source and named tests.
- Pass. Defaults (
auto_commits,dirty_commits,auto_lint), opt-ins (auto_test, shell confirmation), and workflow conventions are distinguished. - Pass. Repo-map syntax/tag measurements are explicitly separated from semantic understanding.
- Pass. Opinions are labelled, catalogue work is deferred to WI-028, and gates/site links pass.