taskops-cli 0.5.2__py3-none-any.whl → 0.5.3__py3-none-any.whl

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.
taskops/_version.py CHANGED
@@ -1,4 +1,4 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  __title__ = "taskops"
4
- __version__ = "0.5.2" # single source of truth; pyproject reads it dynamically
4
+ __version__ = "0.5.3" # single source of truth; pyproject reads it dynamically
taskops/http/stale.py CHANGED
@@ -49,12 +49,12 @@ that reader and must not drift toward the host's."""
49
49
  HOSTED = (
50
50
  "{refs} not in this board's own repository on this host. Nothing was "
51
51
  "pruned to make that true — this host keeps every branch pushed to it "
52
- "forever — so {them} was never pushed here: a card worked before this host "
53
- "became the board's remote, or a worktree whose commits have not left it. "
52
+ "forever — so {subject} never pushed here: {cause}. "
54
53
  "A commit reaches this repository the moment it is made in a worktree "
55
54
  "joined to the board; the declared forge is a copy of what is here, never "
56
55
  "the other way round, so there is nowhere else this pane could look."
57
56
  )
57
+
58
58
  """The HOST's words — a reader with no clone, who can run nothing. No command
59
59
  is named because there is none they could run, and no forge is named because
60
60
  the forge is no longer a source: under the reversal it is a projection of this
@@ -62,6 +62,21 @@ repository, so "not here" is not "look over there". What replaced the mirror's
62
62
  "a pruned branch is normal" is the stronger fact — this host prunes nothing —
63
63
  and therefore a different diagnosis: the commits never arrived."""
64
64
 
65
+ SINGLE = (
66
+ "a card worked before this host became the board's remote, or a "
67
+ "worktree whose commits have not left it"
68
+ )
69
+ SEVERAL = (
70
+ "cards worked before this host became the board's remote, or "
71
+ "worktrees whose commits have not left them"
72
+ )
73
+ """The DIAGNOSIS, in the number of the refs it explains. It is an apposition
74
+ to the missing refs themselves — "they were never pushed here: cards worked
75
+ before …" — so it declines with them, subject and possessive both: one ref
76
+ missing is one card or one worktree, several are cards or worktrees. 0.5.2
77
+ shipped "so them was never pushed here" with this clause frozen singular; a
78
+ sentence a reader is meant to trust cannot ask them to forgive its grammar."""
79
+
65
80
  SHA = "0123456789abcdef"
66
81
 
67
82
 
@@ -82,7 +97,11 @@ def sentence(*refs: str, hosted: bool = False) -> str:
82
97
  listed = f"{' and '.join(names)} {'are' if many else 'is'}"
83
98
  them = "them" if many else "it"
84
99
  if hosted:
85
- return HOSTED.format(refs=listed, them=them)
100
+ return HOSTED.format(
101
+ refs=listed,
102
+ subject="they were" if many else "it was",
103
+ cause=SEVERAL if many else SINGLE,
104
+ )
86
105
  branches = [ref for ref in names if not _looks_like_a_sha(ref)]
87
106
  return STALE.format(
88
107
  refs=listed,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: taskops-cli
3
- Version: 0.5.2
3
+ Version: 0.5.3
4
4
  Summary: A shared work board for teams of coding agents, with a human who decides.
5
5
  Project-URL: Repository, https://github.com/bernatch22/taskops
6
6
  License-Expression: MIT
@@ -4,7 +4,7 @@ taskops/_errors.py,sha256=hBN_ChWVY09f61wNoy2dZPkwhEAQEQF5JRanpENCrNA,1548
4
4
  taskops/_ids.py,sha256=97FnOiBVKJ87zAgHj8ia-HZkKqkhx2J6jYeMFjcKq2s,2460
5
5
  taskops/_json.py,sha256=8pBzo98KdOKvSV3y3f7H7MF9RNb7zriK3152j8hQCHs,1682
6
6
  taskops/_locate.py,sha256=QmmglRfv8rhlqKQWvRdAaiqBdiU05Lxo-varGDSona0,4500
7
- taskops/_version.py,sha256=sz6KyCq_MfWzPzxKzBupco35KTkJb37cRo0bybUsLZE,138
7
+ taskops/_version.py,sha256=LhMOk8KUJQu6bjaOQvtxn_IoWiMoh4mYv7pn8ukRFzU,138
8
8
  taskops/_wire.py,sha256=OPV3lNKwUH1uNKREagCgd3ZI022v_HzRuNr3QYStmSc,5755
9
9
  taskops/board.py,sha256=GtcEaJmApGdqXpYSDbSyW-UU3zT437LwQgLGbWOq6B8,7867
10
10
  taskops/identity.py,sha256=pFNElIrYfbLHL6AFy6yKHvL_bL2gA6pV3rIr7Ugvusc,5351
@@ -86,7 +86,7 @@ taskops/http/routes.py,sha256=JkAXRMPtlQ6OEIWsaPH4cQ_EFms7tD6DCDWIxwLjXuQ,1601
86
86
  taskops/http/rpc.py,sha256=KjjmeGj2jZqPC-DKgfN2d2u5iGpaTuahrgXWhATpNoc,5521
87
87
  taskops/http/scoped.py,sha256=2bJCenwSEdWI17UHuvVLiZoY_zi-3l93CTFgRDmhK5Q,1456
88
88
  taskops/http/server.py,sha256=1nTe22ldTGv9-ga1OzAHVYD0oSG9aY-DriHWziZDXsw,3466
89
- taskops/http/stale.py,sha256=GJc92-kN87dwpSu7csMVYiXiutNEP09ifMfSdk9rYhc,5200
89
+ taskops/http/stale.py,sha256=DfHTOE8Zs0MIKX9qiYNDg5CM9uJnTHLzdlabzE-omZU,5936
90
90
  taskops/http/static.py,sha256=hnVc8WXt7K0yYt_C4b_uPhG7ouA2fQ1UhEof49v28ME,8121
91
91
  taskops/http/upstream.py,sha256=kXXwC40xqp-FGWS2FpyQ2OXr3u8csUBrxp-wQJ4SOC8,8640
92
92
  taskops/http/watcher.py,sha256=1bl-QI7NhaFGOLD_rnHBEyRgco_nROixj7gUNP1-qYU,3626
@@ -147,7 +147,7 @@ taskops/verbs/report.py,sha256=yKrEoPOdzJCnEUJIxPb5duM1oKaBjsl8ZV0bILGI8UM,7313
147
147
  taskops/verbs/review.py,sha256=L0E0jlW4r7qZU3aDZbW3IUbPUwF4ENMehpW6OUWVlJw,3522
148
148
  taskops/verbs/take.py,sha256=HSQVbKCmWxF94pMHxpf9o0SUZZir2IHxwNBahg8Ku2I,4156
149
149
  taskops/verbs/update.py,sha256=_EvAXG8I9lswuxrOirdzWE5HvzS3H3oGF4DSovgXg9E,6844
150
- taskops_cli-0.5.2.dist-info/METADATA,sha256=P7VVPPo20VOWwI7Et4mfAHtI2vijJuKiOIHrCJZmYhY,29838
151
- taskops_cli-0.5.2.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
152
- taskops_cli-0.5.2.dist-info/entry_points.txt,sha256=vXgZOPfyYUPtaXX8EVEQd7JkXRYU82Nf-gdwV3Gaik0,45
153
- taskops_cli-0.5.2.dist-info/RECORD,,
150
+ taskops_cli-0.5.3.dist-info/METADATA,sha256=H-p486qD1eeSz4lwgIurc-Dm8pC3l64J7r3AADlHhbk,29838
151
+ taskops_cli-0.5.3.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
152
+ taskops_cli-0.5.3.dist-info/entry_points.txt,sha256=vXgZOPfyYUPtaXX8EVEQd7JkXRYU82Nf-gdwV3Gaik0,45
153
+ taskops_cli-0.5.3.dist-info/RECORD,,