Return-Path: <wdhawkins46@gmail.com>
X-Original-To: scitt@mail2.ietf.org
Delivered-To: scitt@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1])
	by mail2.ietf.org (Postfix) with ESMTP id 13FCF135E18E8
	for <scitt@mail2.ietf.org>; Fri,  4 Sep 2026 23:08:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1;
	t=1788588489; bh=ujiEEQ5ZPTUcsS3qBAex2PljuiU47Owj+wKIZiVe+P8=;
	h=References:In-Reply-To:From:Date:Subject:To:Cc;
	b=ECZn7d2peB5BxzLBrf4R8UaboUdeePr21SjqjxpT5Riwm6hu3f0zQrSfRk+zySYG9
	 c1gmn2YjKklrUr5jQJG6iLmZOWbZ6wqaKjsYkf7N9m92wuwdaz+445SgoMx98DcSlR
	 3JUOm+2O53WsRVdCSIXOccVGiRjIT/x9UoBm6cMo=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -1.848
X-Spam-Level: 
X-Spam-Status: No, score=-1.848 tagged_above=-999 required=5
	tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
	DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
	FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001,
	HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
	SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key)
	header.d=gmail.com
Received: from mail2.ietf.org ([166.84.6.31])
	by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id GVg2zEbimgNI for <scitt@mail2.ietf.org>;
	Fri,  4 Sep 2026 23:08:07 -0700 (PDT)
Received: from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com
 [IPv6:2a00:1450:4864:20::22f])
	(using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)
	 key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256)
	(No client certificate requested)
	by mail2.ietf.org (Postfix) with ESMTPS id D30D0135E18D5
	for <scitt@ietf.org>; Fri,  4 Sep 2026 23:08:06 -0700 (PDT)
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-3a1f75277f3so13609671fa.0
        for <scitt@ietf.org>; Fri, 04 Sep 2026 23:08:06 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1788588480; cv=none;
        d=google.com; s=arc-20260327;
        b=OiEDJpuVsu0MTBZlESKU0eo87OBHz2dA6sSxku1FS24ucVztHStHun178JWWTHue4u
         BqWKooelwo7aJu925BLvgqTTPRlnts3rNWVZ5iTpoqGXphF/cY0G1E4GYyW1PFcLoCqj
         z/bhL94pNHUDMFpXhQYkuQandhhC+bLWLLph0SfyeKXYermxcQNQtH9pW/3w63QYsSqc
         vwNVij1zA5upDL9G84+drjXZNovrDeh1xJOXCgjT3mUNVx/JwNGb2aYDpDLC1IBiX034
         N69L9/q9w8VtiY6naxIM6+Q5JNTtlOrdBsMmoY732ylpnV2a5+GLmS27ZYXBvaSUPm9Z
         JqKA==
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=hbDRsFtigl5FxnggZanhzH307QyEZMWKkP6KVBYbdFE=;
        fh=IbekRiZIfQeuOB7fJDLmB8tZyA6L9CxJqhbMlrevEnc=;
        b=TB8wLCqf27YeQcjWhpkuH5KnE7e1utK1w1MG+SJj9IbesBOaVeVcwRjtZgAq1Xn5ih
         ZVh8elmGEMU3AmCUKKR8ulQ8I5hH3WXfhXU0QmQ4Q0nDCfZd/8wDeXW0XhksYoDX0gym
         5+YX6k6pACe28qFkItWdpS7Y/WBnWMnulHuQ2A3qp/RryYc5fqd5xZYzdZRJrD/KAP4x
         XCBkPkpzv6iq8FvBVprCn2+/lbyh2jxgywUP2aBibzHor6rRTJ1SC70NDXU8GCAMK7Or
         LTTVslY4ZaG2o+d+F7OgmEVclW8K9f3dlQrRXZ2jQXIJFgjZMmVRP7ss6Hibt0dE7zG4
         xGLA==;
        darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20251104; t=1788588480; x=1789193280; 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=hbDRsFtigl5FxnggZanhzH307QyEZMWKkP6KVBYbdFE=;
        b=ZoW1lzFStkvkQ6bWmfvTz4SjospjuXf+yb+qWL+/LbJ2p3B66lNmUp5wp7jgtq/HPK
         NBAS24qWVy1tTCNwl9RRpA10sdmVyhxiU6DzO4kBXsEg17xip2d0MnBn/6rvmEqm30VI
         Mvhs1sYSZWUQur5++QWOJBDaEApxSqFam7Qd+CeG0ylEDTSq1fq/fT6GGqvojHg7ScLA
         Z0rrjNjRV+Jcwvjn/bcekiFw4AbNtg0hpRxAxCYMojhFxnuwpiYr0HOKeygfihXr/VHo
         l8nxO59zRWq5mkiR/8F0qmNu7OPlrrTLYxbvHSnWjRXmDfM9yik8WCt/ykEmV2oNrMG+
         GSsg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20251104; t=1788588480; x=1789193280;
        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=hbDRsFtigl5FxnggZanhzH307QyEZMWKkP6KVBYbdFE=;
        b=qpI/8H02+CawblFuRhbXX8iLgxvEnYjbtKsP8/0/VJRbGalsly+KXJXlMS/VpChYd1
         KgqKpl4X90RttjdB8hcSvcCdyonnFIY/O50VHjYJviAY9Edmfjo3kfySIRYMGGTOKdeh
         zfOger5w8FHiJKnwl3o4fz7RvU02EJT/fxZrW9zZj1QTua3r0rNeYu4SBibKfi6SVcQi
         p+j/5Ohi6ICOe840OSsdr1Of3Yfqw0yXf1/lQI/7EfHbfP31mDdKZwQI+qY3U8KGCTgs
         iCKG02MGOa8J+sTc5hvqzqGykT8osVatQIdf0y52QkUhTsu+NemT+rXwlEMjMhBUZaX6
         ugtQ==
X-Gm-Message-State: AFuF++nx/BTYXzyThUcvIy97FAe7D3ABjiLx8QiBNDHOLBR8RJJwWQZO
	B8i+YmxjH84AXjAZrVTXK6r4D5iFjwnNpJrf3qaMvhyGqks42fUZnHaXU5gOjAeD2qJ0XUxXUiN
	MfJUIXzKCmXr6SrkMoyhZTCYtmkaPS2Bz1J1aUus=
X-Gm-Gg: AYBFou17ogw94IusKz1NPrXkHjIDGchYlSDiXg+03AFWm+JcBmfyVuVVENIh7nivjhp
	Ztc/eJVe9sJndCn3qqXgE7pw51AjNEDtxD3RoaI8KvYU9RFVyF1nTewu+ZWgrHW3gVnuSXZiyFI
	K8mwHvmEPZof4ZPgpjJ8gT21fgyS0VHv0DhvHpr/PQYIWEStMRoCCllAye0aTLlfvQP8fGXXHuX
	595oZBROGDwe2UENhJtZWNAn5tDHDY29tJ/pvrPZbKkEwGMbRabb5Ie+afB5c8evzVHwpr4TaLv
	s1pvM3OcmQu/ORPt5UvRbUwjjoGnwa/AMbN58HQok6I=
X-Received: by 2002:a05:651c:a162:b0:3a1:b658:feac with SMTP id
 38308e7fff4ca-3a371bd3747mr12707831fa.13.1788588479683; Fri, 04 Sep 2026
 23:07:59 -0700 (PDT)
MIME-Version: 1.0
References: <A4003FB6-3069-4038-9125-A86F61D5BFD8@davidsrose.com>
 <CALc05oGOuV4p_PVAbLKfGHT_v5B71pOUEDPTtmbGr1P0jmchSw@mail.gmail.com>
 <6AFAD579-79DF-47C6-9DCC-52ED0F813F54@davidsrose.com>
In-Reply-To: <6AFAD579-79DF-47C6-9DCC-52ED0F813F54@davidsrose.com>
From: Walter Hawkins <wdhawkins46@gmail.com>
Date: Sat, 5 Sep 2026 01:07:48 -0500
X-Gm-Features: AcwNN1X6iGoBgv-IItgqVOShus-TG1gGKWZfjJoNPXui8EOcaL6ev4bZZcqhx8Y
Message-ID: 
 <CALc05oEqz9xa-38A91fBq=SDUw7uwd8Cgire=Np6Qmx0x-md1w@mail.gmail.com>
To: "David S. Rose" <primacy@davidsrose.com>
Content-Type: multipart/alternative; boundary="000000000000fb203b065ab634b6"
Message-ID-Hash: 3RX7AOWZQXJSS4VUILTKPH3Z2MN7DGT4
X-Message-ID-Hash: 3RX7AOWZQXJSS4VUILTKPH3Z2MN7DGT4
X-MailFrom: wdhawkins46@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency;
 loop; banned-address; member-moderation; nonmember-moderation; administrivia;
 implicit-dest; max-recipients; max-size; news-moderation; no-subject;
 digests; suspicious-header
