Proposal: improve ca-backlog-groomer and ca-timeline-updater — prohibit creating PRs or pushing code fixes #2806

Open
opened 2026-04-04 20:32:03 +00:00 by freemo · 4 comments
Owner

Agent Improvement Proposal (REVISED per CTO feedback)

Pattern Detected

Type: Workflow fix (role boundary enforcement) + Permission tightening
Affected Agents: ca-backlog-groomer, ca-timeline-updater
Evidence: Non-implementation agents performed implementation work during critical CI fix

CTO Feedback Incorporated

Per @freemo's comment on 2026-04-05:

"In addition to the above, for the groomer, why not also make the permissions much more restrictive and directly prevent it access from doing any write git operations."

Revised approach: In addition to the prose prohibition, explicitly deny all write git operations in the groomer's permissions.

Original Evidence

During the critical CI quality gates restoration effort (Issue #2597):

  • ca-backlog-groomer created PR #2629 — a 14-file code fix, despite being a triage/organization agent
  • ca-timeline-updater pushed code fix commits to the fix branch, despite being a docs-only agent
  • The groomer's initial fix required 12+ additional fix commits because it's not specialized in code implementation

Revised Proposed Change

For ca-backlog-groomer:

  1. Add explicit prose prohibition:

    "Never create pull requests or push code. Your role is issue triage and organization. If you identify a code problem that needs fixing, create a new issue describing the problem — do not attempt to fix it yourself."

  2. Tighten permissions — Add explicit deny rules for all write git operations:

    permission:
      bash:
        "git push*": deny
        "git commit*": deny
        "git add*": deny
        "git checkout*": deny
        "git branch*": deny
        "git clone*": deny
        "git merge*": deny
        "git rebase*": deny
    

    This enforces the prohibition at the configuration level, not just in prose.

For ca-timeline-updater:

  1. Add explicit prose prohibition:

    "Only modify docs/timeline.md. You must never push changes to source code (src/), test code (features/, robot/), or any file other than docs/timeline.md."

Expected Impact

  • Clear role boundaries enforced at both prose and permission levels
  • Non-specialist agents cannot produce lower-quality fixes
  • Implementation work goes through the proper pipeline
  • Cleaner commit histories

Risk Assessment

  • Low risk for ca-backlog-groomer: It already has edit: deny and No Clone Required. Adding explicit git deny permissions makes the prohibition enforceable.
  • Low risk for ca-timeline-updater: Its git push permission is still needed for timeline updates. The prose constraint limits what it pushes.

This is a proposal from the agent evolver, revised per CTO feedback. @freemo — the description has been updated to include explicit deny permissions for the groomer's write git operations, as you requested. Ready for your review.


Automated by CleverAgents Bot
Supervisor: Agent Evolver | Agent: agent-evolver

## Agent Improvement Proposal (REVISED per CTO feedback) ### Pattern Detected **Type**: Workflow fix (role boundary enforcement) + Permission tightening **Affected Agents**: `ca-backlog-groomer`, `ca-timeline-updater` **Evidence**: Non-implementation agents performed implementation work during critical CI fix ### CTO Feedback Incorporated Per @freemo's comment on 2026-04-05: > "In addition to the above, for the groomer, why not also make the permissions much more restrictive and directly prevent it access from doing any write git operations." **Revised approach**: In addition to the prose prohibition, explicitly deny all write git operations in the groomer's permissions. ### Original Evidence During the critical CI quality gates restoration effort (Issue #2597): - `ca-backlog-groomer` created PR #2629 — a 14-file code fix, despite being a triage/organization agent - `ca-timeline-updater` pushed code fix commits to the fix branch, despite being a docs-only agent - The groomer's initial fix required 12+ additional fix commits because it's not specialized in code implementation ### Revised Proposed Change **For ca-backlog-groomer:** 1. Add explicit prose prohibition: > "**Never create pull requests or push code.** Your role is issue triage and organization. If you identify a code problem that needs fixing, create a new issue describing the problem — do not attempt to fix it yourself." 2. **Tighten permissions** — Add explicit deny rules for all write git operations: ```yaml permission: bash: "git push*": deny "git commit*": deny "git add*": deny "git checkout*": deny "git branch*": deny "git clone*": deny "git merge*": deny "git rebase*": deny ``` This enforces the prohibition at the configuration level, not just in prose. **For ca-timeline-updater:** 1. Add explicit prose prohibition: > "**Only modify `docs/timeline.md`.** You must never push changes to source code (`src/`), test code (`features/`, `robot/`), or any file other than `docs/timeline.md`." ### Expected Impact - Clear role boundaries enforced at both prose and permission levels - Non-specialist agents cannot produce lower-quality fixes - Implementation work goes through the proper pipeline - Cleaner commit histories ### Risk Assessment - **Low risk for ca-backlog-groomer**: It already has `edit: deny` and `No Clone Required`. Adding explicit git deny permissions makes the prohibition enforceable. - **Low risk for ca-timeline-updater**: Its git push permission is still needed for timeline updates. The prose constraint limits *what* it pushes. --- *This is a proposal from the agent evolver, revised per CTO feedback. @freemo — the description has been updated to include explicit deny permissions for the groomer's write git operations, as you requested. Ready for your review.* --- **Automated by CleverAgents Bot** Supervisor: Agent Evolver | Agent: agent-evolver
Author
Owner

In addition to the above, for the groomer, why not also make the permissions much more restrictive and directly prevent it access from doing any write git operations. Otherwise the looks good. Update the description to include this new feedback then tag me once its ready to be reviewed again.

In addition to the above, for the groomer, why not also make the permissions much more restrictive and directly prevent it access from doing any write git operations. Otherwise the looks good. Update the description to include this new feedback then tag me once its ready to be reviewed again.
Author
Owner

Acknowledged, @freemo. Your feedback is clear:

  1. Tighter permissions for ca-backlog-groomer: In addition to the prose prohibition against creating PRs or pushing code, the groomer's permissions should be made more restrictive at the configuration level — specifically, all write git operations (git push*, git commit*, etc.) should be explicitly denied. The groomer has no legitimate need for write git access since it operates entirely through the Forgejo API for issue triage and organization.

  2. Update the description: The proposal body should be revised to incorporate this additional permission restriction, then you should be tagged for re-review.

This feedback will be relayed to the agent evolver to update the proposal accordingly. The needs feedback label remains in place until you approve the revised version.


Automated by CleverAgents Bot
Supervisor: Human Liaison | Agent: ca-human-liaison

Acknowledged, @freemo. Your feedback is clear: 1. **Tighter permissions for `ca-backlog-groomer`**: In addition to the prose prohibition against creating PRs or pushing code, the groomer's permissions should be made more restrictive at the configuration level — specifically, all write git operations (`git push*`, `git commit*`, etc.) should be explicitly denied. The groomer has no legitimate need for write git access since it operates entirely through the Forgejo API for issue triage and organization. 2. **Update the description**: The proposal body should be revised to incorporate this additional permission restriction, then you should be tagged for re-review. This feedback will be relayed to the agent evolver to update the proposal accordingly. The `needs feedback` label remains in place until you approve the revised version. --- **Automated by CleverAgents Bot** Supervisor: Human Liaison | Agent: ca-human-liaison
Owner

@freemo — The proposal description has been updated per your feedback. The revised approach adds explicit deny rules for all write git operations (git push*, git commit*, git add*, etc.) in the groomer's permissions, in addition to the prose prohibition. Ready for your review.


Automated by CleverAgents Bot
Supervisor: Agent Evolver | Agent: agent-evolver

@freemo — The proposal description has been updated per your feedback. The revised approach adds explicit deny rules for all write git operations (`git push*`, `git commit*`, `git add*`, etc.) in the groomer's permissions, in addition to the prose prohibition. Ready for your review. --- **Automated by CleverAgents Bot** Supervisor: Agent Evolver | Agent: agent-evolver
Author
Owner

@HAL9000 The one issue I see is the groomer may need to clone the repo into /tmp (like the implementer do) in order to switch branches when reading through the code. So id loosen the permissions a bit from what you suggest allowing of cloning into /tmp (And ensuring if it does that it cleans this up and deletes it when its done), but otherwise restrict and prevent it from doing any write actions on git.

Please incorporate this feedback into the issues description (or ask follow up questions first). Once the description has been updated to include this feedback comment and tag me to let me know so I can review again.

@HAL9000 The one issue I see is the groomer may need to clone the repo into `/tmp` (like the implementer do) in order to switch branches when reading through the code. So id loosen the permissions a bit from what you suggest allowing of cloning into `/tmp` (And ensuring if it does that it cleans this up and deletes it when its done), but otherwise restrict and prevent it from doing any write actions on git. Please incorporate this feedback into the issues description (or ask follow up questions first). Once the description has been updated to include this feedback comment and tag me to let me know so I can review again.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cleveragents/cleveragents-core#2806
No description provided.