asf-tooling commented on issue #498:
URL: 
https://github.com/apache/tooling-trusted-releases/issues/498#issuecomment-4410195630

   <!-- gofannon-issue-triage-bot v2 -->
   
   **Automated triage** — analyzed at `main@2da7807a`
   
   **Type:** `discussion`  •  **Classification:** `no_action`  •  
**Confidence:** `high`  •  ⚠️ **Stale — consider closing**
   **Application domain(s):** `project_committee_management`, 
`release_lifecycle`, `announcement_publishing`
   
   ### Summary
   This issue requests integrating external ASF infrastructure (projects VM, 
CHI, reporter) to use ATR as the source of truth for project and release data. 
@dave2wave identified this as a duplicate of #469 on 2026-02-16. The work 
described is primarily about external systems consuming ATR data rather than 
changes within this repository itself, and the duplicate status means this 
issue should be closed in favor of #469.
   
   ### Where this lives in the code today
   
   #### `atr/datasources/apache.py` — `update_metadata` (lines 298-307)
   _currently does this_
   Currently ATR pulls project data FROM external sources; the issue asks for 
the reverse direction where external systems pull FROM ATR.
   
   ```python
   async def update_metadata() -> tuple[int, int]:
       """Update metadata from remote data sources."""
   
       ldap_projects = await get_ldap_projects_data()
       projects = await get_projects_data()
       podlings_data = await get_current_podlings_data()
       committees = await get_active_committee_data()
   
       ldap_projects_by_name: Mapping[str, LDAPProject] = {p.name: p for p in 
ldap_projects.projects}
       committees_by_name: Mapping[str, Committee] = {c.name: c for c in 
committees.committees}
   ```
   
   #### `atr/get/release.py` — `releases` (lines 33-45)
   _currently does this_
   Existing public release listing endpoint that could serve as the basis for 
the API that external systems would consume, though the issue's scope is 
primarily on those external systems.
   
   ```python
   @get.typed
   async def releases(_session: web.Public, _releases: Literal["releases"]) -> 
str:
       """
       URL: /releases
       View all releases.
       """
       # Releases are public, so we don't need to filter by user
       async with db.session() as data:
           releases = await data.release(
               phase=sql.ReleasePhase.RELEASE,
               _committee=True,
               _project=True,
           ).all()
   ```
   
   #### `atr/get/projects.py` — `projects` (lines 47-54)
   _currently does this_
   Existing public project listing page; external systems would need a JSON API 
equivalent rather than this HTML-rendering endpoint.
   
   ```python
   @get.typed
   async def projects(_session: web.Public, _projects: Literal["projects"]) -> 
str:
       """
       URL: /projects
       Main project directory page.
       """
       async with db.session() as data:
           projects = await 
data.project(_committee=True).order_by(sql.Project.name).all()
   ```
   
   ### Proposed approach
   This issue has been identified as a duplicate of #469 by @dave2wave and 
should be closed. The work described (making projects VM, CHI, and reporter 
consume ATR data) is primarily about changes to external ASF infrastructure 
systems, not changes within this repository. Any ATR-side work needed (exposing 
JSON API endpoints for project and release data) would be tracked under #469.
   
   No code changes are proposed here since the issue is a confirmed duplicate.
   
   ### Open questions
   - What is the status of issue #469 which this duplicates?
   - Are there already JSON API endpoints in atr/api/ that expose project and 
release data for external consumers, or does that need to be built?
   
   ### Staleness assessment
   
   _opened 119 days ago; last human comment 81 days ago._
   
   The issue was marked as a duplicate of #469 by @dave2wave 81 days ago with 
no subsequent activity. Since it's been explicitly identified as a duplicate by 
a contributor, it should be closed in favor of the original issue.
   
   **Recommendation: consider closing this issue.** If the maintainer agrees, 
the agent's assessment above provides the rationale to include in a closing 
comment.
   
   _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/datasources/apache.py`
   - `atr/get/projects.py`
   - `atr/post/projects.py`
   - `atr/storage/writers/project.py`
   - `atr/get/release.py`
   - `atr/shared/projects.py`
   - `atr/storage/readers/releases.py`
   - `atr/storage/writers/release.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]

Reply via email to