Skip to content

fix(work-items): count revert(<scope>): squash commits as reverts in measure-delivery #13656

Closed

Description

@kyle-sexton

Problem

/work-items:measure-delivery counts a deployment as reverted only from a This reverts commit <sha> line or a Revert "<subject>" subject (plugins/work-items/skills/measure-delivery/SKILL.md:51-54). This repository's reverts land as squash commits in Conventional Commits form, revert(<scope>): …, carrying neither (10 on main since 2026-10-04). So the change fail rate and the deployment rework rate read 0 here, whatever actually happened, and owner decision Q57 (#12984) needs a revert rate per merge-risk level.

Done when

  • A squash commit whose subject is revert: or revert(<scope>): counts as a revert of the deployment it names. Check: a fixture in plugins/work-items/skills/measure-delivery/scripts/delivery-metrics.test.sh with such a commit fails before the change and passes after.
  • The reverted deployment is resolved from the revert commit's own text: a This reverts commit <sha> line, a Reverts #<n> or (#<n>) PR reference matched to the deployment's squash subject, or a quoted or matching subject. A revert whose target cannot be resolved is counted as unresolved, never dropped silently. Check: one fixture case per resolution path plus an unresolved case.
  • Running the skill on this repository reports the revert-form commits since 2026-10-04 (command output pasted on this issue).
  • SKILL.md states the forms it recognizes.

Related

Activity

  1. added
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Nov 6, 2026
  2. self-assigned this
    on Nov 6, 2026
  3. kyle-sexton commented on Nov 6, 2026

    @kyle-sexton
    MemberAuthor
    No description provided.
  4. github-actions commented on Nov 6, 2026

    @github-actions
    Contributor

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

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

    Understood: measure-delivery only recognizes This reverts commit <sha> and Revert "<subject>", so this repo's revert(<scope>): squash commits are missed and the change fail rate and rework rate read 0. The issue asks for recognizing those commits, resolving their target through several paths (or counting them as unresolved), adding fixtures, documenting the forms in SKILL.md, and pasting a real run. Done-when items are exact. No likely duplicates found among open issues. The pasted run over this repository is a lane-checkable step.

    Automated triage, applied by the lanes App.

  5. 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 6, 2026
  6. added
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.
    on Nov 6, 2026
  7. 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 6, 2026
  8. github-actions commented on Nov 6, 2026

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

    @github-actions
    Contributor

    already-leased: another session holds a live lease on #13656, so run https://github.com/melodic-software/claude-code-plugins/actions/runs/42164441674 ran no model.

  10. kyle-sexton commented on Nov 6, 2026

    @kyle-sexton
    MemberAuthor

    Real-repo run for done-when 3, on branch fix/13656-measure-delivery-revert-forms (head ec53f437ad6), over origin/main as fetched 2026-11-05:

    bash plugins/work-items/skills/measure-delivery/scripts/delivery-metrics.sh \
      --repo <main checkout> --branch origin/main --since 2026-10-04 --until 2026-11-05
    
    "totals": {
      "deployments": 4764,
      "change_lead_time_hours_median": 0,
      "failed_deployments": 4,
      "change_fail_rate": 0.0008,
      "failed_deployment_recovery_time_hours_median": 5.41,
      "rework_deployments": 10,
      "deployment_rework_rate": 0.0021,
      "unresolved_reverts": 6,
      "deployments_per_week": 1010.55
    }
    Week rework failed unresolved
    2026-09-28 0 0 0
    2026-10-05 1 0 1
    2026-10-12 1 1 0
    2026-10-19 3 1 2
    2026-10-26 0 0 0
    2026-11-02 5 2 3

    Before this change the same window read 0 rework and 0 failed. All 10 revert: / revert(<scope>): squash commits on main since 2026-10-04 are counted: 4 resolve and 6 are unresolved. The script prints no SHAs, so the table below matches each commit to how it resolved, from git show -s --format=%B <sha>:

    Revert Resolved by Target
    5b550fa9280 (#13453) (#13107) in subject, Reverts #13107. in body 55f8a62854b (#13107)
    fce50a4b927 (#12228) (#12201 unmeasurable) in subject 64e56c70605 (#12201)
    71c1d5a4a34 (#8841) Reverts #8791. in body a22e385b79c (#8791)
    6d6b30018ea (#8303) Reverts melodic-software/claude-code-plugins#8254 e21eb44792b (#8254)
    f246be28213 (#13095) unresolved: names #12387 only in prose none
    bee196a5e2f (#12247) unresolved: "the cuts this reverts" lists four PRs in prose none
    444ef9e12b5 (#12235) unresolved: "#12186: the cut this reverts" none
    398d0ac589b (#9456) unresolved: "the change this PR reverts" (#9350) none
    17027f7bcee (#9438) unresolved: names no PR it reverts none
    73f5de8576b (#6544) unresolved: "the K3 bullet that #6500 added" none

    The four targets were checked on main with git log origin/main --format='%h %cs %s' -E --grep='\(#(13107|12201|8791|8254)\)$'. The six unresolved reverts count as rework and in unresolved_reverts, and none is dropped. Prose references ("the cut this reverts") are out of scope for this issue.

  11. removed
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    on Nov 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

priority: mediumReal value, no hard deadline; normal backlog flow.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.

Type

Fields

Work status

agent-ready

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions