agent-overwrite-grader 0.1.0__tar.gz → 0.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,6 +13,7 @@ entity.yaml
13
13
  !.claude/
14
14
  .claude/*
15
15
  !.claude/settings.json
16
+ !.claude/hooks/
16
17
  node_modules/
17
18
  test-results/
18
19
  playwright-report/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: agent-overwrite-grader
3
- Version: 0.1.0
3
+ Version: 0.2.0
4
4
  Summary: Which files did two of your coding agents write within the same hour? Read from your local git log.
5
5
  Project-URL: Homepage, https://overflow.games/memento/grader/?ref=pypi
6
6
  Project-URL: memento Team, https://overflow.games/memento/?ref=pypi
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "agent-overwrite-grader"
7
- version = "0.1.0"
7
+ version = "0.2.0"
8
8
  description = "Which files did two of your coding agents write within the same hour? Read from your local git log."
9
9
  readme = "README.md"
10
10
  license = "MIT"
@@ -1,5 +1,5 @@
1
1
  """agent-overwrite-grader: which files two coding agent sessions wrote within the same hour, read from git log."""
2
2
  from .grade import COMMAND, WINDOW_MIN, grade, parse, score_line
3
3
 
4
- __version__ = "0.1.0"
4
+ __version__ = "0.2.0"
5
5
  __all__ = ["COMMAND", "WINDOW_MIN", "grade", "parse", "score_line", "__version__"]
@@ -11,6 +11,9 @@ from .grade import grade, score_line
11
11
  PREORDER = "https://overflow.games/memento/?ref=pypi"
12
12
  FIX = ("memento Team gives each file one owner at a time across machines: "
13
13
  "a session claims a path before it edits, and the next one waits.")
14
+ FREE_FIX = "pipx install agent-file-claim"
15
+ FREE = ("Free on one machine: " + FREE_FIX + " makes Claude Code and Codex refuse a session's write "
16
+ "to a file another live session is editing, and name who holds it.")
14
17
 
15
18
 
16
19
  def git_log(repo, since):
@@ -49,6 +52,8 @@ def text(report, top):
49
52
  out.append("And %d more %s." % (n - top, "file" if n - top == 1 else "files"))
50
53
  elif n == 0:
51
54
  out.append("Nothing collided in this history. The more agents run at once, the sooner it does.")
55
+ if n:
56
+ out += ["", FREE]
52
57
  out += ["", FIX, "Pre-order memento Team, 10 USD per agent a month: " + PREORDER]
53
58
  return "\n".join(out)
54
59
 
@@ -84,6 +89,8 @@ def main(argv=None):
84
89
  return 1
85
90
  if a.json:
86
91
  report["preorder"] = PREORDER
92
+ if report["files"]:
93
+ report["free_fix"] = FREE_FIX
87
94
  print(json.dumps(report, indent=2))
88
95
  else:
89
96
  print(text(report, a.top))