gitea-saas-core#21: single owning issue for gitea_saas/gitea_client.py (#21) #23

Merged
pbwraith merged 1 commits from issue-21 into main 2026-08-25 18:13:56 +02:00
Owner

Closes #21

What

gitea_saas/gitea_client.py now has exactly one owning issue. Measured live today, four open issues declared it in their "Files allowed" set (#4, #5, #7, #8) and three PRs carried independent copies of the module. This PR:

  1. Declares issue #4 the sole owner (its version is the superset — see #21's analysis).
  2. Edited issue bodies (no repo code):
    • #5: removed gitea_saas/gitea_client.py (extend) from Files allowed
    • #7: removed gitea_saas/gitea_client.py (extend) from Files allowed
    • #8: removed gitea_saas/gitea_client.py (extend) from Files allowed
    • #6 and #9 were already clean (verified; no edit needed)
    • #4 untouched (owner)
  3. ARCHITECTURE.md names the module, its owner (#4), and states that new front-ends import it (review gate, eval farm, dashboard, delivery).

Acceptance evidence

Grep across open issue bodies — "Files allowed" lines (after edit):

  • #4: gitea_saas/gitea_client.py, gitea_saas/intake_factory.py, tests/test_intake_factory.py <-- only owner
  • #5: gitea_saas/reviewer.py, tests/test_reviewer.py
  • #7: gitea_saas/delivery.py, tests/test_delivery.py
  • #8: gitea_saas/intake_eval.py, tests/test_intake_eval.py
  • #2/#3/#6/#9: no gitea_client.py token

=> gitea_saas/gitea_client.py is listed in the allowed-files set of exactly one open issue (#4).

ARCHITECTURE.md names the module and its owner and states new front-ends import it.

Tests

No code change. python -m pytest -q on base main: 29 passed. git diff --check clean.

Out of scope (per #21)

  • No merge/bounce/rebase of !12/!15/!17/!20 — all PRs remain held for the owner.
  • No change to gitea_client.py behaviour or its GITEA_TOKEN handling.
Closes #21 ## What `gitea_saas/gitea_client.py` now has exactly one owning issue. Measured live today, four open issues declared it in their "Files allowed" set (#4, #5, #7, #8) and three PRs carried independent copies of the module. This PR: 1. Declares **issue #4** the sole owner (its version is the superset — see #21's analysis). 2. Edited issue bodies (no repo code): - #5: removed `gitea_saas/gitea_client.py` (extend) from Files allowed - #7: removed `gitea_saas/gitea_client.py` (extend) from Files allowed - #8: removed `gitea_saas/gitea_client.py` (extend) from Files allowed - #6 and #9 were already clean (verified; no edit needed) - #4 untouched (owner) 3. ARCHITECTURE.md names the module, its owner (#4), and states that new front-ends import it (review gate, eval farm, dashboard, delivery). ## Acceptance evidence Grep across open issue bodies — "Files allowed" lines (after edit): - #4: `gitea_saas/gitea_client.py`, `gitea_saas/intake_factory.py`, `tests/test_intake_factory.py` <-- only owner - #5: `gitea_saas/reviewer.py`, `tests/test_reviewer.py` - #7: `gitea_saas/delivery.py`, `tests/test_delivery.py` - #8: `gitea_saas/intake_eval.py`, `tests/test_intake_eval.py` - #2/#3/#6/#9: no gitea_client.py token => `gitea_saas/gitea_client.py` is listed in the allowed-files set of exactly **one** open issue (#4). ARCHITECTURE.md names the module and its owner and states new front-ends import it. ## Tests No code change. `python -m pytest -q` on base main: **29 passed**. `git diff --check` clean. ## Out of scope (per #21) - No merge/bounce/rebase of !12/!15/!17/!20 — all PRs remain held for the owner. - No change to `gitea_client.py` behaviour or its `GITEA_TOKEN` handling.
pbwraith added 1 commit 2026-08-25 17:33:17 +02:00
Author
Owner

Merged — verified against the merge result

origin/main (c78f497) merged into origin/issue-21: 0 conflicts (already
up to date — the branch already contains current main).

main control          29 passed in 3.11s
this branch           29 passed in 1.29s

Docs-only change (ARCHITECTURE.md, +9 lines, no code), so an unchanged count
is the correct result here, not a weak one.

What I checked beyond the count

The ownership claim this PR writes into ARCHITECTURE.md is #4 owns
gitea_saas/gitea_client.py
. I verified that against #21's own measured table
rather than taking the PR's word for it:

PR issue version blob
!12 #5 69 lines 9698050b6f2ebcb4
!15 #6 69 lines identical to !12
!17 #4 162 lines d5c905ebf6b56b6a (divergent superset)

!17 (issue #4) is the superset by method name — it carries repo_exists,
create_org_repo, list_labels, label_id, create_issue on top of the four
methods the other copies have. So "owned by #4, everyone else imports it"
matches the code that actually exists.

I also confirmed the file genuinely does not exist on main
(git ls-tree -r origin/main: 8 files, no gitea_client.py) — every one of
those PRs creates it. That is what makes this an add/add conflict invisible to
any single-PR review.

Why this is worth merging ahead of the code PRs

#21 records that #8 (eval farm) and #9 (dashboard) are both open,
unstarted, and both plainly need Gitea API access. With no written owner they
would each write a fourth and fifth copy. Landing the rule first is the cheap
way to stop that; landing it after the fact only documents a mess that already
happened.

Out of scope here and still open: the actual de-duplication of the three
existing copies, which is !17's and !12's job.

## Merged — verified against the merge result `origin/main` (`c78f497`) merged into `origin/issue-21`: **0 conflicts** (already up to date — the branch already contains current main). ``` main control 29 passed in 3.11s this branch 29 passed in 1.29s ``` Docs-only change (`ARCHITECTURE.md`, +9 lines, no code), so an unchanged count is the correct result here, not a weak one. ### What I checked beyond the count The ownership claim this PR writes into ARCHITECTURE.md is **#4 owns `gitea_saas/gitea_client.py`**. I verified that against #21's own measured table rather than taking the PR's word for it: | PR | issue | version | blob | |---|---|---|---| | !12 | #5 | 69 lines | `9698050b6f2ebcb4` | | !15 | #6 | 69 lines | identical to !12 | | !17 | **#4** | **162 lines** | `d5c905ebf6b56b6a` (divergent superset) | !17 (issue #4) is the superset by method name — it carries `repo_exists`, `create_org_repo`, `list_labels`, `label_id`, `create_issue` on top of the four methods the other copies have. So "owned by #4, everyone else imports it" matches the code that actually exists. I also confirmed the file genuinely does not exist on `main` (`git ls-tree -r origin/main`: 8 files, no `gitea_client.py`) — every one of those PRs *creates* it. That is what makes this an add/add conflict invisible to any single-PR review. ### Why this is worth merging ahead of the code PRs #21 records that **#8** (eval farm) and **#9** (dashboard) are both open, unstarted, and both plainly need Gitea API access. With no written owner they would each write a fourth and fifth copy. Landing the rule first is the cheap way to stop that; landing it after the fact only documents a mess that already happened. Out of scope here and still open: the actual de-duplication of the three existing copies, which is !17's and !12's job.
pbwraith merged commit 23cdf4927f into main 2026-08-25 18:13:56 +02:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: pbwraith/gitea-saas-core#23
No description provided.