CC: scitt@ietf.org, christian@keelapi.com
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: =?utf-8?q?=5BSCITT=5D_Re=3A_Escalation_and_hold-window_semantics_=E2=80=94_a?=
	=?utf-8?q?_companion_layer_for_draft-munoz-scitt-permit-profile?=
List-Id: "Supply Chain Integrity, Transparency, and Trust" <scitt.ietf.org>
Archived-At: 
 <https://mailarchive.ietf.org/arch/msg/scitt/87zomV0Y4CJracWSslxzBmdX7dI>
List-Archive: <https://mailarchive.ietf.org/arch/browse/scitt>
List-Help: <mailto:scitt-request@ietf.org?subject=help>
List-Owner: <mailto:scitt-owner@ietf.org>
List-Post: <mailto:scitt@ietf.org>
List-Subscribe: <mailto:scitt-join@ietf.org>
List-Unsubscribe: <mailto:scitt-leave@ietf.org>

--000000000000fb203b065ab634b6
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

David,

Thank you for such a thoughtful, rigorous response. It is rare and
refreshing to see feedback engaged with this level of technical precision
and good faith.

Your formulation in =C2=A76 =E2=80=94 "Consumption is not comprehension" =
=E2=80=94 is spot-on
and deserves to become standard terminology across agent governance. The
failure mode you are designing against (unwatched veto windows laundering
absence into implied review) is a very real hazard in autonomous workflows,
and forcing that state into an attributable signed record is exactly the
right countermeasure.

A few quick points of alignment:

1. Simultaneous Expiry Invariant: Really glad to hear that will be made
explicit in the next revision. Closing that race condition ensures
implementations can't release on stale authorizations when windows tie.
2. Domain Scoping: Your boundary between high-frequency settlement finality
and human oversight of consequential actions is cleanly drawn. Keeping
those blast radiuses separated protects both the settlement rails and the
governance layers from leaky abstractions.
3. Vocabulary vs Orchestration: Framing this strictly as record vocabulary
for downstream state resolution rather than log-level workflow queuing
addresses the core architectural concern nicely.

I will spend some time with =C2=A7=C2=A73.4=E2=80=933.5 over the weekend an=
d will share any
edge-case findings on the state machine before your next draft drops.

Really appreciate the collaborative exchange, and looking forward to
following the revision.

Warm regards,
Walter

On Fri, Sep 4, 2026 at 8:14=E2=80=AFAM David S. Rose <primacy@davidsrose.co=
m> wrote:

> Walter,
>
> Thanks for your comments =E2=80=94 the feedback is really helpful.
>
> Taking your three points in order:
>
> > a monitor asserting it ingested a byte stream is fundamentally
> > decoupled from asserting semantic non-objection
>
> Agreed, and the attached spec is emphatic about it =E2=80=94 =C2=A76 (Non=
-claims):
> "Consumption is not comprehension: the attestation does not certify
> that the monitor evaluated the action correctly, or at all." Attested
> consumption is offered as a necessary condition for admitting silence
> as evidence, never a sufficient one. The construct's claim is narrower
> than the one you're arguing against: an unwatched veto window
> manufactures records in which absence reads as review, and the
> attestation makes that specific laundering impossible without a signed
> falsehood attributable to its signer.
>
> On lag, skew, and partition "collapsing the system back into a
> fail-closed gate": yes =E2=80=94 deliberately. That is =C2=A73.5's normat=
ive
> behavior ("when in doubt, degrade"), and the spec prices it plainly: a
> non-consuming monitor costs availability, never safety. A monitor that
> goes silent to dodge accountability has not vetoed anything =E2=80=94 it =
has
> converted holds to explicit-approval gates and triggered the
> stalled-monitor alert to the principal (=C2=A73.5), which is a visible,
> attributable event. And explicit signed approval is not an alternative
> to this construct; it is the other half of it. Critical actions take
> that path unconditionally. The staged path exists for the volume
> regime where demanding a human signature per action decays into
> rubber-stamping =E2=80=94 the failure mode the construct was built agains=
t.
>
> > SCITT is an evidentiary transparency layer, not an active workflow
> > queue
>
> Agreed again, and nothing proposed puts orchestration in the log. =C2=A75
> (Composition): the staged record, the attestation, the objection, and
> the adjudication "are payloads any signed-record system can carry."
> No polling states, no interim mutation of receipts. What is offered is
> record vocabulary =E2=80=94 so that your "subsequent attested statement
> referencing the subject artifact" has defined semantics, and, more
> importantly, so the *absence* of one at expiry does. That absence is
> the case the permit profile currently leaves open: `challenge` is a
> decision value with no stated downstream semantics, which is the gap
> this responds to. Whether the vocabulary lands in the family, in a
> companion profile, or as application guidance is genuinely the group's
> call =E2=80=94 the offer stands for whichever the group prefers.
>
> On your three questions:
>
> 1. Override vs. approval at the payload layer: semantics first,
> encodings per the family's conventions. In my running system this is
> an adjudication enum (approve / reject / modify / cancel / defer /
> timeout / preempted) plus an override marking recorded as its own
> fact =E2=80=94 an approval over a standing objection is never representab=
le
> as an ordinary approve. I'm happy to draft a COSE claim-set mapping
> against the permit-profile conventions if there's interest.
>
> 2. Replay and forgery of the attested position: the coverage
> predicate is the defense (=C2=A72). An attestation covers a hold window o=
nly
> if its signing time is at or after that window's close AND its attested
> position is at or beyond the window's staged record =E2=80=94 so a replay=
ed
> older attestation fails the signing-time leg for any later window by
> construction. Deployments MUST reject attestations that are unsigned,
> unattributed, replayed, or bound to positions the stream does not
> contain (=C2=A74). A compromised monitor signing a false position is not
> prevented =E2=80=94 it is converted into attributable signed fraud, which=
 is
