Repository navigation
Conversation
CRAP (Change Risk Anti-Patterns) combines cyclomatic complexity with test coverage: cc^2 * (1 - cov)^3 + cc. It is computed at output time from the existing complexity and coverage data, so no analysis types change. - JSON: metrics.crap is a number with coverage data and null without it, so consumers can parse the key unconditionally. - Terminal and LLM markdown output show it next to coverage. - [crap].coverage_source selects direct (default) or transitive coverage.
This was referenced Oct 13, 2026
Score each function's editability per model tier (small to frontier) from complexity, nesting, length, coverage, context tokens and ripple, with ranked improvement actions. Opt-in via [llm_editability].
Lower LLM editability when LLM co-authored edits keep getting reworked: repeated recent LLM edits, fixes or reverts after them, and bursts of conventional fixes per scope (or per file for scope-less fix: commits). Older LLM edits never fixed or reverted add a small, capped bonus. Agents are detected from Co-authored-by trailers and Generated-with footers; configure via [llm_editability.churn].
thedrow
force-pushed
the
feat/llm-content-reverts
branch
from
October 13, 2026 02:18
46423cf to
f320ef4
Compare
thedrow
force-pushed
the
feat/llm-content-reverts
branch
from
October 13, 2026 02:52
f320ef4 to
f8124e2
Compare
Opt-in [llm_editability.churn.topics]: compare recent fix commit messages with each function's recent commits (stemmed, stopword-free terms via bm25, IDF-weighted Jaccard). On-topic fixes form a third fix group next to scopes and files. Fixes matching both scope and topic add extra rework; on-topic fixes under other scopes add rework and are reported as cross-scope fallout. fix_burst_scope becomes fix_burst_group.
Opt-in [llm_editability.churn] content_reverts: a commit that changes exactly the same files as an earlier commit and restores each to its previous blob counts as reverting it, whatever its message says. The existing commit walk records per-file blob ids, so matching is one hash lookup per commit. Detected reverts feed the revert churn signal.
thedrow
force-pushed
the
feat/llm-content-reverts
branch
from
October 13, 2026 03:12
f8124e2 to
85d316a
Compare
This was referenced Oct 17, 2026
This branch contains the earlier LLM changes, so it needs the same output, lookup, window, and topic-match corrections.
BSD-3-Clause is a permissive license in the same class as MIT. The topic matcher pulls deunicode in through bm25.
This branch has not been deployed
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
Git has no "reverted" flag.
git revertonly writesThis reverts commit <hash>.in the message, and that line can be edited away. GitHub's revert button references the PR instead of the commit. This PR adds opt-in detection of reverts from file content:(path, old blob, new blob)triples for each commit.This is PR 5 of 5.
Test plan
hot_parser, then a human restores the old version with the message "Restore previous tab handling". With the setting off, rework is 1. With it on, 1 reverted LLM edit is detected and rework is 2.Not yet done
content_revertssetting under[llm_editability.churn].How to stack these
These pull requests target
master. From a clone ofiepathos/debtmap, link them bottom to top, then merge the stack:gh stack linkrecords the stack on GitHub.gh stack mergemerges that stack in one step. Pass a pull request number to stop at that pull request. Order: CRAP scores (#148), editability (#149), churn (#150), topics (#151), content reverts (#152).