Skip to content

fix(context-guard, rate-limit-guard): lead band rows with the plugin name and the deciding word #6321

Description

@kyle-sexton

Summary

PR #6318 compared the #6222 guard displays against the new mod guidance (/user-interface:design, mods type). Each band row conforms on default-off, dim, truncation and single row, but two rows have gaps in their text.

Gaps

  1. context-guard band row (ctx 24% (acceptable)): the row doesn't start with the plugin's short name, and the deciding word (the zone) comes last, so truncation cuts it first.
  2. rate-limit-guard band row (5h 3% | 7d 73%): the row doesn't start with the plugin's short name.

Proposed fix

  • Start each band row with the plugin's short name.
  • In context-guard, put the zone before the figures so a truncated row still shows it.

Each change needs a version bump and a CHANGELOG line in its plugin, plus updated band tests.

Related

Activity

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

    @github-actions
    Contributor

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

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

    Understood: the context-guard and rate-limit-guard band rows should start with the plugin name. In context-guard the zone should come before the figure, so truncation keeps it. The refinement comment already gives the exact row text. Both plugins need band test updates, README updates, a version bump and a CHANGELOG line. The refinement's earlier dependency on #6445 has merged, so nothing blocks this. I found no likely duplicates. #6156 is related follow-on work for the same two plugins.

    Automated triage, applied by the lanes App.

  3. added
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    on Oct 4, 2026
  4. kyle-sexton commented on Oct 11, 2026

    @kyle-sexton
    MemberAuthor

    Owner decision (2026-10-11): Band-row format: plugin name first; in context-guard the zone comes before the figures. Lands after #6445.

    Recorded by the coordinating agent session with the owner's approval. Removing needs-human; implementation is queued and will link its branch here.

  5. removed
    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.
    on Oct 11, 2026
  6. added theissue type on Oct 15, 2026
  7. added
    priority: lowNice-to-have, cosmetic, or speculative; opportunistic.
    and removed
    needs-triageNot yet classified. Floor until a type and one priority tier are set.
    on Oct 15, 2026
  8. github-actions commented on Oct 25, 2026

    @github-actions
    Contributor

    The triage sweep dispatched intake triage for this issue (attempt 2 of 2).

  9. changed the issue type fromtoon Oct 25, 2026
  10. 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.
    status: needs-decisionAwaiting a human or maintainer judgment call.
    and removed
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    on Oct 25, 2026
  11. melodic-automation-lanes commented on Oct 25, 2026

    @melodic-automation-lanes
    Contributor

    Not admitted to the issue lane: no trusted-human acceptance criteria: a listed human must put the confirmed - [ ] criteria in the body or post them as their own comment, or, on an issue a listed human filed, intake's newest refinement comment must hold them unedited. Admission takes the issue once each of those is met, when intake triages it again (.github/actions/resolve-config/admission-rules.json).

  12. melodic-automation-lanes commented on Oct 25, 2026

    @melodic-automation-lanes
    Contributor

    The latest triage verdict holds nothing: the issue is at status: ready.

  13. melodic-automation-lanes commented on Oct 25, 2026

    @melodic-automation-lanes
    Contributor

    Refinement. A read-only run explored this repository, searched its issues and pull requests, and read the allowed docs to draft what follows. On an issue a listed human filed, it counts as the issue's spec once posted, while unedited; it is still model text, so check it.

    Intended outcome: Band rows lead with the plugin name, and context-guard shows the zone before the figure, with version bumps, CHANGELOG lines and updated band tests in both plugins.

    Dependencies

    • #​6445: the owner decision says this lands after it; it is open and touches rate-limit-guard

    Related work

    Open questions

    1. What exact text should each band row use for the plugin's short name: the current ctx and 5h, or the plugin name (context-guard, rate-limit-guard), or a short form such as rlg?
      RECOMMENDED: Use the full plugin names, context-guard and rate-limit-guard, as in the existing transcript rows prefixed rate-limit-guard:. Basis: plugins/rate-limit-guard/hooks/rate-limit-guard.test.ts:830
    2. What is the exact context-guard row layout, and what does it show before a reading exists?
      RECOMMENDED: context-guard: smart 23%, then dumb, compacted 23% when degraded, and context-guard: - with no reading. Rate-limit-guard becomes rate-limit-guard: 5h 3% | 7d 73%. Basis: plugins/context-guard/hooks/register.tsx:582
    3. Should this wait for #​6445 to merge before any work starts?
      RECOMMENDED: Yes. Both change rate-limit-guard hooks and tests, so start after #​6445 merges to avoid conflicts. Basis: #​6445

    Sources read

    • plugins/context-guard/hooks/register.tsx:581: bandText builds ctx <n>% \(<zone>\), so the zone comes last and the row starts with ctx
    • plugins/rate-limit-guard/hooks/register.tsx:326: the band row is 5h <x>% | 7d <y>%
    • plugins/context-guard/hooks/context-guard.test.ts:1247: band tests expect ctx -, ctx 23% \(smart\) and ctx 23% \(dumb, compacted\)
    • plugins/rate-limit-guard/hooks/rate-limit-guard.test.ts:586: BAND_ROW is /^5h /; the rows are asserted at lines 605-617 and 1265
    • plugins/context-guard/README.md:142: documents ctx <n>% \(<zone>\)
    • plugins/rate-limit-guard/README.md:129: documents 5h <x>% | 7d <y>%
    • plugins/context-guard/.claude-plugin/plugin.json:3: version 1.0.7
    • plugins/rate-limit-guard/.claude-plugin/plugin.json:3: version 2.0.7

    Automated refinement by the lanes App. Answer with a comment whose first line is **Decision recorded.**.

  14. kyle-sexton commented on Oct 26, 2026

    @kyle-sexton
    MemberAuthor

    This was generated by AI.

    Releasing the hold: no question is open. The latest status: needs-decision came from admission ("no trusted-human acceptance criteria"), which ran before the refinement comment holding the criteria was posted. This issue was filed by a listed human, so the unedited refinement counts as its spec (owner Q78). The label comes off and intake triage is dispatched again so admission reads the refinement.

    The refinement's open detail, the exact short name, is trivial: use the full plugin name (context-guard, rate-limit-guard), as the 2026-10-11 decision says "plugin name first". The #6445 dependency has merged (#9994). Criteria:

    • The context-guard band row reads context-guard: <zone> <n>%, or context-guard: - with no reading.
    • The rate-limit-guard band row reads rate-limit-guard: 5h <x>% | 7d <y>%.
    • Band tests and both READMEs are updated, and each plugin has a version bump and a CHANGELOG line.
  15. changed the issue type fromtoon Oct 26, 2026
  16. added
    status: readyTriaged, unblocked, and fully specified; eligible to pick up.
    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.
    and removed on Oct 26, 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

    agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.priority: lowNice-to-have, cosmetic, or speculative; opportunistic.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.

    Type

    Fields

    No fields configured for Task.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions