Skip to content

27 open PRs contain ~9 duplicate/superseded submissions — needs triage before merging #34

Closed

Description

@dmchaledev

Problem

The repo currently has 27 open PRs (as of 2026-07-01), almost all authored against asm/openapi.yaml, sat/openapi.yaml, or docs/index.html. A pass over the titles/diffs shows the same fixes were independently implemented multiple times, plus at least two PRs that are now stale because the same change already landed on main via a different PR. Merging any one PR in a cluster will put the others into conflict or make them redundant, and reviewer time is being spent evaluating N near-identical diffs instead of 1.

Duplicate / overlapping clusters

Theme PRs Notes
ASM Tags CRUD (GET/PATCH/DELETE /tags/{tag_id}) #3, #11, #22, #24 Four independent implementations of the same three endpoints. #22 and #24 are both full (GET+PATCH+DELETE) and based on the same commit (757d6e5) — they will conflict with each other.
ASM 403 Forbidden response coverage #5, #9, #14, #20 Four PRs adding the same response to the same endpoints.
ASM 429/rate-limit documentation #23 (headers only), #26 (429 responses), #31 (429 responses + headers) #31 looks like a superset of #23 + #26.
OpenAPI 3.0 nullable: true → 3.1 type-union syntax #4, #18 Same mechanical fix done twice.
Docs page Open Graph / Twitter / canonical meta tags #13, #25, #32 Three independent implementations touching docs/index.html.
ASM response examples / descriptions #7, #17, #28 Overlapping scope ("add response examples", "fix missing descriptions") — needs a diff comparison to confirm exact overlap.

Stale PRs (already superseded by main)

Suggested fix

  1. For each cluster, pick the most complete/recent PR, merge it, and close the rest with a comment pointing to the survivor (Closing as duplicate of #NN).
  2. Close feat: add SAT OpenAPI 3.1 spec #6 and feat: add SAT OpenAPI 3.1 specification #8 outright — superseded by the already-merged sat/openapi.yaml.
  3. Verify and likely close fix: pin Redoc CDN to @2 instead of @latest #12 — appears already covered by 72a5ab9 on main.
  4. To prevent recurrence: since these PRs are opened by an automated contributor (dmchaledev / Claude Code sessions), add a step (e.g. a CONTRIBUTING.md note or a pre-flight check in whatever triggers these runs) requiring a check of existing open PRs/issues touching the same file before starting new work.

Impact

Without triage, whichever PR in each cluster merges first will silently break the others (merge conflicts on asm/openapi.yaml/sat/openapi.yaml), and reviewers are currently facing ~3-4x the actual number of distinct changes to evaluate.

Activity

  1. dmchaledev commented on Jul 6, 2026

    @dmchaledev
    ContributorAuthor

    Update (2026-07-06): problem has gotten worse, not better

    Five days on, none of the clusters listed above have been triaged — every PR named in this issue (#3, #4, #5, #6, #7, #8, #9, #11, #12, #13, #14, #17, #18, #20, #22, #23, #24, #25, #26, #28) is still open. Meanwhile the queue grew from 27 to 30 open PRs, and the growth itself is now duplicating work:

    Recommended next action, in order

    1. Merge docs: add CONTRIBUTING.md and PR template to prevent duplicate PRs #35 now to stop the bleeding (adds the process guardrail; zero functional risk).
    2. Work the existing clusters from this issue's table, picking one survivor each and closing the rest as duplicates: Tags CRUD (feat(asm): add PATCH and DELETE /tags/{tag_id} to complete the Tags resource #3, feat(asm): add GET and DELETE /tags/{tag_id} to complete Tags CRUD #11, feat(asm): complete Tags resource — add GET, PATCH, DELETE /tags/{tag_id} #22, feat(asm): add GET, PATCH, DELETE /tags/{tag_id} to complete Tags CRUD #24), 403 coverage (feat(asm): add 403 Forbidden response to all endpoints #5, feat(asm): add 403 Forbidden response to all ASM API endpoints #9, docs(asm): add 403 Forbidden response to all write operations #14, docs(asm): add 403 Forbidden response to all API endpoints #20), 429/rate-limit (docs(asm): document X-RateLimit-Limit/Remaining response headers on all endpoints #23, fix: add missing 429 responses to all ASM API endpoints #26, fix(asm): add missing 429 responses and document rate-limit headers #31), nullable 3.0→3.1 (fix(asm): replace OAS 3.0 nullable: true with OAS 3.1 type unions #4, fix: replace deprecated nullable:true with OpenAPI 3.1 null type syntax #18), OG/Twitter meta tags (docs: pin Redoc to v2 and add Open Graph / SEO meta tags #13, Add Open Graph and canonical meta tags to API docs page #25, docs: add Open Graph and Twitter card meta tags to docs page #32), response examples (docs(asm): add response body examples to all 11 operations #7, docs(asm): add response examples and fix missing operation descriptions #17, docs: add missing error examples in ASM spec and .gitignore #28).
    3. Add the new SRI duplicate pair to the same triage pass: keep one of security: add SRI hash to CDN-loaded Redoc script #19 / security: add SRI hash to Redoc CDN script tag #36, close the other.
    4. Close feat: add SAT OpenAPI 3.1 spec #6, feat: add SAT OpenAPI 3.1 specification #8 (superseded by sat/openapi.yaml already on main) and fix: pin Redoc CDN to @2 instead of @latest #12 (superseded by 72a5ab9) outright.

    Filed no new issue/PR for this to avoid adding to the exact pile-up this issue describes — flagging here instead so the existing tracking issue reflects current state.


    Generated by Claude Code

  2. dmchaledev commented on Jul 18, 2026

    @dmchaledev
    ContributorAuthor

    Update (2026-07-18): still unmerged, pile-up has accelerated to 40 open PRs

    Twelve days after the last update here, nothing in this issue has been actioned:

    The pattern of one new near-duplicate PR landing roughly every 24 hours strongly suggests this is coming from a recurring automated task (e.g. a scheduled "find one improvement and open a PR" run) that isn't checking the 30-40 already-open PRs before starting new work — the exact failure mode #35 was written to prevent.

    Not opening a new PR/issue for this (that would just be pile-up #41) — flagging here again, and separately notifying the repo owner directly, since automated comments on this issue aren't getting picked up.

    Recommended immediate actions, unchanged from before but now more urgent:

    1. Merge docs: add CONTRIBUTING.md and PR template to prevent duplicate PRs #35 — it's the guardrail that stops new duplicates from landing.
    2. Whatever schedule/automation is opening one PR/day against this repo should be paused until the existing backlog is triaged.
    3. Triage and close the duplicate clusters (list above and in the original issue body).

    Generated by Claude Code

  3. dmchaledev commented on Jul 19, 2026

    @dmchaledev
    ContributorAuthor

    Resolved: triaged all 40 open PRs (28 duplicate-cluster members closed, 12 distinct fixes merged after resolving conflicts as needed) — the repo is back to 0 open PRs. CONTRIBUTING.md + PR template from #35 (merged) are now in place to prevent recurrence.


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions