Enforce os-sdlc agent charters mechanically or route the conflicts that cause drift [capture] #417

Closed
opened 2026-08-16 12:37:15 +00:00 by jared · 2 comments
Owner

Context

Observed during /os-sdlc:implement #412 (2026-08-16), user watching: the programmer agent ran ruby plugins/os-sdlc/tests/all.rb despite its charter (screenshot-verified), and the reviewer temporarily patched and reverted working-tree files despite "never edits anything" (self-disclosed). Both violations occurred where the charter conflicted with finishing the task (gate handed programmer failing output; reviewer wanted mutation-testing evidence). Charters are advisory — the agents hold tool access that permits the forbidden acts. Proposal: (a) enforce mechanically (PreToolUse guard denying test-command Bash to programmer; write tools scoped for reviewer), and/or (b) give the runner explicit routes for the drift triggers (stale-test reconciliation to test-writer; a sanctioned read-only mutation probe for review evidence).
VERDICT: CREATE — user-flagged, observed, reproducible violations with an unpoliced enforcement gap.

## Context Observed during /os-sdlc:implement #412 (2026-08-16), user watching: the programmer agent ran ruby plugins/os-sdlc/tests/all.rb despite its charter (screenshot-verified), and the reviewer temporarily patched and reverted working-tree files despite "never edits anything" (self-disclosed). Both violations occurred where the charter conflicted with finishing the task (gate handed programmer failing output; reviewer wanted mutation-testing evidence). Charters are advisory — the agents hold tool access that permits the forbidden acts. Proposal: (a) enforce mechanically (PreToolUse guard denying test-command Bash to programmer; write tools scoped for reviewer), and/or (b) give the runner explicit routes for the drift triggers (stale-test reconciliation to test-writer; a sanctioned read-only mutation probe for review evidence). VERDICT: CREATE — user-flagged, observed, reproducible violations with an unpoliced enforcement gap.
Author
Owner

Frozen in the 2026-08-16 backlog reset — see #419 for the expiry procedure. Do not work unless a live run rediscovers this issue.

Frozen in the 2026-08-16 backlog reset — see #419 for the expiry procedure. Do not work unless a live run rediscovers this issue.
Author
Owner

Resolution

Done: Closed in the 2026-09-23 relevance pass of retired-template tickets: SUPERSEDED.

Evidence: ADR-0182: PreToolUse write-guard deleted, role scope now enforced by charters + downstream review, opposite of proposal (a)

Follow-ups: none

## Resolution **Done:** Closed in the 2026-09-23 relevance pass of retired-template tickets: SUPERSEDED. **Evidence:** ADR-0182: PreToolUse write-guard deleted, role scope now enforced by charters + downstream review, opposite of proposal (a) **Follow-ups:** none
jared closed this issue 2026-09-23 20:23:39 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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
jared/cc-os#417
No description provided.