Skip to content

Trend analysis of the last 100 issues and PRs: proactive changes to reduce agent backlog #1788

Closed

Description

@mrbobbytables

Follow-up to the gap analysis in #1718. This reviews the 100 most recent issues (2026-10-16 to 2026-10-22) and 100 most recent pull requests (2026-10-18 to 2026-10-22) for trends, and proposes proactive changes that remove whole classes of findings rather than individual items.

Volume profile

  • Issues: 91 of 100 opened by the Hive agents; 88 closed as completed, 6 closed as not planned, 6 open. Title prefixes: [quality] 43, [architect] 19, [sec-check] 10, [guide] 9, [scanner] 6, [ci-maintainer] 4.
  • Pull requests: 73 of 100 opened by the Hive agents; 85 merged, 12 closed unmerged, 3 open. 38 of 100 touch only tests/. Median time to merge 3.4 h, p90 14.1 h.
  • hold label: 17 PRs carried it; 6 merged, 8 closed unmerged, 3 still open. Every held PR was a test-only quality PR waiting on the ACMM human-review gate.

Trends and proposed actions

1. Per-file surviving-mutant issues are the dominant class

Since the mutation harness landed (#1731), each source file with survivors receives one issue and one PR (#1760, #1770, #1777, #1781, #1783, #1786). The latest scheduled full-tree run (39556947541) reports 611 survived and 102 no-coverage mutants across 39 files at 82.09 %, so roughly 35 more issue/PR pairs are queued up at the current cadence.

Action: kill the backlog in a handful of grouped PRs by area instead of one file at a time. The nine largest files hold 491 of the 713 remaining mutants:

Mutants File
195 scripts/lib/svg-active-content.mjs
59 scripts/lib/enduser-collector.mjs
42 scripts/lib/mdx-escape.mjs
38 scripts/lib/architecture-content.mjs
37 scripts/lib/mdx-active-content.mjs
35 scripts/lib/cncf-wp-api.mjs
30 scripts/lib/enduser-assets.mjs
28 scripts/lib/github.mjs
27 scripts/lib/enduser-landscape.mjs

Once the full tree clears the break score, the scheduled run goes green and the quality agent stops discovering new files.

Files already covered by open held PRs (#1782 mdx-escape, #1784 profile-image, #1786 validate-utils) are left to those PRs.

2. The hold gate is the bottleneck

Held PRs go stale and get superseded by a later agent PR (#1733 by #1735, #1655 by #1742), which accounts for most of the 12 closed-unmerged PRs. The ACMM level is Hive configuration maintained outside this repository.

Action for Hive maintainers: treat a PR that changes a single tests/*.test.mjs file and passes the mutation workflow as the low-risk class GOVERNANCE.md already describes, and let it merge without a human hold.

3. Architect duplication findings repeat the same shapes

19 [architect] issues report near-duplicates the check:duplication gate does not count: dedup helpers (#1738, #1750, #1766, #1774), freshness styles (#1669, #1681), dialog shells (#1690, #1723), toolbar (#1539, #1658). jscpd only counts exact clones at or above minTokens.

Action: lower minTokens and minLines in .jscpd.json once, run a single sweep of what surfaces, then lower the ceilings in scripts/check-duplication.mjs to the new baseline.

4. Documentation drift

9 [guide] issues report stale script, route or workflow names; CONTRIBUTING.md changed in 16 of 100 PRs and AGENTS.md in 8.

Action: extend the markdown reference test so every npm run <script> and every workflow name mentioned in a *.md file must exist in package.json or .github/workflows/.

5. Reopened and misfolded issues

Two issues had to be reopened (#1736, #1764) after a Hive agent folded an unrelated finding into them or a PR auto-closed them on an incidental mention.

Action: keep using Refs rather than closing keywords for partial PRs, and ask the Hive maintainers to stop folding findings on filename overlap alone.

Suggested order

2 (unblocks everything else), then 1 (removes the largest future stream), then 3 and 4 (each removes a class). Items 2 and 5 are Hive-side configuration and need the Hive maintainers rather than a PR here.

Activity

  1. added
    stage/045-needs-decisionIssue parked on a person: needs-human or a maintainer decision is owed before the hive picks it up
    on Oct 22, 2026
  2. hivecommons-hive commented on Oct 22, 2026

    @hivecommons-hive
    Contributor

    What to reply

    • /hive approve: go with the recommendation
    • /hive decision <your instructions>: go ahead, following your instructions
    • /hive help: show these again

    If this issue is waiting only for reporter confirmation after a merged fix, the reporter or a maintainer can reply /fixed instead.

    Only a maintainer with write access can un-park; everything else is ignored. Full command reference: https://github.com/hivecommons/hive/blob/v5/src/docs/maintainer-commands.md.

  3. mrbobbytables commented on Oct 22, 2026

    @mrbobbytables
    MemberAuthor

    Full-tree mutation run on main after the five group merges (#1789, #1790, #1793, #1794, #1795): https://github.com/cncf/endusers/actions/runs/39845001035

    killed survived no coverage score
    before (scheduled run 39556947541) 3271 611 102 82.09%
    after 4271 167 0 96.24%

    Of the 167 remaining survivors, 64 sit in the three files the held PRs are already raising (#1782 mdx-escape.mjs 42, #1786 validate-utils.mjs 16, #1784 profile-image.mjs 6). The rest are the equivalent mutants documented in each group PR. #1799 raises break to 90, set to clear the weakest file on main rather than the full-tree figure, since the pull_request lane scores only the files a change touches.

  4. mrbobbytables commented on Oct 22, 2026

    @mrbobbytables
    MemberAuthor

    All checklist items are complete: the five group PRs and #1799 (break 83 to 90) are merged, and the three held mutant PRs (#1782, #1784, #1786) are released into the merge queue so the last files under the gate are raised too. Closing; the next scheduled full-tree run on Wednesday will confirm the 96%+ baseline. Hive digest #23 should reconcile its per-file surviving-mutant findings against this.

  5. removed
    stage/045-needs-decisionIssue parked on a person: needs-human or a maintainer decision is owed before the hive picks it up
    on Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions