Skip to content

Releases: ssheleg/agent-stack

v0.31.4 — agent-stack

Choose a tag to compare

@github-actions github-actions released this 28 Oct 02:30
52b0584
  • agent-interop and agent-harness name their subject within the first 57 characters (hub
    board row B-285; Hermes shows only that many). agent-interop was "Use when an agent talks to
    anything outside its process: MCP server or client, A2A " and is now "Use when an agent speaks
    MCP, A2A or a gateway beyond its"; agent-harness was "Use when the question is what the agent
    is told, not how its loop is wired: system" and is now "Use when deciding an agent's system
    prompt and tools, not". Lengths 283 and 296; the quoted triggers and the Not-for boundaries are
    unchanged.

v0.31.3 — agent-stack

Choose a tag to compare

@github-actions github-actions released this 25 Oct 20:56
28a0303
  • Every skill description now fits a budget of about 300 characters (hub board row B-255 (a)):
    Claude Code lists every installed skill's description each session against a shared budget of
    about 30,000 characters, and the operator's listing measured 51,178, so less-used skills lost
    their descriptions. Measured with whitespace collapsed: agent-evals 422 → 294, agent-harness
    445 → 291, agent-interop 368 → 299, agent-orchestrator 458 → 299; total 1693 → 1183.
  • Each description keeps its router sentence, its boundary against sibling skills, the opt-out
    phrase and a short English and Russian trigger list. Every quoted trigger the description
    dropped is kept in the body's ## Triggers section, so the family hook's words stay advertised
    (test/advertised_check.js in the hub).

v0.31.2 — agent-stack

Choose a tag to compare

@github-actions github-actions released this 23 Oct 22:56
27be243
  • test/family_gate.py adds # diverges: none under # shared-mechanism: family-gate; the hub's
    cross-repository check requires both lines. No behaviour change.

v0.31.1 — agent-stack

Choose a tag to compare

@github-actions github-actions released this 23 Oct 22:26
494ea3e
  • test/family_gate.py opens with # shared-mechanism: family-gate, as the hub's
    cross-repository check requires of every copy of a shared mechanism. No behaviour change.

v0.31.0 — agent-stack

Choose a tag to compare

