[Atp] Re: Floats support summary

Bryan Newbold <bryan@blueskyweb.xyz> Mon, 26 October 2026 01:42 UTC

Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com [IPv6:2a00:1450:4864:20::634]) (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 942A446 for <atp@ietf.org>; Mon, 26 Oct 2026 01:42:14 +0000 (UTC)
Authentication-Results: mx.ietf.org; dkim=pass header.d=blueskyweb.xyz header.s=google header.b=lEYqVpjS; arc=pass ("google.com:s=arc-20260327:i=1"); spf=pass (mx.ietf.org: domain of bryan@blueskyweb.xyz designates 2a00:1450:4864:20::634 as permitted sender) smtp.mailfrom=bryan@blueskyweb.xyz; dmarc=pass (policy=reject) header.from=blueskyweb.xyz
Received: by mail-ej1-x634.google.com with SMTP id a640c23a62f3a-c4550d8ab15so307519166b.2 for <atp@ietf.org>; Sun, 25 Oct 2026 18:42:14 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1792978927; cv=none; d=google.com; s=arc-20260327; b=WuxjSujHQ98+HtzXmAaSiwIcfyXW0VeiJAuwa8bjvRnTINzd9baIEAkRrjTUvmY/Bk eZ6ahDzMRX2kSpr0lajOfpUhomLxmyg4gD+jURYBBlrnTikb3NUq8aco7NGGrj3epaSy zSIsEYBOSiS+GuHn52ew1ESwUpl58lN+KoHFyyqAcxW8espPjxr3qvO0GO1bsft6cIqx /gCiob6Ox8uYuHWjWduah+ICFZR1o0870yQ5tuCC4E0qI2Rnunq+bXlVMUd6LDPETN4f P7A8C6m9Ue2r0Wp7g3r0D3v2NFDPYrK3fsbg2qVm2pkbqQt4+8RfYCWE2piO+ipn5K5T TD6Q==
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=sVZ/5bTrL+MTsphH1XE+NmRHkDojEFnZ7XWB7+vUmdM=; fh=Rjzv1ItU+jjgijBfr+UG8EjVAElLoXFo/32wTzxRQN0=; b=Dxcga5bOhkjelCZtqweegFF+eGfYjK5fbAScQzn97/ZWeVTY6BCqW3YN3lktMStjC5 jt9MVeH1dLRyyymUclAEqW4FHlIzsJJMD6Any5tqjq3edrJvLYfygK7q/Ce/nilBZ8NX qXOfowB0df7hwxLAoWW/0w9Gwf/LKG0yLBfB2H6EDFKVSBAbyR6NNcNZWKqx+dtX5e+Z Be03/26wHUpQh0bZ+4oOCUB+dws4xB2fnt/Z2wb63+dLhlSKVwkZ3OZtLgFbXKy92bVJ +XhwOTbLWzekf9KJGAuzl17IX96Utgbz/C9Ft0Bjbgd/VZXohKQrNlX+kf8IGWuM8L9p csIw==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=blueskyweb.xyz; s=google; t=1792978927; x=1793583727; 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=sVZ/5bTrL+MTsphH1XE+NmRHkDojEFnZ7XWB7+vUmdM=; b=lEYqVpjS6o40PGcoXCf05KPofTkKo8wk0mUJ9SPnHen7h9e24UsNCerNKFVG4T0ubw JcffO8GyRcZSq1b2GxOrihd9ocMho5RWGjali4B2KYDJ+KqR/q73xZDtuIpLQZ5pgmOK EjBSVMvOQQYb5/2HXRy7PHt04S79TU5WzOpPzwcajwInLdg/ptuTZc3ZTUzIEN2TG7bm ljryUfNgr9gOQJCu2BYHM2iKB2M/NenGRKmgya2JDyd45pyCvHBP5gE23QEyAr/5nIxj tNYr2n1tPgg6YfNijCx2miBsuqEFKbnpgo+fnHWFQUzqpLvbLCX5EexB+iBrc7DJqyAw S0Og==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1792978927; x=1793583727; 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=sVZ/5bTrL+MTsphH1XE+NmRHkDojEFnZ7XWB7+vUmdM=; b=ZjQmipmylSD3A+YhKZpvUUjXRC8E7/8E4JcgE2bkOj++Zbj/2DU5q1MSapRXPerKIj EL/J4atSrGOdLNzHYCJ7jYZkeVuFGdfjWUGd2GCv4eDLgexdd/Z/GTfM6jWBS18b3Wt4 RdDXcGo+CIAvfmLwx3TetkDQG8FDw/SiAaDYNin5B8ktmOCtmS9h+p8wHNwwjOS/cL3h T2d5LsELwoxNAA+/JweI43vuhwUaYcRwPfjWTHJ0GEW04503Xo8JY8zSZkRa5psADg5d 2bkLCMbmmgS9s3vgnZkJb3DK3aUj/+i9/y6tYJgY1av0szsDrnvv4x08lY4rrBndqQ0D xnOg==
X-Gm-Message-State: AFq9FYLY5K2eK6LtBCykghgDH0mJW4ctzmNyTqH5fMcvw+TuFFYu9w9s 3recsH3UWD2HTObbTEavIoEdWCvlJKXzL4i8Je/OWvn59Cc2cZiPSkremxL9L9zsvIETJVN9mZ9 vR+iExcUheyvHbb16M7cSDdrXIx0r8rUrr95nKTh7
X-Gm-Gg: AYBFou2pwOwH75u3jtlNf46c8dAVmnWzoQBzjgI0CMGL6e+IJiUVGTiEvlEyuQqIyEM R/Tv5xoWTlYhMhw4Mhyp4lz+YxoQb5EIVObfa3piCP08437ocJbCtYYb4LVwz8jNWETQTnZlYUJ JCc0FH4Xu03ZUiVMFlN/WVxLKPloHXcR3sss2tjj8cJnoUjYaqQFTq5uvEuxqK1JTJG6oX4/xZO w+yUh/bdwEM0osnc+LBqlad7Uz2QbYaP6XFO5s03igSm+GGuKB2vFDzr4FyENhaaoxjEsMzRvqj jEsCixHDVzhsKW5ht55qGt+lcNDVr+FCurjkwm/2fBaL9UNhYs3sAaKQ/9DfaeW1NfNM2Va0snd 9uChCkH8u+QC+yR9Jm7FKOP0DxBcFhoY7wHf0C4SlAp7Shk3whY2f2E1E0FQo49Ji6NjrU8drJf jJ8C92MTNU3U6I8v0d7NxEvlVe
X-Received: by 2002:a17:907:c650:10b0:c48:a838:c16d with SMTP id a640c23a62f3a-c48a838c2f7mr176726966b.30.1792978927031; Sun, 25 Oct 2026 18:42:07 -0700 (PDT)
MIME-Version: 1.0
References: <0d7134b0-c85e-4095-8cd6-4efcf65e5b49@gmail.com>
In-Reply-To: <0d7134b0-c85e-4095-8cd6-4efcf65e5b49@gmail.com>
From: Bryan Newbold <bryan@blueskyweb.xyz>
Date: Sun, 25 Oct 2026 18:41:56 -0700
X-Gm-Features: AclHuK8ZQqL2iX_cI2LeanB9dFuH8EXCkPtFaq-nRif1me45FFBMdUMDe1yHR9k
Message-ID: <CABFYohgY2s93zAReZe4V+6Emmfzn10oJtFZ46C-G9QkAuoBgjQ@mail.gmail.com>
To: Volker Mische <volker.mische@gmail.com>
Content-Type: multipart/alternative; boundary="0000000000000928af065eb470dd"
X-Spamd-Bar: ---------------------
Message-ID-Hash: VVTQWRL5QNJ4JWJXHHZVU2PFYJYXPKAM
X-Message-ID-Hash: VVTQWRL5QNJ4JWJXHHZVU2PFYJYXPKAM
X-MailFrom: bryan@blueskyweb.xyz
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: atp@ietf.org
X-Mailman-Version: 3.3.10
Precedence: list
Subject: [Atp] Re: Floats support summary
List-Id: Authenticated Transfer <atp.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/atp/Gb6PaROZk7ygDmd99R0d-Bvsb5k>
List-Archive: <https://mailarchive.ietf.org/arch/browse/atp>
List-Help: <mailto:atp-request@ietf.org?subject=help>
List-Owner: <mailto:atp-owner@ietf.org>
List-Post: <mailto:atp@ietf.org>
List-Subscribe: <mailto:atp-join@ietf.org>
List-Unsubscribe: <mailto:atp-leave@ietf.org>

Hi Volker,

Thank you for picking this back up.

I continue to have strong concerns about depending on JSON numeric encoding
alone to determine whether a number is intended to be an integer or float.
The JSON data model is clear in having only a single overall numeric type,
and I think we need a more general and robust solution to this modeling
problem than relying on observed implementation behaviors. In many
situations and use-cases the encoding and distinction is not important, but
because atproto is content-addressed, it is important. I think a wrapper
encoding like the '$float' option you mention would be more suitable.

In your analysis of implementation behaviors, you noted JavaScript and Go
as language ecosystems where special care and configuration is required to
ensure consistent encoding behavior. Those are both popular languages in
general, and top languages in the atproto ecosystem today. As noted above I
don't think the behaviors of individual JSON implementations are
particularly important for making this decision, but it is concerning to me
that these languages would not work reliably "out of the box".

I'm putting together some more specific examples and a counter-proposal to
share with the list. I'd love to get feedback on all this from more folks,
both atproto developers and IETF community folks. The upcoming IETF 127
meeting seems like a good time frame for converging on a path forward.

--bryan

On Fri, Oct 23, 2026 at 7:09 AM Volker Mische <volker.mische@gmail.com>
wrote:

> Hi all,
>
> the discussions about the floats calmed down over the past few months,
> no new objections have been raised. Hence I've published a blog post [1]
> which summarized the whole discussion and draws some conclusions. The
> result is a straight forward change to the current repo draft spec [2].
>
> If you have any new insights or ideas that haven't been covered by the
> summary, please share them prior to the IETF 127 meeting so that we can
> use the time there to get it over the finish line. I'll attend remotely
> and will be available for Q&A.
>
> [1]:
>
> https://vmx.cx/cgi-bin/blog/index.cgi/floats-on-atproto-summary%3A2026-10-23%3Aen%2CATProto
> [2]: https://github.com/ietf-wg-atp/drafts/pull/35
>
> Cheers,
>    Volker
>
> _______________________________________________
> Atp mailing list -- atp@ietf.org
> To unsubscribe send an email to atp-leave@ietf.org
>