Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"displayName": "Agent Stack",
"source": "./plugins/agent-stack",
"description": "Four skills: agent-orchestrator — tool-calling loops, pipelines with checkpoints, provider routing with fallback, memory architecture, plus the wallet side of reselling LLM access; agent-evals — run/trace/thread evals, LLM judges, and fixtures grown from production; agent-interop — MCP servers and clients, A2A agent cards, the MCP Registry, and gateways; agent-harness — system prompts, tool shaping, workflow-vs-agent, and auditing an agent system.",
"version": "0.28.1",
"version": "0.28.2",
"author": {
"name": "ssheleg",
"url": "https://x.com/sshlg93"
Expand Down
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,18 @@
## 0.28.2 — bounded restart admission

- 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.

## 0.28.1 — a limit stop is not a wait

There is no 0.28.0 package. The tag `v0.28.0` was pushed by mistake onto `cb8f699` (the 0.27.1
Expand Down
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,6 +135,10 @@ mechanisms for one idea, the four double-texting policies, streaming a dropped
connection can rejoin, forking a past checkpoint to debug through the real loop,
stateful versus stateless schedules, and the seven cross-cutting concerns pulled
out of the loop into ordered interceptors — where order is semantics.
Usage-limit recovery preserves lane ownership and uncertain effects, uses finite
attempt/deadline budgets and provider timing, and keeps independent work moving.
The [restart correction packet](docs/evidence/runs/2026-10-13-restart-boundaries.md)
records the counterexamples and the limits of the instruction-only checks.

**`references/governance.md`** — permission rather than cost. The four boundaries
an agent crosses (model, tool, external server, agent-to-agent), each with its own
Expand Down
2 changes: 1 addition & 1 deletion SKILL-CARD.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
| Field | Value |
|---|---|
| Pack | `agent-stack` |
| Version | `0.28.1` |
| Version | `0.28.2` |
| Skills | `agent-orchestrator`, `agent-evals`, `agent-interop`, `agent-harness` |
| License | MIT |
| Source | https://github.com/ssheleg/agent-stack |
Expand Down
28 changes: 19 additions & 9 deletions docs/HANDOFF.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,21 @@
# Current work — published agent-stack 0.27.2
# Current work — agent-stack 0.28.2 release candidate (not published)

R30 owner-board and release-ancestry gates are merged and published as0.27.2,
source `792e3f6cb2e46517f0187066db55edc63ae7d12c`. All four release jobs passed,
and all44 npm payload files matched that source. The
[release packet](evidence/runs/2026-10-13-release-0.27.2.md#published-readback)
is the durable entry with exact sources, gates and limitations.
Agent-stack0.28.1 source `cd6421b8ca7d9440bc87e366ebd8a96bb38b69b8` is published,
but independent review found the restart instruction overbroad. The current
[restart correction packet](evidence/runs/2026-10-13-restart-boundaries.md) owns
scope, counterexamples, checks, remaining gates and the exact next action.

Exact next task: coordinator pins0.27.2 in the next family release and verifies
installed files. B-161 source/publication scope is closed; the family-wide R30
and native runtime remain distinct. Preserve foreign worktrees and old tags.
Independent source review of the doctrine correction passed at
`ff797c6341fe6cdb4d9b0dd2e113f7ebb8f24f6f`, recorded in the hub's
[peer receipt](https://github.com/ssheleg/sshlg-skills/blob/82310a5/docs/evidence/completion-1013/agent-stack-restart-peer.json).
Version metadata now targets 0.28.2; this is not publication evidence.
The [release packet](evidence/runs/2026-10-13-release-0.28.2.md) owns pending gates.

Next: independent metadata review, one coordinated local owner aggregate, normal
exact-head PR checks and merge, then exact accepted-main local full chain before
the annotated tag and release/readback; do not change either existing0.28.0 or0.28.1 tag. Hub keeps its
accepted0.27.2 pin until the correction is accepted and published. No native retry
mechanism or model behavior is claimed by these documentation tests.

Earlier0.27.2 source/publication evidence remains in the
[release packet](evidence/runs/2026-10-13-release-0.27.2.md#published-readback).
295 changes: 295 additions & 0 deletions docs/evidence/runs/2026-10-13-release-0.28.2-candidate.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,295 @@
{
"schema": "release-candidate/1",
"version": "0.28.2",
"status": "CANDIDATE_NOT_PUBLISHED",
"reviewedDoctrine": "ff797c6341fe6cdb4d9b0dd2e113f7ebb8f24f6f",
"observedAt": "2026-10-13T08:45:01.162095+00:00",
"checks": [
{
"argv": [
"python3",
"-B",
"test/validate.py"
],
"exit": 0,
"outputSha256": "6822712dfac56cb79ac20c371d64adc75758eb5c021c53984e5439546a6ac73a"
},
{
"argv": [
"python3",
"-B",
"test/audit_regressions/restart-boundaries.py"
],
"exit": 0,
"outputSha256": "cd0858c45bc89bcad050bf7426a8af8e400eeb63851b89e81fe647cbeb161e2d"
},
{
"argv": [
"claude",
"plugin",
"validate",
".",
"--strict"
],
"exit": 0,
"outputSha256": "e681c9722b621a912c34443001df8b4c02c4276cc50f4004a70a37f4f957d358"
},
{
"argv": [
"claude",
"plugin",
"validate",
"plugins/agent-stack",
"--strict"
],
"exit": 0,
"outputSha256": "bc22c2f268f8d30ec7fe5e5cbcc6cb95fa6766bbf57deb4802cc94c229134df5"
},
{
"argv": [
"git",
"diff",
"--check"
],
"exit": 0,
"outputSha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
}
],
"npmDryRunExit": 0,
"payload": [
{
"path": "CHANGELOG.md",
"sha256": "0fce6df83bb875438bbcd2dd1609665ae19348284405c1b2c7b075514a375e7e",
"sameAsReviewedDoctrine": false
},
{
"path": "LICENSE",
"sha256": "826df230e15df9b208c1e08c42ef3b764b21c4abec5a91a38976748e92a82e9d",
"sameAsReviewedDoctrine": true
},
{
"path": "README.md",
"sha256": "49953599fcd54dfcba0f1254636ddd46fca0e0ac6c141091bf72552c53131f3e",
"sameAsReviewedDoctrine": true
},
{
"path": "SECURITY.md",
"sha256": "87715bb85d820beb6179cf5294fc7ed461cb234657df810031c0eb527fb00b62",
"sameAsReviewedDoctrine": true
},
{
"path": "bin/agent-stack.js",
"sha256": "5706481b1f1266174eeefebc1f2fc5ff6f30f77b395289490b182e95d5c97b00",
"sameAsReviewedDoctrine": true
},
{
"path": "package.json",
"sha256": "42cbab0ed2a00d1bc950ada5688221b8d291bf82f1a681df6e3994935066ceed",
"sameAsReviewedDoctrine": false
},
{
"path": "plugins/agent-stack/.claude-plugin/plugin.json",
"sha256": "678aa34cceef4ff51bedad7f718baa901af911fdf33afd9bf22b091ac1461a3f",
"sameAsReviewedDoctrine": false
},
{
"path": "plugins/agent-stack/skills/agent-evals/references/multi-agent.md",
"sha256": "e0c3175aa8858de1ba8117c613d2e201e32ff581453078c927a3ebddcff6c0bb",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-evals/references/otel-genai.md",
"sha256": "d2cadad0a6a0632d234a51621b136f3001f5a7422e256f84d261d7c0ff1660d5",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-evals/references/statistics.md",
"sha256": "77cd03cc4f258a097888f81b817e8c9487b4d777d9ac092f76fe48de8de692ca",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-evals/SKILL.md",
"sha256": "8f533ce3e320e0416163a39a98207cd347a0d22332c4072afa1d628f77204b8b",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-harness/references/audit.md",
"sha256": "b91b966250438edd91b87c392113404d830b06301518d9120246321c88d9a1aa",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-harness/references/context-lifecycle.md",
"sha256": "f682b0d4894f7f58baf4f39e622ed1bf8bc773d3c76c552a09aecab4c1e23fef",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-harness/references/instruction-budget.md",
"sha256": "3962dbe1643ca1f867575786597cfeea93a28b1d0cc940811020e2d4b49fc6a6",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-harness/references/layers.md",
"sha256": "e2f4fd73424b0896c493616dbb98e7bd973eaad3b8365b3c1b31964fbac46d89",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-harness/references/pi-sdk.md",
"sha256": "b7eb9375934887ed5f85e597e80c5f3d83c02c37cd585aff13960104a31ddcd5",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-harness/references/pi.md",
"sha256": "684616062c9d109ff13eed83a5b9a10544040f1ee22790ee70e8d8156b286c08",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-harness/references/system-prompt.md",
"sha256": "f8577ebfeb8ae7448b36b5cd7fcca1ef4ab7065d1aef9baf6f7946eb5ea2905a",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-harness/references/techniques.md",
"sha256": "4198c8d2d8a0d6da2f8ba7f2370310578167819abbb9bd351a722491ee8f31e8",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-harness/references/tools.md",
"sha256": "572822bc05a710019fc5454f2ddb3750537dbf3667fc73fad0c8bcdcd0f1346a",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-harness/references/workbench-contracts.md",
"sha256": "a17af9cc84dcc8661085ebb606b09ac08ebe39f6c1fc436ab547ac21747bca80",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-harness/scripts/audit_agent.py",
"sha256": "f0193565dd3851d3ea779a05f018099b9f2bca3eccacc370b9a43048baba656a",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-harness/scripts/instruction_budget.py",
"sha256": "0f88ff1764cc5a87a2b523126c871e71af750bc29128e05b97f9e6955db999ab",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-harness/SKILL.md",
"sha256": "003866190df99a02ea862860050c03c2ce8971479ced5ba75bfe42057a0ba4e0",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-interop/references/a2a.md",
"sha256": "e39c4c6d1f19b39e09720c40a09a50e8f2a59824aeb83c5336443f8b709a6c34",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-interop/references/gateway.md",
"sha256": "e74e8585eb6a1fba08af5b419a67c41f38689a29886a89dc149ef3465b9319a0",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-interop/references/mcp-scale.md",
"sha256": "c69b0bfd73e189776fcc6ecdd7d3e88964073ab19a66ffcf79aab579b341a892",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-interop/references/mcp-ship.md",
"sha256": "2918ca0beed94ca7f7e34bb30e2609495c421121d3a94a0e43e743fc76b644a2",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-interop/references/mcp.md",
"sha256": "9b427194659408ae7f521ea689b8b23cbfd216f918f313cc961dce360b7e80b4",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-interop/references/registry.md",
"sha256": "648e7649369b9aa5dac5f424c9a4373292e5d73c90d9466b58171934e5c7b51f",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-interop/SKILL.md",
"sha256": "3e70a38f204edc6822814335dc6dfc4e8c3b825117137239da46b96fdd60bfec",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-orchestrator/references/context-engineering.md",
"sha256": "57811d800b75f25a5a242505e8e6be2b33775fb156893ebec51af5ea18fcfc1e",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-orchestrator/references/governance.md",
"sha256": "bb2e3389779a56d4ace610bb14b5df05ace7fa6efc1e5810b0ae929f7050e435",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-orchestrator/references/graph-engineering.md",
"sha256": "c594d1b0a4813f0d47e60a26e2b7905a964c3017556a400fcbd534f390811e70",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-orchestrator/references/kv-cache.md",
"sha256": "b8ae7c5ba9531ebb02ded2e403a8fcb4ae2b944940076a4f15f966d05f6caeae",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-orchestrator/references/llm-proxy-billing.md",
"sha256": "84c2144d6a5a917c042c5e31ecfacfe6238c60870da567abc00bd770e3bccccd",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-orchestrator/references/memory-architecture.md",
"sha256": "860466e4e54d0116063146401c3df54a25bbf07cdfba18b63d0fb0e06a285f1a",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-orchestrator/references/memory-landscape.md",
"sha256": "b297b121ebb07c50579f929f0e5361598625b024dbf49653b82e12b1dc0b4f4d",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-orchestrator/references/memory-lifecycle.md",
"sha256": "6c7252553bc6308e6f5ec88bb802a62e4bacd98f7946ec5b2e82fef8c1aa0073",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-orchestrator/references/patterns.md",
"sha256": "a239bc4549339b049b54b154f88536bed68256ffffdcdc4a0f41cf7185eeb360",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-orchestrator/references/pipeline.md",
"sha256": "89f160068715136c6f7793b305f78371831ebef9527cdb481e15b5af9a1af40b",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-orchestrator/references/provider-lifecycle.md",
"sha256": "d9b4462baf1c805daf05612d7ee8556ac5e666f72de62609666f1ee469294de3",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-orchestrator/references/runtime.md",
"sha256": "4c49fe64e16256fd78529e4a557782c5ccd9be8af8a5703bb92a773bdea12d70",
"sameAsReviewedDoctrine": true
},
{
"path": "plugins/agent-stack/skills/agent-orchestrator/SKILL.md",
"sha256": "8a80583133707ea69c9e7c0963a68f74b138b74e5148e31ceeea12097af32aba",
"sameAsReviewedDoctrine": true
}
],
"payloadCount": 44,
"changedPayloadSinceReviewedDoctrine": [
"CHANGELOG.md",
"package.json",
"plugins/agent-stack/.claude-plugin/plugin.json"
],
"fullOwnerGate": "NOT_RUN_QUEUED_AFTER_TP_AND_SEO",
"hostedPR": "NOT_RUN",
"release": "NOT_RUN",
"installedApply": "OUT_OF_SCOPE",
"notes": [
"Metadata homes package/marketplace/plugin/card aligned, historical changelog untouched below new section.",
"Exact accepted main will run local full npm test chain before annotated tag."
]
}
Loading
Loading