[WIMSE] Re: IETF 127 Hackathon: WIMSE interop scenarios for agent call chains

Iman Schrock <team@emiliaprotocol.ai> Fri, 13 November 2026 01:25 UTC

Received: from mail-oa1-x34.google.com (mail-oa1-x34.google.com [IPv6:2001:4860:4864:20::34]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx.ietf.org (Postfix) with ESMTPS id 262F446 for <wimse@ietf.org>; Fri, 13 Nov 2026 01:25:39 +0000 (UTC)
Authentication-Results: mx.ietf.org; dkim=pass header.d=emiliaprotocol.ai header.s=google header.b=mQAaQL79; spf=pass (mx.ietf.org: domain of team@emiliaprotocol.ai designates 2001:4860:4864:20::34 as permitted sender) smtp.mailfrom=team@emiliaprotocol.ai; dmarc=pass (policy=quarantine) header.from=emiliaprotocol.ai; arc=pass ("google.com:s=arc-20260327:i=1")
Received: by mail-oa1-x34.google.com with SMTP id 586e51a60fabf-48eee44b908so469301fac.1 for <wimse@ietf.org>; Thu, 12 Nov 2026 17:25:39 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; t=1794533138; cv=none; d=google.com; s=arc-20260327; b=nSqk2ooGEw9HUWoehyRfkHkRIdxEOyFOlhiNanSen46aW5oIfgGaGVGeNANtl5+773 Gke7kubmXlYPxo25TUhL/flH6GJFYTX8psENFTzjO975u4KjLeMOSa3PN9XE0N9tLkrC v/HAEOcDUQjp2K7q1N+FaJpYemsV1dwzoAgOuB9v+23ahlHg+6YjAc7tw7PdKtcCfII2 dMvhdrnR8VgltAKrH2GF2kSPEkznAI7sr2gAlAVsAUw7UP9XWSzUmMwbd6uIZIRQKTXg QIG4mIiuhkSe4sRj2kRcv8OplLfi7z8YwB8JoT/VKgsHYeBA2oelbAj7b8sZcJCYJsmU kAXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=oSMU18Xb+WdW6dYE3qMmaJavjtp+dILca/a3De99GuY=; fh=MiSGzR+BA779gAYyPJgGqZEjdeQ/cLbhHqde/A0uNxI=; b=sIPFT9EGOitvOs5FYBDbuqQP4UIOqzjsl1VfMOEtt3+0oTq4rGGo18brck9WkgDp9F OyF0RUTtMxxruEC8EMDFPeS06zUSj6vLjvkNslrFTfbu9xFEsfei6fh4JAM8nlP5pr4G bGKvT+neUUkjWsEzzpBUQMTdlAiS86167I6ukt2tREJKDL7xQlOh1FfB7x4LgQcmnfEO IHdkdxv5U7Pb4UZdQ6qac7En/jaE1T9qcRjCBBNtr2No3s6u3dhivLeN4ihUiAww/sNJ xEuBdT89C9vgaGx17Ck0MoqALIcwmS32/+404ynxe/5MkEx9jc86W9Z8MtE0S5IGc95l SyiQ==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=emiliaprotocol.ai; s=google; t=1794533138; x=1795137938; darn=ietf.org; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:from:to:cc:subject:date:message-id:reply-to :content-type; bh=oSMU18Xb+WdW6dYE3qMmaJavjtp+dILca/a3De99GuY=; b=mQAaQL79poSrb8lNgUPgmQ8vn7xPjXmlvq70DJHyx+CC73UScsV2hIwbx47vmPqsPo ocQuk+M3nK1y8suXJHFBqJL6kbfH5T7sqN+YYw5FncY1EGuwtKSHFmCIYvWddo6e+rus X5dwwDasAdwzBCI5LW9dRdk4uzbKJ5Yk7qFYY9XEKHqOhhpSJAJAqXouIH5XYiSfeldp f1mHhl7m10KKuVQhwZ3VnTYqFHTo8lzEVVPh3LSiNzbEDKECI8wsbP4chw2OYzN7mr1b cSm9gJu6AdOHy4Ur40/nCXKh8GnVxKn9mTNyDrNQa5J3DpYXuzQZGdJOea9qTzd3VWln 9diA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1794533138; x=1795137938; h=content-type:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to:content-type; bh=oSMU18Xb+WdW6dYE3qMmaJavjtp+dILca/a3De99GuY=; b=WWrWbD1D1d0Hqq4cdVi6Oriwm1tEknqSmhWFQUwA1mqp/jbGmBAR7oYeykj5Xg4UGp RpuNbabUt2f9XrW0f2lBh1wB2PSyBU8tP7taX3pjNa5npDh4/Ch4ligr5U5VoOu0sfMS Zsxy/43p1gJ4qf5Z1yO0Zhw0iCGTj96QOUQz+OaLLwBnUpHLUQghXS0PNR4Jv3Pl7MZU XI/NzW3zr+AQ37qT2CWUVHDawjn0UMgMCwo8oyT+fVNvpgSrXUdx6TsAzUT4j4Lis4px sWjrzd7eglc8wVVmUHmfvOX/NTJnDiIwXk3gZ7uRuDTb4tSCQenDWRvSfT7AiSwBi0hW Z3sw==
X-Forwarded-Encrypted: i=1; AL+hErHTod1FSdDHiro6/XVaTlDYP1zofKo5U3bGm2xG33SmR4mLD78FegppoROd7DskDvQZvT71Yg==@ietf.org
X-Gm-Message-State: APuU4Z85GcNP+IWQnUWkBmBz3+0OxUWatpEHxbDuFn6PgsbWIqvY205M so7qS4idVS91tnY2hNfLd/TQOk6DRNRZPJirWvOifFcSIl2Z1waZ7fjDQBvSI1TYaerkSasC9zw hh32GwrvtoL2GNMi4tTzsHGvDLEjTLPwmRpn3kaBTfB79GGHjiRYP4e7G
X-Gm-Gg: AYBFou1kguf17U9TQgKHuLyeR2hxUbcwxuDMTVZCWBa8aSc5sT72z9F7n5j3LPs7/vT oidrCKHfzRXwDUQCe4yWgEBiLUmfwS5IkdYduGSdQrZebYnxnoOt7/R1yZ/y989/NO3dhqoSGOD c3SdpxKGDm7N2IRTKIEFi+q4N69Hsd5br7PD2C41lqSolPKjNa3Yx8ZeFbPVRNoQR5fcuJzaK9d Pp6F80/zSm9B1ygQs/Qr9QUY8TRh66baw9NQ2iLOcuLuF38Vz8hKQPuDeT+CNuKf3NI39zpczE0 KF2PMuWOiE6IYxWkHTvqUxGkX8V+nN+4OKrWpgp6QuTW2AB111wRcNbgGyOKCY+ZjEi70mCqWbj IJcfNLpbA+jog7uSzRaJ/9BbCH8IVyiSrlB7g5u9sH23hyq2+EMTeUonDaWq9F5IDM+neEWHZaO kiX/iyWxWPzU+joW4DE3QGf+JJwmzjXL9btn4wOR8zYwphzT/xNM1jAp+thQDTuramN9ZUnOrZ7 R6/QLxP6bm+indnKs+I7Q==
X-Received: by 2002:a05:6808:10cf:b0:563:e8b6:c5d5 with SMTP id 5614622812f47-56e64cf4cb6mr1030615b6e.44.1794533138092; Thu, 12 Nov 2026 17:25:38 -0800 (PST)
MIME-Version: 1.0
References: <CAO8m13c5_WwygopkCm3GrbVmm2zHBXCHBBAQuaEqJGuhmYsmLw@mail.gmail.com>
In-Reply-To: <CAO8m13c5_WwygopkCm3GrbVmm2zHBXCHBBAQuaEqJGuhmYsmLw@mail.gmail.com>
From: Iman Schrock <team@emiliaprotocol.ai>
Date: Thu, 12 Nov 2026 17:25:27 -0800
X-Gm-Features: AclHuK8UlZpfYJZmJ6hguW2CHlPc6VcfTGAutbVCzPUkf61aMNSMZM_secGqjxI
Message-ID: <CAOfgHgq0He+Z_GWd4ku1SpTWHSCVUkfJ25YYkA98uLg8brt6gw@mail.gmail.com>
To: ben.le@redthreadsec.com
Content-Type: multipart/alternative; boundary="0000000000003be2fd06601e4ef0"
X-Spamd-Bar: -----------------
Message-ID-Hash: H3SHEO6OVBEQPULCJU3MVIYB3G7VBWND
X-Message-ID-Hash: H3SHEO6OVBEQPULCJU3MVIYB3G7VBWND
X-MailFrom: team@emiliaprotocol.ai
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: alexander.pelov@imt-atlantique.fr, wimse@ietf.org
X-Mailman-Version: 3.3.10
Precedence: list
Subject: [WIMSE] Re: IETF 127 Hackathon: WIMSE interop scenarios for agent call chains
List-Id: WIMSE Workload Identity in Multi-Service Environment <wimse.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/wimse/N84c51Qxwe6i1bihDHCklyDphUg>
List-Archive: <https://mailarchive.ietf.org/arch/browse/wimse>
List-Help: <mailto:wimse-request@ietf.org?subject=help>
List-Owner: <mailto:wimse-owner@ietf.org>
List-Post: <mailto:wimse@ietf.org>
List-Subscribe: <mailto:wimse-join@ietf.org>
List-Unsubscribe: <mailto:wimse-leave@ietf.org>

Hi Ben,

Thanks for building on the revocation case.

For the scenario files, could you distinguish confirmed revocation from an
expired status cache and an unavailable status service? A test policy may
deny all three, but the log should preserve the reason. That will let us
tell whether the revocation check worked.

It would also help to label which expectations come from the planned -01
changes. Section 7 of -00
<https://www.ietf.org/archive/id/draft-le-agent-passport-00.html#section-7>
leaves an unavailable valid status list to local policy and recommends
denial for high-value operations, so the tested policy needs to be explicit.

For the before-effect case, I would keep the expected result simple: once
the enforcing service sees the revocation, the protected operation produces
no effect.

Best,
Iman


On Thu, 12 Nov 2026 16:44:27 -0600, Ben Le <ben.le@redthreadsec.com> wrote:

Hi Alexander,

Thank you for running this. Your negative cases are close to what
draft-le-agent-passport tries to pin down, so here are scenarios from that
draft that extend yours across the two trust domains. Each has one expected
result that two implementations can compare.

1. Status list unreachable. Make the status list for one hop unavailable,
with no cached copy inside its time-to-live. Expected: the receiving
service treats the credential as revoked and rejects the request. Variant:
the operation is designated low value and a bounded grace period applies;
expected: accepted only inside the grace period, rejected after it. Second
variant: one unresolvable status anywhere in a delegation chain invalidates
the whole chain.

2. Revocation after delegation. This extends your mid-transaction case, and
I support Iman's version of it. Agent A in domain A delegates to agent B,
the first request succeeds, and then A is revoked while B's credential has
not expired. Expected: B's next call fails closed at the receiving hop,
including when that hop is in domain B, and any high-value operation
revalidates before it takes effect. Record the check that stopped it,
whether any effect occurred, and the time from revocation to the first
rejection, which the draft bounds by the smaller of the credential's
remaining lifetime, the status list's time-to-live and the cache bound.

3. Delegation that widens. A downstream receipt grants more than the
receipt it came from (a wider host, more methods, a longer lifetime).
Expected: rejected at the hop that receives it. The draft's table of
per-constraint comparison rules (host, port, methods, paths, tools, body
size, call count, spend, expiry, audience) gives each implementation the
same pass or fail for a given pair of receipts.

4. Cumulative limit across two services. Run it twice with a limit of N
calls. First, each of two services counts on its own: expect the chain to
exceed N in total, which shows why a shared limit cannot be enforced that
way. Second, the receipt names exactly one service as the accounting party:
expect the limit to hold at N. A receipt that carries a limit but names two
audiences should be rejected.

5. Request rewritten in transit. A proxy changes the authority or path
after the client signed. Expected: signature verification fails at the
receiving service, unless the proxy forwards its own verification result
over an authenticated channel that the service already trusts.

6. Tool description changes between hops. The credential pins the digest of
each tool definition (and of the agent's build). Partway through the chain,
a service serves a changed tool description, or the agent presents a
different build. Expected: the next receiving hop checks the digests at
call time and rejects the request.

I can write each of these as a short scenario file with the inputs, the
expected result and the log line to record, in whatever format your harness
uses. If you tell me the format (or point me to the AI2II repository), I
will send them before the hackathon starts. I would also like to join
remotely; please send the details.

The draft is at
https://www.google.com/url?q=https://datatracker.ietf.org/doc/draft-le-agent-passport/&source=gmail&ust=1794609866981000&sa=E,
and -01 will be posted after IETF 127. There is a side meeting on Tuesday
17 November (18:45 to 19:45 PT, Plaza A), where results from the hackathon
would be very welcome.

Best regards,
Ben Le
Redthread Security