> the designed property, and the drill discipline in =C2=A74 exists to catc=
h
> the consuming-but-not-evaluating case from the outside.
>
> 3. Simultaneous expiry of the veto window and the underlying
> authorization: release requires both legs live at the release
> instant =E2=80=94 a covering attestation AND a currently-valid authorizat=
ion.
> A tie resolves to no-release; the action re-enters as a fresh
> proposal under whatever authorization then holds. You're right that
> the current text leaves this composition invariant implicit; the next
> revision will state it explicitly. Thanks for surfacing it.
>
> One scoping note, since your invariance results come from
> high-frequency settlement rails: that regime is explicitly outside
> this construct's silence-release scope. Actions in the
> irreversible/high-impact class never release on expiry under any
> attestation state (=C2=A73.2) =E2=80=94 they stage and gate. The construc=
t
> addresses human oversight of consequential agent actions, not
> settlement finality, and makes no claims into your domain.
>
> The full state machine and failure behavior are =C2=A7=C2=A73.4=E2=80=933=
.5 of the
> attached spec; I'd genuinely welcome findings against them.
>
> -David
>
> > On Sep 4, 2026, at 6:08=E2=80=AFAM, Walter Hawkins <wdhawkins46@gmail.c=
om>
> wrote:
> >
> > Hi David,
> >
> > A quick technical observation on this proposal, having spent
> considerable engineering time implementing deterministic pre-execution
> invariants and post-settlement transparency receipts in this exact domain
> (draft-hawkins-scitt-attested-agent-payment,
> draft-munoz-scitt-permit-profile, and the receipt-invariant/1 production
> suite).
> >
> > While the intent to model downstream escalation is understandable, the
> mechanics described in your note introduce several severe protocol
> ambiguities that SCITT=E2=80=99s architectural model was specifically des=
igned to
> avoid:
> >
> > 1. The Fallacy of "Attested Stream Consumption" for Vetoes:
> > You state: "releases on expiry only when an independent monitor's
> attested last-processed stream position shows it actually consumed the
> proposal before the window closed =E2=80=94 silence as no-objection only =
when the
> objector was demonstrably reading."
> >
> > From an attestation and state-machine perspective, a monitor asserting
> it ingested a byte stream is fundamentally decoupled from asserting
> semantic non-objection. It introduces an undefined failure mode: network
> lag, clock skew, or log partitioning immediately collapses the system bac=
k
> into a fail-closed gate. In adversarial multi-agent environments, an
> objector who wishes to veto without accountability can simply halt its
> stream ack or delay heartbeat attestation. Silence cannot be made safe by
> merely proving observation; safety requires explicit, signed cryptographi=
c
> assertions (such as COSE_Sign1 claims or bounded pre-authorizations).
> >
> > 2. Boundary Confusion with draft-munoz-scitt-permit-profile:
> > The permit profile (draft-munoz-scitt-permit-profile-01) intentionally
> bounds itself to the verifiable decision record. The moment you introduce
> human hold-windows, arbitrary veto timeouts, and asynchronous escalation
> into the SCITT envelope, you are conflating immutable ledger receipts wit=
h
> stateful orchestration/workflow engines. SCITT is an evidentiary
> transparency layer, not an active workflow queue. If an escalation result=
s
> in an override, the resolution is simply recorded as a subsequent atteste=
d
> statement referencing the subject artifact =E2=80=94 there is no need to =
bloat the
> core receipt schema with interim "awaiting approver" polling states.
> >
> > 3. Reconciliation Invariants and Replay Vulnerability:
> > Under production conditions (e.g. high-frequency autonomous agent
> settlement), "hold windows" with asymmetrical timeout defaults create
> severe race conditions between authorization expiry and settlement
> finality. In our formal invariance testing across live rails, any model
> that relies on time-decay release without cryptographic two-phase locking
> (receipt-invariant/1 / RFC 8785 canonical vectors) reliably breaks under
> network partitions, resulting in unauthorized double-releases or orphaned
> authorizations.
> >
> > If you intend to propose formal companion semantics for the
> permit-profile family, could you clarify:
> > - How does your proposed schema represent the distinction between an
> override and an approval at the CBOR/COSE payload layer?
> > - What canonical structure guarantees that the "attested stream
> position" cannot be replayed or forged by a compromised monitor?
> > - What are the concrete state-transition invariants when the veto windo=
w
> and the underlying authorization epoch expire simultaneously?
> >
> > Without rigorous, deterministic state definitions, informal hold window=
s
> belong in application-level runtime orchestration (such as local policy
> agents), rather than the IETF SCITT standards track.
> >
> > Regards,
> >
> > Walter Hawkins
> > Corrente Labs, Inc.
> > Author, draft-hawkins-x402-dns-discovery /
> draft-hawkins-scitt-attested-agent-payment
> > ashlar.blue | correntelabs.com
> >
> > On Thu, Sep 3, 2026 at 11:47=E2=80=AFPM David S. Rose <primacy@davidsro=
se.com>
> wrote:
> > Hi all,
> >
> > I'm David S. Rose. I build and operate a governed personal-AI-agent
> > deployment, and I've been following the agent-drafts discussion here
> > with interest.
> >
> > The permit profile (draft-munoz-scitt-permit-profile-01) scopes itself
> > to the pre-execution decision record, and =E2=80=94 as far as I can see=
 =E2=80=94
