pattern detail

hermes-discord-thread-cleanup-standing

Lets Hermes/Discord agents inspect thread context, escalates verified single-thread cleanup, and denies broad or parent destructive cleanup.

Pattern analysis

doctrinal basis

Positive identification and restricted engagement zones translated into Discord thread cleanup authority boundaries.

Use the summary here for context, then inspect the YAML or related patterns for the concrete rule path.

What it catches

  • Requests that try to delete a parent channel or broad thread set instead of one verified thread.
  • Ambiguous cleanup requests without a Discord thread identifier or dry-run evidence.
  • Attempts to bypass human approval for destructive Discord cleanup.

Related patterns

Download YAML Back to library
policy yaml

The downloadable policy stays available below, but the inline YAML now wraps cleanly for narrow screens.

name: hermes-discord-thread-cleanup-standing
version: 1.1.0
doctrinal_basis: Standing ROE / standing authority maps to read-only Hermes/Discord thread inspection; positive identification maps to verified target parameters and Discord thread type checks; proportionality and collateral damage estimation map to single-thread scope; escalation of force maps to discord-ops human approval before thread delete or archive; restricted engagement zones map to parent channel/category/forum/media deletion, message-history deletion, private-thread export, and broad cleanup.
description: Hermes/Discord standing thread cleanup guardrails for inspecting threads and escalating verified single-thread delete/archive requests while denying broad or parent destructive operations.
rules:
  - id: deny-discord-parent-deletion
    applies_to:
      action_class:
        - discord.channel.delete
        - discord.category.delete
        - discord.forum.delete
        - discord.media.delete
        - discord.parent.delete
    decision: deny
    reasoning: Hermes/Discord cleanup ROE denies deletion of channel, category, forum, media, or parent containers; this template only covers thread cleanup.

  - id: deny-discord-message-history-destruction
    applies_to:
      action_class:
        - discord.message_history.delete
        - discord.thread.message_history.delete
        - discord.private_thread.export
    decision: deny
    reasoning: Hermes/Discord cleanup ROE denies message-history deletion and private-thread export under standing authority.

  - id: deny-discord-broad-cleanup
    applies_to:
      action_class:
        - discord.cleanup.bulk
        - discord.thread.cleanup.bulk
        - discord.thread.delete.bulk
        - discord.thread.archive.bulk
    decision: deny
    reasoning: Broad or bulk Hermes/Discord cleanup is outside standing authority and requires special ROE.

  - id: deny-discord-thread-delete-bulk-count
    applies_to:
      action_class:
        - discord.thread.delete
        - discord.thread.archive
    conditions:
      - type: blast_radius_max
        parameter: thread_count
        threshold: 1
    decision: deny
    reasoning: Requested Hermes/Discord thread cleanup affects ${thread_count} threads, exceeding the standing one-thread cap.

  - id: deny-discord-explicit-unverified-thread-mutation
    applies_to:
      action_class:
        - discord.thread.delete.unverified
        - discord.thread.archive.unverified
        - discord.thread.delete.wrong_type
        - discord.thread.archive.wrong_type
    decision: deny
    reasoning: Adapter classified this Discord thread mutation as unverified or wrong-type; standing cleanup ROE denies it.

  - id: escalate-verified-discord-thread-delete
    applies_to:
      action_class: discord.thread.delete
    conditions:
      - type: parameter_match
        parameter: target_verified
        op: equals
        value: true
      - type: parameter_match
        parameter: discord_type
        op: in
        values: [10, 11, 12]
    decision: escalate
    escalation:
      requires: human_approval
      via: discord-ops
    reasoning: Verified Hermes/Discord thread delete for type ${discord_type} requires discord-ops approval under standing ROE before execution.

  - id: escalate-verified-discord-thread-archive
    applies_to:
      action_class: discord.thread.archive
    conditions:
      - type: parameter_match
        parameter: target_verified
        op: equals
        value: true
      - type: parameter_match
        parameter: discord_type
        op: in
        values: [10, 11, 12]
    decision: escalate
    escalation:
      requires: human_approval
      via: discord-ops
    reasoning: Verified Hermes/Discord thread archive for type ${discord_type} requires discord-ops approval under standing ROE before execution.

  - id: allow-discord-thread-inspection
    applies_to:
      action_class:
        - discord.thread.read
        - discord.thread.list
        - discord.thread.lookup
        - discord.thread.verify
    decision: allow
    reasoning: Read-only Hermes/Discord thread inspection and target verification are authorized under standing cleanup ROE.