Repository navigation
chore: self-heal — 3 backlog items - #85
Merged
Merged
Conversation
This was referenced Oct 4, 2026
This was referenced Oct 5, 2026
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.
Three items from the 2026-10-04 audit backlog. Each removes a token cost that recurs on every run.
#81 and #83 stay open because both still have items left. It overlaps with #78 in
skills/review/SKILL.mdonly, in different hunks: the convention-resolution lines here, the scope section there.#83 item 2 — Add a convention resolver script instead of a 3-probe lookup by the model
Ask: move the per-convention lookup out of the model and into a script, and remove the copies of the procedure.
Change:
skills/scan-conventions/scripts/resolve-conventions.sh <name>.... It prints{"<name>": "<winning path>" | null}for each name.plugin-main.mdkeeps the three-tier rule as the definition and now tells callers to use the script.micro/execute/SKILL.md:22andfeature/quality-gate/SKILL.md:29now point to it.Verified:
bash -n, then the script was run on fixtures, checking both the match and no-match cases.dev,testingandgitfromconventions/devwins, the user'stestingwins over the plugin's, andgitfalls back to the plugin.mdsuffix in the namenullThe static audit reports no orphan script.
#83 item 3 — Have a script filter the branch diff for added TODO lines
Ask: stop loading the whole
git diff <base>...HEADinto context just to find added TODO lines.Change:
skills/feature/scripts/added-todos.sh <base> [<file>...]. It prints[{file, line, text, context}]for added or modified lines that matchtodo(case-insensitive).lineis the line number at HEAD, andcontextholds up to 2 lines on each side.collect-todosstep 1 calls the script and keeps the remote-tracking-base rule.Verified:
bash -n, then the script was run on a fixture repo, checking both the match and no-match cases.[]{"error":"bad_base"}, exit 1#81 item 2 — Pass sub-skill paths, not contents, in feature's parallel audit fan-out
Ask: the parallel audit branch passed the contents of three SKILL.md files to its agents, against the Agent invocation rule at
feature/SKILL.md:29.Change:
feature/SKILL.md:378-380now says "dispatchfeature/<x>/SKILL.mdas an Agent", matching:29and the sequential branch at:352-354.Verified (documentation): I re-read the edited lines. No "contents of" phrasing is left in
feature/SKILL.md.Review follow-ups (
/bf:review, two fix rounds, final status PASS)added-todos.shhardeninggit diff(for example, no merge base) is now adiff_failederror instead of[].--no-color --no-ext-diffand explicit prefixes.+++counts as a file header only before the first hunk.todomust be a standalone word:TODO:,TODO-123and# todo xmatch;todos,added-todos.shandmastodondon't.jq, use exit 1, and the script runs underset -euo pipefaillike the scripts beside it.Convention tiers in one place
skills/scan-conventions/scripts/convention-tiers.sh.resolve-conventions.shanddiscover-conventions.shboth read the tier order from it, anddiscover's output is unchanged.discover-conventions.shno longer usesdeclare -A, so it runs on stock macOS bash 3.2. This bug was already onmain.Lookup migration finished
review(dry-run and Phase 1),decideanddiscussnow callresolve-conventions.shinstead of probing the tiers.null.Smoke scripts
added-todos-smoke.sh(10 cases) andresolve-conventions-smoke.sh(11 cases) both pass with/bin/bash3.2 first on PATH, which covers the scripts they call too.skills/SMOKE-TESTS.md. The static audit's orphan check counts any.mdunderskills/as a reference, so this keeps the run-the-smoke notes out of runtime SKILL.md text.TODO-123fix or puttingdeclare -Aback each makes a smoke script fail.Left as non-blocking notes
added-todosappears in two places.Refs #81, #83