[GH-ISSUE #368] git-ai stats <commit> inconsistent with git-ai diff <commit> #135

Closed
opened 2026-03-02 04:12:07 +03:00 by kerem · 20 comments
Owner

Originally created by @seflless on GitHub (Jan 18, 2026).
Original GitHub issue: https://github.com/git-ai-project/git-ai/issues/368

Maybe I'm not following the data concepts/structures but I also get stats saying I made everything, but then git-ai diff will give me an accurate take.

#
# Here I run git-ai stats with the second commit in my new repo
#
$ git-ai stats 3e23dca734e1aa01352c4c9c6c21abf7af9b9889
you  ████████████████████████████████████████ ai
     100%                                   0%

#
# Here I run git-ai diff with the same commit (the second commit)
#
~/dev/git-ai-test $ git-ai diff 3e23dca734e1aa01352c4c9c6c21abf7af9b9889
diff --git a/agent one.txt b/agent one.txt
new file mode 100644
index 0000000..58747ac
--- /dev/null
+++ b/agent one.txt
@@ -0,0 +1,3 @@
+This is line one  [no-data]
+This is line two  [no-data]
+This is line three  [no-data]
diff --git a/agent three.txt b/agent three.txt
new file mode 100644
index 0000000..58747ac
--- /dev/null
+++ b/agent three.txt
@@ -0,0 +1,3 @@
+This is line one  [no-data]
+This is line two  [no-data]
+This is line three  [no-data]
diff --git a/agent two.txt b/agent two.txt
new file mode 100644
index 0000000..9eccff0
--- /dev/null
+++ b/agent two.txt
@@ -0,0 +1,3 @@
+This is line one  [no-data]
+This is line two  [no-data]
+This is line three  [no-data]
\ No newline at end of file
diff --git a/human one.txt b/human one.txt
new file mode 100644
index 0000000..58747ac
--- /dev/null
+++ b/human one.txt
@@ -0,0 +1,3 @@
+This is line one  [no-data]
+This is line two  [no-data]
+This is line three  [no-data]
diff --git a/human three.txt b/human three.txt
new file mode 100644
index 0000000..58747ac
--- /dev/null
+++ b/human three.txt
@@ -0,0 +1,3 @@
+This is line one  [no-data]
+This is line two  [no-data]
+This is line three  [no-data]
diff --git a/human two.txt b/human two.txt
new file mode 100644
index 0000000..58747ac
--- /dev/null
+++ b/human two.txt
@@ -0,0 +1,3 @@
+This is line one  [no-data]
+This is line two  [no-data]
+This is line three  [no-data]

Am I not understanding the semantics? How could the stats be that AI has contributed nothing if you can see it in the diffs.

Originally created by @seflless on GitHub (Jan 18, 2026). Original GitHub issue: https://github.com/git-ai-project/git-ai/issues/368 Maybe I'm not following the data concepts/structures but I also get stats saying I made everything, but then `git-ai diff` will give me an accurate take. ```bash # # Here I run git-ai stats with the second commit in my new repo # $ git-ai stats 3e23dca734e1aa01352c4c9c6c21abf7af9b9889 you ████████████████████████████████████████ ai 100% 0% # # Here I run git-ai diff with the same commit (the second commit) # ~/dev/git-ai-test $ git-ai diff 3e23dca734e1aa01352c4c9c6c21abf7af9b9889 diff --git a/agent one.txt b/agent one.txt new file mode 100644 index 0000000..58747ac --- /dev/null +++ b/agent one.txt @@ -0,0 +1,3 @@ +This is line one [no-data] +This is line two [no-data] +This is line three [no-data] diff --git a/agent three.txt b/agent three.txt new file mode 100644 index 0000000..58747ac --- /dev/null +++ b/agent three.txt @@ -0,0 +1,3 @@ +This is line one [no-data] +This is line two [no-data] +This is line three [no-data] diff --git a/agent two.txt b/agent two.txt new file mode 100644 index 0000000..9eccff0 --- /dev/null +++ b/agent two.txt @@ -0,0 +1,3 @@ +This is line one [no-data] +This is line two [no-data] +This is line three [no-data] \ No newline at end of file diff --git a/human one.txt b/human one.txt new file mode 100644 index 0000000..58747ac --- /dev/null +++ b/human one.txt @@ -0,0 +1,3 @@ +This is line one [no-data] +This is line two [no-data] +This is line three [no-data] diff --git a/human three.txt b/human three.txt new file mode 100644 index 0000000..58747ac --- /dev/null +++ b/human three.txt @@ -0,0 +1,3 @@ +This is line one [no-data] +This is line two [no-data] +This is line three [no-data] diff --git a/human two.txt b/human two.txt new file mode 100644 index 0000000..58747ac --- /dev/null +++ b/human two.txt @@ -0,0 +1,3 @@ +This is line one [no-data] +This is line two [no-data] +This is line three [no-data] ``` Am I not understanding the semantics? How could the stats be that AI has contributed nothing if you can see it in the diffs.
kerem closed this issue 2026-03-02 04:12:07 +03:00
Author
Owner

@svarlamov commented on GitHub (Jan 18, 2026):

Hey @seflless! Could you share the output of git-ai show 3e23dca734e1aa01352c4c9c6c21abf7af9b9889? Thanks

<!-- gh-comment-id:3764898810 --> @svarlamov commented on GitHub (Jan 18, 2026): Hey @seflless! Could you share the output of `git-ai show 3e23dca734e1aa01352c4c9c6c21abf7af9b9889`? Thanks
Author
Owner

@seflless commented on GitHub (Jan 18, 2026):

Hey!

git-ai show 3e23dca734e1aa01352c4c9c6c21abf7af9b9889
No authorship data found for this revision
<!-- gh-comment-id:3765898138 --> @seflless commented on GitHub (Jan 18, 2026): Hey! ```bash git-ai show 3e23dca734e1aa01352c4c9c6c21abf7af9b9889 No authorship data found for this revision ```
Author
Owner

@svarlamov commented on GitHub (Jan 19, 2026):

Thanks so much for checking! So this kind of confirms my suspicions -- it looks like there's no authorship note for this commit. The most common cause for this for new users that I've seen is needing to restart terminals+agents before using Git AI. Do you mind trying that?

We also have per-agent troubleshooting guides on our website. Here's the page for Claude Code for example: https://usegitai.com/docs/cli/claude-code#troubleshooting

I'm going to go ahead and close this issue for now, since we tracked down the root cause of the incorrect stats. Please open a new issue if you run into any trouble with the Git AI installation. Also happy to help live on a call https://calendly.com/acunniffe/meeting-with-git-ai-authors anytime!

<!-- gh-comment-id:3768612248 --> @svarlamov commented on GitHub (Jan 19, 2026): Thanks so much for checking! So this kind of confirms my suspicions -- it looks like there's no authorship note for this commit. The most common cause for this for new users that I've seen is needing to restart terminals+agents before using Git AI. Do you mind trying that? We also have per-agent troubleshooting guides on our website. Here's the page for Claude Code for example: https://usegitai.com/docs/cli/claude-code#troubleshooting I'm going to go ahead and close this issue for now, since we tracked down the root cause of the incorrect stats. Please open a new issue if you run into any trouble with the Git AI installation. Also happy to help live on a call https://calendly.com/acunniffe/meeting-with-git-ai-authors anytime!
Author
Owner

@seflless commented on GitHub (Jan 19, 2026):

is needing to restart terminals+agents before using Git AI. Do you mind trying that?
How do I restart the terminal and coding agent? I've definitely created new terminals and claude code cli sessions.

<!-- gh-comment-id:3770278414 --> @seflless commented on GitHub (Jan 19, 2026): > is needing to restart terminals+agents before using Git AI. Do you mind trying that? How do I restart the terminal and coding agent? I've definitely created new terminals and claude code cli sessions.
Author
Owner

@seflless commented on GitHub (Jan 19, 2026):

I did the following just now after reading through the trouble shooting docs for Claude Code.

  1. Ran git-ai install-hooks again (it said everything was set and up to date)
  2. Created a new terminal and start claude from it. Also ran `git-ai instance in it
  3. Asked claude to add a new line at the beginning and end of two files
  4. I also did the same and added a line at the beginning and end, of two different files
  5. git-ai status did show that it detected claude had changed two things, but nothing about me.
  6. git-ai stats reported everything as 100% me though.
  7. I commited and pushed my changes in case that triggered anything, but git-ai stats returned the same thing (me doing 100% of the work)

Here's my Claude code conversation:

Image

Here's my git status changes after I and Claude made changes:
Image

<!-- gh-comment-id:3770308431 --> @seflless commented on GitHub (Jan 19, 2026): I did the following just now after reading through the trouble shooting docs for Claude Code. 1. Ran `git-ai install-hooks` again (it said everything was set and up to date) 2. Created a new terminal and start `claude` from it. Also ran `git-ai instance in it 3. Asked claude to add a new line at the beginning and end of two files 4. I also did the same and added a line at the beginning and end, of two different files 5. `git-ai status` did show that it detected claude had changed two things, but nothing about me. 6. `git-ai stats` reported everything as 100% me though. 6. I commited and pushed my changes in case that triggered anything, but `git-ai stats` returned the same thing (me doing 100% of the work) Here's my Claude code conversation: <img width="1902" height="1962" alt="Image" src="https://github.com/user-attachments/assets/7b0cefc2-fbb6-4567-b207-496d20b11b47" /> Here's my `git status` changes after I and Claude made changes: <img width="1100" height="1956" alt="Image" src="https://github.com/user-attachments/assets/45c8ac74-5245-4dac-b57a-7cd9051be525" />
Author
Owner

@seflless commented on GitHub (Jan 19, 2026):

Text instead of images of terminal output

Claude Conversation

⏺ Read(human one.txt)
  ⎿  Read 6 lines

⏺ Update(agent one.txt)
  ⎿  Added 2 lines
      1 +Claude added this part#2
      2  Claude added this
      3  This is line one
      4  This is line two
      5  This is line three
      6  Claude added this
      7 +Claude added this part#2

⏺ Update(human one.txt)
  ⎿  Added 2 lines
      1 +Claude added this part#2
      2  Claude added this
      3  This is line one
      4  This is line two
      5  This is line three
      6  Claude added this
      7 +Claude added this part#2

⏺ Done! I've added "Claude added this part#2" before and after the content in both files. Each file now has:
  - "Claude added this part#2" (first line)
  - "Claude added this" (second line)
  - The original three lines
  - "Claude added this" (second to last line)
  - "Claude added this part#2" (last line)

❯ /exit
  ⎿  Goodbye!

───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
❯ 
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
  git-ai-test │ main │ +4 -0
  Haiku 4.5 │ 2m 5s │ 89% │ ↓2.2k in / ↑2.4k out
  ⏵⏵ bypass permissions on (shift+tab to cycle) · 2 files +4 -0
~/dev/git-ai-test $ git-ai stats
you  ████████████████████████████████████████ ai
     100%                                   0%
~/dev/git-ai-test $ git-ai status
you  ████████████████████████████████████████ ai
     100%                                   0%

20 secs ago       +2      0  Claude claude-haiku-4-5-20251001
20 secs ago       +2      0  Claude claude-haiku-4-5-20251001
~/dev/git-ai-test $ git-ai status
you  ████████████████████████████████████████ ai
     100%                                   0%

1 mins ago        +2      0  Claude claude-haiku-4-5-20251001
1 mins ago        +2      0  Claude claude-haiku-4-5-20251001
~/dev/git-ai-test $ git-ai stats
you  ████████████████████████████████████████ ai
     100%                                   0%
~/dev/git-ai-test $

Git Diff

~/dev/git-ai-test $ git diff
diff --git a/agent one.txt b/agent one.txt
index 89f8412..7ea8106 100644
--- a/agent one.txt
+++ b/agent one.txt
@@ -1,5 +1,7 @@
+Claude added this part#2
 Claude added this
 This is line one
 This is line two
 This is line three
 Claude added this
+Claude added this part#2
diff --git a/agent two.txt b/agent two.txt
index 75e30cf..dface18 100644
--- a/agent two.txt
+++ b/agent two.txt
@@ -1,4 +1,6 @@
+Francois added this part #2
 This is line one
 This is line two
 This is line three
-Francois added this
\ No newline at end of file
+Francois added this
+Francois added this part #2
\ No newline at end of file
diff --git a/human one.txt b/human one.txt
index 89f8412..7ea8106 100644
--- a/human one.txt
+++ b/human one.txt
@@ -1,5 +1,7 @@
+Claude added this part#2
 Claude added this
 This is line one
 This is line two
 This is line three
 Claude added this
+Claude added this part#2
diff --git a/human two.txt b/human two.txt
index eb50e45..90c0e9e 100644
--- a/human two.txt
+++ b/human two.txt
@@ -1,4 +1,6 @@
+Francois added this part #2
 Francois added this
 This is line one
 This is line two
 This is line three
+Francois added this part #2
\ No newline at end of file
~/dev/git-ai-test $ git-ai stats
you  ████████████████████████████████████████ ai
     100%                                   0%
~/dev/git-ai-test $ git-ai status
you  ████████████████████████████████████████ ai
     100%                                   0%

1 mins ago        +2      0  Claude claude-haiku-4-5-20251001
1 mins ago        +2      0  Claude claude-haiku-4-5-20251001
<!-- gh-comment-id:3770308575 --> @seflless commented on GitHub (Jan 19, 2026): Text instead of images of terminal output **Claude Conversation** ```bash ⏺ Read(human one.txt) ⎿  Read 6 lines ⏺ Update(agent one.txt) ⎿  Added 2 lines 1 +Claude added this part#2 2 Claude added this 3 This is line one 4 This is line two 5 This is line three 6 Claude added this 7 +Claude added this part#2 ⏺ Update(human one.txt) ⎿  Added 2 lines 1 +Claude added this part#2 2 Claude added this 3 This is line one 4 This is line two 5 This is line three 6 Claude added this 7 +Claude added this part#2 ⏺ Done! I've added "Claude added this part#2" before and after the content in both files. Each file now has: - "Claude added this part#2" (first line) - "Claude added this" (second line) - The original three lines - "Claude added this" (second to last line) - "Claude added this part#2" (last line) ❯ /exit ⎿ Goodbye! ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ❯  ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── git-ai-test │ main │ +4 -0 Haiku 4.5 │ 2m 5s │ 89% │ ↓2.2k in / ↑2.4k out ⏵⏵ bypass permissions on (shift+tab to cycle) · 2 files +4 -0 ~/dev/git-ai-test $ git-ai stats you ████████████████████████████████████████ ai 100% 0% ~/dev/git-ai-test $ git-ai status you ████████████████████████████████████████ ai 100% 0% 20 secs ago +2 0 Claude claude-haiku-4-5-20251001 20 secs ago +2 0 Claude claude-haiku-4-5-20251001 ~/dev/git-ai-test $ git-ai status you ████████████████████████████████████████ ai 100% 0% 1 mins ago +2 0 Claude claude-haiku-4-5-20251001 1 mins ago +2 0 Claude claude-haiku-4-5-20251001 ~/dev/git-ai-test $ git-ai stats you ████████████████████████████████████████ ai 100% 0% ~/dev/git-ai-test $ ``` **Git Diff** ```bash ~/dev/git-ai-test $ git diff diff --git a/agent one.txt b/agent one.txt index 89f8412..7ea8106 100644 --- a/agent one.txt +++ b/agent one.txt @@ -1,5 +1,7 @@ +Claude added this part#2 Claude added this This is line one This is line two This is line three Claude added this +Claude added this part#2 diff --git a/agent two.txt b/agent two.txt index 75e30cf..dface18 100644 --- a/agent two.txt +++ b/agent two.txt @@ -1,4 +1,6 @@ +Francois added this part #2 This is line one This is line two This is line three -Francois added this \ No newline at end of file +Francois added this +Francois added this part #2 \ No newline at end of file diff --git a/human one.txt b/human one.txt index 89f8412..7ea8106 100644 --- a/human one.txt +++ b/human one.txt @@ -1,5 +1,7 @@ +Claude added this part#2 Claude added this This is line one This is line two This is line three Claude added this +Claude added this part#2 diff --git a/human two.txt b/human two.txt index eb50e45..90c0e9e 100644 --- a/human two.txt +++ b/human two.txt @@ -1,4 +1,6 @@ +Francois added this part #2 Francois added this This is line one This is line two This is line three +Francois added this part #2 \ No newline at end of file ~/dev/git-ai-test $ git-ai stats you ████████████████████████████████████████ ai 100% 0% ~/dev/git-ai-test $ git-ai status you ████████████████████████████████████████ ai 100% 0% 1 mins ago +2 0 Claude claude-haiku-4-5-20251001 1 mins ago +2 0 Claude claude-haiku-4-5-20251001 ```
Author
Owner

@svarlamov commented on GitHub (Jan 19, 2026):

Thank you so much for the debug logs -- this is extremely helpful. So git-ai is definitely working right with claude, but it seems like the commit hook isn't running.

Could you please let me know:

  1. The output of which git
  2. Are you using the git CLI to commit or are you using a Git GUI like Sublime Merge, Gitkraken, etc.? If so, which one?
  3. What operating system are you using?

Thank you so much for helping us troubleshoot this. My suspicion is that it's something with the git extension configuration or a git GUI -- confident we'll get this solved by the next turn of the conversation 😄

<!-- gh-comment-id:3770432969 --> @svarlamov commented on GitHub (Jan 19, 2026): Thank you so much for the debug logs -- this is extremely helpful. So git-ai is definitely working right with claude, but it seems like the commit hook isn't running. Could you please let me know: 1. The output of `which git` 2. Are you using the `git` CLI to commit or are you using a Git GUI like Sublime Merge, Gitkraken, etc.? If so, which one? 3. What operating system are you using? Thank you so much for helping us troubleshoot this. My suspicion is that it's something with the git extension configuration or a git GUI -- confident we'll get this solved by the next turn of the conversation 😄
Author
Owner

@seflless commented on GitHub (Jan 20, 2026):

I'm using git directly from the Ghostty terminal on macOS, and verified before that it's your git that's resolving in my sessions:

$ which git
/Users/francoislaberge/.git-ai/bin/git
<!-- gh-comment-id:3770569511 --> @seflless commented on GitHub (Jan 20, 2026): I'm using `git` directly from the [Ghostty](https://ghostty.org/) terminal on macOS, and verified before that it's your git that's resolving in my sessions: ```bash $ which git /Users/francoislaberge/.git-ai/bin/git ```
Author
Owner

@svarlamov commented on GitHub (Jan 20, 2026):

Got it -- that looks right! What is your git flow -- do you run git commit/git commit -m'message' or do you possibly have that command aliased, like git co linked to run git commit? We're working on a fix for that right now: https://github.com/acunniffe/git-ai/issues/377

<!-- gh-comment-id:3770655806 --> @svarlamov commented on GitHub (Jan 20, 2026): Got it -- that looks right! What is your git flow -- do you run `git commit`/`git commit -m'message'` or do you possibly have that command aliased, like `git co` linked to run `git commit`? We're working on a fix for that right now: https://github.com/acunniffe/git-ai/issues/377
Author
Owner

@seflless commented on GitHub (Jan 20, 2026):

I kept it really simple, just

git add .
git commit -m "another test"
git push 
<!-- gh-comment-id:3770748726 --> @seflless commented on GitHub (Jan 20, 2026): I kept it really simple, just ``` git add . git commit -m "another test" git push ```
Author
Owner

@seflless commented on GitHub (Jan 20, 2026):

I'm having a coding agent help me look at all possible sources of aliasing I may be unaware of or might have forgotten.

<!-- gh-comment-id:3770750387 --> @seflless commented on GitHub (Jan 20, 2026): I'm having a coding agent help me look at all possible sources of aliasing I may be unaware of or might have forgotten.
Author
Owner

@svarlamov commented on GitHub (Jan 20, 2026):

I see, I don't think it's aliasing in that case. Do you see anything extra if you run:

export GIT_AI_DEBUG=1
git add .
git commit -m "another test"
<!-- gh-comment-id:3770774503 --> @svarlamov commented on GitHub (Jan 20, 2026): I see, I don't think it's aliasing in that case. Do you see anything extra if you run: ``` export GIT_AI_DEBUG=1 git add . git commit -m "another test" ```
Author
Owner

@seflless commented on GitHub (Jan 20, 2026):

Results of me running that:

$ export GIT_AI_DEBUG=1
git add .
git commit -m "another test"
[git-ai] [BENCHMARK] Starting checkpoint run
[git-ai] [BENCHMARK] Storage initialization took 31.625µs
[git-ai] [BENCHMARK] Pathspec filtering took 0ns
[git-ai] [BENCHMARK]   Reading INITIAL attributions in get_all_tracked_files took 1.166µs
[git-ai] [BENCHMARK]   Reading checkpoints in get_all_tracked_files took 58.917µs
[git-ai] [BENCHMARK]   git status call took 22.085666ms
[git-ai] [BENCHMARK]   get_status_of_files in get_all_tracked_files took 22.130666ms
[git-ai] [BENCHMARK] get_all_tracked_files found 4 files, took 22.227833ms
[git-ai] [BENCHMARK] Reading 2 checkpoints took 49.333µs
[git-ai] [BENCHMARK] save_current_file_states for 4 files took 627.334µs
[git-ai] [BENCHMARK] Hash computation took 8.5µs
[git-ai] [BENCHMARK] Reading initial attributions took 1.75µs
[git-ai] [BENCHMARK] Spawning 4 tasks took 38µs
[git-ai] [BENCHMARK] Blame for human two.txt took 19.125µs
[git-ai] [BENCHMARK]   attribute_unattributed_ranges for human two.txt took 12.917µs
[git-ai] [BENCHMARK] collect_line_metadata (old/new) took 1.542µs
[git-ai] [BENCHMARK] Blame for agent two.txt took 1.417µs
[git-ai] [BENCHMARK] capture_diff_slices produced 3 ops in 7.583µs
[git-ai] [BENCHMARK]   attribute_unattributed_ranges for agent two.txt took 2.084µs
[git-ai] [BENCHMARK] collect_line_metadata (old/new) took 958ns
[git-ai] [BENCHMARK] compute_diffs processed 3 ops in 6.375µs (total 19.25µs)
[git-ai] [BENCHMARK] capture_diff_slices produced 3 ops in 4.25µs
[git-ai] [BENCHMARK]   update_attributions for human two.txt took 23.917µs
[git-ai] [BENCHMARK]   attributions_to_line_attributions for human two.txt took 3.5µs
[git-ai] [BENCHMARK] compute_diffs processed 3 ops in 6.5µs (total 15.375µs)
[git-ai] [BENCHMARK]   compute_file_line_stats for human two.txt took 3.583µs
[git-ai] [BENCHMARK] Processing file human two.txt took 42.411583ms
[git-ai] [BENCHMARK]   update_attributions for agent two.txt took 22.917µs
[git-ai] [BENCHMARK]   attributions_to_line_attributions for agent two.txt took 3.375µs
[git-ai] [BENCHMARK]   compute_file_line_stats for agent two.txt took 3.5µs
[git-ai] [BENCHMARK] Processing file agent two.txt took 42.4675ms
[git-ai] [BENCHMARK] Awaiting 4 tasks took 42.532292ms
[git-ai] [BENCHMARK] Processing 4 results took 500ns
[git-ai] [BENCHMARK] get_checkpoint_entries function total took 84.714667ms
[git-ai] [BENCHMARK] get_checkpoint_entries generated 2 entries, took 84.727792ms
[git-ai] [BENCHMARK] Checkpoint creation took 958ns
[git-ai] [BENCHMARK] Appending checkpoint to working log took 133.291µs
[git-ai] [BENCHMARK] Total checkpoint run took 128.1225ms
[main 0311b15] another test
 4 files changed, 9 insertions(+), 1 deletion(-)
you  ████████████████████████████████████████ ai
     100%                                   0%
<!-- gh-comment-id:3770789589 --> @seflless commented on GitHub (Jan 20, 2026): Results of me running that: ```bash $ export GIT_AI_DEBUG=1 git add . git commit -m "another test" [git-ai] [BENCHMARK] Starting checkpoint run [git-ai] [BENCHMARK] Storage initialization took 31.625µs [git-ai] [BENCHMARK] Pathspec filtering took 0ns [git-ai] [BENCHMARK] Reading INITIAL attributions in get_all_tracked_files took 1.166µs [git-ai] [BENCHMARK] Reading checkpoints in get_all_tracked_files took 58.917µs [git-ai] [BENCHMARK] git status call took 22.085666ms [git-ai] [BENCHMARK] get_status_of_files in get_all_tracked_files took 22.130666ms [git-ai] [BENCHMARK] get_all_tracked_files found 4 files, took 22.227833ms [git-ai] [BENCHMARK] Reading 2 checkpoints took 49.333µs [git-ai] [BENCHMARK] save_current_file_states for 4 files took 627.334µs [git-ai] [BENCHMARK] Hash computation took 8.5µs [git-ai] [BENCHMARK] Reading initial attributions took 1.75µs [git-ai] [BENCHMARK] Spawning 4 tasks took 38µs [git-ai] [BENCHMARK] Blame for human two.txt took 19.125µs [git-ai] [BENCHMARK] attribute_unattributed_ranges for human two.txt took 12.917µs [git-ai] [BENCHMARK] collect_line_metadata (old/new) took 1.542µs [git-ai] [BENCHMARK] Blame for agent two.txt took 1.417µs [git-ai] [BENCHMARK] capture_diff_slices produced 3 ops in 7.583µs [git-ai] [BENCHMARK] attribute_unattributed_ranges for agent two.txt took 2.084µs [git-ai] [BENCHMARK] collect_line_metadata (old/new) took 958ns [git-ai] [BENCHMARK] compute_diffs processed 3 ops in 6.375µs (total 19.25µs) [git-ai] [BENCHMARK] capture_diff_slices produced 3 ops in 4.25µs [git-ai] [BENCHMARK] update_attributions for human two.txt took 23.917µs [git-ai] [BENCHMARK] attributions_to_line_attributions for human two.txt took 3.5µs [git-ai] [BENCHMARK] compute_diffs processed 3 ops in 6.5µs (total 15.375µs) [git-ai] [BENCHMARK] compute_file_line_stats for human two.txt took 3.583µs [git-ai] [BENCHMARK] Processing file human two.txt took 42.411583ms [git-ai] [BENCHMARK] update_attributions for agent two.txt took 22.917µs [git-ai] [BENCHMARK] attributions_to_line_attributions for agent two.txt took 3.375µs [git-ai] [BENCHMARK] compute_file_line_stats for agent two.txt took 3.5µs [git-ai] [BENCHMARK] Processing file agent two.txt took 42.4675ms [git-ai] [BENCHMARK] Awaiting 4 tasks took 42.532292ms [git-ai] [BENCHMARK] Processing 4 results took 500ns [git-ai] [BENCHMARK] get_checkpoint_entries function total took 84.714667ms [git-ai] [BENCHMARK] get_checkpoint_entries generated 2 entries, took 84.727792ms [git-ai] [BENCHMARK] Checkpoint creation took 958ns [git-ai] [BENCHMARK] Appending checkpoint to working log took 133.291µs [git-ai] [BENCHMARK] Total checkpoint run took 128.1225ms [main 0311b15] another test 4 files changed, 9 insertions(+), 1 deletion(-) you ████████████████████████████████████████ ai 100% 0% ```
Author
Owner

@seflless commented on GitHub (Jan 20, 2026):

Oh one thing I do have aliased is claude cli itself to automatically run yolo mode. In case that would not help the situation.

<!-- gh-comment-id:3770791003 --> @seflless commented on GitHub (Jan 20, 2026): Oh one thing I do have aliased is `claude` cli itself to automatically run yolo mode. In case that would not help the situation.
Author
Owner

@seflless commented on GitHub (Jan 20, 2026):

I confirmed that I don't have anything else aliased otherwise related to git commands.

<!-- gh-comment-id:3770791598 --> @seflless commented on GitHub (Jan 20, 2026): I confirmed that I don't have anything else aliased otherwise related to git commands.
Author
Owner

@svarlamov commented on GitHub (Jan 20, 2026):

Thank you so much. I think I figured it out. There's a bug where AI edits aren't captured if a filename has a space in it.

I just tested ai_one.txt works but ai one.txt always shows 100% AI. Can you check what happens if you edit files without spaces in the name? I'm opening a new issue and we'll get a fix out in the next release

<!-- gh-comment-id:3770802568 --> @svarlamov commented on GitHub (Jan 20, 2026): Thank you so much. I think I figured it out. There's a bug where AI edits aren't captured if a filename has a space in it. I just tested `ai_one.txt` works but `ai one.txt` always shows 100% AI. Can you check what happens if you edit files without spaces in the name? I'm opening a new issue and we'll get a fix out in the next release
Author
Owner

@seflless commented on GitHub (Jan 20, 2026):

Ok cool, confirmed that it seemed to start working (at least better, didn't dig in and check if it was to the line correct)

git-ai status test

~/dev/git-ai-test $ git-ai status
you  ██████████████████░░░░░░░░░░░░░░░░░░░░░░ ai
     46%                                  54%
     100% AI code accepted | waited 2s for ai

0 secs ago        +8     -8  Francois Laberge
38 secs ago       +4     -4  Francois Laberge
1 mins ago        +3     -3  Claude claude-haiku-4-5-20251001
1 mins ago        +3     -3  Claude claude-haiku-4-5-20251001
1 mins ago        +3     -3  Claude claude-haiku-4-5-20251001
1 mins ago        +3     -3  Claude claude-haiku-4-5-20251001
1 mins ago        +1     -1  Claude claude-haiku-4-5-20251001
1 mins ago        +1     -1  Claude claude-haiku-4-5-20251001

git-ai stats test after commiting/pushing

~/dev/git-ai-test $ git-ai stats
you  ██████████████████░░░░░░░░░░░░░░░░░░░░░░ ai
     46%                                  54%
     100% AI code accepted
<!-- gh-comment-id:3773775741 --> @seflless commented on GitHub (Jan 20, 2026): Ok cool, confirmed that it seemed to start working (at least better, didn't dig in and check if it was to the line correct) **git-ai status test** ```bash ~/dev/git-ai-test $ git-ai status you ██████████████████░░░░░░░░░░░░░░░░░░░░░░ ai 46% 54% 100% AI code accepted | waited 2s for ai 0 secs ago +8 -8 Francois Laberge 38 secs ago +4 -4 Francois Laberge 1 mins ago +3 -3 Claude claude-haiku-4-5-20251001 1 mins ago +3 -3 Claude claude-haiku-4-5-20251001 1 mins ago +3 -3 Claude claude-haiku-4-5-20251001 1 mins ago +3 -3 Claude claude-haiku-4-5-20251001 1 mins ago +1 -1 Claude claude-haiku-4-5-20251001 1 mins ago +1 -1 Claude claude-haiku-4-5-20251001 ``` **git-ai stats test after commiting/pushing** ```bash ~/dev/git-ai-test $ git-ai stats you ██████████████████░░░░░░░░░░░░░░░░░░░░░░ ai 46% 54% 100% AI code accepted ```
Author
Owner

@svarlamov commented on GitHub (Jan 20, 2026):

Awesome! Thank you so much for helping us debug this issue. It's an embarrassing one -- I'm sorry you had to deal with it! Goes to show how much us_developers_dont_like_spaces!

<!-- gh-comment-id:3774627473 --> @svarlamov commented on GitHub (Jan 20, 2026): Awesome! Thank you so much for helping us debug this issue. It's an embarrassing one -- I'm sorry you had to deal with it! Goes to show how much us_developers_dont_like_spaces!
Author
Owner

@seflless commented on GitHub (Jan 20, 2026):

No worries. I'm really hoping your project works out, it was exactly what I was looking for. Well I just want conversations backed up was the first order thing, but analytics per line that's even better.

I still don't get how much I can trust the stats, but I'll take it as better than no stats. Good luck with the project!

<!-- gh-comment-id:3774634939 --> @seflless commented on GitHub (Jan 20, 2026): No worries. I'm really hoping your project works out, it was exactly what I was looking for. Well I just want conversations backed up was the first order thing, but analytics per line that's even better. I still don't get how much I can trust the stats, but I'll take it as better than no stats. Good luck with the project!
Author
Owner

@seflless commented on GitHub (Jan 20, 2026):

When will a fix for this go out? I have team members making files (who aren't devs) that have spaces. Just curious, will have a lint for files with spaces for now.

<!-- gh-comment-id:3774637936 --> @seflless commented on GitHub (Jan 20, 2026): When will a fix for this go out? I have team members making files (who aren't devs) that have spaces. Just curious, will have a lint for files with spaces for now.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/git-ai#135
No description provided.