asf-tooling commented on issue #932:
URL:
https://github.com/apache/tooling-trusted-releases/issues/932#issuecomment-4409985951
<!-- gofannon-issue-triage-bot v2 -->
**Automated triage** — analyzed at `main@2da7807a`
**Type:** `unclear` • **Classification:** `no_action` • **Confidence:**
`medium`
**Application domain(s):** `voting`, `release_lifecycle`
### Summary
Issue #932 is titled 'Vote feature complete' and described as a 'Punch list
for features needed to complete the VOTE phase,' but the issue body contains no
actual list of items or specific requirements. The VOTE phase already has
substantial implementation across vote initiation, casting (email and trusted
modes), tabulation, and resolution. Without a concrete punch list, it's
impossible to determine what specific features are missing or needed. The code
does contain several TODO comments hinting at incomplete work, but there's no
way to confirm these are what the issue refers to.
### Where this lives in the code today
#### `atr/get/vote.py` — `_is_podling_round_two` (lines 357-361)
_currently does this_
TODO noting code duplication that should be refactored.
```python
def _is_podling_round_two(release: sql.Release) -> bool:
# TODO: This logic is repeated elsewhere
# We should deduplicate this
committee = release.committee
return (committee is not None) and committee.is_podling and
(release.podling_thread_id is not None)
```
#### `atr/get/voting.py` — `selected_revision` (lines 44-54)
_currently does this_
Vote initiation page - appears fully functional.
```python
@get.typed
async def selected_revision(
session: web.Committer,
_voting: Literal["voting"],
project_key: safe.ProjectKey,
version_key: safe.VersionKey,
revision: safe.RevisionNumber,
) -> web.WerkzeugResponse | str:
"""
URL: /voting/<project_key>/<version_key>/<revision>
"""
```
#### `atr/post/resolve.py` — `selected` (lines 30-40)
_currently does this_
Vote resolution handler - handles passed/failed/cancelled with proper phase
transitions.
```python
@post.typed
async def selected(
session: web.Committer,
_resolve: Literal["resolve"],
project_key: safe.ProjectKey,
version_key: safe.VersionKey,
submit_form: shared.resolve.ResolveForm,
) -> web.WerkzeugResponse:
"""
URL: /resolve/<project_key>/<version_key>
"""
```
### Proposed approach
This issue cannot be triaged into actionable work because the punch list it
references was never written into the issue body. The VOTE phase has
substantial existing implementation covering: vote initiation (with email
composition and recipient selection), vote casting (both email-mode and
trusted-mode), vote tabulation (from mailing list threads and from trusted
ballots), vote resolution (with phase transitions for pass/fail/cancel),
podling two-round voting, and manual voting mode. There are several TODO
comments in the code that may correspond to intended punch list items, but
without the actual list, we cannot confirm scope or priority.
### Open questions
- What specific features were intended to be on the punch list? The issue
body contains no items.
- Are the TODO comments in the code (vote duration enforcement, email
logging, podling auto-resolve, code deduplication) the intended punch list
items?
- Is this issue meant to track remaining work that's defined elsewhere
(e.g., a project board or milestone)?
- Should this issue be updated with actual checklist items, or has the work
already been completed since filing?
_The agent reviewed this issue and is not proposing patches in this run.
Review the existing-code citations and open questions above before deciding
next steps._
### Files examined
- `atr/get/vote.py`
- `atr/post/resolve.py`
- `atr/post/vote.py`
- `atr/storage/writers/vote.py`
- `atr/tabulate.py`
- `atr/get/resolve.py`
- `atr/get/voting.py`
- `atr/models/tabulate.py`
---
*Draft from a triage agent. A human reviewer should validate before merging
any change. The agent did not run tests or verify diffs apply.*
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]