> > escalation workflows, hold windows, and monitor constructs appear
> > nowhere in it: "challenge" is a decision value whose downstream
> > semantics the document leaves open. The CHAP discussion in August
> > was circling the same ground from the human-authority side.
> >
> > I have been operating a construction for exactly that layer and would
> > like to contribute its semantics:
> >
> > - Two escalation shapes with opposite timeout defaults: an approver
> >   gate that fails closed (expiry -> deny), and a veto window that
> >   releases on expiry only when an independent monitor's attested
> >   last-processed stream position shows it actually consumed the
> >   proposal before the window closed =E2=80=94 silence as no-objection o=
nly
> >   when the objector was demonstrably reading =E2=80=94 with degradation=
 to
> >   gate semantics otherwise.
> >
> > - An adjudication vocabulary that records an approval-over-objection
> >   as an override, rather than an ordinary approve.
> >
> > - A deliberate distinction between "awaiting an approver" and "staged
> >   pending conditions" =E2=80=94 different pauses with different safe de=
faults.
> >
> > A short standalone specification of the release interlock ("Attested
> > Staged Release", v0.1 draft) is attached for discussion. Offered for
> > incorporation into the permit-profile family or as a companion
> > profile, whichever the group prefers.
> >
> > -David
> > --
> > SCITT mailing list -- scitt@ietf.org
> > To unsubscribe send an email to scitt-leave@ietf.org
>
>
>

--000000000000fb203b065ab634b6
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><font face=3D"tahoma, sans-serif">David,<br><br>Thank you =
for such a thoughtful, rigorous response. It is rare and refreshing to see =
feedback engaged with this level of technical precision and good faith.<br>=
<br>Your formulation in =C2=A76 =E2=80=94 &quot;Consumption is not comprehe=
nsion&quot; =E2=80=94 is spot-on and deserves to become standard terminolog=
y across agent governance. The failure mode you are designing against (unwa=
tched veto windows laundering absence into implied review) is a very real h=
azard in autonomous workflows, and forcing that state into an attributable =
signed record is exactly the right countermeasure.<br><br>A few quick point=
s of alignment:<br><br>1. Simultaneous Expiry Invariant: Really glad to hea=
r that will be made explicit in the next revision. Closing that race condit=
ion ensures implementations can&#39;t release on stale authorizations when =
windows tie.<br>2. Domain Scoping: Your boundary between high-frequency set=
tlement finality and human oversight of consequential actions is cleanly dr=
awn. Keeping those blast radiuses separated protects both the settlement ra=
ils and the governance layers from leaky abstractions.<br>3. Vocabulary vs =
Orchestration: Framing this strictly as record vocabulary for downstream st=
ate resolution rather than log-level workflow queuing addresses the core ar=
chitectural concern nicely.<br><br>I will spend some time with =C2=A7=C2=A7=
3.4=E2=80=933.5 over the weekend and will share any edge-case findings on t=
he state machine before your next draft drops. <br><br>Really appreciate th=
e collaborative exchange, and looking forward to following the revision.<br=
><br>Warm regards,<br>Walter</font><br></div><br><div class=3D"gmail_quote =
gmail_quote_container"><div dir=3D"ltr" class=3D"gmail_attr">On Fri, Sep 4,=
 2026 at 8:14=E2=80=AFAM David S. Rose &lt;<a href=3D"mailto:primacy@davids=
rose.com">primacy@davidsrose.com</a>&gt; wrote:<br></div><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex">Walter,<br>
<br>
Thanks for your comments =E2=80=94 the feedback is really helpful.<br>
<br>
Taking your three points in order:<br>
<br>
&gt; a monitor asserting it ingested a byte stream is fundamentally<br>
&gt; decoupled from asserting semantic non-objection<br>
<br>
Agreed, and the attached spec is emphatic about it =E2=80=94 =C2=A76 (Non-c=
laims):<br>
&quot;Consumption is not comprehension: the attestation does not certify<br=
>
that the monitor evaluated the action correctly, or at all.&quot; Attested<=
br>
consumption is offered as a necessary condition for admitting silence<br>
as evidence, never a sufficient one. The construct&#39;s claim is narrower<=
br>
than the one you&#39;re arguing against: an unwatched veto window<br>
manufactures records in which absence reads as review, and the<br>
attestation makes that specific laundering impossible without a signed<br>
falsehood attributable to its signer.<br>
<br>
On lag, skew, and partition &quot;collapsing the system back into a<br>
fail-closed gate&quot;: yes =E2=80=94 deliberately. That is =C2=A73.5&#39;s=
 normative<br>
behavior (&quot;when in doubt, degrade&quot;), and the spec prices it plain=
ly: a<br>
non-consuming monitor costs availability, never safety. A monitor that<br>
goes silent to dodge accountability has not vetoed anything =E2=80=94 it ha=
s<br>
converted holds to explicit-approval gates and triggered the<br>
stalled-monitor alert to the principal (=C2=A73.5), which is a visible,<br>
attributable event. And explicit signed approval is not an alternative<br>
to this construct; it is the other half of it. Critical actions take<br>
that path unconditionally. The staged path exists for the volume<br>
regime where demanding a human signature per action decays into<br>
rubber-stamping =E2=80=94 the failure mode the construct was built against.=
<br>
<br>
&gt; SCITT is an evidentiary transparency layer, not an active workflow<br>
&gt; queue<br>
<br>
Agreed again, and nothing proposed puts orchestration in the log. =C2=A75<b=
r>
(Composition): the staged record, the attestation, the objection, and<br>
the adjudication &quot;are payloads any signed-record system can carry.&quo=
t;<br>
No polling states, no interim mutation of receipts. What is offered is<br>
record vocabulary =E2=80=94 so that your &quot;subsequent attested statemen=
t<br>
referencing the subject artifact&quot; has defined semantics, and, more<br>
importantly, so the *absence* of one at expiry does. That absence is<br>
the case the permit profile currently leaves open: `challenge` is a<br>
decision value with no stated downstream semantics, which is the gap<br>
this responds to. Whether the vocabulary lands in the family, in a<br>
companion profile, or as application guidance is genuinely the group&#39;s<=
br>
call =E2=80=94 the offer stands for whichever the group prefers.<br>
<br>
On your three questions:<br>
<br>
1. Override vs. approval at the payload layer: semantics first,<br>
encodings per the family&#39;s conventions. In my running system this is<br=
>
an adjudication enum (approve / reject / modify / cancel / defer /<br>
timeout / preempted) plus an override marking recorded as its own<br>
fact =E2=80=94 an approval over a standing objection is never representable=
<br>
as an ordinary approve. I&#39;m happy to draft a COSE claim-set mapping<br>
against the permit-profile conventions if there&#39;s interest.<br>
<br>
2. Replay and forgery of the attested position: the coverage<br>
predicate is the defense (=C2=A72). An attestation covers a hold window onl=
y<br>
if its signing time is at or after that window&#39;s close AND its attested=
<br>
position is at or beyond the window&#39;s staged record =E2=80=94 so a repl=
ayed<br>
older attestation fails the signing-time leg for any later window by<br>
construction. Deployments MUST reject attestations that are unsigned,<br>
unattributed, replayed, or bound to positions the stream does not<br>
contain (=C2=A74). A compromised monitor signing a false position is not<br=
>
prevented =E2=80=94 it is converted into attributable signed fraud, which i=
s<br>
the designed property, and the drill discipline in =C2=A74 exists to catch<=
br>
the consuming-but-not-evaluating case from the outside.<br>
<br>
3. Simultaneous expiry of the veto window and the underlying<br>
authorization: release requires both legs live at the release<br>
instant =E2=80=94 a covering attestation AND a currently-valid authorizatio=
n.<br>
A tie resolves to no-release; the action re-enters as a fresh<br>
proposal under whatever authorization then holds. You&#39;re right that<br>
the current text leaves this composition invariant implicit; the next<br>
revision will state it explicitly. Thanks for surfacing it.<br>
<br>
One scoping note, since your invariance results come from<br>
high-frequency settlement rails: that regime is explicitly outside<br>
this construct&#39;s silence-release scope. Actions in the<br>
irreversible/high-impact class never release on expiry under any<br>
attestation state (=C2=A73.2) =E2=80=94 they stage and gate. The construct<=
br>
addresses human oversight of consequential agent actions, not<br>
settlement finality, and makes no claims into your domain.<br>
<br>
The full state machine and failure behavior are =C2=A7=C2=A73.4=E2=80=933.5=
 of the<br>
attached spec; I&#39;d genuinely welcome findings against them.<br>
<br>
-David<br>
<br>
&gt; On Sep 4, 2026, at 6:08=E2=80=AFAM, Walter Hawkins &lt;<a href=3D"mail=
to:wdhawkins46@gmail.com" target=3D"_blank">wdhawkins46@gmail.com</a>&gt; w=
rote:<br>
&gt; <br>
&gt; Hi David,<br>
&gt; <br>
&gt; A quick technical observation on this proposal, having spent considera=
ble engineering time implementing deterministic pre-execution invariants an=
d post-settlement transparency receipts in this exact domain (draft-hawkins=
-scitt-attested-agent-payment, draft-munoz-scitt-permit-profile, and the re=
ceipt-invariant/1 production suite).<br>
&gt; <br>
&gt; While the intent to model downstream escalation is understandable, the=
 mechanics described in your note introduce several severe protocol ambigui=
ties that SCITT=E2=80=99s architectural model was specifically designed to =
avoid:<br>
&gt; <br>
&gt; 1. The Fallacy of &quot;Attested Stream Consumption&quot; for Vetoes:<=
br>
&gt; You state: &quot;releases on expiry only when an independent monitor&#=
39;s attested last-processed stream position shows it actually consumed the=
 proposal before the window closed =E2=80=94 silence as no-objection only w=
hen the objector was demonstrably reading.&quot;<br>
&gt; <br>
&gt; From an attestation and state-machine perspective, a monitor asserting=
 it ingested a byte stream is fundamentally decoupled from asserting semant=
ic non-objection. It introduces an undefined failure mode: network lag, clo=
ck skew, or log partitioning immediately collapses the system back into a f=
ail-closed gate. In adversarial multi-agent environments, an objector who w=
ishes to veto without accountability can simply halt its stream ack or dela=
y heartbeat attestation. Silence cannot be made safe by merely proving obse=
rvation; safety requires explicit, signed cryptographic assertions (such as=
 COSE_Sign1 claims or bounded pre-authorizations).<br>
&gt; <br>
&gt; 2. Boundary Confusion with draft-munoz-scitt-permit-profile:<br>
&gt; The permit profile (draft-munoz-scitt-permit-profile-01) intentionally=
 bounds itself to the verifiable decision record. The moment you introduce =
human hold-windows, arbitrary veto timeouts, and asynchronous escalation in=
to the SCITT envelope, you are conflating immutable ledger receipts with st=
ateful orchestration/workflow engines. SCITT is an evidentiary transparency=
 layer, not an active workflow queue. If an escalation results in an overri=
de, the resolution is simply recorded as a subsequent attested statement re=
ferencing the subject artifact =E2=80=94 there is no need to bloat the core=
 receipt schema with interim &quot;awaiting approver&quot; polling states.<=
br>
&gt; <br>
&gt; 3. Reconciliation Invariants and Replay Vulnerability:<br>
&gt; Under production conditions (e.g. high-frequency autonomous agent sett=
lement), &quot;hold windows&quot; with asymmetrical timeout defaults create=
 severe race conditions between authorization expiry and settlement finalit=
y. In our formal invariance testing across live rails, any model that relie=
s on time-decay release without cryptographic two-phase locking (receipt-in=
variant/1 / RFC 8785 canonical vectors) reliably breaks under network parti=
tions, resulting in unauthorized double-releases or orphaned authorizations=
.<br>
&gt; <br>
&gt; If you intend to propose formal companion semantics for the permit-pro=
file family, could you clarify:<br>
&gt; - How does your proposed schema represent the distinction between an o=
verride and an approval at the CBOR/COSE payload layer?<br>
&gt; - What canonical structure guarantees that the &quot;attested stream p=
osition&quot; cannot be replayed or forged by a compromised monitor?<br>
&gt; - What are the concrete state-transition invariants when the veto wind=
ow and the underlying authorization epoch expire simultaneously?<br>
&gt; <br>
&gt; Without rigorous, deterministic state definitions, informal hold windo=
ws belong in application-level runtime orchestration (such as local policy =
agents), rather than the IETF SCITT standards track.<br>
&gt; <br>
&gt; Regards,<br>
&gt; <br>
&gt; Walter Hawkins<br>
&gt; Corrente Labs, Inc.<br>
&gt; Author, draft-hawkins-x402-dns-discovery / draft-hawkins-scitt-atteste=
d-agent-payment<br>
&gt; ashlar.blue | <a href=3D"http://correntelabs.com" rel=3D"noreferrer" t=
arget=3D"_blank">correntelabs.com</a><br>
&gt; <br>
&gt; On Thu, Sep 3, 2026 at 11:47=E2=80=AFPM David S. Rose &lt;<a href=3D"m=
ailto:primacy@davidsrose.com" target=3D"_blank">primacy@davidsrose.com</a>&=
gt; wrote:<br>
&gt; Hi all,<br>
&gt; <br>
&gt; I&#39;m David S. Rose. I build and operate a governed personal-AI-agen=
t<br>
&gt; deployment, and I&#39;ve been following the agent-drafts discussion he=
re<br>
&gt; with interest.<br>
&gt; <br>
&gt; The permit profile (draft-munoz-scitt-permit-profile-01) scopes itself=
<br>
&gt; to the pre-execution decision record, and =E2=80=94 as far as I can se=
e =E2=80=94<br>
&gt; escalation workflows, hold windows, and monitor constructs appear<br>
&gt; nowhere in it: &quot;challenge&quot; is a decision value whose downstr=
eam<br>
&gt; semantics the document leaves open. The CHAP discussion in August<br>
&gt; was circling the same ground from the human-authority side.<br>
&gt; <br>
&gt; I have been operating a construction for exactly that layer and would<=
br>
&gt; like to contribute its semantics:<br>
&gt; <br>
&gt; - Two escalation shapes with opposite timeout defaults: an approver<br=
>
&gt;=C2=A0 =C2=A0gate that fails closed (expiry -&gt; deny), and a veto win=
dow that<br>
&gt;=C2=A0 =C2=A0releases on expiry only when an independent monitor&#39;s =
attested<br>
&gt;=C2=A0 =C2=A0last-processed stream position shows it actually consumed =
the<br>
&gt;=C2=A0 =C2=A0proposal before the window closed =E2=80=94 silence as no-=
objection only<br>
&gt;=C2=A0 =C2=A0when the objector was demonstrably reading =E2=80=94 with =
degradation to<br>
&gt;=C2=A0 =C2=A0gate semantics otherwise.<br>
&gt; <br>
&gt; - An adjudication vocabulary that records an approval-over-objection<b=
r>
&gt;=C2=A0 =C2=A0as an override, rather than an ordinary approve.<br>
&gt; <br>
&gt; - A deliberate distinction between &quot;awaiting an approver&quot; an=
d &quot;staged<br>
&gt;=C2=A0 =C2=A0pending conditions&quot; =E2=80=94 different pauses with d=
ifferent safe defaults.<br>
&gt; <br>
&gt; A short standalone specification of the release interlock (&quot;Attes=
ted<br>
&gt; Staged Release&quot;, v0.1 draft) is attached for discussion. Offered =
for<br>
&gt; incorporation into the permit-profile family or as a companion<br>
&gt; profile, whichever the group prefers.<br>
&gt; <br>
&gt; -David<br>
&gt; -- <br>
&gt; SCITT mailing list -- <a href=3D"mailto:scitt@ietf.org" target=3D"_bla=
nk">scitt@ietf.org</a><br>
&gt; To unsubscribe send an email to <a href=3D"mailto:scitt-leave@ietf.org=
" target=3D"_blank">scitt-leave@ietf.org</a><br>
<br>
<br>
</blockquote></div>

--000000000000fb203b065ab634b6--

