Close protocol: enforced three-part resolution, merge-subsumes-review, recurring label #257

Closed
opened 2026-08-04 11:44:35 +00:00 by jared · 2 comments
Owner

Spec: #250

Slice

Close protocol in os-backlog rules/skills (design doc §Close): three-part ## Resolution comment on AI closes, enforced at the os-backlog surface (a close path that refuses without a valid resolution comment); merge approval subsumes review for pipeline-worked tickets (recognized by a PR/branch link in the start/resolution comment); create and document the recurring label as the recurring flavor's mechanical marker — occurrence outcomes commented, never closed.

Acceptance criteria

  • Given an agent close through os-backlog, when the resolution comment is missing a part (done/evidence/follow-ups), then the close is refused with the missing part named.
  • Given a follow-up surfaced at close, when the resolution is written, then it is either captured via /os-backlog:capture or explicitly declared dropped.
  • Given a recurring-labelled issue, when an occurrence completes, then the outcome is commented and the issue stays open.
  • The recurring label exists on the tracker; artifacts pass os-aidd-lint.

Non-goals

Policing human closes; policing direct-API closes (out of protocol by definition).

Spec: #250 ## Slice Close protocol in os-backlog rules/skills (design doc §Close): three-part `## Resolution` comment on AI closes, enforced at the os-backlog surface (a close path that refuses without a valid resolution comment); merge approval subsumes `review` for pipeline-worked tickets (recognized by a PR/branch link in the start/resolution comment); create and document the `recurring` label as the recurring flavor's mechanical marker — occurrence outcomes commented, never closed. ## Acceptance criteria - Given an agent close through os-backlog, when the resolution comment is missing a part (done/evidence/follow-ups), then the close is refused with the missing part named. - Given a follow-up surfaced at close, when the resolution is written, then it is either captured via `/os-backlog:capture` or explicitly declared dropped. - Given a `recurring`-labelled issue, when an occurrence completes, then the outcome is commented and the issue stays open. - The `recurring` label exists on the tracker; artifacts pass os-aidd-lint. ## Non-goals Policing human closes; policing direct-API closes (out of protocol by definition).
Author
Owner

Work started (session 2026-08-04).

Work started (session 2026-08-04).
Author
Owner

Resolution

Done: Close protocol implemented: os-backlog close/occurrence subcommands with enforced three-part ## Resolution (refuses naming missing parts; refuses outright on recurring label), merge-subsumes-review documented in session rules, recurring label created on tracker (id 138). 108 tests green; bin/refresh-plugins run.

Evidence: commit c1727e8; label https://forgejo.swansoncloud.com/jared/cc-os/issues?labels=138

Follow-ups: captured #259 (pre-existing aidd-lint debt in os-backlog SKILL.md files); none dropped

## Resolution **Done:** Close protocol implemented: os-backlog close/occurrence subcommands with enforced three-part ## Resolution (refuses naming missing parts; refuses outright on recurring label), merge-subsumes-review documented in session rules, recurring label created on tracker (id 138). 108 tests green; bin/refresh-plugins run. **Evidence:** commit c1727e8; label https://forgejo.swansoncloud.com/jared/cc-os/issues?labels=138 **Follow-ups:** captured #259 (pre-existing aidd-lint debt in os-backlog SKILL.md files); none dropped
jared closed this issue 2026-08-04 13:55:47 +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#257
No description provided.