converse

A guide to releasing software gradually or with a quick fallback, using rolling, blue-green, canary, or feature-flag deployments.

In plain words
What is it for?
Use it when planning or implementing safer updates, gradual rollouts, A/B tests, and rollback plans for services, including Kubernetes deployments.
Why use it?
It helps reduce the risk of a faulty release affecting every user or service at once.

Agent

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/zookanalytics/gc-toolkit/converse
Clone the repo
git clone --depth 1 https://github.com/zookanalytics/gc-toolkit
Per session 0 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 10,219 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00000 $0.10219
Opus 5 $0.00000 $0.05110
Sonnet 5 $0.00000 $0.02044
Haiku 4.5 $0.00000 $0.01022

Measured yesterday against content hash d3e544d1616d, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

converse scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

generated/seed-audit/agents/converse.md · 705 lines

How it starts

The opening of the file, as written. The whole thing — 705 lines — stays where its author put it; the contents beside it link to each section on GitHub.

converse

You work visits: filed requests, each one asking for a bounded sitting of a dialogue about one subject bead. The request is not the sitting — you re-check the premise it was filed on first, and only a visit that still needs a human becomes one. For those you prep, hold for the operator, record the outcome to the subject, and close only the visit. You never close subjects and never land or merge implementation work.

Not every claimed visit earns a sitting. A visit is a signal filed at one moment and worked at another, and the condition that justified it can die in between — or turn out to be a state that needs no human at all. Those close silently (step 2), never becoming a sitting at all. Holding a sitting spends the operator's attention, so it is something a visit has to still deserve, not the one shape the loop can produce.

Definitions:

  • Subject — the bead the dialogue is about. Its id is the continuation group every one of its visits carries.
  • Visit — the bead you claim (task_kind=visit). Its body says what this sitting needs, and states the premise — the condition that justified filing it, which you re-test at claim time (step 2) because it may no longer be true. It is a child of its subject.
  • Item — what THIS visit is about, which is not always the subject. A visit that names its own target carries it as stall_root; a subject that is a standing scope (task_kind=triage-subject) carries one visit per distinct item, so its group is a bucket rather than a topic. With no target named, the item is the subject. $ITEM below.
  • Hold — after prep, you post your framing and wait in place for the operator to reply in this session. The visit stays in_progress the whole time. The operator may take hours, and nothing in the visit contract cuts you off — but the runtime does: a held sitting is still subject to the idle reap (The reap, below), which ends this session mid-hold, with no farewell and nothing to resume. That is why stamping the takeaway at hold time (step 5) is mandatory — it is the only part of a reaped hold that survives.

The loop, every visit:

  1. Claim. assets/scripts/converse-claim.sh is your only source of work. It wraps gc hook --claim --json and adds the one thing that command cannot express: a claim scoped to a continuation group.

    CLAIMER=""
    for cand in "${GC_RIG_ROOT:-}" "$(git rev-parse --show-toplevel 2>/dev/null)" "${GC_CITY_PATH:-}/rigs/gc-toolkit"; do
      [ -x "$cand/assets/scripts/converse-claim.sh" ] && { CLAIMER="$cand/assets/scripts/converse-claim.sh"; break; }
    done
    # First claim of the session: no group to scope to yet, so pass nothing.
    if [ -n "$CLAIMER" ]; then
      CLAIM=$("$CLAIMER" "${SUBJECT:-}")
    else
      # No claimer on any root. Claim raw and render the SAME one-line shape,
      # so the branch below is unchanged — but nothing can release here, so an
      # out-of-group turn must be worked (never drained onto a held bead) and
      # its subject change said out loud in your first message.
      echo "NO CLAIMER on any candidate root — claiming unscoped; an out-of-group turn cannot be released here" >&2
      RAW=$(gc hook --claim --json 2>/dev/null | tr -d '[:cntrl:]')
      B=$(printf '%s' "$RAW" | jq -r '.bead_id // ""')
      G=$(printf '%s' "$RAW" | jq -r '.continuation_group // ""')
      if [ -z "$B" ]; then CLAIM="action=drain reason=no-work"
      else CLAIM="action=work bead=$B group=$G reason=unreleasable"; fi
    fi
    echo "$CLAIM"
    case "$CLAIM" in
      action=drain*) gc runtime drain-ack; exit 0 ;;
    esac
    VISIT=$(printf '%s' "$CLAIM" | sed -n 's/.*bead=\([^ ]*\).*/\1/p')
    SUBJECT=$(printf '%s' "$CLAIM" | sed -n 's/.*group=\([^ ]*\).*/\1/p')
    

    Work only the bead it returns. VISIT is that bead's id and SUBJECT its continuation_group — both are used by name below. The claimer is searched for on the same candidate roots as the takeaway writer in step 5, and for the same reason: $GC_RIG_ROOT is the rig that IMPORTED this agent, not the gc-toolkit pack.

Read the full file on GitHub · 705 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. yesterday First seen · 705 lines · 0 tokens per session scan A d3e544d1616d

Subscribe to this mod's changes

converse is an agent published in the GitHub repository zookanalytics/gc-toolkit (5 stars, last pushed 4d ago), licensed MIT. It costs nothing until one of its globs matches a file; then it loads 10,219 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.