@github-actions github-actions released this 23 Oct 21:30
244f284
  • test/family_gate.py, the family's canonical member gate (hub B-108, B-109): the board
    parses (every row as wide as its header, no id twice) and release.yml keeps the tag-ancestry
    check (fetch-depth: 0, git merge-base --is-ancestor), each watched failing on a plant by
    --self-test. Wired into the gate; a byte-for-byte copy of the hub's member-gate/family_gate.py.
  • agent-evals references/support-quality.md: the support quality standard v1 for agents
    that answer people (issue #56). The per-turn record (A1); four metric families per channel
    per closed UTC day, a metric not computed is "not measured", never 0 (A2); first-reply p90
    targets per channel kind: private chat under 30 s, mail under 4 h, store reviews under 24 h,
    group chats within the agent's come-back window; first reply measured from the person's
    message to the sent reply; rubric v1 and why factual accuracy is not the judge's job (A3);
    the judge, from another vendor, alerting on a check only after 80% human agreement (A4);
    support.quality_daily, counts and codes only (A5); autonomy without blocking (A6);
    portability (A7). Plus the weekly assessment loop (findings with cause class, owner,
    action and priority, compared by finding id), the checks that caught real defects, and
    one deployment's baseline labelled as a measurement, not a target. Routed from the
    agent-evals references table and an agent-orchestrator checklist line.
  • test/validate.py: check_support_standard_keeps_its_parts (four self-tests) fails
    when the standard loses a part heading A1 to A7, a channel kind's target row, or the
    "never 0" rule in A2 or A5.
  • README: the reference count reads 32 (it read 27 while 31 shipped; agent-harness 10,
    not 7).

v0.30.2 — agent-stack

Choose a tag to compare

@github-actions github-actions released this 22 Oct 08:47
4a15f7c
  • The verification ledger records this version: 0.30.1 shipped with the ledger still headed by the version before it. No skill changes.

v0.30.1 — agent-stack

Choose a tag to compare

@github-actions github-actions released this 22 Oct 08:33
54197ea
  • agent-interop/references/gateway.md cited files and a commit inside a private repository of the operator's workspace. The citations now name the record without its private path. The trust tiers, money limits and human gates are unchanged.

v0.30.0 — agent-stack

Choose a tag to compare

@github-actions github-actions released this 20 Oct 04:55
672d5ff
  • Every skill description is a router of 368 to 458 characters (was 929 to
    939; total 3,742 to 1,693). The operator's Claude Code skill listing measured
    29,995 of about 30,000 characters for 134 skills, and 81 skills showed no
    description; a plugin skill cannot be hidden, so length is the only lever. Each
    description is one "Use when" sentence, four or five English and Russian
    triggers, and a "Not for" boundary naming the sibling; agent-orchestrator
    carries the refusal phrase. Triggers: takes a colon inside the folded scalar.
  • Every removed trigger phrase moved verbatim into a ## Triggers section of
    its SKILL.md body (8, 5, 11 and 9 phrases).
  • agent-orchestrator keeps its scope list in the body. The description's
    "Covers" list (the saga across database and provider API among it) was the only
    place the body named that scope, and fix-as-01.01 reads it; it now sits under
    ## Triggers.
  • test/validate.py: the member ratchet moves from 940 to the family soft cap
    of 500, and a description without a "Not for" boundary fails.
    The CI ratchet plant moves with it (500 passes, 501 fails on the ratchet), and
    the over-long plant pads past 1024 again.

v0.29.0 — agent-stack

Choose a tag to compare

@github-actions github-actions released this 19 Oct 19:06
baf2385
  • agent-orchestrator references/governance.md gains an incident checklist. Six
    published incidents, each with its primary source (read 2026-10-19) and the control
    this pack draws from it: egress closed at the DNS resolver with an alert that stops
    the run; secrets split into pieces to evade scanners and uploads to public file
    hosts; compaction summaries that carried instructions the brief never gave; agents
    submitting third-party forms and working around tool limits; found credentials and
    a found wallet used without permission; Docker daemons exposed on port 2375 with LLM
    provider keys as the attacker's first target.
  • agent-evals §6: every task is shown solvable before it scores an agent. A
    reference solution that passes all graders, a 0% pass rate across many trials read
    as a broken task, and a task with no passing reference reported as TEST_ERROR.
    Sources: Anthropic's eval guide and METR's investigation, where an estimated 30-40%
    impossible targets drove agents to cheat the scorer. New checklist line.
  • agent-evals references/multi-agent.md: "Goal met through a prohibited effect"
    seed case, with the published precedent of agents invoicing strangers and mass
    emailing while chasing a revenue goal.
  • test/validate.py: check_sourced_safety_rows_keep_their_sources (with four
    self-tests) fails when an incident row loses its id, row or https source, when the
    section loses its read date, or when the solvability rule or the seed case loses
    its source. Watched failing with three problems before the doctrine landed.

v0.28.2 — agent-stack

Choose a tag to compare

@github-actions github-actions released this 13 Oct 09:09
2b3d769
  • Resume only an owned stopped worker through the host's supported operation.
    A quiet stream does not prove a stall; one failed lane does not authorize
    stopping siblings or duplicating their in-flight work.
  • Reconcile uncertain outward effects before replay. Run IDs and unchanged
    arguments do not guarantee cached completion or preserved context.
  • Record finite attempt and deadline bounds, including host retries, and retain
    provider Retry-After/reset timing. Recheck task authority and ownership before
    each attempt; preserve the best partial when the series ends.
  • Keep independent work moving while a watcher handles the eligible retry.
    Billing, sign-in, consent and secret-entry gates remain human; no account/key
    switching or cap bypass. Focused text controls cover known unsafe instructions,
    without claiming observed model or scheduler behavior.