-
Notifications
You must be signed in to change notification settings - Fork 2.5k
feat: add commit attribution with per-file AI contribution tracking #3115
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
76 commits
Select commit
Hold shift + click to select a range
365ee9e
feat: add commit attribution with per-file AI contribution tracking v…
wenshao 7c62e60
feat: enhance commit attribution with real AI/human ratios and genera…
wenshao 260f56b
feat: add surface tracking, prompt counting, session persistence, and…
wenshao 32fe367
fix: audit fixes — initial commit handling, cron prompt exclusion, fa…
wenshao 57bd3b1
fix: cross-platform and correctness fixes from multi-round audit
wenshao eef2723
Merge remote-tracking branch 'origin/main' into feat/commit-attribution
wenshao 180daa1
Merge remote-tracking branch 'origin/main' into feat/commit-attribution
wenshao 6683953
fix(attribution): also snapshot on ToolResult turns so resume keeps t…
wenshao ac836b6
refactor(attribution): merge duplicate retry guard and update stale doc
wenshao 5fd65e7
Merge remote-tracking branch 'origin/main' into feat/commit-attribution
wenshao eca9a06
feat(attribution): split gitCoAuthor into independent commit and pr t…
wenshao 2e4dbbc
feat(settings): add v3→v4 migration for gitCoAuthor shape change
wenshao 37142c2
test(migration): cover null/array/number and partial object for v3-to-v4
wenshao 30b0039
Merge remote-tracking branch 'origin/main' into feat/commit-attribution
wenshao 76ec048
fix(shell): address PR review for compound commits and PR body escaping
wenshao 6f9a39c
Merge remote-tracking branch 'origin/main' into feat/commit-attribution
wenshao 9894217
fix(attribution): address Copilot review on shell, schema, and totals
wenshao c83479e
fix(attribution): parse binary diffs, source generator from model, sy…
wenshao ae68a4f
fix(attribution): repo-root baseDir, escape co-author trailer, switch…
wenshao 9def2b6
fix(shell): shell-aware git-commit detection and apostrophe-escape ha…
wenshao 10676dc
fix(attribution): drop magic 100 fallback for empty deletions
wenshao 31bddbc
fix(shell): broaden git-commit detection, gate background, drop dead …
wenshao 6e1028d
fix(shell): unified git-commit detection split by intent
wenshao 2af4e1d
fix(shell): position-independent git subcommand detection + bash-shel…
wenshao f97ba20
fix(shell): refuse multi-commit attribution; misc review follow-ups
wenshao be81c6f
fix(attribution): partial-commit clear, symlink baseDir, gh/git flag …
wenshao 89ee3e3
fix(attribution): canonicalize file paths centrally in CommitAttribut…
wenshao 2dd792c
fix(attribution): canonicalize-from-root cleanup; fix mixed-quote -m …
wenshao 222b188
fix(shell): scope -m rewrite to commit segment, reject nested matches
wenshao 84d764b
fix(attribution): cd-leak, numstat partial failure, $() bailout, gh p…
wenshao 66cef3b
fix(attribution): --amend, --message/-b aliases, .d.ts over-exclusion
wenshao 80bed8f
fix(attribution): cd-subdir, scope --body, multi-commit count guard, …
wenshao 1498133
fix(attribution): cd embedded .., env wrapper, Windows ARG_MAX, segme…
wenshao f531924
fix(attribution): scope isAmendCommit to attributable segment only
wenshao d78d4cf
Merge remote-tracking branch 'origin/main' into feat/commit-attribution
wenshao 8891b83
fix(attribution): last-match --body, symlink leaf canonicalisation, s…
wenshao eecb0cf
fix(attribution): skip values for env -u NAME and -S string
wenshao 0103af5
Merge remote-tracking branch 'origin/main' into feat/commit-attribution
wenshao 9e73169
fix(attribution): submodule leak, PR body nesting, shallow-clone bail…
wenshao 090758c
fix(attribution): drop unsafe full-clear, tag analysis-failure with null
wenshao 3c0e329
fix(attribution): dedup snapshot writes, cap excludedGenerated, doc c…
wenshao e4bb018
fix(attribution): depth-1 shallow detection, snapshot dedup post-rewi…
wenshao 296fb55
fix(attribution): preHead race, regex apostrophe-escape, surface fail…
wenshao 325a12c
chore(schema): regenerate settings.schema.json to match gitCoAuthor.c…
wenshao 1ece874
fix(attribution): preserve unstaged AI edits across cleanup branches
wenshao dd45e17
fix(attribution): runGit null-on-failure, versionless v3→v4 migration
wenshao d429d90
fix(attribution): toggle-off partial clear, normalizeGitCoAuthor type…
wenshao a53c750
fix(attribution): harden restoreFromSnapshot against corrupt payloads
wenshao 715c258
fix(attribution): roll back snapshot dedup key on sync appendRecord f…
wenshao acd06e3
Merge remote-tracking branch 'origin/main' into feat/commit-attribution
wenshao ee460de
docs(attribution): align cleanup-branch comments with noteCommitWitho…
wenshao 8f9c7e4
Merge remote-tracking branch 'origin/main' into feat/commit-attribution
wenshao c0ed909
fix(attribution): restore fire-and-forget appendRecord, route rollbac…
wenshao a66a21d
fix(attribution): GIT_DIR repo-shift bail, snapshot envelope validati…
wenshao cc916b5
docs(attribution): correct legacyTypes / EXCLUDED_DIRECTORY_SEGMENTS …
wenshao 56ecaea
fix(attribution): SHA-pin git notes, on-disk hash divergence detectio…
wenshao 6ae266f
fix(attribution): pickBool intent-aware, shouldClear gate, ETIMEDOUT …
wenshao b3a06a7
fix(attribution): committed-blob validation, deleted-leaf canonicalis…
wenshao 3bb4cc7
fix(attribution): scope validateAgainst to committed set, SHA-pin rea…
wenshao c557bd5
chore(attribution): extract pickOuterLastMatch, log unrecognised pick…
wenshao ca21b6d
fix(attribution): canonicalise BOM and CRLF before hashing
wenshao 9000b9a
fix(attribution): reset accumulator when re-creating a deleted tracke…
wenshao 014b250
fix(attribution): treat git -C . as in-cwd, gate preHead on attributable
wenshao 8eb37ce
fix(core): preserve attribution across renamed files
wenshao dd8af23
Merge branch 'main' of github.com:QwenLM/qwen-code into feat/commit-a…
wenshao 2dbf3ea
Merge branch 'feat/commit-attribution' of github.com:QwenLM/qwen-code…
wenshao 56b5a06
fix(attribution): preserve env-vars in tokens, exclude empty -C targets
wenshao 8c33120
fix(attribution): SHA-pin diff/rev-list phase, document aiChars heuri…
wenshao b8d242d
Merge branch 'main' of github.com:QwenLM/qwen-code into feat/commit-a…
wenshao af5a1d9
fix(attribution): use posix join in applyCommittedRenames for Windows…
wenshao 9493369
docs(attribution): refresh stale HEAD~1/HEAD@{1} references in comments
wenshao b89b655
fix(attribution): catch attached-value forms of env/sudo cwd-shift flags
wenshao 5e52481
test(attribution): cover attached-form git -C/--git-dir/--work-tree
wenshao dc28d67
docs(attribution): document why backtick body doesn't bail like $(
wenshao 1852ef2
fix(attribution): scope trailer rewrite to before unquoted shell comment
wenshao 1e7c97f
fix(attribution): warn on gh pr create flows that can't be rewritten …
wenshao File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.