Repository navigation
v0.24.4
·
26 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
This release changes only the distributed skills. The analyzer, shrink and the subcommands behave as in v0.24.3.
Skills
In declscope-in-practice experiment 2, the skills' rules were applied outside the situation they were written for. An agent asked to refactor held back from moving code, because feature-change advice said a move changes baseline keys. The skills now state the reason behind each default, and give every situation a way forward (#367).
| Topic | Now |
|---|---|
| Reading the skills | Most rules are defaults with a reason. When the situation differs, follow the reason. Only "Do not hide a report" holds everywhere |
| Restructuring in a feature change | Allowed for the code the change touches, when the result is whole: every finding that comes back is fixed, the package does not end up mixing two conventions, and the diff stays reviewable. A request to refactor widens how far, not whether |
| Inside a requested refactoring | The findings that come back are the work. Keeping code in place, or marking it shared instead of moving it, keeps the layout the user asked to change |
| An existing file's namespace | Fixed in the change when its findings can be fixed. Otherwise the new code goes to a new file named in the package's convention |
| New code using another file's private declaration | First put the new code beside it. Otherwise act on the declaration's directive, as one table says |
| A run nobody answers | One table says what to do for each step that needs the owner |
| A request that keeps the API | One table: name a new file for what it receives, check names before a namespace change, keep a shrink-reported name with a reasoned ignore |
| Clearing a baseline | Starts by moving the baseline aside, since recorded findings are not reported, and ends by putting it back and updating it |
| Adoption | Stops at a baseline unless the request is to clear the findings. -fix runs only after boundary is cleared. A cluster of findings is read by whether the files are one unit, not by the direction of the calls |
shrink |
Reports are decided per name, and packages not judged are listed apart. shrink -fix unexports every report of a package at once, so ignores for kept names come first. The dead-code check after it is the one the repository already runs |
The skills are about as long as in v0.24.3.
Install
mise use "github:mpyw/declscope@0.24.4"Full changelog: v0.24.3...v0.24.4