Skip to content

refactor\(code-metrics\): consolidate the six audit-* skills \(plan sized waves first\) - part 1 of 2 #12726

Closed

Description

@melodic-automation-lanes

Part 1 of 2 of #12491, split at intake (owner Q93). The done-when below is copied from #12491 as written.

Done when

  • A comment here gives a sized wave plan: the chosen target with its basis, and each wave's measured git diff --no-renames byte size, each under 262144 bytes. Further waves are filed from it.

Activity

  1. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Nov 3, 2026
  2. github-actions commented on Nov 3, 2026

    @github-actions
    Contributor

    Proposed work class: work-class: read-only
    Basis: automated intake triage; the lanes App applied this class.

    Size: Small
    Complexity: Medium
    Uncertainty: Knowable
    Flags: none
    Blocked by: none

    Understood: this is part 1 of 2 of the code-metrics audit-* consolidation. The deliverable is a comment on this issue with a sized wave plan. The plan needs the chosen consolidation target and its basis. It needs each wave's measured git diff --no-renames byte size, each under 262144 bytes. The waves themselves get filed afterward from that plan.

    The done-when is exact, so I have no open questions. The related issue is the part 2 sibling, #12727-range title "part 2 of 2", which is a split sibling and not a duplicate. The un-split original in the open list may also overlap. A maintainer can confirm which is canonical.

    Automated triage, applied by the lanes App.

  3. added
    priority: mediumReal value, no hard deadline; normal backlog flow.
    and removed
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Nov 3, 2026
  4. added
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    work-class: read-onlyAudits, research, reports. No repository mutation; tracker and queue writes only.
    on Nov 3, 2026
  5. added
    admission-deferredAdmitted but waiting for WIP room; the hourly work-unblock sweep labels it agent-ready.
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    and removed
    admission-deferredAdmitted but waiting for WIP room; the hourly work-unblock sweep labels it agent-ready.
    on Nov 3, 2026
  6. melodic-automation-lanes commented on Nov 3, 2026

    @melodic-automation-lanes
    ContributorAuthor

    This records a re-fire of an earlier refusal, not a new refusal. The lanes kill switch stopped run 41584881879, the work-resolve-issue run that agent-ready started, before it did any work; that run ended at 2026-11-03T05:45:27Z. work-unblock has now removed and added agent-ready back to start a fresh run. A kill-switch refusal is no fault in this issue or the lanes, so it never counts against later re-fires; after limits.limit-stops-per-issue of them since a person last added agent-ready or a run last reported, work-unblock waits longer before each one, up to 24 hours.

  7. added
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    and removed
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    on Nov 3, 2026
  8. github-actions commented on Nov 3, 2026

    @github-actions
    Contributor
    No description provided.
  9. github-actions commented on Nov 3, 2026

    @github-actions
    Contributor
    No description provided.
  10. melodic-automation-lanes commented on Nov 3, 2026

    @melodic-automation-lanes
    ContributorAuthor

    The work-resolve-issue lane stopped on this issue (report-delivered): the issue asks for a report and no change, and the run posted that report, so the issue closes.
    It closes the issue as completed.

    In the run's words:

    report-delivered: the sized wave plan for the code-metrics audit-* consolidation is the whole result of this issue; it is in summary and needs no commit.

    The run's report:

    ## Sized wave plan: consolidate the six code-metrics:audit-* skills (#12491, part 1 of 2)

    ### Target: one code-metrics:audit router (option 1)

    The target is plugins/code-metrics/skills/audit/: a router SKILL.md, then actions/<metric>.md for complexity, coverage, duplication, size, suppressions and type-debt, with scripts/ and evals/ beside them. The old names are removed in the final wave, with no aliases. The report skill values, the dispatch.sh ids and the detector rule ids keep their current values.

    Basis:

    • D107 router standard (#7582): "SKILL.md a router under 5k tokens, actions/ per action, evals on all skills, split only by exception". The six bodies total 71,833 bytes, too large for one SKILL.md, so they go into actions/. Option 2 (two skills split by data source) is a split, and D107 allows a split only by exception. None of the six needs one: all six entry scripts already call the plugin's shared scripts/dispatch.sh and scripts/entry-common.sh.
    • Skill visibility, #11954: at a 200k window and 4 bytes per token, fleet listing demand is 155,570 characters against a 56,000-character budget, and 221 skills are starved. Option 3 keeps six listing entries, while option 1 keeps one. Trimming one plugin's descriptions removed only about 3% of demand, so removing whole entries is the larger lever.
    • Eval baselines: each skill has its own evals/evals.json. Five have 3 cases each, and audit-suppressions has 8, plus 4 plugin-level cases under plugins/code-metrics/evals/audit-suppressions-*. Each wave captures before.json on its pre-move tree and passes /evals:plugin-eval --baseline before.json --margin 5 before its leaves are removed. The cases' prompts name the old commands (for example /code-metrics:audit-size), so each after-run uses the router's form.

    ### Waves (each under the 262,144-byte cap)

    Sizes are the git diff --no-renames bytes of each wave's mechanical move at HEAD eeac0c6b. Headroom is what remains under the cap for the router SKILL.md, the evals conversion, reference repoints and the changelog fragment.

    Wave Issue Moves Move diff bytes Headroom audit-* count after
    1 #12619 create the router; size (33,555), complexity (49,215), type-debt (59,974) 142,744 119,400 3
    2 #12620 coverage join.py (100,741) and test_join.py (133,865); leaf stays 234,606 27,538 3
    3 #12621 rest of coverage 111,457 150,687 2
    4 #12622 duplication 187,634 74,510 1
    5 #12623 suppressions, the last leaf 179,514 82,630 0

    The final count is 0. The whole move is 855,955 bytes, so it needs at least four waves. Five is the smallest workable plan: the join pair, duplication and suppressions each take more than half the cap, so no two of them can share a wave. The rest (waves 1 and 3, 254,201 bytes together) would leave only 7,943 bytes for the router and repoints. Moving all of coverage…

    What the run says it did not do:

    • The per-wave byte figures come from exact git file sizes and line counts plus git's diff header layout, not from writing each wave's diff to disk and measuring it: this lane has no byte-count tool. Each wave's own done-when re-measures its PR diff.
    • The router SKILL.md, the evals conversion, reference repoints and changelog fragments are not written yet, so their bytes are not measured; the plan reserves headroom for them (smallest is wave 2 at 27,538 bytes).
    • No eval baselines were run (/evals:plugin-eval needs a host run); each wave captures before.json on its pre-move tree, per #12727 and the wave issues.
    • The commit b92833d, where #12619-#12623 were measured, is not in this shallow checkout, so I could not diff it against HEAD. The six directories' total still matches #12491's 409,976 bytes.
    • The issue's done-when text is copied from #12491, so its 'a comment here' meant #12491; the lane posts this plan on #12726. If the owner wants it on #12491 as well, it needs to be copied there.
    • review: skipped, because the run made no code change to review.
    • tidy: skipped, because the working tree has no change to tidy.

    Run: https://github.com/melodic-software/claude-code-plugins/actions/runs/41586973483

  11. removed
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    on Nov 3, 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

    Labels

    priority: mediumReal value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.work-class: read-onlyAudits, research, reports. No repository mutation; tracker and queue writes only.

    Type

    Fields

    Work status

    agent-ready

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions