Fixes from the rest of the live session
- A near miss for abandon ("abort", "cancel", "drop it", ...) in an item's
thread is asked about, and changes nothing.
- The driver is told only the operator stops or closes an item, so it
doesn't claim to have done either.
- An issue assigned again after its item closed starts a new item that
notes the one before (Gitea's timeline gives the assignment time);
item_for_issue returns the latest item.
- Abandoning an issue Gitea won't close because of open dependencies says
so, naming them.
- An agreed item isn't offered restate.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PPQ14L3LikyefCMFBqEbKE
This commit is contained in:
1 parent
613a2a7f72
commit
0064ec7696
9 files changed
+242
-14
No files matched your search
@@ -108,9 +108,12 @@ def item_for_thread(
|
||||
def item_for_issue(
|
||||
store: StateStore, issue: int, project: str | None = None
|
||||
) -> WorkItem | None:
|
||||
"""Any item, open or closed, recorded by this issue (in ``project``,
|
||||
when given): intake never takes an issue twice (D1)."""
|
||||
for item in store.work_items():
|
||||
if loop_of(item).issue == issue and project in (None, item.scope):
|
||||
return item
|
||||
return None
|
||||
"""The latest item, open or closed, recorded by this issue (in
|
||||
``project``, when given): intake takes an issue once, and again only on a
|
||||
fresh assignment after its item closed (D1)."""
|
||||
found = [
|
||||
item
|
||||
for item in store.work_items()
|
||||
if loop_of(item).issue == issue and project in (None, item.scope)
|
||||
]
|
||||
return found[-1] if found else None
|
||||
Reference in new issue
Block a user