Repository navigation
chore: self-heal — 3 backlog items - #78
Merged
Merged
Conversation
Addresses #77 item 2: Untracked files in the review scope (bf:review)
…-comments Addresses #77 item 3: Waiting on bot reviews (bf:pr-comments)
…d test conventions Addresses #77 item 5: Precedence inside the conventions Rule: an established pattern in an existing file wins; the language and testing conventions govern new files; public/private function ordering within a module is deliberately left undefined.
This was referenced Oct 4, 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 #77. #77 stays open: items 1 and 4 remain in the backlog.
#77 item 2 — Untracked files in the review scope (
bf:review)Ask: stop
scope.shreturning zero files for brand-new untracked files, and stop an emptygh pr diffending the review atNOTHING_TO_REVIEW.Change:
scope.shgains an opt-in--with-untrackedflag. In the working and paths modes, it diffs untracked, non-ignored files against/dev/null. The working mode skips.bf/. The-wpass includes them too, so they aren't misclassified as whitespace-only.bf:reviewpasses the flag. Whengh pr diffcomes back empty, review falls back togit diff origin/<base>...origin/<head>before the early exit.Verified:
bash -n, then a fixture repo, plus the fallback run against #76:mode: working, both new files listedbranchwith 0 files.bf/and ignored files untrackedbranchdiff --git a/<f> b/<f>, parsed intohunksgit diff origin/main...origin/feat/kitproduced the 14-file diff#77 item 3 — Waiting on bot reviews (
bf:pr-comments)Ask: handle bots that leave a standing status comment, which makes
wait-for-review.shreturn at once. Document polling the bot's CI check.Change:
fetch-pr-comments.shcounts PR-level bot comments as actionable, so the wait reportsfindingson its first poll.pending, it waits withgh pr checks <pr> --watch. That is gh's own loop, so the "never hand-roll the loop" rule still holds.--watchhas no timeout, so the skill bounds it with the Bash timeout and maps that to the existingtimeoutrow.Verified (decision rule, driven both ways):
gh pr checks --json name,bucketreturnsbucketas documented.--watchblocked for more than 600 s on a PR with a pending check (Honor explicit inline edit gutter menu visibility microsoft/vscode#339575). That also confirmed the missing timeout.--watchreturned in 1 s with exit 0 on a PR whose checks had all finished (docs: recommend nix-shell and declarative config for Nix/NixOS cli/cli#14592).#77 item 5 — Precedence inside the conventions
Ask: say which wins when the TestCtx end-of-file rule conflicts with
dev.md's follow-the-existing-style rule, and define or explicitly leave undefined the order of functions within a module.Change:
dev.mdgains a Precedence rule:testing.md,python.mdandtypescript.md, which each restated the end-of-file placement without exceptions, now point to it. Reviewer: this rule is a policy choice; veto here if it should go the other way.Verified (documentation): read-back of each edited line against the ask. A grep finds no remaining unconditional end-of-file placement rule.
Refs #77