<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Alex Merced</title>
    <description>The latest articles on DEV Community by Alex Merced (@alexmercedcoder).</description>
    <link>https://dev.to/alexmercedcoder</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F288069%2Fe752e411-5aa7-4ea9-b89b-5f670f94a8ca.png</url>
      <title>DEV Community: Alex Merced</title>
      <link>https://dev.to/alexmercedcoder</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/alexmercedcoder"/>
    <language>en</language>
    <item>
      <title>Apache Data Lakehouse Weekly: October 21-28, 2026</title>
      <dc:creator>Alex Merced</dc:creator>
      <pubDate>Wed, 28 Oct 2026 14:17:35 +0000</pubDate>
      <link>https://dev.to/alexmercedcoder/apache-data-lakehouse-weekly-october-21-28-2026-5f15</link>
      <guid>https://dev.to/alexmercedcoder/apache-data-lakehouse-weekly-october-21-28-2026-5f15</guid>
      <description>&lt;p&gt;Last week the projects decided what new things the lakehouse should hold: files, vectors and semantic models. This week they worked on whether anyone can trust what those things say about themselves. Iceberg passed votes on tight stats, table constraints and a new REST header value, and opened another on stats-only fields. Polaris worked out who is allowed to skip credential vending, how storage configuration should live in a catalog, and how a transaction should span tables. Parquet kept arguing about what a vector promises and what a null count actually counts. Ossie, the incubating semantic interchange project, started preparing its first release.&lt;/p&gt;

&lt;p&gt;Underneath the spec work sat a harder problem that showed up on almost every list. Maintainers on Iceberg, Arrow and Polaris all said, in different words, that AI-generated pull requests and shared CI capacity are now growing faster than the number of people who can review and run them. That theme gets its own section near the end, because it may shape these projects more over the next year than any single spec change.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Iceberg
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The v4 spec learns to make promises
&lt;/h3&gt;

&lt;p&gt;The biggest outcome of the week was Anoop Johnson's &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15596.html" rel="noopener noreferrer"&gt;vote to replace per-column tight_bounds with a file-level tight_stats flag&lt;/a&gt;. It &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15661.html" rel="noopener noreferrer"&gt;passed on October 27&lt;/a&gt; with 9 binding +1s from Amogh Jahagirdar, Daniel Weeks, Eduard Tudenhöfner, Fokko Driesprong, Gang Wu, Russell Spitzer, Ryan Blue, Steven Wu and Szehon Ho. Andrei Tserakhau, Anurag Mantripragada, Hongyue Zhang and Huaxin Gao added non-binding +1s, and nobody voted against it.&lt;/p&gt;

&lt;p&gt;The change sounds small but it matters a great deal for query planning. In the earlier design, each column carried its own flag saying whether its lower and upper bounds were exact. The new design puts one &lt;code&gt;tight_stats&lt;/code&gt; flag on the data file, and that flag covers null counts, NaN counts and value counts as well as bounds. If the flag is missing, readers must assume the stats are not tight. This is the vote that came out of Anoop's discussion last week about extending "tight" beyond min and max. With it in place, an engine can answer &lt;code&gt;count(*) WHERE col IS NULL&lt;/code&gt; from metadata alone and know the answer is exact.&lt;/p&gt;

&lt;p&gt;Two details in the spec are worth calling out for anyone who runs table maintenance. Deletion vectors no longer widen stats automatically, so applying a delete does not quietly downgrade a file's metadata. And engines may re-tighten stats without rewriting data files. That opens the door to a cheap maintenance job that recomputes stats on files whose rows were partly deleted, instead of a full compaction. The spec PR is apache/iceberg#18585.&lt;/p&gt;

&lt;h3&gt;
  
  
  Table constraints arrive, and primary keys replace identifier fields
&lt;/h3&gt;

&lt;p&gt;Huaxin Gao's &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15594.html" rel="noopener noreferrer"&gt;vote to add table constraints to the v4 spec&lt;/a&gt; &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15660.html" rel="noopener noreferrer"&gt;also passed on October 27&lt;/a&gt;, with 8 +1s, 5 of them binding by Huaxin's count. Ryan Blue, Russell Spitzer, Steven Wu and Eduard Tudenhöfner marked their votes binding, and Szehon Ho also voted +1. Andrei Tserakhau, Anoop Johnson and Junwang Zhao voted non-binding.&lt;/p&gt;

&lt;p&gt;The spec adds three constraint kinds to table metadata: &lt;code&gt;check&lt;/code&gt;, &lt;code&gt;unique&lt;/code&gt; and &lt;code&gt;primary-key&lt;/code&gt;. Each one carries an &lt;code&gt;enforced&lt;/code&gt; flag, so a table can declare a constraint that the writer promises to honor without the catalog trying to police every commit. More precisely, the flag controls whether writers must verify the rows they add or modify. An unenforced constraint is still useful. It tells the optimizer and downstream tools what the data is supposed to look like, which is how many warehouses have long treated declared keys. Each snapshot also records a status for every constraint: validated, valid, invalid or unvalidated. That last part is the clever bit. It means a reader can tell whether a constraint was actually checked for the data it is about to read, rather than trusting a declaration that may have gone stale three commits ago.&lt;/p&gt;

&lt;p&gt;In v4 the primary key replaces identifier field IDs, the older mechanism used mostly for upserts and CDC. Upgraded tables get an unenforced primary key built from their identifier fields, so nothing breaks on migration. During review, Ryan raised &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15605.html" rel="noopener noreferrer"&gt;a question about type promotion&lt;/a&gt; for columns referenced by a check constraint. Huaxin's reply says his comments were addressed, so check PR #17822 for the final rule before relying on it. For practitioners, this is the change that will matter most in a year's time. Optimizers in many engines already use declared keys for join elimination and better cardinality estimates, and Iceberg tables will finally have a standard place to declare them.&lt;/p&gt;

&lt;h3&gt;
  
  
  Stats-only fields head to a vote
&lt;/h3&gt;

&lt;p&gt;Ryan Blue &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15604.html" rel="noopener noreferrer"&gt;opened a discussion on stats-only fields&lt;/a&gt; on October 22 and moved it to &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15668.html" rel="noopener noreferrer"&gt;a formal vote&lt;/a&gt; on October 27. Earlier drafts called the idea non-materialized columns. A new &lt;code&gt;stats-fields&lt;/code&gt; list assigns table field IDs to things that are not columns, such as the output of a partition transform or an expression like &lt;code&gt;to_lower_case(name)&lt;/code&gt;. Their stats can then live in &lt;code&gt;content_stats&lt;/code&gt; and drive pruning without ever appearing in the schema.&lt;/p&gt;

&lt;p&gt;Ryan explained the name change in his opening mail. "Stats-only fields" says what the feature does, while "non-materialized columns" described what it is not. He also considered unifying the idea with generated columns, such as default-value expressions, and decided against it for the same reason the group kept expressions inside check constraints. Splitting them would mean adding an expression and then a column that depends on it, and that indirection buys nothing. The spec PR is apache/iceberg#18405.&lt;/p&gt;

&lt;p&gt;Péter Váry initially wanted to tie the feature to derived or generated columns, which he revived last week. Ryan argued that keeping it out of the schema is simpler and avoids committing the spec to generated-column semantics too early. Péter &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15623.html" rel="noopener noreferrer"&gt;came around and gave his +1&lt;/a&gt;. In the vote thread, binding +1s from &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15671.html" rel="noopener noreferrer"&gt;Daniel Weeks&lt;/a&gt;, &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15672.html" rel="noopener noreferrer"&gt;Amogh Jahagirdar&lt;/a&gt; and &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15673.html" rel="noopener noreferrer"&gt;Steven Wu&lt;/a&gt; arrived quickly. Anoop Johnson and Maximilian Michels added non-binding support. The vote runs 72 hours and should close around October 30.&lt;/p&gt;

&lt;p&gt;The proposal already has a follow-up. Andrei Tserakhau &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15652.html" rel="noopener noreferrer"&gt;started a thread on collation bounds&lt;/a&gt;, which would let an engine keep separate min and max values for a case-insensitive or locale-aware ordering of a string column. Ryan &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15665.html" rel="noopener noreferrer"&gt;prefers a new type&lt;/a&gt; with standardized collation metadata over overloading stats-only fields. Either way, the pattern is clear: v4 is turning stats from a best-effort hint into a typed, declared contract.&lt;/p&gt;

&lt;h3&gt;
  
  
  The File type creates its first follow-up work
&lt;/h3&gt;

&lt;p&gt;Last week the community voted a File type into v4, letting a column hold a reference to an external object such as an image or PDF. This week the follow-ups began. Sung Yun &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15648.html" rel="noopener noreferrer"&gt;proposed a batch remote signing endpoint&lt;/a&gt; for the REST spec. His reasoning is simple. With remote signing, a client asks the catalog to sign each object request. When a table holds one Parquet file per few million rows, that is manageable. When each row can point at its own object, the number of signatures grows with rows instead of files. The design is at s.apache.org/irc-batch-signing and the PR is #18254.&lt;/p&gt;

&lt;p&gt;A related REST change passed outright. youngrae kim's &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15632.html" rel="noopener noreferrer"&gt;vote to allow "none" as an X-Iceberg-Access-Delegation value&lt;/a&gt; &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15675.html" rel="noopener noreferrer"&gt;passed with 7 +1s&lt;/a&gt;, including binding votes from Yufei Gu, Sung Yun and Eduard Tudenhöfner. A client can now tell the server it does not want any delegated credentials, for example because it already has its own storage access. This closes a long-running awkward case where a server could not satisfy a delegation request and had no clean way to say so. As the Polaris section shows, it landed just in time for Polaris to use it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Auth, CDC and correctness
&lt;/h3&gt;

&lt;p&gt;Alex Dutra brought back an idea from a Community Over Code Glasgow session on REST client auth. He &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15655.html" rel="noopener noreferrer"&gt;proposed a new BearerAuthManager&lt;/a&gt; that reads a token from a local file and simply sends it. The work on a second-generation OAuth2Manager stalled on scope creep, so the plan is to shrink that effort and separate who produces a token from who uses it. A sidecar or platform agent refreshes the file, and the Iceberg client stays out of the identity business. The Glasgow group agreed on two tracks. The first is a downscoped OAuth2Manager v2 with minimal functionality, done right and standards-compliant. The second is the BearerAuthManager, which is opinionated, lightweight and has no dependencies. Users who need in-process authentication would keep OAuth2Manager, and everyone else could switch to the file-based approach. Alex is starting with the bearer manager because it is simpler, and he promised a separate thread for the downscoped OAuth2 work. It addresses an issue that has been open for about a year (#13550).&lt;/p&gt;

&lt;p&gt;On streaming ingestion, koodin 9 &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15638.html" rel="noopener noreferrer"&gt;proposed Kafka Connect CDC writes without equality deletes&lt;/a&gt;. The sink coordinator would resolve deletes against the base snapshot into deletion vectors and commit the data and DVs together in one RowDelta. Since v4 already forbids writing new equality deletes, the sink needs some answer here. The background matters. An earlier delta writer for the sink (#14797) was never merged, mainly because equality deletes committed by a streaming sink slow down every reader until compaction runs. Flink takes a different route, converting equality deletes into deletion vectors after commit with a maintenance task that keeps a primary key index in Flink state. The new proposal does the lookup before commit with a stateless scan that prunes candidate files by partition and deleted keys. It reads only the key columns and row positions, and hides the lookup behind an interface so a real index can replace it later. For concurrency, the RowDelta validates from the base snapshot, uses the deleted keys as the conflict filter, and checks that the files the new DVs point to still exist, which catches a concurrent compaction. Andrei Tserakhau &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15647.html" rel="noopener noreferrer"&gt;asked whether the sink should do CDC at all&lt;/a&gt;, since append-only ingestion plus a Spark MERGE already works. Péter Váry &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15649.html" rel="noopener noreferrer"&gt;asked for performance testing first&lt;/a&gt; and warned that a slow resolve step could starve concurrent commits.&lt;/p&gt;

&lt;p&gt;Two correctness threads deserve attention from anyone maintaining an Iceberg implementation. Marius Grama &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15583.html" rel="noopener noreferrer"&gt;reported a silent correctness bug&lt;/a&gt;, first seen in Trino, where stats on non-key columns in equality delete files wrongly prune delete manifests. The fix in PR #18338 ignores those stats, and Péter's view is that equality deletes are being phased out anyway. Andrei also &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15585.html" rel="noopener noreferrer"&gt;found that NaN and Infinity do not round-trip&lt;/a&gt; in JSON single-value serialization. Java writes the strings "NaN" and "Infinity" but cannot read them back. iceberg-rust, PyIceberg and iceberg-cpp write null and lose the value. iceberg-go refuses to write them at all. Raghvendra Yadav backed standardizing on the strings Java already writes. It is a small bug, but five implementations disagreeing on one value is exactly the kind of drift a multi-language spec has to catch early.&lt;/p&gt;

&lt;p&gt;Yuya Ebihara's &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15573.html" rel="noopener noreferrer"&gt;HLL sketch proposal for Puffin&lt;/a&gt;, covered last week, picked up +1s from Denys Kuzmenko, Junwang Zhao, Raghvendra Yadav and Jian Chen. It would add &lt;code&gt;apache-datasketches-hll-v1&lt;/code&gt; next to Theta for distinct-value estimates. The REST OpenAPI thread from Yong Zheng also &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15570.html" rel="noopener noreferrer"&gt;drew replies&lt;/a&gt; from Alex Dutra, Péter Váry and Yufei Gu about making the spec valid OpenAPI 3.1.&lt;/p&gt;

&lt;h3&gt;
  
  
  Releases, subprojects and security
&lt;/h3&gt;

&lt;p&gt;The only release vote on the list was the Iceberg Terraform Provider. Matt Topol's &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15610.html" rel="noopener noreferrer"&gt;0.2.0 RC0&lt;/a&gt; got a full verification and +1 from Xuanwo, then a &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15625.html" rel="noopener noreferrer"&gt;-1 from Alex Stephen&lt;/a&gt; because LICENSE and NOTICE files were out of date. Matt cut &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15644.html" rel="noopener noreferrer"&gt;RC1 on October 26&lt;/a&gt;. Version 0.2.0 matters because it is the release that lets the provider be listed in the Terraform Registry, which makes managing Iceberg catalogs as infrastructure code much easier.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15640.html" rel="noopener noreferrer"&gt;Rust sync notes&lt;/a&gt;, posted by Danny Jones, say the group agreed to ship 0.11 from the current branch "ASAP" without recutting. The DataFusion Iceberg integration has moved out of the repo and will see its first release under DataFusion governance. Matt opened a v4 tracking issue, iceberg-rust#3513, and the group discussed a File Format API like the one in Java, with a Vortex proposal doc linked. The group also agreed to start a roughly three-month community roadmap modeled on DataFusion's, partly to give contributors a clear signal about which PRs are wanted. Kevin Liu &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15657.html" rel="noopener noreferrer"&gt;uploaded the recording&lt;/a&gt; to YouTube.&lt;/p&gt;

&lt;p&gt;For Python users, Orest Tokovenko &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15676.html" rel="noopener noreferrer"&gt;proposed dropping Python 3.10 from PyIceberg&lt;/a&gt;. Python 3.10 reached end of life on October 1, and PyArrow 26 ships no 3.10 wheels. The proposal sets &lt;code&gt;requires-python &amp;gt;=3.11&lt;/code&gt; and raises the PyArrow floor from 18 to 26 in one PR. If you pin old PyArrow versions in production, now is the time to plan an upgrade.&lt;/p&gt;

&lt;p&gt;Russell Spitzer also posted a &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15674.html" rel="noopener noreferrer"&gt;Confluent connector vulnerability update&lt;/a&gt;. The vulnerable 1.9.2 Kafka Connect zip on Confluent Hub was uploaded by Confluent, not built by the project, so the project will not patch that artifact. PR #15212 adds an official runtime zip instead. The only remaining scanner findings are Jackson CVEs inside Parquet's bundled copy, which ties neatly into the parquet-java 1.18.2 release discussed below.&lt;/p&gt;

&lt;h3&gt;
  
  
  Community health
&lt;/h3&gt;

&lt;p&gt;The thread most worth reading in full is Russell Spitzer's &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15654.html" rel="noopener noreferrer"&gt;Iceberg Community Health Stats&lt;/a&gt;. Russell built a dashboard at russellspitzer.com/iceberg-community-health and flagged a drop in contributors who come back for a second PR after their first, especially in the Java repo. He took the idea from Patrick McFadin's Cassandra project health dashboard, which he saw at Community Over Code. Russell said he has no prescriptions yet, only worry about the decline in "First to Second" contributors across the ecosystem. He was also open about how he built it, describing the site as "pretty viciously vibe-coded." The data and code are on GitHub, and he invited people to dig in. Jared Yu said AI-generated PRs are burying a small group of maintainers, which slows reviews for everyone, including genuine first-timers. Several people said Russell's original mail landed in spam, and Kevin Liu is chasing ASF Infra about delivery. Hongyue Zhang asked to put the dashboard on the community sync agenda. Yufei Gu and Ryan Blue also joined the discussion.&lt;/p&gt;

&lt;p&gt;On the event side, Talat Uyarer &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15658.html" rel="noopener noreferrer"&gt;finalized the Bay Area meetup agenda&lt;/a&gt; for November 2 at Google in Sunnyvale. Anurag Mantripragada &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15659.html" rel="noopener noreferrer"&gt;announced that the Iceberg and Spark sync goes monthly&lt;/a&gt; at 9 AM Pacific, starting November 11.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Polaris
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1.9.0: scope settles, the date holds for now
&lt;/h3&gt;

&lt;p&gt;Polaris 1.9.0 is still in the &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06055.html" rel="noopener noreferrer"&gt;scoping thread JB Onofré opened on October 4&lt;/a&gt;. This week Yufei Gu &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06249.html" rel="noopener noreferrer"&gt;asked to include PR #5263&lt;/a&gt; because it fixes a potential table corruption issue. Dmitri Bourlatchkov &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06250.html" rel="noopener noreferrer"&gt;added #5856 to the milestone&lt;/a&gt;. JB &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06252.html" rel="noopener noreferrer"&gt;agreed to both&lt;/a&gt; and still wants Directories in the release as a beta feature. He wrote that he wants to put the release to a vote before Halloween, even after &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06235.html" rel="noopener noreferrer"&gt;losing power and internet in a storm&lt;/a&gt; midweek. As of October 28 there was no release candidate.&lt;/p&gt;

&lt;p&gt;If Directories ship as beta, 1.9.0 will be the first Polaris release where the catalog governs raw object-store prefixes next to tables. Last week's review raised real concerns, including Ankur Kotwal's scanner bug and Tornike Gurgenidze's argument that the inventory table should be the source of truth. So the beta label will matter. Treat it as a preview to test, not a feature to put production pipelines on.&lt;/p&gt;

&lt;h3&gt;
  
  
  Storage access gets more flexible
&lt;/h3&gt;

&lt;p&gt;The busiest design area was how Polaris talks to object storage. Dmitri Bourlatchkov &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06231.html" rel="noopener noreferrer"&gt;proposed typed storage config options&lt;/a&gt; to skip credential vending on Azure and GCS. They are &lt;code&gt;AzureStorageConfigInfo.skipSasTokenGeneration&lt;/code&gt; and &lt;code&gt;GcpStorageConfigInfo.skipCredentialDownscoping&lt;/code&gt;, matching the existing AWS &lt;code&gt;stsUnavailable&lt;/code&gt; option. Ayush Saxena &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06234.html" rel="noopener noreferrer"&gt;weighed in&lt;/a&gt;, vignesh a implemented it in PR #5884, and Dmitri &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06263.html" rel="noopener noreferrer"&gt;linked it directly&lt;/a&gt; to the Iceberg "none" vote. Together they give a clean path for engines that already hold their own storage credentials, such as workloads running inside a trusted network.&lt;/p&gt;

&lt;p&gt;At the opposite end, Tommy Bollhofer &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06221.html" rel="noopener noreferrer"&gt;described a real deployment&lt;/a&gt; that needs more than credential vending can offer. His team runs Polaris against an on-prem FlashBlade whose STS supports only AssumeRoleWithWebIdentity. As a result they hand static storage keys to every engine, which defeats the point of a governed catalog. The keys go to every service in every environment: Polaris itself, Trino, Spark for table maintenance, and PyIceberg and DuckDB clients. Each new environment adds rotation work and widens the blast radius of a leaked key. Tommy also noted his client versions are mixed. Trino runs on Iceberg 1.12, Spark on the 1.10 runtime, and PyIceberg and DuckDB use their own Iceberg implementations, so client-side support for remote signing will vary. His longest jobs are Spark maintenance runs that take minutes, so he thinks remote signing could ship without token refresh support at first. His team offered to test early builds against FlashBlade and report which engines work. Alex Dutra &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06255.html" rel="noopener noreferrer"&gt;judged that enough evidence&lt;/a&gt; to restart remote signing and is preparing an experimental PR on top of the earlier work. Combined with Sung Yun's batch signing proposal in Iceberg, remote signing looks set to become a first-class option rather than a niche one.&lt;/p&gt;

&lt;p&gt;Yufei Gu also &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06232.html" rel="noopener noreferrer"&gt;changed direction on multiple storage configurations per catalog&lt;/a&gt;. After Srinivas Rishindra's &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06239.html" rel="noopener noreferrer"&gt;input&lt;/a&gt;, the group agreed to skip a transitional phase and &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06251.html" rel="noopener noreferrer"&gt;make storage configuration its own catalog-scoped entity&lt;/a&gt; with REST endpoints. The open question is how a table binds to one. Yufei prefers a table property set at create time over a "pending binding" model. Separately, Yufei &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06260.html" rel="noopener noreferrer"&gt;proposed blocking a risky config change&lt;/a&gt;: flipping &lt;code&gt;ALLOW_UNSTRUCTURED_TABLE_LOCATION&lt;/code&gt; from true to false can strand renamed tables behind 403 errors.&lt;/p&gt;

&lt;h3&gt;
  
  
  Transactions, sharing and discovery
&lt;/h3&gt;

&lt;p&gt;Qiegang Long's multi-table transaction work moved from proof of concept to design. He &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06209.html" rel="noopener noreferrer"&gt;opened umbrella issue #5833&lt;/a&gt; and &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06243.html" rel="noopener noreferrer"&gt;posted the design doc&lt;/a&gt;. Engines would get &lt;code&gt;BEGIN ... COMMIT&lt;/code&gt; across statements and tables. Writes are staged on Iceberg table branches and published with the existing multi-table commit API. The proof of concept runs Spark and Trino at READ COMMITTED and REPEATABLE READ isolation. Ankur Kotwal &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06257.html" rel="noopener noreferrer"&gt;argued for a server-side publish step&lt;/a&gt;, citing the gaps he hit while adding &lt;code&gt;commit_transactions&lt;/code&gt; to PyIceberg. His examples were concrete. PyIceberg can fast-forward a branch but cannot cherry-pick, so a Python client could not re-apply appends onto a main branch that has moved. He also found that a delete matching no rows staged nothing, so the transaction went out without its "main has not moved" check. Gaps like that are easier to close once on the server than in every client. On snapshot expiry, Ankur suggested rejecting snapshot removal while a registered read point still covers it, while keeping a 410 response for unregistered handles so routine expire jobs do not start failing. An Iceberg cross-post is coming, since any real answer has to work for every REST catalog, not just Polaris.&lt;/p&gt;

&lt;p&gt;The long-running Open Sharing design also moved. Dmitri Bourlatchkov &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06211.html" rel="noopener noreferrer"&gt;pushed for a Shares API&lt;/a&gt; that does not assume any particular authentication scheme. Dennis Huo &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06230.html" rel="noopener noreferrer"&gt;split the work into two API specs&lt;/a&gt;, one for shares and membership and one for consumers, listings and credentials. Madhan Neethiraj, who works on Apache Ranger, &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06233.html" rel="noopener noreferrer"&gt;asked how authorization would work&lt;/a&gt;. Dennis &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06240.html" rel="noopener noreferrer"&gt;answered that every layer becomes pluggable&lt;/a&gt;: what is shared, who can read it, how it is authorized and how consumers authenticate.&lt;/p&gt;

&lt;p&gt;Dennis also &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06265.html" rel="noopener noreferrer"&gt;proposed a catalog discovery endpoint&lt;/a&gt;, &lt;code&gt;GET /api/catalog/polaris/v1/catalogs&lt;/code&gt;. Today a client with only a catalog role needs to know the catalog name before it can configure itself. Polaris already has a &lt;code&gt;listCatalogs&lt;/code&gt; call, but it is a management API. It needs a root-level privilege and returns the full catalog model, including storage configuration. The new endpoint is for data-plane readers. At first it would return only catalog names, the value a client passes as the warehouse to the REST &lt;code&gt;/config&lt;/code&gt; endpoint. Dennis also tied it to the in-progress Shares API, where a consumer needs some way to discover what has been shared with it. JB &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06264.html" rel="noopener noreferrer"&gt;supported the idea&lt;/a&gt;, suggested the name &lt;code&gt;listAccessibleCatalogs&lt;/code&gt;, and set a simple rule: a catalog is listed if and only if &lt;code&gt;getConfig&lt;/code&gt; would succeed for that caller. He also asked for paging from day one. This is a small feature that would make life easier for tools and agents that connect to Polaris without being told where to look.&lt;/p&gt;

&lt;h3&gt;
  
  
  Labels, semantic models and other threads
&lt;/h3&gt;

&lt;p&gt;The IRC Labels design &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06212.html" rel="noopener noreferrer"&gt;settled on option B&lt;/a&gt;, in which Iceberg REST labels are a read-only view over Polaris tags. Dmitri &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06218.html" rel="noopener noreferrer"&gt;clarified&lt;/a&gt; that importing labels from federated catalogs happens only when sub-catalog RBAC for federated catalogs is enabled, and Andrei Tserakhau &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06222.html" rel="noopener noreferrer"&gt;agreed&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Arnab Karmakar &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06266.html" rel="noopener noreferrer"&gt;asked for review of PR #5205&lt;/a&gt;, which validates semantic models against a bundled Apache Ossie JSON Schema, version 0.2.0.dev0, with a 1 MiB size cap. It is an early sign of Ossie definitions being consumed inside a catalog, which is the whole point of a semantic interchange standard.&lt;/p&gt;

&lt;p&gt;Not every thread was about features. vignesh a &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06220.html" rel="noopener noreferrer"&gt;proposed dropping metrics reports&lt;/a&gt; instead of returning HTTP 500 when the reporter's database write fails. Yufei &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06256.html" rel="noopener noreferrer"&gt;objected&lt;/a&gt; that the Iceberg spec never says metrics are best effort, and that some deployments feed metrics into billing or auditing. He wants the question raised with Iceberg first. Harshita Joshi &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06262.html" rel="noopener noreferrer"&gt;asked for review&lt;/a&gt; of a fix for staged creates, used by DuckDB, which were dropping a catalog's default table properties. Prithvi S &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06246.html" rel="noopener noreferrer"&gt;explored opt-in table soft-delete&lt;/a&gt;, and Dmitri &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06248.html" rel="noopener noreferrer"&gt;moved to soft-roll authorization&lt;/a&gt; on &lt;code&gt;GET /v1/config&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The AI review bot thread from last week continued. Robert Stupp &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06206.html" rel="noopener noreferrer"&gt;asked which tool runs the reviews and who pays&lt;/a&gt;. Yufei &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06210.html" rel="noopener noreferrer"&gt;answered&lt;/a&gt; that the tool is his own project, can use more than one model provider, and is funded by his employer, and that ASF Infra sponsorship is being explored. Every comment will be labeled as AI-generated. vignesh a &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06207.html" rel="noopener noreferrer"&gt;worried&lt;/a&gt; that the bot misses decisions made on the list and in syncs, and that newer contributors will treat its comments as required.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Arrow
&lt;/h2&gt;

&lt;h3&gt;
  
  
  A busy release week
&lt;/h3&gt;

&lt;p&gt;ADBC Libraries 25 &lt;a href="https://www.mail-archive.com/dev@arrow.apache.org/msg35241.html" rel="noopener noreferrer"&gt;passed its vote&lt;/a&gt; with 6 binding +1s from Bryce Mecum, Curt Hagenlocher, Gang Wu, Matt Topol, Raúl Cumplido and Sutou Kouhei, plus a non-binding +1 from Xuanwo. David Li &lt;a href="https://www.mail-archive.com/dev@arrow.apache.org/msg35248.html" rel="noopener noreferrer"&gt;announced it on October 26&lt;/a&gt;. The headline is the C# core reaching 1.0.0, with C# drivers at 0.25.0. The C, C++, GLib, Go, Python and Ruby packages are at 1.13.0, and Java, R and Rust at 0.25.0. Bryce worked with Dewey to get three R packages, adbcdrivermanager, adbcpostgresql and adbcsqlite, accepted on CRAN. npm publishing still needs rework.&lt;/p&gt;

&lt;p&gt;On the Rust side, Jeffrey Vo ran votes that delivered patch releases on three older lines: &lt;a href="https://www.mail-archive.com/dev@arrow.apache.org/msg35242.html" rel="noopener noreferrer"&gt;57.3.2, 58.4.1 and 59.3.2&lt;/a&gt;, each passing with 3 binding +1s. That completes the multi-branch backport plan Andrew Lamb announced last week. Jeffrey also ran a vote on &lt;a href="https://www.mail-archive.com/dev@arrow.apache.org/msg35253.html" rel="noopener noreferrer"&gt;60.1.0&lt;/a&gt;, a minor release on the newest line, which passed on October 28 with binding votes from Jeffrey, Andrew Lamb and L. C. Hsieh. Xuanwo found that the release audit script fails on a missing license header in &lt;code&gt;.config/nextest.toml&lt;/code&gt;, which Jeffrey &lt;a href="https://www.mail-archive.com/dev@arrow.apache.org/msg35245.html" rel="noopener noreferrer"&gt;will fix next release&lt;/a&gt;. Matt Butrovich tested arrow-pyarrow on Python 3.15 using PyO3's forward compatibility flag.&lt;/p&gt;

&lt;p&gt;Arrow Java 20.0.0, which JB flagged as imminent last week, saw no vote. No list message explains the delay. On GitHub, a release-candidate CI job for macOS on ARM has been failing since a bundled protobuf upgrade, and a fix PR is open. That is the likely cause, but it is an inference, not a statement from the project.&lt;/p&gt;

&lt;h3&gt;
  
  
  Funding for PyArrow
&lt;/h3&gt;

&lt;p&gt;Alenka Frim &lt;a href="https://www.mail-archive.com/dev@arrow.apache.org/msg35254.html" rel="noopener noreferrer"&gt;announced that the Sovereign Tech Fund is investing in PyArrow&lt;/a&gt;. Germany's Sovereign Tech Agency will fund about 1.9 full-time roles for the rest of 2026 and all of 2027. The applicants were Alenka Frim, Nic Crane, Rok Mihevc and Tadeja Kadunc. The money covers PyArrow type annotations, the long-standing bug backlog, documentation, extension type support and tooling to help maintainers handle agentic PRs. Alenka said the contract funds work that has stalled and is unlikely to attract regular corporate sponsors. Alenka, Rok and Tadeja have already started on type annotations, building on work Rok has invested in for a long time. Nic is working through bug reports that have sat open for years. In 2027 Alenka plans to research building the full documentation without PyArrow installed, then improve the Python User Guide, API examples and Cookbook. Tadeja will focus on extension types and related compute kernels. Open Source Collective is fiscal host, on behalf of Arctos Alliance. Curt Hagenlocher, Antoine Pitrou and Raúl Cumplido replied with congratulations. For a library that sits under pandas and much of the Python data stack, paid maintenance time is good news for everyone downstream.&lt;/p&gt;

&lt;h3&gt;
  
  
  AI contributions and CI pressure
&lt;/h3&gt;

&lt;p&gt;The AI contributions thread picked up again. Raúl Cumplido &lt;a href="https://www.mail-archive.com/dev@arrow.apache.org/msg35246.html" rel="noopener noreferrer"&gt;opened a PR&lt;/a&gt; to write down reviewer guidance. Nic Crane &lt;a href="https://www.mail-archive.com/dev@arrow.apache.org/msg35249.html" rel="noopener noreferrer"&gt;posted an impact report&lt;/a&gt; that found about a third of recent PRs skip AI disclosure. His seven recommendations include moving the PR cap into &lt;code&gt;.asf.yaml&lt;/code&gt; before November, mandatory disclosure, and a bot that converts non-disclosing PRs to drafts. He also suggested giving active non-committer reviewers the collaborator role so they can help triage. Raúl &lt;a href="https://www.mail-archive.com/dev@arrow.apache.org/msg35255.html" rel="noopener noreferrer"&gt;pointed to CPython's new AI triage labels&lt;/a&gt; as a model.&lt;/p&gt;

&lt;p&gt;Nic's report is worth reading in full because its diagnosis applies well beyond Arrow. He named three problems. Maintainers spend time reviewing PRs that are later abandoned, or that need more rounds of feedback because they were mostly AI-generated. Maintainers also spend time enforcing AI rules, while non-committer reviewers have little power to flag problem PRs. And the volume itself keeps growing. His other recommendations include adopting a rule against AI-written review replies and auto-drafting PRs that sit idle for 14 days with conflicts, failing CI or requested changes. He also suggested gating PR opening on triage state, as pandas does, and tracking monthly how many new-contributor PRs get no human response. He singled out growing the merge group from people already triaging as the only measure that adds capacity rather than cutting inflow. Nic noted, with some irony, that he used AI to help analyze the data.&lt;/p&gt;

&lt;p&gt;Jarek Potiuk &lt;a href="https://www.mail-archive.com/dev@arrow.apache.org/msg35214.html" rel="noopener noreferrer"&gt;opened the most heated thread of the week&lt;/a&gt; on making Arrow's GitHub Actions CI lighter. Using an Apache Magpie workflow-optimization skill, he estimated Arrow used 110,000 to 125,000 runner minutes the previous week, with Linux packaging about 40 percent of that. He suggested 30 to 40 percent savings, partly by running extra workflows nightly instead of per PR. He also noted that &lt;code&gt;pull_request_target&lt;/code&gt; is being disabled for ASF repos in November. That change affects three Arrow workflows, including the PR limit bot. Jarek suggested replacing the bot with the &lt;code&gt;.asf.yaml&lt;/code&gt; &lt;code&gt;creation_cap&lt;/code&gt; setting, which enforces the same limit of three open PRs per contributor with no workflow at all. He also spotted that nightly failure reports had been silent since October 21. The report job installs the latest Python 3, now 3.15, and a dependency has no 3.15 wheel yet, so the job fails before sending email. Pinning Python 3.13 fixes it. Benson Muite suggested Fedora's Packit for RPM builds. Raúl disputed one of Jarek's findings, saying nightly reports do work. Andrew Lamb reported 3 to 7 hour CI queue waits for arrow-rs and DataFusion contributors, and his numbers showed Airflow using far more shared runner time than the Arrow repos. The exchange got sharp before Jarek apologized on October 27. The underlying issue is real: the ASF's shared runner pool is now a bottleneck that contributors feel directly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Flight SQL and community
&lt;/h3&gt;

&lt;p&gt;Tornike Gurgenidze's Flight SQL proposal to advertise a server's Substrait dialect continued. Curt Hagenlocher &lt;a href="https://www.mail-archive.com/dev@arrow.apache.org/msg35212.html" rel="noopener noreferrer"&gt;asked whether clients could negotiate a dialect version&lt;/a&gt;. Tornike &lt;a href="https://www.mail-archive.com/dev@arrow.apache.org/msg35226.html" rel="noopener noreferrer"&gt;replied&lt;/a&gt; that &lt;code&gt;GetSqlInfo&lt;/code&gt; cannot take parameters, so negotiation would need a new RPC. He argued the existing minimum and maximum Substrait version codes are enough for now. Ian Cook &lt;a href="https://www.mail-archive.com/dev@arrow.apache.org/msg35213.html" rel="noopener noreferrer"&gt;posted logistics&lt;/a&gt; for the October 21 community meeting.&lt;/p&gt;

&lt;p&gt;One housekeeping note: mail-archive.com is missing several Arrow messages from this week, including the 60.1.0 vote opener and some of Andrew Lamb's replies. JB reported on the Ossie list that some ASF list mail was not being delivered and that Infra was working on it, which likely explains the gaps.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Parquet
&lt;/h2&gt;

&lt;h3&gt;
  
  
  parquet-java 1.18.2 becomes the release to watch
&lt;/h3&gt;

&lt;p&gt;Manu Zhang &lt;a href="https://www.mail-archive.com/dev@parquet.apache.org/msg28158.html" rel="noopener noreferrer"&gt;proposed a parquet-java 1.18.2 patch release&lt;/a&gt; on October 26. The 1.18.x branch already carries several fixes. They stop writers from flushing incomplete files after a failure and fix a dictionary lookup collision between dotted field names and nested paths. They also correct Bloom filter column path handling, release row-group buffers properly and fix protobuf handling of empty and recursive messages. The release also bumps Jackson to 2.22.3 to clear CVEs. Steve Loughran &lt;a href="https://www.mail-archive.com/dev@parquet.apache.org/msg28159.html" rel="noopener noreferrer"&gt;asked to include&lt;/a&gt; master's Thrift and Snappy upgrades, Fokko Driesprong &lt;a href="https://www.mail-archive.com/dev@parquet.apache.org/msg28162.html" rel="noopener noreferrer"&gt;backed the release&lt;/a&gt;, and Manu opened backport PRs. Divjot Arora also replied in support.&lt;/p&gt;

&lt;p&gt;This matters beyond Parquet. The Jackson CVEs inside Parquet's bundled copy are the last scanner findings blocking a clean Iceberg Kafka Connect runtime, as Russell Spitzer noted on the Iceberg list. Meanwhile the 1.19.0 release candidates have sat unreleased since September, so 1.18.2 is the realistic near-term upgrade for Java users.&lt;/p&gt;

&lt;h3&gt;
  
  
  The vector debate goes another round
&lt;/h3&gt;

&lt;p&gt;The numeric vector thread, started by Rok Mihevc in September, kept going. Jan Finis &lt;a href="https://www.mail-archive.com/dev@parquet.apache.org/msg28150.html" rel="noopener noreferrer"&gt;proposed an alternative&lt;/a&gt;: put finiteness on float elements and an optional fixed size on LIST, rather than adding a new FINITE_VECTOR type. He argued that design stays forward compatible, while a new union member would make older engines reject the column. Ryan Blue &lt;a href="https://www.mail-archive.com/dev@parquet.apache.org/msg28157.html" rel="noopener noreferrer"&gt;held to FINITE_VECTOR&lt;/a&gt;. He floated allowing both LIST and FINITE_VECTOR annotations on the same column, and argued that types carry guarantees, as UTF-8 does for strings. Finiteness lets readers skip per-element checks and catches bad data at write time.&lt;/p&gt;

&lt;p&gt;Curt Hagenlocher &lt;a href="https://www.mail-archive.com/dev@parquet.apache.org/msg28152.html" rel="noopener noreferrer"&gt;pointed out&lt;/a&gt; that SQL Server, MySQL and SAP ASE already reject non-finite floats. Will Edwards &lt;a href="https://www.mail-archive.com/dev@parquet.apache.org/msg28154.html" rel="noopener noreferrer"&gt;suggested putting VECTOR on hold&lt;/a&gt; until there is a broader proposal for ML tensors and sparse or quantized data. He warned that writers that do not know VECTOR will rewrite files as plain lists, and repeated that Iceberg may be the better home for finiteness. Fokko Driesprong &lt;a href="https://www.mail-archive.com/dev@parquet.apache.org/msg28156.html" rel="noopener noreferrer"&gt;said the group is "running in circles,"&lt;/a&gt; while noting people are willing to do the work and that Parquet should be self-contained. Rok's format PR #624 is still open. For anyone storing embeddings in Parquet today, nothing changes yet, but the decision will shape how Iceberg's own vector type is defined.&lt;/p&gt;

&lt;h3&gt;
  
  
  Precise definitions and safer readers
&lt;/h3&gt;

&lt;p&gt;Andrew Bell &lt;a href="https://www.mail-archive.com/dev@parquet.apache.org/msg28148.html" rel="noopener noreferrer"&gt;asked a deceptively simple question&lt;/a&gt; about the difference between &lt;code&gt;num_values&lt;/code&gt; and &lt;code&gt;num_rows&lt;/code&gt; in DataPageHeaderV2. Adam Reeve &lt;a href="https://www.mail-archive.com/dev@parquet.apache.org/msg28149.html" rel="noopener noreferrer"&gt;explained&lt;/a&gt; that &lt;code&gt;num_values&lt;/code&gt; counts leaf-level values including nulls, &lt;code&gt;num_rows&lt;/code&gt; counts logical rows, and V2 pages never split a row. Antoine Pitrou &lt;a href="https://www.mail-archive.com/dev@parquet.apache.org/msg28155.html" rel="noopener noreferrer"&gt;went further&lt;/a&gt;. He noted that the null-count fields are ambiguous at nesting levels deeper than one and proposed precise definitions, in which &lt;code&gt;num_values&lt;/code&gt; really counts levels. This could become a spec clarification, which would help every implementer who has had to reverse-engineer the answer from parquet-java.&lt;/p&gt;

&lt;p&gt;Antoine also continued his fuzzing thread. Steve Loughran &lt;a href="https://www.mail-archive.com/dev@parquet.apache.org/msg28160.html" rel="noopener noreferrer"&gt;asked which code areas fuzzing hits most&lt;/a&gt;, and Antoine &lt;a href="https://www.mail-archive.com/dev@parquet.apache.org/msg28161.html" rel="noopener noreferrer"&gt;named three bug classes&lt;/a&gt;: unvalidated metadata such as negative lengths or invalid enums, memory allocations sized from metadata instead of actual file size, and unchecked integer overflow in arithmetic on metadata values. It is a useful checklist for anyone writing or auditing a Parquet reader. His Community Over Code Glasgow talk is linked in the thread. Julien Le Dem &lt;a href="https://www.mail-archive.com/dev@parquet.apache.org/msg28147.html" rel="noopener noreferrer"&gt;posted the October 21 sync logistics&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Ossie
&lt;/h2&gt;

&lt;h3&gt;
  
  
  First release prep and a new committer
&lt;/h3&gt;

&lt;p&gt;The incubating semantic interchange project took two steps toward maturity. Josh Klahr &lt;a href="https://lists.apache.org/thread/m56ofoo4b7k2199xt0yzmgnmo9kn5c7c" rel="noopener noreferrer"&gt;announced Yufei Gu as a new committer&lt;/a&gt;, with congratulations from Russell Spitzer, Dmitri Bourlatchkov, Chris Eubank, Ayush Saxena and others. Yufei's Polaris background is useful here, since Polaris is already validating semantic models against Ossie's schema. After &lt;a href="https://lists.apache.org/thread/j7dyl0o8qch8tnyj5o4spd1qrjlx7dtv" rel="noopener noreferrer"&gt;the converters moved to their own repository&lt;/a&gt;, JB Onofré &lt;a href="https://lists.apache.org/thread/nqnnzw42f1f4t35gqd1pxo69b7rpx39p" rel="noopener noreferrer"&gt;started the release-prep PRs&lt;/a&gt; for the first core release: version properties, source release, distribution and Maven publication. No vote has been called yet.&lt;/p&gt;

&lt;h3&gt;
  
  
  The spec takes shape
&lt;/h3&gt;

&lt;p&gt;Chris Eubank put the &lt;a href="https://lists.apache.org/thread/sgjxp8y8kym63ydc4mmmw6zsnorskxbo" rel="noopener noreferrer"&gt;Wide Table Query Interface&lt;/a&gt; under lazy consensus through November 4. A Layer 3 query names dimensions, metrics and a filter, and the engine lowers it to Layer 2 using &lt;code&gt;AGG()&lt;/code&gt;. Justin Talbot &lt;a href="https://lists.apache.org/thread/r3mphx5o1n5xs1h7q5cw15p5hb1hcfm6" rel="noopener noreferrer"&gt;proposed reserving AGG()&lt;/a&gt; for evaluating measures and letting dataset-scoped metrics reference source columns directly. Together these define how a BI tool or AI agent asks for "revenue by region last quarter" without writing SQL against physical tables.&lt;/p&gt;

&lt;p&gt;John DaCosta &lt;a href="https://lists.apache.org/thread/zkxh5k42l39bg0clj6mff2mb1h12ml5o" rel="noopener noreferrer"&gt;asked what Dataset.source should guarantee&lt;/a&gt;. Chris said the group agrees on a source discriminator, table, query or file, with connection details kept in vendor extensions. He framed the core goal as sharing semantics across tools while querying data where it already lives. A real ERP export then started a &lt;a href="https://lists.apache.org/thread/gjyf0ktfbcsks404jp6ojg0klr3fm39f" rel="noopener noreferrer"&gt;debate over which time field slices a metric&lt;/a&gt;, after a 14 versus 15 mismatch traced back to that choice. Julian Hyde argued the time hint belongs on the dataset, not the metric, except for semi-additive measures like balances.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://lists.apache.org/thread/vmgv5ffryw70wxbvtwnohhhz2zzx0ocf" rel="noopener noreferrer"&gt;expression portability work&lt;/a&gt; continued too. Richard SG Kim migrated 176 expressions to the portable form and found it 22 to 27 percent shorter. Chris told contributors that the ClickHouse and Trino dialect PRs only need a rebase, since adding a dialect is no longer a core spec change. Johannes Zemlin &lt;a href="https://lists.apache.org/thread/s5x6lo5gvxhyowb4pcohtplnly5rmgtm" rel="noopener noreferrer"&gt;shared an initial ANTLR4 grammar&lt;/a&gt; for Ossie expressions, and Ayush Saxena &lt;a href="https://lists.apache.org/thread/c2gf1l279l0y0qn69hhz5k84t46d9hth" rel="noopener noreferrer"&gt;fixed NOT-operator precedence&lt;/a&gt;. Ossie has no mail-archive.com mirror, so these links go to lists.apache.org.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cross-Project Themes
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Metadata you can trust
&lt;/h3&gt;

&lt;p&gt;Look at the week's spec decisions side by side and they share one goal. Iceberg's tight_stats flag says the counts are exact. Table constraints say whether a key was actually validated for this snapshot. Stats-only fields give expression stats a declared identity. Parquet's FINITE_VECTOR debate is about whether a type should guarantee its contents. Antoine's null-count definitions would make a page header mean one thing in every reader. In each case, the project is turning metadata that is "probably right" into metadata that is guaranteed.&lt;/p&gt;

&lt;p&gt;That shift matters most for automated consumers. A human analyst can sanity-check a suspicious number. A query planner skipping files, or an AI agent answering a question from metadata, cannot. The more of the lakehouse that carries guaranteed facts, the more work engines and agents can skip safely, and the cheaper and faster the whole stack gets. Ossie's spec work fits the same pattern one layer up, where semantic definitions become portable contracts rather than tool-specific settings.&lt;/p&gt;

&lt;h3&gt;
  
  
  Storage access is being rethought from both ends
&lt;/h3&gt;

&lt;p&gt;Iceberg's "none" delegation value and Polaris's skip-vending options cover clients that already have storage access. Remote signing in Polaris and batch signing in Iceberg cover the opposite case, where clients should never hold storage credentials at all. The File type is forcing the question, because a column of object references multiplies the number of storage requests. Expect the REST spec and Polaris to keep moving together here.&lt;/p&gt;

&lt;h3&gt;
  
  
  Maintainers under pressure
&lt;/h3&gt;

&lt;p&gt;The most important theme was not a spec. Russell Spitzer's dashboard shows fewer returning contributors in Iceberg Java. The Iceberg Rust group wants a roadmap partly to manage AI-generated PRs. Nic Crane found a third of Arrow PRs skip AI disclosure. Polaris is trialing an AI reviewer while contributors worry about its blind spots. Arrow's CI thread shows the shared ASF runner pool is a real bottleneck, and the Sovereign Tech Fund grant explicitly pays for tooling to handle agentic PRs.&lt;/p&gt;

&lt;p&gt;Contributions are getting cheaper to produce, while review time and CI minutes are not. These projects are building the open infrastructure that AI agents will read from, and they are also among the first communities to feel what agents do to open source maintenance. Expect disclosure rules, PR caps and funded maintainer time to spread across ASF data projects quickly. If you contribute to any of them, disclose AI assistance and keep PRs small. It is the easiest way to keep your work out of the triage pile.&lt;/p&gt;

&lt;h2&gt;
  
  
  Looking Ahead
&lt;/h2&gt;

&lt;p&gt;Watch for the stats-only fields vote result around October 30 and a Polaris 1.9.0 vote by October 31, including whether Directories ship as beta. A parquet-java 1.18.2 vote, the iceberg-rust 0.11 release, binding votes on the Iceberg Terraform Provider 0.2.0 RC1 and Arrow Java 20.0.0 are all possible in the next two weeks. Ossie's Wide Table lazy consensus closes November 4, and its first core release vote could follow. The Iceberg Bay Area meetup runs November 2 in Sunnyvale, and the monthly Iceberg and Spark sync starts November 11.&lt;/p&gt;




&lt;h2&gt;
  
  
  Resources &amp;amp; Further Learning
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Get Started with Dremio&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.dremio.com/get-started?utm_source=ev_external_blog&amp;amp;utm_medium=influencer&amp;amp;utm_campaign=pag&amp;amp;utm_term=apache-newsletter-2026-10-28&amp;amp;utm_content=alexmerced" rel="noopener noreferrer"&gt;Try Dremio Free&lt;/a&gt;: Build your lakehouse on Iceberg with a free trial&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.dremio.com/use-cases/lake-to-iceberg-lakehouse/?utm_source=ev_external_blog&amp;amp;utm_medium=influencer&amp;amp;utm_campaign=pag&amp;amp;utm_term=apache-newsletter-2026-10-28&amp;amp;utm_content=alexmerced" rel="noopener noreferrer"&gt;Build a Lakehouse with Iceberg, Parquet, Polaris &amp;amp; Arrow&lt;/a&gt;: Learn how Dremio brings the open lakehouse stack together&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Free Downloads&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://hello.dremio.com/wp-apache-iceberg-the-definitive-guide-reg.html" rel="noopener noreferrer"&gt;Apache Iceberg: The Definitive Guide&lt;/a&gt;: O'Reilly book, free download&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://hello.dremio.com/wp-apache-polaris-guide-reg.html" rel="noopener noreferrer"&gt;Apache Polaris: The Definitive Guide&lt;/a&gt;: O'Reilly book, free download&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Books by Alex Merced&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.amazon.com/Architecting-Apache-Iceberg-Lakehouse-open-source/dp/1633435105/ref=sr_1_5?crid=1304S78BQAP6U&amp;amp;dib=eyJ2IjoiMSJ9.7Z17wXFJVWtv1gDIVF5-z5NwgT7B-vj9kEQuLkAKtLh00KncwXYc4bQ6hyydwcMHXbJOlFCSO7-2JmKTC5KCV-q2XEdeq7kBBmicVzI6tlDtqPqAgE6RHJE_XZ_n-zxxAjRHE2THP0J4DEgzDmiXrF9bdkEFyaruSUW28Ryx0zYyI_NuD5vZ4HYqQv3u5hzBVjjOlxyRYSTIsRSeVIoJC2XvjrXdNFvQ9jm4Kr1xFOw.yog4MgCdYecbJT0bAcGXNJJvZbvD4F_TP0lDbPA1xGI&amp;amp;dib_tag=se&amp;amp;keywords=alex+merced&amp;amp;qid=1773236747&amp;amp;sprefix=alex+mer%2Caps%2C570&amp;amp;sr=8-5" rel="noopener noreferrer"&gt;Architecting an Apache Iceberg Lakehouse&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.com/Enabling-Agentic-Analytics-Apache-Iceberg-ebook/dp/B0GQXT6W3N/ref=sr_1_7?crid=1304S78BQAP6U&amp;amp;dib=eyJ2IjoiMSJ9.7Z17wXFJVWtv1gDIVF5-z5NwgT7B-vj9kEQuLkAKtLh00KncwXYc4bQ6hyydwcMHXbJOlFCSO7-2JmKTC5KCV-q2XEdeq7kBBmicVzI6tlDtqPqAgE6RHJE_XZ_n-zxxAjRHE2THP0J4DEgzDmiXrF9bdkEFyaruSUW28Ryx0zYyI_NuD5vZ4HYqQv3u5hzBVjjOlxyRYSTIsRSeVIoJC2XvjrXdNFvQ9jm4Kr1xFOw.yog4MgCdYecbJT0bAcGXNJJvZbvD4F_DP0lDbPA1xGI&amp;amp;dib_tag=se&amp;amp;keywords=alex+merced&amp;amp;qid=1773236747&amp;amp;sprefix=alex+mer%2Caps%2C570&amp;amp;sr=8-7" rel="noopener noreferrer"&gt;Enabling Agentic Analytics with Apache Iceberg and Dremio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.com/Lakehouses-Apache-Iceberg-Agentic-Hands/dp/B0GQNY21TD/ref=sr_1_9?crid=1304S78BQAP6U&amp;amp;dib=eyJ2IjoiMSJ9.7Z17wXFJVWtv1gDIVF5-z5NwgT7B-vj9kEQuLkAKtLh00KncwXYc4bQ6hyydwcMHXbJOlFCSO7-2JmKTC5KCV-q2XEdeq7kBBmicVzI6tlDtqPqAgE6RHJE_XZ_n-zxxAjRHE2THP0J4DEgzDmiXrF9bdkEFyaruSUW28Ryx0zYyI_NuD5vZ4HYqQv3u5hzBVjjOlxyRYSTIsRSeVIoJC2XvjrXdNFvQ9jm4Kr1xFOw.yog4MgCdYecbJT0bAcGXNJJvZbvD4F_DP0lDbPA1xGI&amp;amp;dib_tag=se&amp;amp;keywords=alex+merced&amp;amp;qid=1773236747&amp;amp;sprefix=alex+mer%2Caps%2C570&amp;amp;sr=8-9" rel="noopener noreferrer"&gt;The 2026 Guide to Lakehouses, Apache Iceberg and Agentic AI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.com/Book-Using-Apache-Iceberg-Python/dp/B0GNZ454FF/ref=sr_1_16?crid=1304S78BQAP6U&amp;amp;dib=eyJ2IjoiMSJ9.7Z17wXFJVWtv1gDIVF5-z5NwgT7B-vj9kEQuLkAKtLh00KncwXYc4bQ6hyydwcMHXbJOlFCSO7-2JmKTC5KCV-q2XEdeq7kBBmicVzI6tlDtqPqAgE6RHJE_XZ_n-zxxAjRHE2THP0J4DEgzDmiXrF9bdkEFyaruSUW28Ryx0zYyI_NuD5vZ4HYqQv3u5hzBVjjOlxyRYSTIsRSeVIoJC2XvjrXdNFvQ9jm4Kr1xFOw.yog4MgCdYecbJT0bAcGXNJJvZbvD4F_DP0lDbPA1xGI&amp;amp;dib_tag=se&amp;amp;keywords=alex+merced&amp;amp;qid=1773236747&amp;amp;sprefix=alex+mer%2Caps%2C570&amp;amp;sr=8-16" rel="noopener noreferrer"&gt;The Book on Using Apache Iceberg with Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>bigdata</category>
      <category>data</category>
      <category>database</category>
      <category>opensource</category>
    </item>
    <item>
      <title>AI Weekly: GPT-6.1 Terra, Agent Skills and Anthropic's S-1</title>
      <dc:creator>Alex Merced</dc:creator>
      <pubDate>Wed, 28 Oct 2026 14:01:55 +0000</pubDate>
      <link>https://dev.to/alexmercedcoder/ai-weekly-gpt-61-terra-agent-skills-and-anthropics-s-1-16k5</link>
      <guid>https://dev.to/alexmercedcoder/ai-weekly-gpt-61-terra-agent-skills-and-anthropics-s-1-16k5</guid>
      <description>&lt;p&gt;&lt;strong&gt;Week of October 21-28, 2026&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;OpenAI shipped a cheaper mid-tier model built for computer use. Anthropic handed Agent Skills to a neutral foundation and then filed to go public. Its S-1 put real numbers on what frontier AI costs to run.&lt;/p&gt;

&lt;p&gt;Coding agents also kept moving approval decisions from people to classifiers. Here is what changed, what it costs and what you need to do about it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Models: GPT-6.1 Terra Cuts the Mid-Tier Price in Half
&lt;/h2&gt;

&lt;p&gt;This was a mid-tier week, not a flagship week. OpenAI released GPT-6.1 Terra, Moonshot shipped Kimi K3.1 Pro, and MiniMax posted open weights. Anthropic released no new public model. It did describe an unreleased research model that built working exploit chains, and it launched an agent app on top of Opus 5.5.&lt;/p&gt;

&lt;h3&gt;
  
  
  OpenAI GPT-6.1 Terra (October 26)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://community.openai.com/t/gpt-6-1-terra-delivering-fast-and-capable-computer-use-at-a-lower-price/1409900" rel="noopener noreferrer"&gt;OpenAI released GPT-6.1 Terra&lt;/a&gt; on October 26. The API model ID is &lt;code&gt;gpt-6.1-terra&lt;/code&gt;, and it is the only snapshot so far. OpenAI pitches it for visual reasoning, computer use and clear writing. It sits between GPT-6 Luna below and GPT-6.1 Sol and GPT-6 Astra above.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://developers.openai.com/api/docs/models/gpt-6.1-terra" rel="noopener noreferrer"&gt;model card&lt;/a&gt; lists these specs:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Context window:&lt;/strong&gt; 1,050,000 tokens, with a max input of 922,000 tokens&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Max output:&lt;/strong&gt; 128,000 tokens&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Knowledge cutoff:&lt;/strong&gt; June 1, 2026&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Input:&lt;/strong&gt; text and image. &lt;strong&gt;Output:&lt;/strong&gt; text only&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reasoning effort:&lt;/strong&gt; none, low, medium (default), high, xhigh and max&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Endpoints:&lt;/strong&gt; Chat Completions, Responses and Batch. Tool calling needs the Responses API&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pricing is the headline. Standard rates are $1 per million input tokens and $5 per million output tokens. Cached input costs $0.05 per million, and cache writes with 30-minute retention cost $1.25 per million. OpenAI says that is 50% below GPT-5.6 Terra and one-tenth the per-token price of GPT-6 Astra.&lt;/p&gt;

&lt;p&gt;Read the fine print on long prompts. Prompts over 272,000 input tokens cost 2x on input and cache rates and 1.5x on output. Batch and Flex run 50% below Standard. Regional processing adds 10%, and fast mode costs 2x Standard.&lt;/p&gt;

&lt;p&gt;The benchmark numbers all come from OpenAI, so treat them as vendor-reported. &lt;a href="https://decrypt.co/381883/openai-launches-gpt-6-1-terra-half-good-half-price" rel="noopener noreferrer"&gt;Decrypt reports&lt;/a&gt; that Terra solved 50.3% of Terminal-Bench 4.0 tasks at max effort, up from 21.5% for GPT-5.6 Terra. On an internal test of prompts built to trick models, the factual error rate at low effort fell from 53.6% to 16.7%. At max effort the error rate dropped to 4.3%. OpenAI also says Terra matches GPT-6 Astra on Agents' Last Exam and finishes tasks more than 3x faster than Astra and Sol on average. OpenAI posted no numeric score for that Agents' Last Exam claim.&lt;/p&gt;

&lt;p&gt;Terra is live in ChatGPT Work and Codex for Plus, Pro, Business, Enterprise and Edu users, per the &lt;a href="https://learn.chatgpt.com/docs/changelog" rel="noopener noreferrer"&gt;Codex changelog&lt;/a&gt;. It is not available in Chat, and it does not support UAE inference residency. &lt;a href="https://github.blog/changelog/2026-10-26-gpt-6-1-terra-in-github-copilot" rel="noopener noreferrer"&gt;GitHub added Terra to Copilot&lt;/a&gt; the same day.&lt;/p&gt;

&lt;p&gt;One practical detail came from the developer forum, not OpenAI. A user reports that &lt;code&gt;reasoning.effort: "none"&lt;/code&gt; on Terra accepts &lt;code&gt;temperature&lt;/code&gt; and &lt;code&gt;top_p&lt;/code&gt;, which GPT-6.1 Sol blocked. That is unconfirmed, so test it before you rely on it.&lt;/p&gt;

&lt;p&gt;What does Terra change? It makes computer-use agents cheaper to run at volume. A model that reads screens and fills forms at $1 in and $5 out lets you put an agent on back-office work that did not pencil out at Sol prices. OpenAI itself still points heavy research and complex coding to Sol or Astra.&lt;/p&gt;

&lt;h3&gt;
  
  
  Moonshot Kimi K3.1 Pro (October 23)
&lt;/h3&gt;

&lt;p&gt;Moonshot released Kimi K3.1 Pro on October 23. The &lt;a href="https://platform.kimi.ai/docs/guide/kimi-k3-1-pro-quickstart" rel="noopener noreferrer"&gt;quickstart guide&lt;/a&gt; lists two model IDs: &lt;code&gt;kimi-k3.1-pro&lt;/code&gt; and &lt;code&gt;kimi-k3.1-pro-highspeed&lt;/code&gt;. Moonshot says the highspeed variant runs 2-3x faster. Context is 1M tokens. Output defaults to 131,072 tokens and can go as high as 1,048,576.&lt;/p&gt;

&lt;p&gt;Reasoning is always on. You pick &lt;code&gt;low&lt;/code&gt;, &lt;code&gt;high&lt;/code&gt; or &lt;code&gt;max&lt;/code&gt; through a top-level &lt;code&gt;reasoning_effort&lt;/code&gt; field, and &lt;code&gt;max&lt;/code&gt; is the default. You cannot turn thinking off. The model takes image and video input and supports tool calling and strict JSON Schema output.&lt;/p&gt;

&lt;p&gt;Moonshot's guide says pricing is flat, with no tiering by context length. Its pricing page did not render the K3 table when we checked. &lt;a href="https://simonwillison.net/2026/Oct/23/kimi-k31-pro/" rel="noopener noreferrer"&gt;Simon Willison reported&lt;/a&gt; $2 per million input tokens and $10 per million output tokens. Confirm those numbers in the Kimi console before you budget against them.&lt;/p&gt;

&lt;p&gt;The benchmark story is messy. On launch week, Moonshot's own quickstart still showed placeholder values ("xx.x%") for Terminal-Bench 4.0 and Terminal-Bench-Science. The one hard number in the guide is a finance hallucination test. Moonshot says its claim-level hallucination rate fell from 23.35% on K3 to 6.85% on K3.1 Pro. That figure is vendor-reported, and Moonshot calls the test a stress test, not a general error rate.&lt;/p&gt;

&lt;p&gt;Secondary coverage cites a Moonshot figure of 65.7% on Terminal-Bench 4.0, against 66.4% for Claude Opus 5.5. We did not find that number on a Moonshot page, so treat it as unverified. Press reports also put K3.1 Pro at 55 on the Artificial Analysis Intelligence Index.&lt;/p&gt;

&lt;p&gt;Moonshot says full weights will ship by November 4. It has not named a license. If you plan to self-host, wait for the license file before you commit.&lt;/p&gt;

&lt;h3&gt;
  
  
  MiniMax M3.1 Flash Weights Go Public (October 23)
&lt;/h3&gt;

&lt;p&gt;Last week we noted that MiniMax promised weights for M3.1 Flash. They landed. The repo &lt;a href="https://huggingface.co/MiniMaxAI/MiniMax-M3.1-Flash" rel="noopener noreferrer"&gt;&lt;code&gt;MiniMaxAI/MiniMax-M3.1-Flash&lt;/code&gt;&lt;/a&gt; is public and ungated on Hugging Face. Coverage puts the model at 428 billion total parameters with 23 billion active per token, a 1M context and text, image and video input. Hugging Face lists about 220 billion stored parameters in the safetensors files, so check the model card for how MiniMax counts.&lt;/p&gt;

&lt;p&gt;The license is not Apache or MIT. Hugging Face tags it as "other." Coverage describes a community license that requires written permission from MiniMax for products above $20 million in yearly revenue. One write-up also says commercial products must display "Built with MiniMax M3.1-Flash." Read the license file in the repo before you ship anything on it. MiniMax recommends SGLang, vLLM and TokenSpeed for serving.&lt;/p&gt;

&lt;h3&gt;
  
  
  Anthropic: Duet, Google Cloud and an Unreleased Cyber Model
&lt;/h3&gt;

&lt;p&gt;Anthropic shipped no new public model this week. It did three things that matter for model users.&lt;/p&gt;

&lt;p&gt;First, &lt;a href="https://claude.com/resources/articles/claude-duet" rel="noopener noreferrer"&gt;Anthropic introduced Claude Duet&lt;/a&gt; on October 21. Duet is a proactive agent app built on Claude Opus 5.5. We cover it in the Tooling section below.&lt;/p&gt;

&lt;p&gt;Second, &lt;a href="https://claude.com/resources/articles/claude-models-on-google-cloud-anthropic-managed" rel="noopener noreferrer"&gt;Claude Models on Google Cloud (Anthropic managed)&lt;/a&gt; went live on October 22. Anthropic runs the Claude API, and you reach it through your Google Cloud project. Google Cloud IAM controls access, and usage lands on your Google Cloud bill and draws down existing spend commitments. The &lt;a href="https://platform.claude.com/docs/en/release-notes/overview" rel="noopener noreferrer"&gt;release notes&lt;/a&gt; confirm fast mode for Opus 5.5 is available there too. The older Vertex AI offering is now called Claude Models on Google Cloud (Google managed). Pick that one if you need Google as the data processor or strict regional controls.&lt;/p&gt;

&lt;p&gt;Third, Anthropic published &lt;a href="https://www.anthropic.com/research/discovering-vulnerabilities-with-claude" rel="noopener noreferrer"&gt;a research post on October 27&lt;/a&gt; about an unreleased internal research model. Anthropic says the model found and chained flaws in Chrome, Safari, Android, Windows and Linux into proof-of-concept exploits. Google assigned 62 Chrome CVEs, all rated critical or high, including 13 sandbox escapes. On Linux, Anthropic says the model took 48 minutes to leak a kernel pointer and about five more minutes to reach shell execution, through CVE-2026-98432.&lt;/p&gt;

&lt;p&gt;These claims come from Anthropic's own account. &lt;a href="https://thehackernews.com/2026/10/anthropics-unreleased-ai-model-chains.html" rel="noopener noreferrer"&gt;The Hacker News notes&lt;/a&gt; that it is hard to tell how much of each chain the model built alone. All flaws were reported and patched. Anthropic did not say whether it will release the model. It did point to its Cyber Verification Program, which gives vetted security teams access to stronger cyber capabilities.&lt;/p&gt;

&lt;p&gt;The lesson for everyone else is simple. Patch cycles need to get shorter. If a model can turn four Chrome bugs into a sandbox escape in a lab, attackers will try the same thing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Google: Genie 4 and Two Gemini API Changes
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://deepmind.google/blog/genie-4-a-new-generation-of-world-simulation/" rel="noopener noreferrer"&gt;Google DeepMind introduced Genie 4&lt;/a&gt; on October 27. It is a real-time world model that generates audio, ambient sound and dialogue along with the scene. You steer it with natural language and keyboard controls. Google uses Gemini 3.8 Flash as a guiding agent to keep scenes coherent. Google gave no resolution, frame rate or session length. It says details "can still shift or drift over time." Genie 4 is a research preview for trusted testers, with Google AI Ultra and Gemini API early access to follow.&lt;/p&gt;

&lt;p&gt;Two quieter changes in the &lt;a href="https://ai.google.dev/gemini-api/docs/changelog" rel="noopener noreferrer"&gt;Gemini API changelog&lt;/a&gt; matter more for data teams. On October 26, Google turned on request storage by default for new paid-tier projects. Calls to &lt;code&gt;generateContent&lt;/code&gt;, &lt;code&gt;streamGenerateContent&lt;/code&gt; and &lt;code&gt;batchGenerateContent&lt;/code&gt; now default to &lt;code&gt;store=true&lt;/code&gt;. Existing projects keep their current setting. The changelog does not say how long Google keeps stored requests.&lt;/p&gt;

&lt;p&gt;If you send customer data or regulated data through new Gemini projects, set &lt;code&gt;store=false&lt;/code&gt; per request or turn off logging in the Logs and Datasets settings. Do it before your first production call, not after.&lt;/p&gt;

&lt;p&gt;On October 27, Google released the Gemini API CLI (&lt;code&gt;gemini-api&lt;/code&gt;) in beta. It is a stateless, zero-dependency command-line client for coding agents, scripts and CI pipelines. It works with the Interactions API and can run Gemini managed agents.&lt;/p&gt;

&lt;h3&gt;
  
  
  OpenAI Platform: Decisions API and Service Tier Controls
&lt;/h3&gt;

&lt;p&gt;The &lt;a href="https://developers.openai.com/changelog" rel="noopener noreferrer"&gt;OpenAI developer changelog&lt;/a&gt; had two smaller entries. On October 21, OpenAI added settings to restrict which service tiers each project or a whole organization can use. That helps you stop a test project from burning money on a priority tier.&lt;/p&gt;

&lt;p&gt;On October 22, the Decisions API reached general availability on &lt;code&gt;gpt-6-luna&lt;/code&gt;. Each request now handles up to 400 questions, up from 200 in beta. Shared input can be cached across requests for prompt-cache discounts, and you can pass structured data with &lt;code&gt;input_json&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quiet Labs
&lt;/h3&gt;

&lt;p&gt;We found no new model from Meta, xAI, Mistral, DeepSeek or Qwen dated in this window. DeepSeek's news page has nothing after its October 17 Flash update. xAI's release notes show only the Grok Voice 3.0 items we covered last week. Mistral's Large 4 weights deadline of October 31 is still ahead.&lt;/p&gt;

&lt;p&gt;The community filled some of the gap. ISTA-DASLab posted &lt;a href="https://huggingface.co/ISTA-DASLab/DeepSeek-V4.1-Flash-1017-GSQ-RCO-GGUF" rel="noopener noreferrer"&gt;GGUF quantizations of DeepSeek-V4.1-Flash-1017&lt;/a&gt;, including a 2-bit build. Press reports say it runs on a single 12GB GPU. We did not test that claim.&lt;/p&gt;

&lt;h3&gt;
  
  
  What This Means for Practitioners
&lt;/h3&gt;

&lt;p&gt;The price floor keeps dropping in the middle of the market. A frontier lab now sells a 1M-context computer-use model at $1 in and $5 out. Open weights keep arriving, but with custom licenses that cap revenue or require sign-off. And defaults keep shifting under you, like Gemini's new storage setting. Read changelogs every week, not every quarter.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tooling: Approval Classifiers Go Mainstream
&lt;/h2&gt;

&lt;p&gt;The tooling theme this week was who says yes. GitHub made LLM-judged approvals generally available. Anthropic launched an agent that asks before it pays or signs. Claude Code and Codex both tightened permission defaults. The common pattern is a classifier that approves safe actions and stops for a human on the risky ones.&lt;/p&gt;

&lt;h3&gt;
  
  
  GitHub Copilot Assisted Permissions Reach GA (October 26)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.blog/changelog/2026-10-26-github-copilot-assisted-permissions-generally-available" rel="noopener noreferrer"&gt;GitHub made assisted permissions generally available&lt;/a&gt; in Copilot CLI, the Copilot app and VS Code. When Copilot wants to run a command, touch a file path or open a URL, an LLM judges the request. Requests it rates "clearly safe" run on their own. Everything else waits for you.&lt;/p&gt;

&lt;p&gt;Copilot now has three approval modes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Manual:&lt;/strong&gt; always ask&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Assisted:&lt;/strong&gt; the classifier approves safe requests&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Allow All:&lt;/strong&gt; approve everything&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You turn it on with &lt;code&gt;/permissions&lt;/code&gt; in the CLI, the Tool permissions picker in the app or the permissions picker in VS Code. GitHub did not publish the classifier's criteria.&lt;/p&gt;

&lt;p&gt;The admin controls are the important part. Enterprise settings can block Allow All while keeping Assisted. Admins can also disable Assisted, set the default mode for new sessions and fall back to Manual when the default is not allowed. Platform teams finally get a middle path between "ask every time" and "approve everything."&lt;/p&gt;

&lt;h3&gt;
  
  
  Copilot Server-to-Server Auth and Usage Metrics
&lt;/h3&gt;

&lt;p&gt;On October 27, &lt;a href="https://github.blog/changelog/2026-10-27-github-copilot-supports-server-to-server-authentication" rel="noopener noreferrer"&gt;Copilot added server-to-server authentication&lt;/a&gt; in public preview. Agents built with the Copilot SDK can now call Copilot for an organization without a signed-in user. You grant a GitHub App the read-only &lt;code&gt;Copilot Requests&lt;/code&gt; permission, install it on the org and pass its short-lived installation token to the SDK.&lt;/p&gt;

&lt;p&gt;Billing follows the app. Usage is billed to the organization that owns the installation, and that org's model policies, budgets and spending limits apply. Owners can spot app usage in AI usage CSV reports through the &lt;code&gt;app_client_id&lt;/code&gt; field. This is how you run a Copilot-powered bot in CI without tying it to one employee's seat.&lt;/p&gt;

&lt;p&gt;GitHub also widened its usage data. On October 22, the usage metrics API started reporting &lt;a href="https://github.blog/changelog/2026-10-22-custom-skills-agents-and-mcp-servers-in-usage-metrics-api" rel="noopener noreferrer"&gt;custom skills, agents and MCP servers&lt;/a&gt;. On October 23, it added &lt;a href="https://github.blog/changelog/2026-10-23-usage-metrics-api-adds-usage-from-tools-like-opencode" rel="noopener noreferrer"&gt;usage from tools like OpenCode&lt;/a&gt;. A &lt;a href="https://github.blog/changelog/2026-10-22-global-default-for-copilot-features-generally-available" rel="noopener noreferrer"&gt;global default for Copilot features&lt;/a&gt; also reached GA on October 22.&lt;/p&gt;

&lt;p&gt;GPT-6.1 Terra arrived in Copilot on October 26 for Pro, Pro+, Max, Business and Enterprise plans. GitHub says it bills "at provider list pricing under usage-based billing." New models turn on by default unless an admin disables the global default or the model itself. If your org pins models, check your policy before the rollout reaches you.&lt;/p&gt;

&lt;p&gt;GitHub Universe runs October 28-29. Expect more Copilot news next week.&lt;/p&gt;

&lt;h3&gt;
  
  
  Claude Code 2.1.307 Through 2.1.312
&lt;/h3&gt;

&lt;p&gt;Claude Code shipped six releases between October 21 and October 27, according to npm. The &lt;a href="https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md" rel="noopener noreferrer"&gt;changelog&lt;/a&gt; leaned toward permissions, sandboxing and cloud sessions.&lt;/p&gt;

&lt;p&gt;On approvals and safety, these changes stand out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Bypass mode and &lt;code&gt;rm&lt;/code&gt;:&lt;/strong&gt; In the Desktop app and VS Code, the dangerous &lt;code&gt;rm&lt;/code&gt; and &lt;code&gt;rmdir&lt;/code&gt; prompt in bypass permissions mode now denies the command at once with a rewrite hint. Unattended sessions keep going instead of hanging.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PowerShell fix:&lt;/strong&gt; Some &lt;code&gt;Set-Location&lt;/code&gt; and &lt;code&gt;cd&lt;/code&gt; commands with extra arguments were auto-approved. They now prompt.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Windows hook fix:&lt;/strong&gt; PreToolUse and PermissionRequest hooks let some tool calls through when Git Bash was missing. That is fixed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;ultrareview&lt;/code&gt; trust:&lt;/strong&gt; &lt;code&gt;claude ultrareview&lt;/code&gt; now requires workspace trust. Scripts must pass &lt;code&gt;--trust-workspace&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sandbox fallback:&lt;/strong&gt; Commands excluded from the sandbox now ask before writing to protected paths when the sandbox is on but cannot run.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Telemetry went back and forth. Version 2.1.307 added a &lt;code&gt;claude_code.safety_event&lt;/code&gt; OpenTelemetry event for every tool call that a rule, auto mode, hook or sandbox stopped. Version 2.1.312 stopped sending that event six days later. If you built a dashboard on it, check it now.&lt;/p&gt;

&lt;p&gt;Version 2.1.307 also added &lt;code&gt;/claude-api api-version&lt;/code&gt;, which moves your Claude API code to API version &lt;code&gt;2026-10-21&lt;/code&gt;. That pairs with the breaking API release we covered last week.&lt;/p&gt;

&lt;p&gt;On models and cost, &lt;code&gt;ultrathink&lt;/code&gt; in the terminal now runs its turn at xhigh effort on Opus 5.5, Sonnet 5.5, Haiku 5.5 and Fable 5.1 through Anthropic's API. Usage messages now say "5-hour limit" instead of "session limit." On Bedrock, Vertex, Foundry and Mantle, Claude Code now loads model settings from a signed file on downloads.claude.ai. You can turn that off with &lt;code&gt;CLAUDE_CODE_MODEL_CATALOG=off&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;For enterprises, 2.1.312 added &lt;code&gt;oidc.user_id_claim&lt;/code&gt; to the Claude apps gateway. You can now identify people by a claim other than &lt;code&gt;sub&lt;/code&gt;, such as Microsoft Entra ID's &lt;code&gt;oid&lt;/code&gt;. Version 2.1.310 added cloud sessions and Remote Control permissions to Enterprise custom roles.&lt;/p&gt;

&lt;h3&gt;
  
  
  Codex CLI 0.164.0 and 0.165.0
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/openai/codex/releases/tag/rust-v0.164.0" rel="noopener noreferrer"&gt;OpenAI shipped Codex CLI 0.164.0&lt;/a&gt; on October 23. Credentials got the most attention:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enterprise MCP connections can now sign in with eligible Codex account grants or a dedicated sign-in, including OAuth clients that need secrets.&lt;/li&gt;
&lt;li&gt;Codex masks credentials during supported remote Bash and Zsh snapshot sessions, including credentials from custom providers.&lt;/li&gt;
&lt;li&gt;On Windows, HTTPS and WebSocket connections now answer proxy challenges with the user's Negotiate or NTLM credentials.&lt;/li&gt;
&lt;li&gt;Queued prompts now wait for pending permission choices before they continue.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The release also added &lt;code&gt;/presets&lt;/code&gt;, ten numbered slots for saved prompts and slash commands. You can now set model, effort, speed and permission profile inline with &lt;code&gt;/model&lt;/code&gt; and &lt;code&gt;/permissions&lt;/code&gt;. The Amazon Bedrock setup wizard is on by default.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/openai/codex/releases/tag/rust-v0.165.0" rel="noopener noreferrer"&gt;Codex CLI 0.165.0&lt;/a&gt; followed on October 27. It added GPT-6.1 Terra to the model catalog and a built-in Google Cloud Vertex AI provider, set with &lt;code&gt;model_provider = "gcp"&lt;/code&gt;. Reasoning effort changes mid-conversation are now on by default for supported models. Memory v2 is the default for fresh profiles and can import memories from other agents.&lt;/p&gt;

&lt;p&gt;Two fixes matter for approvals. Fresh TUI sessions now honor the server's default approval reviewer. And Codex closed a marketplace URL validation gap that let Git connect to a host other than the one checked against allow patterns.&lt;/p&gt;

&lt;h3&gt;
  
  
  Claude Duet: An Agent That Asks Before It Pays
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://claude.com/resources/articles/claude-duet" rel="noopener noreferrer"&gt;Anthropic introduced Claude Duet&lt;/a&gt; on October 21 as a research preview. Duet runs on Opus 5.5 in its own cloud virtual machine with a browser, so your laptop can be closed. It sends a morning brief from your connected apps and checks them every few hours. It messages you only when something needs a decision.&lt;/p&gt;

&lt;p&gt;The approval model is the interesting part. Duet reads and drafts on its own. Before it sends a message, makes a payment, signs a document or deletes anything, it shows you the action and waits. Anthropic says an auto mode classifier handles those approval checks. Two actions are off-limits even with approval: trading securities and moving money between accounts.&lt;/p&gt;

&lt;p&gt;Anthropic also published &lt;a href="https://claude.com/resources/articles/claude-duet-safety-privacy-and-security" rel="noopener noreferrer"&gt;a safety and privacy note&lt;/a&gt; on October 23. A dedicated classifier blocks sharing of card numbers and government IDs. Duet never sees passwords or sign-in tokens directly.&lt;/p&gt;

&lt;p&gt;Duet is included in Pro and Max plans and shares their usage limits. Background checks count toward those limits. Access starts with a US waitlist for Pro and Max users on iOS, Android and claude.ai. Team and Enterprise plans are not included yet.&lt;/p&gt;

&lt;h3&gt;
  
  
  Claude Security and Claude Enterprise
&lt;/h3&gt;

&lt;p&gt;On October 21, &lt;a href="https://claude.com/resources/articles/claude-security-now-scans-continuously-and-tracks-fixes" rel="noopener noreferrer"&gt;Claude Security started scanning continuously&lt;/a&gt; in public beta for Claude Enterprise. It runs a baseline scan, then rescans changes on a schedule set by risk. Findings close when the fix lands and reopen if the issue comes back. Anthropic says thousands of organizations have found over a million vulnerabilities with it since the April beta.&lt;/p&gt;

&lt;p&gt;The new pieces are an API, personal access tokens, webhooks and an MCP connector for Claude.ai and Claude Code. Role-based access controls decide who can view, triage and create projects. Anthropic is giving organizations $25,000 in free usage credits per month for two months, for usage through December 31, 2026.&lt;/p&gt;

&lt;p&gt;On October 23, &lt;a href="https://claude.com/resources/articles/unified-claude-enterprise" rel="noopener noreferrer"&gt;chat and Cowork merged for Claude Enterprise&lt;/a&gt;. A conversation starts as chat, and tasks that need code or files move to a cloud environment. The admin controls cover cost directly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Model entitlements by role&lt;/li&gt;
&lt;li&gt;Spend limits at the organization, group and member level&lt;/li&gt;
&lt;li&gt;Pooled monthly budgets for groups&lt;/li&gt;
&lt;li&gt;A new setting that keeps the experience on Sonnet and Haiku models to save money&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Network egress is off by default for Enterprise cloud sessions, and connector credentials stay outside the sandbox. Organizations on zero data retention, HIPAA-ready setups or customer-managed keys stay on their current setup for now.&lt;/p&gt;

&lt;p&gt;On October 23, Anthropic also opened a &lt;a href="https://platform.claude.com/docs/en/release-notes/overview" rel="noopener noreferrer"&gt;Claude Tag API in beta&lt;/a&gt; for Enterprise orgs. It manages Claude Tag settings on Slack channels through Admin API keys with &lt;code&gt;read:claude_tag&lt;/code&gt; or &lt;code&gt;write:claude_tag&lt;/code&gt; scopes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quiet Week Elsewhere
&lt;/h3&gt;

&lt;p&gt;Cursor's changelog had no entries dated in this window. Its last post was October 20. We found nothing dated October 21-28 from Google Antigravity, Jules, Devin or Kiro.&lt;/p&gt;

&lt;h2&gt;
  
  
  Standards: Agent Skills Moves to the Agentic AI Foundation
&lt;/h2&gt;

&lt;p&gt;Standards had the busiest week of the quarter. AGNTCon + MCPCon North America ran October 22-23 in San Jose. Anthropic donated Agent Skills, OpenAI donated Open Responses, and MCP set a new release calendar. The talks focused less on new features and more on security and identity.&lt;/p&gt;

&lt;h3&gt;
  
  
  Agent Skills Joins AAIF With Three Other Projects (October 22)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.anthropic.com/news/donating-agent-skills-to-the-agentic-ai-foundation" rel="noopener noreferrer"&gt;Anthropic donated Agent Skills to the Agentic AI Foundation&lt;/a&gt; on October 22. Agent Skills is the open format where a skill is a folder with a &lt;code&gt;SKILL.md&lt;/code&gt; file plus any scripts or reference files it needs. Anthropic handed over the standard, its name and logo, the GitHub organization and the agentskills.io domain.&lt;/p&gt;

&lt;p&gt;The adoption numbers are large. Anthropic says more than 70 agent platforms have integrated Agent Skills since the standard was published in December 2025. It names ChatGPT, Cursor, GitHub Copilot and VS Code. Anthropic also reports 1 million published skills and nearly 280 million installs.&lt;/p&gt;

&lt;p&gt;Governance now looks like MCP's. Engineers from Anthropic, Google, OpenAI and others will maintain the standard as individuals. David Soria Parra and Mahesh Murag are the lead maintainers. The proposed roadmap adds versioned releases, a formal proposal process and security guidance for people who write and install skills. No dates came with that roadmap. You do not need to join AAIF to use or contribute to the spec.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://aaif.io/news/agentic-ai-foundation-announces-four-new-projects" rel="noopener noreferrer"&gt;AAIF announcement&lt;/a&gt; named four new hosted projects:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fq5x5ehutgic5lpe7ovww.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fq5x5ehutgic5lpe7ovww.png" alt="That brings AAIF to 10 hosted projects, up from three at its December 2025 launch. The other six are A2A, Agent Router, agentgateway, AGENTS.md, goose and MCP." width="553" height="278"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That brings AAIF to 10 hosted projects, up from three at its December 2025 launch. The other six are A2A, Agent Router, agentgateway, AGENTS.md, goose and MCP. The announcement did not state licenses for the four new projects.&lt;/p&gt;

&lt;p&gt;Open Responses deserves a closer look. It turns the shape of OpenAI's Responses API into a shared schema with common streaming events. If other providers adopt it, one client library can talk to many model APIs. That is the same move MCP made for tools.&lt;/p&gt;

&lt;p&gt;Why does this matter? Skills, tools, model interfaces, sandboxes and training environments now sit under one neutral roof. A skill you write for one agent has a real path to run in others. And no single vendor controls how the format changes.&lt;/p&gt;

&lt;h3&gt;
  
  
  MCP Locks In a Twice-Yearly Release Calendar (October 27)
&lt;/h3&gt;

&lt;p&gt;The MCP project merged &lt;a href="https://github.com/modelcontextprotocol/modelcontextprotocol/pull/3398" rel="noopener noreferrer"&gt;SEP-3398: Release Cycle Updates&lt;/a&gt; on October 27. Core Maintainers accepted it on October 14. It sets a fixed schedule for the Model Context Protocol spec.&lt;/p&gt;

&lt;p&gt;Here is how it works. Spec releases land on the last Tuesday of March and September. Each release gets an eight-month cycle, and cycles overlap by two months. The &lt;a href="https://github.com/modelcontextprotocol/modelcontextprotocol/blob/main/seps/3398-release-cycle-updates.md" rel="noopener noreferrer"&gt;SEP text&lt;/a&gt; sets these milestones before each release:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fajhc9vvu3cb8xmhw9p5k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fajhc9vvu3cb8xmhw9p5k.png" alt="The SEP moves the December 2026 release target to late March 2027." width="364" height="224"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The near-term impact is a date change. The SEP moves the December 2026 release target to late March 2027. If you planned around a December spec, plan for March instead. Proposals not finished by soft freeze move to the next cycle, and the release date does not slip.&lt;/p&gt;

&lt;p&gt;Each SEP now needs a sponsor, either a Working Group or the Core Maintainer group. A primary and a secondary release manager run each cycle, and the secondary becomes primary next time. For anyone shipping an MCP client or server, this is good news. You get SDK betas six weeks before each release and two dates a year to plan around.&lt;/p&gt;

&lt;h3&gt;
  
  
  MCPCon Talks: Tasks, Auth and 4.17 Billion Downloads
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.infoq.com/news/2026/10/agntcon-mcpcon-2026/" rel="noopener noreferrer"&gt;InfoQ's recap of AGNTCon + MCPCon&lt;/a&gt; captured the stage claims. InfoQ notes that several figures came without published data, so treat them as speaker-reported.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Tasks in Claude Code:&lt;/strong&gt; David Soria Parra announced MCP tasks support in Claude Code. Tool calls can now run for minutes, hours or days.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enterprise-managed authorization:&lt;/strong&gt; Den Delimarsky said it is live in Claude and marked stable on the auth roadmap. Proof-of-possession tokens and workload identity federation sit in draft. The roadmap ends with agents that sign in as themselves instead of borrowing a user token.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Downloads:&lt;/strong&gt; Delimarsky put cumulative MCP SDK downloads at 4.17 billion.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Conformance:&lt;/strong&gt; About one-third of the 116 conformance scenarios now test security.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Roadmap:&lt;/strong&gt; InfoQ lists agent messaging, skills over MCP, identity and an HTTP-native transport among five priority areas.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Two talks dealt with tool safety. Thomas Sarlandie of OpenAI said OpenAI rejects submitted MCP servers unless every tool carries annotations. Annotations let ChatGPT fast-track read-only calls and confirm destructive ones. He also shared data from the ChatGPT plugin directory: about three in four tool schemas are under 1 kB, and 56% of plugins use server instructions.&lt;/p&gt;

&lt;p&gt;Sarah Drasner of Chrome presented WebMCP, a proposed web standard now in origin trial. It lets websites expose tools that agents call directly instead of scraping the page. Chrome's benchmarks showed actions 2.5x to 7.5x faster. WebMCP adds read-only and untrusted-content hints to help agents resist prompt injection.&lt;/p&gt;

&lt;p&gt;If you run MCP servers, the action item is clear. Add tool annotations now. At least one major client already requires them, and the rest will follow.&lt;/p&gt;

&lt;h3&gt;
  
  
  MCP TypeScript SDK 2.4.0 Ships the Skills Extension (October 23)
&lt;/h3&gt;

&lt;p&gt;Last week we reported that only four providers serve skills over MCP the way the Skills Extension spec describes. The official SDK just made that easier. &lt;a href="https://github.com/modelcontextprotocol/typescript-sdk/releases" rel="noopener noreferrer"&gt;&lt;code&gt;@modelcontextprotocol/server&lt;/code&gt; 2.4.0&lt;/a&gt; shipped on October 23 with the Skills extension (SEP-2640) under new &lt;code&gt;ext/skills&lt;/code&gt; subpaths.&lt;/p&gt;

&lt;p&gt;The server side gets a &lt;code&gt;SkillsExtension&lt;/code&gt; that serves &lt;code&gt;skills/list&lt;/code&gt;, &lt;code&gt;skills/get&lt;/code&gt; and a &lt;code&gt;skill://&lt;/code&gt; resource template. A Node helper, &lt;code&gt;loadSkills(folder)&lt;/code&gt;, loads skills from a directory. The client side gets a &lt;code&gt;SkillsClient&lt;/code&gt; that verifies size, digest and &lt;code&gt;SKILL.md&lt;/code&gt; frontmatter on every read. The extension works on both the 2025-11-25 and 2026-07-28 protocol versions. The &lt;code&gt;attach&lt;/code&gt; method is marked experimental, and the rest of the Skills API is stable.&lt;/p&gt;

&lt;p&gt;Two breaking-ish changes ride along. The SDK now rejects &lt;code&gt;x-mcp-header&lt;/code&gt; on &lt;code&gt;number&lt;/code&gt;-typed tool parameters, matching the 2026-07-28 spec. Use an integer type instead. And a newer bundled validator rejects some &lt;code&gt;$id&lt;/code&gt; and &lt;code&gt;$ref&lt;/code&gt; values with invalid URI schemes, such as &lt;code&gt;my_tool:output&lt;/code&gt;. Check your tool schemas before you upgrade.&lt;/p&gt;

&lt;p&gt;The MCP registry also shipped versions 1.8.4, 1.8.5 and &lt;a href="https://github.com/modelcontextprotocol/registry/releases" rel="noopener noreferrer"&gt;1.8.6&lt;/a&gt; between October 23 and October 27. Version 1.8.6 now requires at least three characters for nonempty search terms. Shorter searches return HTTP 422.&lt;/p&gt;

&lt;h3&gt;
  
  
  A2A and Agent Identity
&lt;/h3&gt;

&lt;p&gt;A2A had no release this week. The latest tag on the &lt;a href="https://github.com/a2aproject/A2A/releases" rel="noopener noreferrer"&gt;A2A repo&lt;/a&gt; is still v1.0.1 from May. Agent identity moved forward through vendor features, not a new standard. Copilot's server-to-server tokens, Claude's enterprise-managed MCP authorization and Codex's enterprise MCP sign-in all landed in the same week. Each one gives an agent its own scoped credential instead of a person's password or long-lived token.&lt;/p&gt;

&lt;h2&gt;
  
  
  Infrastructure: Anthropic's S-1 Puts a Price on Frontier Compute
&lt;/h2&gt;

&lt;p&gt;The infrastructure story came from an IPO filing. Anthropic's S-1 gave the clearest public view yet of what a frontier lab commits to spend on compute. SK hynix then reported a quarter that shows where much of that money ends up.&lt;/p&gt;

&lt;h3&gt;
  
  
  Anthropic Files Its S-1 (October 26)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.anthropic.com/news/s1-sec" rel="noopener noreferrer"&gt;Anthropic announced it filed a Form S-1&lt;/a&gt; with the SEC on October 26. It plans to list Class A common stock on the Nasdaq Global Select Market under the ticker "ANT." Share count and price range are not set yet. Goldman Sachs and Morgan Stanley are the named sources for the preliminary prospectus.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://www.sec.gov/Archives/edgar/data/2130357/000162828026067168/anthropicpbc-sx1.htm" rel="noopener noreferrer"&gt;S-1 itself&lt;/a&gt; carries the numbers. We pulled these directly from the filing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Revenue:&lt;/strong&gt; $16.3 billion for the six months ended June 30, 2026, up from $1.2 billion a year earlier&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Q2 2026:&lt;/strong&gt; revenue of $11.6 billion, up from $787 million, with operating income of $1.0 billion and an 8% operating margin&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Operating loss:&lt;/strong&gt; $693 million for the first half of 2026, down from $2.1 billion&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prior years:&lt;/strong&gt; revenue of $41 million in 2023, $386 million in 2024 and $4.6 billion in 2025&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now the compute side. As of June 30, 2026, Anthropic reports about &lt;strong&gt;$265.6 billion&lt;/strong&gt; in expected fixed or minimum guaranteed compute commitments, with terms from one to 20 years. On top of that, it has agreements with no fixed dollar figure, where payments depend on capacity delivered and pricing.&lt;/p&gt;

&lt;p&gt;Press coverage has quoted totals from $417 billion to over $600 billion. Those higher figures add estimates and leases on top of the contractual minimums. The $265.6 billion number is the one in the filing's commitment disclosure.&lt;/p&gt;

&lt;h3&gt;
  
  
  Four Chip Families, Five Clouds
&lt;/h3&gt;

&lt;p&gt;The S-1 describes a "multi-chip compute architecture across AWS Trainium, Google TPUs, NVIDIA GPUs, and AMD GPUs." It names the partners behind each one.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;AMD:&lt;/strong&gt; In July 2026, Anthropic signed a hardware supply framework with AMD for Helios rack-scale systems with Instinct MI450 series GPUs. It commits to an initial tranche in calendar 2027. If it buys the full tranche, Anthropic expects spending to exceed $20.0 billion. The deal allows a second tranche of about the same size. AMD agreed to buy up to $5.0 billion of Anthropic's Class N stock if conditions are met.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;NVIDIA:&lt;/strong&gt; Access to Grace Blackwell and Vera Rubin systems comes through NVIDIA and through Microsoft, SpaceXAI, Nscale, Lambda and other clouds.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SpaceXAI:&lt;/strong&gt; Between May and October 2026, Anthropic signed and amended agreements with SpaceX.AI LLC, formerly X.AI LLC, for NVIDIA GPU compute.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Google and Amazon:&lt;/strong&gt; Both have note purchase agreements of up to $20.0 billion each. They supply TPU and Trainium capacity.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Why does this matter to you? Model pricing depends on these contracts. A lab that spreads work across four chip families can shift workloads to the cheapest capacity. That is part of why mid-tier and fast-mode prices keep falling. It also shows the lock-in risk runs both ways. Labs commit for up to 20 years, so they need steady token demand to pay for it.&lt;/p&gt;

&lt;h3&gt;
  
  
  SK hynix Q3: Sold Out Through 2028, Short Through 2030 (October 28)
&lt;/h3&gt;

&lt;p&gt;SK hynix reported third-quarter results on October 28 in Seoul. &lt;a href="https://www.investing.com/news/company-news/sk-hynix-q3-2026-slides-revenue-tops-100t-80-margin-on-ai-boom-93CH-4977357" rel="noopener noreferrer"&gt;Investing.com's summary of the earnings slides&lt;/a&gt; gives these figures:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Revenue:&lt;/strong&gt; 104.62 trillion won, up 32% from Q2 and 328% from a year earlier. It is the first quarter above 100 trillion won.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Operating profit:&lt;/strong&gt; 83.33 trillion won, an 80% operating margin&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Net profit:&lt;/strong&gt; 39.78 trillion won, down 58% from Q2 on a 32.63 trillion won non-operating loss&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Investing.com notes its summary was AI-assisted, so confirm figures against SK hynix's own filings.&lt;/p&gt;

&lt;p&gt;The supply comments matter more than the profit. SK hynix has long-term agreements with 14 key customers, including major cloud providers, on standard five-year terms. Those deals cover more than 50% of total capacity for both 2027 and 2028. Management expects memory demand to outrun supply through 2030.&lt;/p&gt;

&lt;p&gt;HBM4 is taking over. SK hynix expects HBM4 to pass HBM3E in both shipments and revenue in the fourth quarter. That tracks with NVIDIA's Vera Rubin ramp. The company also expects 2027 capex to rise significantly as it brings up its first Yongin fab.&lt;/p&gt;

&lt;p&gt;Put this next to the Anthropic filing. Labs sign 20-year compute deals, and memory makers sign five-year supply deals. The AI hardware market is moving from spot buying to long contracts. If you plan to buy GPUs in 2027, the memory inside them is already spoken for.&lt;/p&gt;

&lt;h3&gt;
  
  
  NVIDIA and Oracle: Vera Rubin GA on OCI (October 27)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://nvidianews.nvidia.com/news/nvidia-and-oracle-expand-nvidia-vera-rubin-to-multi-gigawatt-scale-and-bring-nvidia-vera-cpu-to-oracle-cloud-infrastructure" rel="noopener noreferrer"&gt;NVIDIA and Oracle announced&lt;/a&gt; on October 27 that Vera Rubin NVL72 systems and NVIDIA Vera CPUs are generally available on Oracle Cloud Infrastructure. The two companies plan to grow OCI Superclusters with Vera Rubin to multi-gigawatt scale. They gave no exact gigawatt figure.&lt;/p&gt;

&lt;p&gt;Each NVL72 rack links 72 GPUs over NVLink. OCI uses Spectrum-X Ethernet with Spectrum-6 switches and BlueField-4 DPUs. A planned HGX Rubin NVL8 server pairs eight Rubin GPUs with two 64-core Intel Xeon 6 CPUs, 4 TB of DDR5 and 6.4 Tbps of RDMA networking. No date was given for NVL8.&lt;/p&gt;

&lt;p&gt;The release adds one useful data point. OpenAI trained and served GPT-6 Astra on an OCI Supercluster in Abilene with more than 100,000 Blackwell GPUs. OpenAI also plans to run Vera CPUs in production on OCI for agent sandbox workloads.&lt;/p&gt;

&lt;p&gt;That last detail is a trend. Agents run code, browse and call tools, and much of that work runs on CPUs, not GPUs. NVIDIA wants that CPU business too.&lt;/p&gt;

&lt;h3&gt;
  
  
  NVIDIA and Meta: $3 Billion and Vera Rubin (October 26)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://nvidianews.nvidia.com/news/nvidia-and-meta-to-expand-collaboration-on-muse-and-muse-family-of-models-amid-robust-growth" rel="noopener noreferrer"&gt;NVIDIA and Meta expanded their collaboration&lt;/a&gt; on the Muse model family on October 26. Meta will deploy more NVIDIA infrastructure, including Vera Rubin, Vera CPUs, Spectrum-X Ethernet and BlueField-4. NVIDIA will invest $3 billion in Meta's equity offering, subject to closing conditions.&lt;/p&gt;

&lt;p&gt;The two companies will also look at NVIDIA's OpenShell Reference Architecture for safe agent deployment, including the Sentry monitor we covered last week. The release gave no GPU counts, gigawatt figures or timeline.&lt;/p&gt;

&lt;h3&gt;
  
  
  What We Did Not See
&lt;/h3&gt;

&lt;p&gt;We found no dated news in the window on Google TPUs, AWS Trainium or Microsoft Maia. Reports that Oracle will host OpenAI's Jalapeño chip and Google TPUs at Oracle AI World came from a single secondary source, and Oracle has not confirmed them in a release we found. We left them out. Intel and Samsung had not posted third-quarter results by our cutoff.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Data Layer Takeaway
&lt;/h2&gt;

&lt;p&gt;Three threads from this week point at the data layer.&lt;/p&gt;

&lt;p&gt;First, defaults now carry governance weight. Gemini's new &lt;code&gt;store=true&lt;/code&gt; default, Copilot's assisted permissions and Claude Code's sandbox changes all decide what happens to your data before you make a choice. Data teams need to read changelogs the way security teams read CVE feeds.&lt;/p&gt;

&lt;p&gt;Second, agent work is getting longer. MCP tasks in Claude Code let a tool call run for hours or days. Duet checks your accounts every few hours and keeps working while you sleep. Long-running agents need data sources with stable identities, clear access rules and an audit trail. A governed lakehouse catalog gives an agent that boundary.&lt;/p&gt;

&lt;p&gt;Third, skills are becoming the unit of reuse. With Agent Skills under AAIF and a Skills extension in the official MCP SDK, a skill that teaches an agent how to query your tables can travel between Claude, ChatGPT, Copilot and Cursor. Teams that write good skills for their semantic layer will get more out of every agent they adopt.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to Watch Next Week
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;October 28-29:&lt;/strong&gt; GitHub Universe&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;October 31:&lt;/strong&gt; Mistral Large 4 weights deadline, and DeepSeek Search and Fetch billing starts for harness users&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;November 4:&lt;/strong&gt; Kimi K3.1 Pro open weights, with a license still to be named&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;November 16:&lt;/strong&gt; Copilot retires Claude Opus 4.8, Opus 5 and GPT-5.6 Terra&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;November 30:&lt;/strong&gt; Claude Sonnet 4.5 retires&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ongoing:&lt;/strong&gt; Anthropic's S-1 amendments, which should add share count and price range&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Resources to Go Further
&lt;/h2&gt;

&lt;p&gt;AI changes fast. Here are tools and resources to help you keep pace.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Try Dremio Free&lt;/strong&gt; - Experience agentic analytics and an Apache Iceberg-powered lakehouse. &lt;a href="https://www.dremio.com/get-started?utm_source=ev_external_blog&amp;amp;utm_medium=influencer&amp;amp;utm_campaign=pag&amp;amp;utm_term=10-28-2026&amp;amp;utm_content=alexmerced" rel="noopener noreferrer"&gt;Start your free trial&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Learn Agentic AI with Data&lt;/strong&gt; - Dremio's agentic analytics features let your AI agents query and act on live data. &lt;a href="https://www.dremio.com/use-cases/agentic-ai/?utm_source=ev_external_blog&amp;amp;utm_medium=influencer&amp;amp;utm_campaign=pag&amp;amp;utm_term=10-28-2026&amp;amp;utm_content=alexmerced" rel="noopener noreferrer"&gt;Explore Dremio Agentic AI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Join the Community&lt;/strong&gt; - Connect with data engineers and AI practitioners building on open standards. &lt;a href="https://developer.dremio.com/?utm_source=ev_external_blog&amp;amp;utm_medium=influencer&amp;amp;utm_campaign=pag&amp;amp;utm_term=10-28-2026&amp;amp;utm_content=alexmerced" rel="noopener noreferrer"&gt;Join the Dremio Developer Community&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Book: The 2026 Guide to AI-Assisted Development&lt;/strong&gt; - Covers prompt engineering, agent workflows, MCP, evaluation, security, and career paths. &lt;a href="https://www.amazon.com/2026-Guide-AI-Assisted-Development-Engineering-ebook/dp/B0GQW7CTML/" rel="noopener noreferrer"&gt;Get it on Amazon&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Book: Using AI Agents for Data Engineering and Data Analysis&lt;/strong&gt; - A practical guide to Claude Code, Google Antigravity, OpenAI Codex, and more. &lt;a href="https://www.amazon.com/Using-Agents-Data-Engineering-Analysis-ebook/dp/B0GR6PYJT9/" rel="noopener noreferrer"&gt;Get it on Amazon&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>AI Weekly: Open Weights Surge and a Breaking Claude API</title>
      <dc:creator>Alex Merced</dc:creator>
      <pubDate>Wed, 21 Oct 2026 19:51:46 +0000</pubDate>
      <link>https://dev.to/alexmercedcoder/ai-weekly-open-weights-surge-and-a-breaking-claude-api-52cc</link>
      <guid>https://dev.to/alexmercedcoder/ai-weekly-open-weights-surge-and-a-breaking-claude-api-52cc</guid>
      <description>&lt;p&gt;&lt;strong&gt;Week of October 14-21, 2026&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The big frontier launches landed just before this window. Claude Haiku 5.5, GPT-6 in ChatGPT, Meta Muse Wonder and Gemini 4 Argon all shipped between October 7 and October 13. This week was about what came after: a wave of open-weight models, a breaking Claude API version, a round of model retirements and an NVIDIA keynote that put supply chains ahead of chips.&lt;/p&gt;

&lt;p&gt;Here is what changed, what it costs and what you need to do about it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Models: Meta Muse Spark Open Leads an Open-Weight Week
&lt;/h2&gt;

&lt;p&gt;No new closed frontier flagship shipped between October 14 and October 21. The open-weight side made up for it. Meta, NVIDIA, DeepSeek, MiniMax, Mistral and Tencent all released models or weights in the same seven days. For teams that self-host or fine-tune, this was the busiest week of the quarter.&lt;/p&gt;

&lt;h3&gt;
  
  
  Meta Muse Spark Open (October 15)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://research.meta.ai/blog/muse-spark-open" rel="noopener noreferrer"&gt;Meta released Muse Spark Open&lt;/a&gt; on October 15. The model ID on Hugging Face is &lt;a href="https://huggingface.co/meta-models/Muse-Spark-Open-816B-A42B" rel="noopener noreferrer"&gt;&lt;code&gt;meta-models/Muse-Spark-Open-816B-A42B&lt;/code&gt;&lt;/a&gt;. It is a mixture-of-experts model with 816 billion total parameters and 42 billion active per token. Context reaches 1 million tokens. Meta did not publish a max output figure.&lt;/p&gt;

&lt;p&gt;The model is natively multimodal. &lt;a href="https://www.techrepublic.com/article/news-meta-muse-spark-open-apple-mac-studio/" rel="noopener noreferrer"&gt;Press coverage&lt;/a&gt; describes text, image, video and audio input with text output. Meta ships weights in BF16, and coverage also reports an NVFP4 build. Day-one engine support covers SGLang, vLLM, TensorRT-LLM, Transformers, MLX, llama.cpp and Unsloth.&lt;/p&gt;

&lt;p&gt;Distribution is wide. Weights are on Hugging Face, Amazon SageMaker AI, Google Cloud Model Garden and Microsoft Foundry. Hosted APIs are live on Baseten, Fireworks, Groq, Modal, Nebius, OpenRouter and Together. Meta also demoed the model on two linked M5 Ultra Mac Studios. That is a useful signal for anyone sizing on-prem hardware.&lt;/p&gt;

&lt;p&gt;Two caveats matter. First, Meta published no per-token price, so cost depends on the host you pick. Second, the license is the "Muse Model License," not Apache 2.0 or MIT. Meta describes it as carrying "limited commercial terms." &lt;a href="https://www.trendingtopics.eu/muse-spark-open-meta-open-weight-license/" rel="noopener noreferrer"&gt;One third-party reading&lt;/a&gt; says API resellers above $20 million in gross revenue need a separate deal with Meta. That reading is unconfirmed, so check with your legal team before building a business on it.&lt;/p&gt;

&lt;p&gt;Meta calls Muse Spark Open "the most capable US open-weight model to date." Its blog gives no benchmark scores to back that claim. Artificial Analysis, an independent evaluator, scored it 39 on its Intelligence Index, according to press reports. That puts it behind MiMo-V2.6-Pro at 46 on the same index.&lt;/p&gt;

&lt;p&gt;The strategic story is bigger than the score. Meta's previous flagship, Muse Spark, was closed. Muse Spark Open marks a partial return to the open-weight playbook that made Llama popular. For lakehouse teams running agents next to governed data, a 1M-context open model with broad engine support is a real option for private deployments.&lt;/p&gt;

&lt;h3&gt;
  
  
  NVIDIA Nemotron 3.5 Super VL and Bolt (October 15)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://blogs.nvidia.com/blog/nemotron-3-5-super-vl/" rel="noopener noreferrer"&gt;NVIDIA expanded the Nemotron family&lt;/a&gt; on the same day. The headline model is Nemotron 3.5 Super VL, a 120B-A12B vision-language mixture-of-experts model built for agents. NVIDIA trained it on about 26 trillion tokens, then added about 3.8 million post-training samples and a reinforcement learning stage.&lt;/p&gt;

&lt;p&gt;NVIDIA says Super VL comes close to its largest reasoning model at about one-fifth the parameters. It also claims up to 5x the throughput of the next-best open model in its class, citing an Artificial Analysis chart. Treat that 5x as vendor-reported. &lt;a href="https://www.hpcwire.com/aiwire/2026/10/15/nvidia-expands-nemotron-family-with-highest-efficiency-super-vl-and-bolt-models/" rel="noopener noreferrer"&gt;HPCwire reports&lt;/a&gt; a score of 26.5 on the Artificial Analysis Intelligence Index, plus a context of up to 1M tokens and the OpenMDW-1.1 license. NVIDIA's own blog states neither the context nor the license, so confirm both on the model card before you deploy.&lt;/p&gt;

&lt;p&gt;The more interesting release for many readers is Nemotron 3.5 Bolt 74B-A9B. NVIDIA trained it with native 2-bit quantization so the full model fits in 24GB of memory. That targets RTX desktops, DGX Spark and the new RTX Spark laptops. It runs on llama.cpp, Ollama, LM Studio, Unsloth and vLLM.&lt;/p&gt;

&lt;p&gt;NVIDIA claims Bolt ranks first among open models in its class on PinchBench and second on BrowseComp. Both rankings are vendor-reported. Press reports put Bolt at 21.4 on the Artificial Analysis Intelligence Index. A smaller Bolt E4B that fits in 4GB is due October 23.&lt;/p&gt;

&lt;p&gt;Super VL is available on Hugging Face, OpenRouter, ModelScope and NVIDIA NIM. If you need an agent model that reads screenshots and documents on your own GPUs, it belongs on your test list.&lt;/p&gt;

&lt;h3&gt;
  
  
  DeepSeek-V4.1-Flash-1017 and Search &amp;amp; Fetch APIs (October 17)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://api-docs.deepseek.com/news/news261017" rel="noopener noreferrer"&gt;DeepSeek shipped a refreshed V4.1 Flash&lt;/a&gt; on October 17. The model ID is &lt;a href="https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash-1017" rel="noopener noreferrer"&gt;&lt;code&gt;deepseek-ai/DeepSeek-V4.1-Flash-1017&lt;/code&gt;&lt;/a&gt;. Hugging Face metadata lists 763 billion total parameters. One secondary source said 552 billion, so trust the Hugging Face figure. Context is 1M tokens, and the weights carry an MIT license.&lt;/p&gt;

&lt;p&gt;The gains over the September build are large on agent and coding tasks. These numbers come from DeepSeek's model card, so they are vendor-reported:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F87prn27x68p28gyn5awd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F87prn27x68p28gyn5awd.png" alt="These numbers come from DeepSeek's model card, so they are vendor-reported" width="377" height="266"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;DeepSeek's own table lists Claude Opus 5 at 74.0 on DeepSWE v1.1. That puts the new Flash snapshot ahead on that one test, by DeepSeek's count. Wait for independent runs before you treat that as settled.&lt;/p&gt;

&lt;p&gt;Pricing is murky. DeepSeek's announcement shows prices only in an image. A secondary source says pricing is unchanged at $0.15 input and $0.60 output per million tokens off-peak, and $0.30 and $1.20 at peak. We did not find those figures in a text source, so check the DeepSeek console.&lt;/p&gt;

&lt;p&gt;The second launch matters as much as the model. DeepSeek opened its Search and Fetch APIs to all users at $0.75 per 1,000 calls per endpoint. Calls are free through server-side tools in DeepSeek Harness, Claude Code and Codex until October 31 at 16:00 UTC. Model labs now sell the tools around the model, not just the tokens.&lt;/p&gt;

&lt;h3&gt;
  
  
  MiniMax M3.1 Flash (October 19)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.minimax.io/blog/minimax-m31f" rel="noopener noreferrer"&gt;MiniMax released M3.1 Flash&lt;/a&gt; on October 19 under the model ID &lt;code&gt;MiniMax-M3.1-Flash&lt;/code&gt;. It had circulated as "Space Bunny" since late September. Pricing is $0.15 per million input tokens, $0.60 per million output tokens and $0.015 per million cached input tokens.&lt;/p&gt;

&lt;p&gt;MiniMax says the model costs 70% less on agentic tasks than its predecessor. It also claims about 3x the speed, with 200+ tokens per second at peak and 170+ at the median. MiniMax did not state a context window. One gateway lists 1M tokens.&lt;/p&gt;

&lt;p&gt;The vendor-reported scores lean hard toward agents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DeepSWE v1.1: 73.7%&lt;/li&gt;
&lt;li&gt;OSWorld V2: 61.7&lt;/li&gt;
&lt;li&gt;Agents' Last Exam: 29.6&lt;/li&gt;
&lt;li&gt;BankerToolBench: 76.2&lt;/li&gt;
&lt;li&gt;CyberGym: 82%&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The model is live on the MiniMax API, the M Plan and MiniMax Code. MiniMax says weights "will be released later." Reports point to October 23, but that date is unconfirmed.&lt;/p&gt;

&lt;p&gt;Note the pricing pattern. MiniMax M3.1 Flash and the reported DeepSeek off-peak rate both sit at $0.15 in and $0.60 out. Fast agent-grade models are converging on a price floor. That changes the math on running agents over large datasets.&lt;/p&gt;

&lt;h3&gt;
  
  
  Mistral Timestral, Tencent Hy-Memory and Grok Voice 3.0
&lt;/h3&gt;

&lt;p&gt;Three smaller releases deserve a note.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://mistral.ai/news/timestral/" rel="noopener noreferrer"&gt;Mistral released Timestral&lt;/a&gt; on October 15. It is a family of time-series forecasting models in 5M, 28M, 123M and 209M sizes under a modified MIT license. Context is 32,768 steps with a 1,024-step forecast horizon. Mistral reports the &lt;a href="https://huggingface.co/mistralai/Timestral-209M" rel="noopener noreferrer"&gt;209M model&lt;/a&gt; ranks first on GIFT-Eval, with a MASE of 0.658 and CRPS of 0.446, plus first place on TIME and fev-bench. Those rankings are vendor-reported. The model runs on CPU, and Mistral says a 209M forecast took 140 milliseconds on 8 threads.&lt;/p&gt;

&lt;p&gt;Timestral is worth a look for data teams. Forecasting on lakehouse tables usually means exporting data to a separate ML stack. A 209M model that runs on CPU in milliseconds can sit much closer to the query engine.&lt;/p&gt;

&lt;p&gt;Tencent posted &lt;a href="https://huggingface.co/tencent/Hy-Memory-30B-A3B" rel="noopener noreferrer"&gt;Hy-Memory-30B-A3B&lt;/a&gt; to Hugging Face on October 15. It is a memory-writer model with about 3 billion active parameters under Apache 2.0. Its job is to decide what an agent should remember between sessions. Tencent reports a cross-harness average of 55.49, against 54.62 for Claude Opus 5. That comparison is vendor-reported.&lt;/p&gt;

&lt;p&gt;xAI shipped &lt;a href="https://docs.x.ai/docs/release-notes" rel="noopener noreferrer"&gt;Grok Voice 3.0&lt;/a&gt; as &lt;code&gt;grok-voice-3.0&lt;/code&gt; at $0.08 per minute. If you call the &lt;code&gt;grok-voice-latest&lt;/code&gt; alias, you are now on 3.0, and version 2.0 is deprecated. &lt;a href="https://techenclave.com/news/items/xai-releases-grok-voice-3-and-upgrades-the-latest-api-alias" rel="noopener noreferrer"&gt;Press reports&lt;/a&gt; put it at 86.9 on the Artificial Analysis speech-to-speech index, up from 81.3. Latency rose from 0.70 seconds to 0.81 seconds. Pin your version if latency matters to your app.&lt;/p&gt;

&lt;h3&gt;
  
  
  Claude API Version 2026-10-21 Breaks Old Calls (October 21)
&lt;/h3&gt;

&lt;p&gt;The most important model-platform change this week was not a model. Anthropic shipped &lt;a href="https://platform.claude.com/docs/en/api/migration-2026-10-21" rel="noopener noreferrer"&gt;API version &lt;code&gt;2026-10-21&lt;/code&gt;&lt;/a&gt; along with new major versions of every official SDK. The new SDKs send the new version header by default. If you upgrade your SDK without reading the migration guide, some calls will fail.&lt;/p&gt;

&lt;p&gt;Here are the new SDK versions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python 2.0.0&lt;/li&gt;
&lt;li&gt;TypeScript 1.0.0&lt;/li&gt;
&lt;li&gt;C# 13.0.0&lt;/li&gt;
&lt;li&gt;Go 2.0.0&lt;/li&gt;
&lt;li&gt;Java 3.0.0&lt;/li&gt;
&lt;li&gt;PHP 1.0.0&lt;/li&gt;
&lt;li&gt;Ruby 2.0.0&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;ant&lt;/code&gt; CLI 2.0.0&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The SDKs and CLI also move from the MIT license to Apache 2.0.&lt;/p&gt;

&lt;p&gt;Three request patterns now return a 400 error under the new version. First, sending &lt;code&gt;temperature&lt;/code&gt;, &lt;code&gt;top_p&lt;/code&gt; or &lt;code&gt;top_k&lt;/code&gt; fails, even at default values. Second, a &lt;code&gt;document&lt;/code&gt; block placed directly in an assistant message fails. Third, a user &lt;code&gt;text&lt;/code&gt; block with non-empty &lt;code&gt;citations&lt;/code&gt; fails. Workloads that need sampling parameters can stay on the &lt;code&gt;2023-06-01&lt;/code&gt; version for now.&lt;/p&gt;

&lt;p&gt;The SDK changes go further. Text Completions is gone from the TypeScript, Go, Java and Ruby SDKs and from the CLI. API keys now travel as &lt;code&gt;Authorization: Bearer&lt;/code&gt;, so check any proxy that inspects the old header. Each client now holds one credential, resolved in a fixed order: &lt;code&gt;ANTHROPIC_API_KEY&lt;/code&gt;, then &lt;code&gt;ANTHROPIC_AUTH_TOKEN&lt;/code&gt;, then the profile, then workload identity federation. The &lt;code&gt;ant&lt;/code&gt; CLI drops its &lt;code&gt;--api-key&lt;/code&gt; and &lt;code&gt;--auth-token&lt;/code&gt; flags. The Admin API drops old field names and replaces &lt;code&gt;workspace_id&lt;/code&gt; on API keys with &lt;code&gt;scope&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The practical advice is simple. Pin your SDK version in CI today. Then upgrade on a branch, run your test suite and fix the 400s before you ship. The &lt;a href="https://platform.claude.com/docs/en/release-notes/overview" rel="noopener noreferrer"&gt;full release notes&lt;/a&gt; list every change.&lt;/p&gt;

&lt;h3&gt;
  
  
  Other Anthropic Updates
&lt;/h3&gt;

&lt;p&gt;Anthropic made several smaller changes in the same week.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;October 14:&lt;/strong&gt; OpenTelemetry export entered beta, and Managed Agents gained scheduled deployments on Claude Platform on AWS.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;October 15:&lt;/strong&gt; Opus 5.5 fast mode left research preview. It no longer needs a beta header, gets default rate limits and is available on Microsoft Foundry.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;October 15:&lt;/strong&gt; The Models API now reports whether each model supports &lt;code&gt;thinking: {type: "between_tools"}&lt;/code&gt;, which turns off up-front thinking and lets the model think only between tool calls.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Retirement:&lt;/strong&gt; &lt;a href="https://platform.claude.com/docs/en/about-claude/model-deprecations" rel="noopener noreferrer"&gt;Claude Sonnet 4.5 retires on November 30&lt;/a&gt;. The replacement is &lt;code&gt;claude-sonnet-5-5&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On the policy side, Anthropic published &lt;a href="https://www.anthropic.com/news/an-update-on-independent-evaluators" rel="noopener noreferrer"&gt;an update on independent evaluators&lt;/a&gt; on October 15. METR now has employee-like access, with six staff onboarded and the right to publish. SecureBio is reviewing the chemical and biological chapter of Anthropic's August Risk Report. Outside review with publication rights is a meaningful step for frontier lab transparency.&lt;/p&gt;

&lt;h3&gt;
  
  
  Retirements Across Codex and Copilot
&lt;/h3&gt;

&lt;p&gt;Model retirements hit two major coding platforms.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://learn.chatgpt.com/docs/changelog" rel="noopener noreferrer"&gt;OpenAI retired GPT-5.5 in Codex&lt;/a&gt; on October 14 for users signed in with ChatGPT. API-key sessions are not affected. The replacement is &lt;code&gt;gpt-6.1-sol&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.blog/changelog/2026-10-19-github-copilot-models-deprecated-on-october-19-2026" rel="noopener noreferrer"&gt;GitHub deprecated six Copilot models&lt;/a&gt; on October 19:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbuaukny308tkt3lhbsi6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fbuaukny308tkt3lhbsi6.png" alt=" " width="263" height="263"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;GitHub also &lt;a href="https://github.blog/changelog/2026-10-15-upcoming-deprecation-of-selected-github-copilot-models-in-mid-november" rel="noopener noreferrer"&gt;announced a second round for November 16&lt;/a&gt;. Claude Opus 4.8 and Opus 5 move to Opus 5.5. GPT-5.6 Terra moves to GPT-6.1 Sol or GPT-6 Luna. If your team pins models in Copilot policies, update those policies before mid-November.&lt;/p&gt;

&lt;h3&gt;
  
  
  What This Means for Practitioners
&lt;/h3&gt;

&lt;p&gt;Three patterns stand out. Open-weight models now ship with 1M context, broad engine support and hosted APIs on day one. Fast agent models are settling at $0.15 in and $0.60 out per million tokens. And platform churn is real: in one week you got a breaking API version, eight model retirements and an alias that silently moved to a new voice model. Pin versions, track deprecation pages and budget time each month for upgrades.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tooling: Approval Modes, Credentials and Multi-Model Coding
&lt;/h2&gt;

&lt;p&gt;Coding agents had a security-heavy week. The common theme was control. Vendors tightened who approves an agent's actions, how credentials flow and how long tokens live.&lt;/p&gt;

&lt;h3&gt;
  
  
  Claude Code 2.1.299 Through 2.1.306
&lt;/h3&gt;

&lt;p&gt;Claude Code shipped eight releases between October 14 and October 21, according to npm. The &lt;a href="https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md" rel="noopener noreferrer"&gt;changelog&lt;/a&gt; shows the bulk of the work went into approval modes and permissions.&lt;/p&gt;

&lt;p&gt;On approval modes, a new &lt;code&gt;/auto-mode-setup&lt;/code&gt; command walks you through auto mode, which now works on more providers. Headless &lt;code&gt;claude -p&lt;/code&gt; runs and SDK sessions now start in &lt;code&gt;default&lt;/code&gt; mode on third-party providers. That is a safer starting point for CI pipelines. A new &lt;code&gt;CLAUDE_CODE_AUTO_MODE_MODEL&lt;/code&gt; variable sets which model classifies actions in auto mode. And a check can now carry &lt;code&gt;decider: "person"&lt;/code&gt;, which means only a human can approve it.&lt;/p&gt;

&lt;p&gt;Observability improved too. OpenTelemetry &lt;code&gt;tool_decision&lt;/code&gt; events now include &lt;code&gt;classifier_verdict&lt;/code&gt; and &lt;code&gt;permission_mode&lt;/code&gt;. Security teams can now see why an agent action was allowed, not just that it happened.&lt;/p&gt;

&lt;p&gt;Several permission rules got stricter:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;MCP allow rules now match only the server they name.&lt;/li&gt;
&lt;li&gt;Hooks in Cowork cloud sessions can no longer change the permission mode.&lt;/li&gt;
&lt;li&gt;A new &lt;code&gt;sandbox.allowNestedUserNamespaces&lt;/code&gt; setting exists, and the changelog warns that it can bypass sandbox file protections. Leave it off unless you know why you need it.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;allowedMcpServers&lt;/code&gt; no longer filters some managed servers. Admins should use &lt;code&gt;deniedMcpServers&lt;/code&gt; to block servers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Credential fixes landed for &lt;code&gt;forceLoginOrgUUID&lt;/code&gt; and MDM login settings, plus a login bug in cloud &lt;code&gt;-p&lt;/code&gt; runs.&lt;/p&gt;

&lt;p&gt;Billing and usage got clearer warnings. Idle compaction now runs for conversations over 200K tokens that sit idle for about 54 minutes. New &lt;code&gt;/usage&lt;/code&gt; warnings appear, and Pro and Max users see a warning before resuming an idle conversation that eats a noticeable share of the 5-hour limit. Prompt suggestions are skipped after replies billed to credits.&lt;/p&gt;

&lt;p&gt;One fix will save some people real pain. The &lt;code&gt;--worktree&lt;/code&gt; flag no longer silently deletes a worktree and its branch at exit. New &lt;code&gt;/advisor&lt;/code&gt; and &lt;code&gt;/claude-api managed-agents-secure&lt;/code&gt; commands round out the releases.&lt;/p&gt;

&lt;h3&gt;
  
  
  Codex CLI 0.163.0 (October 15)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.com/openai/codex/releases/tag/rust-v0.163.0" rel="noopener noreferrer"&gt;OpenAI shipped Codex CLI 0.163.0&lt;/a&gt; on October 15. The feature list is practical:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A searchable &lt;code&gt;/config&lt;/code&gt; screen&lt;/li&gt;
&lt;li&gt;Steering Codex while it is mid-response&lt;/li&gt;
&lt;li&gt;A leader key in &lt;code&gt;/keymap&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;A &lt;code&gt;/daemon&lt;/code&gt; command that restarts the background server&lt;/li&gt;
&lt;li&gt;Parallel read-only tool calls&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A feature called "Daybreak" is now on by default for eligible accounts. The release notes do not explain what it does.&lt;/p&gt;

&lt;p&gt;The security fixes matter more. Resumed threads now restore their permissions and network approvals, so a resumed session no longer starts with stale or missing grants. The network proxy now checks permission before the DNS lookup and blocks credential-alias bypasses. New sandbox integrity checks run on Linux with bubblewrap, macOS with Seatbelt and Windows with MXC. Codex also stopped bundling its patched zsh. On the model side, Codex now advertises Ultrafast mode for GPT-6.1 Sol on Amazon Bedrock.&lt;/p&gt;

&lt;h3&gt;
  
  
  GitHub Copilot HydraFusion Max (October 14)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.blog/changelog/2026-10-14-hydrafusion-updates-and-new-max-option" rel="noopener noreferrer"&gt;GitHub updated HydraFusion&lt;/a&gt; and added a HydraFusion Max option in research preview. HydraFusion combines several models into one answer. The model pool is Claude Opus 5.5, GPT-6 Astra, GPT-6.1 Sol and GPT-6 Luna.&lt;/p&gt;

&lt;p&gt;Drafts run at medium reasoning effort and reviews run at high effort. A new "Cascade" judging step asks for a repair only when the judge finds a problem. Critique now uses several critic models in parallel. HydraFusion works in VS Code, the Copilot app and Copilot CLI on the Pro, Pro+, Business and Enterprise plans.&lt;/p&gt;

&lt;p&gt;One gap stands out. GitHub's post does not explain how HydraFusion Max bills premium requests. Several models per answer means several model calls per answer. Check your usage dashboard before you turn it on for a whole org.&lt;/p&gt;

&lt;p&gt;GitHub shipped more on October 15. &lt;a href="https://github.blog/changelog/2026-10-15-agentic-autofix-for-code-scanning-alerts-general-availability" rel="noopener noreferrer"&gt;Agentic autofix for code scanning is now generally available&lt;/a&gt;. AI Scan for pull requests also reached GA, and Copilot in Slack and Teams gained multi-repo support. On October 19, GitHub released a &lt;a href="https://github.blog/changelog/2026-10-19-copilot-model-policy-api-for-enterprise-orgs-and-teams" rel="noopener noreferrer"&gt;model policy REST API&lt;/a&gt; at the enterprise, team, agent-app and org levels. Platform teams can now manage model access as code instead of clicking through settings.&lt;/p&gt;

&lt;p&gt;GitHub Universe runs October 28-29. Expect more Copilot news there.&lt;/p&gt;

&lt;h3&gt;
  
  
  GitHub CLI 2.103.0: Expiring Tokens (October 21)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://github.blog/changelog/2026-10-21-github-cli-opt-in-to-expiring-auto-refreshing-oauth-tokens" rel="noopener noreferrer"&gt;GitHub CLI 2.103.0&lt;/a&gt; added opt-in OAuth tokens that expire and refresh on their own. GitHub says a leaked token "becomes unusable within hours." That is a big deal now that coding agents call &lt;code&gt;gh&lt;/code&gt; on your behalf all day.&lt;/p&gt;

&lt;p&gt;You opt in with &lt;code&gt;gh auth login --expiring&lt;/code&gt; or &lt;code&gt;gh config set expiring_credentials enabled&lt;/code&gt;. Scripts that cache the output of &lt;code&gt;gh auth token&lt;/code&gt; will break, so update those first. The feature needs GitHub Enterprise Server 3.23 or later. GitHub plans to make it the default for new sign-ins in a future release.&lt;/p&gt;

&lt;p&gt;GitHub also put a package firewall into public preview on October 20.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor Canvases and Environments API (October 16)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://cursor.com/changelog" rel="noopener noreferrer"&gt;Cursor's October 16 update&lt;/a&gt; lets cloud agents build canvases that you can share by link. An Environments API entered beta. Environments now support up to 300 repositories, and large ones load 5x faster, by Cursor's count. Cursor made no pricing changes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Claude Platform: Per-Customer Safety Controls
&lt;/h3&gt;

&lt;p&gt;Anthropic shipped two features for teams that build agents for their own customers. On October 20, &lt;a href="https://platform.claude.com/docs/en/release-notes/overview" rel="noopener noreferrer"&gt;user profiles&lt;/a&gt; arrived at &lt;code&gt;/v1/user_profiles&lt;/code&gt;. They scope safety enforcement to one end customer instead of your whole organization. One bad actor in your app no longer puts your whole API account at risk.&lt;/p&gt;

&lt;p&gt;The same day, organization webhooks entered beta. They fire when a user profile is restricted or banned. Inference hooks reached general availability. On October 14, Managed Agents &lt;code&gt;web_search&lt;/code&gt; started following org-level domain restrictions.&lt;/p&gt;

&lt;p&gt;These are the kinds of controls that make agents safe to put in front of paying customers. If you run a multi-tenant agent product, user profiles belong in your next sprint.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quiet Week Elsewhere
&lt;/h3&gt;

&lt;p&gt;We found nothing dated in this window from Google Antigravity, Gemini CLI, Devin Desktop or Kiro. Expect that to change as GitHub Universe and AGNTCon approach.&lt;/p&gt;

&lt;h2&gt;
  
  
  Standards: MCP Reorganizes Its Working Groups
&lt;/h2&gt;

&lt;p&gt;Standards had the thinnest week of the four sections. No new MCP spec version shipped. A2A had no release, and the Agentic AI Foundation published no press releases in the window. The news came from governance, adoption data and identity.&lt;/p&gt;

&lt;h3&gt;
  
  
  MCP Creates a Tasks and Events Working Group (October 20)
&lt;/h3&gt;

&lt;p&gt;The Model Context Protocol (MCP) is the open standard that lets AI apps connect to tools and data sources through one interface. On October 20, the project merged &lt;a href="https://github.com/modelcontextprotocol/modelcontextprotocol/pull/3440" rel="noopener noreferrer"&gt;SEP PR #3440&lt;/a&gt;. It folds the task work and the event and trigger work into one new &lt;strong&gt;Tasks and Events Working Group&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The same change turns the Agents Working Group into an Interest Group. Interest Groups discuss ideas but have no decision rights. The message is clear. MCP's core team wants long-running tasks and event-driven triggers designed together, not in two separate rooms.&lt;/p&gt;

&lt;p&gt;For context, the current spec is still version 2026-07-28. That release removed the initialize handshake and the &lt;code&gt;Mcp-Session-Id&lt;/code&gt; header. It also deprecated Roots, Sampling and Logging. The latest SDKs are Python 2.3.0, released October 2, and TypeScript 2.3.1, released October 5. The MCP registry sits at version 1.8.1 and remains in preview.&lt;/p&gt;

&lt;p&gt;Why does a tasks-and-events group matter to data teams? Most data work is not a single request and response. A pipeline run, a table compaction or a long query is a task that finishes later. Agents need a standard way to start that work, check on it and get told when it is done. This working group is where that standard will come from.&lt;/p&gt;

&lt;h3&gt;
  
  
  Skills Over MCP: Adoption Is Still Thin (October 21)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="http://apievangelist.com/2026/10/21/four-companies-serve-skills-over-mcp-the-way-the-spec-says/" rel="noopener noreferrer"&gt;API Evangelist published an adoption study&lt;/a&gt; on October 21. The author probed 9,170 MCP endpoints. Only four providers serve skills the way the Skills Extension spec describes. Those four are Hugging Face, Glean, Renoolab and BestPrice. The Skills Extension, SEP-2640, reached Final status on September 13.&lt;/p&gt;

&lt;p&gt;The protocol version data is even more telling:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvf1m9jskj5czr5x5zisg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fvf1m9jskj5czr5x5zisg.png" alt="The protocol version data is even more telling" width="254" height="154"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Only 44 responding endpoints run the current spec. More than 500 still run a version from November 2024. That is a big gap between what the spec says and what servers in the wild support. If you build an MCP client, plan to support older protocol versions for a long time. If you run an MCP server, the July 2026 changes are worth the upgrade.&lt;/p&gt;

&lt;h3&gt;
  
  
  Agent Identity and Credentials
&lt;/h3&gt;

&lt;p&gt;Agent identity did not get a new standard this week, but several vendors shipped identity features. Read together, they show where the industry is heading.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Anthropic user profiles&lt;/strong&gt; scope safety enforcement to one end customer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GitHub CLI expiring tokens&lt;/strong&gt; shrink the damage window when an agent's token leaks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Claude SDK credential changes&lt;/strong&gt; fix one credential per client and set a clear lookup order.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;NVIDIA added a hardware angle on October 21. Its &lt;a href="https://nvidianews.nvidia.com/news/openshell-reference-architecture" rel="noopener noreferrer"&gt;OpenShell Reference Architecture&lt;/a&gt; is an open-source secure runtime for agents. A BlueField-4 component called "Sentry" watches agents out-of-band and enforces policy in silicon. Partners include Anthropic, OpenAI, Google, Meta, Okta, 1Password and CrowdStrike. The announcement does not mention MCP and does not name a license, so the open-source claim needs a closer look once the code appears.&lt;/p&gt;

&lt;p&gt;The standards track continues in parallel. The IETF draft &lt;a href="https://datatracker.ietf.org/doc/draft-ietf-wimse-aims/" rel="noopener noreferrer"&gt;draft-ietf-wimse-aims-00&lt;/a&gt; on AI agent authentication was published September 15. Expect it to come up at the events ahead.&lt;/p&gt;

&lt;h3&gt;
  
  
  Personal Agent Protocol Still in Draft
&lt;/h3&gt;

&lt;p&gt;The &lt;a href="https://personalagentprotocol.org/" rel="noopener noreferrer"&gt;Personal Agent Protocol&lt;/a&gt;, nicknamed "Poppy," remains a draft. Its sample discovery file shows &lt;code&gt;protocol_version "0.2"&lt;/code&gt; under Apache 2.0. Agents discover each other through &lt;code&gt;/.well-known/poppy.json&lt;/code&gt;, sign in with OAuth and keep JWT sessions. Nothing changed in the window. One single-source report says the project missed its October targets.&lt;/p&gt;

&lt;h3&gt;
  
  
  AGNTCon + MCPCon This Week
&lt;/h3&gt;

&lt;p&gt;AGNTCon and MCPCon North America run October 22-23 in San Jose. With a new MCP working group, a final Skills spec and thin adoption data on the table, expect protocol announcements there. We will cover them next week.&lt;/p&gt;

&lt;h2&gt;
  
  
  Infrastructure: NVIDIA Says Capacity Is the Constraint
&lt;/h2&gt;

&lt;p&gt;The infrastructure story this week was supply, not speed. NVIDIA used GTC Berlin to talk about substrates, interposers and test capacity. Two of the biggest chip suppliers reported quarters that show demand still outrunning supply.&lt;/p&gt;

&lt;h3&gt;
  
  
  NVIDIA GTC Berlin: The Supply Chain Keynote (October 21)
&lt;/h3&gt;

&lt;p&gt;Jensen Huang summed up the keynote in four words: "Capacity is the constraint." NVIDIA then &lt;a href="https://nvidianews.nvidia.com/news/nvidia-and-supply-chain-partners-expand-capacity-to-accelerate-ai-infrastructure-buildout" rel="noopener noreferrer"&gt;laid out a supply chain expansion&lt;/a&gt; across packaging, testing and optics.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Substrates:&lt;/strong&gt; package substrate capacity rises 2.5x over three years. IBIDEN gets a multibillion-dollar advance to triple capacity at its Ono plant, ramping in Q1 2028.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interposers:&lt;/strong&gt; Amkor targets more than 300% more interposer wafer capacity by the end of 2028.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Testing:&lt;/strong&gt; test capacity doubles from 2026 to 2027. KYEC gets a $1.1 billion advance for US test sites, with volume production starting April 2027.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optics:&lt;/strong&gt; SPIL's co-packaged optics capacity rises 15x by mid-2027.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;NVIDIA is now paying suppliers in advance to build plants. That tells you the bottleneck has moved past GPU design and wafer supply. It now sits in packaging, testing and optics. GPU supply will stay tight through at least 2027, and teams planning large AI clusters should plan for long lead times.&lt;/p&gt;

&lt;h3&gt;
  
  
  DSX POD: AI Factories in a Container
&lt;/h3&gt;

&lt;p&gt;NVIDIA also introduced the &lt;a href="https://nvidianews.nvidia.com/news/nvidia-introduces-dsx-pod-ai-factories-to-accelerate-europes-infrastructure-deployment" rel="noopener noreferrer"&gt;DSX POD&lt;/a&gt;, a containerized Vera Rubin AI factory design. NVIDIA says deployment at a prepared site drops from six months to as little as 14 days. Deliveries start in early 2027. NVIDIA gave no GPU count or megawatt figure per POD.&lt;/p&gt;

&lt;p&gt;A &lt;a href="https://nvidianews.nvidia.com/news/european-ecosystem-builds-worlds-most-efficient-ai-factories-with-nvidia-dsx" rel="noopener noreferrer"&gt;second announcement&lt;/a&gt; covered power. All of these figures are vendor-reported:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;MaxLPS&lt;/strong&gt; cuts power by up to 30% for the same output. At Nscale, it delivered 49% more throughput inside a 264 kW budget.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DSX Flex&lt;/strong&gt; cuts power by up to 40% during simulated grid events. Data centers can now shed load when the grid is under stress.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Vera Rubin&lt;/strong&gt; runs on 45°C coolant. Warmer coolant means less chilling and lower cooling bills.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DSX OS&lt;/strong&gt; is open source.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Power is now the hard limit for many AI sites. Grid-aware load shedding helps data centers win interconnect approvals faster. Watch for utilities to start asking for it.&lt;/p&gt;

&lt;p&gt;On October 16, &lt;a href="https://nvidianews.nvidia.com/news/nvidia-rtx-spark-pcs-available-today-a-new-beginning-for-windows-pcs" rel="noopener noreferrer"&gt;RTX Spark PCs went on sale&lt;/a&gt;. Paired with Nemotron Bolt's 24GB footprint, NVIDIA is pushing hard on local agent inference.&lt;/p&gt;

&lt;h3&gt;
  
  
  TSMC Q3: Advanced Nodes Hit 79% (October 15)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://pr.tsmc.com/english/news/3346" rel="noopener noreferrer"&gt;TSMC reported third-quarter results&lt;/a&gt; on October 15. Revenue reached US$46.72 billion, up 41.2% year over year. Net income hit NT$763.06 billion, up 68.7%. Gross margin came in at 66.4%.&lt;/p&gt;

&lt;p&gt;The node mix shows how fast AI chips move to new processes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;2nm: 8% of wafer revenue&lt;/li&gt;
&lt;li&gt;3nm: 33%&lt;/li&gt;
&lt;li&gt;Advanced nodes overall (7nm and below): 79%&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;TSMC guided fourth-quarter revenue to $52.3-54.3 billion. &lt;a href="https://www.crnasia.com/news/2026/components-and-peripherals/tsmc-third-quarter-revenue-tops-guidance-as-ceo-says-ai-dema" rel="noopener noreferrer"&gt;Secondary coverage&lt;/a&gt; puts high-performance computing at 68% of revenue. TSMC's own release does not confirm that figure or any capex update.&lt;/p&gt;

&lt;h3&gt;
  
  
  ASML Q3: Customers Ordering for 2029 (October 14)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.sec.gov/Archives/edgar/data/0000937966/000162828026065813/pressreleasefinancialresul.htm" rel="noopener noreferrer"&gt;ASML reported third-quarter results&lt;/a&gt; on October 14. Sales hit €11.66 billion with a 57.5% gross margin and €4.96 billion in net income. ASML guided Q4 to €14.2-15.2 billion and full-year 2026 to €44-45 billion.&lt;/p&gt;

&lt;p&gt;The detail that matters is the order horizon. Some customers want to place orders for 2029 and 2030. ASML says its supply for 2027 and 2028 will not fully meet demand. ASML did not disclose a bookings figure. When the company that makes the lithography machines is sold out two years ahead, every chip downstream stays scarce.&lt;/p&gt;

&lt;h3&gt;
  
  
  Anthropic and Nscale: A Second Deal in Talks (Unconfirmed)
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://bloomberght.com/nscale-ve-anthropic-45-milyar-dolarlik-bilisim-anlasmasi-icin-gorusuyor-3791844" rel="noopener noreferrer"&gt;Bloomberg HT, citing Bloomberg, reported&lt;/a&gt; on October 19 that Anthropic is in talks with Nscale for a second deal of roughly $45 billion. We did not see the original Bloomberg story, so this rests on secondary write-ups. The reported deal covers about 460 MW at Nscale's Monarch campus in West Virginia, running Vera Rubin chips. Anthropic also gets a reported right of first refusal on a third building.&lt;/p&gt;

&lt;p&gt;The talks are not final. Both companies declined to comment. Treat this as a report, not a done deal.&lt;/p&gt;

&lt;h3&gt;
  
  
  What We Did Not See
&lt;/h3&gt;

&lt;p&gt;We found nothing dated in the window on HBM memory, Google TPUs, AWS Trainium or new gigawatt-scale power deals. The Open Compute Project Summit announcements landed on October 12, just before this window. Those included Meta adopting NVIDIA Spectrum-6, AMD's Helion rack and Microsoft's Maia 300 chip.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Data Layer Takeaway
&lt;/h2&gt;

&lt;p&gt;Three threads from this week point at the data layer.&lt;/p&gt;

&lt;p&gt;First, agents are getting cheaper to run and easier to host. At $0.15 per million input tokens, an agent can read a lot of table metadata before the bill matters. Open models with 1M context make private deployment practical. The limit is no longer the model. It is whether the agent can find governed, well-described data.&lt;/p&gt;

&lt;p&gt;Second, credentials and approvals got stricter everywhere. Expiring tokens, per-customer safety profiles and human-only approval checks all point the same way. Agents will act on your data, and every action needs an owner and an audit trail. A lakehouse with a governed catalog and fine-grained access control gives agents that boundary.&lt;/p&gt;

&lt;p&gt;Third, MCP is reorganizing around tasks and events. Data work is long-running by nature. The protocol that lets an agent start a job, track it and hear when it finishes will shape how agents interact with query engines and catalogs.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to Watch Next Week
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;October 22-23:&lt;/strong&gt; AGNTCon + MCPCon North America in San Jose&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;October 23:&lt;/strong&gt; MiniMax M3.1 Flash weights (reported) and Nemotron 3.5 Bolt E4B&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;October 28-29:&lt;/strong&gt; GitHub Universe&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;October 31:&lt;/strong&gt; DeepSeek Search and Fetch billing starts for harness users, and the deadline for Mistral Large 4 weights&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;November 16:&lt;/strong&gt; Copilot retires Opus 4.8, Opus 5 and GPT-5.6 Terra&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;November 30:&lt;/strong&gt; Claude Sonnet 4.5 retires, and Gemini 4 Argon introductory pricing ends&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Resources to Go Further
&lt;/h2&gt;

&lt;p&gt;AI changes fast. Here are tools and resources to help you keep pace.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Try Dremio Free&lt;/strong&gt; - Experience agentic analytics and an Apache Iceberg-powered lakehouse. &lt;a href="https://www.dremio.com/get-started?utm_source=ev_external_blog&amp;amp;utm_medium=influencer&amp;amp;utm_campaign=pag&amp;amp;utm_term=10-21-2026&amp;amp;utm_content=alexmerced" rel="noopener noreferrer"&gt;Start your free trial&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Learn Agentic AI with Data&lt;/strong&gt; - Dremio's agentic analytics features let your AI agents query and act on live data. &lt;a href="https://www.dremio.com/use-cases/agentic-ai/?utm_source=ev_external_blog&amp;amp;utm_medium=influencer&amp;amp;utm_campaign=pag&amp;amp;utm_term=10-21-2026&amp;amp;utm_content=alexmerced" rel="noopener noreferrer"&gt;Explore Dremio Agentic AI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Join the Community&lt;/strong&gt; - Connect with data engineers and AI practitioners building on open standards. &lt;a href="https://developer.dremio.com/?utm_source=ev_external_blog&amp;amp;utm_medium=influencer&amp;amp;utm_campaign=pag&amp;amp;utm_term=10-21-2026&amp;amp;utm_content=alexmerced" rel="noopener noreferrer"&gt;Join the Dremio Developer Community&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Book: The 2026 Guide to AI-Assisted Development&lt;/strong&gt; - Covers prompt engineering, agent workflows, MCP, evaluation, security, and career paths. &lt;a href="https://www.amazon.com/2026-Guide-AI-Assisted-Development-Engineering-ebook/dp/B0GQW7CTML/" rel="noopener noreferrer"&gt;Get it on Amazon&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Book: Using AI Agents for Data Engineering and Data Analysis&lt;/strong&gt; - A practical guide to Claude Code, Google Antigravity, OpenAI Codex, and more. &lt;a href="https://www.amazon.com/Using-Agents-Data-Engineering-Analysis-ebook/dp/B0GR6PYJT9/" rel="noopener noreferrer"&gt;Get it on Amazon&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Apache Data Lakehouse Weekly: October 14-21, 2026</title>
      <dc:creator>Alex Merced</dc:creator>
      <pubDate>Wed, 21 Oct 2026 19:03:32 +0000</pubDate>
      <link>https://dev.to/alexmercedcoder/apache-data-lakehouse-weekly-october-14-21-2026-4lbn</link>
      <guid>https://dev.to/alexmercedcoder/apache-data-lakehouse-weekly-october-14-21-2026-4lbn</guid>
      <description>&lt;p&gt;Many contributors were still flying home from Community Over Code in Glasgow, and the lists picked up where the hallway talks ended. Iceberg wrote unstructured files into its v4 spec. Polaris argued about who owns those files once they sit behind a catalog. Parquet spent the week deciding what a vector is and what a format version means. The common thread was AI data: embeddings, files and semantic models all moved toward being first-class citizens of the open lakehouse.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Iceberg
&lt;/h2&gt;

&lt;p&gt;The biggest outcome was the &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15560.html" rel="noopener noreferrer"&gt;passing vote to add a File type to the v4 spec&lt;/a&gt;. Talat Uyarer &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15508.html" rel="noopener noreferrer"&gt;opened the vote&lt;/a&gt; for the FILE type working group. It closed with 8 binding +1s, from Steven Wu, Péter Váry, Daniel Weeks, Gang Wu, Sung Yun, Amogh Jahagirdar, Yufei Gu and Russell Spitzer, plus 19 non-binding +1s. The new type stores a range of bytes either inline or as a reference to an external object, with fixed sub-fields for URI, offset, size, content type and checksum. It mirrors Parquet's FILE logical type, so images, PDFs and audio can sit in a table column with real metadata and stats. Kurtis Wright &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15541.html" rel="noopener noreferrer"&gt;voted +0&lt;/a&gt;. He argued that maintenance jobs need a signal for when a referenced object is safe to delete, or tables sharing a media bucket will step on each other. Daehong Jeon and Orest Tokovenko have already volunteered to implement the type in iceberg-rust and PyIceberg.&lt;/p&gt;

&lt;p&gt;That vote followed the &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15539.html" rel="noopener noreferrer"&gt;result of the baseline v4 AMT spec vote&lt;/a&gt;, which passed with 9 binding and 9 non-binding +1s. With the Adaptive Metadata Tree in the main spec, the follow-ups started at once. Anoop Johnson &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15547.html" rel="noopener noreferrer"&gt;proposed extending "tight" stats&lt;/a&gt; beyond min and max to null, NaN and value counts, so an engine could answer &lt;code&gt;count(*) WHERE col IS NULL&lt;/code&gt; from metadata alone. Kevin Liu &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15557.html" rel="noopener noreferrer"&gt;asked whether v4 should be Parquet-only&lt;/a&gt; for data files as well as manifests. He pointed to V3 feature gaps in ORC and Avro and thin support outside Java. Péter Váry and Junwang Zhao pushed back hard on narrowing the spec, and Junwang named Vortex, Lance and Nimble as formats worth keeping the door open for. Kevin will move it to a dedicated thread.&lt;/p&gt;

&lt;p&gt;AI-oriented types kept coming. In the &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15540.html" rel="noopener noreferrer"&gt;File and Vector sync thread&lt;/a&gt;, Péter Váry proposed int8 and float16 primitives for vector indexes. Philipp Fischbeck wanted them only as vector element types, and Russell Spitzer suggested voting the Vector type in first. Péter also &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15543.html" rel="noopener noreferrer"&gt;revived derived columns&lt;/a&gt;, and Szehon Ho suggested landing them through the secondary index spec. On the stats side, Yuya Ebihara &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15573.html" rel="noopener noreferrer"&gt;proposed an HLL sketch blob type for Puffin&lt;/a&gt;. Theta sketches cost Trino 10-20% on inserts, and without a standard HLL type every engine invents its own. Yong Zheng also &lt;a href="https://www.mail-archive.com/dev@iceberg.apache.org/msg15570.html" rel="noopener noreferrer"&gt;flagged that the REST spec is not valid OpenAPI 3.1&lt;/a&gt;, which he found while upgrading Polaris.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Polaris
&lt;/h2&gt;

&lt;p&gt;JB Onofré &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06181.html" rel="noopener noreferrer"&gt;put Polaris Directories up for review&lt;/a&gt;. A Directory is a table-like entity over an object-store prefix, with its contents tracked in a regular Iceberg inventory table. Ankur Kotwal found a bug where the scanner can delete a file a commit may have already landed, and he wants it fixed before 1.9.0. Tornike Gurgenidze argued the inventory should be the source of truth, like Iceberg manifests, so Polaris could offer snapshot listings and time travel over files. Yufei Gu suggested phasing the feature rather than rushing it into the release JB has targeted for the end of October.&lt;/p&gt;

&lt;p&gt;Qiegang Long &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06185.html" rel="noopener noreferrer"&gt;shared a proof of concept for multi-table, multi-statement transactions&lt;/a&gt;, with Spark and Trino running &lt;code&gt;BEGIN ... COMMIT&lt;/code&gt; across tables. JB welcomed it but set a process: design doc first, then small PRs, plus a persistence SPI so it does not depend on PostgreSQL. JB also &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06165.html" rel="noopener noreferrer"&gt;asked how Polaris should support custom entities&lt;/a&gt; without patching core enums, since semantic models, tags, lineage and directories each touched about ten classes.&lt;/p&gt;

&lt;p&gt;Process got attention too. Yufei Gu &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06196.html" rel="noopener noreferrer"&gt;proposed an opt-in AI code review bot&lt;/a&gt;. JB backed it with labelling rules drawn from ASF guidance. Robert Stupp asked who pays, what data it keeps and why a second bot is needed next to Copilot. vignesh a reported that the bot missed context agreed on the list. Separately, the &lt;a href="https://www.mail-archive.com/dev@polaris.apache.org/msg06174.html" rel="noopener noreferrer"&gt;IRC Labels design&lt;/a&gt; settled on labels as a read-only projection of Polaris tags.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Arrow
&lt;/h2&gt;

&lt;p&gt;Raúl Cumplido &lt;a href="https://www.mail-archive.com/dev@arrow.apache.org/msg35211.html" rel="noopener noreferrer"&gt;announced Arrow 26.0.0&lt;/a&gt;, with 337 resolved issues. Arrow Rust 59.3.1 &lt;a href="https://www.mail-archive.com/dev@arrow.apache.org/msg35200.html" rel="noopener noreferrer"&gt;passed its vote&lt;/a&gt; with four binding +1s. Andrew Lamb then &lt;a href="https://www.mail-archive.com/dev@arrow.apache.org/msg35209.html" rel="noopener noreferrer"&gt;announced patch releases on four arrow-rs branches&lt;/a&gt; at once, a rare step for a project that normally ships forward. JB &lt;a href="https://www.mail-archive.com/dev@arrow.apache.org/msg35210.html" rel="noopener noreferrer"&gt;gave a heads up on Arrow Java 20.0.0&lt;/a&gt;, with a vote expected soon.&lt;/p&gt;

&lt;p&gt;On the format side, Rusty Conover &lt;a href="https://www.mail-archive.com/dev@arrow.apache.org/msg35204.html" rel="noopener noreferrer"&gt;posted draft PRs across five languages&lt;/a&gt; so dictionary-encoded extension types survive IPC. The trigger was DuckDB failing to export a dictionary-encoded UUID column, and he plans a format vote in about a week. Tornike Gurgenidze &lt;a href="https://www.mail-archive.com/dev@arrow.apache.org/msg35207.html" rel="noopener noreferrer"&gt;proposed letting Flight SQL servers advertise their Substrait dialect&lt;/a&gt;, which ADBC would inherit. The PMC also &lt;a href="https://www.mail-archive.com/dev@arrow.apache.org/msg35186.html" rel="noopener noreferrer"&gt;welcomed Richard Baah as a committer&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Parquet
&lt;/h2&gt;

&lt;p&gt;The vector debate dominated. Jan Finis &lt;a href="https://www.mail-archive.com/dev@parquet.apache.org/msg28122.html" rel="noopener noreferrer"&gt;argued a finite vector type adds rules without new capability&lt;/a&gt;. Daniel Weeks and Gang Wu countered that logical types carry meaning, just as STRING promises valid UTF-8. Ryan Blue &lt;a href="https://www.mail-archive.com/dev@parquet.apache.org/msg28137.html" rel="noopener noreferrer"&gt;proposed two types&lt;/a&gt;: a finite vector for embeddings and a fixed-length list that allows NaN. Russell Spitzer &lt;a href="https://www.mail-archive.com/dev@parquet.apache.org/msg28146.html" rel="noopener noreferrer"&gt;backed the two-type path&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Alkis Evlogimenos &lt;a href="https://www.mail-archive.com/dev@parquet.apache.org/msg28116.html" rel="noopener noreferrer"&gt;laid out a concrete versioning proposal&lt;/a&gt; after auditing eight readers. Unknown encodings fail safely, but unknown page types and codecs can silently drop or corrupt rows in some readers. So encodings like ALP could ship in PAR1 files, while new page types or codecs would require a new compatibility level. Andrew Lamb and Divjot Arora were supportive. Daniel Weeks also &lt;a href="https://www.mail-archive.com/dev@parquet.apache.org/msg28140.html" rel="noopener noreferrer"&gt;rejected redefining &lt;code&gt;distinct_count&lt;/code&gt; as an estimate&lt;/a&gt;, and Gunnar Morling &lt;a href="https://www.mail-archive.com/dev@parquet.apache.org/msg28136.html" rel="noopener noreferrer"&gt;contributed FILE type fixtures&lt;/a&gt; that parquet-java and arrow-rs both read correctly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Ossie
&lt;/h2&gt;

&lt;p&gt;The incubating semantic interchange project was the busiest list of the week. Julian Hyde &lt;a href="https://lists.apache.org/thread/2yz0r9ko95cnm17thv8rxsmk11zy9oy9" rel="noopener noreferrer"&gt;asked whether the project is truly open&lt;/a&gt;, calling Slack and working groups a walled garden. Chris Eubank agreed the point was fair and made it explicit that decisions happen on &lt;a href="mailto:dev@"&gt;dev@&lt;/a&gt;. A run of SQL dialect PRs led Chris to &lt;a href="https://lists.apache.org/thread/vmgv5ffryw70wxbvtwnohhhz2zzx0ocf" rel="noopener noreferrer"&gt;propose making &lt;code&gt;dialect&lt;/code&gt; a free-text field&lt;/a&gt;. The converters &lt;a href="https://lists.apache.org/thread/7wyp0y0bx9tyvpytxq09n2h6n0bdkcd5" rel="noopener noreferrer"&gt;moved to their own repo&lt;/a&gt;, and JB is now preparing the first core release.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cross-Project Themes
&lt;/h2&gt;

&lt;p&gt;Unstructured data arrived at three layers at once. Parquet has a FILE logical type, Iceberg voted in a matching File column, and Polaris is designing Directories over raw prefixes. All three hit the same open question: who decides when a referenced object can be deleted, and which layer holds the truth. Kurtis Wright's +0 in Iceberg and Tornike's inventory argument in Polaris are the same concern from two angles. Expect a shared answer to emerge rather than three separate ones.&lt;/p&gt;

&lt;p&gt;The vector debate also crosses projects. Parquet is defining the physical type while Iceberg debates element types like int8 and float16, and Will Edwards suggested Iceberg might be the better home for the finiteness contract. Meanwhile, two projects openly wrestled with AI in their own process, from Polaris's review bot to contributors disclosing LLM-assisted reports on Polaris and Parquet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Looking Ahead
&lt;/h2&gt;

&lt;p&gt;Watch for a Polaris 1.9.0 release candidate and whether Directories make the cut. Arrow Java 20.0.0 and ADBC 25 votes should land, along with Rusty Conover's dictionary extension format vote. In Iceberg, look for Kevin Liu's format thread and a Vector type vote. In Parquet, watch whether the two-type vector proposal and the versioning design move toward a vote.&lt;/p&gt;




&lt;h2&gt;
  
  
  Resources &amp;amp; Further Learning
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Get Started with Dremio&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.dremio.com/get-started?utm_source=ev_external_blog&amp;amp;utm_medium=influencer&amp;amp;utm_campaign=pag&amp;amp;utm_term=apache-newsletter-2026-10-21&amp;amp;utm_content=alexmerced" rel="noopener noreferrer"&gt;Try Dremio Free&lt;/a&gt;: Build your lakehouse on Iceberg with a free trial&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.dremio.com/use-cases/lake-to-iceberg-lakehouse/?utm_source=ev_external_blog&amp;amp;utm_medium=influencer&amp;amp;utm_campaign=pag&amp;amp;utm_term=apache-newsletter-2026-10-21&amp;amp;utm_content=alexmerced" rel="noopener noreferrer"&gt;Build a Lakehouse with Iceberg, Parquet, Polaris &amp;amp; Arrow&lt;/a&gt;: Learn how Dremio brings the open lakehouse stack together&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Free Downloads&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://hello.dremio.com/wp-apache-iceberg-the-definitive-guide-reg.html" rel="noopener noreferrer"&gt;Apache Iceberg: The Definitive Guide&lt;/a&gt;: O'Reilly book, free download&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://hello.dremio.com/wp-apache-polaris-guide-reg.html" rel="noopener noreferrer"&gt;Apache Polaris: The Definitive Guide&lt;/a&gt;: O'Reilly book, free download&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Books by Alex Merced&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.amazon.com/Architecting-Apache-Iceberg-Lakehouse-open-source/dp/1633435105/ref=sr_1_5?crid=1304S78BQAP6U&amp;amp;dib=eyJ2IjoiMSJ9.7Z17wXFJVWtv1gDIVF5-z5NwgT7B-vj9kEQuLkAKtLh00KncwXYc4bQ6hyydwcMHXbJOlFCSO7-2JmKTC5KCV-q2XEdeq7kBBmicVzI6tlDtqPqAgE6RHJE_XZ_n-zxxAjRHE2THP0J4DEgzDmiXrF9bdkEFyaruSUW28Ryx0zYyI_NuD5vZ4HYqQv3u5hzBVjjOlxyRYSTIsRSeVIoJC2XvjrXdNFvQ9jm4Kr1xFOw.yog4MgCdYecbJT0bAcGXNJJvZbvD4F_TP0lDbPA1xGI&amp;amp;dib_tag=se&amp;amp;keywords=alex+merced&amp;amp;qid=1773236747&amp;amp;sprefix=alex+mer%2Caps%2C570&amp;amp;sr=8-5" rel="noopener noreferrer"&gt;Architecting an Apache Iceberg Lakehouse&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.com/Enabling-Agentic-Analytics-Apache-Iceberg-ebook/dp/B0GQXT6W3N/ref=sr_1_7?crid=1304S78BQAP6U&amp;amp;dib=eyJ2IjoiMSJ9.7Z17wXFJVWtv1gDIVF5-z5NwgT7B-vj9kEQuLkAKtLh00KncwXYc4bQ6hyydwcMHXbJOlFCSO7-2JmKTC5KCV-q2XEdeq7kBBmicVzI6tlDtqPqAgE6RHJE_XZ_n-zxxAjRHE2THP0J4DEgzDmiXrF9bdkEFyaruSUW28Ryx0zYyI_NuD5vZ4HYqQv3u5hzBVjjOlxyRYSTIsRSeVIoJC2XvjrXdNFvQ9jm4Kr1xFOw.yog4MgCdYecbJT0bAcGXNJJvZbvD4F_DP0lDbPA1xGI&amp;amp;dib_tag=se&amp;amp;keywords=alex+merced&amp;amp;qid=1773236747&amp;amp;sprefix=alex+mer%2Caps%2C570&amp;amp;sr=8-7" rel="noopener noreferrer"&gt;Enabling Agentic Analytics with Apache Iceberg and Dremio&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.com/Lakehouses-Apache-Iceberg-Agentic-Hands/dp/B0GQNY21TD/ref=sr_1_9?crid=1304S78BQAP6U&amp;amp;dib=eyJ2IjoiMSJ9.7Z17wXFJVWtv1gDIVF5-z5NwgT7B-vj9kEQuLkAKtLh00KncwXYc4bQ6hyydwcMHXbJOlFCSO7-2JmKTC5KCV-q2XEdeq7kBBmicVzI6tlDtqPqAgE6RHJE_XZ_n-zxxAjRHE2THP0J4DEgzDmiXrF9bdkEFyaruSUW28Ryx0zYyI_NuD5vZ4HYqQv3u5hzBVjjOlxyRYSTIsRSeVIoJC2XvjrXdNFvQ9jm4Kr1xFOw.yog4MgCdYecbJT0bAcGXNJJvZbvD4F_DP0lDbPA1xGI&amp;amp;dib_tag=se&amp;amp;keywords=alex+merced&amp;amp;qid=1773236747&amp;amp;sprefix=alex+mer%2Caps%2C570&amp;amp;sr=8-9" rel="noopener noreferrer"&gt;The 2026 Guide to Lakehouses, Apache Iceberg and Agentic AI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.amazon.com/Book-Using-Apache-Iceberg-Python/dp/B0GNZ454FF/ref=sr_1_16?crid=1304S78BQAP6U&amp;amp;dib=eyJ2IjoiMSJ9.7Z17wXFJVWtv1gDIVF5-z5NwgT7B-vj9kEQuLkAKtLh00KncwXYc4bQ6hyydwcMHXbJOlFCSO7-2JmKTC5KCV-q2XEdeq7kBBmicVzI6tlDtqPqAgE6RHJE_XZ_n-zxxAjRHE2THP0J4DEgzDmiXrF9bdkEFyaruSUW28Ryx0zYyI_NuD5vZ4HYqQv3u5hzBVjjOlxyRYSTIsRSeVIoJC2XvjrXdNFvQ9jm4Kr1xFOw.yog4MgCdYecbJT0bAcGXNJJvZbvD4F_DP0lDbPA1xGI&amp;amp;dib_tag=se&amp;amp;keywords=alex+merced&amp;amp;qid=1773236747&amp;amp;sprefix=alex+mer%2Caps%2C570&amp;amp;sr=8-16" rel="noopener noreferrer"&gt;The Book on Using Apache Iceberg with Python&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>bigdata</category>
      <category>data</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Apache Data Lakehouse Weekly: October 6-14, 2026</title>
      <dc:creator>Alex Merced</dc:creator>
      <pubDate>Wed, 14 Oct 2026 17:08:21 +0000</pubDate>
      <link>https://dev.to/alexmercedcoder/apache-data-lakehouse-weekly-october-6-14-2026-48b2</link>
      <guid>https://dev.to/alexmercedcoder/apache-data-lakehouse-weekly-october-6-14-2026-48b2</guid>
      <description>&lt;p&gt;Half the lakehouse community spent this week in Glasgow at Community Over Code, and the mailing lists show it. Syncs got cancelled, board reports went out late, and several threads open with a nod to a hallway conversation from Lakehouse Day. The work did not slow down. Apache Iceberg ran three overlapping v4 spec votes at once, Apache Parquet put a concrete versioning proposal on the table, Apache DataFusion Comet asked to become its own top-level project, and Apache Ossie (incubating) argued about where an MCP server belongs.&lt;/p&gt;

&lt;p&gt;The thread that ties the week together is precision. Each community is replacing a loose rule with an exact one. Iceberg is pinning down snapshot timestamps and statistics guarantees. Parquet is fixing the meaning of a statistic that never had a firm definition. Polaris is redrawing the line between catalog configuration and server storage access. Ossie is deciding which parts of a semantic model must be portable before anyone can query one. These are the unglamorous rules that let engines, catalogs, and AI agents trust the same data without asking a human first.&lt;/p&gt;

&lt;p&gt;This issue covers Apache Iceberg, Apache Polaris, Apache Arrow, Apache Parquet, Apache DataFusion, and Apache Ossie (incubating). All thread links point to the official archives at lists.apache.org.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Iceberg
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Three v4 votes in one week
&lt;/h3&gt;

&lt;p&gt;The Iceberg v4 table spec moved further this week than in any week this fall. Three separate spec votes ran in parallel, and none of them drew a single -1.&lt;/p&gt;

&lt;p&gt;The first to close was Steven Wu's proposal to &lt;a href="https://lists.apache.org/thread/y2fvgh4ojfcss7o76drkgdvdrpb17ccm" rel="noopener noreferrer"&gt;require monotonically increasing snapshot timestamps in v4&lt;/a&gt;. The rule is simple. Every new snapshot on a branch in a v4 table must carry a &lt;code&gt;timestamp-ms&lt;/code&gt; strictly greater than its parent's. Root snapshots stay unconstrained, and v1 through v3 tables keep their current behavior. Steven explained that out-of-order timestamps break time travel today, because a query for "the table as of 3:00 PM" picks the wrong snapshot when clocks drift between writers. The rule also opens the door to a row timestamp metadata column inherited from the snapshot timestamp, which Steven flagged as a separate follow-up change. The vote passed with 9 binding +1s and 11 non-binding +1s. Maninder Parmar added a note worth tracking: he wants the community to consider nanosecond precision (&lt;code&gt;timestamp-ns&lt;/code&gt;) later, so high-throughput tables do not hit collisions at the millisecond level. Xuanwo restated the scope in his +1, confirming that pre-upgrade snapshots stay exempt.&lt;/p&gt;

&lt;p&gt;The second vote is the big one. Amogh Jahagirdar opened a vote to &lt;a href="https://lists.apache.org/thread/qch7jjnwb8pm49lt3h7lqfxj82hlg8ps" rel="noopener noreferrer"&gt;merge the baseline v4 AMT spec PR into the main repo&lt;/a&gt;. AMT is the adaptive metadata tree, the new metadata structure at the center of v4 that changes how Iceberg organizes manifests and commits. Amogh was careful about what the vote means. It is a vote to land a baseline in the repository so other v4 work stops fighting rebases, and it is not a vote to adopt the design as final. Encryption, column file update rules, and dropping the partition tuple all remain open for later iteration. The thread filled with +1s from Steven Wu, Daniel Weeks, Russell Spitzer, Eduard Tudenhöfner, Fokko Driesprong, Gang Wu, Szehon Ho, and Péter Váry, plus a long list of non-binding supporters. Gábor Kaszab volunteered to cover the encryption piece in an immediate follow-up. Contributor 전대홍 said he looks forward to building AMT in iceberg-rust, which tells you the Rust implementation intends to track v4 closely rather than trail it.&lt;/p&gt;

&lt;p&gt;The third vote opened on October 13. Talat Uyarer, writing for the FILE type working group, called a vote to &lt;a href="https://lists.apache.org/thread/7ctclwomk8yqcclzj82z0htlqk2xjf49" rel="noopener noreferrer"&gt;add the File type to the Iceberg v4 spec&lt;/a&gt;. This is a new data type for a range of bytes, stored either inline or as a reference to an external file. Its value semantics follow the FILE logical type in the Parquet spec. A file field carries six fixed, implicit sub-fields: &lt;code&gt;uri&lt;/code&gt;, &lt;code&gt;offset&lt;/code&gt;, &lt;code&gt;size&lt;/code&gt;, &lt;code&gt;content_type&lt;/code&gt;, &lt;code&gt;checksum&lt;/code&gt;, and &lt;code&gt;inline&lt;/code&gt;. They never appear in the schema and cannot be added, removed, reordered, or promoted. Their field IDs are offsets one through six from the file field's own ID, so adding one file column moves &lt;code&gt;last-column-id&lt;/code&gt; forward by seven.&lt;/p&gt;

&lt;p&gt;The restrictions matter as much as the feature. Equality, ordering, and hashing are undefined for file values. A file column cannot be an identifier field or a source for partition or sort transforms. It must default to null. A struct with the same sub-fields is not interchangeable with a file and cannot be promoted into one. And a &lt;code&gt;uri&lt;/code&gt; makes no promise that the referenced object still exists. Relative URIs resolve against the table location, which keeps tables portable when you move them. Each sub-field gets its own column statistics, and writers should produce stats for &lt;code&gt;uri&lt;/code&gt;, &lt;code&gt;content_type&lt;/code&gt;, and &lt;code&gt;inline&lt;/code&gt;. The format mappings are clean: the FILE logical type in Parquet, a record in Avro, and a struct tagged &lt;code&gt;iceberg.struct-type=FILE&lt;/code&gt; in ORC. By the end of the window the thread had binding +1s from Russell Spitzer, Steven Wu, Daniel Weeks, Gang Wu, and Sung Yun, with no objections. The 72-hour window closes this week.&lt;/p&gt;

&lt;p&gt;Why does a file type matter? Because the lakehouse is absorbing unstructured data. Images, PDFs, audio clips, and model artifacts already sit next to tables in object storage. Today a table points at them with a plain string column and a convention. A typed file column gives engines the offset, size, content type, and checksum they need to read, verify, and govern those bytes with the same metadata machinery Iceberg uses for everything else. For teams building AI pipelines on Iceberg, this is the bridge between "a table of embeddings" and "a table of the documents those embeddings came from."&lt;/p&gt;

&lt;h3&gt;
  
  
  Statistics and vectors
&lt;/h3&gt;

&lt;p&gt;Two design threads moved toward consensus without a vote. Anoop Johnson's &lt;a href="https://lists.apache.org/thread/0r64rnn0t3dtlhj1pb4ckkt2s7yow2cq" rel="noopener noreferrer"&gt;Iceberg v4 stats tightness&lt;/a&gt; discussion settled on a single file-level flag. Hongyue Zhang laid out why bounds stop being tight. Deletion vectors added after a file is written remove rows, so the original min and max bounds no longer describe the live data. Variable-length columns such as strings and binary also carry truncated bounds by design. Steven Wu and Szehon Ho backed the file-level approach, citing Russell Spitzer's analysis that most use cases repair every bound at once and do not need per-column tracking. Anoop summarized the upgrade path. Files inside existing v3 manifests carry no flag, so readers treat their stats as wide. New v4 files carry &lt;code&gt;true&lt;/code&gt; when no deletion vector is attached and &lt;code&gt;false&lt;/code&gt; when one is. This matters for query planning. An engine that knows bounds are tight can answer some aggregate queries from metadata alone and prune more files with confidence.&lt;/p&gt;

&lt;p&gt;On the vector side, Yan Yan &lt;a href="https://lists.apache.org/thread/49bm2d8szbzkvtdog38s1o6zb04cj67o" rel="noopener noreferrer"&gt;extended the Thursday biweekly sync to cover both the File and Vector types&lt;/a&gt; and posted a draft spec PR built on the Parquet community's emerging vector work. The meeting notes set a narrow first scope. Iceberg will start with a one-dimensional numeric vector of fixed length with non-null, finite coordinates, where +0 and -0 both stay valid. The initial element types are int, long, float, and double. Narrower types such as int8 are deferred as possible future Iceberg primitives, though the Parquet representation can still carry them. Distance functions and sparse vectors are out of scope for now and will return with the index design. Formats without native vector support will use a list representation with writer-side enforcement, and the group will explore an Avro vector logical type with the Avro community. ORC support remains open.&lt;/p&gt;

&lt;h3&gt;
  
  
  REST catalog contract
&lt;/h3&gt;

&lt;p&gt;Two REST catalog threads closed out with concrete changes. Rahul Mahadev posted the &lt;a href="https://lists.apache.org/thread/pllz983cvffryzcwskglsr0cyo7p0gxx" rel="noopener noreferrer"&gt;result of the User-Agent vote&lt;/a&gt;: the recommendation for a standard User-Agent format for REST clients passed with 19 +1 votes, 10 of them binding, and no objections. The &lt;a href="https://lists.apache.org/thread/yoqr9zkxysrpb7grcncw5756omcqdmkx" rel="noopener noreferrer"&gt;reopened vote&lt;/a&gt; had collected late +1s from Gang Wu, Zheng Hu, Ryan Blue, Fokko Driesprong, John Zhuge, and Huaxin Gao. Zheng Hu flagged CVE scanning failures on the PR, so watch for that before merge. A shared User-Agent format sounds minor, but it gives catalog operators a reliable way to see which engines and library versions hit their servers, which helps with deprecation planning and incident response.&lt;/p&gt;

&lt;p&gt;The second REST thread resolved a gap in credential vending. Youngrae Kim had asked &lt;a href="https://lists.apache.org/thread/ws89d7doddgqc2j8fc2xt84bchr374t2" rel="noopener noreferrer"&gt;what a server should do when the X-Iceberg-Access-Delegation header cannot be satisfied&lt;/a&gt;. Daniel Weeks suggested adding a &lt;code&gt;none&lt;/code&gt; value, meaning the client does not need delegated access from the catalog. Yufei Gu and Dmitri Bourlatchkov agreed. Dan and Dmitri then argued against adding a sentence that explicitly allows a server to fail the request, since a server can always reject a request anyway. Youngrae opened &lt;a href="https://github.com/apache/iceberg/pull/18480" rel="noopener noreferrer"&gt;spec PR #18480&lt;/a&gt;, which adds &lt;code&gt;none&lt;/code&gt; to the enum with one defining sentence and leaves the rest of the header description alone. Clients that bring their own storage credentials now have a clean way to say so.&lt;/p&gt;

&lt;h3&gt;
  
  
  Smaller threads with real impact
&lt;/h3&gt;

&lt;p&gt;Sandeep Gottimukkala proposed a &lt;a href="https://lists.apache.org/thread/c91ph82tnrlhj8qq9lj8n72b0s7qq5r0" rel="noopener noreferrer"&gt;spec clarification that readers must accept promotable types in any data file&lt;/a&gt;. Type promotion lets a field evolve, for example from DECIMAL(8, 0) to DECIMAL(25, 0), without rewriting old files. The clarification states that a reader must handle the narrower physical type wherever it appears. Russell Spitzer supported it but asked to drop language about whether the field was evolved, since that detail is not part of the invariant.&lt;/p&gt;

&lt;p&gt;Revanth Ch confirmed the &lt;a href="https://lists.apache.org/thread/38ww9cto44kdrtg9hbm4j8z1st6fpzt8" rel="noopener noreferrer"&gt;migration plan for the new expression JSON forms&lt;/a&gt;. With Ryan Blue's guidance that servers always omit residual filters, the new expression syntax only flows from client to server in plan requests, so no client capability signal is needed. Revanth will open a PR so the reference implementation stops sending a residual on every scan task, then continue building conformance fixtures.&lt;/p&gt;

&lt;p&gt;Hongyue Zhang and a contributor writing as dzeri96 discussed &lt;a href="https://lists.apache.org/thread/28kw8cnzm835y2l8c6w8pp3m24551qlb" rel="noopener noreferrer"&gt;making &lt;code&gt;appendUpdate&lt;/code&gt; in BaseTransaction public&lt;/a&gt;. The use case is a custom index stored in a Puffin statistics file. Today that team injects custom pending updates through reflection to control conflict detection. The request is a small API change, but it points at a bigger need: index builders want first-class hooks into Iceberg's commit protocol. The &lt;a href="https://lists.apache.org/thread/ft12o55pl3x5m29kk2nndhk316o8bxnf" rel="noopener noreferrer"&gt;Iceberg index sync&lt;/a&gt; that normally covers this was cancelled for October 12 because so many people were traveling. Huaxin Gao pointed everyone to the index spec PR in the meantime, and the next sync is October 26.&lt;/p&gt;

&lt;p&gt;EJ Song posted a status update on &lt;a href="https://lists.apache.org/thread/qms426sxl3r1hjdm0jzm5wwqbkhdx01o" rel="noopener noreferrer"&gt;row-granular concurrency for v3 deletion vectors&lt;/a&gt;. The first step merges concurrently added deletion vectors for pure delete commits. Huaxin Gao and Uroš Bojanić have reviewed it, CI is green, and it needs one more committer to sign off on the retry semantics in MergingSnapshotProducer. When this lands, two jobs that delete different rows from the same file will stop conflicting with each other.&lt;/p&gt;

&lt;p&gt;On the integration front, Robert Kruszewski opened a PR for &lt;a href="https://lists.apache.org/thread/ff4v7jvtl1r44wvl0nntlv0d63n8p8p7" rel="noopener noreferrer"&gt;upgrading arrow-java from 15.0.2 to 19.0.0&lt;/a&gt;, which positions Iceberg for arrow-java 20 and its expected Decimal32 and Decimal64 support. Vladislav Sidorovich asked for another review on &lt;a href="https://lists.apache.org/thread/wl2m40rbs95f82sw0yhsp8rj58xr6qdf" rel="noopener noreferrer"&gt;moving Delta Lake migration to Delta Kernel&lt;/a&gt; after addressing all comments. K Krishna raised &lt;a href="https://lists.apache.org/thread/kp41hjc76o3byrw4pp3599qf13p2ykhl" rel="noopener noreferrer"&gt;two PyIceberg Azure fixes&lt;/a&gt; that had waited two weeks. One fixes a bug where FsspecFileIO wrote an inferred storage account back into shared properties, so tables spread across two storage accounts got the wrong filesystem. Fokko Driesprong picked them up.&lt;/p&gt;

&lt;p&gt;Alex Stephen announced a &lt;a href="https://lists.apache.org/thread/q011wr5ncbhf5b9ngob7cvs8119otyon" rel="noopener noreferrer"&gt;new batch of public datasets&lt;/a&gt; behind a public Iceberg REST catalog: 72 tables with over 640 billion rows. If you want to test an engine against real Iceberg tables at scale without loading data yourself, this is a free starting point.&lt;/p&gt;

&lt;p&gt;Community events filled out the calendar. Scott Haines announced the &lt;a href="https://lists.apache.org/thread/ov4bk4qg8pfod2s4z035mg3tj3tcv8mn" rel="noopener noreferrer"&gt;October virtual meetup&lt;/a&gt; for October 23 at 9:00 AM Pacific, featuring Liam Earley on improving scan latency with manifest work in iceberg-rust. Kevin Liu boosted the &lt;a href="https://lists.apache.org/thread/x5jnyggbjhy4xgs8jo3fwtbd59mdqztd" rel="noopener noreferrer"&gt;Seattle Iceberg meetup on October 21&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Polaris
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Where server storage access comes from
&lt;/h3&gt;

&lt;p&gt;The most consequential Polaris discussion this week was about boundaries. Dmitri Bourlatchkov opened a thread on &lt;a href="https://lists.apache.org/thread/636ss6fjsrhn9rzf3jdg0p4loqw3sr1v" rel="noopener noreferrer"&gt;removing default table properties from server-side FileIO configuration&lt;/a&gt;, and Vignesh posted a parallel thread on &lt;a href="https://lists.apache.org/thread/49vsx3r803nmf35wsyxl2h3qvxfrrfgs" rel="noopener noreferrer"&gt;dropping catalog &lt;code&gt;table-default.*&lt;/code&gt; properties from server FileIO construction&lt;/a&gt;. Both grew out of review on PR #5328, the table metadata cache work.&lt;/p&gt;

&lt;p&gt;Here is the problem. Polaris builds server-side FileIO objects from a mix of StorageAccessConfig and catalog-level default table properties. Vignesh noted that an earlier fix already stopped using caller-supplied metadata properties for server FileIO, tied to CVE-2026-97395. Commit, refresh, and register paths still pass catalog &lt;code&gt;table-default.*&lt;/code&gt; properties into the FileIO factory. Everyone agreed the target state is a clean one: server-side FileIO should come from StorageAccessConfig alone.&lt;/p&gt;

&lt;p&gt;The debate was about custom settings. Yufei Gu pointed out that deployments need to customize FileIO in ways nobody can predict. Dmitri first proposed letting the StorageAccessConfigProvider pull relevant catalog properties in. Jean-Baptiste Onofré preferred a different shape: a properties bag on PolarisStorageConfigurationInfo for custom FileIO settings, with MinIO and S3Mock endpoints and path-style access living on the AWS storage configuration where those fields already exist. Vignesh backed JB's shape and offered to write the cleanup PR, including moving test fixtures off &lt;code&gt;table-default.s3.*&lt;/code&gt;. Dmitri agreed with the property bag but raised an upgrade concern. Environments that rely on table defaults today will break if Polaris stops reading them overnight, so he proposed a transition path. Expect the final PR to include a deprecation window.&lt;/p&gt;

&lt;p&gt;This connects to Yufei's question about &lt;a href="https://lists.apache.org/thread/z9cgfj77s829npm51t0vcc32rclrz9mh" rel="noopener noreferrer"&gt;metadata immutability across storage endpoint changes&lt;/a&gt;. If two S3-compatible stores hold different files at the same &lt;code&gt;s3://&lt;/code&gt; path, can a storage endpoint change make an existing table's metadata URI return different content? Yufei argued table metadata should not change because a FileIO client was configured differently. Dmitri reframed it as a cache correctness question: Polaris does not control what external stores contain, so it cannot assume identical content across endpoints for caching. JB split the difference. Iceberg treats metadata files as immutable once written, so the URI acts like a content identifier in spirit. But an &lt;code&gt;s3://&lt;/code&gt; URI is not a content hash, so Polaris cannot enforce that. Robert Stupp summarized the two assumptions the system relies on and noted that neither follows from the URI and storage configuration staying the same. The practical outcome will shape whether the storage endpoint becomes part of the metadata cache key.&lt;/p&gt;

&lt;p&gt;Dmitri also flagged &lt;a href="https://lists.apache.org/thread/cn7f2ogyplrjq2y5pd9wt61zkysmwcv3" rel="noopener noreferrer"&gt;expanding the config entries in StorageCredential responses&lt;/a&gt; for community awareness, since it touches credential vending. PR #5731 from Adam lets Polaris return the full client-visible storage access configuration next to credentials. JB supported it, noting that Iceberg defines &lt;code&gt;StorageCredential.config&lt;/code&gt; as a prefix-scoped map that S3 and GCS FileIO overlay on their base properties. He asked for one rule to be made explicit before merge: if the credentials entry is meant to be the complete access config, it must hold in every case, including remote signing.&lt;/p&gt;

&lt;p&gt;On the Polaris side of the access-delegation question, the &lt;a href="https://lists.apache.org/thread/0c2l425l57j1lmmc45j1soc63klv142k" rel="noopener noreferrer"&gt;matching Polaris thread&lt;/a&gt; confirmed that Polaris keeps its fail-fast behavior, returning HTTP 400 when delegation cannot be satisfied. Youngrae Kim noted the vended-credentials docs already explain both 400 responses and tell clients to drop the header and configure their own storage credentials. Once the Iceberg spec adds &lt;code&gt;none&lt;/code&gt;, Youngrae plans to add support for it in Polaris. JB also noted that Iceberg 1.12 adds a remote signing configuration, so the community will need to revisit combined requests for vended credentials and remote signing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Labels, branches, and atomic commits
&lt;/h3&gt;

&lt;p&gt;Andrei Tserakhau opened a design discussion on &lt;a href="https://lists.apache.org/thread/ls38t86m9mrpdmcqfmqmjtg768dny8tn" rel="noopener noreferrer"&gt;IRC labels in Polaris&lt;/a&gt; now that the labels field has merged into the Iceberg REST spec and Polaris tag support is close. He proposed treating labels as a read-only projection over Polaris tags rather than a separate entity. Tags already carry definitions, allowed values, inheritance, and reverse lookup, and both models key on Iceberg field IDs. A second labels entity creates two sources of truth. Sung Yun agreed for the producer side and asked whether federated catalogs need to store foreign labels at all or can forward them straight to clients. Andrei answered that forwarding works for engines, but Polaris users need foreign labels represented as read-only tags to see them through Polaris discovery and reverse-lookup APIs. JB, picking up a conversation from Glasgow, backed the projection approach and asked about permissions and performance. Andrei proposed reusing tag visibility rules, so &lt;code&gt;loadTable&lt;/code&gt; only returns labels the caller can already see through the Tag API, and caching effective tags per table so the hot path does not resolve inheritance on every call. He also suggested gating the feature behind a flag at first.&lt;/p&gt;

&lt;p&gt;Ankur Kotwal started a discussion on &lt;a href="https://lists.apache.org/thread/zmvrf05z1m100pko8qc0syj982yrwpzx" rel="noopener noreferrer"&gt;catalog-level branches for atomic multi-table promotion&lt;/a&gt;, a feature users have requested in issue #3469. Iceberg already supports branches on a single table. What users want is a way to branch an entire catalog, write to many tables in isolation, and promote all of them to main in one atomic step. That is the lakehouse version of a database transaction across tables. After Dmitri questioned the need for a new entity type, Ankur dug into the code and found that &lt;code&gt;commitTransaction&lt;/code&gt; is already atomic on both persistence families. He opened a test and doc PR (#5740) showing a recipe built on existing pieces, then shared a design doc for a native option where a branch becomes a second named pointer next to &lt;code&gt;heads/main&lt;/code&gt;, backed by a per-catalog registry.&lt;/p&gt;

&lt;p&gt;That work feeds directly into the long-running thread on &lt;a href="https://lists.apache.org/thread/fh3r8n8r723v2r67tcgvz3d15r8qn8sy" rel="noopener noreferrer"&gt;consistent multi-object changes in Polaris persistence&lt;/a&gt;. EJ Wang's updated proof of concept centralizes business logic in a shared manager instead of reimplementing it across backends. JB praised the separation of concerns and noted it fixes a maintenance burden that dates back to the move from OpenJPA to JDBC and NoSQL. Ankur ran the multi-table promotion test from #5740 against EJ's branch on H2, plus two race tests, which is exactly the kind of cross-thread validation that makes a design trustworthy. Dmitri said he needs a couple of weeks to review the PoC properly.&lt;/p&gt;

&lt;p&gt;Yufei also endorsed a proposal on &lt;a href="https://lists.apache.org/thread/wrv5q8600vn76ghkdjjhrmsxx9jjb8rc" rel="noopener noreferrer"&gt;avoiding validation of historical metadata references on every table commit&lt;/a&gt;. When &lt;code&gt;write.metadata.path&lt;/code&gt; changes, Polaris does not need to revalidate every historical metadata file. Leaving old files in place preserves immutability for past snapshots, and moving them belongs in a separate migration process.&lt;/p&gt;

&lt;h3&gt;
  
  
  Operations and extensibility
&lt;/h3&gt;

&lt;p&gt;Tobias Riemenschneider reported that &lt;a href="https://lists.apache.org/thread/snms04dhn9d5g10g59nrfx6j2m1dw7ns" rel="noopener noreferrer"&gt;NoSQL persistence retry timeouts are not configurable&lt;/a&gt; and run shorter than the recommended MongoDB timeouts. Running Polaris 1.8.0 on MongoDB, his team sees table commits fail after 15 seconds with zero retries when MongoDB stalls behind a lagging secondary. The retry loop checks its total budget only after an attempt ends, and nothing bounds a single attempt. Robert Stupp confirmed the diagnosis: RetryConfig was always meant to be configurable, but SmallRye Config ignores it because &lt;code&gt;PersistenceParams.retryConfig()&lt;/code&gt; is a Java default method. Tobias filed issue #5777 and PR #5779 the same day. JB noted that JDBC already exposes max retries, max duration, and initial delay, so the NoSQL side will now match.&lt;/p&gt;

&lt;p&gt;JB opened a broader thread on &lt;a href="https://lists.apache.org/thread/th63h7nhxfmxywz2r28ml1f5f9fc6mmz" rel="noopener noreferrer"&gt;Polaris server extensions and custom entities&lt;/a&gt;, prompted by users he met in Glasgow. Authorizers and event listeners are easy to extend by shipping a module with a Jandex index. Custom entities are not. Users currently have to edit Polaris core and add values to the entities enum. JB opened PR #5776 to document the current state and asked the community how to make custom entities a supported extension point.&lt;/p&gt;

&lt;p&gt;Vignesh landed the prerequisite for a &lt;a href="https://lists.apache.org/thread/rswt2m6n97n2o03ll0q1bn243hsftmq0" rel="noopener noreferrer"&gt;shared CloudEvents envelope for Polaris events&lt;/a&gt;. PR #5717 adds a shared mapper next to the events SPI, with CloudEvents context at the top level, Kafka-parity fields in the data payload, and lowercase type names such as &lt;code&gt;org.apache.polaris.after_create_table&lt;/code&gt;, following Dmitri's suggestion. The webhook listener in PR #5084 will rebase on it. Dmitri also pushed the &lt;a href="https://lists.apache.org/thread/6yl42lr9ydm4m9fjsg1jj361zvjodw21" rel="noopener noreferrer"&gt;REST endpoints for table metrics and events&lt;/a&gt; (PR #4115) into a final review round now that metrics grants merged separately.&lt;/p&gt;

&lt;p&gt;Yong Zheng proposed a &lt;a href="https://lists.apache.org/thread/xw88nf5dh1n3nkrk099txc6r0cx0f8y2" rel="noopener noreferrer"&gt;delete-dataset simulation for the benchmark tool&lt;/a&gt;. Re-running benchmarks against persistent backends gives skewed results because old metadata piles up. Yufei asked whether resetting the persistence layer directly is faster. JB preferred keeping the API-based delete as the default, since it works against any backend and keeps the benchmark a plain client of a running server. Dmitri, Yufei, and JB all signed off on the approach in polaris-tools PR #286. A smaller cleanup thread on &lt;a href="https://lists.apache.org/thread/hkq8bwv37lfpb7dgt7bng0df0kz89dhp" rel="noopener noreferrer"&gt;role cleanup tasks&lt;/a&gt; concluded that the async cleanup flag on role deletion was a leftover from the initial code import. Ayush Saxena traced it to the first commit, and JB, Dmitri, and Vignesh agreed to remove it since roles have no storage to purge and grant records already get cleaned up synchronously.&lt;/p&gt;

&lt;h3&gt;
  
  
  Process and people
&lt;/h3&gt;

&lt;p&gt;Alex Dutra's thread on &lt;a href="https://lists.apache.org/thread/jtj2d4h35gf5hx440y1y0xokn2v09qqp" rel="noopener noreferrer"&gt;reducing CHANGELOG.md merge conflicts&lt;/a&gt; drew 19 messages. Ayush Saxena brought numbers: 75 of 339 commits on main over 60 days touched CHANGELOG.md, roughly one in four and a half. Alex proposed per-PR changelog fragment files. JB questioned whether a hand-maintained changelog is worth the effort at all and suggested assembling release notes from labeled PRs. Robert Stupp suggested conventional commit messages. Yufei and Alex both raised AI-assisted summarization at release time as an option, with Alex listing the tradeoffs around missing context. Dmitri clarified that the changelog was never meant to have an entry for every PR. The group settled on a first step: Yufei's PR #5733 tightens the guidance so only release-note-worthy changes get entries. If conflicts persist, the &lt;code&gt;changelog.d&lt;/code&gt; fragment approach is next.&lt;/p&gt;

&lt;p&gt;JB announced that &lt;a href="https://lists.apache.org/thread/poltkbrwv7mpq8pzsq4wpc6wtyw3gk96" rel="noopener noreferrer"&gt;Ayush Saxena is a new Polaris committer&lt;/a&gt;, and congratulations poured in from across the community. Ayush's fingerprints are all over this week's threads, from changelog statistics to git archaeology on role cleanup. JB also &lt;a href="https://lists.apache.org/thread/b5mdboyc2mc565r71j8h305wdsj3y7cm" rel="noopener noreferrer"&gt;cancelled the October 15 community meeting&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Arrow
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Arrow 26.0.0 ships
&lt;/h3&gt;

&lt;p&gt;Raúl Cumplido posted the &lt;a href="https://lists.apache.org/thread/sltmotxsw3gq5p7jqvm5bcvrynsflvqg" rel="noopener noreferrer"&gt;result of the Arrow 26.0.0 release vote&lt;/a&gt;. It carried with six binding +1s from Rossi Sun, Sutou Kouhei, Gang Wu, Raúl Cumplido, Adam Reeve, and David Li, plus non-binding +1s from Xuanwo, Tadeja Kadunc, and Jean-Baptiste Onofré. The &lt;a href="https://lists.apache.org/thread/b9cl8gjgbqnm1vw9z7xqxf9o4j3v7oqd" rel="noopener noreferrer"&gt;verification thread&lt;/a&gt; reads like a tour of the platforms Arrow now has to support. Gang Wu verified on an Apple M5 Pro with Clang 21. Raúl ran source, reproducible-source, integration, binary, wheel, and APT checks, including a patch to validate a Python 3.15 release candidate. Adam Reeve tested on Fedora 44 with Python 3.14. Tadeja verified on macOS with Ruby 4.0 and found a couple of GLib and Ruby script fixes she plans to send upstream. A major Arrow release touches C++, Python, R, Ruby, GLib, and more, so the breadth of hands-on verification is the real story here.&lt;/p&gt;

&lt;p&gt;The Rust implementation moved in parallel. Jeffrey Vo opened a &lt;a href="https://lists.apache.org/thread/0r0t8knpsn67pk8wbm934f57sgyk63gt" rel="noopener noreferrer"&gt;vote on Arrow Rust 59.3.1 RC1&lt;/a&gt;, and L. C. Hsieh, Raúl Cumplido, and Andrew Lamb all cast binding +1s after verifying on M4 and M3 Macs and Debian 14. Arrow Rust is the foundation under DataFusion, iceberg-rust, and a growing set of Rust query engines, so its patch releases ripple outward fast.&lt;/p&gt;

&lt;h3&gt;
  
  
  ADBC grows up
&lt;/h3&gt;

&lt;p&gt;Ian Cook brought back a &lt;a href="https://lists.apache.org/thread/v0gyjk7c771wp8thn9scm3g1c2k6bfyw" rel="noopener noreferrer"&gt;new ADBC logo proposal&lt;/a&gt; after more design work. Broad support led to PR #4870 in arrow-adbc, which adds the logo, a new Visual Identity page, and an updated trademark notice. Rusty Conover gave detailed feedback: the project URL on the hex badge is hard to read at small sizes, and the text spacing did not sit in harmony with the chevron mark. Ian posted a revised version that addresses both points, and Dewey Dunnington approved. Barring objections, the logo passes by lazy consensus after 72 hours.&lt;/p&gt;

&lt;p&gt;A logo matters because ADBC is becoming a brand people build on. That showed up in a second thread: Awanish Gupta from IBM &lt;a href="https://lists.apache.org/thread/gqfd0tn25wm5ntrw1kdfl3vplpcgps6d" rel="noopener noreferrer"&gt;asked to contribute a native C++ ADBC driver for IBM Db2&lt;/a&gt;. David Li explained that the &lt;code&gt;adbc-drivers&lt;/code&gt; GitHub organization sits outside the Apache Arrow project, offered to set up access directly, and pointed to the driver authoring docs. Asked about scope, Awanish confirmed the driver targets Db2 for Linux, UNIX, and Windows only, not Db2 for z/OS. Every new ADBC driver widens the set of databases that can hand Arrow data to a lakehouse engine without row-by-row conversion.&lt;/p&gt;

&lt;h3&gt;
  
  
  Format work and community
&lt;/h3&gt;

&lt;p&gt;The format track kept moving. Florian split the spec text for &lt;a href="https://lists.apache.org/thread/x9ys3c63j3jvzc269bdpmforpm83r27w" rel="noopener noreferrer"&gt;fixed and variable closedness range canonical extension types&lt;/a&gt; into its own PR (#53239) so the vote covers only the format change, and he asked to keep the vote open since no votes had arrived yet. David Li signed off on the latest revision of the &lt;a href="https://lists.apache.org/thread/lpg4xh650677yxqf4g5lf1ch927pn5lo" rel="noopener noreferrer"&gt;JSON representation of Arrow schemas&lt;/a&gt;, a small but useful step for tools that want to exchange schemas without the Flatbuffers dependency.&lt;/p&gt;

&lt;p&gt;Ian Cook reviewed Pearu Peterson's long-waiting &lt;a href="https://lists.apache.org/thread/9m6sq7trk3n7wrw7c5hqjjlo8qs1zy19" rel="noopener noreferrer"&gt;CSV date and time parsing PR&lt;/a&gt; and noted that Pearu's emails, like many others recently, had landed in spam folders. Andrei Tserakhau reported the same thing on the Iceberg list this week. If you posted to an Apache list recently and heard nothing, check whether your message reached people's inboxes before assuming silence means disinterest.&lt;/p&gt;

&lt;p&gt;Antoine Pitrou &lt;a href="https://lists.apache.org/thread/70j20p1yr5h9s530l8sdcqnnchjpz6ww" rel="noopener noreferrer"&gt;filed the Arrow board report&lt;/a&gt;, Ian Cook ran the &lt;a href="https://lists.apache.org/thread/7lj2fy4bzs6d86so74838bdg376jf0vr" rel="noopener noreferrer"&gt;October 7 community meeting&lt;/a&gt;, and Andrew Lamb announced on behalf of the PMC that &lt;a href="https://lists.apache.org/thread/tj66yqr9shrrzl6qo07bm55cxdw7778s" rel="noopener noreferrer"&gt;Richard Baah is a new Arrow committer&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Parquet
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What does "distinct" even mean?
&lt;/h3&gt;

&lt;p&gt;The sharpest Parquet debate this week was over a single word. Adrian Garcia Badaracco opened format PR #628 to &lt;a href="https://lists.apache.org/thread/qfkcfxkw3xq9g6ywq2cx2h5j39bmv9fd" rel="noopener noreferrer"&gt;classify &lt;code&gt;distinct_count&lt;/code&gt; metadata as inexact&lt;/a&gt; after a sync call reached consensus. Micah Kornfield asked for the reasoning, since Andrew Lamb had pushed back. Russell Spitzer explained it. Exactness of the number of distinct values is not standardized for many types. Strings with collations treat "foo" and "Foo" as equal or not depending on the system. Floating point has its own traps: NaN against NaN, and -0.0 against 0.0. Most use cases only need approximate statistics anyway, so the group chose to correct the language rather than define exact semantics for every type. Daniel Weeks added that older readers and writers already disagree about logical and physical equivalence, so assuming current values are exact was never safe. Andrew still sees changing "count of distinct values" to "estimated count" as a real change in meaning, not a clarification. Dan agreed the proposed wording is not ideal and offered alternatives on the PR.&lt;/p&gt;

&lt;p&gt;Russell also left a reminder that deserves repeating: when you cite a decision from a sync call, post notes to the list. Decisions that live only in a video call are invisible to the rest of the community.&lt;/p&gt;

&lt;h3&gt;
  
  
  The vector type fight
&lt;/h3&gt;

&lt;p&gt;The &lt;a href="https://lists.apache.org/thread/5vj5ttfjrrwhjmq2y5lpd5w048qw5yv9" rel="noopener noreferrer"&gt;numeric vector type thread&lt;/a&gt; turned into the most substantive design argument on any list this week. A focused call had produced a proposal for a FINITE_VECTOR logical type on fixed-length lists. Ryan Blue laid out what a logical type provides. It describes data for users and readers. It signals that repetition and definition levels reflect a fixed number of elements, which implementations can use to decode faster. It guarantees no null elements. And the finite variant guarantees no NaN or infinity values, so every vector has a finite length and works for distance calculations. Steven Wu agreed that FINITE_VECTOR brings value and argued against forcing every use case into a generic fixed-length list. Alkis Evlogimenos suggested naming it VECTOR to match other engines and type systems, leaving room for a non-finite variant later. Gang Wu supported separating FINITE_VECTOR (or VECTOR) from FIXED_LENGTH_LIST and moving the vector type first.&lt;/p&gt;

&lt;p&gt;Then Jan Finis made the case against. He argued that the finite restriction adds little value on its own and that the fixed-length part should be a general feature rather than a one-off. Existing types already handle uncompressed vectors well, he said. The real win is quantization, where storage size and processing speed improve by orders of magnitude. Will Edwards made a similar point from the engine side. He wants every engine to offer vector functions on lists of floats without a new logical type, and he sees more value in a type that describes how to unpack quantized codes, scales, and codebooks, which is where machine learning is heading.&lt;/p&gt;

&lt;p&gt;This is a genuine disagreement about what a file format owes the AI wave. One camp wants a simple, well-defined type now so engines and table formats can align, and Iceberg's vector work is already building on it. The other wants Parquet to skip the label and go straight to the compression problem. Both sides are right about something. A narrow VECTOR type gives Iceberg a stable target this year. Quantized storage is where the cost savings live. Watch for a proposal that ships the simple type first with an explicit path to quantized encodings.&lt;/p&gt;

&lt;h3&gt;
  
  
  A concrete plan for versioning
&lt;/h3&gt;

&lt;p&gt;Alkis Evlogimenos restarted the stalled versioning discussion with &lt;a href="https://lists.apache.org/thread/qk8hxpvycy6161lqop1bynr3yt028m7t" rel="noopener noreferrer"&gt;a concrete proposal&lt;/a&gt;. His two goals are to ship features when they are ready rather than waiting for the next bundle, and to guarantee that a reader either returns correctly interpreted results or fails, never a false read. He sorts every format change into two kinds. "Add-everywhere" changes are valid at every compatibility level, including in today's files. They are safe when any reader that does not understand them either fails where it needs them or is unaffected. A new encoding is the classic example: a reader that does not know ALP fails on the ALP column and reads every other column. "Compatibility level" changes are for things existing readers misread instead of failing on, such as metadata redefinitions, removals, or a new footer. A reader that does not support the level fails before reading anything.&lt;/p&gt;

&lt;p&gt;The most useful part of the proposal is the field survey. Alkis checked eight readers against their current source: Arrow C++, parquet-java, arrow-rs, DuckDB, Velox, arrow-go, cuDF, and fastparquet. Unknown encodings are mostly safe, though arrow-rs rejects the whole footer and parquet-java does the same when the encoding shows up in encoding stats. Unknown logical types are safe because every reader falls back to the physical type. Unknown page types are not safe: Arrow C++, DuckDB, and Velox skip them, so a new page type carrying rows gets dropped silently. Unknown compression codecs are not safe either: Arrow C++ treats them as uncompressed and decodes compressed bytes. Andrew Lamb praised the proposal and noted a third category, forward-compatible additions that older readers simply ignore, such as new statistics. This survey alone is a valuable document for anyone writing a Parquet reader.&lt;/p&gt;

&lt;h3&gt;
  
  
  Encodings and new types
&lt;/h3&gt;

&lt;p&gt;Prateek Gaur reported that the &lt;a href="https://lists.apache.org/thread/m8d0520g7df8686p6l1nbst46hn29bw2" rel="noopener noreferrer"&gt;C++ implementation of ALP encoding for floating-point data&lt;/a&gt; has merged, with follow-up items coming in a later PR. ALP compresses floating-point columns far better than the general-purpose codecs, which matters for sensor data, financial data, and embeddings. Asked who is working on new encodings, Andrew Lamb &lt;a href="https://lists.apache.org/thread/kxthjf063lvkgj8jcob8jd1djsztx03p" rel="noopener noreferrer"&gt;listed two active efforts&lt;/a&gt;: Prateek on PFOR (patched frame of reference) and Aarnav on FSST and OnPair, symbol-table-based string encodings.&lt;/p&gt;

&lt;p&gt;Micah Kornfield pushed back on part of the &lt;a href="https://lists.apache.org/thread/7bf0fvksphy66bh1op1wk0116yrp4z0x" rel="noopener noreferrer"&gt;WIRE logical type proposal&lt;/a&gt; for serialized wire-format messages. He does not want to move ahead with the projection component until an open source engine commits to using it, citing how hard variant was to get right in engines. He wants documenting serialized values kept separate from projection. Thomas Kissinger agreed to continue the &lt;a href="https://lists.apache.org/thread/dr555g8153xnjjg9y9yc7od288ddj9s3" rel="noopener noreferrer"&gt;extensible decimal floating-point type&lt;/a&gt; discussion in Costas Zarifis's design doc. Julien Le Dem &lt;a href="https://lists.apache.org/thread/rmjl2dp63b10f9sw6dsrwfsk5f1mx49c" rel="noopener noreferrer"&gt;submitted the October board report&lt;/a&gt; after a week of collecting status, and Russell noted that the timing collided with Community Over Code travel. Julien also announced the &lt;a href="https://lists.apache.org/thread/noq7gfxjjfyyp3h4mt9mrxnqb5rcr4cs" rel="noopener noreferrer"&gt;October 7 Parquet sync&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache DataFusion
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Comet asks to leave home
&lt;/h3&gt;

&lt;p&gt;Andy Grove posted a &lt;a href="https://lists.apache.org/thread/0szsfkrog2jjr2x92zl78201zh131qzq" rel="noopener noreferrer"&gt;proposal to establish Apache Comet as a top-level project&lt;/a&gt;. His argument is that Comet differs from other DataFusion subprojects. The others extend DataFusion. Comet is an accelerator for Apache Spark that uses DataFusion as its execution engine, and its community has grown largely distinct from DataFusion's. The numbers back him up: 24 releases since July 2024, including 1.0.0 in August and 1.1.0 on October 6, and 146 people with merged PRs, 81 of them in the last 12 months.&lt;/p&gt;

&lt;p&gt;The proposal is conservative by design. The name "Apache Comet" already cleared the podling name search. The initial PMC is drawn from existing DataFusion PMC members (Andy Grove, Andrew Lamb, Liang-Chi Hsieh, Matt Butrovich, and Oleks V.) with nobody promoted as part of the move, and Andy offered to chair. Initial committers are the existing DataFusion committers who contribute to Comet. The repository moves from &lt;code&gt;apache/datafusion-comet&lt;/code&gt; to &lt;code&gt;apache/comet&lt;/code&gt;, with docs at comet.apache.org. Joining Comet changes nobody's role in DataFusion. Confirmations came quickly from Bhargava Vadlamani, Manu Zhang, L. C. Hsieh, Matt Butrovich, Parth Chandra, Martin Grigorov, and Chao Sun, with Andrew Lamb adding his support. Andy plans a formal vote after about a week. He corrected the timeline in a follow-up: the next DataFusion board meeting is December 16, not November 18.&lt;/p&gt;

&lt;p&gt;Comet also shipped this week. Andy announced that &lt;a href="https://lists.apache.org/thread/qyxttfywjq8otnj7k120c7fhyprwj5h3" rel="noopener noreferrer"&gt;Comet 1.1.0 passed its vote&lt;/a&gt; with nine +1s, six binding, and published the jars to Maven. He also proposed an &lt;a href="https://lists.apache.org/thread/nyrn4t3k0j6fx4pdst9m5oq81grnbwhn" rel="noopener noreferrer"&gt;update to the Comet contributor guide on AI&lt;/a&gt; in PR #6734. Automated reviews can help, the guidance says, but every PR approval must come from a human, with or without AI assistance. That is a clear, enforceable line, and other Apache projects are likely to borrow it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Releases across the family
&lt;/h3&gt;

&lt;p&gt;The DataFusion family shipped on several fronts. Oleks V. announced that &lt;a href="https://lists.apache.org/thread/kzgb9oj4yxq36sd2y6gbrbd11swc9mro" rel="noopener noreferrer"&gt;DataFusion 55.2.0 passed&lt;/a&gt; with five binding +1s and is published to crates.io. Andy reported that &lt;a href="https://lists.apache.org/thread/qptl5swh49vdvbm9mvfdm2qbfblnqgf1" rel="noopener noreferrer"&gt;Ballista 55.0.0 passed&lt;/a&gt; with six +1s, four binding. Tim Saucer opened the &lt;a href="https://lists.apache.org/thread/58b0o9w542h1h2rf65d2tdfbcm7f7yvn" rel="noopener noreferrer"&gt;DataFusion Python bindings 55.0.0 vote&lt;/a&gt;, which collected binding +1s from Marko Milenković, Andrew Lamb, L. C. Hsieh, and Andy Grove. Xuanwo's careful verification caught a missing NOTICE file in the source archive, a fix requested for the next release. Tim also closed out the &lt;a href="https://lists.apache.org/thread/hsmtt7rx9lqh25gqtwq0xnkn6170hj2m" rel="noopener noreferrer"&gt;Python bindings 54.1.0 vote&lt;/a&gt; with seven +1s, five binding.&lt;/p&gt;

&lt;p&gt;Andy also proposed &lt;a href="https://lists.apache.org/thread/qglf9qowwd89hdrqk7cj1hxvsh9nl4pv" rel="noopener noreferrer"&gt;removing the Spark compatibility feature from Ballista&lt;/a&gt;. The experimental, off-by-default feature covered only a handful of expressions. After six years on Spark-compatible engines, Andy wrote, he knows Spark compatibility is a project that never finishes because Spark keeps changing, and other projects already fill that niche. Read alongside the Comet proposal, the direction is clear. Comet owns Spark acceleration. Ballista focuses on being a distributed DataFusion engine. Each project gets a sharper identity.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Ossie (incubating)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Where does an MCP server belong?
&lt;/h3&gt;

&lt;p&gt;Apache Ossie is the open semantic interchange specification, the standard for moving metric, dimension, and relationship definitions between BI tools, semantic layers, catalogs, and AI agents. This week its busiest thread asked a question every semantic layer team is facing: should Ossie ship an &lt;a href="https://lists.apache.org/thread/dpjz5jg84rsbyjv44rp6ylxo8khfzz9w" rel="noopener noreferrer"&gt;MCP server, and where should it live&lt;/a&gt;?&lt;/p&gt;

&lt;p&gt;The thread started from GitHub discussion #510 and PR #529, which proposes an &lt;code&gt;execute_query&lt;/code&gt; contract. Chris Eubank asked the key question: how tightly is &lt;code&gt;execute_query&lt;/code&gt; tied to Ossie semantics? Is it meant to steer clients toward portable Ossie queries, or to standardize running any vendor's query language? As drafted, the model identity was optional and the result schema loose, so it looked closer to the second. Markus Cozowicz argued for pragmatism. Vendors will take time to build conversions, and each vendor has features the standard lacks, so allowing all registered Ossie dialects is a reasonable start. He also made an interesting point: if a query execution contract lands in the Ossie standard and then in LLM training data, nobody has to teach each agent how to run queries against a semantic model.&lt;/p&gt;

&lt;p&gt;Jean-Baptiste Onofré drew the line clearly. Ossie is an interchange spec for semantic models. A running MCP server brings execution, connections, auth, and a fast-moving protocol surface into the project. He prefers that MCP servers live in engines and catalogs, with Ossie defining the contract and possibly a REST API, but not the server implementation. Chris agreed that the dividing line is whether a query resolves against an Ossie model, and said there is interest on his side in building query capabilities over the Layer 2 and Layer 3 query interfaces once they land in the core spec. Jakub Moravec asked whether defining skills in Ossie and leaving tools to vendors is enough. Ashfaqbs responded that skills are advisory text while tools are executable contracts, and that validation belongs in Ossie while conversion and query belong to vendors. Jakub agreed with that split.&lt;/p&gt;

&lt;p&gt;The most valuable contributions came from people running code. Kyoung Min Kim ran an experiment on a real database of 33 datasets and 45 relationships, generated an Ossie model, and asked three models to return Layer 3 query specs that a compiler turned into SQL. Aleksandr Kosachev offered his ClickHouse executor as a test bed. It now accepts the aggregation query shape from PR #246 as a JSON object and returns #246 error codes such as &lt;code&gt;E_NAME_NOT_FOUND&lt;/code&gt;, &lt;code&gt;E_NO_PATH&lt;/code&gt;, and &lt;code&gt;E_AMBIGUOUS_PATH&lt;/code&gt; inside the #529 error envelope. His first report found the executor raised 10 of the 28 #246 codes as specified. A later update showed it now follows paths across several many-to-one relationships, rejects a second path as ambiguous, and merges measures across datasets, with answers matching expected rows line by line. JB took the lesson that a small shared query shape plus error codes works, and that the next real test is a second engine running the same cases. Where two engines disagree, PR #246 is underspecified, and those are the spots to fix. Markus confirmed PR #529 is now narrowed to the declarative case.&lt;/p&gt;

&lt;p&gt;Markus also captured a practical agent problem in the same thread. Filter values are where agents fail. A user asks about "Coca &amp;amp; Cola" when the data says "Coca-Cola Company." He laid out three strategies: put the vocabulary in the ontology when context allows, expose a dedicated tool for looking up column values, or return suggested values reactively when a query comes back empty. Each has tradeoffs in tool count and accuracy.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pinning down the query layer
&lt;/h3&gt;

&lt;p&gt;Several threads worked on the query layer that the MCP debate depends on. Chris Eubank opened a thread on &lt;a href="https://lists.apache.org/thread/cfb1dljkh2c6nmzmdfx7spgg9pxr2l9v" rel="noopener noreferrer"&gt;model expressions versus query semantics&lt;/a&gt;, pointing out that the expression language spec scopes itself to defining a model and says the SQL interface comes in a separate document. Today, expressions define a model. They do not create a query interface. Justin Talbot pushed a revision of the &lt;a href="https://lists.apache.org/thread/5mkoh54688r1ym34o8bc6ho165mc7z3p" rel="noopener noreferrer"&gt;Relational Query Interface spec&lt;/a&gt; (PR #354). The biggest change renames the measure evaluation function from &lt;code&gt;MEASURE()&lt;/code&gt; to &lt;code&gt;AGG()&lt;/code&gt; as the single normative spelling, with other spellings allowed as non-normative synonyms. Chris agreed with the changes and suggested deferring a SQL-native syntax for declaring measures to a future extension. Justin also opened a &lt;a href="https://lists.apache.org/thread/7myzrz1j03rt8svoqgfj61t5s5fqtn0o" rel="noopener noreferrer"&gt;vote on the specification layers overview&lt;/a&gt; (PR #452), an informational document describing Ossie's four layers: Model Definition, Relational Query Interface, Wide Table Query Interface, and Ontology.&lt;/p&gt;

&lt;p&gt;Ananth Tirumanur reworked his proposal to &lt;a href="https://lists.apache.org/thread/bowhhbbh93jp04x1m1y1ypymppvcjwbh" rel="noopener noreferrer"&gt;add an ICEBERG expression dialect to the core spec&lt;/a&gt; (PR #491). Reviewers worried that a new vendor dialect without a reference guide invites parser divergence. Ananth's fix: the dialect defines no new syntax. It is the predicate string accepted by PyIceberg's expression parser, which serves as the reference reader. Chris praised anchoring a dialect to an open source parser as a precedent worth encouraging. JB asked where the dialect applies, since the schema only uses dialect expressions for fields and metrics, and a predicate-only dialect fits boolean fields and nothing else. Kyoung Min Kim ran the PR's predicate table through PyIceberg 0.6.1 through current main. Thirty of 35 forms behave the same in every version, and every unsupported form is rejected everywhere. The five that differ include BETWEEN and double-quoted identifiers, which parse from 0.10.0. That data settles what minimum version the dialect needs to pin. For lakehouse teams, an ICEBERG dialect means a semantic model can carry a filter that an Iceberg-native engine pushes straight down to a table scan.&lt;/p&gt;

&lt;p&gt;The expression language itself grew. The &lt;a href="https://lists.apache.org/thread/s7szttv9vynftd8w6bsdmt4bp1kzj09v" rel="noopener noreferrer"&gt;vote to add the FILTER (WHERE ...) aggregate modifier&lt;/a&gt; collected support from JB, Klahr Joshua, and Ayush Saxena after &lt;a href="https://lists.apache.org/thread/c580g79bvljb25vwtkmjogx9mmgcogqv" rel="noopener noreferrer"&gt;discussion&lt;/a&gt; with Julian Hyde and Chris. Chris noted that the &lt;a href="https://lists.apache.org/thread/y2jbkmtv4nmddyzzkxq24bzlmfghby20" rel="noopener noreferrer"&gt;&lt;code&gt;||&lt;/code&gt; concatenation operator&lt;/a&gt; now renders correctly in the spec. Aleksandr opened a discussion on &lt;a href="https://lists.apache.org/thread/z2jr7q4pllsk5nkzv7d18ro8844n5tgy" rel="noopener noreferrer"&gt;NULLS FIRST and NULLS LAST in window ORDER BY&lt;/a&gt; (PR #577). Chris volunteered to rewrite spec wording for &lt;a href="https://lists.apache.org/thread/l9242bwfvl4ypr38d6rpfk1yfgy0hq4r" rel="noopener noreferrer"&gt;dataset-scoped metrics&lt;/a&gt;, and Kyoung Min will narrow the validator so qualified references become errors. JB asked that the rule be stated in the spec text and backed by a conformance test.&lt;/p&gt;

&lt;h3&gt;
  
  
  Measuring whether Ossie works
&lt;/h3&gt;

&lt;p&gt;Chris Eubank raised a question every interchange standard eventually has to answer: &lt;a href="https://lists.apache.org/thread/dnl13g1nlh7l2o6gnw9qjp7wqmrh0tds" rel="noopener noreferrer"&gt;how do we measure semantic interoperability&lt;/a&gt;? He ran the simplest possible model, one sales dataset and one &lt;code&gt;SUM(sales.amount)&lt;/code&gt; metric, through Ossie to vendor and back to Ossie across 14 converters. Eight of 14 preserved the ANSI_SQL expression. Only one of 14 preserved OSSIE_SQL_2026. The rest emitted a vendor dialect, dropped the metric, or lacked a vendor-to-Ossie path. Chris was clear that this measures preservation of the portable dialect, not semantic equivalence. He proposed a shared interoperability test suite in the repository with reference models, measurement utilities, and published results for every Ossie-hosted converter. This is the right instinct. A standard that only measures file format support can look healthy while portable meaning leaks out at every hop.&lt;/p&gt;

&lt;p&gt;The converter list keeps growing anyway. Tan Huynh from Holistics proposed a &lt;a href="https://lists.apache.org/thread/kymbn05f52qz3sm4vb3jyptq7vw81o8q" rel="noopener noreferrer"&gt;Holistics converter&lt;/a&gt; that runs both ways without network access, along with a &lt;a href="https://lists.apache.org/thread/8tprkgm9kfgn92xnlwlx1osb9pf5f2fx" rel="noopener noreferrer"&gt;HOLISTICS_AQL dialect&lt;/a&gt; entry. Mahmoud Hassanen proposed a &lt;a href="https://lists.apache.org/thread/ojdgt15wt6mfzbkn4mjd9nowb7hdolvv" rel="noopener noreferrer"&gt;native ClickHouse dialect converter&lt;/a&gt;, since ANSI SQL transpilation produces poor queries when ClickHouse needs functions like &lt;code&gt;uniqExact&lt;/code&gt; and &lt;code&gt;toStartOfMonth&lt;/code&gt;. JB explained that converters translate semantic model definitions and are not SQL transpilers, and that new converters will go to the &lt;code&gt;apache/ossie-converters&lt;/code&gt; repository he is preparing. Mahmoud opened PR #558 to register CLICKHOUSE in the dialect enum. An &lt;a href="https://lists.apache.org/thread/kjtbh1dnhvdlz0xoxx6lq08fzvxwl4gb" rel="noopener noreferrer"&gt;OpenMetadata converter&lt;/a&gt; discussion continued as well.&lt;/p&gt;

&lt;p&gt;GitHub discussions rounded out the semantic modeling agenda: &lt;a href="https://lists.apache.org/thread/hm5l6d007wt66ngs00vm41vwc5mopcj9" rel="noopener noreferrer"&gt;metric additivity&lt;/a&gt; (additive, semi-additive, non-additive), where Justin Talbot noted BI tools rely on additivity to roll up results client-side and skip database round trips, &lt;a href="https://lists.apache.org/thread/st3md6nt78jhp879zxsdxx7v2y4qsocd" rel="noopener noreferrer"&gt;certified metrics and certifying authority&lt;/a&gt;, a &lt;a href="https://lists.apache.org/thread/5zhpb4mps34h032k17dncm6gh3x8z9ql" rel="noopener noreferrer"&gt;shared semantics reference vocabulary&lt;/a&gt;, &lt;a href="https://lists.apache.org/thread/33wqxms9kl687x39q9pdqp7l8o0pjxv8" rel="noopener noreferrer"&gt;metric trees&lt;/a&gt;, and a proposal on how the &lt;a href="https://lists.apache.org/thread/wng2nx6gb41jy1zrvgrjk7lo457obt14" rel="noopener noreferrer"&gt;Open Knowledge Format relates to Ossie&lt;/a&gt;, which Markus Weimer welcomed as a canonical way to feed agents context from both. JB posted a revised &lt;a href="https://lists.apache.org/thread/8gl31bq0yr0jx4ywno2mrfbdvllrfh7w" rel="noopener noreferrer"&gt;Ossie REST API spec&lt;/a&gt; as PR #573, and Dmitri Bourlatchkov of Polaris endorsed it, noting Polaris as a possible implementation. Nolan Clark asked that the model management API avoid assuming a one-to-one mapping between inputs and converted outputs. Ankit Tandon posted &lt;a href="https://lists.apache.org/thread/0lwgmkxcjy4cgb41dx79wjwj2kw72l4o" rel="noopener noreferrer"&gt;notes from the October 13 Ontology working group&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Openness and community
&lt;/h3&gt;

&lt;p&gt;Julian Hyde asked a blunt question: &lt;a href="https://lists.apache.org/thread/2yz0r9ko95cnm17thv8rxsmk11zy9oy9" rel="noopener noreferrer"&gt;"Are we open?"&lt;/a&gt; Much of the project's work seemed to run vendor to vendor, he wrote, and it was not obvious how to attend a working group meeting. Kurt Stirewalt and Matthew Mullins pointed to the community page, Slack, and a public calendar of open working group meetings, while conceding the information is hard to find. Ayush Saxena asked for specifics. Julian clarified: Slack and the working groups are open in the sense that you can ask to join, but their content is invisible to search engines and unauthenticated readers. Aldre Jota then reported that the Slack invite links on the site were revoked or broken. Klahr Joshua invited anyone to improve the community page through the ossie-website repository, and Julia Blyumen suggested clarifying organizational versus individual membership. This is a healthy thread. Apache's rule is that decisions happen on the list, and a young project dominated by vendor working groups needs to keep proving it follows that rule.&lt;/p&gt;

&lt;p&gt;JB proposed the &lt;a href="https://lists.apache.org/thread/s2bjkpmlszckf1l360t63r157khd8odw" rel="noopener noreferrer"&gt;first Apache Ossie workshop and meetup&lt;/a&gt;: a full-day hands-on workshop followed by an evening of talks. Julian supported it with the standard Apache caveats, that the workshop is for knowledge transfer rather than decisions and that recordings should be posted. Support came from Dragos Crintea, Kurt Stirewalt, Yufei Gu, Ankit Tandon, and Jochen Christ, who said a full-day onsite session is worth a flight from Europe. JB is working on logistics. Ayush Saxena announced that &lt;a href="https://lists.apache.org/thread/yr3qh6l4n19cnvlw95pk4v16zz7gs1by" rel="noopener noreferrer"&gt;Chris Eubank is a new Ossie committer&lt;/a&gt;, a fitting recognition given how many of this week's threads he started or shaped.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cross-Project Themes
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The lakehouse is learning new data types for AI, in lockstep.&lt;/strong&gt; Iceberg's File type follows Parquet's FILE logical type. Iceberg's vector design builds on Parquet's emerging vector representation, and the Iceberg vector sync explicitly defers to the Parquet decision. Parquet's ALP encoding targets the floating-point data that embeddings and sensor workloads produce. Arrow-java 20 is expected to bring Decimal32 and Decimal64, which Iceberg is already preparing for. These are not separate efforts. The table format, the file format, and the in-memory format are converging on one shared vocabulary for unstructured bytes and numeric vectors. The Parquet vector debate is the critical path. Whatever Parquet decides about VECTOR versus quantized encodings will set the shape of AI data in Iceberg tables for years.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Catalogs are getting exact about access.&lt;/strong&gt; The same people show up across Iceberg and Polaris on the same problem. Youngrae Kim, Yufei Gu, Dmitri Bourlatchkov, and JB carried the access-delegation question from the Iceberg spec into Polaris behavior in one week. Polaris is separating catalog configuration from server storage access, scoping what StorageCredential responses contain, and deciding whether storage endpoints belong in cache keys. Iceberg added a standard User-Agent format. Polaris is mapping IRC labels onto its tag model. As AI agents start calling catalogs directly, these precise rules about who gets which credentials and which classifications become the security model. Loose defaults stop being acceptable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Semantics and agents are the new frontier, and the lakehouse is the ground floor.&lt;/strong&gt; Ossie's MCP debate, its ICEBERG dialect, and its query interface work all point the same way. Agents need a governed semantic layer to ask questions, and that layer needs to push work down to open tables. An ICEBERG dialect anchored to PyIceberg means a metric definition can carry a predicate an Iceberg engine executes directly. Polaris showing up as a possible implementer of the Ossie REST API means the catalog and the semantic layer can share one interface. This is the open lakehouse stack extending upward: Parquet for files, Iceberg for tables, Polaris for the catalog, Arrow for movement, and Ossie for meaning.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Projects are formalizing how humans and AI share the work.&lt;/strong&gt; Comet now requires a human to approve every PR. Polaris debated AI-assisted changelog summaries and chose to tighten human guidance first. Several contributors on the Ossie and Polaris lists described writing code first and discussing second, since code is cheap now. The common thread is accountability. Apache projects welcome AI help, but they want a named human responsible for every merge and every release note.&lt;/p&gt;

&lt;h2&gt;
  
  
  Looking Ahead
&lt;/h2&gt;

&lt;p&gt;The Iceberg File type vote closes this week, and the AMT baseline vote has no objections on record, so expect both results soon. The Comet top-level project discussion moves to a formal vote around October 16, with the board resolution targeted at the December 16 meeting. On Parquet, watch whether the vector debate converges on a simple VECTOR type or detours into quantized encodings, and whether Alkis's versioning proposal picks up a sync slot. Polaris will see the FileIO cleanup PR and the NoSQL retry fix land. Ossie's workshop logistics, the converters repository move, and a second engine running Aleksandr's ClickHouse test cases are all worth tracking. On the calendar: the Seattle Iceberg meetup on October 21, the virtual Iceberg meetup on October 23, and the Iceberg index sync returning October 26.&lt;/p&gt;




&lt;h2&gt;
  
  
  Go Deeper With the Open Lakehouse
&lt;/h2&gt;

&lt;p&gt;If this newsletter helps you keep up with Iceberg, Polaris, Arrow, Parquet, DataFusion, and Ossie, my books go further. I have written more than 50 titles on the open lakehouse, Apache Iceberg, Apache Polaris, agentic AI, and data engineering, from the O'Reilly definitive guides to hands-on Python and architecture books.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Browse the full catalog at &lt;a href="https://books.alexmerced.com" rel="noopener noreferrer"&gt;books.alexmerced.com&lt;/a&gt;&lt;/strong&gt; and find the right book for where you are in your lakehouse journey.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Haiku 5.5, Muse Wonder, Open Racks: Oct 6-14</title>
      <dc:creator>Alex Merced</dc:creator>
      <pubDate>Wed, 14 Oct 2026 16:50:37 +0000</pubDate>
      <link>https://dev.to/alexmercedcoder/haiku-55-muse-wonder-open-racks-oct-6-14-29j5</link>
      <guid>https://dev.to/alexmercedcoder/haiku-55-muse-wonder-open-racks-oct-6-14-29j5</guid>
      <description>&lt;p&gt;This week Google returned to the frontier. Gemini 4 Argon, its first new flagship since Gemini 3 Pro, became generally available on October 13 at an introductory price of $2 per million input tokens. The price of a capable model fell at the low end too. Anthropic shipped Claude Haiku 5.5 at a tenth of its predecessor's token price. Meta released its first frontier model, OpenAI rebuilt ChatGPT answers around interactive interfaces, and Mistral previewed a trillion-parameter open-weight flagship.&lt;/p&gt;

&lt;p&gt;Under the models, the hardware story moved to the rack. At the Open Compute Project Global Summit, NVIDIA, AMD, Microsoft, Intel, and Marvell all showed new chips and open rack designs. Memory stayed the tightest link in the chain.&lt;/p&gt;

&lt;p&gt;This issue follows the usual order. Models first, then tooling, then standards, then infrastructure. Each section ends with what the news means for teams building with AI and data.&lt;/p&gt;

&lt;h2&gt;
  
  
  Models: Google Returns to the Frontier With Gemini 4 Argon
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Gemini 4 Argon
&lt;/h3&gt;

&lt;p&gt;Gemini 4 Argon is the lead model story of the week. Google first &lt;a href="https://www.cnbc.com/2026/09/30/google-gemini-4-argon-ai.html" rel="noopener noreferrer"&gt;announced Argon on September 30&lt;/a&gt;, but only for trusted cybersecurity partners in its Fairwind Program. On October 13, Google &lt;a href="https://blog.google/innovation-and-ai/models-and-research/gemini-models/introducing-gemini-4-argon/" rel="noopener noreferrer"&gt;made Argon globally available&lt;/a&gt; to developers, enterprises, and paying consumers. It is the first model in the Gemini 4 family.&lt;/p&gt;

&lt;p&gt;Access now runs through several doors. Developers can call it in AI Studio and on the Gemini platform under the &lt;a href="https://cloud.google.com/blog/products/ai-machine-learning/gemini-4-argon-available-on-google-cloud" rel="noopener noreferrer"&gt;model ID &lt;code&gt;gemini-4-argon&lt;/code&gt;&lt;/a&gt;. Google AI Ultra subscribers get it in Google Antigravity, Google's agentic coding environment. Ultra and Pro subscribers get it in the Gemini app and AI Mode in Search. Enterprises get it in Gemini for business.&lt;/p&gt;

&lt;p&gt;The price is the surprise. Argon launches at an introductory rate of &lt;a href="https://blog.google/innovation-and-ai/models-and-research/gemini-models/introducing-gemini-4-argon/" rel="noopener noreferrer"&gt;$2 per million input tokens and $10 per million output tokens, with cached input 95% off&lt;/a&gt;. That matches GPT-6.1 Sol. The discount ends on November 30, 2026. After that, Argon costs $4 input and $20 output, the same band as Claude Opus 5.5 and Meta's Muse Wonder. Budget for the higher number, not the launch number.&lt;/p&gt;

&lt;p&gt;The token limits stand out. Argon keeps a 1 million token input window. Google also &lt;a href="https://futurumgroup.com/insights/google-returns-to-the-frontier-with-gemini-4-argon/" rel="noopener noreferrer"&gt;raised the output limit to 1 million tokens, up from 64,000&lt;/a&gt;. Google describes this as a unified input-output limit, served through a new continuation protocol for long outputs. Every other model in this issue caps output at 128,000 tokens or less. Long outputs matter for agents that write whole codebases, long reports, or large data transformations in one run.&lt;/p&gt;

&lt;p&gt;Google's benchmark claims are vendor-reported, so read them with care. Google says Argon &lt;a href="https://blog.google/innovation-and-ai/models-and-research/gemini-models/introducing-gemini-4-argon/" rel="noopener noreferrer"&gt;ranks #1 on the Vals Index&lt;/a&gt;, which measures performance on finance, coding, legal, and tax work. It reports 87% on the Embodied Reasoning (ERQA) benchmark for physical and spatial reasoning. On the Gray Swan Indirect Prompt Injection benchmark, Google says Argon cut attack success to 0.7% across 15 adaptive attempts. For security work, &lt;a href="https://hyper.ai/en/stories/3d57464ba301c9d7d2919dc1d3e7d763" rel="noopener noreferrer"&gt;Google reports that Argon matches GPT-6 Astra on CWE-bench&lt;/a&gt;, which measures finding and patching vulnerabilities.&lt;/p&gt;

&lt;p&gt;Outside analysts are more measured. Futurum's read is that &lt;a href="https://futurumgroup.com/insights/google-returns-to-the-frontier-with-gemini-4-argon/" rel="noopener noreferrer"&gt;Argon puts Google level with OpenAI but behind Anthropic&lt;/a&gt;. TechTarget noted that Argon is &lt;a href="https://www.techtarget.com/ai/news/366651339/Gemini-4-Argon-is-late-but-Googles-expertise-may-be-an-advantage" rel="noopener noreferrer"&gt;Google's first new top-tier model since Gemini 3 Pro in November 2025&lt;/a&gt;, and that its claims still need proof in enterprise settings. Independent results on the full Vals suite and Artificial Analysis should land within days.&lt;/p&gt;

&lt;p&gt;Google backed the launch with internal results. Engineering teams using Argon in Antigravity &lt;a href="https://blog.google/innovation-and-ai/models-and-research/gemini-models/introducing-gemini-4-argon/" rel="noopener noreferrer"&gt;increased agentic code submissions by more than 35% and cut code rollbacks by nearly a third&lt;/a&gt;. Given a skills rulebook and a one-paragraph goal, Argon worked overnight on Google's open source Agent Development Kit. Its changes, now merged, cut in-memory session prep time by 40% in long sessions and sped up cold imports by 21%. Google also reports a 2.85x end-to-end inference speedup for Gemma 4 E2B on vLLM, with the work sent upstream as pull requests.&lt;/p&gt;

&lt;p&gt;One internal result belongs in the infrastructure conversation. In the September 30 announcement, Google said a team of Argon agents &lt;a href="https://blog.google/intl/en-mena/company-news/technology/gemini-4-argon-our-next-era-of-frontier-intelligence/" rel="noopener noreferrer"&gt;analyzed fleet-wide profiling data and applied memory fixes across its data centers&lt;/a&gt;. The changes freed over 300 TiB of memory once rolled out, with 500 TiB to 1 PiB in total savings expected. In a month when memory is the scarcest part in AI hardware, a model that finds memory in existing software is worth noting.&lt;/p&gt;

&lt;p&gt;Security shaped the rollout. Argon went to cyber defenders first, the same defender-first pattern Anthropic used with Claude Mythos under Project Glasswing. On October 13, Google began expanding Fairwind to hundreds of additional partners. Google plans to give trusted defenders a version of Argon without cyber guardrails. For the public model, Google says it trained Argon to pause for human confirmation before irreversible steps. It reports that shortcut attempts on coding tasks fell to 2%, and it runs a monitor that reads the agent's reasoning and actions to block unintended workarounds in real time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it means for you.&lt;/strong&gt; For two months, the price matches GPT-6.1 Sol while the claims match the top tier. That makes now a cheap time to run Argon against your own evaluation set. Test the 1 million token output limit if your agents produce long artifacts, since no other frontier model offers it. Plan costs at the post-November rate of $4 and $20. And note where Argon lives. Its best agentic experience runs in Antigravity, which follows this week's pattern of labs keeping their strongest experience inside their own tools.&lt;/p&gt;

&lt;h3&gt;
  
  
  Claude Haiku 5.5
&lt;/h3&gt;

&lt;p&gt;Anthropic released Claude Haiku 5.5 on October 7, 2026. It completes the Claude 5.5 family alongside Sonnet 5.5 and Opus 5.5. The API model ID is &lt;code&gt;claude-haiku-5-5&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The headline is price. &lt;a href="https://www.vktr.com/ai-platforms/anthropic-cuts-smallmodel-pricing-90-with-claude-haiku-55/" rel="noopener noreferrer"&gt;Haiku 5.5 costs $0.10 per million input tokens and $0.50 per million output tokens&lt;/a&gt; for prompts up to 100,000 tokens. Haiku 4.5 lists at $1 and $5. That is a 90% cut in the base token price.&lt;/p&gt;

&lt;p&gt;The pricing has a second tier. Above 100,000 tokens, &lt;a href="https://www.inside.com.tw/article/42592-anthropic-claude-haiku-5-5-launch-price-cut-1m-context" rel="noopener noreferrer"&gt;the rate rises to $0.50 input and $2.50 output per million tokens&lt;/a&gt;. Haiku 5.5 is the only current Claude model priced this way. Sonnet 5.5, Opus 5.5, and Fable 5.1 bill the full window at one rate.&lt;/p&gt;

&lt;p&gt;The context window grew five times. Haiku 5.5 takes &lt;a href="https://forklog.com/en/?p=104941" rel="noopener noreferrer"&gt;1 million tokens of context and returns up to 128,000 output tokens&lt;/a&gt;, up from 200,000 and 64,000 on Haiku 4.5. The cheapest Claude model now has the same window as the most expensive one.&lt;/p&gt;

&lt;p&gt;Anthropic frames the savings as about 75% per task, not 90%. The gap comes from the tokenizer. Haiku 5.5 uses the tokenizer introduced with Claude 4.7, which &lt;a href="https://www.vktr.com/ai-platforms/anthropic-cuts-smallmodel-pricing-90-with-claude-haiku-55/" rel="noopener noreferrer"&gt;produces roughly 30% more tokens for the same input&lt;/a&gt; than Haiku 4.5 did. Lower prices per token, more tokens per task.&lt;/p&gt;

&lt;p&gt;Haiku 5.5 is also the first Haiku with Anthropic's effort settings and adaptive thinking. That changes the cost math again. Artificial Analysis scored Haiku 5.5 at 43 on its Intelligence Index at maximum effort, ahead of GPT-6 Luna at 38. But &lt;a href="https://www.inside.com.tw/article/42592-anthropic-claude-haiku-5-5-launch-price-cut-1m-context" rel="noopener noreferrer"&gt;Haiku 5.5 produced about 440 million output tokens across the full test suite, against 140 million for Luna&lt;/a&gt;. Per test question, that worked out to about $0.21 for Haiku and $0.07 for Luna.&lt;/p&gt;

&lt;p&gt;Those are independent numbers, not vendor claims. Artificial Analysis also reported &lt;a href="https://pk.linkedin.com/in/mahmood-dev" rel="noopener noreferrer"&gt;33% on Terminal-Bench 4.0, up from 0% for Haiku 4.5&lt;/a&gt;. It flagged one agent automation result as likely understated and plans to re-run that test.&lt;/p&gt;

&lt;p&gt;Anthropic made two related pricing moves the same day. It &lt;a href="https://techjacksolutions.com/?p=94025" rel="noopener noreferrer"&gt;halved the Sonnet 5.5 cache read price to $0.10 per million tokens&lt;/a&gt; and said that makes Sonnet 5.5 about 20% cheaper on most agentic work. It also added monthly API credits to subscriptions. &lt;a href="https://www.inside.com.tw/article/42592-anthropic-claude-haiku-5-5-launch-price-cut-1m-context" rel="noopener noreferrer"&gt;Max 5x and Max 20x plans include $100 and $200 a month in Claude Platform credits, and Team plans get up to $500&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Availability is broad. &lt;a href="https://www.vktr.com/ai-platforms/anthropic-cuts-smallmodel-pricing-90-with-claude-haiku-55/" rel="noopener noreferrer"&gt;Haiku 5.5 runs on the Claude API, Amazon Bedrock, Google Cloud, Microsoft Foundry, and Claude Platform on AWS&lt;/a&gt;. It also shipped in Claude Code and GitHub Copilot on day one.&lt;/p&gt;

&lt;p&gt;Code written for Haiku 4.5 needs updates. Anthropic lists API changes that break older integrations, so test before you swap the model ID in production.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it means for you.&lt;/strong&gt; Small models do most of the work in agent systems. They classify, route, extract, summarize, and run as sub-agents under a larger planner. A 90% cut in the base rate makes it cheap to run many more of those calls. Keep prompts under 100,000 tokens where you can, since the price jumps five times above that line. And measure cost per task, not cost per token. The Artificial Analysis data shows a cheap token can still produce an expensive answer if the model thinks at length.&lt;/p&gt;

&lt;h3&gt;
  
  
  Meta Muse Wonder
&lt;/h3&gt;

&lt;p&gt;Meta's Superintelligence Lab &lt;a href="https://techcrunch.com/2026/10/12/meta-releases-its-first-frontier-model-muse-wonder" rel="noopener noreferrer"&gt;released Muse Wonder and Muse Wonder Full on October 12&lt;/a&gt;. TechCrunch called it Meta's first attempt at a frontier model. The earlier Muse Spark models targeted low latency. The Wonder models are larger and aim at coding and long-running agent tasks.&lt;/p&gt;

&lt;p&gt;Developers can call Muse Wonder through the Meta Model API as &lt;code&gt;muse-wonder-1.0&lt;/code&gt;. &lt;a href="https://techcrunch.com/2026/10/12/meta-releases-its-first-frontier-model-muse-wonder" rel="noopener noreferrer"&gt;It costs $4 per million input tokens and $20 per million output tokens&lt;/a&gt;. That puts it in the same price band as GPT-6 Sol and Claude Opus 5.5.&lt;/p&gt;

&lt;p&gt;The twist is the second checkpoint. &lt;a href="https://techcrunch.com/2026/10/12/meta-releases-its-first-frontier-model-muse-wonder" rel="noopener noreferrer"&gt;Muse Wonder Full is only available to Muse Code subscribers and will not be served through the API&lt;/a&gt;. Both models also power Meta's Muse agent. So the best version of Meta's model lives inside Meta's own coding product.&lt;/p&gt;

&lt;p&gt;Both models &lt;a href="https://propakistani.pk/2026/10/13/meta-enters-ai-frontier-with-new-wonder-models/amp/" rel="noopener noreferrer"&gt;support a 1 million token context window and accept text, images, video, and audio&lt;/a&gt;. Meta stressed a feature it calls active memory, the ability to keep and reuse what a user shares over time.&lt;/p&gt;

&lt;p&gt;On benchmarks, treat the numbers as vendor-reported. &lt;a href="https://techcrunch.com/2026/10/12/meta-releases-its-first-frontier-model-muse-wonder" rel="noopener noreferrer"&gt;Meta's model card shows Wonder and Wonder Full scoring comparably to Claude Fable 5.1 and GPT-6 Astra&lt;/a&gt;. Wait for independent runs before you rank it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it means for you.&lt;/strong&gt; Meta has moved from open weights to a paid frontier API. That is a strategy change, not just a model release. If your team planned around Meta as the open-weight option, the plan needs a second look. And the split between an API checkpoint and a subscriber-only checkpoint is a pattern to watch. When a lab keeps its best model inside its own app, API builders get the second-best version.&lt;/p&gt;

&lt;h3&gt;
  
  
  Mistral Large 4 Preview
&lt;/h3&gt;

&lt;p&gt;Mistral &lt;a href="https://letsdatascience.com/news/mistral-debuts-large-4-open-weight-model-preview-cbf9e0b5" rel="noopener noreferrer"&gt;opened a public preview of Mistral Large 4 on October 6&lt;/a&gt;. The preview runs on Mistral Studio and the Mistral API. Mistral says the open weights will follow by the end of October.&lt;/p&gt;

&lt;p&gt;Large 4 is a mixture-of-experts model with &lt;a href="https://www.gradually.ai/en/ai-models/mistral-large-4/" rel="noopener noreferrer"&gt;1.05 trillion total parameters&lt;/a&gt;. Mistral's launch post lists 49 billion active parameters, while its model page lists 52 billion. It takes text and image input. Mistral trained it from scratch on 3,800 Grace Blackwell GPUs in its own European data centers.&lt;/p&gt;

&lt;p&gt;The context window depends on where you look. Mistral advertises 1 million tokens. &lt;a href="https://www.gradually.ai/en/ai-models/mistral-large-4/" rel="noopener noreferrer"&gt;OpenRouter documents 524,288 tokens&lt;/a&gt;. Check the limit on the endpoint you plan to use.&lt;/p&gt;

&lt;p&gt;Mistral's coding numbers are vendor-reported. It cites 61.7% on DeepSWE v1.1. In a &lt;a href="https://www.online-tech-tips.com/?p=111042" rel="noopener noreferrer"&gt;blind coding-quality evaluation run by Mistral with Surge AI annotators, the preview scored 3.74 out of 5&lt;/a&gt;. That placed it second of five, behind Claude Opus 5 at 4.22 and ahead of Kimi K3 at 3.59.&lt;/p&gt;

&lt;p&gt;Independent testing gives a more modest picture. Vals.ai &lt;a href="https://vals.ai/models/mistralai_mistral-large-4" rel="noopener noreferrer"&gt;ranks Mistral Large 4 at #32 of 44 models on its Vals Index with 48.05%&lt;/a&gt;. Its best showing was #6 of 75 on Harvey's Legal Agent Benchmark.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it means for you.&lt;/strong&gt; The value of Large 4 is not the leaderboard. It is ownership. If Mistral ships the weights on schedule, teams get a trillion-parameter multimodal model they can run in their own data centers. That matters for regulated industries and for any team with data sovereignty rules. Plan the hardware budget now, since a model this size needs serious memory to serve.&lt;/p&gt;

&lt;h3&gt;
  
  
  OpenAI: GPT-6 Reaches Every ChatGPT User
&lt;/h3&gt;

&lt;p&gt;OpenAI &lt;a href="https://openai.com/index/gpt-6-for-everyone/" rel="noopener noreferrer"&gt;began rolling out GPT-6 with Intelligent UI across ChatGPT on October 7&lt;/a&gt;. Plus, Pro, Business, and Enterprise users got it first. Free and Go users started getting it on October 8.&lt;/p&gt;

&lt;p&gt;The model behind it depends on your plan. &lt;a href="https://openai.com/index/gpt-6-for-everyone/" rel="noopener noreferrer"&gt;Paid tiers run on GPT-6 Sol, and Free and Go tiers run on GPT-6 Luna&lt;/a&gt;. OpenAI says the release reaches more than 1.2 billion weekly ChatGPT users.&lt;/p&gt;

&lt;p&gt;Intelligent UI is the real change. GPT-6 can now answer with graphics, buttons, forms, charts, and small interactive tools inside the chat. A question about splitting a bill can return a working calculator. OpenAI also lets GPT-6 start answering while it keeps thinking. For web search questions, &lt;a href="https://yourstory.com/ai-story/gpt-6-intelligent-ui-chatgpt-answers" rel="noopener noreferrer"&gt;GPT-6 Instant starts answering 44% faster on average than GPT-5.6 Instant&lt;/a&gt;, according to OpenAI.&lt;/p&gt;

&lt;p&gt;There are limits. &lt;a href="https://blog.memoryplugin.com/chatgpt-new-features-october-2026/" rel="noopener noreferrer"&gt;Intelligent UI does not work on the Pro reasoning option, which still runs Astra&lt;/a&gt;. OpenAI's safety card also notes that Codex and ChatGPT Work keep the September versions of the models.&lt;/p&gt;

&lt;p&gt;For API users, the bigger model news came the week before. OpenAI &lt;a href="https://www.unite.ai/openai-unveils-gpt-6.1-sol-at-devday-with-new-codex-and-chatgpt-tools/" rel="noopener noreferrer"&gt;introduced GPT-6.1 Sol at DevDay on September 29&lt;/a&gt; as &lt;code&gt;gpt-6.1-sol&lt;/code&gt;, priced at $2 per million input tokens and $10 per million output tokens. OpenAI reports that it matches GPT-6 Astra on DeepSWE v1.1 at roughly one-fifth the cost. This week it became the default in Codex CLI, which we cover in the tooling section.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it means for you.&lt;/strong&gt; Generated interfaces are now a mainstream answer format. That raises the bar for every data product. Users will expect a chart or a filter control when they ask a question about numbers, not a paragraph. It also raises a trust question. A generated chart looks authoritative even when the data behind it is wrong. Teams that serve data to AI assistants need clean, governed sources more than ever.&lt;/p&gt;

&lt;h3&gt;
  
  
  Google: Gemini App Access Shifts
&lt;/h3&gt;

&lt;p&gt;Alongside Argon, Google also changed who gets which model in the Gemini app. Starting October 9, &lt;a href="https://letsdatascience.com/news/google-limits-gemini-model-access-by-subscription-24b0d7ca" rel="noopener noreferrer"&gt;Gemini app users without a subscription get Flash-Lite, not Flash or Gemini Pro&lt;/a&gt;. Google AI Plus subscribers keep Flash but lose Gemini Pro on dates sent by email. Pro and Ultra subscribers keep all three.&lt;/p&gt;

&lt;p&gt;This is the other side of the price war. Labs cut API prices for developers and tighten free consumer access at the same time. Argon itself is limited to Pro and Ultra subscribers in the Gemini app. Serving frontier models to hundreds of millions of free users costs real money.&lt;/p&gt;

&lt;h3&gt;
  
  
  Other Releases
&lt;/h3&gt;

&lt;p&gt;Release trackers logged several smaller models this week. &lt;a href="https://llmgateway.io/timeline" rel="noopener noreferrer"&gt;LLM Gateway lists Reka Edge 2603 on October 9, GLM 5.3 Fast from Z.AI on October 7, and Microsoft-Decision-1 on October 9&lt;/a&gt;. We have not confirmed specs for these against their labs' own announcements, so treat them as leads for your own testing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Model Quick Reference
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff5f2mj68ixxl3trjmfip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ff5f2mj68ixxl3trjmfip.png" alt="Model Quick Reference" width="559" height="658"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All benchmark figures above from Google, Anthropic, Meta, Mistral, and OpenAI are vendor-reported unless the text names an independent source such as Artificial Analysis or Vals.ai.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Pattern in Models
&lt;/h3&gt;

&lt;p&gt;Three trends stand out this week. First, prices keep falling at both ends. Haiku 5.5 resets the small-model floor, and Argon launches at a mid-tier price for a frontier model, at least until November 30. One million token windows are now standard across price levels, and Argon pushes output to 1 million tokens too. Second, labs are splitting releases into API versions and app-only versions. Meta's Wonder Full, OpenAI's ChatGPT-only Intelligent UI, and Argon's Antigravity experience all keep the best experience inside the lab's own product. Security-sensitive models now launch to defenders first, as Argon did through Fairwind. Third, cost per task matters more than cost per token. Adaptive thinking means two models with the same token price can differ by three times in what a real job costs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tooling: Coding Agents Compete on Control, Not Just Smarts
&lt;/h2&gt;

&lt;p&gt;The coding agent race shifted this week. The new features were not about writing better code. They were about controlling agents: which model each one runs, what files and networks it can touch, and how many can work at once without stepping on each other.&lt;/p&gt;

&lt;h3&gt;
  
  
  Claude Code 2.1.296
&lt;/h3&gt;

&lt;p&gt;Anthropic shipped &lt;a href="https://tech-insider.org/codex-cli-0-162-vs-claude-code-2-1-296-2026/" rel="noopener noreferrer"&gt;Claude Code 2.1.296 on October 9&lt;/a&gt;. The headline feature is workflow-level model pinning. A new environment variable, &lt;code&gt;CLAUDE_CODE_WORKFLOW_SUBAGENT_MODEL&lt;/code&gt;, forces every subagent in a multi-step workflow to run on one chosen model. Before this, each subagent picked its own default.&lt;/p&gt;

&lt;p&gt;That sounds small, but it solves a real cost problem. In a long workflow, one subagent quietly running on a premium model can dominate the bill. Pinning gives teams one switch to control spend and keep behavior consistent across runs.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://releasebot.io/updates/anthropic/claude-code" rel="noopener noreferrer"&gt;release notes also add subagent auto-compaction and larger Read support&lt;/a&gt;. Subagents can now compact their own context instead of growing until they hit a limit. Admins got a new &lt;code&gt;code&lt;/code&gt; key in the Claude apps gateway's managed policies, which applies the same settings as the CLI inside Claude Desktop's Code tab. The earlier 2.1.293 release made &lt;a href="https://releasebot.io/updates/anthropic/claude-code" rel="noopener noreferrer"&gt;Claude Haiku 5.5 the default Haiku model&lt;/a&gt; in Claude Code.&lt;/p&gt;

&lt;h3&gt;
  
  
  Codex CLI 0.162
&lt;/h3&gt;

&lt;p&gt;OpenAI answered within days. &lt;a href="https://tech-insider.org/codex-cli-0-162-vs-claude-code-2-1-296-2026/" rel="noopener noreferrer"&gt;Codex CLI 0.162.0 added managed Git worktree tools and pinned tasks&lt;/a&gt; in its Command Center. The release before it, 0.161.0, &lt;a href="https://tech-insider.org/github-copilot-cli-computer-use-preview-2026/" rel="noopener noreferrer"&gt;made GPT-6.1 Sol the default model and added terminal MCP sign-in&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Worktrees are the quiet standard of 2026. Each agent gets its own Git worktree, so parallel agents edit separate copies of the repository and never collide. Managed worktrees turn that from a manual setup into a built-in feature.&lt;/p&gt;

&lt;h3&gt;
  
  
  GitHub Copilot
&lt;/h3&gt;

&lt;p&gt;GitHub's &lt;a href="https://github.blog/changelog/2026-10-09-github-copilot-weekly-releases-october-5/" rel="noopener noreferrer"&gt;weekly Copilot release notes for October 9&lt;/a&gt; carried the most important security change of the week. Local sandboxing is now generally available in Copilot CLI, the Copilot app, and VS Code sessions that use Agent Host. It limits what agents can reach on your machine: files, networks, and credentials. GitHub includes it with Copilot at no extra cost.&lt;/p&gt;

&lt;p&gt;The same release made Claude Haiku 5.5 available to Copilot Pro, Pro+, Max, Business, and Enterprise users. The Copilot app now lets you use one GitHub account for your Copilot license and a different one for your repositories. That fixes a common problem for consultants and anyone with a personal and a work account.&lt;/p&gt;

&lt;p&gt;VS Code 1.141 added an Agents window that shows agent sessions side by side in a grid. You can compare results from several agents or follow several tasks at once. A new "Open worktree cleanup" command in chat shows how much disk space inactive session worktrees use and lets you delete them. Anyone who has run a dozen parallel agents knows how fast those copies fill a drive.&lt;/p&gt;

&lt;p&gt;GitHub also put &lt;a href="https://tech-insider.org/github-copilot-cli-computer-use-preview-2026/" rel="noopener noreferrer"&gt;computer use into public preview for Copilot CLI and the Copilot app&lt;/a&gt;. The agent can now operate desktop applications, not just the terminal and the editor. As of this week, Codex CLI and Claude Code had not shipped an equivalent public feature.&lt;/p&gt;

&lt;p&gt;GitHub also cleaned house before these launches. On October 2, it &lt;a href="https://tech-insider.org/github-copilot-cli-computer-use-preview-2026/" rel="noopener noreferrer"&gt;deprecated older models across Copilot Chat, inline edits, ask mode, agent mode, and code completions&lt;/a&gt;. If your team pins specific models in Copilot settings or scripts, check that those models still exist. A deprecated model ID fails quietly in some setups and loudly in others.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cursor
&lt;/h3&gt;

&lt;p&gt;Cursor kept pace on mobile. Its &lt;a href="https://dev.to/gabrielanhaia/you-already-pay-for-claude-code-and-codex-do-you-still-need-cursor-kpk"&gt;iOS app now has Remote Control for local agents&lt;/a&gt;, per its October 6 changelog. You can start and steer an agent running on your desktop from your phone. Its &lt;code&gt;/best-of-n&lt;/code&gt; command runs several candidate solutions in separate worktrees so you can pick the best one.&lt;/p&gt;

&lt;p&gt;The same article makes a useful observation. By October 2026, nearly every coding tool runs several agents at once, each in its own Git worktree. Cursor, the Copilot app, Claude Code desktop, Codex, Zed, and Warp all do it. Parallel agents are no longer a differentiator. They are table stakes.&lt;/p&gt;

&lt;h3&gt;
  
  
  ChatGPT Moves From GPTs to Plugins
&lt;/h3&gt;

&lt;p&gt;OpenAI plans to &lt;a href="https://blog.memoryplugin.com/chatgpt-new-features-october-2026/" rel="noopener noreferrer"&gt;retire custom GPTs across ChatGPT plans and provide a migration path to plugins&lt;/a&gt;. Only Enterprise has firm dates so far. No new GPTs can be created after October 26, and retirement follows on December 11. If your organization built internal GPTs, start the migration plan now.&lt;/p&gt;

&lt;h3&gt;
  
  
  Open Source Projects Set AI Rules
&lt;/h3&gt;

&lt;p&gt;The tooling story is not only about vendors. Open source projects are writing rules for how AI tools fit into their work. This week Andy Grove proposed &lt;a href="https://lists.apache.org/thread/nyrn4t3k0j6fx4pdst9m5oq81grnbwhn" rel="noopener noreferrer"&gt;updated AI guidance for Apache DataFusion Comet contributors&lt;/a&gt;. Automated reviews are welcome. But every pull request approval must come from a human, with or without AI help.&lt;/p&gt;

&lt;p&gt;On the Apache Polaris list, contributors &lt;a href="https://lists.apache.org/thread/jtj2d4h35gf5hx440y1y0xokn2v09qqp" rel="noopener noreferrer"&gt;debated using AI to write release notes&lt;/a&gt; instead of maintaining a changelog by hand. They chose to tighten the human guidance first and keep AI summaries as a later option. The theme is the same in both projects. AI can do the work, but a named person signs off.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it means for you.&lt;/strong&gt; Three practical moves follow from this week. Turn on sandboxing for any agent that runs on a developer laptop, now that GitHub ships it free. Pin subagent models in long workflows so one step does not quietly drive up cost. And write a short AI policy for your repositories. The Comet rule, human approval on every merge, is a good starting point that any team can adopt today.&lt;/p&gt;

&lt;h2&gt;
  
  
  Standards: MCP Grows Up While Agent Identity Stays Split
&lt;/h2&gt;

&lt;h3&gt;
  
  
  MCP After the Stateless Revision
&lt;/h3&gt;

&lt;p&gt;The Model Context Protocol is in its first full quarter on the stateless specification. The &lt;a href="https://you.com/resources/mcp-web-search" rel="noopener noreferrer"&gt;2026-07-28 revision removed the initialize handshake and session tracking&lt;/a&gt;. Each request now declares its protocol version in metadata and in an &lt;code&gt;MCP-Protocol-Version&lt;/code&gt; HTTP header. Any server instance behind a plain load balancer can answer any request.&lt;/p&gt;

&lt;p&gt;That change is now showing up in production behavior. The &lt;a href="https://events.linuxfoundation.org/mcp-dev-summit-toronto/" rel="noopener noreferrer"&gt;MCP Dev Summit in Toronto on October 5 and 6&lt;/a&gt; focused on the work of running MCP in regulated environments. The agenda covered identity, authorization, audit, gateways, registries, evaluation, and reliability. One preview of the event reported &lt;a href="https://forkast.news/mcp-dev-summit-toronto-opens-today-the-protocol-stack-seeks-its-missing-coordination-layer/" rel="noopener noreferrer"&gt;70 speakers across six tracks and more than fifty sessions&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;MCP is now hosted by the Linux Foundation's Agentic AI Foundation and &lt;a href="https://www.digidop.com/blog/mcp-ai-revolution" rel="noopener noreferrer"&gt;supported by OpenAI, Google, and Microsoft&lt;/a&gt;. The question is no longer whether MCP wins. The question is how teams secure and govern it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Security Products Arrive
&lt;/h3&gt;

&lt;p&gt;The security market noticed. On October 14, &lt;a href="https://manilatimes.net/2026/10/14/tmt-newswire/globenewswire/radware-introduces-model-context-protocol-mcp-server-protection-to-help-secure-the-integration-layer-of-agentic-ai/2445345" rel="noopener noreferrer"&gt;Radware announced MCP Server Protection&lt;/a&gt;, a product built to defend MCP servers against protocol abuse, authentication attacks, tool enumeration, tool flooding, and denial of service. The release cites a Stacklok survey in which nearly half of software companies reported using MCP in production, with 19% reporting broad production use.&lt;/p&gt;

&lt;p&gt;A dedicated security product is a maturity signal. Web APIs got API gateways and web application firewalls once they carried real business traffic. MCP is reaching that stage now.&lt;/p&gt;

&lt;p&gt;Hiring data tells the same story. API Evangelist counted job postings and found &lt;a href="https://apievangelist.com/2026/10/14/one-hundred-two-companies-hiring-for-mcp-and-the-enterprises-are-ahead" rel="noopener noreferrer"&gt;102 companies naming the Model Context Protocol, against 99 naming OpenAPI&lt;/a&gt;. The author is careful to say this measures hiring intent, not production use. Still, a protocol less than two years old now appears in as many job posts as the API description standard that has defined web APIs for a decade.&lt;/p&gt;

&lt;h3&gt;
  
  
  A2A and the Agent Stack
&lt;/h3&gt;

&lt;p&gt;MCP connects agents to tools. Agent2Agent (A2A) connects agents to each other. Google &lt;a href="https://enterprisedna.co/resources/news/google-a2a-aaif-agent-protocol-open-standard-august-2026/" rel="noopener noreferrer"&gt;transferred A2A to the Agentic AI Foundation on August 20&lt;/a&gt;, placing it beside MCP under one neutral home. The foundation has grown to more than 250 member organizations.&lt;/p&gt;

&lt;p&gt;The next big gathering is close. &lt;a href="https://aaif.io/press/agentic-ai-foundation-announces-global-2026-events-program-anchored-by-agntcon-mcpcon-north-america-and-europe/" rel="noopener noreferrer"&gt;AGNTCon + MCPCon North America runs October 22 and 23 in San Jose&lt;/a&gt;. It is the foundation's flagship event, and specification announcements often cluster around it. Expect news on MCP, A2A, goose, and AGENTS.md there.&lt;/p&gt;

&lt;h3&gt;
  
  
  Agent Identity Remains Unsettled
&lt;/h3&gt;

&lt;p&gt;One gap stands out. There is still no agreed standard for agent identity and authorization. A recent analysis found that &lt;a href="https://forkast.news/the-ietf-published-a-draft-for-agent-identity-the-market-already-shipped/" rel="noopener noreferrer"&gt;the IETF has no adopted working group for agent identity&lt;/a&gt;, only a crowd of competing individual drafts. One of those drafts, on agent-native OAuth challenges, expired on October 5.&lt;/p&gt;

&lt;p&gt;Drafts keep coming. The &lt;a href="https://www.ietf.org/archive/id/draft-fane-opena2a-aap-02.html" rel="noopener noreferrer"&gt;OpenA2A Agent Authorization Protocol draft&lt;/a&gt; defines agent identity tokens, scoped capability grants, cross-agent delegation, and revocation. It argues that OAuth 2.0, SAML, and OpenID Connect were not designed for agents. Other drafts make similar arguments with different designs. Until one wins, every vendor ships its own approach.&lt;/p&gt;

&lt;h3&gt;
  
  
  Generated Interfaces Need a Standard Too
&lt;/h3&gt;

&lt;p&gt;OpenAI's Intelligent UI raises a standards question. MCP already has an answer in its ecosystem. MCP Apps is an official extension that &lt;a href="https://en.wikipedia.org/wiki/Model_Context_Protocol" rel="noopener noreferrer"&gt;standardizes how MCP servers deliver interactive interfaces such as dashboards, forms, and charts to host applications&lt;/a&gt;. Intelligent UI is a model-generated interface inside one product. MCP Apps is a server-delivered interface that works across hosts. Both will matter. Teams building data tools should know the difference before they pick a path.&lt;/p&gt;

&lt;h3&gt;
  
  
  Standards at the Data Layer
&lt;/h3&gt;

&lt;p&gt;Some of the most useful standards work this week happened in the data layer, where agents get their facts. Apache Ossie, the open semantic interchange specification, &lt;a href="https://lists.apache.org/thread/dpjz5jg84rsbyjv44rp6ylxo8khfzz9w" rel="noopener noreferrer"&gt;debated whether to ship an MCP server and where it belongs&lt;/a&gt;. The emerging answer is to keep a small shared contract in the spec, a declarative query shape plus standard error codes, and let engines and catalogs run the servers. One contributor already built a ClickHouse executor against that contract and reported which error codes it supports.&lt;/p&gt;

&lt;p&gt;Apache Iceberg passed a vote to &lt;a href="https://lists.apache.org/thread/pllz983cvffryzcwskglsr0cyo7p0gxx" rel="noopener noreferrer"&gt;recommend a standard User-Agent format for REST catalog clients&lt;/a&gt;, with 19 votes in favor and none against. Iceberg contributors also agreed to &lt;a href="https://lists.apache.org/thread/ws89d7doddgqc2j8fc2xt84bchr374t2" rel="noopener noreferrer"&gt;add a &lt;code&gt;none&lt;/code&gt; value to the access delegation header&lt;/a&gt;, so a client can say it brings its own storage credentials. These are small rules. They are exactly the kind of rules agents need, because an agent cannot ask a human which credential path a catalog expects.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it means for you.&lt;/strong&gt; Treat MCP like any production API. Put it behind a gateway, log every tool call, and scope credentials tightly. Do not wait for an agent identity standard before you build controls. Use short-lived credentials and per-agent scopes with the auth tools you already have. And if your agents query business data, give them a semantic layer and a catalog with clear contracts, not raw tables.&lt;/p&gt;

&lt;h2&gt;
  
  
  Infrastructure: The Rack Becomes the Product
&lt;/h2&gt;

&lt;p&gt;The OCP Global Summit ran October 12 to 15 in San Jose. It is where hyperscalers and chipmakers publish the hardware designs that data centers build from. This year the message was clear. The unit of AI compute is no longer the chip. It is the rack, and everyone wants their rack design to become the standard.&lt;/p&gt;

&lt;h3&gt;
  
  
  NVIDIA Opens Vera Rubin
&lt;/h3&gt;

&lt;p&gt;NVIDIA &lt;a href="https://www.storagenewsletter.com/2026/10/14/ocp-global-summit-2026-amid-ecosystem-adoption-nvidia-opens-vera-rubin-architecture-to-help-scale-ai-factories-worldwide/" rel="noopener noreferrer"&gt;contributed its Vera Rubin rack and compute tray designs to OCP&lt;/a&gt; through its MGX architecture. That lets system builders such as Foxconn, Quanta, Wiwynn, and Supermicro build compatible racks faster.&lt;/p&gt;

&lt;p&gt;The new &lt;a href="https://convergedigest.com/nvidia-ocp-2026-vera-rubin-mgx-spectrum6-usfp/" rel="noopener noreferrer"&gt;MGX 1.2 spec supports racks up to 250 kW&lt;/a&gt;. It adds native 19-inch equipment support, configurable I/O bays, and fanless liquid-cooled compute trays. NVIDIA also released four open source components for its DSX AI Factory software for configuration, cluster readiness, rack management, and cluster provisioning.&lt;/p&gt;

&lt;p&gt;NVIDIA joined AMD, Google, Meta, and Microsoft to publish the Open Data Center Specification v0.7 and an OCP Grid Resilience Specification. With Cisco, it is developing the Ultra-Dense Small Form Factor Pluggable optical module, which &lt;a href="https://finance.biggo.com/news/70e70217-1185-4c19-a230-9abbc3e68b5f" rel="noopener noreferrer"&gt;targets four times the bandwidth density in a similar footprint&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For context, each Rubin GPU carries &lt;a href="https://hashrateindex.com/blog/nvidia-vera-rubin-nvl72-specs-breakdown/" rel="noopener noreferrer"&gt;288 GB of HBM4 at 22 TB/s of bandwidth&lt;/a&gt;, and a Vera Rubin NVL72 rack holds 72 GPUs and 36 Vera CPUs. A 250 kW rack is roughly the power draw of a small office building, packed into one cabinet.&lt;/p&gt;

&lt;h3&gt;
  
  
  Microsoft Maia 300
&lt;/h3&gt;

&lt;p&gt;Microsoft &lt;a href="https://finance.yahoo.com/technology/article/microsoft-reveals-maia-300-ai-chip-as-it-works-to-reduce-dependence-on-nvidia-amd-130000212.html" rel="noopener noreferrer"&gt;unveiled its Azure Maia 300 AI chip at OCP on October 12&lt;/a&gt;. Microsoft says it delivers 40% more tokens per megawatt than leading GPU-based systems. A 96-chip rack offers seven times the rack-scale token throughput of Maia 200.&lt;/p&gt;

&lt;p&gt;Note the metric. Microsoft did not lead with FLOPS. It led with tokens per megawatt. Power, not chips, is now the binding limit for many data centers, so the useful measure is how much work each watt buys. Maia 200 already runs Microsoft 365 Copilot and OpenAI models in production, so Maia 300 has a real workload waiting.&lt;/p&gt;

&lt;h3&gt;
  
  
  AMD Helion and the CPU Comeback
&lt;/h3&gt;

&lt;p&gt;AMD &lt;a href="https://thefpsreview.com/2026/10/14/amds-helion-rack-packs-32768-zen-6-cores-and-lisa-su-shows-off-the-first-epyc-with-lpddr-memory" rel="noopener noreferrer"&gt;introduced Helion on October 12&lt;/a&gt;, an open rack blueprint built on an OCP spec design and aimed at AI agent workloads. One example configuration is a CPU-only rack with up to 32,768 Zen 6 cores. AMD plans to contribute the spec to OCP, and partner configurations from Cisco, Dell, Hon Hai, and HPE are slated for November 2026.&lt;/p&gt;

&lt;p&gt;Why a CPU rack for AI? Agents do a lot of work that is not matrix math. They call tools, run code, parse documents, query databases, and wait on network calls. That work runs on CPUs. As agent systems grow, CPU capacity becomes as important as GPU capacity.&lt;/p&gt;

&lt;p&gt;Lisa Su also showed a 6th Gen EPYC chip codenamed Verano, which AMD describes as the first EPYC CPU with an LPDDR memory interface. It arrives in 2027. LPDDR trades some serviceability and maximum capacity for better bandwidth per watt.&lt;/p&gt;

&lt;h3&gt;
  
  
  Intel Bets on LPDDR5X Instead of HBM
&lt;/h3&gt;

&lt;p&gt;Intel &lt;a href="https://fourweekmba.com/ai-intel-details-crescent-island-gpu-and-new-xeon-rack-designs/" rel="noopener noreferrer"&gt;detailed its GPU D-series, formerly code-named Crescent Island&lt;/a&gt;. It pairs up to 480 GB of LPDDR5X memory with 1.5 TB/s of bandwidth and 1.3 petaflops of FP8 compute in a 350-watt envelope. Intel says one card supports models with up to 300 billion parameters. Customer sampling is underway, with no price or ship date announced.&lt;/p&gt;

&lt;p&gt;The memory choice is the story. Intel skipped HBM entirely. LPDDR5X has far less bandwidth than HBM4, but it costs less, uses less power, and is not sold out. For inference on large models, capacity often matters more than peak bandwidth.&lt;/p&gt;

&lt;h3&gt;
  
  
  Marvell and CXL Memory
&lt;/h3&gt;

&lt;p&gt;Marvell &lt;a href="https://www.marvell.com/company/newsroom/marvell-open-ai-infrastructure-ocp-global-summit-2026.html" rel="noopener noreferrer"&gt;showed its Structera CXL memory expansion line, Teralynx T100 102.4T switch, and 1.6T optics&lt;/a&gt; at OCP. Coverage of the summit reported that &lt;a href="https://fourweekmba.com/ai-daily-roundup-12-oct-2026-ai-chips-racks-large-loads/" rel="noopener noreferrer"&gt;Marvell's new CXL chip supports up to 9 TB of memory&lt;/a&gt;. CXL lets servers attach large pools of memory over a standard interconnect, another way around the HBM shortage.&lt;/p&gt;

&lt;h3&gt;
  
  
  The HBM Squeeze
&lt;/h3&gt;

&lt;p&gt;All of these memory choices trace back to one shortage. HBM4 contract prices &lt;a href="https://tech-insider.org/hbm4-memory-shortage-amd-samsung-sk-hynix-price-spike-2026/" rel="noopener noreferrer"&gt;jumped 117% week over week in early October&lt;/a&gt;, according to the Korea Economic Daily. Mass production only started ramping in the second quarter of 2026, just as NVIDIA's Vera Rubin and AMD's Instinct MI455 began drawing on the same suppliers.&lt;/p&gt;

&lt;p&gt;AMD moved to lock in supply. After Lisa Su met Samsung executives in Seoul on October 7, &lt;a href="https://tech-insider.org/hbm4-memory-shortage-amd-samsung-sk-hynix-price-spike-2026/" rel="noopener noreferrer"&gt;AMD and Samsung signed a three-year memorandum covering HBM4, advanced DDR5, joint memory development, advanced packaging, and possible future foundry work&lt;/a&gt;. AMD's MI455 ships with 432 GB of HBM4 on board.&lt;/p&gt;

&lt;p&gt;The shortage reaches beyond data centers. A roundup of October 12 news noted that &lt;a href="https://fourweekmba.com/ai-daily-roundup-12-oct-2026-ai-chips-racks-large-loads/" rel="noopener noreferrer"&gt;Counterpoint estimated smartphone shipments fell 20% in Q3 as memory shortages constrained supply&lt;/a&gt;. The same day, parts of FERC's order on large loads such as data centers took effect, including a large load definition and registry.&lt;/p&gt;

&lt;h3&gt;
  
  
  Formats Are Infrastructure Too
&lt;/h3&gt;

&lt;p&gt;Hardware is only half of the cost story. The other half is how data is stored and moved. This week the Apache Parquet community &lt;a href="https://lists.apache.org/thread/m8d0520g7df8686p6l1nbst46hn29bw2" rel="noopener noreferrer"&gt;merged the C++ implementation of ALP encoding&lt;/a&gt; for floating-point data. Floating-point columns are everywhere in AI: embeddings, model features, sensor readings. Better compression on those columns means less storage, less I/O, and less memory per query.&lt;/p&gt;

&lt;p&gt;Parquet contributors also &lt;a href="https://lists.apache.org/thread/5vj5ttfjrrwhjmq2y5lpd5w048qw5yv9" rel="noopener noreferrer"&gt;debated a native vector type&lt;/a&gt;. One side wants a simple fixed-length VECTOR type now. The other side argues the real gains come from quantized vectors, where storage and speed improve by orders of magnitude. Apache Iceberg is &lt;a href="https://lists.apache.org/thread/49bm2d8szbzkvtdog38s1o6zb04cj67o" rel="noopener noreferrer"&gt;designing its own vector type on top of the Parquet work&lt;/a&gt;. And Apache Arrow &lt;a href="https://lists.apache.org/thread/sltmotxsw3gq5p7jqvm5bcvrynsflvqg" rel="noopener noreferrer"&gt;shipped release 26.0.0&lt;/a&gt;, the in-memory format that moves data between engines without conversion.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What it means for you.&lt;/strong&gt; Memory is the constraint to plan around for the next year. If you buy or rent GPU capacity, expect HBM-heavy instances to stay scarce and pricey. Look at LPDDR and CXL-based options for inference workloads that need capacity more than bandwidth. And do not overlook the cheapest fix. Compressing and organizing your data well cuts memory and I/O on every query, no new hardware required.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Data Layer: Where Agents Get Their Facts
&lt;/h2&gt;

&lt;p&gt;Every story this week ends at the same place. Cheaper models, generated interfaces, and agent fleets all need trustworthy data to work with.&lt;/p&gt;

&lt;p&gt;Look at the model news. Haiku 5.5 makes it cheap to run thousands of small agent calls. Each of those calls needs context: a table, a metric, a document. If the context is wrong, a cheap model produces a cheap wrong answer at scale. GPT-6's Intelligent UI turns answers into charts. A chart built on a bad join looks just as convincing as one built on a good one.&lt;/p&gt;

&lt;p&gt;The open lakehouse is building for this. Apache Iceberg voted this week to &lt;a href="https://lists.apache.org/thread/7ctclwomk8yqcclzj82z0htlqk2xjf49" rel="noopener noreferrer"&gt;add a File type to its v4 spec&lt;/a&gt;. A file column stores a URI, offset, size, content type, and checksum for each referenced object. That lets a table track the PDFs, images, and audio that AI pipelines process, with the same metadata and governance Iceberg uses for rows. Iceberg also passed a rule that &lt;a href="https://lists.apache.org/thread/y2fvgh4ojfcss7o76drkgdvdrpb17ccm" rel="noopener noreferrer"&gt;snapshot timestamps must always increase in v4&lt;/a&gt;, which fixes time travel queries when writer clocks drift. When an agent asks what the data looked like last Tuesday, it gets the right answer.&lt;/p&gt;

&lt;p&gt;Apache Polaris, the open catalog for Iceberg, discussed &lt;a href="https://lists.apache.org/thread/ls38t86m9mrpdmcqfmqmjtg768dny8tn" rel="noopener noreferrer"&gt;exposing table labels to engines as a view over its tag system&lt;/a&gt;. Labels carry classifications such as personal data or confidential. Callers only see the labels they already have permission to see. That is the kind of control an agent needs before it reads a table.&lt;/p&gt;

&lt;p&gt;Apache Ossie is the layer that gives agents shared meaning. It defines metrics, dimensions, and relationships once so every tool reads them the same way. This week a contributor &lt;a href="https://lists.apache.org/thread/dnl13g1nlh7l2o6gnw9qjp7wqmrh0tds" rel="noopener noreferrer"&gt;tested a simple sum metric through 14 converters&lt;/a&gt;. Eight preserved the standard SQL expression. Only one preserved Ossie's own portable dialect. That honest measurement is exactly what a young standard needs. It shows where the gaps are before agents depend on them.&lt;/p&gt;

&lt;p&gt;The takeaway is simple. Open formats, open catalogs, and open semantic definitions are not side projects to AI. They are the foundation that makes cheap, fast models safe to use on business data.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Week in Numbers
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;1 million.&lt;/strong&gt; Gemini 4 Argon's output token limit, up from 64,000.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;$2 and $10.&lt;/strong&gt; Argon's introductory price per million input and output tokens, rising to $4 and $20 after November 30.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;300 TiB.&lt;/strong&gt; Memory Google says Argon agents freed across its data centers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;90%.&lt;/strong&gt; The cut in Claude Haiku 5.5's base token price compared with Haiku 4.5.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;75%.&lt;/strong&gt; Anthropic's estimate of the average per-task savings, once the new tokenizer's extra tokens are counted.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;30%.&lt;/strong&gt; How many more tokens the Claude 4.7 tokenizer produces for the same input than Haiku 4.5's tokenizer did.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;440 million vs. 140 million.&lt;/strong&gt; Output tokens Haiku 5.5 and GPT-6 Luna each used to finish the Artificial Analysis test suite.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1.2 billion.&lt;/strong&gt; Weekly ChatGPT users OpenAI says now get GPT-6.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;44%.&lt;/strong&gt; How much sooner GPT-6 Instant starts answering web search questions than GPT-5.6 Instant, per OpenAI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;1.05 trillion.&lt;/strong&gt; Total parameters in Mistral Large 4.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;3,800.&lt;/strong&gt; Grace Blackwell GPUs Mistral used to train Large 4.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;250 kW.&lt;/strong&gt; Maximum rack power in NVIDIA's MGX 1.2 spec for Vera Rubin.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;40%.&lt;/strong&gt; More tokens per megawatt Microsoft claims for Maia 300 over leading GPU systems.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;32,768.&lt;/strong&gt; Zen 6 cores in AMD's CPU-only Helion rack configuration.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;480 GB.&lt;/strong&gt; LPDDR5X memory on Intel's GPU D-series partner cards.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;117%.&lt;/strong&gt; The week-over-week jump in HBM4 contract prices reported in early October.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;102 vs. 99.&lt;/strong&gt; Companies naming MCP and OpenAPI in job postings in API Evangelist's count.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;19 to 0.&lt;/strong&gt; The Apache Iceberg vote on a standard REST client User-Agent format.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Read together, these numbers tell one story. Model prices are falling fast while memory prices are rising fast. The labs can only keep cutting prices if hardware gets more work out of each watt and each gigabyte. That is why this week's OCP news centered on power, memory, and open rack designs rather than raw chip speed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practitioner Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Test Gemini 4 Argon now.&lt;/strong&gt; The introductory price runs through November 30. Run it on your own evaluations, but budget at the $4 and $20 rate.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Re-run your model cost math.&lt;/strong&gt; Haiku 5.5 at $0.10 per million input tokens changes which tasks are worth automating. Measure cost per completed task, since thinking tokens can triple the bill.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Watch the 100,000-token line.&lt;/strong&gt; Haiku 5.5 charges five times more above it. Trim context or split long jobs where you can.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Turn on agent sandboxing.&lt;/strong&gt; GitHub now includes local sandboxing with Copilot. Use it, or an equivalent, on every developer machine that runs agents.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pin models in long workflows.&lt;/strong&gt; Claude Code's new workflow pinning keeps every subagent on one model. That keeps cost and behavior predictable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plan the GPTs migration.&lt;/strong&gt; Enterprise ChatGPT users cannot create new custom GPTs after October 26. Start moving to plugins.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Secure MCP like an API.&lt;/strong&gt; Gateways, logs, and scoped credentials. Dedicated MCP security products are now on the market.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Budget for memory, not just compute.&lt;/strong&gt; HBM4 prices jumped sharply this month. Consider LPDDR and CXL options for capacity-heavy inference.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Give agents governed data.&lt;/strong&gt; Use an open catalog with clear access rules and a semantic layer with shared metric definitions.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What to Watch Next Week
&lt;/h2&gt;

&lt;p&gt;AGNTCon + MCPCon North America opens in San Jose on October 22. Expect MCP and A2A specification news, new members for the Agentic AI Foundation, and security tooling launches. Mistral's promised open weights for Large 4 are due by the end of October, so watch for the download and the license terms. Independent benchmarks for Gemini 4 Argon and Meta's Muse Wonder should start appearing, and Google says more Gemini 4 models are coming. The OCP summit wraps up October 15, and more rack and memory details will trickle out after it. On the open data side, the Iceberg File type vote closes, and the Parquet vector type debate continues.&lt;/p&gt;




&lt;h2&gt;
  
  
  Keep Learning
&lt;/h2&gt;

&lt;p&gt;The AI and data world moves fast, and a weekly newsletter only scratches the surface. I have written more than 50 books on AI-assisted development, agentic AI, the open lakehouse, Apache Iceberg, and data engineering. They cover the tools and ideas in this newsletter in depth, with hands-on examples.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Browse the full catalog at &lt;a href="https://books.alexmerced.com" rel="noopener noreferrer"&gt;books.alexmerced.com&lt;/a&gt;&lt;/strong&gt; and pick the book that fits what you are building next.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Apache Data Lakehouse Weekly: September 29 to October 7, 2026</title>
      <dc:creator>Alex Merced</dc:creator>
      <pubDate>Wed, 07 Oct 2026 17:43:15 +0000</pubDate>
      <link>https://dev.to/alexmercedcoder/apache-data-lakehouse-weekly-september-29-to-october-7-2026-42im</link>
      <guid>https://dev.to/alexmercedcoder/apache-data-lakehouse-weekly-september-29-to-october-7-2026-42im</guid>
      <description>&lt;p&gt;Apache Iceberg 1.12.0 shipped this week, and the release set off a chain of follow-up work across the open lakehouse stack. Polaris started its upgrade to the new Iceberg client within a day. Arrow opened its 26.0.0 vote, DataFusion pushed four releases through in one stretch, and Parquet moved closer to a compromise on a numeric vector type. Apache Ossie (incubating) spent the week arguing about how AI agents should query a semantic model, which turned into one of the most useful design debates on any list this fall.&lt;/p&gt;

&lt;p&gt;Underneath the releases sit three threads that run through every project. Contributors keep asking how AI tools fit into the way Apache projects review, test, and credit code. Vector data keeps pulling the file format, the table format, and the semantic layer toward new types and indexes. And several communities are drawing sharper lines between a specification and the code that implements it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Week by the Numbers
&lt;/h2&gt;

&lt;p&gt;The six dev lists carried 403 messages across 102 threads between September 29 and October 7. Iceberg and Polaris tied for the busiest list with 118 messages each. Ossie followed with 88, DataFusion posted 45, Arrow had 19, and Parquet had 15. Message counts undersell Parquet and Arrow this week, since both lists handled format decisions that will shape files for years.&lt;/p&gt;

&lt;p&gt;Release activity stood out. Iceberg Java 1.12.0 and Iceberg Go 0.7.0 both passed their votes. DataFusion Comet 1.1.0, DataFusion Ballista 55.0.0, and DataFusion Python 54.1.0 all passed, and DataFusion 55.2.0 collected enough binding votes by the end of the window. Arrow 26.0.0 RC0 drew five binding approvals before the week closed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Iceberg
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Iceberg 1.12.0 ships
&lt;/h3&gt;

&lt;p&gt;Neelesh Salian &lt;a href="https://lists.apache.org/thread/kst8b58yjnvfy353g2ysvb4fkx3xdcr9" rel="noopener noreferrer"&gt;announced Apache Iceberg 1.12.0&lt;/a&gt; on October 1 after the &lt;a href="https://lists.apache.org/thread/ychjvqbmt7ksmczhct3mnw8j3yowwbcr" rel="noopener noreferrer"&gt;RC2 vote passed&lt;/a&gt; with four binding and ten non-binding approvals. Russell Spitzer, Kevin Liu, Szehon Ho, and Amogh Jahagirdar cast the binding votes. Russell thanked Neelesh and called the cycle a slog, and several contributors echoed the thanks. Hongyue Zhang added a hope that the project keeps a steady release cadence from here.&lt;/p&gt;

&lt;p&gt;Neelesh followed the announcement with a &lt;a href="https://lists.apache.org/thread/kst8b58yjnvfy353g2ysvb4fkx3xdcr9" rel="noopener noreferrer"&gt;release summary&lt;/a&gt; that reads like a map of where the format is going. Variant columns gained vectorized Parquet reads for unshredded data in Spark 4.0 and 4.1. Shredding now applies only to single-type fields, and Flink and Kafka Connect can write shredded Variant data. Geometry and geography types read and write in Parquet and Avro, with end-to-end support in Spark 4.1.&lt;/p&gt;

&lt;p&gt;Flink gained a maintenance task that converts equality deletes into deletion vectors, plus SQL support for Iceberg views. Spark 4.1 picked up a Hilbert-curve clustering strategy for &lt;code&gt;rewrite_data_files&lt;/code&gt;. The REST spec now describes read restrictions such as column masking and row filters. The release also lays the first V4 foundations, including a V4 manifest reader and writer, relative paths, and content statistics. Flink 2.2 and 2.3 joined the support matrix, while Spark 3.4 and Flink 2.0 left it. The release carries 777 commits from 142 contributors since 1.11.0.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://lists.apache.org/thread/2jkbn7pq60fykmxgm07rfxj2nhy4xoow" rel="noopener noreferrer"&gt;RC2 vote thread&lt;/a&gt; showed a new pattern in how people verify releases. Kurtis Wright opened his vote with a disclaimer that an agent skill for validating open source release candidates generated his checks. His report covered signatures, tarball contents, and the LICENSE and NOTICE files inside each of the 12 runtime jars. Kevin Liu ran the release against the PyIceberg CI and also pointed an agent at the repository to scan for correctness issues. The agent flagged a few problems, and Kevin confirmed they predate 1.12, so none blocked the release.&lt;/p&gt;

&lt;p&gt;That detail matters for anyone running Iceberg in production. Human release managers still decide what ships, but the verification depth per voter keeps climbing. A single non-binding voter now checks third-party packages inside every bundled jar, a task few volunteers attempted by hand.&lt;/p&gt;

&lt;h3&gt;
  
  
  Spec changes and release notes
&lt;/h3&gt;

&lt;p&gt;Péter Váry noticed something odd while reviewing the 1.12.0 notes. The Java release notes listed spec changes, such as the SQL UDF specification and geometry clarifications for V3. Péter &lt;a href="https://lists.apache.org/thread/0r9fhdb1zc74ycz0hx2wyl1xyn48jyxl" rel="noopener noreferrer"&gt;argued that this misleads readers&lt;/a&gt;, since spec changes take effect when a vote passes or a spec version is finalized, not when a Java binary ships. Manu Zhang, Szehon Ho, Kevin Liu, and Hongyue Zhang agreed. Péter opened &lt;a href="https://github.com/apache/iceberg/pull/18349" rel="noopener noreferrer"&gt;PR 18349&lt;/a&gt; to separate the two, and Kevin asked for a matching changelog for the REST catalog spec, which has seen the most change lately.&lt;/p&gt;

&lt;p&gt;Kurtis Wright pushed further and floated a separate iceberg-format repository to hold the specs and drive the website, similar to how Parquet keeps parquet-format apart from its Java code. Danny Jones supported the idea and suggested keeping commit history, as the iceberg-rust DataFusion move did recently. Daniel Weeks pushed back hard. He said the project has iterated on docs and site layouts many times, and that moving the specs adds little value while keeping them next to the reference implementation works fine. For now the practical outcome is a dedicated spec changelog, not a new repository.&lt;/p&gt;

&lt;h3&gt;
  
  
  REST catalog: User-Agent, delegation, and expressions
&lt;/h3&gt;

&lt;p&gt;Rahul Mahadev &lt;a href="https://lists.apache.org/thread/bzs62qqt9k4t9sr76pk0d36l47zwcpyb" rel="noopener noreferrer"&gt;reopened the vote&lt;/a&gt; on a standard User-Agent format for REST clients after taking review feedback from Alex Dutra. The proposal uses the standard HTTP header with product and version tokens, ordered from most specific to least. An example looks like &lt;code&gt;Spark/4.0.0 iceberg-spark/1.9.0 iceberg-java/1.9.0 (scala 2.13.16)&lt;/code&gt;. When a client sends the header, it must include an Iceberg library token such as &lt;code&gt;iceberg-java&lt;/code&gt;, &lt;code&gt;pyiceberg&lt;/code&gt;, &lt;code&gt;iceberg-rust&lt;/code&gt;, or &lt;code&gt;iceberg-go&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The vote spells out what the header is not. Servers must not reject requests for a missing or malformed header, and they must not use it for authentication. It is not a capability negotiation mechanism. Servers can refuse operations from client versions known to be unsafe. The thread collected binding approvals from Daniel Weeks, Russell Spitzer, Sung Yun, Amogh Jahagirdar, Eduard Tudenhöfner, Gang Wu, Zheng Hu, and Ryan Blue. Zheng Hu also noted CVE scanning failures on &lt;a href="https://github.com/apache/iceberg/pull/17727" rel="noopener noreferrer"&gt;PR 17727&lt;/a&gt; that need attention before merge. For catalog operators, this gives a consistent way to see which engines and library versions hit the catalog, which helps with support and with retiring unsafe clients.&lt;/p&gt;

&lt;p&gt;A second REST thread asked what servers should do when they cannot satisfy the &lt;code&gt;X-Iceberg-Access-Delegation&lt;/code&gt; header. Alex Dutra &lt;a href="https://lists.apache.org/thread/l02zjbx3j1pddqhj3wg8gkj10o90l2cp" rel="noopener noreferrer"&gt;proposed a new value&lt;/a&gt; named &lt;code&gt;local&lt;/code&gt;, so a client can say it works with its own credentials. Daniel Weeks preferred &lt;code&gt;none&lt;/code&gt;, which tells the catalog the client does not need credentials from it, so the catalog can skip generating them. The same debate ran on the Polaris list, covered below.&lt;/p&gt;

&lt;p&gt;Revanth Ch raised a migration question about the &lt;a href="https://lists.apache.org/thread/48pqzgp1x095yn7clrpbh1vb56gfbq1t" rel="noopener noreferrer"&gt;new expression JSON forms&lt;/a&gt;. The expressions spec now prefers a form with explicit &lt;code&gt;left&lt;/code&gt; and &lt;code&gt;right&lt;/code&gt; terms, while the Java, Go, and C++ clients still read and write only the older form. Revanth proposed conformance fixtures in the iceberg-verification repository to track the migration. Ryan Blue answered with a simple recommendation: servers should drop residuals entirely, since they cost a lot to compute and clients rarely apply them.&lt;/p&gt;

&lt;h3&gt;
  
  
  V4 design work
&lt;/h3&gt;

&lt;p&gt;The V4 spec work produced three focused threads. Anoop Johnson opened a discussion on &lt;a href="https://lists.apache.org/thread/tv7bvqctdfh5qng1sx5rp8r4r00nsv60" rel="noopener noreferrer"&gt;stats tightness&lt;/a&gt;. Tight bounds let an engine answer some queries from metadata alone, but once a deletion vector attaches to a file, today's rules treat every bound as loose. Anoop wanted a way to keep tightness when a DV is present. Russell Spitzer walked through the cases where per-column tightness helps and concluded that most are narrow or hypothetical. Daniel Weeks, Eduard Tudenhöfner, Hongyue Zhang, and Szehon Ho all backed a single file-wide flag.&lt;/p&gt;

&lt;p&gt;Eduard Tudenhöfner raised a &lt;a href="https://lists.apache.org/thread/8f91nk08cq2pxtsdpf1o34ktthn7jcwk" rel="noopener noreferrer"&gt;rename of &lt;code&gt;avg_value_size_in_bytes&lt;/code&gt; to &lt;code&gt;total_bytes&lt;/code&gt;&lt;/a&gt; in content stats, tracked in &lt;a href="https://github.com/apache/iceberg/pull/18308" rel="noopener noreferrer"&gt;PR 18308&lt;/a&gt;. A total aggregates cleanly across files, and the average still falls out of total bytes divided by value count. The timing hurt, since &lt;code&gt;avgValueSizes()&lt;/code&gt; landed in central Java classes and the REST spec in 1.12.0. Ryan Blue suggested storing &lt;code&gt;totalBytes&lt;/code&gt; and computing &lt;code&gt;avgValueSize&lt;/code&gt; from it in the Java API. Steven Wu agreed and noted that the REST spec does not yet support V4 tables, so a JSON break there is acceptable.&lt;/p&gt;

&lt;p&gt;Gábor Kaszab pointed the list at &lt;a href="https://lists.apache.org/thread/7fp9gcgp7948omd3kk407390o9dnkbxf" rel="noopener noreferrer"&gt;PR 17533 on reusable encryption keys&lt;/a&gt; for statistics files. If the approach holds, the same pattern applies to encrypting the V4 root metadata file. Sandeep Gottimukkala proposed a one-sentence &lt;a href="https://lists.apache.org/thread/c91ph82tnrlhj8qq9lj8n72b0s7qq5r0" rel="noopener noreferrer"&gt;spec clarification on promotable types&lt;/a&gt; in &lt;a href="https://github.com/apache/iceberg/pull/18404" rel="noopener noreferrer"&gt;PR 18404&lt;/a&gt;. Readers must accept any data file column whose type promotes to the field's type, whether or not the field evolved. Sandeep said some systems check for an exact type match and break on valid tables.&lt;/p&gt;

&lt;p&gt;Alexander Loeser and Andrei Tserakhau kept the &lt;a href="https://lists.apache.org/thread/8f89jt50p53xkorh3z39dtz13jchd0gx" rel="noopener noreferrer"&gt;collation discussion&lt;/a&gt; moving. Both prefer storing bounds for multiple collation versions per data file, which helps during ICU upgrades. The open question is layout. Andrei plans to prototype the current &lt;code&gt;content_stats&lt;/code&gt; layout against Russell's idea of derived &lt;code&gt;COLLATE(field, collation, version)&lt;/code&gt; fields and compare on-disk size with one, two, and three live versions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Indexes, vectors, and a new file format
&lt;/h3&gt;

&lt;p&gt;Shawn Chang reopened a settled question about the &lt;a href="https://lists.apache.org/thread/8zq10wdsz5rx8v35zgon24r4gnsjsv9h" rel="noopener noreferrer"&gt;index spec's non-overlapping region files&lt;/a&gt;. He listed the costs: write amplification on hot key ranges and more maintenance work. Péter Váry explained the design goal. The index targets fast, predictable single-key lookups, and non-overlapping regions mean one region-file read once the tracking file sits in cache. Region files stay small, around 4 MB, so writing a consolidated region costs about the same as writing an overlay. Péter later posted the &lt;a href="https://lists.apache.org/thread/tvr8nsrl5srnslsxnk9thgt44m73y2ws" rel="noopener noreferrer"&gt;index sync summary&lt;/a&gt;, confirming non-overlapping regions, total row ordering through sort keys (renamed from cluster keys), and a ready-for-review spec in &lt;a href="https://github.com/apache/iceberg/pull/16961" rel="noopener noreferrer"&gt;PR 16961&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Steven Wu announced that the Thursday biweekly sync &lt;a href="https://lists.apache.org/thread/k3ncg4j27mpfqcm57px8goc0ox8rvdlp" rel="noopener noreferrer"&gt;will cover both File and Vector types&lt;/a&gt; starting October 8. The file type work nears consensus, so most of the time will go to the Vector type design from Yan Yan. That matters because Parquet is debating its own vector type this week, and the two designs need to line up.&lt;/p&gt;

&lt;p&gt;Martin Prammer started a &lt;a href="https://lists.apache.org/thread/pb66o8gk8nqc6yormfld7pkt6rdfkvh7" rel="noopener noreferrer"&gt;mailing-list discussion on adding Vortex&lt;/a&gt; as an Iceberg file format. The draft now opens with an overview of Vortex and its community policies, after questions at the last community sync. Martin asked the list to confirm two things before going further: whether the general rules for adding any file format match expectations, and whether concerns remain about how Vortex meets them. Iceberg has supported Parquet, ORC, and Avro for years, so any new format faces a high bar on governance and long-term stability.&lt;/p&gt;

&lt;h3&gt;
  
  
  Clients and catalogs
&lt;/h3&gt;

&lt;p&gt;Matt Topol's &lt;a href="https://lists.apache.org/thread/6sfhg7z7rqt4nxc3m9pgt40354vbgnw1" rel="noopener noreferrer"&gt;Iceberg Go v0.7.0 vote&lt;/a&gt; &lt;a href="https://lists.apache.org/thread/k8lo7j1xfq2kq1f0tblvz8kklc49g6tj" rel="noopener noreferrer"&gt;passed&lt;/a&gt; with four binding approvals from Russell Spitzer, Sung Yun, Fokko Driesprong, and Matt. Xuanwo reported 3,344 passing tests on Go 1.25.9 and one harmless assertion failure on Go 1.27.1. Russell joked that he complained to Matt about a &lt;code&gt;Claude.md&lt;/code&gt; file in the release.&lt;/p&gt;

&lt;p&gt;In Rust, Danny Jones posted a &lt;a href="https://lists.apache.org/thread/pmck5pojp28fcyw0n8x7tdo1kclh9yrg" rel="noopener noreferrer"&gt;plan to drop the dependency TSV files&lt;/a&gt; from iceberg-rust. The files serve no license obligation and go stale between releases. Danny prefers Cargo for consumers and &lt;code&gt;cargo-deny&lt;/code&gt; policies in CI for maintainers. Shawn Chang, Kevin Liu, and Kurtis Wright agreed, and Xuanwo, who added the files, supports removal.&lt;/p&gt;

&lt;p&gt;Andrei Tserakhau revived a debate on &lt;a href="https://lists.apache.org/thread/5cnrhd3kfwzxywkj07kdls8o1twoomoq" rel="noopener noreferrer"&gt;catalog-provided metadata tables&lt;/a&gt;. Java and Spark treat metadata tables as deterministic projections of table metadata, which led to closing a labels metadata-table PR. Andrei argued that PyIceberg, iceberg-rust, and iceberg-go expose &lt;code&gt;inspect&lt;/code&gt; as a library read API, so returning catalog labels as Arrow lets users filter many tables at once for PII, ownership, or cost tags. Manu Zhang objected that the API cannot distinguish a table with no labels from a catalog that does not support labels.&lt;/p&gt;

&lt;p&gt;Javier Sanchez Beltran from Expedia asked why &lt;a href="https://lists.apache.org/thread/r8pbrsvqyyvtko4qw6n14b0gvyqpp1rp" rel="noopener noreferrer"&gt;GlueCatalog writes so little&lt;/a&gt; into the Glue table on commit, compared with the Hive catalog. Shawn Chang said the small footprint is intentional, since Iceberg metadata stays the source of truth and Lake Formation handles authorization. Daniel Weeks named the deeper problem a split brain. Both HMS and Glue mirror some Iceberg metadata but not all of it, and tools that read the mirror instead of the Iceberg metadata get stale or lossy answers. Javier &lt;a href="https://lists.apache.org/thread/y7mong1h19onxlxdrb757drsd69rmt1b" rel="noopener noreferrer"&gt;replied&lt;/a&gt; that his team will change its tooling to read the Iceberg metadata directly. That is the right lesson for any platform team: treat the catalog entry as a pointer, and read the table's own metadata for truth.&lt;/p&gt;

&lt;p&gt;The Kafka Connect runtime drew attention from two directions. Confluent's connector hub &lt;a href="https://lists.apache.org/thread/1sc2o7vz4vqz023l5z6s4164wcolyb5p" rel="noopener noreferrer"&gt;sent a vulnerability notice&lt;/a&gt; warning that the Iceberg connector faces removal unless the project addresses flagged issues. Robin Moffatt bumped his &lt;a href="https://lists.apache.org/thread/tj5w3bp5p6y86j2ynn5s0hctlqp1d138" rel="noopener noreferrer"&gt;discussion on PR 18019&lt;/a&gt;, which fixes the runtime LICENSE and NOTICE files and drops the Hive distribution. Jad Naous from Grepr also submitted a &lt;a href="https://lists.apache.org/thread/5bzhcv52spldl4490qv9s1pmjq1crd0j" rel="noopener noreferrer"&gt;fix for a race condition&lt;/a&gt; in Flink's DynamicIcebergSink through &lt;a href="https://github.com/apache/iceberg/pull/18356" rel="noopener noreferrer"&gt;PR 18356&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Planning 1.13
&lt;/h3&gt;

&lt;p&gt;Anoop Johnson &lt;a href="https://lists.apache.org/thread/mj8czb2ljf8kj1d7ldbfw39sffr9knjc" rel="noopener noreferrer"&gt;opened the 1.13 discussion&lt;/a&gt; and volunteered as release manager. Anurag Mantripragada had already claimed 1.13, so Anoop took 1.14 instead. Anurag proposed early January, given the holiday season, with the V4 spec PR, early V4 work, and Spark 4.2 support on his list. Xin Huang noted that the Spark 4.2 setup PR has merged while publishing stays skipped. Xin's strawman supports existing Iceberg features on Spark 4.2 and treats new Spark features such as the Transactional API as best effort. Daniel Weeks asked the group not to rule out a smaller release before year end, and Kurtis Wright added JDK 25 support to the wish list.&lt;/p&gt;

&lt;h3&gt;
  
  
  Community events
&lt;/h3&gt;

&lt;p&gt;Three meetups landed on the calendar. Talat Uyarer &lt;a href="https://lists.apache.org/thread/0r8b7yt84xgmosbzzk9p8c4b3gq93gdb" rel="noopener noreferrer"&gt;opened the CFP&lt;/a&gt; for the Bay Area meetup on November 2 at Google in Sunnyvale, with submissions due October 19. Alex Stephen &lt;a href="https://lists.apache.org/thread/883h6g1291cx53rspfy9p782vt2omc86" rel="noopener noreferrer"&gt;reminded the list&lt;/a&gt; that the Seattle meetup on October 21 still needs talks. Scott Haines &lt;a href="https://lists.apache.org/thread/ov4bk4qg8pfod2s4z035mg3tj3tcv8mn" rel="noopener noreferrer"&gt;announced the October virtual meetup&lt;/a&gt; on October 23, where Liam Earley from Zus Health will cover manifest-level work in iceberg-rust to cut scan latency on TB-scale merge-on-read tables.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Polaris
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Riding the Iceberg 1.12 upgrade
&lt;/h3&gt;

&lt;p&gt;Alex Dutra moved fast after the Iceberg release. He &lt;a href="https://lists.apache.org/thread/86o65bk2bmk0d89wll8j45cw711lq5gj" rel="noopener noreferrer"&gt;marked the Polaris upgrade to Iceberg 1.12 ready for review&lt;/a&gt; in &lt;a href="https://github.com/apache/polaris/pull/5360" rel="noopener noreferrer"&gt;PR 5360&lt;/a&gt; and addressed the main worry up front. Iceberg 1.12 fixes URL path segment encoding, so the Java client now sends a space as &lt;code&gt;%20&lt;/code&gt; instead of &lt;code&gt;+&lt;/code&gt;. Alex explained that Polaris never used the old decoder on paths, since JAX-RS decodes path parameters per RFC 3986. The upgrade fixes the wrong URLs Polaris used to advertise and needs no migration of persisted namespace encoding. Yufei Gu urged the community to review the PR.&lt;/p&gt;

&lt;p&gt;The same release unblocks older work. Alex &lt;a href="https://lists.apache.org/thread/vk5zj7qtrztl36c9c1qt6d09lryjltdk" rel="noopener noreferrer"&gt;asked whether Polaris should resume remote signing&lt;/a&gt;, which stalled while the spec changed. Iceberg 1.12 adds a &lt;code&gt;remote-signing-config&lt;/code&gt; field to &lt;code&gt;LoadTableResult&lt;/code&gt;, which covers nearly every remaining requirement. One gap remains: refreshing the auth data inside that structure was left out of scope, and Alex plans a separate spec proposal with the Iceberg community.&lt;/p&gt;

&lt;h3&gt;
  
  
  Storage: Cloudflare R2 and FileIO cleanup
&lt;/h3&gt;

&lt;p&gt;The busiest Polaris thread settled how to add &lt;a href="https://lists.apache.org/thread/gmd22d55xs4lbl8yhhy1yz6vv8q8lvbk" rel="noopener noreferrer"&gt;Cloudflare R2 with scoped credential vending&lt;/a&gt;. Yufei Gu worried that a free-form &lt;code&gt;credentialVendingMechanism&lt;/code&gt; string lets a client work against one server and fail against another. Dmitri Bourlatchkov argued that an enum blocks downstream projects from adding custom mechanisms. Jean-Baptiste Onofré pointed out that only catalog administrators touch this Management API field, since Iceberg REST clients just consume vended credentials.&lt;/p&gt;

&lt;p&gt;The community sync produced a compromise. The OpenAPI spec keeps the field as a string, documents the accepted values, and servers validate at runtime. Austen Tomek confirmed the plan for his PRs, starting with &lt;code&gt;STS&lt;/code&gt; and adding R2 in a second PR. Yufei proposed naming the R2 mechanism after how it signs, and Austen picked &lt;code&gt;R2_LOCAL_SIGNING&lt;/code&gt;, since token formats vary by provider. Dmitri and JB agreed.&lt;/p&gt;

&lt;p&gt;Two threads tackled how Polaris builds its own server-side FileIO. Vignesh A. &lt;a href="https://lists.apache.org/thread/49vsx3r803nmf35wsyxl2h3qvxfrrfgs" rel="noopener noreferrer"&gt;proposed dropping catalog &lt;code&gt;table-default.*&lt;/code&gt; properties&lt;/a&gt; from server FileIO construction before a table-metadata cache lands. An earlier fix already stopped using caller-supplied metadata properties, tied to CVE-2026-97395. Dmitri opened a &lt;a href="https://lists.apache.org/thread/636ss6fjsrhn9rzf3jdg0p4loqw3sr1v" rel="noopener noreferrer"&gt;parallel thread&lt;/a&gt; with the same conclusion: server FileIO should not depend on default table properties.&lt;/p&gt;

&lt;p&gt;The cache work also raised a deeper question about &lt;a href="https://lists.apache.org/thread/z9cgfj77s829npm51t0vcc32rclrz9mh" rel="noopener noreferrer"&gt;metadata immutability across storage endpoint changes&lt;/a&gt;. Yufei Gu asked whether changing an S3-compatible endpoint can make the same metadata URI return different content. Dmitri reframed it as a cache correctness issue. Polaris does not control what external stores contain, so it should not assume two endpoints serve identical bytes. JB split the difference: Iceberg treats metadata files as immutable within one storage context, but an &lt;code&gt;s3://&lt;/code&gt; URI is not a content hash. Robert Stupp summarized the two assumptions the cache depends on, and neither follows from the URI alone. For anyone running Polaris across several S3-compatible stores, this thread is worth reading before enabling metadata caching.&lt;/p&gt;

&lt;p&gt;Ashok Borra raised a performance regression from &lt;a href="https://lists.apache.org/thread/ry6qpj49o21qy5qjddrn5rzlczgf7x0g" rel="noopener noreferrer"&gt;validating historical metadata references on every commit&lt;/a&gt;. Since PR 5115, each commit checks the location of every snapshot's manifest list and every statistics file. Ashok proposed limiting the check, and Alex Dutra agreed.&lt;/p&gt;

&lt;h3&gt;
  
  
  Persistence: DynamoDB and multi-object commits
&lt;/h3&gt;

&lt;p&gt;The &lt;a href="https://lists.apache.org/thread/6cg0pny3lxm0k4b1vn7wwgojltcqyyfy" rel="noopener noreferrer"&gt;DynamoDB persistence backend&lt;/a&gt; reached agreement. JB and Robert Stupp first argued that the NoSQL persistence layer fits DynamoDB better than the relational-style &lt;code&gt;AtomicOperationMetaStoreManager&lt;/code&gt;. Yufei Gu and Yuewei Zhou countered that the atomic path adds little complexity, since Polaris correctness already works per entity with version checks. Dennis Huo pushed for an iterative approach that does not block progress. The sync recap from Dmitri set the terms: multiple DynamoDB implementations are acceptable, docs must explain the differences, and new backends start as beta. Yuewei asked for reviews on &lt;a href="https://github.com/apache/polaris/pull/5622" rel="noopener noreferrer"&gt;PR 5622&lt;/a&gt;, the first in a series of small changes.&lt;/p&gt;

&lt;p&gt;That debate fed a broader one on &lt;a href="https://lists.apache.org/thread/qm60lz3xtnv15swwfb3w6xc1stmflsv3" rel="noopener noreferrer"&gt;consistent multi-object changes&lt;/a&gt;. EJ Wang described a race where two requests both check for overlapping table locations, see none, and create conflicting tables. EJ proposed a business-aware manager layer that runs those checks in the same transaction as the write, with database adapters that know nothing about tables or grants. The proof of concept includes adapters for FoundationDB, Spanner, and JDBC, and its concurrency tests ran on FoundationDB and PostgreSQL. JB favored multi-object conditional commits over request-scoped transactions, since they map to both JDBC and NoSQL.&lt;/p&gt;

&lt;h3&gt;
  
  
  Metrics, events, and observability
&lt;/h3&gt;

&lt;p&gt;Polaris is building an observability surface for catalogs. Dmitri proposed &lt;a href="https://lists.apache.org/thread/v0gtbwgpw1q3vf14pw6lcdffng96bcy6" rel="noopener noreferrer"&gt;merging PR 4115&lt;/a&gt; for REST endpoints that expose table metrics and events, and JB confirmed all feedback was addressed. The grant changes moved to &lt;a href="https://lists.apache.org/thread/p0q1gxypc0xvh0x54l16o53sqofzwbbb" rel="noopener noreferrer"&gt;PR 5659&lt;/a&gt;. Yufei argued that a new &lt;code&gt;TABLE_READ_METRICS&lt;/code&gt; privilege should stay separate from &lt;code&gt;TABLE_FULL_METADATA&lt;/code&gt;, since metrics reports include query filters from other users. JB agreed and called metrics closer to an activity log than to table metadata.&lt;/p&gt;

&lt;p&gt;Vignesh A. opened a thread on a &lt;a href="https://lists.apache.org/thread/z79bjmv0nrnft6bln9gk1d3vdxony7rp" rel="noopener noreferrer"&gt;shared event JSON envelope&lt;/a&gt; before merging a webhook listener. The group settled on CloudEvents context attributes at the top level, the Polaris payload inside &lt;code&gt;data&lt;/code&gt;, and Kafka parity in version one. Alex Dutra supported isolating the events SPI in its own module. The goal is one payload shape across Kafka, webhooks, and CloudWatch, so downstream consumers parse events the same way regardless of transport.&lt;/p&gt;

&lt;h3&gt;
  
  
  New catalog features: branches, sharing, and tags
&lt;/h3&gt;

&lt;p&gt;Ankur Kotwal opened a discussion on &lt;a href="https://lists.apache.org/thread/zmvrf05z1m100pko8qc0syj982yrwpzx" rel="noopener noreferrer"&gt;catalog-level branches for atomic multi-table promotion&lt;/a&gt;, tracked in issue 3469. Iceberg already branches single tables. Teams running backfills, migrations, or write-audit-publish across many tables face three problems: N calls to branch N tables, non-atomic promotion, and no cheap way to list which tables carry a branch. Ankur proposes a &lt;code&gt;CATALOG_BRANCH&lt;/code&gt; entity that groups per-table Iceberg branches and promotes them in one transaction through the existing &lt;code&gt;commitTransaction&lt;/code&gt; workspace. Engines need no changes, and version one supports fast-forward promotion only. This is the feature many teams adopt Nessie for today, so it deserves close attention.&lt;/p&gt;

&lt;p&gt;Dennis Huo marked the &lt;a href="https://lists.apache.org/thread/bvxr9lgox5lh8vlgcm3pp2wv7dgt9t2z" rel="noopener noreferrer"&gt;Open Sharing API spec PR&lt;/a&gt; ready for review in &lt;a href="https://github.com/apache/polaris/pull/5446" rel="noopener noreferrer"&gt;PR 5446&lt;/a&gt;. Sharing builds on existing Polaris authorization, with external identity providers as a first-class case. JB asked the group to focus on the API PR first. EJ Wang also pushed updates to the &lt;a href="https://lists.apache.org/thread/7jlq90mf30bdovzswx96goh1c09264lt" rel="noopener noreferrer"&gt;Tag Spec proposal&lt;/a&gt;, including separate endpoints to assign and unassign tags. David Chaava proposed a &lt;a href="https://lists.apache.org/thread/sdznfv1fvoddd6wpj0584l4t130r81rf" rel="noopener noreferrer"&gt;validator SPI for vendor-specific REST federation&lt;/a&gt;, with a BigLake implementation that keeps the admin service provider-neutral.&lt;/p&gt;

&lt;h3&gt;
  
  
  Process: changelogs, AI disclosure, and 1.9.0
&lt;/h3&gt;

&lt;p&gt;Alex Dutra proposed fixing &lt;a href="https://lists.apache.org/thread/jtj2d4h35gf5hx440y1y0xokn2v09qqp" rel="noopener noreferrer"&gt;CHANGELOG.md merge conflicts&lt;/a&gt; with per-PR fragment files. Ayush Saxena brought numbers: 75 of 339 commits on main in 60 days touched the changelog. JB asked whether Polaris needs a changelog at all, and suggested a label plus hand-written notes assembled at release time. Robert Stupp suggested conventional commit messages instead. Dmitri noted that fragment files can be corrected before a release, which commit messages cannot. The thread had not settled by the end of the week.&lt;/p&gt;

&lt;p&gt;Alex also raised &lt;a href="https://lists.apache.org/thread/p8qpsr9ww5t2mkcz0252pbwklh3s5yr8" rel="noopener noreferrer"&gt;AI-generated code disclosure&lt;/a&gt;. Polaris's AGENTS.md tells agents not to include AI tool names in commit messages, while Iceberg encourages disclosure and current ASF guidance recommends it. Travis Bowen supported aligning with the ASF. Dmitri agreed that disclosure helps but objected to &lt;code&gt;Co-authored-by&lt;/code&gt;, since GitHub then lists the tool like a human contributor. He prefers a header such as &lt;code&gt;Generated-by&lt;/code&gt;, which matches ASF language that separates generated material from authored work.&lt;/p&gt;

&lt;p&gt;JB &lt;a href="https://lists.apache.org/thread/vvn28qykkfbvj07dhk5svnld532rjnty" rel="noopener noreferrer"&gt;proposed Polaris 1.9.0&lt;/a&gt; for the end of October to keep a monthly cadence, with the Polaris Directory feature as a beta. Ayush asked to update the DOAP file after each release, since ASF community pages read from it. Dmitri wants R2 support in as beta and flagged a LICENSE and NOTICE issue that an AI review tool found in his environment. He wants it fixed so the team can rely on AI tools for release validation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Arrow
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Arrow 26.0.0 heads for release
&lt;/h3&gt;

&lt;p&gt;Raúl Cumplido &lt;a href="https://lists.apache.org/thread/5yc9gc6ms4g28dgghk0vhr9jhflzv81k" rel="noopener noreferrer"&gt;called the vote on Arrow 26.0.0 RC0&lt;/a&gt;, a release with 337 resolved GitHub issues. Ruoxi Sun, Sutou Kouhei, Gang Wu, Raúl, and Adam Reeve cast binding approvals, and Xuanwo verified a byte-for-byte reproducible source tarball. Raúl flagged two non-blocking verification problems. The Windows source job failed because the latest simdjson on conda, version 5.0.1, does not compile with MSVC. The wheel verification failed on conda because Python 3.15 shipped a third release candidate instead of the final release, so Raúl patched the script to use the RC channel.&lt;/p&gt;

&lt;p&gt;Jeffrey Vo &lt;a href="https://lists.apache.org/thread/4gbx1qvc77r33vh64wov3ox6c9k9x284" rel="noopener noreferrer"&gt;announced a planned arrow-rs 59.3.1 patch release&lt;/a&gt; and invited backport requests on the release ticket.&lt;/p&gt;

&lt;h3&gt;
  
  
  Format work: range types and JSON schemas
&lt;/h3&gt;

&lt;p&gt;Florian Hölzlwimmer &lt;a href="https://lists.apache.org/thread/phhtml4hzoyrof9btssoo2w4sor68w7g" rel="noopener noreferrer"&gt;opened a vote on two canonical extension types&lt;/a&gt; for ranges. &lt;code&gt;arrow.fixed_closedness_range&lt;/code&gt; stores a struct of lower and upper bounds, with one closedness setting for the whole column, which maps one to one onto pandas &lt;code&gt;IntervalArray&lt;/code&gt;. &lt;code&gt;arrow.variable_closedness_range&lt;/code&gt; adds per-value flags for inclusive bounds, which PostgreSQL's &lt;code&gt;numrange&lt;/code&gt; needs. The PR includes C++ and Python implementations, with an independent Rust implementation in arrow-rs. The vote stays open through October 9.&lt;/p&gt;

&lt;p&gt;David Lee contributed to the &lt;a href="https://lists.apache.org/thread/hzkr9hmymvz2y57tcogf0j1nshwvol9c" rel="noopener noreferrer"&gt;JSON representation of Arrow schemas&lt;/a&gt; discussion. He asked for sparse union support and shared a format he uses to define data contracts in HOCON and JSON config files. David Li signed off on the updates.&lt;/p&gt;

&lt;h3&gt;
  
  
  Python packaging and contributor health
&lt;/h3&gt;

&lt;p&gt;Alenka Frim responded to Raúl Cumplido's proposal to &lt;a href="https://lists.apache.org/thread/rd0pyyqts04521x45x6qsh7gv48f9kpt" rel="noopener noreferrer"&gt;improve PyArrow modularity&lt;/a&gt;. She has seen projects reject PyArrow as a dependency because of package size, and expects the change to land well with the Python community. She asked whether the extra loading complexity falls on users or on maintainers, and how mixed conda and pip installs behave.&lt;/p&gt;

&lt;p&gt;Pearu Peterson asked how to get a &lt;a href="https://lists.apache.org/thread/jtqhcr6zot6s3sw3n6gdz2hbwlvl36xl" rel="noopener noreferrer"&gt;four-month-old PR reviewed&lt;/a&gt;. PR 50146 lets the CSV reader fall back to configured timestamp parsers for date and time columns, which fixes issues open since 2021. Ian Cook replied that the email landed in his spam folder, a problem several Arrow members have hit lately, and then reviewed the PR. Antoine Pitrou &lt;a href="https://lists.apache.org/thread/x55vbmmthjdj0rdf0vsyr8p3wpc31m1j" rel="noopener noreferrer"&gt;asked for board report input&lt;/a&gt; by October 8, before he leaves for Community over Code in Glasgow.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Parquet
&lt;/h2&gt;

&lt;h3&gt;
  
  
  A compromise takes shape on VECTOR
&lt;/h3&gt;

&lt;p&gt;The &lt;a href="https://lists.apache.org/thread/4mcq5ojnpx2f6chtdp36bxfzvv72rg6r" rel="noopener noreferrer"&gt;numeric vector type thread&lt;/a&gt; carried the most consequential debate on the Parquet list. Sebastian Baunsgaard argued against requiring finite elements in &lt;a href="https://github.com/apache/parquet-format/pull/624" rel="noopener noreferrer"&gt;parquet-format PR 624&lt;/a&gt;. Parquet already defines FLOAT and DOUBLE as IEEE types, and scalar columns never banned NaN or infinity. Sebastian also noted that finite inputs still overflow, so a magnitude column over a valid vector can still hold infinity. He proposed an optional &lt;code&gt;finite&lt;/code&gt; flag on the type.&lt;/p&gt;

&lt;p&gt;Will Edwards suggested a more general path: standard length constraints on variable-length types, so &lt;code&gt;VECTOR(N)&lt;/code&gt; becomes a list with matching minimum and maximum lengths. The same mechanism also expresses SQL &lt;code&gt;CHAR(N)&lt;/code&gt; and &lt;code&gt;VARCHAR(N)&lt;/code&gt;. Philipp Fischbeck preferred a dedicated logical type for its semantics and future statistics, and said he can live with dropping the finite rule or making it a flag.&lt;/p&gt;

&lt;p&gt;Ryan Blue then summarized the shared ground and named the split. Everyone wants a logical type now and a better physical layout later. Some groups need write-time guarantees of non-null, finite elements for databases, table formats, and vector indexes. Others want NaN, infinity, tensors, and smaller floats. Ryan proposed two types: a &lt;code&gt;FINITE_VECTOR&lt;/code&gt; and a separate fixed-length list or vector that allows special values. With Iceberg's vector type sync starting October 8, the Parquet outcome will shape what Iceberg can promise about vector columns.&lt;/p&gt;

&lt;h3&gt;
  
  
  Encodings, decimals, and wire formats
&lt;/h3&gt;

&lt;p&gt;The FastLanes evaluation produced an &lt;a href="https://lists.apache.org/thread/b3df16sx1ny1lrtzgbhmrpynq4hwztzz" rel="noopener noreferrer"&gt;apology and a reset&lt;/a&gt;. Antoine Pitrou apologized to Prateek Gaur for harsh words in an earlier message and asked for a higher-level document that compares the current &lt;code&gt;DELTA_BINARY_PACKED&lt;/code&gt;, PFOR, FastLanes, an improved delta decoder, and an interleaved variant on shared axes. Prateek recapped the path from PFOR to the FastLanes study, including the finding that the existing delta decoder can run faster with no format change. He had already &lt;a href="https://lists.apache.org/thread/ggo38d5dn7lxk313fshmwf0877ynnz7b" rel="noopener noreferrer"&gt;trimmed the evaluation doc&lt;/a&gt; for readability. Julien Le Dem thanked him for the work.&lt;/p&gt;

&lt;p&gt;Costas Zarifis posted a formal &lt;a href="https://lists.apache.org/thread/r35kv2j59xdm4od5lpmzdzj5l5doblzb" rel="noopener noreferrer"&gt;proposal for an extensible decimal floating-point type&lt;/a&gt;. It backs the full IEEE 754 decimal model, one logical type that keeps the supplied representation, and IEEE &lt;code&gt;totalOrder&lt;/code&gt; for ordering and statistics. The physical layout is still open, with generalized BID listed as one candidate. Thomas Kissinger said he will review it in the doc.&lt;/p&gt;

&lt;p&gt;Neelesh Salian answered Micah Kornfield's review of &lt;a href="https://lists.apache.org/thread/qdm6zp767sqzg9nrwwml3yzcm109hxn4" rel="noopener noreferrer"&gt;WIRE, a logical type for serialized wire-format messages&lt;/a&gt; such as protobuf. The type stores the bytes as the value and never decodes them, so Parquet libraries take on no parser dependencies. Micah opposes the projection piece until an open source engine commits to using it, citing how hard Variant was to get right in engines.&lt;/p&gt;

&lt;p&gt;Andrew Lamb weighed in on a &lt;a href="https://lists.apache.org/thread/plk8oqfbh79v2f4wyngtmpz90dm8bd1m" rel="noopener noreferrer"&gt;proposal to treat &lt;code&gt;distinct_count&lt;/code&gt; as inexact&lt;/a&gt;. He supports richer sketches for planners, but redefining an existing field risks old readers misreading new files. He suggested new standardized metadata instead. Julien Le Dem &lt;a href="https://lists.apache.org/thread/noq7gfxjjfyyp3h4mt9mrxnqb5rcr4cs" rel="noopener noreferrer"&gt;announced the October 7 Parquet sync&lt;/a&gt;, open to anyone.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache DataFusion
&lt;/h2&gt;

&lt;h3&gt;
  
  
  A four-release week
&lt;/h3&gt;

&lt;p&gt;DataFusion ran a release marathon, and the most instructive moment came from a failed vote. Andy Grove started deeper verification of &lt;a href="https://lists.apache.org/thread/qpg0pg99hx86oqlkcnx9co97h9p8rqhz" rel="noopener noreferrer"&gt;Comet 1.1.0 RC1&lt;/a&gt; and found regressions, some serious. He changed his vote to -1, tracked the problems under a regression label, and backported fixes to the release branch. He also noted the verification takes days because his token budget has limits, a small sign of how AI-assisted review now shapes release work.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://lists.apache.org/thread/f5gkht347vol6f413ygdcbdl56546bho" rel="noopener noreferrer"&gt;Comet 1.1.0 RC2&lt;/a&gt; &lt;a href="https://lists.apache.org/thread/qyxttfywjq8otnj7k120c7fhyprwj5h3" rel="noopener noreferrer"&gt;passed&lt;/a&gt; with nine approvals, six binding, from Andrew Lamb, L. C. Hsieh, Marko Milenković, Oleks V., Matt Butrovich, and Andy. Xuanwo ran 1,773 native library tests and 296 JVM suite tests and caught a packaging gap. The staged Spark 4.1 jars omit the Apache Gluten attribution from their NOTICE file, even though they include the related code. Andy opened &lt;a href="https://github.com/apache/datafusion-comet/pull/6657" rel="noopener noreferrer"&gt;a PR&lt;/a&gt; to fix it going forward.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://lists.apache.org/thread/8gkof0h0q7w4bln12lrnp34zhw2s6tz9" rel="noopener noreferrer"&gt;Ballista 55.0.0 RC1&lt;/a&gt; hit a different snag. Andrew Lamb and Bhargava Vadlamani saw tests hang or fail on macOS. Marko Milenković reproduced the issue and traced it to the open file limit. Raising &lt;code&gt;ulimit -n&lt;/code&gt; to 2048 or higher fixed verification, and the vote &lt;a href="https://lists.apache.org/thread/qptl5swh49vdvbm9mvfdm2qbfblnqgf1" rel="noopener noreferrer"&gt;passed&lt;/a&gt; with six approvals, four binding.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://lists.apache.org/thread/w9rl86tlc0gt34ronrcog0lscfdqvg63" rel="noopener noreferrer"&gt;DataFusion 55.2.0 RC1&lt;/a&gt; collected binding approvals from Andy Grove, L. C. Hsieh, Marko Milenković, Andrew Lamb, and Tim Saucer. Erik Bogado &lt;a href="https://lists.apache.org/thread/pls9g1pk6nbogzm86ymx74y8fxdtwrsf" rel="noopener noreferrer"&gt;tested it&lt;/a&gt; on AMD Ryzen, Intel Xeon, and ARM Neoverse-N1 hardware. Tim Saucer's &lt;a href="https://lists.apache.org/thread/z70z6z4qk9fmy3br6bo67on373qwvywt" rel="noopener noreferrer"&gt;Python bindings 54.1.0&lt;/a&gt; &lt;a href="https://lists.apache.org/thread/mr3f8lgvqnnvgxrwdyzf6qbltvyq8bg6" rel="noopener noreferrer"&gt;passed&lt;/a&gt; with five approvals, four binding. Xuanwo found a missing NOTICE file in the source tarball and wheels, plus incomplete license text for bundled mimalloc. Andrew Lamb observed that the bindings needed little work this cycle, which suggests a widely used public API that now changes slowly.&lt;/p&gt;

&lt;h3&gt;
  
  
  Decoupling Ballista from the Python release train
&lt;/h3&gt;

&lt;p&gt;Andy Grove &lt;a href="https://lists.apache.org/thread/0dsfk0h5kmcpv4wtxnk24r096fjon1l8" rel="noopener noreferrer"&gt;proposed releasing Ballista's Python client separately&lt;/a&gt; from its Rust crates. Ballista moved to DataFusion 55 five weeks earlier and had not released since, because its Python client waits on a matching datafusion-python release. Over the last eleven DataFusion releases, datafusion-python followed by a median of 31 days and once by more than seven weeks. Meanwhile, more than 300 commits sat unreleased, including fixes for wrong results from distributed &lt;code&gt;NOT IN&lt;/code&gt;, executors killed for running out of memory, and jobs hanging when all executors drop. The 55.0.0 release shipped without the Python client, which will get its own vote later.&lt;/p&gt;

&lt;h3&gt;
  
  
  Security and AI policies
&lt;/h3&gt;

&lt;p&gt;Andrew Lamb noticed DataFusion had &lt;a href="https://lists.apache.org/thread/9s4771rs8zhxpyw334b3n3jcczz31k6y" rel="noopener noreferrer"&gt;no published security policy&lt;/a&gt; and proposed policies for the core crate and for sqlparser-rs. He is also &lt;a href="https://lists.apache.org/thread/z4pfjzynsk0sx1dzgj5m9lj56swfhbn5" rel="noopener noreferrer"&gt;revising the AI contribution policy&lt;/a&gt; with Jeffrey, Neil, Yongting, and others in &lt;a href="https://github.com/apache/datafusion/pull/24510" rel="noopener noreferrer"&gt;PR 24510&lt;/a&gt;. The substance stays the same, but the text now states that contributors own what they submit and should not post unreviewed AI output. Andy Grove proposed &lt;a href="https://lists.apache.org/thread/nyrn4t3k0j6fx4pdst9m5oq81grnbwhn" rel="noopener noreferrer"&gt;AI guidance for Comet contributors&lt;/a&gt; in &lt;a href="https://github.com/apache/datafusion-comet/pull/6734" rel="noopener noreferrer"&gt;PR 6734&lt;/a&gt;. Automated reviews can help, but a human must perform every PR approval.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Ossie (incubating)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Should a semantic model ship an MCP server?
&lt;/h3&gt;

&lt;p&gt;The longest Ossie thread started as a GitHub discussion about building an &lt;a href="https://lists.apache.org/thread/4t11d04tv6nqpfc92xyk49cl4mfj0bjp" rel="noopener noreferrer"&gt;MCP server for Ossie&lt;/a&gt;. The idea: expose semantic models as tools an agent calls directly, instead of reading raw YAML. Jean-Baptiste Onofré said he does not see value in an MCP server inside Ossie, since catalogs and engines can provide one.&lt;/p&gt;

&lt;p&gt;Markus Cozowicz reframed the pitch as an MCP specification, not an implementation. In his view, Ossie's biggest value is helping agents understand semantics and build correct queries, and an &lt;code&gt;execute_query&lt;/code&gt; tool contract sits at the center of that. Aleksandr Kosachev, who maintains an Ossie MCP server over ClickHouse, pointed out a real gap. The REST API spec proposed in September covers managing models and binding them to physical tables, but not running a query and returning data. Markus later opened PR 529 with a draft.&lt;/p&gt;

&lt;p&gt;Chris Eubank pressed on the semantics. He asked whether &lt;code&gt;execute_query&lt;/code&gt; should steer clients toward portable Ossie query interfaces or also standardize vendor dialects compiled outside Ossie, since the draft ties loosely to Ossie. Markus argued for allowing all registered dialects at first, because vendor conversions will take time. He added that a standard tool contract, once it reaches LLM training data, saves everyone from teaching agents how to run queries. Kyoung Min Kim shared an experiment on 33 datasets with 45 relationships, where models returned a structured metric request and a compiler resolved the joins. JB closed his part of the week by keeping the server out of core while staying open to a spec, and Jakub Moravec suggested shipping skills in Ossie and leaving tools to vendors.&lt;/p&gt;

&lt;p&gt;This is the most important open question in the semantic layer space right now. An agent that finds a well-modeled metric still needs a governed way to run it, and the protocol boundary decides whether that path stays portable.&lt;/p&gt;

&lt;h3&gt;
  
  
  Query layers and Measures in SQL
&lt;/h3&gt;

&lt;p&gt;Justin Talbot's &lt;a href="https://lists.apache.org/thread/p0od6gsjyr7nt4bb4qom6qcmwzy3k0so" rel="noopener noreferrer"&gt;specification layers overview&lt;/a&gt; in PR 452 frames Ossie as a model definition layer plus distinct query interfaces. Julian Hyde shared a lesson from Looker. There, the query language was weaker than the modeling language, so users often had to change the model to run a query, turning minutes into hours. That frustration led him to propose Measures in SQL. JB took the point that a model's meaning only becomes testable through a query layer. Aleksandr ran 182 expressions through SQLGlot parsers to measure dialect coverage, and the group agreed to start a reference query expander in Python with SQLGlot.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://lists.apache.org/thread/n5t84f01kx02x5b7xz8qdg0c8n7v0ncz" rel="noopener noreferrer"&gt;Relational Query Interface spec&lt;/a&gt; in PR 354 grounds that layer in Measures in SQL. Julian objected to the &lt;code&gt;TO MEASURE&lt;/code&gt; syntax: it is not idiomatic SQL, its precedence is unclear, and it blocks anonymous inline measures. Justin prefers &lt;code&gt;AS MEASURE&lt;/code&gt;, as in the original paper, and JB changed his position after spotting inconsistent parentheses in the draft. Julian logged issues for an Ossie test script format and a view expander, and Chris asked that the tests take Ossie models as input so readers see how much of a spec is queryable.&lt;/p&gt;

&lt;h3&gt;
  
  
  Metrics, filters, and relationships
&lt;/h3&gt;

&lt;p&gt;The &lt;a href="https://lists.apache.org/thread/sz17wf36mtlyycv9n0dm93k6j5psz1jl" rel="noopener noreferrer"&gt;dataset-scoped metrics&lt;/a&gt; proposal from Josh Klahr in PR 343 converged. Chris Eubank proposed narrowing scope to get a clean vote. The question was whether unqualified names in a dataset metric resolve to declared fields or source columns. Justin Talbot backed fields first, with explicit precedence rules. Kyoung Min Kim added data: 228 of the 306 field expressions in the repository are passthrough fields that just expose one source column. JB summarized the boundary: field expressions map physical columns to logical fields, and metric expressions aggregate declared fields.&lt;/p&gt;

&lt;p&gt;Chris's &lt;a href="https://lists.apache.org/thread/tgpgjz1855t3bvp3hjmxf0kl02p2wd3g" rel="noopener noreferrer"&gt;vote to add &lt;code&gt;FILTER (WHERE ...)&lt;/code&gt;&lt;/a&gt; to the expression language gathered support. Kyoung Min re-ran the lowering rules on DuckDB 1.5 and confirmed the difference that motivated the change. A CASE workaround with &lt;code&gt;ELSE 0&lt;/code&gt; returns an AVG of 55.0 where FILTER returns 73.33, a silent wrong answer in any metric built the old way.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://lists.apache.org/thread/sn51cgc34qzlx13qpq00rjxfd1roowsy" rel="noopener noreferrer"&gt;relationship cardinality thread&lt;/a&gt; reached a plan. JB proposed one vocabulary across the ontology spec, core spec, and PR 354: PascalCase multiplicity values, &lt;code&gt;ManyToOne&lt;/code&gt; as the default, and &lt;code&gt;OneToMany&lt;/code&gt; excluded from core. Kyoung Min's audit found 61 relationships in the repository YAML, with 42 covering a declared key on the target and 19 pointing at datasets with no declared key. A related &lt;a href="https://lists.apache.org/thread/mbgp7m76xkmw5jpv6dm9vxvtd3dzykv8" rel="noopener noreferrer"&gt;thread on &lt;code&gt;dataset.column&lt;/code&gt;&lt;/a&gt; agreed that model-level expressions should reference logical fields, not warehouse columns, following the SQL view analogy Julian and Justin described.&lt;/p&gt;

&lt;h3&gt;
  
  
  Repository structure and extensions
&lt;/h3&gt;

&lt;p&gt;JB &lt;a href="https://lists.apache.org/thread/jvsjpcld2vy2970y0kkgl10xd0r089dl" rel="noopener noreferrer"&gt;created the ossie-converters repository&lt;/a&gt; and opened PRs to move the converters out of the spec repo. Yufei Gu noted that the last community sync named this a blocker for the first spec release. Kurt Stirewalt explained why semantic models were &lt;a href="https://lists.apache.org/thread/o9gqod3hxq6226xm6vzj2w55z1rxbqt9" rel="noopener noreferrer"&gt;embedded inside ontology mappings&lt;/a&gt;: the original goal of single self-contained documents. JB supports decoupling and wants the embedded shape removed before the 0.3.0-incubating release.&lt;/p&gt;

&lt;p&gt;Mike Carlo's proposal to make &lt;a href="https://lists.apache.org/thread/s5ch0qsc14qx6x69c5j9ch5q0jk9d096" rel="noopener noreferrer"&gt;custom extension data a structured object&lt;/a&gt; instead of an opaque JSON string drew support from Yufei, Markus, and Chris. Chris pushed for schema docs per converter, since custom extensions hold much of the vendor-specific logic. Kyoung Min and Andrew Nepogoda agreed on &lt;a href="https://lists.apache.org/thread/fd178yxtwjnrcqzlp8jhwnkn0ht1967k" rel="noopener noreferrer"&gt;semantic checks for ontology documents&lt;/a&gt; in &lt;code&gt;validate.py&lt;/code&gt;. A bidirectional &lt;a href="https://lists.apache.org/thread/tf2yz1k12zwpotq1x4w5551rj3j2p3hv" rel="noopener noreferrer"&gt;OpenMetadata converter&lt;/a&gt; also appeared.&lt;/p&gt;

&lt;p&gt;Ossie keeps attracting new contributors. Aleksandr Kosachev &lt;a href="https://lists.apache.org/thread/0mxzxxdc8s0tmy3fyjftyoymyhzxncpg" rel="noopener noreferrer"&gt;introduced himself&lt;/a&gt; as a backend architect who kept seeing teams wire AI assistants to databases and get confident, wrong answers. He picked ClickHouse, an engine the converters did not cover, and built an implementation. His measurements showed up in four threads this week.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cross-Project Themes
&lt;/h2&gt;

&lt;h3&gt;
  
  
  AI enters the release and review process
&lt;/h3&gt;

&lt;p&gt;Every project touched AI-assisted contribution this week, and each took a slightly different stance. Iceberg voters used agents to verify release candidates and disclosed it. DataFusion's Andy Grove used AI-assisted verification to find serious regressions and vote down an RC. Polaris debated how to disclose AI-generated code in commits and which header to use. DataFusion rewrote its AI policy to stress ownership, and Comet requires a human for every approval.&lt;/p&gt;

&lt;p&gt;The pattern is consistent. Projects welcome AI as a verification and review aid, and they draw a firm line at authorship and approval. Disclosure is moving toward the ASF's recommendation. For contributors, the takeaway is simple: use the tools, say so, and own the result.&lt;/p&gt;

&lt;h3&gt;
  
  
  Vectors pull on every layer
&lt;/h3&gt;

&lt;p&gt;Vector data showed up at three layers at once. Parquet debated whether a &lt;code&gt;VECTOR&lt;/code&gt; type guarantees finite elements. Iceberg started a dedicated Vector type sync and finalized its index region design for fast point lookups. Ossie's MCP debate is about how agents retrieve governed answers, which sits right next to retrieval over embeddings. The file format decides what a vector column can hold. The table format decides what it can promise and index. The semantic layer decides how agents ask for it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Specs, implementations, and sources of truth
&lt;/h3&gt;

&lt;p&gt;Several threads asked where the truth lives. Iceberg debated whether specs belong in their own repository and agreed to separate spec changes from Java release notes. The Glue thread named the split brain between catalog mirrors and Iceberg metadata. Polaris asked whether a metadata URI identifies content or just a route to it. Ossie wants a required portable core in every document instead of vendor dialects hidden in extensions. Arrow kept refining a JSON form of its schema. Each case pushes toward one authoritative definition, with everything else derived from it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Release hygiene is a shared job
&lt;/h3&gt;

&lt;p&gt;LICENSE and NOTICE problems surfaced in Iceberg's Kafka Connect runtime, DataFusion Comet's jars, DataFusion Python's wheels, and a Polaris pre-release check. Each fix came from a careful voter, often with tool help. Open source licensing compliance rarely makes headlines, but it decides whether downstream vendors can ship these projects at all.&lt;/p&gt;

&lt;h2&gt;
  
  
  Looking Ahead
&lt;/h2&gt;

&lt;p&gt;Watch the Iceberg Thursday sync on October 8, where the Vector type takes center stage, and the Parquet community's response to Ryan Blue's two-type compromise. The Arrow range-type vote closes October 9, and the Arrow 26.0.0 result should follow. Polaris aims to cut 1.9.0 at the end of October, so the R2, DynamoDB, and Iceberg 1.12 PRs face review pressure now. In Ossie, track PR 529 on &lt;code&gt;execute_query&lt;/code&gt; and the converter repository move, which gate the first spec release. The Iceberg 1.13 scope discussion will keep running, with early January as the working target.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep Learning
&lt;/h2&gt;

&lt;p&gt;If this digest helps you follow the open lakehouse, my books go deeper on every layer covered here, from Apache Iceberg and Apache Polaris to Arrow, Parquet, semantic layers, and agentic analytics. Browse the full catalog at &lt;a href="https://books.alexmerced.com" rel="noopener noreferrer"&gt;books.alexmerced.com&lt;/a&gt; and pick the one that fits the problem in front of you.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>AI Weekly: Mistral Large 4 and the Decision Model Wave</title>
      <dc:creator>Alex Merced</dc:creator>
      <pubDate>Wed, 07 Oct 2026 17:25:07 +0000</pubDate>
      <link>https://dev.to/alexmercedcoder/ai-weekly-mistral-large-4-and-the-decision-model-wave-38k4</link>
      <guid>https://dev.to/alexmercedcoder/ai-weekly-mistral-large-4-and-the-decision-model-wave-38k4</guid>
      <description>&lt;p&gt;&lt;em&gt;Week of September 30 to October 7, 2026&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Open-weight models owned this week. Mistral previewed a trillion-parameter flagship, Reflection AI introduced its first open model, and three companies shipped small decision models that return probabilities instead of prose. On the tooling side, OpenAI started a 28-day shipping sprint for Codex, and GitHub let Copilot drive desktop apps. Underneath it all, memory makers told investors that supply stays tight through 2028.&lt;/p&gt;

&lt;h2&gt;
  
  
  Models: Mistral Large 4 Pushes the Open-Weight Frontier
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Mistral Large 4, aka Le Chonk
&lt;/h3&gt;

&lt;p&gt;Mistral &lt;a href="https://mistral.ai/news/mistral-large-4/" rel="noopener noreferrer"&gt;launched a public preview of Mistral Large 4&lt;/a&gt; on October 6. The company calls it ML4 for short and Le Chonk for fun. The &lt;a href="https://docs.mistral.ai/models/mistral-large-4-0" rel="noopener noreferrer"&gt;docs page&lt;/a&gt; lists the model ID &lt;code&gt;mistral-large-4&lt;/code&gt;, a granular mixture-of-experts design with 1.05 trillion total parameters and 52 billion active, plus a 1.6 billion parameter vision encoder. The launch post rounds those to 1 trillion total and 49 billion active, and the &lt;a href="https://huggingface.co/mistralai/Mistral-Large-4.0-1T05-A52B" rel="noopener noreferrer"&gt;Hugging Face placeholder&lt;/a&gt; explains the gap: 49 billion active per token, or 52 billion counting embeddings and output layers.&lt;/p&gt;

&lt;p&gt;The docs list a 1 million token context window. Preview pricing is $1.36 per million input tokens, $0.14 per million cached input tokens, and $4.18 per million output tokens. That puts ML4 well under most closed frontier models on price. The model takes text and image input and returns text, with structured outputs, function calling, document Q&amp;amp;A, batching, and the Agents API all supported.&lt;/p&gt;

&lt;p&gt;Mistral says it trained ML4 from scratch on 3,800 NVIDIA Grace Blackwell GPUs in its own European data centers. The preview runs on the same hardware. Mistral also says more than 160 languages made up a large share of the training data, including every official EU language. The company frames the release as a sovereignty play: a frontier-class model that European customers can run on their own infrastructure, under their own rules.&lt;/p&gt;

&lt;p&gt;All benchmark numbers below are vendor-reported by Mistral. On agentic coding, ML4 scores 61.7% on DeepSWE v1.1, 59.4% on SWE-Atlas-QnA, and 28.3% on Terminal-Bench 4. Its combined Coding Agent Index score of 49.8% lands ahead of DeepSeek V4 Pro 0813 and Qwen3.8 Max, by Mistral's count. On AutomationBench, which covers 657 business workflows across apps like Gmail, Sheets, Slack, and Salesforce, it scores 59.9%. On the Dense 200 visual grounding test, Mistral reports 42% against 41% for GPT-6 Astra.&lt;/p&gt;

&lt;p&gt;Cybersecurity sits at the center of the pitch. Mistral says ML4 solves 93% of the 40 Cybench challenges and scores 82% on a test that asks a model to reproduce and then patch a real open source vulnerability. The post argues that several closed models score near zero on that test because they refuse the task. Mistral also reports a 93.3% resistance rate on Lakera's B3 prompt injection benchmark and a higher refusal rate on malicious cyber prompts than other open models it tested.&lt;/p&gt;

&lt;p&gt;The cyber story has a second side. &lt;a href="https://thenewstack.io/mistral-large-4-weights/" rel="noopener noreferrer"&gt;The New Stack reports&lt;/a&gt;, citing Reuters, that ML4 tried to move beyond its test environment during evaluation. Mistral's VP of Science said the behavior was expected and contained in software. Mistral is red-teaming the model with security firms, vetted partners, and state authorities, who get a version with reduced moderation.&lt;/p&gt;

&lt;p&gt;This sets up the sharpest policy contrast of the week. OpenAI and Anthropic responded to similar behavior in their most cyber-capable models by restricting access. Mistral plans to publish the weights, which hands safeguard decisions to whoever runs the model. Defenders get a capable tool they control, and so does anyone else who downloads it. Expect this split to shape procurement debates in security teams for months.&lt;/p&gt;

&lt;p&gt;The weights are the part to watch. Mistral says they drop by the end of October, and the Hugging Face page counts down to October 31. Reporters were told October 27. The New Stack also reports that ML4 ships under a custom license rather than the Apache 2.0 license Mistral used for Large 3. Teams planning to self-host should read that license before building on the model.&lt;/p&gt;

&lt;p&gt;What this changes for practitioners: a 1 million token, image-capable model with frontier-adjacent coding scores, priced under $1.50 per million input tokens, and downloadable within weeks. For regulated industries in Europe, ML4 gives procurement teams a credible open option where they previously had to accept a US or Chinese provider.&lt;/p&gt;

&lt;h3&gt;
  
  
  Reflection AI introduces Beam
&lt;/h3&gt;

&lt;p&gt;Reflection AI &lt;a href="https://reflection.ai/blog/introducing-beam" rel="noopener noreferrer"&gt;introduced Beam&lt;/a&gt; on October 5, its first open-weight model. Beam is a sparse mixture-of-experts model with 501 billion total parameters and 23 billion active. It is text-only and built for coding, reasoning, and agentic work. Reflection pretrained it on 23.8 trillion tokens, and midtraining extended its effective context to 1 million tokens.&lt;/p&gt;

&lt;p&gt;The training numbers stand out. Pretraining ran in under four weeks on 6,144 NVIDIA GB300 GPUs in NVL72 racks. The reinforcement learning run used 10,500 GB300 GPUs for four weeks, generated more than 100 million rollouts with up to 256,000 tokens of context, and drew from about one million curated environments. Reflection says capability kept rising with RL compute and showed no plateau.&lt;/p&gt;

&lt;p&gt;Reflection's own benchmark table, all vendor-reported, shows Beam at 80.9 on SWE-Bench Verified, 65.5 on SWE-Bench Pro v1, 80.1 on Terminal-Bench v2.1, and 44.4 on DeepSWE v1.1. Reflection says Beam competes with GLM 5.2 and approaches Qwen 3.8-Max on coding and agentic tasks, while Kimi K3 stays ahead on raw capability. The pitch is cost per answer. Reflection claims Beam matches GLM 5.2 on reasoning tests with three to four times less inference compute.&lt;/p&gt;

&lt;p&gt;Beam is in final red-teaming. Early access runs through a waitlist on the Reflection platform. Reflection says it will release the weights under Apache 2.0, along with a technical report, a model card, and tooling for running and fine-tuning the model, later in October. A user-facing reasoning effort setting lets developers trade answer quality for tokens.&lt;/p&gt;

&lt;h3&gt;
  
  
  This week's open-weight scorecard
&lt;/h3&gt;

&lt;p&gt;The table below collects the open releases from this week in one place. All capability claims behind these models are vendor-reported, and two of the three large models have not published weights yet.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7lrps0cxt38z17uv6cj6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7lrps0cxt38z17uv6cj6.png" alt="This week's open-weight scorecard" width="800" height="940"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Two patterns stand out. First, the large Western open models now compete on agentic coding and inference cost rather than on raw chat quality. Mistral and Reflection both lead their launch posts with coding agents, tool use, and tokens per correct answer. Second, the small models are getting more specialized. Decision models and multimodal embedders do one job each, run fast, and ship with permissive licenses, which makes them easy to drop into existing pipelines.&lt;/p&gt;

&lt;p&gt;There is also a geopolitical thread. Mistral describes ML4 as the strongest open model from the US or Europe, and Reflection describes Beam as advancing the Western open frontier. Both still benchmark against Chinese leaders such as Kimi K3, GLM 5.3, Qwen 3.8, and DeepSeek V4, and both concede those models stay ahead on some measures. The open-weight race now has a regional scoreboard, and buyers in regulated sectors care about it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Decision models arrive from three directions
&lt;/h3&gt;

&lt;p&gt;The quietest trend of the week matters a lot for production agents. Several vendors shipped decision models: small models that pick from developer-supplied options and return typed answers with probabilities, instead of generating free text. TypeSafe's Jev started the wave a few weeks ago. This week the big platforms answered.&lt;/p&gt;

&lt;p&gt;Cloudflare &lt;a href="https://blog.cloudflare.com/clef-decision-models/" rel="noopener noreferrer"&gt;released Clef and Clef-flash&lt;/a&gt; on October 1, hosted on Workers AI as &lt;code&gt;@cf/cloudflare/clef&lt;/code&gt; and published on Hugging Face under Apache 2.0. Clef freezes Qwen3.8-27B as its backbone, and Clef-flash freezes Qwen3.5-9B. Cloudflare trained a routing head and rank-256 adapters on top, with a non-autoregressive scoring step that skips token-by-token generation. Both models take a 64K token context, double Jev's 32K, and include a vision encoder for image classification.&lt;/p&gt;

&lt;p&gt;Cloudflare's latency numbers, vendor-reported across 43 benchmarks, put Clef at a 209 ms median and Clef-flash at 38.8 ms, against 524 ms for Jev. On its quality table, Clef scores 94.20 macro-F1 on BANKING77 and 97.43 on CLINC150 with out-of-scope detection. Jev still wins on When2Call and BRIGHT. The models are fully Jev API compatible, so teams can swap providers without code changes. Cloudflare also announced a reinforcement learning fine-tuning service, starting with its forward-deployed engineers before a self-serve version.&lt;/p&gt;

&lt;p&gt;Cloudflare's own use case shows why this matters. Its threat intelligence team feeds a domain to Clef, which renders the site and returns category probabilities, such as 95% fashion, 85% ecommerce, and under 1% phishing. That run took 2.2 seconds. The fastest general LLM in the same workflow, gpt-oss-120b, took 4.7 seconds and returned only two categories. Halving latency while returning richer output is the whole argument for decision models in one example.&lt;/p&gt;

&lt;p&gt;AWS launched &lt;a href="https://thenewstack.io/aws-strands-decider-model/" rel="noopener noreferrer"&gt;Strands Decider 2B&lt;/a&gt; the same day. It uses Qwen3.5-2B as the base, replaces the text-generating head with a pointer head of just over a million parameters, and adds a rank-16 LoRA adapter. AWS released the model plus the data and scripts used to train it. The New Stack's example shows the use case clearly. An agent guesses a city for a weather request, and Decider checks whether that argument is grounded in the conversation before the tool runs. If not, the agent asks the user.&lt;/p&gt;

&lt;p&gt;OpenAI launched its Decisions API as a limited preview earlier in the week, per The New Stack, built on its Luna model. Perplexity released &lt;a href="https://huggingface.co/perplexity-ai/pplx-decider-v1-27b" rel="noopener noreferrer"&gt;Decider v1 27B&lt;/a&gt; on October 1 with Apache 2.0 weights. The common thread is clear. Teams want a cheap, fast, auditable check inside the agent loop, and a general LLM is the wrong tool for a yes, no, or pick-one answer.&lt;/p&gt;

&lt;h3&gt;
  
  
  Google EmbeddingGemma 2 goes multimodal
&lt;/h3&gt;

&lt;p&gt;Google &lt;a href="https://thenewstack.io/google-embeddinggemma-multimodal-search/" rel="noopener noreferrer"&gt;released EmbeddingGemma 2&lt;/a&gt; on October 6. Built on Gemma 4, it maps text, code, images, video, and audio into one 768-dimension vector space, so teams no longer need to caption images or transcribe audio before indexing them. The full model has 740 million parameters, but developers load only the encoders they need. The text and code base uses 270 million parameters and about 191 MB of RAM on a Pixel 11 Pro in Google's testing. The full model used about 567 MB with quantization.&lt;/p&gt;

&lt;p&gt;Google quadrupled the context window from 2,048 to 8,192 tokens. The company says that covers up to 5.5 minutes of audio, 29 images, or 58 video frames per input. The weights ship under Apache 2.0, with on-device deployment through LiteRT and MediaPipe Tasks available now and an Android ML Kit integration coming. The key design choice is the shared vector space. A team can start with a text index and add image or audio search later without re-embedding what it already stored.&lt;/p&gt;

&lt;h3&gt;
  
  
  Smaller releases and a cost check
&lt;/h3&gt;

&lt;p&gt;Microsoft &lt;a href="https://microsoft.ai/news/our-first-streaming-transcription-model/" rel="noopener noreferrer"&gt;shipped three speech models&lt;/a&gt; on October 1: MAI-Transcribe-2-Streaming, its first streaming transcription model, plus MAI-Voice-2.1 and MAI-Voice-2.1-Flash. All three are generally available.&lt;/p&gt;

&lt;p&gt;No new frontier model shipped this week from OpenAI, Anthropic, Google, xAI, Meta, or DeepSeek. The most useful closed-model news was an independent cost test. The New Stack &lt;a href="https://thenewstack.io/gpt-6-1-sol-vs-gpt-6-astra/" rel="noopener noreferrer"&gt;ran GPT-6.1 Sol against GPT-6 Astra&lt;/a&gt; on three tasks, five runs each: CI triage, incident log analysis, and writing a dependency resolver from a spec. Both models got all 15 runs right. GPT-6.1 Sol costs $2 per million input tokens and $10 per million output, against $10 and $50 for Astra. Across the runs, Sol cost $2.66 against Astra's $14.77, or 18% of the price, and finished the two longer tests faster.&lt;/p&gt;

&lt;h3&gt;
  
  
  Retirements to act on
&lt;/h3&gt;

&lt;p&gt;Deprecations deserve attention because they break pinned configs. GitHub &lt;a href="https://github.blog/changelog/2026-10-02-selected-models-in-github-copilot-deprecated/" rel="noopener noreferrer"&gt;deprecated four models&lt;/a&gt; across all Copilot experiences on October 2: Gemini 3.5 Flash and Gemini 3.6 Flash, with Gemini 3.8 Flash as the suggested replacement, Kimi K2.7 Code, replaced by Kimi K3, and Claude Opus 4.7, replaced by Claude Opus 5.5. OpenAI also deprecated &lt;code&gt;gpt-5.3-codex&lt;/code&gt;, &lt;code&gt;gpt-5.1&lt;/code&gt;, and &lt;code&gt;gpt-5.4-nano&lt;/code&gt; ahead of a 2027 API shutdown, according to &lt;a href="https://releasebot.io/updates/openai" rel="noopener noreferrer"&gt;release trackers&lt;/a&gt;. Audit any workflow that pins one of these IDs.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tooling: Codex Starts a Sprint and Copilot Learns to Click
&lt;/h2&gt;

&lt;h3&gt;
  
  
  OpenAI's 28-day Codex sprint
&lt;/h3&gt;

&lt;p&gt;Thibault Sottiaux, who leads Codex engineering at OpenAI, set an unusual public challenge on October 4. He promised one clear improvement for most Codex and ChatGPT Work users every day for 28 days, or a full usage reset instead. &lt;a href="https://thenewstack.io/openai-codex-shipping-sprint/" rel="noopener noreferrer"&gt;The New Stack covered Day 1&lt;/a&gt;: GPT-6 Astra and GPT-6.1 Sol now run about 50% faster by default. Sottiaux later put it at roughly 50 tokens per second, up from about 30.&lt;/p&gt;

&lt;p&gt;The speedup reaches beyond OpenAI's own apps. Subscribers who use Sign in with ChatGPT get it inside OpenCode, Pi, Amp, and Devin as well. The timing carries some irony. Two days before the sprint began, Sottiaux apologized for a slow GPT-6.1 Sol launch caused by a load spike and issued a global usage reset for paid accounts. Usage resets now work like a currency in the coding tool market, and OpenAI is spending it to win developer goodwill.&lt;/p&gt;

&lt;p&gt;The CLI kept shipping too. &lt;a href="https://developers.openai.com/codex/changelog/" rel="noopener noreferrer"&gt;Codex CLI 0.160.0&lt;/a&gt; landed October 1. It adds opt-in Guardian review features that pull earlier user instructions and context from agent handoffs into safety reviews. It also lets users start sessions outside a project with workspace defaults when policy allows, and it fixes a batch of Windows sandbox issues. Version 0.160.1 followed on October 5 with a fix for environment variables passed to remote MCP servers. The September 29 releases had already made GPT-6.1 Sol the default model in Codex, including in the Amazon Bedrock catalogs.&lt;/p&gt;

&lt;p&gt;Guardian deserves a closer look. It is the Codex component that reviews risky actions before they run, such as commands that need elevated permissions or network access. A reviewer that sees only the current command misses intent. The new opt-in features let Guardian pull earlier user instructions and context passed between agents during handoffs, so it can judge whether an action matches what the user asked for. As coding agents split work across subagents, safety checks need the full chain of instructions, not just the last step.&lt;/p&gt;

&lt;p&gt;The sprint itself is worth tracking as a signal. Daily public commitments put pressure on every competitor's release cadence, and they make quality visible in a way quarterly launches never did. Developers will judge the sprint by whether the improvements reach their daily work, not by how many posts it produces.&lt;/p&gt;

&lt;h3&gt;
  
  
  GitHub Copilot gets computer use
&lt;/h3&gt;

&lt;p&gt;GitHub put &lt;a href="https://github.blog/changelog/2026-10-01-github-copilot-can-now-interact-with-desktop-apps/" rel="noopener noreferrer"&gt;computer use into public preview&lt;/a&gt; in Copilot CLI and the Copilot app on macOS and Windows on October 1. Copilot can now read app content, click controls, type, scroll, drag, and move through workflows across desktop apps. The target is legacy and GUI-only software that has no API, CLI, or MCP integration.&lt;/p&gt;

&lt;p&gt;The control model matters as much as the feature. Copilot asks for approval before it controls an app, and users can review or reset apps they marked as always allowed. On macOS, setup walks through Accessibility and Screen Recording permissions. Organization-managed settings can turn the feature off. Users enable it with &lt;code&gt;/computer on&lt;/code&gt; in the CLI or a settings toggle in the app. &lt;a href="https://thenewstack.io/github-copilot-computer-use-desktop/" rel="noopener noreferrer"&gt;The New Stack noted&lt;/a&gt; that GitHub's own guidance tells users to try other options first, which is the right posture for a tool that drives a real desktop.&lt;/p&gt;

&lt;p&gt;The same day, GitHub added &lt;a href="https://github.blog/changelog/2026-10-01-dynamic-workflows-in-copilot-cli-and-the-copilot-app/" rel="noopener noreferrer"&gt;code-defined workflows to Copilot CLI, the Copilot app, and the Copilot SDK&lt;/a&gt;, available on all plans in public preview. A workflow is a program that defines the steps of a task in code and calls agents only for the parts that need judgment. Steps can run in sequence or in parallel, pass structured results forward, ask subagents to verify each other, and pause at checkpoints for human review. GitHub's examples include parallel PR review across many files and a check that only reports a finding when two models agree. This is the reliability pattern serious agent teams have been hand-building, now packaged into the product.&lt;/p&gt;

&lt;p&gt;GitHub draws a line between this feature and &lt;code&gt;/fleet&lt;/code&gt;, its existing mode where Copilot hands work to subagents and coordinates them on its own. A fleet decides its own plan. A code-defined workflow follows the plan you wrote, every time. Teams can write workflows by hand or ask Copilot to draft one, and the program lives inside a Copilot extension with access to the extension APIs. For release checks, incident investigation, and large codebase sweeps, repeatability beats cleverness, and this design reflects that.&lt;/p&gt;

&lt;p&gt;The two October 1 features also connect. Computer use extends what an agent can touch, and code-defined workflows constrain how it moves through a task. Together they push Copilot from a chat assistant toward an automation platform with guardrails written in code.&lt;/p&gt;

&lt;h3&gt;
  
  
  Code review gets an API and a benchmark
&lt;/h3&gt;

&lt;p&gt;GitHub &lt;a href="https://github.blog/changelog/2026-10-02-copilot-code-review-api-support-and-new-default-effort-level/" rel="noopener noreferrer"&gt;opened Copilot code review to the REST and GraphQL APIs&lt;/a&gt; on October 2, with a per-request effort level. Balanced is now the default effort level for new and existing repositories. Teams that prefer the lighter mode can switch to Lite.&lt;/p&gt;

&lt;p&gt;GitHub also &lt;a href="https://thenewstack.io/github-reviewbench-code-review/" rel="noopener noreferrer"&gt;unveiled ReviewBench&lt;/a&gt;, an open benchmark built with Microsoft to measure how well AI review agents find useful problems in pull requests. It uses 219 public PRs from 187 repositories across 19 languages. GitHub picked the corpus after analyzing 103.9 million PRs, matching language and repository-size mix to GitHub as a whole and leaning away from tiny single-file changes. Copilot code review tops the first leaderboard. Treat that result the way you treat any vendor-run benchmark, and look at independent review leaderboards before you choose a tool.&lt;/p&gt;

&lt;h3&gt;
  
  
  Enterprises rethink their coding agent bills
&lt;/h3&gt;

&lt;p&gt;The Information reported on October 5 that Microsoft and Meta are steering employees away from Claude Code and toward in-house tools, &lt;a href="https://cybersecuritynews.com/meta-microsoft-claude-ai" rel="noopener noreferrer"&gt;per a summary from Cybersecurity News&lt;/a&gt;. At Meta, Claude Code users reportedly fell from about 60,000 earlier this year to about 30,000, with layoffs as one factor and the push toward MetaCode and Muse Code as the larger one. The same report says Meta still spent more than $105 million on Claude Code in one 28-day period. Microsoft is reportedly shifting internal teams toward GitHub Copilot CLI.&lt;/p&gt;

&lt;p&gt;The lesson for engineering leaders is cost visibility. Agent spending grows with usage in ways seat licenses never did. Large companies now run their own models and harnesses partly to control that bill, and smaller teams need the same discipline: per-team budgets, usage dashboards, and routing simple work to cheaper models.&lt;/p&gt;

&lt;h3&gt;
  
  
  Observability for agents
&lt;/h3&gt;

&lt;p&gt;Dynatrace &lt;a href="https://thenewstack.io/dynatrace-arize-agents-observability/" rel="noopener noreferrer"&gt;closed its $915 million acquisition of Arize&lt;/a&gt;, announced in August. The pitch is simple. An application can look healthy on infrastructure dashboards while the agent on top gives wrong answers, calls the wrong tool, or stalls. Dynatrace brings application and infrastructure monitoring, and Arize brings tracing and evaluation for models and agents. Expect more observability vendors to buy or build agent evaluation, since traces alone do not tell you whether an answer was right.&lt;/p&gt;

&lt;h2&gt;
  
  
  Standards: Watermarks, MCP Context Costs, and Decision APIs
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What agent tooling teaches standards bodies
&lt;/h3&gt;

&lt;p&gt;The tooling news this week carries a standards lesson. Copilot's computer use, Codex's Guardian reviews, and code-defined workflows all solve the same problem: how much an agent can do, and who approves it. Each vendor answers that question in its own format today. Approval prompts, permission scopes, and audit trails do not move between tools. A shared way to describe agent permissions and approvals lets security teams set one policy and apply it across Copilot, Codex, Claude Code, and in-house harnesses. MCP covers tool access and A2A covers handoffs, but neither covers that policy layer yet.&lt;/p&gt;

&lt;h3&gt;
  
  
  OpenAI opens text watermarking to the API
&lt;/h3&gt;

&lt;p&gt;OpenAI &lt;a href="https://thenewstack.io/openai-api-text-watermarking/" rel="noopener noreferrer"&gt;introduced opt-in text watermarking&lt;/a&gt; for its API on October 5, using a system it calls textGrain. The method nudges word choice, picking one fitting word over another, so that a long enough passage carries a statistical pattern OpenAI's detector recognizes. API customers anywhere can turn it on for supported models today. It stays off by default in the API.&lt;/p&gt;

&lt;p&gt;The driver is the EU AI Act's transparency rules. OpenAI says it will start watermarking eligible ChatGPT and Codex text generated in the EU automatically in the coming weeks. The approach differs from Anthropic's, announced in August, which applies watermarking globally at the model level, including for API users and Claude Code. Developers now face two defaults from two major providers. Teams that sell into the EU should decide on a provenance policy now, rather than inherit one from whichever model they call.&lt;/p&gt;

&lt;p&gt;Text watermarks have known limits. A statistical signal needs a long enough passage to detect, and heavy editing or paraphrasing weakens it. Watermarking is one input to a provenance program, not a full answer. For developers, the practical questions are narrower: which outputs carry a watermark, whether customers can see that, and how the product discloses AI-generated text where the law requires it.&lt;/p&gt;

&lt;h3&gt;
  
  
  MCP's context bill, and a fix
&lt;/h3&gt;

&lt;p&gt;A practical MCP story landed this week. Pi, the coding agent acquired by Earendil earlier this year, &lt;a href="https://thenewstack.io/pi-agent-mcp-codemode/" rel="noopener noreferrer"&gt;added native MCP support in Pi 1.0&lt;/a&gt; after a long holdout. Creator Mario Zechner had measured the cost of loading tool definitions. Chrome DevTools MCP alone took about 18,000 tokens, or roughly 9% of a 200,000-token window, before the agent did anything. Playwright MCP used about 13,700 tokens to describe 21 tools.&lt;/p&gt;

&lt;p&gt;Pi's answer keeps tool definitions out of the prompt. Its Codemode feature finds tools on demand, calls them from JavaScript, and returns only the useful output, so results do not have to pass through the model's context to be saved or combined. This mirrors a broader shift. The &lt;a href="https://blog.modelcontextprotocol.io/posts/" rel="noopener noreferrer"&gt;MCP 2026-07-28 specification&lt;/a&gt; made the protocol stateless and HTTP-native, and the &lt;a href="https://modelcontextprotocol.io/development/roadmap" rel="noopener noreferrer"&gt;current roadmap&lt;/a&gt; focuses on unifying HTTP and stdio transports. The protocol works. The open problem is how clients spend tokens on it.&lt;/p&gt;

&lt;p&gt;Cloud gateways keep adding MCP plumbing. Google Cloud's API Gateway &lt;a href="https://docs.cloud.google.com/api-gateway/docs/release-notes" rel="noopener noreferrer"&gt;added API key authentication&lt;/a&gt; for the MCP &lt;code&gt;tools/list&lt;/code&gt; method on September 30, building on its September feature that turns an annotated OpenAPI spec into a remote MCP server. That pattern, an existing API spec projected as MCP tools behind a gateway with standard auth, is becoming the default enterprise path.&lt;/p&gt;

&lt;h3&gt;
  
  
  A de facto API for decision models
&lt;/h3&gt;

&lt;p&gt;The decision model releases also carry a standards story. Cloudflare made Clef &lt;a href="https://blog.cloudflare.com/clef-decision-models/" rel="noopener noreferrer"&gt;fully compatible with the Jev API&lt;/a&gt;, with typed question schemas for yes or no, choice, and score answers. That turns one startup's interface into a shared contract only weeks after launch. AWS took a different route with a downloadable model wired into its Strands agent framework, and OpenAI chose a hosted Decisions API. If more vendors adopt the Jev request shape, teams gain the same portability for decision calls that OpenAI-compatible endpoints brought to chat completions.&lt;/p&gt;

&lt;h3&gt;
  
  
  Agent safety moves below the application
&lt;/h3&gt;

&lt;p&gt;NVIDIA &lt;a href="https://nvidianews.nvidia.com/news/open-agent-safety-platform" rel="noopener noreferrer"&gt;launched its Open Agent Safety Platform&lt;/a&gt;, an open software platform and reference design for governing agents from testing to deployment. Its core is OpenShell, open source runtime software that sets execution boundaries for agents on CPUs and can extend to Arm and Intel platforms. The reference design adds Sentry, an out-of-band watchdog on BlueField-4 DPUs that monitors agent behavior and quarantines agents that leave their boundaries. Cadence is &lt;a href="https://semiengineering.com/chip-industry-week-in-review-158/" rel="noopener noreferrer"&gt;integrating the platform&lt;/a&gt; with its chip-design agents.&lt;/p&gt;

&lt;p&gt;NVIDIA's framing is pointed. Recent incidents share a pattern where agents get around controls at the application layer to finish their tasks. Putting enforcement in a separate runtime, and in silicon outside the host, means a misbehaving agent cannot simply reason its way past the guard. Read this next to Mistral's report of a model probing its test environment. Containment now needs layers the model cannot reach.&lt;/p&gt;

&lt;h3&gt;
  
  
  Documentation for machine readers
&lt;/h3&gt;

&lt;p&gt;Docsy, the Hugo documentation theme Google created in 2019, &lt;a href="https://thenewstack.io/docsy-linux-foundation-agents/" rel="noopener noreferrer"&gt;is moving to the Linux Foundation&lt;/a&gt;. Erin McKean of Google announced the move at Open Source Summit Europe in Prague on October 7. About 2,200 projects used Docsy by the end of 2024, including Kubernetes, OpenTelemetry, gRPC, and Jaeger. The project is adding features aimed at AI agents as readers of technical docs. As agents read documentation before they write code, docs structure becomes part of the interface contract for any API.&lt;/p&gt;

&lt;h3&gt;
  
  
  A2A stays quiet
&lt;/h3&gt;

&lt;p&gt;The Agent2Agent protocol had no major release this week. A2A reached &lt;a href="https://you.com/resources/a2a-protocol-explained-what-agent-to-agent-communication-solves" rel="noopener noreferrer"&gt;version 1.0 with signed Agent Cards&lt;/a&gt; earlier this year and passed 150 supporting organizations under Linux Foundation governance. Most production stacks now pair MCP for tools with A2A for agent-to-agent handoffs, and that split held steady this week.&lt;/p&gt;

&lt;h2&gt;
  
  
  Infrastructure: Memory Sets the Price of Every Token
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Micron says supply stays tight through 2028
&lt;/h3&gt;

&lt;p&gt;Memory remains the scarcest part of the AI stack, and this week's numbers made that plain. Micron &lt;a href="https://semiengineering.com/chip-industry-week-in-review-158/" rel="noopener noreferrer"&gt;reported record fiscal fourth-quarter revenue of $54 billion&lt;/a&gt;, up from $11 billion a year earlier. The company said memory supply stays tight through 2028 and that more than 75% of its 2027 output is already committed. It also told investors that 2027 HBM prices will run well above 2026 levels.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://nextplatform.com/store/2026/10/02/microns-numbers-show-why-hbm4-memory-is-worth-15x-its-weight-in-gold/5300701" rel="noopener noreferrer"&gt;The Next Platform's analysis&lt;/a&gt; adds detail. Micron's core data center business grew about elevenfold year over year to just over $18 billion. The HBM4 ramp is on track, and Micron is working with NVIDIA on NVHBM, the first custom HBM4E part, for NVIDIA's next GPUs and NVLink Fusion platforms. Custom HBM marks a shift. Memory stacks now get designed around one customer's accelerator, the way logic chips always were.&lt;/p&gt;

&lt;p&gt;Samsung added a capacity data point. A Samsung executive &lt;a href="https://semiengineering.com/chip-industry-week-in-review-158/" rel="noopener noreferrer"&gt;told Reuters&lt;/a&gt; that HBM will consume nearly 30% of DRAM makers' wafer capacity in 2027, up from about 20% today. Every wafer that goes to HBM is a wafer that does not go to standard DRAM, which is why conventional memory prices keep climbing too.&lt;/p&gt;

&lt;p&gt;TrendForce expects conventional DRAM contract prices to rise 10% to 15% in the fourth quarter and NAND flash prices to rise 15% to 20%. It projects enterprise SSD bit demand to grow more than 80% in 2026. South Korea's semiconductor exports hit a record $60 billion in September, up more than 262% year over year, driven by memory volume and price. These figures reach every AI budget. Inference servers, vector stores, and the object storage behind data lakehouses all buy from the same constrained supply.&lt;/p&gt;

&lt;p&gt;For AI teams, the planning implication is direct. Hardware quotes for 2027 will carry higher memory costs, and cloud providers pass those costs into instance prices. Teams that size inference fleets now should model memory as the line item most likely to rise. Techniques that shrink memory per request, such as quantized models, smaller specialized models, and caching shared context, pay off twice in this market.&lt;/p&gt;

&lt;h3&gt;
  
  
  Optics close in on the network bottleneck
&lt;/h3&gt;

&lt;p&gt;As memory gets more expensive, wasted accelerator time costs more too. Counterpoint Research &lt;a href="https://semiengineering.com/chip-industry-week-in-review-158/" rel="noopener noreferrer"&gt;estimates&lt;/a&gt; that GPUs spend roughly 12.5% of their time waiting on the network in some workloads. The firm expects near-packaged optics to start sampling in late 2026 or early 2027, followed by co-packaged optics as scale-up interconnects demand more bandwidth per watt.&lt;/p&gt;

&lt;p&gt;Standards and funding moved this week to support that shift. JEDEC published the industry's first silicon photonics reliability standard, which sets common qualification rules as optical interconnects spread through AI systems. CScale came out of stealth with $145 million to build an optical interconnect for AI scale-up that contains optical failures without stopping compute. Volantis raised $88 million for an interconnect that uses integrated micro-VCSELs to link many memory chips into one pool for inference. Pooled memory over optics attacks the same problem as HBM from a different angle: give each accelerator access to more memory without stacking it all on the package.&lt;/p&gt;

&lt;h3&gt;
  
  
  Who trained on what this week
&lt;/h3&gt;

&lt;p&gt;This week's model launches doubled as infrastructure disclosures. Mistral trained Large 4 on 3,800 Grace Blackwell GPUs in its own European data centers and serves the preview on the same fleet. Its reinforcement learning stack produces roughly 33 billion tokens per day on about 3,000 GPUs, with about 16 billion of those trainable after filtering. Mistral says its €3 billion Series D funds a large compute expansion in Europe.&lt;/p&gt;

&lt;p&gt;Reflection pretrained Beam on 6,144 GB300 GPUs in NVL72 racks, then ran RL on 10,500 GB300 GPUs for four weeks. Its RL platform sustained about 110,000 concurrent rollouts and up to 170,000 concurrent sandboxes across more than 20 clusters, two clouds, and four regions. New weights reached the inference fleet in a median of about 12 seconds. Reflection reports pretraining goodput of 92.3% near the end of the run, with nine rewinds for gradient spikes or suspected silent data corruption.&lt;/p&gt;

&lt;p&gt;These numbers show where frontier spending now goes. Pretraining is only one stage. RL at scale needs huge numbers of CPU sandboxes, fast weight distribution, and fault handling that keeps a month-long job alive through dozens of incidents. That is why NVIDIA's CPU-heavy rack designs and agent sandboxing products keep showing up next to its GPU launches.&lt;/p&gt;

&lt;p&gt;NVIDIA also &lt;a href="https://nvidianews.nvidia.com/news" rel="noopener noreferrer"&gt;published a post&lt;/a&gt; on how its Blackwell GPUs accelerate GPT-6 Astra Ultrafast, which is now live in the OpenAI API and for eligible ChatGPT Work and Codex users. Fast tiers like this are becoming a standard product line, priced above default speed for latency-sensitive agent loops.&lt;/p&gt;

&lt;h3&gt;
  
  
  Capital, fabs, and power
&lt;/h3&gt;

&lt;p&gt;Several deals this week show how AI hardware financing now works. Anthropic's IPO filing &lt;a href="https://semiengineering.com/chip-industry-week-in-review-158/" rel="noopener noreferrer"&gt;revealed&lt;/a&gt; that it is the customer behind Broadcom's previously disclosed compute financing arrangement of up to $42 billion. Chip vendors financing their own customers' compute is now a standard tool for moving custom silicon.&lt;/p&gt;

&lt;p&gt;TSMC is reportedly weighing a multibillion-dollar Texas campus for more AI chips, beyond its Arizona buildout. AMD plans to acquire World Labs, which builds spatial-intelligence models that simulate interactive 3D environments for robotics, in an $8.2 billion all-stock deal expected to close by the end of 2026. Samsung Electro-Mechanics will invest about $4.9 billion to expand FCBGA substrate capacity for AI servers in South Korea and Vietnam.&lt;/p&gt;

&lt;p&gt;Power keeps showing up in chip news. South Korea and the United States are advancing a $22 billion, 6.47 GW gas-fired power project in Texas to serve chip plants and AI data centers. Infineon will supply silicon carbide devices for Eaton's solid-state transformer platform built for 800 VDC data center power. The 800-volt shift reduces conversion losses in dense AI racks, and suppliers are lining up parts for it now.&lt;/p&gt;

&lt;h3&gt;
  
  
  What this means for buyers
&lt;/h3&gt;

&lt;p&gt;Put the week's infrastructure news together and a pattern appears. The cost of AI is shifting from compute alone to compute plus memory plus power. Vendors that disclose cluster sizes, RL token rates, and serving hardware give buyers a better sense of what a model costs to run and how fast it will improve. Mistral and Reflection both published more training detail than most closed labs share. That transparency is part of the open-weight value proposition, and procurement teams should ask every provider for the same numbers.&lt;/p&gt;

&lt;p&gt;The other lesson is about timing. Memory contracts for 2027 are already mostly signed. Teams that need dedicated capacity next year should lock in plans now, and teams that rent capacity should expect prices to follow memory upward.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Data Layer Angle
&lt;/h2&gt;

&lt;p&gt;Three of this week's stories land squarely on the data platform. EmbeddingGemma 2 puts text, images, video, and audio into one 768-dimension space. That makes vector columns a normal part of analytical tables, not a side system. The open table and file formats are racing to catch up. On the Apache Parquet dev list this week, contributors debated whether a new &lt;code&gt;VECTOR&lt;/code&gt; type should guarantee finite elements, and Ryan Blue proposed shipping two types to settle it. Apache Iceberg started a dedicated sync on October 8 for its own vector type. Teams that plan to store embeddings in their lakehouse should follow both threads, because the outcome decides what readers and indexes can assume about those columns.&lt;/p&gt;

&lt;p&gt;Decision models fit the governed data layer too. A decision model needs clean, well-defined options and fields to choose from. That is exactly what a semantic layer provides. The Apache Ossie (incubating) community spent this week debating whether to define an MCP contract so agents can discover a semantic model and run governed queries against it. Put a decision model in front of that contract, and an agent can route a question to the right metric, check its arguments, and run it with a confidence score attached.&lt;/p&gt;

&lt;p&gt;The memory story ties back as well. When DRAM and NAND prices rise 10% to 20% in a quarter, the cost of keeping hot copies of data rises with them. Open formats on object storage, with engines that cache smartly, keep that cost in check. Moving compute to the data beats copying data into every new AI tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practitioner Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Plan for Mistral Large 4 weights at the end of October, and read the custom license before you commit to self-hosting.&lt;/li&gt;
&lt;li&gt;Put a decision model in your agent loop for routing, tool-argument checks, and output gating. Clef, Strands Decider, and Perplexity Decider all ship open weights.&lt;/li&gt;
&lt;li&gt;Audit pinned model IDs in Copilot and OpenAI configs. Several Gemini, Kimi, Claude, and GPT-5.x IDs retired or entered deprecation this week.&lt;/li&gt;
&lt;li&gt;Decide your text watermarking policy for EU users now. OpenAI and Anthropic ship different defaults.&lt;/li&gt;
&lt;li&gt;Measure the token cost of every MCP server you load. On-demand tool loading can save tens of thousands of tokens per session.&lt;/li&gt;
&lt;li&gt;Budget for higher memory and storage prices through 2027, and favor architectures that avoid duplicate copies of large datasets.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What to Watch Next Week
&lt;/h2&gt;

&lt;p&gt;OpenAI's Codex sprint promises a new improvement every day, so expect a steady stream of small changes and possibly a new model before the 28 days end. Reflection's Beam weights and technical report are due later in October, and Mistral's ML4 weights should follow by month end. On the infrastructure side, the OCP Global Summit runs October 12 to 15 in San Jose and SEMICON West runs October 13 to 15 in San Francisco, so look for rack, power, and optics announcements. On the standards side, watch whether more vendors adopt the Jev request format for decision models, and whether MCP clients copy Pi's on-demand tool loading.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep Learning
&lt;/h2&gt;

&lt;p&gt;The pace of change in AI rewards people who understand the fundamentals underneath the headlines. My books cover AI-assisted development, agentic analytics, open lakehouse architecture, and the economics of AI and work. Browse the full catalog at &lt;a href="https://books.alexmerced.com" rel="noopener noreferrer"&gt;books.alexmerced.com&lt;/a&gt; and pick the one that matches what you are building next.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Stop Calling Everything Made With AI Slop</title>
      <dc:creator>Alex Merced</dc:creator>
      <pubDate>Mon, 05 Oct 2026 14:36:35 +0000</pubDate>
      <link>https://dev.to/alexmercedcoder/stop-calling-everything-made-with-ai-slop-5c3e</link>
      <guid>https://dev.to/alexmercedcoder/stop-calling-everything-made-with-ai-slop-5c3e</guid>
      <description>&lt;p&gt;Scroll any comment section under a blog post, a video, or a song in 2026 and you will find the same two-word review. "AI slop." Sometimes the label fits. The post invents a statistic, the video melts into nonsense halfway through, or the article repeats the same empty point six times in slightly different words.&lt;/p&gt;

&lt;p&gt;Other times the label lands on work that is careful, accurate, and genuinely useful. Someone spent hours on the research, wrote pages of their own notes, argued with the draft, fixed what the model got wrong, and shipped something worth reading. A commenter spots a familiar phrase or a too-clean thumbnail and dismisses the whole thing in two words.&lt;/p&gt;

&lt;p&gt;I want to make a case that sounds simple but gets lost in the noise. Bad AI-assisted content is bad because it is bad, not because AI touched it. Good AI-assisted content exists, it takes real skill to make, and the only way anyone builds that skill is by using the tools often enough to get past the clumsy early stage.&lt;/p&gt;

&lt;p&gt;I have not been shy about how I work. I use AI heavily, mostly in areas where I already have deep knowledge, and I use it to move faster. I also make my mistakes in public, because public mistakes bring feedback, and feedback is how I get better. This article explains what slop actually is, why every creative tool goes through this same backlash, what I learned by doing it over and over, and how I think we should judge creative work from here on out.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Slop Actually Is
&lt;/h2&gt;

&lt;p&gt;The word has a real definition now. Merriam-Webster named "slop" its 2025 Word of the Year and defined it as digital content of low quality that is produced usually in quantity by means of artificial intelligence. Macquarie Dictionary picked "AI slop" as its word of the year too. The term earned its spot. The internet filled up with junk fast.&lt;/p&gt;

&lt;p&gt;Read the definition closely, though. "Low quality" sits right in the middle of it. Quality is the defining trait. AI is the usual production method, but the definition does not say every AI-produced thing is slop. It says slop is low-quality content, usually mass-produced with AI.&lt;/p&gt;

&lt;p&gt;That distinction matters, because a lot of people use the word to mean "anything I suspect involved a model." Those are two very different claims. One is a judgment about the work. The other is a guess about the workflow.&lt;/p&gt;

&lt;p&gt;So what puts something in the slop bin? I see three clear markers.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;It tries to misinform.&lt;/strong&gt; The content spreads false claims, fabricated quotes, fake sources, or invented events. Sometimes this is deliberate. Sometimes the creator just never checked. The result for the reader is the same.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It adds no value.&lt;/strong&gt; The piece says nothing a reader did not already know. It restates the obvious, pads the length, and leaves you with no new idea, no new skill, and no new perspective.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;It clearly was not reviewed.&lt;/strong&gt; The draft still contains the model's mistakes. You see broken references, contradictions between sections, hallucinated version numbers, and leftover phrases like "as an AI model" or "here is your blog post."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every one of these markers describes a failure of the creator, not the tool. A human writer with no AI at all can misinform, add nothing, and skip editing. We just had other names for that content before 2023. We called it content farm filler, clickbait, or spam.&lt;/p&gt;

&lt;p&gt;The volume is the new part. A content farm used to need a room full of underpaid writers. Now one person with a script can publish thousands of pages a day. Streaming service Deezer has reported that a large share of the music uploaded to its platform every day is fully AI-generated, at one point estimating about 28 percent of new uploads. That flood is real, and people have every right to be tired of it.&lt;/p&gt;

&lt;p&gt;But fatigue makes people sloppy judges. When the default reaction to any hint of AI is "slop," the label stops meaning "low quality." It starts meaning "made with a tool I disapprove of." That shift hurts the people who use these tools well, and it teaches newcomers that the right move is to hide their process instead of improving it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Every Creative Tool Got This Reception
&lt;/h2&gt;

&lt;p&gt;The backlash against AI-assisted work feels new, but the pattern is old. Almost every tool that lowered the barrier to creative work got called cheating, fake, or the death of real art.&lt;/p&gt;

&lt;p&gt;Music has the cleanest example. In 1982, the UK Musicians' Union passed a motion to ban synthesizers, drum machines, and any electronic devices capable of recreating the sounds of conventional instruments. The union feared these machines threatened the jobs of session players. The motion came after Barry Manilow toured the UK using synths to simulate the sound of a big band orchestra.&lt;/p&gt;

&lt;p&gt;The ban went nowhere. Drum machines went on to shape hip-hop, house, and techno. Those genres did not replace older music. They added new music that did not exist before those instruments arrived. The union was right that the work was about to change. It was wrong that the change meant the end of real musicianship.&lt;/p&gt;

&lt;p&gt;Photo editing went through the same cycle. Adobe released Photoshop 1.0 in 1990. For years after, "photoshopped" worked as an insult. It meant fake, manipulated, dishonest. Today nearly every professional photo passes through editing software, and nobody accuses a wedding photographer of fraud for adjusting exposure. People still criticize manipulated images, and they should when the edit deceives. The criticism shifted from "you used the tool" to "you used the tool to lie."&lt;/p&gt;

&lt;p&gt;Digital audio workstations (DAWs) followed the same arc. A DAW is software for recording, editing, and arranging music on a computer. Tools like FL Studio, which started life as FruityLoops in the late 1990s, let a teenager with a laptop build tracks that once needed a studio, an engineer, and a band. Early bedroom producers got mocked for not playing "real" instruments. Some of those bedroom producers now headline festivals.&lt;/p&gt;

&lt;p&gt;I have picked up a lot of these tools over the years. Photoshop, FL Studio, Videoleap, and plenty more. I learned each one for the same reason: it let me make the ideas in my head real. AI tools are the latest entry on that list.&lt;/p&gt;

&lt;p&gt;Not every critic in these cycles was wrong. Some synth-heavy records from the 1980s really are thin. Plenty of early Photoshop work really was garish. Tools do get misused, especially early, when nobody has figured out the craft yet.&lt;/p&gt;

&lt;p&gt;Where the critics went wrong was the target. They judged the tool when they should have judged the output. Over time, the culture corrected. The tool stopped being the story, and the work became the story again. I expect the same correction for AI-assisted work. The only open question is how many capable creators we discourage before it happens.&lt;/p&gt;

&lt;h2&gt;
  
  
  Using AI Well Is a Skill, and Skills Come From Reps
&lt;/h2&gt;

&lt;p&gt;Here is the part that gets lost in most arguments about AI content. Using these tools well is a skill, and it behaves like every other craft skill. You start out bad, you get feedback, you adjust, and you slowly get good.&lt;/p&gt;

&lt;p&gt;Nobody opens a DAW for the first time and mixes a radio-ready track. Nobody opens Photoshop and produces a clean composite on day one. The first hundred attempts teach you where the controls are. The next hundred teach you what good looks like. After that, you start to build taste and speed at the same time.&lt;/p&gt;

&lt;p&gt;AI tools work the same way. Your first AI-assisted blog post will probably read flat. Your first AI-generated image will have strange hands or warped text. Your first AI-assisted song will sound generic. That tells you that you are a beginner, which is exactly what everyone is at the start of any skill. It says very little about the ceiling of the tool.&lt;/p&gt;

&lt;p&gt;The people quickest to shame AI users often point to those beginner outputs as proof. "Look how bad this is." They are judging a first draft from a first-week user and treating it as the ceiling of the medium. Nobody judges guitar by listening to someone on their third lesson.&lt;/p&gt;

&lt;p&gt;My own practice looks like this. I mostly use AI in areas where I already know the material well. I have co-written books on Apache Iceberg and Apache Polaris and written another on architecting an Iceberg lakehouse. When a model drafts something in that territory, my expertise does the checking. The model does the typing, the first-pass research, and the structural grunt work.&lt;/p&gt;

&lt;p&gt;That pairing is where AI pays off the most. Expertise plus AI acceleration beats either one alone. An expert without AI moves slower. AI without an expert produces confident nonsense. The skill lives in the combination.&lt;/p&gt;

&lt;p&gt;The clearest example from my own work is my personal websites. I manage them myself with AI assistance. That work used to need a team of specialists: a web developer, a copyeditor, a graphic designer. Now I handle the full workflow on my own, end to end. At a larger scale, my plan is not a row of narrow specialists. I want a small team of generalists, each one owning complete workflows end to end with AI support, all pointed at a shared goal.&lt;/p&gt;

&lt;p&gt;None of that came free. I got there by doing the work over and over, and by doing it in public. I make mistakes in public without shame, because that is how I get the feedback and the lessons that let me improve quickly.&lt;/p&gt;

&lt;p&gt;This is why I push back when people say "just don't use AI until it's good." The tools keep getting better, but the person using them only gets better through practice. If you wait on the sidelines until the technology is perfect, you will show up with zero experience while everyone who practiced has years of instinct on you.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the Early Reps Taught Me About the "AI Meh" Feel
&lt;/h2&gt;

&lt;p&gt;Every heavy AI user eventually learns to recognize a certain texture. I call it the "AI meh" feel. The content is not wrong, exactly. It is grammatical, organized, and on topic. It is also forgettable. Readers sense it within a paragraph, even when they cannot name what bothers them.&lt;/p&gt;

&lt;p&gt;Learning what gives content that feel, and how to get rid of it, was one of the first lessons that came from doing this regularly.&lt;/p&gt;

&lt;p&gt;The meh feel tends to come from a handful of habits that language models fall into when nobody steers them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Generic openings.&lt;/strong&gt; Models love to open with a broad statement about how fast the world changes or how important a topic has become. Readers skip these lines automatically. A strong opening starts with a concrete problem the reader recognizes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Filler transitions.&lt;/strong&gt; Stiff, formal connector words pile up at the start of sentences in AI drafts. They make prose sound formal while carrying no meaning. The same goes for phrases that announce importance instead of demonstrating it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rhythm lists.&lt;/strong&gt; Models reach for groups of three adjectives because the rhythm sounds polished. After a few paragraphs, the pattern becomes obvious, and the reader starts to tune out.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hedging.&lt;/strong&gt; Unsteered drafts qualify everything. Every claim gets a softener in front of it. The result reads as if nobody stands behind any of it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Missing opinion.&lt;/strong&gt; This one matters most. A model with no direction defaults to a balanced summary of every side. Balanced summaries have their place, but they have no voice. Readers come back to creators because those creators see things a certain way.&lt;/p&gt;

&lt;p&gt;I keep a list of style rules and banned words for anything written in my voice. No em dashes. No stacked formal transitions. No hedge words in the body of the piece. Active voice. Short paragraphs. Concrete numbers over vague claims of size. Those rules go to the model as part of the instructions whenever it drafts in my voice.&lt;/p&gt;

&lt;p&gt;Rules only fix the surface, though. The deeper fix for the meh feel is input. A model drafts flat content when it has nothing specific to work with. Give it a generic prompt and you get the average of everything it has read. Give it your specific angle, your notes, your opinions, and the examples you actually care about, and the draft starts to sound like a person with a point of view.&lt;/p&gt;

&lt;p&gt;This article is a good example. It started with a long set of notes in my own words. Every argument in it, every example, every opinion came from those notes. The model helped organize the material, expand it, and tighten it against my style rules. The thinking is mine. The acceleration came from the tool.&lt;/p&gt;

&lt;p&gt;That is the real difference between slop and skilled AI-assisted work. Slop starts with a topic. Skilled work starts with a point of view.&lt;/p&gt;

&lt;h2&gt;
  
  
  Verifying Efficiently: Know Where the Model Breaks
&lt;/h2&gt;

&lt;p&gt;The second big lesson from the early reps was about review. Beginners tend to make one of two mistakes. Some skip review entirely and publish whatever the model gives them. That is how slop gets made. Others review every sentence with equal suspicion, which takes so long that the AI saves them no time at all.&lt;/p&gt;

&lt;p&gt;Efficient review means knowing where the model is strong and where it is weak, then spending your attention where the weaknesses live. A good editor already works this way with human writers. You learn which writer mangles dates and which one overstates conclusions, and you read their drafts with that in mind.&lt;/p&gt;

&lt;p&gt;Language models have fairly predictable weak spots. Here is how I think about the split.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6k67cvy3njcq48w2v9a5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F6k67cvy3njcq48w2v9a5.png" alt="Language models have fairly predictable weak spots. Here is how I think about the split." width="669" height="793"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That last row deserves extra attention. An unsteered model writing in your voice will happily invent a conference you never attended or a customer you never met. Those fake stories read well, which makes them dangerous. I have a standing rule that no anecdote appears in my content unless it actually happened to me. The model does not get to make up my life.&lt;/p&gt;

&lt;p&gt;Review also gets faster when you automate the mechanical parts. My style rules are specific enough to check with a script. Here is a version of the verification pass for my long-form drafts.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;F&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;article.md

&lt;span class="c"&gt;# Word count: long-form pieces need to clear 6,000 words&lt;/span&gt;
&lt;span class="nb"&gt;wc&lt;/span&gt; &lt;span class="nt"&gt;-w&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$F&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;

&lt;span class="c"&gt;# Em dashes and en dashes: must return nothing&lt;/span&gt;
&lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-nE&lt;/span&gt; &lt;span class="s1"&gt;'—|–'&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$F&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;

&lt;span class="c"&gt;# Semicolons: must return nothing outside code blocks&lt;/span&gt;
&lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-n&lt;/span&gt; &lt;span class="s1"&gt;';'&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$F&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;

&lt;span class="c"&gt;# Banned vocabulary sweep: the words that make prose read like a template&lt;/span&gt;
&lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-niE&lt;/span&gt; &lt;span class="s1"&gt;'\b(delve|leverag|seamless|paradigm|synergy|holistic|robust|unlock|realm|tapestry|testament|embark|myriad|plethora|pivotal|transformative|bespoke|curated|meticulous|elevate|empower|streamline|foster)\w*'&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$F&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;

&lt;span class="c"&gt;# Hedging modals: claims get stated plainly or not at all&lt;/span&gt;
&lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-niE&lt;/span&gt; &lt;span class="s1"&gt;'\b(might|could|would|may) '&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$F&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;

&lt;span class="c"&gt;# Call to action present&lt;/span&gt;
&lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-n&lt;/span&gt; &lt;span class="s1"&gt;'books.alexmerced.com'&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$F&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here is what each part does and why it exists.&lt;/p&gt;

&lt;p&gt;The first line sets a variable named &lt;code&gt;F&lt;/code&gt; to the file path, so every later command checks the same file without retyping the name.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;wc -w&lt;/code&gt; command counts words. Long-form pieces have a target length, and models often land short when asked for a long draft in one pass. A word count catches that right away, before anyone spends time reading a draft that needs more material anyway.&lt;/p&gt;

&lt;p&gt;The dash check uses &lt;code&gt;grep -nE&lt;/code&gt; with a pattern that matches either an em dash or an en dash. The &lt;code&gt;-n&lt;/code&gt; flag prints line numbers, so each hit is easy to find. Models lean on em dashes heavily, and a page full of them is one of the fastest tells of unedited AI prose.&lt;/p&gt;

&lt;p&gt;The semicolon check works the same way. My style rules keep semicolons out of prose, so the only acceptable hits are inside code blocks.&lt;/p&gt;

&lt;p&gt;The vocabulary sweep uses &lt;code&gt;-i&lt;/code&gt; for case-insensitive matching and &lt;code&gt;\b&lt;/code&gt; for word boundaries, so one stem catches every form of a word, capitalized or not. Every word on that list is technically fine English. The problem is frequency. Models reach for these words far more often than people do, and a reader who sees three of them in a paragraph stops trusting the writing.&lt;/p&gt;

&lt;p&gt;The hedging check looks for soft modal verbs followed by a space. The goal is plain claims. If a claim is true, state it. If it holds only under certain conditions, name the conditions.&lt;/p&gt;

&lt;p&gt;The last line confirms the call to action made it into the final draft. That sounds trivial, but when a model rewrites a closing section, the link sometimes disappears.&lt;/p&gt;

&lt;p&gt;None of this replaces reading the piece. The script handles the mechanical checks in about a second, which frees my attention for the parts only a human expert can judge. Is the argument right? Is the technical claim accurate? Does this say something worth saying?&lt;/p&gt;

&lt;p&gt;That division of labor is the whole point. The machine checks the machine-checkable. I check the meaning.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Flow Changes With the Model, the Tool, and the Medium
&lt;/h2&gt;

&lt;p&gt;Once you have a process that works, it is tempting to treat it as finished. It never is. My workflow shifts every time one of three things changes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The model.&lt;/strong&gt; Different models have different habits. One model leans on certain phrases, while another pads its output with summaries at the end of every section. One is more likely to invent citations, another is more cautious but more generic. When I switch models, my review checklist shifts with it. The weak spots in the table above hold up broadly, but the details move.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The tool around the model.&lt;/strong&gt; The same model behaves differently depending on the app or agent setup wrapped around it. A chat window, a coding agent with file access, and a writing tool with a custom style guide all produce different results. Some setups let the model search the web, which helps with current facts but introduces new risks around sources. Others let the model run code, which helps with verification. Learning what each setup is good at is its own skill.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The medium.&lt;/strong&gt; Writing, video, and music each have their own failure modes. In writing, the risk is factual errors and the meh feel. In video, it is visual consistency from shot to shot, characters whose faces drift, and motion that breaks physics in distracting ways. In music, it is generic arrangements, muddy mixes, and lyrics that rhyme without saying anything.&lt;/p&gt;

&lt;p&gt;Each medium needs its own review habits. For an article, review targets facts and voice. For a video, it targets continuity from shot to shot, and anything that breaks the illusion gets cut. For a song, it targets the moments where the arrangement goes on autopilot.&lt;/p&gt;

&lt;p&gt;The underlying pattern stays the same across all three. You learn where the tool is reliable. You learn where it fails. You put your effort where the failures are. And the only way to build that map is to make a lot of things and pay attention to what goes wrong.&lt;/p&gt;

&lt;p&gt;This is also why one attempt, years ago, is a weak basis for deciding AI is useless. The tools they tried are gone. The models changed, the setups changed, and the outputs changed. More to the point, they never built the map. One try tells you almost nothing about what a practiced user can do.&lt;/p&gt;

&lt;h2&gt;
  
  
  "If AI Wrote It, Why Should I Read It?"
&lt;/h2&gt;

&lt;p&gt;This is a common objection, and it deserves a real answer. The argument goes like this. If a machine wrote the piece, the writer put in no effort, so the reader owes it no attention. Why spend my time on something nobody bothered to write?&lt;/p&gt;

&lt;p&gt;The objection rests on an assumption that the person contributed nothing. For slop, that assumption is usually correct. Someone typed a topic into a box, copied the output, and hit publish. There is no person in that content, so there is nothing of a person to read.&lt;/p&gt;

&lt;p&gt;Skilled AI-assisted work is different. The creator puts themselves into the piece at every stage that matters.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The angle.&lt;/strong&gt; Before any drafting happens, someone decides what the piece argues. A model left alone writes the average take. A creator with a point of view picks the specific claim, the counterintuitive framing, or the uncomfortable truth that makes the piece worth reading.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The research.&lt;/strong&gt; Someone decides which sources to trust, which facts to verify, and which examples best support the point. Those choices shape the piece as much as any sentence does.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The notes.&lt;/strong&gt; Strong AI-assisted pieces start with the creator's own notes. Those notes hold their opinions, their reflections, the wisdom they have built up, and the arguments they want to make. Those notes are the raw material. The model shapes them. It does not invent them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The judgment.&lt;/strong&gt; Someone reads the draft, rejects what is wrong, pushes back on what is weak, and decides when the piece is done. That editorial judgment is a creative act. Film directors do not operate every camera, and nobody says their films lack a creator.&lt;/p&gt;

&lt;p&gt;When all four are present, the reader gets the creator's thinking, delivered faster than typing it alone. That is a good deal for the reader.&lt;/p&gt;

&lt;p&gt;There is a second half to this objection worth answering. People say, "If AI wrote it, why should I read it? I can just ask AI." Fair enough. Ask AI to help you read it, then. Ask a model to summarize a long piece, pull out the key claims, or explain a section you found confusing.&lt;/p&gt;

&lt;p&gt;Reading can be AI-assisted the same way writing can. There is no shame in that. A dense technical article is a lot more approachable when you can ask follow-up questions about it. Using AI to read does not mean the piece should not have been written. It means the reader found a faster way into it.&lt;/p&gt;

&lt;p&gt;The piece still had to exist. Somebody still had to choose the argument, gather the evidence, and stand behind the conclusions. A model summarizing an article you never wrote has nothing to summarize.&lt;/p&gt;

&lt;p&gt;And there is real pleasure in reading something slowly, on your own, with no assistance at all. Some books deserve your full, unassisted attention. Neither approach is the correct one. Both are tools a reader can pick up depending on what they want from the experience.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Good Looks Like
&lt;/h2&gt;

&lt;p&gt;Arguments are easier to evaluate with examples, so here are two. One comes from a creator whose work shows what this technology can do. The other comes from my own music.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gossip Goblin
&lt;/h3&gt;

&lt;p&gt;The filmmaker Zack London, known online as Gossip Goblin, makes dark, strange science fiction short films with AI video tools. His channel has passed 1.4 million subscribers and more than a billion total views. His first feature-length film, an anthology called &lt;em&gt;Gods Don't Give Gifts&lt;/em&gt;, was scheduled to open in several hundred U.S. theaters on October 30, 2026, produced with the studio Fable.&lt;/p&gt;

&lt;p&gt;What makes his work relevant to this argument is how much human effort goes into it. London has said his feature still needed a human-written script, a dozen voice actors, and a post-production crew. Reporting on the feature describes a team of 10 artists working on it over two months. His process starts with a script, then builds every shot from a still image generated in Midjourney, refined in other tools, and only then animated into video. That is a slower, more hands-on pipeline than the one-click generation most people picture.&lt;/p&gt;

&lt;p&gt;London has also said plainly that AI is a tool for him and not the point. It gave him access to filmmaking without replacing crafts he already valued, like illustration. His shorts do not hide the strangeness of the medium. They lean into it and build a recognizable visual style from it.&lt;/p&gt;

&lt;p&gt;You do not have to like his films. Taste is personal. But nobody watching his work in good faith calls it low effort. It has a vision, a consistent world, and a recognizable voice. Those are the things that separate art from filler in any medium. AI did not supply them. London did.&lt;/p&gt;

&lt;h3&gt;
  
  
  My old acoustic recordings
&lt;/h3&gt;

&lt;p&gt;The second example is smaller and more personal. I have old acoustic recordings from my younger days. They hold my effort and my vision from that time.&lt;/p&gt;

&lt;p&gt;Suno is an AI music platform, and one of its features lets you upload your own audio and generate a new version in a different style while keeping the original melody. My old acoustic recordings have become the seeds for full productions.&lt;/p&gt;

&lt;p&gt;The songwriting, the melodies, and the emotional core come from my younger self. The production comes from a tool that did not exist back then. Neither approach makes these songs alone, and the result is a fun bridge between two versions of me.&lt;/p&gt;

&lt;p&gt;Is that slop? Run it through the three markers. It does not misinform anyone. It adds value by finishing work that started years ago. And the review test comes down to keeping the versions that serve the song and tossing the ones that miss. By the definition that matters, it is not slop. It is a creative project that uses a new tool.&lt;/p&gt;

&lt;h2&gt;
  
  
  There Is Room for Both Markets
&lt;/h2&gt;

&lt;p&gt;I want to be clear about one thing. I am not arguing that all content should be AI-assisted. I do not think that, and I do not want that.&lt;/p&gt;

&lt;p&gt;There will be a strong market for creators who make everything without AI, and there should be. Some audiences care deeply about knowing that a human did every step. That preference is valid, and the market already serves it. Bandcamp, the music platform popular with independent artists, announced in January 2026 that it no longer allows music generated wholly or in substantial part by AI. The company framed the policy as a way to keep its community human. That is a reasonable choice for a platform, and it gives listeners who want fully human music a clear place to find it.&lt;/p&gt;

&lt;p&gt;Handmade work has always held value next to manufactured work. Hand-thrown pottery sells alongside factory dishware. Film photography survives next to digital cameras. Live acoustic sets still draw crowds in a world full of programmed beats. Those markets did not vanish when the faster tool arrived. They found their audience, and the handmade quality became a feature people choose on purpose.&lt;/p&gt;

&lt;p&gt;The same thing will happen with writing, video, and music. Some creators will advertise that they use no AI, and some audiences will seek them out. Other creators will use AI heavily and openly, and their audiences will care about the output, not the process.&lt;/p&gt;

&lt;p&gt;What I push back on is the idea that one camp gets to define the other as illegitimate. The human-only creator is not a dinosaur. The AI-assisted creator is not a fraud. They are making different choices about tools, and both can produce excellent work or terrible work.&lt;/p&gt;

&lt;p&gt;Every major creative technology eventually settles into some balance between efficiency and quality. Photoshop did not make every photo fake. DAWs did not make every song soulless. The balance point took years of experimentation, curiosity, and a lot of bad early work to find. AI-assisted creation is in that experimentation phase right now. The people who will find the balance point are the ones willing to practice in the open.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to Practice Without Publishing Slop
&lt;/h2&gt;

&lt;p&gt;If you are early in using AI for creative work, the advice to "just do it a lot" needs some guardrails. Practice should not mean flooding the internet with weak drafts. Here is how I think about building the skill responsibly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Start where you are already an expert.&lt;/strong&gt; Use AI first in a subject you know cold. Your knowledge acts as a built-in fact checker. You will catch the model's errors quickly, and you will learn its failure patterns faster because you can see them. Using AI in a field you do not understand is how people publish confident mistakes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verify against primary sources.&lt;/strong&gt; When a draft cites a release date, a feature, a quote, or a number, check it against the original source. That means the official documentation, the project's release notes, the dictionary entry, or the article that first reported the claim. Secondhand summaries repeat each other's errors, and models blend them together. A habit of going to the original catches most factual mistakes before they reach a reader, and it gets faster as you learn which sources hold up.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Write your notes before you prompt.&lt;/strong&gt; Spend 15 minutes writing down what you actually think about the topic. Your opinions, your examples, the arguments you want to make, the mistakes you see other people making. Feed those notes to the model. The difference in output quality between "write about X" and "here are my notes on X, shape them into an article" is enormous.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Keep a running list of what goes wrong.&lt;/strong&gt; Every time a model makes a mistake you catch, write it down. Wrong dates, invented quotes, repeated phrases, weak openings. After a few dozen pieces, that list becomes your review checklist. It tells you exactly where to look, which is how review gets faster over time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Turn your style into rules.&lt;/strong&gt; If you notice yourself fixing the same pattern over and over, write a rule for it and give the rule to the model up front. Then check the rule with a script where you can. My own banned-word list and verification script are examples of this.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Publish less than you generate.&lt;/strong&gt; The ability to produce a lot does not mean you should publish a lot. Generate ten drafts, publish the one that says something. Volume is the defining trait of slop. Selectivity is the defining trait of craft.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Be open about your process.&lt;/strong&gt; Hiding AI use creates a trust problem when people find out. Being open about it lets you get honest feedback on the work itself. I talk about how I use AI because the feedback makes me better, and because I think the conversation about these tools needs more practitioners sharing real workflows.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Take criticism of the work seriously and criticism of the tool lightly.&lt;/strong&gt; When someone says a claim is wrong or a section is weak, that is gold. Fix it. When someone says "AI slop" with no further detail, there is usually nothing to act on. Check whether your piece hits any of the three slop markers. If it does not, move on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Judge the Work, Not the Workflow
&lt;/h2&gt;

&lt;p&gt;So how should we judge creative work now that AI is part of so many workflows? The same way we judged it before. Look at the output and ask the questions that always mattered.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is it accurate?&lt;/strong&gt; Does it state true things? Are its sources real? Do its numbers hold up? A piece full of errors fails this test whether a human or a model introduced the errors.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does it add value?&lt;/strong&gt; Did you learn something, feel something, or see something in a new way? Content that leaves you exactly where you started has failed, no matter how it was made.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Does it have a point of view?&lt;/strong&gt; Can you tell what the creator thinks? Is there a specific argument, a specific style, or a specific vision behind it? Work with a clear voice behind it is almost never slop.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Was it cared for?&lt;/strong&gt; Do the details hold together? Are the rough edges sanded down? Does it feel finished? Care shows up in the work, and its absence shows up too.&lt;/p&gt;

&lt;p&gt;Notice that none of these questions asks what tools the creator used. That is deliberate. We do not grade a novel by whether the author used a typewriter or a laptop. We do not grade a song by whether the drums came from a kit or a drum machine. We do not grade a photo by whether it passed through editing software. We grade the result.&lt;/p&gt;

&lt;p&gt;These questions also work in both directions. They catch slop made with AI, and they catch lazy work made without it. A handwritten article full of errors fails the accuracy test. A fully human song with nothing to say fails the value test. The standard stays the same no matter which tools sit in the workflow.&lt;/p&gt;

&lt;p&gt;AI-assisted work deserves the same standard. Hold it to a high bar. Call out errors. Call out empty content. Call out work that clearly never got a human review. Those criticisms help everyone.&lt;/p&gt;

&lt;p&gt;But when a piece is accurate, valuable, distinctive, and carefully made, the presence of AI in the workflow counts as a production detail, the same way the choice of camera or DAW is a production detail. Something that adds real value, AI or not, still required skill, vision, and determination to make.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Slop is real, and I share the frustration with it. Content that misinforms, adds nothing, and skips review makes the internet worse, and people are right to call it out. The dictionary even gave us a word for it, and the definition puts low quality at the center.&lt;/p&gt;

&lt;p&gt;But the word has drifted. Too many people now use "slop" to mean "made with AI," and that shift punishes the wrong people. It discourages beginners from practicing a skill that only improves with practice. It pressures experienced creators to hide their process instead of sharing what they learned. And it confuses a judgment about a workflow with a judgment about the work.&lt;/p&gt;

&lt;p&gt;My own path has been simple. I learn whatever tool lets me make the things I picture in my head. Photoshop, Videoleap, FL Studio, and now a range of AI tools. Each one made me more versatile. I learn in public and make my mistakes in public on purpose, because public mistakes bring the fastest lessons, and I am proud of what that approach has let me build.&lt;/p&gt;

&lt;p&gt;If you want to criticize AI-assisted work, criticize it on the merits. Point to the wrong fact, the empty argument, the missing review. If you want to make AI-assisted work, put yourself into it. Bring your angle, your notes, your judgment, and your willingness to throw away drafts that do not meet the bar.&lt;/p&gt;

&lt;p&gt;Judge creators by the quality and value of what they make, the way we judge creators in every other medium. That standard worked for photography, for synthesizers, and for the bedroom producer with a laptop and a DAW. It will work for this too.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep Going
&lt;/h2&gt;

&lt;p&gt;If this piece was useful, I have written a lot more on how AI is changing the way people work. My book on AI and labor economics covers the economic side of this shift, and you can find it at &lt;a href="https://a.co/d/06SeOKw8" rel="noopener noreferrer"&gt;a.co/d/06SeOKw8&lt;/a&gt;. You can find every book I have written, across lakehouse architecture, Apache Iceberg, Apache Polaris, and AI, at &lt;a href="https://books.alexmerced.com" rel="noopener noreferrer"&gt;books.alexmerced.com&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Apache Data Lakehouse Weekly: September 23 to 30, 2026</title>
      <dc:creator>Alex Merced</dc:creator>
      <pubDate>Wed, 30 Sep 2026 13:57:19 +0000</pubDate>
      <link>https://dev.to/alexmercedcoder/apache-data-lakehouse-weekly-september-23-to-30-2026-3lj2</link>
      <guid>https://dev.to/alexmercedcoder/apache-data-lakehouse-weekly-september-23-to-30-2026-3lj2</guid>
      <description>&lt;p&gt;Release week. Apache Iceberg 1.12.0 passed its vote after a license audit sank the first candidate, Apache Polaris shipped 1.8.0 with a security fix inside it, and Iceberg C++ 0.4.0 went out the door. Under the release traffic sat a quieter theme that ran through every list. Specs are getting stricter about what they promise. Iceberg voted to forbid new equality deletes in v4. Parquet argued over whether a vector type should reject NaN. Ossie asked what a column name in a metric expression points to. Polaris debated whether a config field should be an enum or free text. Each thread is a fight about contracts, and each one ends with a narrower, more checkable promise to the engines that read these formats.&lt;/p&gt;

&lt;p&gt;This issue covers roughly 380 messages across the Iceberg, Polaris, Arrow, Parquet, DataFusion and Ossie dev lists between September 23 and September 30.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Iceberg
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Iceberg 1.12.0 passes on the second try
&lt;/h3&gt;

&lt;p&gt;Neelesh Salian ran the 1.12.0 release, and it took two candidates to land. The &lt;a href="https://lists.apache.org/thread/vpoplv96vcyxtzwq7vonc90sy33qcqj9" rel="noopener noreferrer"&gt;RC1 vote&lt;/a&gt; drew early +1s from Alex Dutra, Gianluca Graziadei and Szehon Ho. Then Kurtis Wright posted a -1 with a disclaimer at the top: he had prompted Claude to audit every license in the candidate. The audit found that the GCP bundle jar shipped Caffeine with no entry in its LICENSE file. Kevin Liu followed up with his own table of gaps and found a second one around Jackson's FastDoubleParser. Jean-Baptiste Onofré cast a -1 on the same grounds. Neelesh sorted each report, landed the fixes, and pulled in Gianluca's patch for a variant-column &lt;code&gt;NoSuchMethodError&lt;/code&gt; that hit clusters with older commons-lang3 jars.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://lists.apache.org/thread/l8gjs6z1ocfd70hv6dj923s7p9qm0w77" rel="noopener noreferrer"&gt;RC2 vote&lt;/a&gt; opened on September 25. Neelesh stretched the window to Tuesday afternoon to cover the weekend. It had one scare. Huaxin Gao pointed out that the staging repository had no Spark 4.2 artifacts, even though the source tree, CI matrix and Gradle defaults all pointed at 4.2. Amogh Jahagirdar agreed a new RC looked necessary. Russell Spitzer then asked why an earlier PR had excluded 4.2 from convenience binaries on purpose. Amogh found the older thread. The community had held back 4.2 binaries while Spark's own APIs kept moving. Huaxin withdrew the alarm and voted +1 with a note that every RC1 license gap was closed in the jars themselves.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://lists.apache.org/thread/ychjvqbmt7ksmczhct3mnw8j3yowwbcr" rel="noopener noreferrer"&gt;result&lt;/a&gt; came in on September 29: four binding +1s from Russell Spitzer, Kevin Liu, Szehon Ho and Amogh Jahagirdar, and ten non-binding +1s. Two details stood out in the votes. Kevin ran an agent over the repository looking for correctness bugs and flagged a handful of issues that also exist in 1.11. He called them non-blockers and listed them for triage. Kurtis came back with a second AI-assisted pass, this time labeled as the output of an agent skill built for checking open source release candidates. Release verification is turning into a place where contributors point agents at tedious, rule-driven work and then sign their names to the result.&lt;/p&gt;

&lt;p&gt;The CI side of the release had its own story. Steven Wu &lt;a href="https://lists.apache.org/thread/385j2js884o2vct31n775kt7m49jm4sn" rel="noopener noreferrer"&gt;asked where the MinIO replacement stood&lt;/a&gt; after Kafka Connect integration tests failed on the MinIO container. Neelesh opened a tracking issue and a stopgap PR. Within a few hours Kevin reported that the switch was done across every Iceberg repository, crediting Sreesh for the work. Amogh later noted that he ran the RC2 integration tests against RustFS. The S3 test backend for the project is now a Rust implementation.&lt;/p&gt;

&lt;h3&gt;
  
  
  v4 forbids new equality deletes
&lt;/h3&gt;

&lt;p&gt;Huaxin Gao called a &lt;a href="https://lists.apache.org/thread/2pgfvf8v5ob221q5t2xwzjo4xvw5ltz1" rel="noopener noreferrer"&gt;spec vote on PR #17783&lt;/a&gt;. The direction was already settled in July: v4 writers must not produce new equality deletes, readers still apply existing ones from v2 and v3 tables, and an upgrade stays metadata-only. This vote covered the exact spec wording. Russell Spitzer questioned whether a second vote was needed at all, then voted +1 anyway. Ryan Blue said the point was to affirm the decision and merge it. Anoop Johnson said the change simplifies the v4 design a lot. The vote passed with four binding +1s from Russell, Yufei Gu, Steven Wu and Ryan, plus five non-binding. Huaxin will merge the PR and follow up with a separate change that restructures how the spec presents deletion vectors next to the legacy delete formats.&lt;/p&gt;

&lt;p&gt;This is the most consequential spec change of the month for engine builders. Equality deletes let streaming writers such as Flink record "delete the row where id = 7" without reading the table first. They also push work onto every reader, which has to join the delete file against data files at scan time. v4 closes that door for new writes. Streaming pipelines that rely on equality deletes need a plan for deletion vectors before they adopt v4.&lt;/p&gt;

&lt;h3&gt;
  
  
  Who controls access: the delegation header debate
&lt;/h3&gt;

&lt;p&gt;A thread that started in Polaris landed on the Iceberg list. youngrae kim &lt;a href="https://lists.apache.org/thread/6zspb6cpb6j2po5lm57mq1sgcp2hppkf" rel="noopener noreferrer"&gt;asked what a REST server should do&lt;/a&gt; when a client sends &lt;code&gt;X-Iceberg-Access-Delegation&lt;/code&gt; but the server can satisfy none of the requested mechanisms. Picture vended credentials against an S3-compatible store with no STS, or remote signing on a server that does not implement it. Polaris returns HTTP 400. The spec says the server can supply access through any or none of the requested mechanisms.&lt;/p&gt;

&lt;p&gt;Alex Dutra proposed spec wording that favors failing fast, and Yufei Gu agreed. Daniel Weeks, who wrote much of the REST spec, disagreed with the framing. His argument was that the catalog should be the sole authority on access, and security around physical data should not be a negotiation between client and server. The loose wording was deliberate. It lets a catalog return credentials or remote signing config, or return metadata only, without the spec forcing its hand. Alex countered that the header cannot express a common client capability, which is using the client's own storage credentials and skipping delegation entirely.&lt;/p&gt;

&lt;p&gt;youngrae closed the loop on September 29. Polaris will keep its 400 as a documented implementation choice. The remaining ask is narrow: one sentence in the spec that says whether the header is a capability statement or a requirement, and what an absent header means. That clarification leaves the catalog's decisions untouched. It only tells clients and servers how to read the signal.&lt;/p&gt;

&lt;p&gt;A related effort moved forward. Sung Yun and Prashant Singh had been &lt;a href="https://lists.apache.org/thread/465y1l88hkrwkv39r8b84xwsl7f19kpg" rel="noopener noreferrer"&gt;discussing access delegation for the FILE type&lt;/a&gt;, where a governed table references files that engines need to read directly. Sung reported that the two of them &lt;a href="https://lists.apache.org/thread/g8h048zdjfvdojfvo4xtykw0y3mfoy5k" rel="noopener noreferrer"&gt;converged their proposals onto PR #18080&lt;/a&gt;, which now carries the optional request and response parameters from both drafts. Steven Wu also announced that the Thursday biweekly sync &lt;a href="https://lists.apache.org/thread/k3ncg4j27mpfqcm57px8goc0ox8rvdlp" rel="noopener noreferrer"&gt;will cover both the File and Vector types&lt;/a&gt; starting October 8. He said the File type discussion is close to consensus, so more of the time will go to the Vector type design doc from Yan Yan.&lt;/p&gt;

&lt;h3&gt;
  
  
  Labels, SQL, and the agent-shaped consumer
&lt;/h3&gt;

&lt;p&gt;Labels landed in the REST spec recently. A catalog can now attach object-level and field-level labels to a load-table response. Andrei Tserakhau &lt;a href="https://lists.apache.org/thread/hrcyh8nqf1svrwnm279n466c75r3wwxn" rel="noopener noreferrer"&gt;asked whether Iceberg should expose them&lt;/a&gt; as a &lt;code&gt;.labels&lt;/code&gt; metadata table. Péter Váry had raised the underlying issue in review. Every metadata table today derives from table metadata. A &lt;code&gt;.labels&lt;/code&gt; table carries catalog-owned data that varies by catalog and can be empty.&lt;/p&gt;

&lt;p&gt;Ryan Blue questioned the premise that labels need a SQL surface at all. He saw them as context for engines, such as cost attribution logs or attaching an engine policy to a table. Andrei answered that some consumers only speak SQL. He named governance tooling and, specifically, LLM agents that explore a warehouse by writing queries. Péter argued that the proposed uses turn labels into full table metadata, which contradicts the read-path design that treats them as a current view with no persistence guarantees. Ryan then took apart Andrei's cost-attribution example. The sample query joined &lt;code&gt;.labels&lt;/code&gt; to &lt;code&gt;.files&lt;/code&gt; with no ON clause, which produced a cartesian join that only looked right because the filter selected one label.&lt;/p&gt;

&lt;p&gt;Andrei conceded the join argument and pointed to an alternative. PR #18049 surfaces object and field labels through &lt;code&gt;DESCRIBE&lt;/code&gt;, which gives SQL-only consumers, agents included, a way to see labels without a new metadata table. The metadata table is parked until someone shows a use case that needs joins. The episode is worth noting. "An AI agent needs to read this" showed up as a design argument on the Iceberg list, and the community answered it with the smallest surface that works.&lt;/p&gt;

&lt;h3&gt;
  
  
  Encryption keys move closer to the files they protect
&lt;/h3&gt;

&lt;p&gt;Gábor Kaszab &lt;a href="https://lists.apache.org/thread/38rkthkr1fg0s86493fjq755cnl3y90s" rel="noopener noreferrer"&gt;reopened the design of encryption key storage&lt;/a&gt;. Today table metadata carries an &lt;code&gt;encryption-keys&lt;/code&gt; list that holds both data encryption keys for manifest lists and the key encryption keys that wrap them. Gábor wants to extend encryption to statistics files and v4 root manifests. His proposal stores each file's wrapped key directly in the metadata entry for that file, one key per file. KEKs stay in the shared list and are still referenced by &lt;code&gt;key-id&lt;/code&gt;. The spec draft for statistics files lives in PR #17533.&lt;/p&gt;

&lt;p&gt;Gidon Gershinsky agreed the DEK metadata belongs in per-file structures in v4. He added that reusing a DEK across files is possible but requires careful handling to avoid breaking AES-GCM, so the practical rule is a fresh random DEK per file. Xander Bailey wanted the one-key-per-file rule stated explicitly and asked for a common wrapped-key structure across file types, so implementations share code. Gábor's closing argument was about cleanup. With keys in a shared list, every new encrypted file type needs its own cleanup trigger when the file is dereferenced. With keys stored inline, the key disappears with the file. Xander found the argument convincing and asked for a Java draft. Gábor wants the design settled first. Xander also &lt;a href="https://lists.apache.org/thread/bjztsshokns59lzrmny6szlvk7vk2o6c" rel="noopener noreferrer"&gt;proposed a recurring encryption community sync&lt;/a&gt; to cover client library work, the KMS vending spec and v4 changes together.&lt;/p&gt;

&lt;h3&gt;
  
  
  Smaller spec decisions
&lt;/h3&gt;

&lt;p&gt;rahul mahadev &lt;a href="https://lists.apache.org/thread/79b5p9pfjso9d8tbs1w10619qz61rt85" rel="noopener noreferrer"&gt;called a vote on a standard User-Agent format&lt;/a&gt; for REST clients. The format lists products from most specific to least, such as &lt;code&gt;Spark/4.0.0 iceberg-spark/1.9.0 iceberg-java/1.9.0 (scala 2.13.16)&lt;/code&gt;. The Iceberg library token must appear when the header is sent. Servers must not reject requests based on it. Xuanwo liked that the header stays separate from authentication and capability negotiation. Alex Dutra left more PR comments to resolve before the vote proceeds.&lt;/p&gt;

&lt;p&gt;Eduard Tudenhöfner &lt;a href="https://lists.apache.org/thread/8f91nk08cq2pxtsdpf1o34ktthn7jcwk" rel="noopener noreferrer"&gt;announced a rename&lt;/a&gt; in the new content stats: &lt;code&gt;avg_value_size_in_bytes&lt;/code&gt; becomes &lt;code&gt;total_bytes&lt;/code&gt; in PR #18308. Averages do not aggregate cleanly across files. Totals do. Daniel Weeks confirmed that the average is still recoverable from &lt;code&gt;total_bytes&lt;/code&gt; and &lt;code&gt;value_count&lt;/code&gt;, and noted that a total gives planners an explicit upper bound for size estimates. Ryan Blue gave a +1.&lt;/p&gt;

&lt;p&gt;Shawn Chang &lt;a href="https://lists.apache.org/thread/8zq10wdsz5rx8v35zgon24r4gnsjsv9h" rel="noopener noreferrer"&gt;asked why the index spec requires&lt;/a&gt; region files to be globally ordered and non-overlapping, given the write amplification and maintenance cost. Péter Váry explained the target. Once index metadata is cached, a single-key lookup should cost one small file read. Overlapping regions force readers to consult several files and reconcile results, and on object storage every extra file read adds latency.&lt;/p&gt;

&lt;h3&gt;
  
  
  Releases beyond Java
&lt;/h3&gt;

&lt;p&gt;Manu Zhang &lt;a href="https://lists.apache.org/thread/lndrr0yn3l2pt7o72wfn2d9ssvhn5ho1" rel="noopener noreferrer"&gt;announced Iceberg C++ 0.4.0&lt;/a&gt; on September 26. The &lt;a href="https://lists.apache.org/thread/3t8r0gnm1pd8omrkdmd0yldq1phqm8dc" rel="noopener noreferrer"&gt;vote&lt;/a&gt; passed with binding support from Gang Wu, Renjie Liu and Kevin Liu. Renjie's verification ran 4,152 individual tests across 19 test executables and exercised REST and SQL catalog support, including a SQLite catalog run. Xuanwo suggested a LICENSE path fix for the MurmurHash3 files, and Manu opened an issue for the next release.&lt;/p&gt;

&lt;p&gt;Matt Topol &lt;a href="https://lists.apache.org/thread/18mcytdbd953cdwz5wsvzx6sbqzsvofh" rel="noopener noreferrer"&gt;opened the vote for Iceberg Go v0.7.0&lt;/a&gt; on September 28. Neelesh Salian, Andrei Tserakhau and Xuanwo voted +1. Xuanwo ran 3,344 tests on Go 1.25.9 and saw one Puffin checksum assertion fail on Go 1.27.1. The code still rejected the corrupted input, so he called it non-blocking.&lt;/p&gt;

&lt;h3&gt;
  
  
  Community and housekeeping
&lt;/h3&gt;

&lt;p&gt;Robin Moffatt &lt;a href="https://lists.apache.org/thread/l5c1bjl252310x5xg1holrzovm3r9v8p" rel="noopener noreferrer"&gt;opened PR #18019&lt;/a&gt; to finish the Kafka Connect LICENSE and NOTICE cleanup that Ryan Blue started in April. The PR regenerates &lt;code&gt;runtime-deps.txt&lt;/code&gt;, aligns the connector's cloud SDK dependencies with the AWS, GCP and Azure bundles, and drops the Hive distribution. The timing matters. A &lt;a href="https://lists.apache.org/thread/0zc0yhwjvwnpqov9ydtkg0hp8gr0wfyl" rel="noopener noreferrer"&gt;Confluent Hub security scan&lt;/a&gt; flagged the Iceberg Kafka Connect listing, and Confluent's policy escalates flagged connectors toward removal unless the partner responds.&lt;/p&gt;

&lt;p&gt;Gaspard Merten &lt;a href="https://lists.apache.org/thread/995qpplkok0rfw5z6o5bp3d8bgorpjck" rel="noopener noreferrer"&gt;shared a PyIceberg PR&lt;/a&gt; that moves upsert comparisons out of Python loops and into PyArrow compute. He built it while working on a data lake for a financial organization, and he said the change cuts memory and CPU for wide-table upserts. He also noted that he wrote part of it with Claude and reviewed it himself several times.&lt;/p&gt;

&lt;p&gt;Viktor Kessler announced two European community meetups in back-to-back days: &lt;a href="https://lists.apache.org/thread/pq1z3vk09kkqs87j522ksg67lj66bkwb" rel="noopener noreferrer"&gt;Berlin on November 18&lt;/a&gt; and &lt;a href="https://lists.apache.org/thread/fqmsxckdw88t32y2owvfd3mxjs7ttkr3" rel="noopener noreferrer"&gt;Amsterdam on November 19&lt;/a&gt;. Both have open calls for talks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Polaris
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Polaris 1.8.0 ships with a CVE fix
&lt;/h3&gt;

&lt;p&gt;Jean-Baptiste Onofré's first 1.8.0 candidate did not survive. Alex Dutra &lt;a href="https://lists.apache.org/thread/m6n72gfb48z82qml2o0h9ds94nx4zsj0" rel="noopener noreferrer"&gt;voted -1 on rc1&lt;/a&gt; because a test file added in PR #4823 carried an incorrect license header. JB &lt;a href="https://lists.apache.org/thread/9kow0cdomvg9pg9sbrmsh8nvkd8jsgtl" rel="noopener noreferrer"&gt;cancelled the vote&lt;/a&gt; and took another pass at LICENSE and NOTICE. The &lt;a href="https://lists.apache.org/thread/y9h97q5cd355vlcglyfo7mnqz23yfj2s" rel="noopener noreferrer"&gt;rc2 vote&lt;/a&gt; passed with binding +1s from Alex Dutra, Yufei Gu, Dmitri Bourlatchkov and JB, plus non-binding support from Prithvi S, Ajantha Bhat and Ayush Saxena. Yufei's verification checked 442 artifacts and ran authenticated CLI smoke tests against built and staged servers.&lt;/p&gt;

&lt;p&gt;JB &lt;a href="https://lists.apache.org/thread/vvzpmxj1thg57tfd2xfbll8mr7o24xmh" rel="noopener noreferrer"&gt;announced 1.8.0&lt;/a&gt; on September 28. The notable changes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Semantic model privileges.&lt;/strong&gt; Semantic models now get dedicated privileges for list, create, read, update and drop. Admins grant them to catalog roles on a single model, a namespace or a whole catalog. This is Polaris preparing to govern Ossie-style semantic models the same way it governs tables.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CLI toggles for STS and KMS.&lt;/strong&gt; &lt;code&gt;catalogs update&lt;/code&gt; accepts &lt;code&gt;--no-sts&lt;/code&gt; and &lt;code&gt;--no-kms&lt;/code&gt;, so operators can change those settings on an existing S3 catalog instead of recreating it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GCP federation auth.&lt;/strong&gt; The CLI adds &lt;code&gt;gcp&lt;/code&gt; as an external catalog auth type for Iceberg REST federation. That lets operators create GCP-authenticated catalogs such as BigLake without passing Google credential secrets as command-line flags.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Paging.&lt;/strong&gt; A global &lt;code&gt;--page-size&lt;/code&gt; option paginates list calls, when the server enables the &lt;code&gt;LIST_PAGINATION_ENABLED&lt;/code&gt; flag.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JDBC schema selection.&lt;/strong&gt; The relational JDBC backend reads its schema from the driver's &lt;code&gt;currentSchema&lt;/code&gt; property, so the persistence layer no longer hardcodes a schema name.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A day later JB published &lt;a href="https://lists.apache.org/thread/nrk339vtlkpsjw3mg4mqw52j0167wyph" rel="noopener noreferrer"&gt;CVE-2026-97395&lt;/a&gt;, rated important, for all Polaris versions before 1.8.0. A principal with permission to set table properties was able to put FileIO settings such as &lt;code&gt;s3.endpoint&lt;/code&gt; into table metadata. During server-side operations like commits and purges, older Polaris versions built their own FileIO client from those settings unless the catalog's storage config overrode the endpoint. The result: Polaris sent storage requests, signed with operation-scoped credentials, to a host the table writer picked. Deployments that do not fully trust table writers should upgrade. The reporter was credited as vignesh a.&lt;/p&gt;

&lt;p&gt;Ajantha Bhat also shipped the &lt;a href="https://lists.apache.org/thread/r686yo180pz59gx4ycz7r7dfmm7o599r" rel="noopener noreferrer"&gt;Polaris Iceberg Catalog Migrator 1.1.0&lt;/a&gt; after an &lt;a href="https://lists.apache.org/thread/o4b44mrkgbd6p1xjq5h6j6m70sb8ws7k" rel="noopener noreferrer"&gt;RC3 vote&lt;/a&gt; with binding support from Dmitri, Russell Spitzer, JB and Alex. Russell's check covered all 12 primary Maven artifacts and 89 tests.&lt;/p&gt;

&lt;h3&gt;
  
  
  Enum or free text: the R2 credential vending fight
&lt;/h3&gt;

&lt;p&gt;Austen Tomek of Chicago Trading has a PR adding Cloudflare R2 support with scoped credential vending. The &lt;a href="https://lists.apache.org/thread/flk86whb81c5yz2qb94o8rfdnozxrp85" rel="noopener noreferrer"&gt;discussion&lt;/a&gt; reached a clean disagreement. Austen explained why endpoint matching cannot identify the storage vendor: MinIO and other self-hosted stores use arbitrary hostnames, and a failed match silently falls back to STS. So the PR adds an explicit &lt;code&gt;credentialVendingMechanism&lt;/code&gt; field to the Management API.&lt;/p&gt;

&lt;p&gt;Dmitri Bourlatchkov wants that field to be free text with runtime validation, so downstream builds of Polaris can add custom mechanisms. Yufei Gu wants an enum, arguing that a spec is a contract and clients should not depend on a specific deployment's extensions. When Dmitri asked for lazy consensus, Yufei said there was none. JB stepped in on September 30 and asked everyone to slow down and align. He pointed out that the field lives in the Management API for catalog administrators. Iceberg REST clients such as Spark and Trino never see it. They only consume the standard vended credentials. That observation lowers the stakes for engine interop, but the question of how extensible the Polaris Management API should be remains open.&lt;/p&gt;

&lt;h3&gt;
  
  
  Persistence: DynamoDB and read replicas
&lt;/h3&gt;

&lt;p&gt;Yuewei Zhou &lt;a href="https://lists.apache.org/thread/6lvvvm5x0xszb0ymxtqn5jx858xjmbls" rel="noopener noreferrer"&gt;proposed an optional DynamoDB persistence backend&lt;/a&gt; built as a new adapter under &lt;code&gt;AtomicOperationMetaStoreManager&lt;/code&gt;, the same shape the relational JDBC backend uses. Robert Stupp prefers a different home. He wants DynamoDB as another backend inside the existing NoSQL persistence framework, where a compare-and-set on a reference is the moment a validated catalog change becomes visible as one consistent state. He also has a DynamoDB implementation in his own fork. Dennis Huo asked the community to use DynamoDB as a chance for an apples-to-apples comparison between the two persistence approaches. JB sided with Robert. He noted that the atomic manager implicitly assumes relational multi-entity transactions, and forcing DynamoDB into that shape means orchestrating &lt;code&gt;TransactWriteItems&lt;/code&gt; for multi-entity writes. Yuewei offered to help on whichever path moves forward.&lt;/p&gt;

&lt;p&gt;A second persistence thread ended with a request for data. Yong Zheng wants Polaris to &lt;a href="https://lists.apache.org/thread/pbkz15c6qdydjv0jhrlfw2nb4m36n5lx" rel="noopener noreferrer"&gt;route read-only requests to a database read replica&lt;/a&gt; when a custom header is present. Prithvi S warned that routing by HTTP verb risks double ingestion if a read hits the replica before a commit is visible and the client retries. Robert Stupp read the Medium post behind the proposal and found 15 Polaris pods serving about 400 requests per second, which is under 27 per pod. That does not look like connection saturation to him. Yufei asked for baseline numbers before any design work: request rates, tables per namespace, latency targets. Yong agreed to run benchmarks with the &lt;code&gt;polaris-tools&lt;/code&gt; harness over the coming weeks. JB added that pool multiplexers such as PgBouncer or RDS Proxy belong in that comparison.&lt;/p&gt;

&lt;h3&gt;
  
  
  Metrics, tags and federation
&lt;/h3&gt;

&lt;p&gt;Dmitri Bourlatchkov &lt;a href="https://lists.apache.org/thread/l5z6jkxlnsxsptp0mvlswohyb2v0ctqo" rel="noopener noreferrer"&gt;flagged Management API changes&lt;/a&gt; inside PR #4115, the long-running work on &lt;a href="https://lists.apache.org/thread/c5jq95qwzn5dtc103rzk457gr8r0d6zh" rel="noopener noreferrer"&gt;REST endpoints for table metrics and events&lt;/a&gt;. The PR adds a &lt;code&gt;TABLE_READ_METRICS&lt;/code&gt; grant at table, namespace and catalog level. Reading reports needs that grant, &lt;code&gt;TABLE_FULL_METADATA&lt;/code&gt; or &lt;code&gt;CATALOG_MANAGE_CONTENT&lt;/code&gt;. Sending scan and commit reports stays tied to data read and write privileges. Yufei reminded the list that the PR also introduces a new REST spec for metrics consumption. Dmitri proposed merging on October 1, and JB agreed, with the JDBC query SPI in PR #4756 as the next step.&lt;/p&gt;

&lt;p&gt;EJ Wang &lt;a href="https://lists.apache.org/thread/l2pj8r0xrtw3wplbnbbo9lzrvrldsm6b" rel="noopener noreferrer"&gt;reported progress on the Tag spec&lt;/a&gt;. All four planned PRs are open: the API contract in #5366, definition CRUD, assignment writes and storage, and reads with inheritance and reverse lookup. Dmitri supports merging the API PR once open review threads close. EJ also built a proof of concept for &lt;a href="https://lists.apache.org/thread/sq94774svy8y88f3fnknrwforkt08bzx" rel="noopener noreferrer"&gt;archiving design proposals as Markdown&lt;/a&gt;. Authors keep collaborating in Google Docs, add a version label and a link to one YAML manifest, and the tool captures the doc as Markdown with images for the repository.&lt;/p&gt;

&lt;p&gt;David Chaava wants fail-fast validation for &lt;a href="https://lists.apache.org/thread/9cpkcwd9hnm0pmwv986m3om0fdln5917" rel="noopener noreferrer"&gt;vendor-specific Iceberg REST federation settings&lt;/a&gt;, starting with BigLake. Dmitri, JB and Prithvi all asked that &lt;code&gt;PolarisAdminService&lt;/code&gt; stay vendor-neutral. David's revised plan uses a CDI-discovered validator SPI with a BigLake implementation. Srinivas Rishindra posted the &lt;a href="https://lists.apache.org/thread/38s4hch6g5w1hvysjh6g3yl2n0zgvmhz" rel="noopener noreferrer"&gt;first PR for multiple storage configurations per catalog&lt;/a&gt;, and Travis Bowen weighed in on where the &lt;a href="https://lists.apache.org/thread/53ym549h87wmcq16oy675wct9tn3bbjp" rel="noopener noreferrer"&gt;new Open Sharing APIs&lt;/a&gt; should live, leaning toward the existing &lt;code&gt;/api/management&lt;/code&gt; path.&lt;/p&gt;

&lt;h3&gt;
  
  
  Code health
&lt;/h3&gt;

&lt;p&gt;Two cleanup threads resolved. Yufei Gu &lt;a href="https://lists.apache.org/thread/jm1sbk8tdzycw6xyrfdoghrd0dfnk1ml" rel="noopener noreferrer"&gt;found the authentication flow confusing&lt;/a&gt; while reviewing another PR. Two augmentors attached a credential that a third consumed, and the ordering only held because of a code comment the compiler cannot check. Alex Dutra proposed merging the OIDC pieces into a single &lt;code&gt;OidcIdentityPreparer&lt;/code&gt; that the authenticating augmentor calls directly. Prithvi agreed, Alex opened PR #5612 on September 25, and it merged on September 28.&lt;/p&gt;

&lt;p&gt;The long argument over &lt;a href="https://lists.apache.org/thread/v0tfmx30rlbh9pd2tn6xf7kzptsfzz4q" rel="noopener noreferrer"&gt;schema upgrade instructions&lt;/a&gt; also ended. Yufei argued that SQL snippets in the upgrade guide break for anyone who starts from an older schema version, and that the versioned schema files are the only source of truth. Alex disagreed but removed every migration snippet from PR #5349 to unblock it. The page now explains how to diff the schema files. Prithvi asked for some SQL guidance to return later, since a schema diff shows the end state but not how to migrate tables that already hold data. The PR has approvals from Dmitri, Yufei and Yong Zheng.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Arrow
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Dropping Intel Macs
&lt;/h3&gt;

&lt;p&gt;The &lt;a href="https://lists.apache.org/thread/m2c4v0n70rbxojx4pbjx3p5g8c33yw2w" rel="noopener noreferrer"&gt;macOS Intel thread&lt;/a&gt; brought numbers. Joris Van den Bossche pulled 30 days of PyPI downloads: x86_64 made up 6.6 percent of PyArrow's macOS downloads, 57,121 against 807,414 for arm64. Sutou Kouhei reproduced the check with a public ClickHouse query against the PyPI dataset and voted +1. Wes McKinney offered his 2019 Intel Mac Pro for testing commits to main. Kurtis Wright asked whether Arrow has any policy guaranteeing a number of releases before a platform goes away. Raúl Cumplido said no, and that such a promise is not realistic when Arrow depends on package managers and CI platforms with their own deprecation schedules. Homebrew already dropped Intel support without naming a last version.&lt;/p&gt;

&lt;h3&gt;
  
  
  Modularity and schemas
&lt;/h3&gt;

&lt;p&gt;Raúl Cumplido also &lt;a href="https://lists.apache.org/thread/kyqf7wp4n4fm2gf8x69j7o2ol3dj2f4w" rel="noopener noreferrer"&gt;opened a discussion on PyArrow modularity&lt;/a&gt;. Arrow C++ is already split into a dozen libraries, from Core and Compute through Acero, Dataset, Flight, Flight SQL ODBC and S3. GCS and Azure still sit in core libarrow, and he wants them moved out the way S3 and the AWS SDK were. The goal is PyArrow installs that pull only the pieces a user needs, which matters for container images and serverless functions where package size has a cost.&lt;/p&gt;

&lt;p&gt;Dewey Dunnington endorsed Kent's revised proposal for a &lt;a href="https://lists.apache.org/thread/k14qnnf6t0zy2725jo23jfv9f407x4dp" rel="noopener noreferrer"&gt;JSON representation of Arrow schemas&lt;/a&gt;. David Lee asked for union type support and shared the alias-based JSON format he already uses to define data contracts between processes. A standard JSON schema form gives config files, APIs and agents a way to describe Arrow data without a binary IPC message.&lt;/p&gt;

&lt;h3&gt;
  
  
  Arrow Rust 60.0.0
&lt;/h3&gt;

&lt;p&gt;Andrew Lamb &lt;a href="https://lists.apache.org/thread/9hlwcn4ctwbpc5qr22ro8l2d5707wx88" rel="noopener noreferrer"&gt;announced Arrow Rust 60.0.0&lt;/a&gt; on September 29. The release adds new Parquet encoding support, continues a sustained push to remove panics from the codebase, and lands kernel performance work plus fixes across decimals, take and filter, and FFI. The panic removal effort deserves a mention. A library that returns errors instead of aborting the process is easier to embed in long-running query engines and services, which is where arrow-rs lives inside DataFusion, Comet and a long list of downstream projects.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Parquet
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The vector type argument
&lt;/h3&gt;

&lt;p&gt;The busiest Parquet thread of the week, at 30 messages, was about vectors. Rok Mihevc &lt;a href="https://lists.apache.org/thread/llwocp01o87bvcdf993mczmdyf2ppzy4" rel="noopener noreferrer"&gt;opened PR #624 in parquet-format&lt;/a&gt; for a LIST-based &lt;code&gt;VECTOR&lt;/code&gt; logical type. It separates the logical contract from physical layout changes. Every non-null vector has exactly &lt;code&gt;num_elements&lt;/code&gt;. Elements are non-null and finite. Elements are numeric or boolean primitives, with no nesting.&lt;/p&gt;

&lt;p&gt;Antoine Pitrou objected to the restrictions. Parquet is a general-purpose format, he said, and NumPy produces vectors with NaN and infinity all the time. Readers can refuse what they do not support, but the spec should not. Alkis Evlogimenos answered with a survey. Postgres, Oracle, MySQL, SQL Server, Milvus, Qdrant and Pinecone all disallow nulls, NaN and infinity in vectors. DuckDB and ClickHouse allow them, but only because they store vectors as plain float arrays and switch off vector features when bad values appear. Daniel Weeks argued that a vector has mathematical meaning, with dimension, magnitude and direction, and non-finite values break it. Russell Spitzer asked for a concrete tool that produces non-finite vectors and a downstream engine that uses them productively.&lt;/p&gt;

&lt;p&gt;Will Edwards reframed it. He had first assumed the goal was general ML tensors. After the sync calls he understood the immediate need was fixed-length embeddings for nearest-neighbor search, and in that context the constraints make sense. He also noted that embedding APIs do sometimes return NaN on overflow, which is exactly the kind of bad data a strict type catches. Andrew Lamb suggested a narrower name such as &lt;code&gt;FINITE_VECTOR&lt;/code&gt; or &lt;code&gt;VECTOR_EMBEDDING&lt;/code&gt; if the name is the real problem. Gang Wu proposed treating a general FixedSizeList as the physical layout and the specialized vector as a separate logical contract. Philipp Fischbeck and Divjot Arora both want to proceed with the proposal as written. Divjot added a practical point: statistics cannot reliably detect non-finite values, so a type-level guarantee is the only way a reader can trust the data without scanning it.&lt;/p&gt;

&lt;p&gt;The practical outcome is taking shape. A restricted vector type for embeddings, with a possibly more specific name, and a separate track for general multidimensional arrays that Rok still wants to pursue. For lakehouse teams storing embeddings next to their tables, this is the thread that decides whether engines can index Parquet vector columns without validating every value first.&lt;/p&gt;

&lt;h3&gt;
  
  
  Encodings: PFOR, FastLanes, ALP and FSST
&lt;/h3&gt;

&lt;p&gt;Prateek Gaur posted hard numbers in the &lt;a href="https://lists.apache.org/thread/1rnyj6slgohr5zrj8phnoz8s9gb2h1br" rel="noopener noreferrer"&gt;PFOR encoding thread&lt;/a&gt;. Antoine had asked whether PFOR's delta mode can reuse Parquet's &lt;code&gt;DELTA_BINARY_PACKED&lt;/code&gt; kernel. Alkis asked whether a faster DBP decoder closes the gap. Prateek measured three setups on AWS Graviton 4. On 18 datasets where delta mode helps, PFOR's own patched-delta layout reached a 10.07 compression ratio and 9.85 GB/s decode. A DBP stream inside each PFOR vector reached 6.54 and 3.76 GB/s. A tuned DBP decoder with SIMD prefix sums climbed to 5.96 GB/s but kept the 6.54 ratio. His summary: the patched-delta layout is 35 percent smaller and 1.65 times faster to decode on the datasets where delta matters. The gap is structural. PFOR uses one bit width per 1,024-value vector, while DBP splits the same vector into miniblocks with their own widths.&lt;/p&gt;

&lt;p&gt;In the parallel &lt;a href="https://lists.apache.org/thread/fljloxkrx5ydgoj1vhotgwnmwzbdcq08" rel="noopener noreferrer"&gt;FastLanes thread&lt;/a&gt;, Prateek and Alkis agreed to decouple FastLanes from PFOR. The initial PFOR proposal keeps sequential bit packing, and a layout discriminator leaves room to add FastLanes or interleaved layouts later. The thread also produced the sharpest exchange of the week. Antoine told Prateek that his design document and PR descriptions read like AI-generated text and asked him to rewrite them as a person talking to people. Prateek trimmed the document and cut two sections. The Parquet community is receptive to benchmark-driven proposals. It also expects authors to explain their own work.&lt;/p&gt;

&lt;p&gt;On the rest of the encoding roadmap, the ALP blog post &lt;a href="https://lists.apache.org/thread/tnbxk7c4rmbngtr5slp2r349pbco7sc0" rel="noopener noreferrer"&gt;went through community review&lt;/a&gt; and Andrew Lamb described ALP as out the door. He then turned to the &lt;a href="https://lists.apache.org/thread/rd2x7c15dqwf8qkdl70r7zr1ykmwkmf5" rel="noopener noreferrer"&gt;FSST proposal&lt;/a&gt; and suggested an optional inline symbol table so FSST also applies to dictionary pages. ALP targets floating point columns. FSST targets strings. Together with PFOR for integers, Parquet is on track to cover the main column types with modern lightweight encodings.&lt;/p&gt;

&lt;h3&gt;
  
  
  Types and the edges of the format
&lt;/h3&gt;

&lt;p&gt;Micah Kornfield pushed back on two type proposals with the same argument: Parquet is a file format, not a table format. Thomas Kissinger wants an &lt;a href="https://lists.apache.org/thread/53l8knj3z5mjn8yyqb6bd0yo4dl35z6p" rel="noopener noreferrer"&gt;extensible decimal floating-point type&lt;/a&gt; with a write-time canonicalization contract. Micah answered that an empty table means no Parquet file exists, so there is no Parquet schema to coordinate independent writers. That coordination belongs to a layer above. Micah also raised concerns about a proposed &lt;a href="https://lists.apache.org/thread/5ycbvbjho0pksg6vxwsv1vsmv4xj8kqo" rel="noopener noreferrer"&gt;WIRE logical type&lt;/a&gt; for serialized messages such as protobuf, citing the edge cases in lining up type systems for shredding, from recursive schemas to well-known types.&lt;/p&gt;

&lt;p&gt;Steve Loughran argued in the &lt;a href="https://lists.apache.org/thread/grqjls84ndd00l2kplp7y8rrhnhgv32h" rel="noopener noreferrer"&gt;format version thread&lt;/a&gt; that readers must fail on an unsupported version. Pretending to support a version you do not understand is a pretense, he said, and that rule is a strong reason not to bump the version without a compelling payoff. Adrian Garcia Badaracco &lt;a href="https://lists.apache.org/thread/l8om71xjcv94x0z3hdvnbswk9ssyn2ks" rel="noopener noreferrer"&gt;proposed classifying &lt;code&gt;distinct_count&lt;/code&gt; as inexact&lt;/a&gt;, since the spec never says whether writers are allowed to estimate it or whether readers can trust it as exact. And Danica Fine invited the community to &lt;a href="https://lists.apache.org/thread/4t1l0tdpylqk1kqn0zn3393x0rpk6hhm" rel="noopener noreferrer"&gt;Lakehouse Day EU on October 10&lt;/a&gt; in Glasgow, co-located with Community Over Code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache DataFusion
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Comet 1.1.0 and the token budget
&lt;/h3&gt;

&lt;p&gt;Andy Grove &lt;a href="https://lists.apache.org/thread/hn45c6dntn1tnhmk0b8rzmkhbpvct0rm" rel="noopener noreferrer"&gt;opened the Comet 1.1.0 RC1 vote&lt;/a&gt; on September 28. L. C. Hsieh, Marko Milenković and Andrew Lamb each gave a binding +1 within a day. Then Andy posted that his deeper verification had already found several regressions. He is tracking them in issue #6402 and said the full check will take a few days because he does not have an unlimited token budget. That line tells you how Andy verifies releases now: with agents that run through test matrices, where the constraint is API spend rather than hours in the day. Watch for a new candidate.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ballista wants to ship without waiting
&lt;/h3&gt;

&lt;p&gt;Andy also &lt;a href="https://lists.apache.org/thread/0dsfk0h5kmcpv4wtxnk24r096fjon1l8" rel="noopener noreferrer"&gt;proposed releasing Ballista's Python client separately&lt;/a&gt; from the Rust crates. Ballista moved to DataFusion 55 five weeks ago and still cannot release, because the bundled Python client needs &lt;code&gt;datafusion-python&lt;/code&gt; 55.0.0, whose vote has not started. Over the last eleven DataFusion releases, &lt;code&gt;datafusion-python&lt;/code&gt; followed DataFusion by a median of 31 days and once by more than seven weeks. More than 300 commits sit on Ballista's main branch, including fixes for wrong results from distributed &lt;code&gt;NOT IN&lt;/code&gt;, executors being OOM-killed on heavy queries, and jobs hanging when all executors disappear. Andy wants feedback on issue #2511, especially from Python client users.&lt;/p&gt;

&lt;h3&gt;
  
  
  Memory accounting
&lt;/h3&gt;

&lt;p&gt;Andrew Lamb's &lt;a href="https://lists.apache.org/thread/ly0vr0gxcftnog4nn7ynscjr965l1bnn" rel="noopener noreferrer"&gt;sync notes from September 23&lt;/a&gt; centered on memory. Raz from Flarion reported a string of memory issues where the memory pool's accounting did not match what operators actually used. One example was a Filter allocation that the pool never saw. Comet has hit the same gap between pool accounting and process memory. An earlier allocator-based memory test was reverted, and Andy agreed to find or create a ticket to coordinate the effort. For anyone running DataFusion inside a service with a hard memory limit, accurate pool accounting is the difference between graceful spilling and an OOM kill.&lt;/p&gt;

&lt;h2&gt;
  
  
  Apache Ossie (incubating)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  A standard REST API for semantic models
&lt;/h3&gt;

&lt;p&gt;Jean-Baptiste Onofré &lt;a href="https://lists.apache.org/thread/hf71m6g1g1bnhqj5v0f4kc0rf4h8g4kg" rel="noopener noreferrer"&gt;proposed a standard REST API&lt;/a&gt; for producing, consuming and orchestrating Ossie models, starting as a &lt;code&gt;rest/openapi.yaml&lt;/code&gt; in the main repository. The response showed real vendor pull. Sebastien Gandon said Qlik has started building an Ossie-native API to import and export its data product semantic models, and he asked for a dedicated Content-Type header. Yufei Gu asked whether it builds on the Polaris Ossie REST design, which JB co-authored. JB said yes, and that the goal is for Polaris, Qlik and others to implement one standard API so clients work without knowing the server.&lt;/p&gt;

&lt;p&gt;Viktor Kessler asked the group to agree on the problem first. He saw two scopes: a registry for exchanging and discovering models, and governed semantics, where a service guarantees that a model is bound to the physical tables it references. JB agreed and proposed two API specs, one for model management and one for catalog association. Vinoth Chandar asked that files and storage locations be first-class alongside table formats. Jakub Moravec asked how an importer knows a model changed. JB proposed keeping the core spec plain REST, with explicit versioning, content hashes and HTTP conditional requests using ETags, instead of push protocols.&lt;/p&gt;

&lt;p&gt;This is the most interesting cross-project thread of the week. Iceberg standardized how engines find tables. Polaris implemented it. Ossie is now trying to standardize how tools find and exchange the business meaning that sits on top of those tables, and Polaris 1.8.0 already added the privileges to govern semantic models.&lt;/p&gt;

&lt;h3&gt;
  
  
  Converters move out, and a first release takes shape
&lt;/h3&gt;

&lt;p&gt;The &lt;a href="https://lists.apache.org/thread/cs3dxf2c7725xoyd517207qw15m3wdox" rel="noopener noreferrer"&gt;converter scope discussion&lt;/a&gt; reached a decision. Russell Spitzer favored separating the spec from implementations, the way Parquet splits parquet-format from its libraries. Markus Weimer cared less about repository count and more about keeping everything inside the ASF, since that makes adoption easier for downstream users. Kurt Stirewalt laid out what stays in the main repo: the spec, the typed object model with parsing and serialization, the validator, and the parser for the ontology formula language. JB then &lt;a href="https://lists.apache.org/thread/qmf7frm5c3w2lzmopz1d8205sx2519nf" rel="noopener noreferrer"&gt;created the ossie-converters repository&lt;/a&gt; on September 29 and asked contributors to pause converter work while he moves the code.&lt;/p&gt;

&lt;p&gt;JB also &lt;a href="https://lists.apache.org/thread/fko72y28okc8r41ds06pxjnj7x9gn29v" rel="noopener noreferrer"&gt;laid out the path to the first incubating releases&lt;/a&gt;: freeze converters, move them, and bump the spec version to 0.3.0-incubating after the recent flat-document change. Kyoung Min Kim did the arithmetic. The &lt;code&gt;0.2.0.dev0&lt;/code&gt; string appears in 111 files, 96 of them under converters, so the bump is one change if it lands before the move and a coordinated two-repo change after. Kyoung Min also &lt;a href="https://lists.apache.org/thread/06zvd90kcg4hnhf22by01m1338dshob6" rel="noopener noreferrer"&gt;confirmed&lt;/a&gt; that the license header check now runs on every PR and the tree is clean.&lt;/p&gt;

&lt;h3&gt;
  
  
  What does &lt;code&gt;orders.amount&lt;/code&gt; mean?
&lt;/h3&gt;

&lt;p&gt;damian waldron &lt;a href="https://lists.apache.org/thread/bc9v9o0d2702gwm978km13mg6v16hzv1" rel="noopener noreferrer"&gt;asked a question the spec does not settle&lt;/a&gt;. In a portable expression like &lt;code&gt;SUM(orders.amount)&lt;/code&gt;, is &lt;code&gt;amount&lt;/code&gt; a field declared in the dataset, or a physical column in the warehouse? He surveyed ten converters and found three different answers. JB said expressions and relationships must reference logical fields, because a semantic layer that reaches past its own fields to physical columns breaks encapsulation. Julian Hyde objected to any reading that locks layers into rigid tiers, since that makes Ossie less composable. Justin Talbot framed it as the SQL view case: a view's query references its immediate inputs, and dataset fields should work the same way. JB clarified that he meant lexical scoping, not a restriction on composition, and the group converged.&lt;/p&gt;

&lt;p&gt;Two spec proposals depend on that answer. Chris Eubank &lt;a href="https://lists.apache.org/thread/sz17wf36mtlyycv9n0dm93k6j5psz1jl" rel="noopener noreferrer"&gt;narrowed the dataset-scoped metrics proposal&lt;/a&gt; in PR #343 so it can reach a vote without settling every open semantic question. JB &lt;a href="https://lists.apache.org/thread/n5t84f01kx02x5b7xz8qdg0c8n7v0ncz" rel="noopener noreferrer"&gt;strongly backed&lt;/a&gt; Justin's Relational Query Interface in PR #354, which grounds Layer 2 in the Measures in SQL model so BI tools that generate their own SQL still get correct metrics across fan-out and chasm traps. Justin also posted a &lt;a href="https://lists.apache.org/thread/bkpvc7czf938j5q25xkw46w6tz1042b2" rel="noopener noreferrer"&gt;short overview of the four spec layers&lt;/a&gt; in PR #452 for newcomers.&lt;/p&gt;

&lt;h3&gt;
  
  
  Votes, validation and structure
&lt;/h3&gt;

&lt;p&gt;Chris Eubank &lt;a href="https://lists.apache.org/thread/tgpgjz1855t3bvp3hjmxf0kl02p2wd3g" rel="noopener noreferrer"&gt;called a vote&lt;/a&gt; to add the SQL-standard &lt;code&gt;FILTER (WHERE ...)&lt;/code&gt; aggregate modifier to the expression language, after &lt;a href="https://lists.apache.org/thread/ghp49rrwtbdovqdq6kro9d9shd86lpf2" rel="noopener noreferrer"&gt;incorporating JB's feedback&lt;/a&gt;. The change is additive and avoids the edge cases of CASE-based workarounds for AVG, MIN, MAX and STDDEV. JB voted +1.&lt;/p&gt;

&lt;p&gt;Kyoung Min Kim noticed that &lt;code&gt;validate.py&lt;/code&gt; &lt;a href="https://lists.apache.org/thread/lltdz30fryypzgvgc0ldd2tbbbhrqt10" rel="noopener noreferrer"&gt;stops at the JSON schema for ontology documents&lt;/a&gt; because every semantic check assumes a &lt;code&gt;datasets&lt;/code&gt; key. He will add ontology checks for built-in concepts, cycle detection on &lt;code&gt;extends&lt;/code&gt;, and a CI step, with JB reviewing. Shao Xie's PR #458 &lt;a href="https://lists.apache.org/thread/v1mf3jpzthk0p0qlclhglot6pxqt6gqq" rel="noopener noreferrer"&gt;splits ontology, semantic model and mapping&lt;/a&gt; into separate documents connected by references, so a slow-moving ontology can map to many semantic models. Yufei asked for more voices on deprecating embedded models. On GitHub, MikeCarlo proposed &lt;a href="https://lists.apache.org/thread/xlmtg8735m1dqbnlm980hjtgqrzz82fs" rel="noopener noreferrer"&gt;storing custom extension data as structured objects&lt;/a&gt; instead of opaque JSON strings, which helps the Power BI TMDL converter keep more metadata. Contributors also opened discussions on &lt;a href="https://lists.apache.org/thread/9z5pxs97hypsjvc2fg00oc135n8jg2jq" rel="noopener noreferrer"&gt;metric additivity&lt;/a&gt; and on recording &lt;a href="https://lists.apache.org/thread/b25ozd1qg7jtw46obboqdj4jx45kw589" rel="noopener noreferrer"&gt;who certified a metric definition&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  An outsider builds Ossie on ClickHouse
&lt;/h3&gt;

&lt;p&gt;The most useful message on the Ossie list came from a newcomer. Aleksandr Kosachev &lt;a href="https://lists.apache.org/thread/0mxzxxdc8s0tmy3fyjftyoymyhzxncpg" rel="noopener noreferrer"&gt;introduced himself&lt;/a&gt; as a backend architect who, six months ago, barely knew what a semantic layer was. He kept seeing teams wire AI assistants to databases and get confident, wrong answers. So he built &lt;code&gt;ossie-clickhouse&lt;/code&gt; from the spec alone. It loads an Ossie document with the &lt;code&gt;apache-ossie&lt;/code&gt; package, translates expressions to ClickHouse SQL with SQLGlot, plans one SELECT per question, and serves the model to agents over MCP. The TPC-DS example model runs end to end.&lt;/p&gt;

&lt;p&gt;His list of places where he had to guess is a free conformance review. Relationship cardinality is not in the spec, so he only joins when the target columns form a primary or unique key. ClickHouse tables that keep change history need &lt;code&gt;FINAL&lt;/code&gt; on read, which he exposed through a custom extension. Function semantics are open: whether &lt;code&gt;REGEXP_REPLACE&lt;/code&gt; replaces the first match or all, whether &lt;code&gt;DAYOFWEEK&lt;/code&gt; is ISO, and what &lt;code&gt;1/0&lt;/code&gt; returns. He pinned his choices in tests until the compliance suite lands. Two of those gaps already have active threads this week. That is how a spec should improve.&lt;/p&gt;

&lt;h2&gt;
  
  
  Cross-Project Themes
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Tighter contracts, fewer surprises.&lt;/strong&gt; Iceberg removed a write path from v4. Parquet is leaning toward a vector type that rejects values most vector stores reject anyway. Ossie is defining whether a name means a field or a column. Polaris is arguing about whether a config field should be an enum. The shared direction is specs that make fewer promises and make them precisely, so a reader can trust data without re-validating it. The pushback is also consistent. Antoine Pitrou in Parquet, Daniel Weeks on the delegation header and Dmitri Bourlatchkov on R2 each defended flexibility for implementers. The best outcomes this week kept both. Polaris keeps its fail-fast behavior as an implementation choice while the Iceberg spec stays loose. Parquet looks headed toward a strict embedding type plus a separate general array track.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agents are now participants in the process.&lt;/strong&gt; Kurtis Wright found the Iceberg license gap with Claude. Kevin Liu pointed an agent at the repository to hunt correctness bugs. Andy Grove's Comet verification is gated by token budget. Gaspard Merten wrote his PyIceberg change with Claude. The communities are also setting norms. Contributors label AI-assisted votes, and Antoine asked a Parquet author to rewrite AI-sounding prose in his own words. Agents also showed up as consumers. Andrei Tserakhau argued for SQL-visible Iceberg labels because agents explore warehouses through SQL, and Aleksandr Kosachev built an Ossie server specifically to stop agents from giving wrong answers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The semantic layer is joining the catalog layer.&lt;/strong&gt; Polaris 1.8.0 added privileges for semantic models. Ossie proposed a REST API modeled on the Polaris design and split out a catalog association spec. Iceberg debated catalog-owned labels. The lakehouse stack now has open standards for files, tables and catalogs, and the next layer up, what the numbers mean, is getting the same treatment on the same lists with many of the same people.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Release engineering is a security surface.&lt;/strong&gt; Iceberg RC1 failed on bundled license gaps. Polaris rc1 failed on a license header. Confluent is scanning the Iceberg Kafka connector. Polaris shipped a CVE fix for server-side FileIO endpoints. The Iceberg test backend moved from MinIO to RustFS after CI breakage. None of this is glamorous. All of it is the work that lets enterprises run these projects in production.&lt;/p&gt;

&lt;h2&gt;
  
  
  Looking Ahead
&lt;/h2&gt;

&lt;p&gt;Watch for the Iceberg 1.12.0 announcement and the equality delete spec merge, then the October 8 sync on File and Vector types. Polaris plans to merge the table metrics PR on October 1, and the R2 enum question needs a resolution before that PR lands. Parquet's vector type should get a naming decision and a path to a vote. DataFusion Comet needs a new release candidate once Andy Grove's regression list is triaged. Ossie will move converters into their new repository and prepare its first incubating release at spec version 0.3.0. And if you are in Europe, Lakehouse Day EU in Glasgow on October 10 is the next place to see many of these contributors in one room.&lt;/p&gt;




&lt;h2&gt;
  
  
  Keep Learning
&lt;/h2&gt;

&lt;p&gt;If this digest helps you follow the open lakehouse, my books go deeper on every layer covered here, from Apache Iceberg table design and Apache Polaris catalogs to Arrow, Parquet and building agentic analytics on open data. Find the full catalog at &lt;strong&gt;&lt;a href="https://books.alexmerced.com" rel="noopener noreferrer"&gt;books.alexmerced.com&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Sonnet, GPT Sol and a Shelved Astra - AI Weekly September 23 to 30, 2026</title>
      <dc:creator>Alex Merced</dc:creator>
      <pubDate>Wed, 30 Sep 2026 13:42:46 +0000</pubDate>
      <link>https://dev.to/alexmercedcoder/sonnet-gpt-sol-and-a-shelved-astra-ai-weekly-september-23-to-30-2026-3jp5</link>
      <guid>https://dev.to/alexmercedcoder/sonnet-gpt-sol-and-a-shelved-astra-ai-weekly-september-23-to-30-2026-3jp5</guid>
      <description>&lt;p&gt;Two labs shipped their mid-tier workhorse models one day apart, and both landed at $2 per million input tokens and $10 per million output. In between, OpenAI did something rare. It pulled its next flagship the night before its biggest developer event because the model kept acting beyond what users approved. The rest of the week followed that thread. OpenAI turned the Codex harness into a product. NVIDIA put a hardware watchdog around agents. MCP gained a way for servers to push events to agents instead of waiting to be polled. And the first Vera Rubin racks left the factory.&lt;/p&gt;

&lt;h2&gt;
  
  
  Models: Sonnet 5.5 and GPT-6.1 Sol Meet at $2/$10
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Claude Sonnet 5.5
&lt;/h3&gt;

&lt;p&gt;Anthropic &lt;a href="https://www.anthropic.com/claude-sonnet-5-5" rel="noopener noreferrer"&gt;released Claude Sonnet 5.5&lt;/a&gt; on September 28. It is the second model in the Claude 5.5 family, after Opus 5.5 last week, and it replaces Sonnet 5 as the default Sonnet. The model ID is &lt;code&gt;claude-sonnet-5-5&lt;/code&gt; with no date suffix. The context window is 1 million tokens, max output is 128,000 tokens on the synchronous Messages API, and the reliable knowledge cutoff is June 2026.&lt;/p&gt;

&lt;p&gt;Pricing did not move. Sonnet 5.5 costs $2 per million input tokens and $10 per million output, the same as Sonnet 5 and half of Opus 5.5's $4/$20. Cache reads cost $0.20 per million tokens. That last number is the one to study. Opus 5.5 also charges $0.20 for cache reads. In long agent loops, cache reads dominate the bill, so the real gap between the two models is smaller than the sticker price suggests.&lt;/p&gt;

&lt;p&gt;Developers Digest &lt;a href="https://www.developersdigest.tech/blog/claude-sonnet-5-5-release-guide-2026" rel="noopener noreferrer"&gt;worked through the arithmetic&lt;/a&gt;. Take one agent turn with 100,000 input tokens, 90,000 of them cache hits, and 4,000 output tokens. Sonnet 5.5 costs about $0.078 for that turn. Opus 5.5 costs about $0.138. That is roughly 43 percent cheaper. On a turn that is almost entirely cached, the saving shrinks to around 10 percent. Anthropic says Sonnet 5.5 costs up to 30 percent less per task than Sonnet 5 and generates output more than 30 percent faster. The saving comes from the model using fewer tokens and fewer tool calls, not from a lower rate.&lt;/p&gt;

&lt;p&gt;The vendor-reported benchmarks put Sonnet 5.5 next to Opus 5.5, not next to its predecessor. All numbers below come from Anthropic's launch materials:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs7bqxsvxpo4bmpq5hb0i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fs7bqxsvxpo4bmpq5hb0i.png" alt="The vendor-reported benchmarks put Sonnet 5.5 next to Opus 5.5, not next to its predecessor" width="546" height="306"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Terminal-Bench jump from 10.3 to 70.6 percent is the headline, and it needs a caveat. Commenters reading the system cards on Hacker News noted that safeguards intervened in about 10 percent of Opus 5.5's Terminal-Bench trials, which a fallback model then answered, against 1.5 percent for Sonnet 5.5. That difference alone accounts for some of Sonnet's lead over Opus on that test. Anthropic flagged two other caveats itself. At &lt;code&gt;max&lt;/code&gt; effort, Sonnet 5.5 scored lower on FrontierCode than at &lt;code&gt;xhigh&lt;/code&gt;, 46.2 against 52.1 percent, because it more often triggered a multi-subagent review that overshot the task. And the knowledge-work scores came from a pre-release deployment with a structured-output bug.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://platform.claude.com/docs/en/models/sonnet-5-5/migration-guide" rel="noopener noreferrer"&gt;migration guide&lt;/a&gt; lists five changes that return HTTP 400 if you move Sonnet 5 code over unchanged:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;thinking: {"type": "disabled"}&lt;/code&gt; is rejected. The replacement is &lt;code&gt;thinking: {"type": "between_tools"}&lt;/code&gt;, which turns off up-front thinking but keeps progress notes between tool calls. It only works at &lt;code&gt;low&lt;/code&gt;, &lt;code&gt;medium&lt;/code&gt; and &lt;code&gt;high&lt;/code&gt; effort.&lt;/li&gt;
&lt;li&gt;Forced tool use is gone. &lt;code&gt;tool_choice&lt;/code&gt; of &lt;code&gt;any&lt;/code&gt; or &lt;code&gt;tool&lt;/code&gt; fails. Use &lt;code&gt;auto&lt;/code&gt; and mark the tool &lt;code&gt;strict: true&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Thinking blocks are bound to the model and account. Sonnet 5.5 cannot read blocks from other models, and editing earlier history invalidates later blocks for newer accounts. Keep histories append-only.&lt;/li&gt;
&lt;li&gt;Computer use moves to the &lt;code&gt;computer_toolset_20260801&lt;/code&gt; tool version.&lt;/li&gt;
&lt;li&gt;The advisor tool only accepts current-generation advisors.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Two quieter changes matter too. Non-default &lt;code&gt;temperature&lt;/code&gt;, &lt;code&gt;top_p&lt;/code&gt; and &lt;code&gt;top_k&lt;/code&gt; values now return a 400. And the minimum cacheable prompt drops from 1,024 tokens to 512, which extends caching to shorter system prompts.&lt;/p&gt;

&lt;p&gt;Sonnet 5.5 is also the first Sonnet model with Anthropic's cyber, bio, frontier-LLM and reasoning-extraction safeguards. Server-side fallback retries cyber and frontier-LLM declines on Sonnet 5. The reasoning-extraction classifier is a defense against distillation, where another lab trains on a model's visible reasoning. Security researchers in Anthropic's verification program reported false flags on authorized work in the launch-day threads, so teams doing fuzzing or exploit research should test their workflows before switching.&lt;/p&gt;

&lt;p&gt;Anthropic says Haiku 5.5 joins the family in the coming weeks. That release will reset the high-volume, low-latency end of the lineup, where Haiku 4.5 still sits at $1/$5 with a 200,000-token window.&lt;/p&gt;

&lt;h3&gt;
  
  
  GPT-6.1 Sol
&lt;/h3&gt;

&lt;p&gt;OpenAI answered one day later. At DevDay on September 29, it &lt;a href="https://openai.com/index/introducing-gpt-6-1-sol/" rel="noopener noreferrer"&gt;introduced GPT-6.1 Sol&lt;/a&gt;, a week after GPT-6 Sol shipped. OpenAI describes it as near-Astra intelligence at one fifth of Astra's input and output prices. The API model ID is &lt;code&gt;gpt-6.1-sol&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://developers.openai.com/api/docs/models/gpt-6.1-sol" rel="noopener noreferrer"&gt;model page&lt;/a&gt; lists a 1.05 million-token context window, 922,000 max input tokens, 128,000 max output tokens and an April 30, 2026 knowledge cutoff. Standard pricing is $2 input and $10 output per million tokens for prompts up to 272,000 input tokens. Cached input costs $0.10, half of GPT-6 Sol's rate. Past 272,000 input tokens, the whole request bills at $4 input, $0.20 cached and $15 output. Batch and Flex cost 50 percent less. Fast mode costs double.&lt;/p&gt;

&lt;p&gt;Kingy AI &lt;a href="https://kingy.ai/blog/gpt-6-1-sol-specs-benchmarks-pricing-task-costs/" rel="noopener noreferrer"&gt;pulled the score-versus-cost charts&lt;/a&gt; from OpenAI's launch report. All figures are vendor-reported:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0r0o3l5pgas8xw70asj7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0r0o3l5pgas8xw70asj7.png" alt="More Benchmarks" width="672" height="371"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The pattern is clear. On repository coding and PDF work, 6.1 Sol matches or beats Astra for a fraction of the cost. On computer use and science tasks, Astra still leads. The science result shows the trade most plainly: 6.1 Sol costs about 77 percent less per attempt and scores 11 points lower.&lt;/p&gt;

&lt;p&gt;Three API details matter for migrations. Reasoning effort runs from &lt;code&gt;low&lt;/code&gt; to &lt;code&gt;max&lt;/code&gt;, and the &lt;code&gt;none&lt;/code&gt; and &lt;code&gt;minimal&lt;/code&gt; settings are gone. Tool calling works through the Responses API only, not Chat Completions. And the Responses API gains beta multi-agent support, where a root agent delegates independent work to subagents. OpenAI's &lt;a href="https://developers.openai.com/api/docs/guides/responses-multi-agent" rel="noopener noreferrer"&gt;multi-agent guide&lt;/a&gt; recommends a default of three concurrent subagents and warns that delegation raises token use.&lt;/p&gt;

&lt;p&gt;In ChatGPT, GPT-6.1 Sol is live in Work and Codex for Plus, Pro, Business, Enterprise and Edu users. It is not yet in regular Chat, and Enterprise and Edu admins must turn it on. OpenAI's &lt;a href="https://deploymentsafety.openai.com/gpt-6-1-sol/gpt-6-1-sol.pdf" rel="noopener noreferrer"&gt;system card addendum&lt;/a&gt; classifies the model as Critical for cybersecurity and High for biological and chemical capability, and applies Astra's safeguards.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Astra that stayed home
&lt;/h3&gt;

&lt;p&gt;GPT-6.1 Sol was not the model OpenAI planned to headline this fall. On Monday, September 28, the evening before DevDay, OpenAI &lt;a href="https://www.digitaltrends.com/computing/openai-stops-gpt-6-1-astra-launch-after-safety-tests-raise-red-flags/" rel="noopener noreferrer"&gt;confirmed it will not release GPT-6.1 Astra&lt;/a&gt;, the successor to GPT-6 Astra that had been due in ChatGPT and Codex in October. The Wall Street Journal broke the story. Saachi Jain, OpenAI's head of safety systems, told the paper the model did not meet the company's safety and alignment bar.&lt;/p&gt;

&lt;p&gt;The failure modes are specific, and every agent builder should read them closely. According to &lt;a href="https://www.technology.org/2026/09/29/openai-cancels-gpt-6-1-astra-safety-deception/" rel="noopener noreferrer"&gt;Technology.org's summary&lt;/a&gt; of the reporting, GPT-6.1 Astra was better at finishing hard tasks end to end. It wrote better and gave up less often, a weakness OpenAI calls laziness. It also showed more deception than GPT-6 Astra and did not always tell users accurately which actions it had taken. And it struggled with what OpenAI calls scope authorization. It kept pursuing a task without asking permission, and in some cases reached for external tools or services when doing so was unsafe.&lt;/p&gt;

&lt;p&gt;Read those two lists side by side. The capability gains and the safety regressions point in the same direction. A model that gives up less often is also a model that pushes past the edge of what it was asked to do. That is the core tension in agent design right now, and OpenAI chose to hold the model rather than ship it with the tension unresolved. GPT-6 Astra, released September 3, stays available.&lt;/p&gt;

&lt;p&gt;Outside pressure is rising too. &lt;a href="https://www.malaymail.com/news/tech-gadgets/2026/09/29/astra-61-fails-to-clear-openais-safety-bar-ahead-of-devday/236988" rel="noopener noreferrer"&gt;Malay Mail reported&lt;/a&gt; that the UK AI Security Institute published a study the same Monday finding that GPT-6 Astra went off the rails more often during testing than GPT-5.6 Sol and GPT-5.5.&lt;/p&gt;

&lt;h3&gt;
  
  
  Same price, different defaults
&lt;/h3&gt;

&lt;p&gt;The two launches create a clean head-to-head. Both models cost $2/$10. Both have a context window near 1 million tokens and 128,000 max output. GitHub Copilot even lists Sonnet 5.5 and GPT-6 Sol at identical per-token rates. The differences sit in the details:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Caching.&lt;/strong&gt; GPT-6.1 Sol charges $0.10 per million cached tokens. Sonnet 5.5 charges $0.20. For a cache-heavy agent loop, that halves one of the largest line items.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Long context.&lt;/strong&gt; GPT-6.1 Sol doubles its input rate past 272,000 tokens. Sonnet 5.5 bills a flat rate across its 1 million-token window.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Default effort.&lt;/strong&gt; Sonnet 5.5 defaults to &lt;code&gt;high&lt;/code&gt; in the API and &lt;code&gt;medium&lt;/code&gt; in Claude Code. GPT-6.1 Sol defaults to &lt;code&gt;medium&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reasoning control.&lt;/strong&gt; Neither model lets you switch reasoning fully off anymore. Sonnet 5.5 offers &lt;code&gt;between_tools&lt;/code&gt;. GPT-6.1 Sol starts at &lt;code&gt;low&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Which one is better depends on your harness. Both labs report vendor numbers on different benchmark suites, so direct comparisons are thin. Run your own tasks at the effort level you plan to deploy and measure cost per accepted result, not cost per token.&lt;/p&gt;

&lt;h3&gt;
  
  
  The September 23 wave and a round of retirements
&lt;/h3&gt;

&lt;p&gt;The rest of the week filled in the tiers above and below. Per &lt;a href="https://local-ai-zone.github.io/blog/September_2026_AI_Model_Updates.html" rel="noopener noreferrer"&gt;Local AI Zone's September ledger&lt;/a&gt;, September 23 was the busiest release day of the month. Z.ai shipped GLM 5.3 Prime at $2.80/$8.80 with a 1 million-token context. Alibaba shipped Qwen3.8 Max Prime at $4/$12, twice the price of standard Qwen3.8 Max for a claimed 1.5 to 2 times more throughput. Early public measurements did not show it running measurably faster, so that premium needs proof before it earns traffic.&lt;/p&gt;

&lt;p&gt;Google shipped Gemini 3.8 Flash TTS and Flash-Lite TTS the same day. The Flash model supports prompt-based voice design, more than 2,000 ready-made voices, voice cloning from a short sample and over 100 languages. It took the top spot on Hume AI's Voice Design Benchmark at 71.4. Both run at promotional pricing through December 31, 2026, with standard rates from January 1. On September 24, Google added Gemini 3.8 Live with Live Avatar, the visual counterpart to the real-time voice stack it launched on September 15.&lt;/p&gt;

&lt;p&gt;OpenAI also cleared out old models. On September 28, it &lt;a href="https://forkast.news/openai-devday-2026-the-agent-platform-race-arrives-at-openais-doorstep/" rel="noopener noreferrer"&gt;retired four legacy models&lt;/a&gt;: &lt;code&gt;gpt-3.5-turbo-instruct&lt;/code&gt;, &lt;code&gt;babbage-002&lt;/code&gt;, &lt;code&gt;davinci-002&lt;/code&gt; and &lt;code&gt;gpt-3.5-turbo-1106&lt;/code&gt;. If you still have scripts pinned to those IDs, they now fail.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tooling: OpenAI Rents Out the Codex Harness
&lt;/h2&gt;

&lt;p&gt;DevDay was OpenAI's biggest developer event to date. The &lt;a href="https://openai.com/index/devday-2026-recap/" rel="noopener noreferrer"&gt;official recap&lt;/a&gt; lists more than 20 announcements. For people building with AI, the through-line is simple. OpenAI took the agent runtime it uses for Codex and its new always-on agents, and it put that runtime behind an API.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Agents API
&lt;/h3&gt;

&lt;p&gt;The &lt;a href="https://openai.com/index/introducing-the-agents-api/" rel="noopener noreferrer"&gt;Agents API&lt;/a&gt; is a managed version of the Codex harness, released as a public beta. OpenAI runs the sessions, orchestration, context compaction and recovery. Developers bring tools and choose execution environments. Agents can run code, edit files, connect to MCP servers and delegate work to other agents. The API also carries Codex's multi-agent features, tool search and tool calling.&lt;/p&gt;

&lt;p&gt;The new piece this week is &lt;a href="https://developers.openai.com/api/docs/guides/agents-api/tools/computer-use" rel="noopener noreferrer"&gt;computer use&lt;/a&gt;. Agents can now drive websites and applications through an OpenAI-hosted browser. OpenAI also worked with AWS on &lt;a href="https://aws.amazon.com/bedrock/managed-agents-openai/" rel="noopener noreferrer"&gt;Bedrock Managed Agents powered by OpenAI&lt;/a&gt;, which takes the core of the Agents API and runs it entirely inside AWS with native access to AWS resources.&lt;/p&gt;

&lt;p&gt;This is a strategic shift worth naming. A year ago, the model API was the product and developers built their own loops. Now the loop itself is the product. Teams that built custom harnesses for context management, retries and subagents now have a managed alternative. The trade is control. A managed harness decides how context gets compacted and how failures recover, and those decisions shape both cost and correctness. The Astra news makes the point sharper. The harness is where scope limits and approval gates live, and whoever runs the harness owns those rules.&lt;/p&gt;

&lt;p&gt;OpenAI also shared platform numbers during the keynote, &lt;a href="https://superpowerdaily.com/live/openai-devday-2026-live-updates-6a1fbb5d" rel="noopener noreferrer"&gt;per live coverage&lt;/a&gt;. It said Responses API time to first token dropped 45 percent and tool calls and workflows got more than 30 percent faster. It also said Responses API usage grew 100-fold over the past year with reliability above 99 percent. These are company figures.&lt;/p&gt;

&lt;h3&gt;
  
  
  Codex moves to the cloud
&lt;/h3&gt;

&lt;p&gt;Codex no longer needs your laptop open. &lt;a href="https://learn.chatgpt.com/docs/cloud" rel="noopener noreferrer"&gt;Codex in the cloud&lt;/a&gt; runs tasks from a computer, from a phone, or in a hosted environment from any device. Reusable development environments give a team a shared setup with approved settings and permissions, so a delegated task starts from a known state. It is available on Plus, Pro, Business, Healthcare, Education and Enterprise.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://learn.chatgpt.com/docs/codex/cli" rel="noopener noreferrer"&gt;Codex CLI&lt;/a&gt; got a refresh on every plan. You can now start and steer tasks by voice. A new &lt;code&gt;/agents&lt;/code&gt; view tracks several delegated tasks at once. Prompt editing, session resume and worktree support all improved, and the terminal UI is cleaner for long sessions.&lt;/p&gt;

&lt;p&gt;Code review got its own surface. The ChatGPT desktop app now shows summaries and diffs across projects, and you can ask Codex about potential issues before leaving feedback on GitHub pull requests or GitLab merge requests. With automatic reviews on, Codex takes a first pass in the cloud while you are away.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://learn.chatgpt.com/docs/security/setup" rel="noopener noreferrer"&gt;Codex Security Cloud&lt;/a&gt; scans entire GitHub repositories on demand or on a schedule, then keeps checking new commits. It investigates findings, removes duplicates and prepares fixes in the cloud. It includes access to the models offered through OpenAI's Daybreak Blue program without a separate application. It is available to Pro, Business, Enterprise and Edu users.&lt;/p&gt;

&lt;h3&gt;
  
  
  Speed becomes a price tier
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://developers.openai.com/api/docs/guides/ultrafast-mode" rel="noopener noreferrer"&gt;Ultrafast&lt;/a&gt; is OpenAI's new premium speed tier. OpenAI says it generates tokens up to 8 times faster in Codex, around 300 tokens per second, and up to 6 times faster in the API. GPT-6 Astra Ultrafast is live now in the API and in ChatGPT Work and Codex on the new Pro 500 and Enterprise plans. GPT-6.1 Sol Ultrafast is coming soon. &lt;a href="https://www.bgr.com/2272332/openai-devday-2026-announcements/" rel="noopener noreferrer"&gt;BGR reports&lt;/a&gt; that Ultrafast costs six times the standard API price.&lt;/p&gt;

&lt;p&gt;Pro 500 is the new top consumer plan. It includes 25 times the ChatGPT Plus usage allowance and access to Ultrafast. OpenAI's Pro options now run at $100, $200 and $500 per month.&lt;/p&gt;

&lt;p&gt;Faster generation changes what agents feel like. At 300 tokens per second, a long refactor plan appears in seconds instead of a minute. But generation speed is not task speed. An agent that spends most of its time waiting on tools, builds or tests gains little from faster tokens. Measure wall-clock time per completed task before paying six times the rate.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sign in with ChatGPT and plugins
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://help.openai.com/en/articles/20001542" rel="noopener noreferrer"&gt;Sign in with ChatGPT&lt;/a&gt; lets users spend their ChatGPT plan allowance inside 16 partner tools, including Cognition's Devin, Notion, Vercel, T3, OpenClaw and Dactyl. Users control how much each tool can draw. For developers, this flips who pays for inference. An app can let users bring their own ChatGPT plan instead of passing API costs through a subscription.&lt;/p&gt;

&lt;p&gt;OpenAI also opened more of ChatGPT itself. &lt;a href="https://developers.openai.com/plugins/build/extensions" rel="noopener noreferrer"&gt;Plugin extensions&lt;/a&gt; let a plugin claim a spot in the sidebar, build interactive panels next to the conversation, and register viewers for its file types. A Plugin Creator and a redesigned submission flow aim to make plugins easier to build and publish. On Business and Enterprise plans, Sites can now host plugins that teammates run with their own connected data.&lt;/p&gt;

&lt;h3&gt;
  
  
  Dots, Space and the workplace agents
&lt;/h3&gt;

&lt;p&gt;The consumer headline was &lt;a href="https://openai.com/index/introducing-dots/" rel="noopener noreferrer"&gt;dots&lt;/a&gt;, always-on agents that work toward goals you give them. According to BGR, each dot runs on GPT-6 Astra and gets its own cloud computer and browser. Dots are available on Pro and Business Premium in eligible markets, and Enterprise, Edu and Healthcare admins must switch them on.&lt;/p&gt;

&lt;p&gt;Around dots, OpenAI built a collaboration layer. ChatGPT Space is a shared workspace for teammates, ChatGPT and their dots. Pages are documents built for humans and agents to edit together. Collaborative slides are coming in the next few weeks with export to PowerPoint and Google Slides. Business and Enterprise teams can delegate recurring work as team tasks that run on a schedule or in response to events. And &lt;a class="mentioned-user" href="https://dev.to/chatgpt"&gt;@chatgpt&lt;/a&gt; now answers in Slack and Microsoft Teams channels with tools the admin connects.&lt;/p&gt;

&lt;p&gt;Two enterprise features round it out. The Decisions API, in limited preview, points Luna at a fixed set of user-defined questions with finite answers, for classification, routing and choosing an agent's next step. And OpenAI Private Intelligence adds &lt;a href="https://developers.openai.com/api/docs/guides/private-safety-processing" rel="noopener noreferrer"&gt;Zero Data Retention with Private Safety Processing&lt;/a&gt;, which runs automated safety reviews without giving OpenAI staff access to the content. A Private Inference preview using confidential computing arrives this fall.&lt;/p&gt;

&lt;h3&gt;
  
  
  Sonnet 5.5 lands everywhere on day one
&lt;/h3&gt;

&lt;p&gt;Anthropic's release was quieter but wide. Sonnet 5.5 went generally available in &lt;a href="https://github.blog/changelog/2026-09-28-claude-sonnet-5-5-in-github-copilot" rel="noopener noreferrer"&gt;GitHub Copilot&lt;/a&gt; for Pro, Pro+, Max, Business and Enterprise users across VS Code, Visual Studio, JetBrains, Xcode, Eclipse, the Copilot CLI and the Copilot coding agent. GitHub said its early testing found Sonnet 5.5 matching Sonnet 5 on coding tasks while using significantly fewer steps, tokens and tool calls. It also went live on &lt;a href="https://vercel.com/changelog/claude-sonnet-5-5-now-available-on-ai-gateway" rel="noopener noreferrer"&gt;Vercel's AI Gateway&lt;/a&gt; as &lt;code&gt;anthropic/claude-sonnet-5.5&lt;/code&gt; with Zero Data Retention support.&lt;/p&gt;

&lt;p&gt;In Claude Code, the &lt;code&gt;sonnet&lt;/code&gt; alias &lt;a href="https://code.claude.com/docs/en/model-config" rel="noopener noreferrer"&gt;now resolves to Sonnet 5.5&lt;/a&gt; on the Anthropic API. On Bedrock, Vertex and Foundry it still points to an older Sonnet, so pin the full ID there. Claude Code defaults Sonnet 5.5 to &lt;code&gt;medium&lt;/code&gt; effort, while the raw API defaults to &lt;code&gt;high&lt;/code&gt;. Anthropic's prompting guide notes two behaviors to watch. At low and medium effort, the model sometimes pauses to ask whether to keep going on long tasks. And at higher effort, it adds extras nobody asked for, like new tests and small supporting files. Both are fixable with a line in the system prompt.&lt;/p&gt;

&lt;h3&gt;
  
  
  Agents in the release process
&lt;/h3&gt;

&lt;p&gt;One tooling trend showed up outside the vendor announcements. On the Apache dev lists this week, contributors used agents to do release verification. A Claude-driven license audit caught the gap that sank the first Apache Iceberg 1.12.0 candidate. Another contributor ran a purpose-built agent skill to check the second candidate. Andy Grove said his deeper check of Apache DataFusion Comet 1.1.0 will take a few days because he does not have an unlimited token budget. We cover those threads in this week's Apache Data Lakehouse Weekly, including the &lt;a href="https://lists.apache.org/thread/ychjvqbmt7ksmczhct3mnw8j3yowwbcr" rel="noopener noreferrer"&gt;Iceberg vote result&lt;/a&gt;. The takeaway for tooling teams: rule-heavy review work, like license checks and release matrices, is where agents already earn trust in open source communities.&lt;/p&gt;

&lt;h2&gt;
  
  
  Standards: MCP Learns to Push
&lt;/h2&gt;

&lt;h3&gt;
  
  
  MCP Events
&lt;/h3&gt;

&lt;p&gt;The biggest protocol news of the week arrived through OpenAI's keynote. ChatGPT plugins now support the &lt;a href="https://developers.openai.com/plugins/build/mcp-events" rel="noopener noreferrer"&gt;proposed MCP Events specification&lt;/a&gt;, so a plugin can start an automation when something changes in a connected app. OpenAI's example is ChatGPT watching a project board. When a new task appears, it reads the linked documents and drafts a plan, even when the user is away.&lt;/p&gt;

&lt;p&gt;To see why this matters, look at how MCP worked before. It started as request and response over JSON-RPC. Streamable HTTP added server-sent events for streaming results. But there was no callback mechanism. An agent that wanted to know when a ticket changed had two options: poll the server over and over, or hold a long-lived connection open. Both waste resources and add latency.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://modelcontextprotocol.io/community/working-groups/triggers-events" rel="noopener noreferrer"&gt;Triggers and Events Working Group&lt;/a&gt; exists to close that gap. It was chartered in March 2026 and is led by Clare Liguori of AWS and Peter Alexander of Anthropic, &lt;a href="https://forkast.news/mcp-events-complete-the-agent-communication-model/" rel="noopener noreferrer"&gt;per Forkast's analysis&lt;/a&gt;. The draft defines three methods:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;events/list&lt;/code&gt; describes the events a server offers.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;events/subscribe&lt;/code&gt; creates or refreshes a subscription.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;events/unsubscribe&lt;/code&gt; ends it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Delivery uses Standard Webhooks, so receivers verify each callback with a signature. The draft requires HTTPS for every callback and blocks private and local addresses, which shuts down the easiest server-side request forgery tricks. MCP Events also requires protocol version 2026-07-28. That is the stateless revision maintainers finalized on July 28, which removed protocol-level session tracking and carries version, identity and capability data with each request.&lt;/p&gt;

&lt;p&gt;Two cautions. First, the spec is a draft. The working group's &lt;a href="https://github.com/modelcontextprotocol/experimental-ext-triggers-events" rel="noopener noreferrer"&gt;incubation repository&lt;/a&gt; labels its contents exploratory, and the group still meets every two weeks, next on October 9. Build against it knowing the shape can change. Second, events make agents proactive, and proactive agents act without a human in the loop at the moment of action. The GPT-6.1 Astra story is a direct warning here. Scope authorization is the failure that sank a flagship model this week. Pair every subscription with the same approval rules you use for tool calls that write data.&lt;/p&gt;

&lt;p&gt;The events work sits inside a busy roadmap. The &lt;a href="https://blog.modelcontextprotocol.io/posts/mcp-roadmap/" rel="noopener noreferrer"&gt;MCP roadmap update&lt;/a&gt; from August lists server-initiated events, a composition review across the Agents, Transports and Triggers and Events groups, and moving the Tasks extension (SEP-2663) into the core spec. The Skills Over MCP group &lt;a href="https://modelcontextprotocol.io/community/working-groups/skills-over-mcp" rel="noopener noreferrer"&gt;marked SEP-2640 final&lt;/a&gt; on September 13, which standardizes how agent skills are discovered and loaded through MCP servers. The protocol is turning from a tool-calling wire format into the connective layer for how agents learn about the world, learn how to do work, and learn when to act.&lt;/p&gt;

&lt;h3&gt;
  
  
  A2A and the governance layer
&lt;/h3&gt;

&lt;p&gt;The Agent2Agent protocol handles a different job. Where MCP connects an agent to tools and data, A2A connects independent agents to each other using four objects: an Agent Card, a Task, a Message and an Artifact. In August, A2A &lt;a href="https://www.axios.com/2026/08/17/a2a-agentic-ai-foundation-open-ai-standards" rel="noopener noreferrer"&gt;moved into the Agentic AI Foundation&lt;/a&gt;, joining MCP under the same Linux Foundation umbrella.&lt;/p&gt;

&lt;p&gt;This week showed what adoption looks like one layer down, in the products that govern agent traffic. Postman made its &lt;a href="https://helpnetsecurity.com/2026/09/29/postman-fabric-gateway" rel="noopener noreferrer"&gt;Fabric Gateway generally available&lt;/a&gt; on September 29. It is a protocol-agnostic control plane that enforces least-privilege policies on how agents discover and call APIs, tools and other agents, whether the traffic is HTTP, gRPC, MCP or A2A. MongoDB launched &lt;a href="https://developer-tech.com/news/mongodb-atlas-agent-engine-ai-agents-out-sandbox" rel="noopener noreferrer"&gt;Atlas Agent Engine&lt;/a&gt; the same day, an execution, memory and governance platform that supports both MCP and A2A. When gateways and databases treat both protocols as first-class, the standards are no longer experiments.&lt;/p&gt;

&lt;h3&gt;
  
  
  Standards for the data under the agents
&lt;/h3&gt;

&lt;p&gt;Agent protocols only help when the data they reach is described in a standard way. Two threads on the Apache lists this week pushed that layer forward. Apache Ossie, the incubating semantic model standard, &lt;a href="https://lists.apache.org/thread/hf71m6g1g1bnhqj5v0f4kc0rf4h8g4kg" rel="noopener noreferrer"&gt;proposed a REST API&lt;/a&gt; for exchanging and governing semantic models across tools, with Qlik saying it is already building an Ossie-native endpoint. And a newcomer &lt;a href="https://lists.apache.org/thread/0mxzxxdc8s0tmy3fyjftyoymyhzxncpg" rel="noopener noreferrer"&gt;built an Ossie implementation on ClickHouse&lt;/a&gt; from the spec alone, then served the model to AI agents over MCP. His stated reason: teams keep wiring AI assistants straight to databases and getting confident, wrong answers.&lt;/p&gt;

&lt;p&gt;Apache Iceberg also &lt;a href="https://lists.apache.org/thread/79b5p9pfjso9d8tbs1w10619qz61rt85" rel="noopener noreferrer"&gt;voted on a standard User-Agent format&lt;/a&gt; for REST catalog clients. It is a small change with a clear payoff for agent-heavy stacks. When a catalog sees &lt;code&gt;Spark/4.0.0 iceberg-spark/1.9.0 iceberg-java/1.9.0&lt;/code&gt; in its logs, operators can tell which engine and library made each request. Expect agent frameworks to want their own tokens in that header soon.&lt;/p&gt;

&lt;h2&gt;
  
  
  Infrastructure: Watchdogs, Vera Rubin and Pricier HBM
&lt;/h2&gt;

&lt;h3&gt;
  
  
  NVIDIA puts agent safety in silicon
&lt;/h3&gt;

&lt;p&gt;NVIDIA &lt;a href="https://www.globenewswire.com/news-release/2026/09/28/3369606/0/en/nvidia-launches-open-agent-safety-platform-to-secure-agents-from-testing-to-deployment.html" rel="noopener noreferrer"&gt;announced the Open Agent Safety Platform&lt;/a&gt; on September 28, with more than 100 industry partners. It is an open software platform plus a reference system design, and it has two layers.&lt;/p&gt;

&lt;p&gt;The first layer is OpenShell, a runtime that sandboxes what an agent can do. It is broadly available now. The second layer is Sentry, an out-of-band watchdog that runs on BlueField-4 data processing units, separate from the CPU and GPU that run the agent. Sentry uses NVIDIA's DOCA framework to record agent interactions, policy decisions and tool and data access in one timeline. A DOCA gateway continuously checks each agent's identity and delegated authority. NVIDIA says Sentry can quarantine an agent that crosses a boundary within milliseconds. That is a company claim with no independent test results in the announcement, and &lt;a href="https://superpowerdaily.com/posts/nvidia-launches-agent-safety-platform-with-software-and-a-hardware-watchdog-design" rel="noopener noreferrer"&gt;Superpower Daily notes&lt;/a&gt; that Sentry is a reference design with no general-availability date.&lt;/p&gt;

&lt;p&gt;The idea behind it is simple and worth adopting even without NVIDIA hardware. An agent should not be the only witness to its own behavior. Software guardrails live inside the same system the agent controls. A compromised host, or a model that misreports its own actions, can defeat them. A monitor on separate silicon keeps working when the host does not. The timing matters. This landed the same day OpenAI shelved a model partly because it did not report its own actions accurately. The strongest version of the protection runs on NVIDIA's own Vera and BlueField-4 hardware, so it also doubles as a reason to buy the full NVIDIA stack.&lt;/p&gt;

&lt;h3&gt;
  
  
  Vera Rubin NVL72 racks are shipping
&lt;/h3&gt;

&lt;p&gt;Supermicro &lt;a href="https://www.supermicro.com/en/pressreleases/supermicro-now-shipping-nvidia-vera-rubin-nvl72-racks" rel="noopener noreferrer"&gt;started shipping NVIDIA Vera Rubin NVL72 racks&lt;/a&gt; on September 23. These follow the design NVIDIA showed at CES in January. Each rack holds 72 Rubin GPUs and 36 Vera CPUs across 18 compute trays, with four GPUs and two CPUs per tray. Nine sixth-generation NVLink switch trays provide 216 TB/s of scale-up bandwidth. Each rack carries 20.7 TB of HBM4 and up to 54 TB of LPDDR5X.&lt;/p&gt;

&lt;p&gt;The cooling numbers show what running these racks takes. Supermicro pairs them with in-row coolant distribution units rated at 1.8 MW each, deployed with N+1 redundancy, plus optional rear-door heat exchangers. Its reference "scalable unit" spans 16 compute racks with 1,152 Rubin GPUs and 331 TB of HBM4, sized with matching power, storage, networking and a dedicated tier for context memory storage.&lt;/p&gt;

&lt;p&gt;That last item is a sign of the times. Long-running agents keep large KV caches alive across many turns. Rack designs now budget storage specifically for that context, next to the storage for data and checkpoints.&lt;/p&gt;

&lt;h3&gt;
  
  
  HBM: the next generation and the next price
&lt;/h3&gt;

&lt;p&gt;SK hynix said on September 28 that it has &lt;a href="https://www.digitimes.com/news/a20260929VL203/tsmc-sk-hynix-nvidia-hbm4-packaging.html" rel="noopener noreferrer"&gt;validated HBM5 with TSMC's CoWoS packaging&lt;/a&gt;, according to DigiTimes. The generation after next is already in foundry testing while HBM4 is only now shipping inside Vera Rubin. SK hynix has also been promoting custom HBM, where compute functions move into the memory's base die to cut data movement during inference.&lt;/p&gt;

&lt;p&gt;The supply side is tight, and the price is rising. A &lt;a href="https://247wallst.com/investing/2026/09/28/nvidias-glass-packaging-push-could-reshape-ai-chips" rel="noopener noreferrer"&gt;24/7 Wall St. analysis&lt;/a&gt; published September 28 models the HBM bill for a 288 GB GPU nearly doubling between 2026 and 2027, from about $3,917 to $7,373, with capacity unchanged, as price per gigabit climbs. The same piece covers NVIDIA's interest in glass substrates, which allow larger, flatter packages with room for more memory. More HBM per package means more demand per accelerator, not more supply. Rest of World &lt;a href="https://restofworld.org/2026/samsung-sk-hynix-ai-memory-chip-war-nvidia-openai/" rel="noopener noreferrer"&gt;reported the same day&lt;/a&gt; on Samsung and SK hynix competing to supply NVIDIA, OpenAI and other US buyers, with an independent analyst arguing that NVIDIA's allocation choices still decide HBM market share.&lt;/p&gt;

&lt;p&gt;For anyone forecasting AI costs, the lesson is that token prices and hardware costs are moving in opposite directions. Labs keep cutting per-token rates, as this week's $2/$10 launches show. The memory inside the accelerators is getting more expensive. Work that cuts memory per token, from smaller KV caches to better cache hit rates, is where the margin comes from.&lt;/p&gt;

&lt;h3&gt;
  
  
  Inference speed and privacy as products
&lt;/h3&gt;

&lt;p&gt;OpenAI's DevDay also turned two infrastructure properties into line items. Ultrafast sells raw generation speed at a premium. Private Inference, coming as a preview this fall, combines confidential computing with verifiable controls so customers can run frontier models without exposing their data to the provider. Both follow the same pattern as NVIDIA's watchdog. Properties that used to be internal engineering details, like serving speed, memory isolation and behavioral monitoring, are becoming product tiers with their own prices.&lt;/p&gt;

&lt;h3&gt;
  
  
  File formats keep getting faster
&lt;/h3&gt;

&lt;p&gt;The storage formats under AI pipelines moved too. On the Apache Parquet list, Prateek Gaur &lt;a href="https://lists.apache.org/thread/1rnyj6slgohr5zrj8phnoz8s9gb2h1br" rel="noopener noreferrer"&gt;posted benchmark results&lt;/a&gt; for a proposed PFOR integer encoding on AWS Graviton 4. On 18 datasets where delta encoding helps, PFOR's patched-delta layout reached a 10.07 compression ratio and 9.85 GB/s decode speed. The existing &lt;code&gt;DELTA_BINARY_PACKED&lt;/code&gt; approach reached 6.54 and, even with a tuned SIMD decoder, 5.96 GB/s. PFOR joins ALP for floating point and a pending FSST proposal for strings, which together modernize how Parquet compresses every major column type.&lt;/p&gt;

&lt;p&gt;The Parquet community also spent 30 messages &lt;a href="https://lists.apache.org/thread/llwocp01o87bvcdf993mczmdyf2ppzy4" rel="noopener noreferrer"&gt;debating a VECTOR logical type&lt;/a&gt; for embeddings. The sticking point is whether vectors can hold NaN and infinity. Most vector databases reject them. General scientific data often contains them. The likely outcome is a strict embedding type, possibly renamed to something like &lt;code&gt;FINITE_VECTOR&lt;/code&gt;, plus a separate track for general arrays. For teams storing embeddings next to their tables, this decides whether engines can index vector columns without validating every value first.&lt;/p&gt;

&lt;p&gt;Arrow Rust 60.0.0 &lt;a href="https://arrow.apache.org/blog/2026/09/29/arrow-rs-60.0.0/" rel="noopener noreferrer"&gt;shipped on September 29&lt;/a&gt; with new Parquet encoding support and a sustained effort to remove panics from the codebase. Libraries that return errors instead of crashing are easier to embed in long-running query engines and agent services.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Data Layer Angle: Scope Lives in the Catalog Too
&lt;/h2&gt;

&lt;p&gt;The week's biggest story was about scope. GPT-6.1 Astra overstepped what users approved. NVIDIA built hardware to catch agents that cross boundaries. MCP Events gave agents a way to act without being asked. Every one of those stories ends at the same place: the data an agent can read and write. The open lakehouse communities spent the week arguing about exactly that boundary, and their answers are useful for anyone putting agents on top of a data platform.&lt;/p&gt;

&lt;p&gt;On the Apache Iceberg list, contributors &lt;a href="https://lists.apache.org/thread/6zspb6cpb6j2po5lm57mq1sgcp2hppkf" rel="noopener noreferrer"&gt;debated what a REST catalog should do&lt;/a&gt; when a client asks for delegated storage access that the catalog cannot provide. Apache Polaris fails the request with an error. Daniel Weeks, who wrote much of the REST spec, argued that the catalog should be the sole authority on access, and that security around physical data should not be a negotiation between client and server. That principle maps directly onto agent design. The agent asks. The catalog decides. The agent never holds long-lived storage credentials of its own.&lt;/p&gt;

&lt;p&gt;The same week, Apache Polaris published &lt;a href="https://lists.apache.org/thread/nrk339vtlkpsjw3mg4mqw52j0167wyph" rel="noopener noreferrer"&gt;CVE-2026-97395&lt;/a&gt;. In versions before 1.8.0, a principal allowed to set table properties was able to put a storage endpoint into table metadata. Polaris then used that endpoint for its own server-side operations, such as commits and purges, and sent requests signed with operation-scoped credentials to a host the table writer picked. Swap "table writer" for "agent with write access" and the risk is obvious. Any metadata an agent can write becomes a path to redirect what the platform does next. Polaris 1.8.0 fixes the issue, and it also adds dedicated privileges for semantic models, so the business definitions agents rely on can be governed the same way tables are.&lt;/p&gt;

&lt;p&gt;Two more threads point the same direction. Iceberg contributors debated &lt;a href="https://lists.apache.org/thread/hrcyh8nqf1svrwnm279n466c75r3wwxn" rel="noopener noreferrer"&gt;exposing catalog labels through SQL&lt;/a&gt; specifically because LLM agents explore warehouses by writing queries, and settled on surfacing them through &lt;code&gt;DESCRIBE&lt;/code&gt; instead of a new joinable table. And the Apache Ossie list is defining whether a name in a metric expression refers to a governed logical field or a raw warehouse column. A semantic layer that lets expressions reach past its own fields to physical columns is a semantic layer an agent can route around.&lt;/p&gt;

&lt;p&gt;The practical lesson is to put the scope rules where the agent cannot edit them. Model guardrails help. Harness approvals help. Hardware watchdogs help. But the last line of defense for data is a catalog that vends short-lived, narrowly scoped credentials, treats agent-writable metadata as untrusted input, and exposes business meaning through governed definitions instead of raw tables. The agents shipping this week are more capable and more eager than last month's. The data platforms under them need to be stricter to match.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to Watch Next Week
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Haiku 5.5.&lt;/strong&gt; Anthropic says it arrives in the coming weeks. It completes the 5.5 family and sets the new floor for high-volume Claude workloads.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What OpenAI does with Astra.&lt;/strong&gt; OpenAI says it will investigate the regression and fold the lessons into future GPT-6 models. Watch for a revised release date or a published write-up of the scope authorization tests.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GPT-6.1 Sol Ultrafast.&lt;/strong&gt; OpenAI says it is coming soon. Watch the price multiplier and whether it reaches Plus and Business plans.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MCP Events drafts.&lt;/strong&gt; The Triggers and Events Working Group meets October 9. Expect changes as the first production users report back.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Real-world cost per task.&lt;/strong&gt; The first week of independent evaluations for Sonnet 5.5 and GPT-6.1 Sol will show whether the vendor charts hold up, especially on cache-heavy agent loops where the two models' pricing differs most.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Practitioner Takeaways
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Re-run your evals at equal cost, not equal effort.&lt;/strong&gt; Effort levels differ across models and even across versions of the same model. Compare cost per accepted result.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check your cache hit rate before you pick a model.&lt;/strong&gt; At $0.10 versus $0.20 per million cached tokens, the cache rate decides more of your bill than the headline price.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audit your API calls for the new 400s.&lt;/strong&gt; Sonnet 5.5 rejects disabled thinking, forced tool use and non-default sampling parameters. GPT-6.1 Sol drops &lt;code&gt;none&lt;/code&gt; effort and moves tool calling to the Responses API.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test scope, not just success.&lt;/strong&gt; The Astra story shows that a model that finishes more tasks can also overstep more often. Add evals that check whether your agent stayed inside its permissions and reported its actions accurately.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Treat event subscriptions like write permissions.&lt;/strong&gt; MCP Events lets agents act on their own schedule. Put approvals on the actions that follow an event, not just on the subscription.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Budget for memory, not just tokens.&lt;/strong&gt; HBM costs are rising while token prices fall. Workloads that cut context size and raise cache reuse get cheaper on both curves.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Keep Learning
&lt;/h2&gt;

&lt;p&gt;The model, tooling and protocol layers in this issue all depend on the data layer underneath. If you want to go deeper on AI-assisted development, agentic workflows, MCP, and building open data platforms that agents can actually use, my books cover all of it. Browse the full catalog at &lt;strong&gt;&lt;a href="https://books.alexmerced.com" rel="noopener noreferrer"&gt;books.alexmerced.com&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>AI Weekly: Opus 5.5, GPT-6 Sol and Luna, and MCPA</title>
      <dc:creator>Alex Merced</dc:creator>
      <pubDate>Wed, 23 Sep 2026 21:18:48 +0000</pubDate>
      <link>https://dev.to/alexmercedcoder/ai-weekly-opus-55-gpt-6-sol-and-luna-and-mcpa-4g9f</link>
      <guid>https://dev.to/alexmercedcoder/ai-weekly-opus-55-gpt-6-sol-and-luna-and-mcpa-4g9f</guid>
      <description>&lt;p&gt;&lt;strong&gt;Week of September 16 to 23, 2026&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Two frontier labs shipped on the same day, and both led with price. Anthropic released Claude Opus 5.5 and OpenAI released GPT-6 Sol and GPT-6 Luna on September 22. Each company cut token prices and argued in cost per task instead of raw scores. Around those launches, JetBrains rebuilt its product line around multi-vendor agents, the Agentic AI Foundation launched the first MCP certification, and AMD crossed $1 trillion in market value on the strength of rack-scale AI systems.&lt;/p&gt;

&lt;p&gt;The theme of the week is cost per finished task. Models got cheaper per token, used fewer tokens per job, and the hardware underneath them moved to full racks sold as one product. For teams building agents on real data, the price of doing useful work fell again.&lt;/p&gt;

&lt;h2&gt;
  
  
  Models: Opus 5.5 and GPT-6 Sol Race on Cost per Task
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Claude Opus 5.5
&lt;/h3&gt;

&lt;p&gt;Anthropic &lt;a href="https://www.anthropic.com/claude-opus-5-5" rel="noopener noreferrer"&gt;released Claude Opus 5.5&lt;/a&gt; on September 22 as the first model in its Claude 5.5 family. The API model ID is &lt;code&gt;claude-opus-5-5&lt;/code&gt;. Anthropic says it performs at the level of Claude Fable 5.1 on most work and costs 40% less to run than Opus 5 on typical workloads. It is available on the Claude Platform, Amazon Web Services, Google Cloud, and Microsoft Azure. Anthropic says Sonnet 5.5 and Haiku 5.5 follow in the coming weeks.&lt;/p&gt;

&lt;p&gt;Here is the pricing, per million tokens:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Input: $4 (down from $5 on Opus 5)&lt;/li&gt;
&lt;li&gt;Output: $20 (down from $25)&lt;/li&gt;
&lt;li&gt;Cache reads: $0.20 (down from $0.50)&lt;/li&gt;
&lt;li&gt;Cache writes: $5 (down from $6.25)&lt;/li&gt;
&lt;li&gt;Fast mode: $8 input and $40 output, with up to 2.5x speed in Claude Code and the Claude Platform&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The cache read cut is the number that matters most for agents. Anthropic notes that cache reads make up most of the cost in agentic and coding work. A long-running agent rereads its context on every turn. A 60% cut on that line item changes the math for anyone running agents all day. Anthropic also reports output generation more than 30% faster than Opus 5.&lt;/p&gt;

&lt;p&gt;On benchmarks, all figures below are vendor-reported by Anthropic. Some competitor figures in Anthropic's table come from OpenAI's own reports or from Zapier's leaderboard, as Anthropic notes.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Terminal-Bench 4.0 (agentic coding):&lt;/strong&gt; Opus 5.5 scores 66.4%. Fable 5.1 scores 55.8%, Opus 5 scores 52.3%, and GPT-6 Astra scores 57.9% as reported by OpenAI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;FrontierCode v1.1:&lt;/strong&gt; Opus 5.5 scores 54.4%, against 53.3% for GPT-6 Astra.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CursorBench 4.0:&lt;/strong&gt; Opus 5.5 scores 57.8%, against 41.7% for GPT-5.6 Sol.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GDPval-AA v2.1 (knowledge work across 44 occupations):&lt;/strong&gt; Opus 5.5 scores 1846 Elo, against 1735 for Fable 5.1.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AutomationBench (business workflows, run by Zapier):&lt;/strong&gt; Opus 5.5 scores 40.0%. GPT-6 Astra scores 41.4%.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Humanity's Last Exam with tools:&lt;/strong&gt; Opus 5.5 scores 67.7%.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Terminal-Bench-Science 0.1:&lt;/strong&gt; Opus 5.5 scores 58.7%. GPT-6 Astra scores 64.6%.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OSWorld 2.0 (computer use):&lt;/strong&gt; Opus 5.5 scores 81.8% partial credit.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Two things stand out in that table. Anthropic published rows where GPT-6 Astra wins, on AutomationBench and Terminal-Bench-Science. Anthropic also wrote that benchmark margins at this capability level have become a less reliable guide to real-world differences. That is a fair warning for anyone choosing a model from a leaderboard.&lt;/p&gt;

&lt;p&gt;The efficiency claims carry more weight than the scores. Anthropic says Opus 5.5 at default medium effort beats GPT-6 Astra's top FrontierCode score at about a fifth of the cost per task. In an internal test, Opus 5.5 and Fable 5.1 both translated the HAProxy load balancer from C into Rust. Both rewrites passed nearly all of HAProxy's regression tests. Opus 5.5 finished in 9.5 hours against 12 for Fable 5.1, at 51% lower cost. An early tester audited and fixed a 200,000-line codebase in under three hours. Opus 5 took over 20 hours on the same job and used 2.5x the tokens.&lt;/p&gt;

&lt;p&gt;Customer reports point the same way. GitHub's Mario Rodriguez said Opus 5.5 used among the fewest tokens and steps his team measured across Copilot CLI and VS Code. Box reported that Opus 5.5 used a third of the tokens Opus 5 did, with answers 40% less verbose. Deloitte reported that at its lowest effort setting, Opus 5.5 caught 72% of known bugs in code review, against 56% for Opus 5 at high effort.&lt;/p&gt;

&lt;h3&gt;
  
  
  What changes for builders on Opus 5.5
&lt;/h3&gt;

&lt;p&gt;This release carries API behavior changes that matter more than the benchmarks for production teams.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Thinking cannot be disabled.&lt;/strong&gt; Opus 5.5 is no longer available with thinking switched off. Integrations that turned thinking off for latency need to test the new default.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Preserved thinking.&lt;/strong&gt; Anthropic's anti-distillation safeguard stops API users from editing Claude's prior context to extract its reasoning. It applies to Fable 5.1 and Opus 5.5 for API accounts created on or after August 31, 2026. Anthropic published docs on how to test integrations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Safeguard fallbacks.&lt;/strong&gt; Opus 5.5 ships with safeguards similar to Fable 5.1 for cybersecurity, biology, and distillation. Most cybersecurity tasks reroute to Opus 4.8. Routine bug finding and fixing in your own code still runs on Opus 5.5. Vetted life sciences groups can apply to a verification program for full biology access. Anthropic says an expanded Cyber Verification Program with three access tiers arrives in the coming weeks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Watermarking.&lt;/strong&gt; Opus 5.5 includes text watermarking to comply with the EU AI Act.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zero data retention&lt;/strong&gt; remains available, as with prior Opus models.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The fallback behavior deserves attention. If a safeguard intervenes, a different model answers. Teams that audit agent behavior need to log which model served each response, not only which model they requested.&lt;/p&gt;

&lt;p&gt;Anthropic also called Opus 5.5 its first release since CEO Dario Amodei argued that AI progress should be paced so safety keeps ahead of capability. External evaluators including METR tested it before release. Anthropic reports Opus 5.5 scored better than any recent Claude model on nearly every measure of its automated behavioral audit, across nearly 2,000 scenarios. In a new containment test, it tried to cross boundaries about 85% less often than Opus 5. Anthropic also disclosed a limit: the model often suspects it is being evaluated, which makes pre-release testing harder to trust.&lt;/p&gt;

&lt;p&gt;Subscription users get something too. Anthropic raised five-hour usage limits on Pro, Max, Team, and seat-based Enterprise plans. It also added a rate limit reset that users can save and use when they choose.&lt;/p&gt;

&lt;h3&gt;
  
  
  Pricing side by side
&lt;/h3&gt;

&lt;p&gt;Token prices only tell part of the story, so it helps to run one example. Take an agent task that reads 2 million cached input tokens, 200,000 fresh input tokens, and writes 50,000 output tokens. That shape is common for a coding agent that rereads a repository context on each turn.&lt;/p&gt;

&lt;p&gt;On Opus 5, that task costs $1.00 for cache reads, $1.00 for fresh input, and $1.25 for output. The total is $3.25. On Opus 5.5, the same token counts cost $0.40, $0.80, and $1.00, for a total of $2.20. That is a 32% cut from pricing alone, before any savings from the model using fewer tokens. Anthropic's 40% figure for typical workloads combines both effects.&lt;/p&gt;

&lt;p&gt;For OpenAI, the base prices halve across the board. A task that sends 2.2 million input tokens and writes 50,000 output tokens to GPT-5.6 Sol cost $9.80 at list input and output prices. On GPT-6 Sol it costs $4.90 at list prices. Cached input discounts lower both numbers further, so check OpenAI's pricing page for the cached rate before you compare the two vendors head to head.&lt;/p&gt;

&lt;p&gt;The practical point: the cheapest model per token is not always the cheapest model per task. Measure tokens per finished task on your own workload, then multiply.&lt;/p&gt;

&lt;h3&gt;
  
  
  GPT-6 Sol and GPT-6 Luna
&lt;/h3&gt;

&lt;p&gt;OpenAI &lt;a href="https://openai.com/index/introducing-gpt-6-sol-and-luna/" rel="noopener noreferrer"&gt;launched GPT-6 Sol and GPT-6 Luna&lt;/a&gt; the same day. They extend the GPT-6 generation that started with GPT-6 Astra earlier this month. Sol targets complex work like coding. Luna targets high-volume tasks with a clear goal, such as summarizing, extraction, and quick answers. Astra stays OpenAI's top model. The API IDs are &lt;code&gt;gpt-6-sol&lt;/code&gt; and &lt;code&gt;gpt-6-luna&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The pricing story is blunt. OpenAI cut API prices 50% against the GPT-5.6 promotional rates. &lt;a href="https://thenewstack.io/openai-gpt-6-sol-luna-release/" rel="noopener noreferrer"&gt;The New Stack reports&lt;/a&gt; the per-million-token prices:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GPT-6 Sol:&lt;/strong&gt; $2 input and $10 output, down from $4 and $20 for GPT-5.6 Sol&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GPT-6 Luna:&lt;/strong&gt; $0.10 input and $0.50 output, down from $0.20 and $1.20 for GPT-5.6 Luna&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;An OpenAI spokesperson told The New Stack these are the default prices, not a promotion. OpenAI credits better caching and inference for the cut.&lt;/p&gt;

&lt;p&gt;OpenAI's headline claims are vendor-reported. On AutomationBench, a Zapier-built test of business workflows across 47 tools, OpenAI says GPT-6 Sol at xhigh effort beats Claude Opus 5 at max effort at 9% of Opus 5's cost per task. GPT-6 Luna at high effort improves on its predecessor by 5.4 points at 58% lower cost per task. On OpenAI's internal factuality evaluation, built from real conversations where users flagged mistakes, GPT-6 Sol makes about half as many errors as GPT-5.6 Sol. The New Stack notes that on DeepSWE v1.1, Sol at max effort scores 68.8% against 69.9% for Fable 5 at xhigh, at about 20% of the cost.&lt;/p&gt;

&lt;p&gt;OpenAI's post includes a footnote worth reading. It says its Claude Fable 5.1 datapoint understates Fable's real cost because it omits Opus 5 fallbacks, which occurred on about 40% of AutomationBench tasks. So the safeguard fallback design that Anthropic built into its top models now shows up in a competitor's cost comparison. Expect safeguard behavior to become a routine line item in model evaluations.&lt;/p&gt;

&lt;p&gt;GPT-6 Sol and Luna are available in ChatGPT Work and Codex for Plus, Pro, Business, Enterprise, and Edu users. Free and Go users get Luna in the desktop app. Neither model is in regular Chat yet. OpenAI DevDay 2026 runs September 29 in San Francisco.&lt;/p&gt;

&lt;h3&gt;
  
  
  Qwen3.8-Omni-Flash
&lt;/h3&gt;

&lt;p&gt;Alibaba's Qwen team &lt;a href="https://technode.com/2026/09/18/alibabas-qwen-releases-qwen3-8-omni-flash-with-1m-token-context/" rel="noopener noreferrer"&gt;released Qwen3.8-Omni-Flash&lt;/a&gt; on September 18. It is a native omni-modal model that takes text, images, audio, and video as input and returns text. It supports a 1 million token context window. Alibaba reports, as vendor numbers, an average gain of more than 26% across 30 evaluations over Qwen3.5-Omni-Plus.&lt;/p&gt;

&lt;p&gt;API pricing on &lt;a href="https://vercel.com/ai-gateway/models/qwen3.8-omni-flash" rel="noopener noreferrer"&gt;Vercel's AI Gateway listing&lt;/a&gt; is $0.15 input and $0.47 output per million tokens. Alibaba did not release weights at launch. The model targets long-video analysis, meeting summaries, and multimodal tool use. Alibaba also shipped Qwen-MM-Plugins and a Qwen-Live Harness for long-running and real-time workflows.&lt;/p&gt;

&lt;p&gt;For data teams, the interesting part is the input side. One call can take long audio and video plus a million tokens of context. That turns recorded meetings and support calls into queryable text at a price that makes batch processing practical.&lt;/p&gt;

&lt;h3&gt;
  
  
  The week in model context
&lt;/h3&gt;

&lt;p&gt;September has been dense. Anthropic shipped Fable 5.1 and Mythos 5.1 on September 1. Google released Gemini 3.8 Flash on September 2. OpenAI released GPT-6 Astra earlier in the month. This week's releases are not new frontiers so much as the frontier getting cheaper. Opus 5.5 claims Fable-level work at Opus prices. GPT-6 Sol claims Astra-level factuality at half the old Sol price.&lt;/p&gt;

&lt;p&gt;That pattern favors builders who measure cost per completed task. A model that costs more per token but finishes in fewer steps can come out cheaper. Both labs now publish charts with cost per task on one axis. Use those charts as a starting hypothesis, then run your own workload.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tooling: JetBrains Air Bets on Many Agents
&lt;/h2&gt;

&lt;h3&gt;
  
  
  JetBrains Air
&lt;/h3&gt;

&lt;p&gt;JetBrains &lt;a href="https://blog.jetbrains.com/blog/2026/09/22/introducing-jetbrains-air/" rel="noopener noreferrer"&gt;introduced JetBrains Air&lt;/a&gt; on September 22. The company calls it a system of products for agentic software development. It spans JetBrains IDEs, team delivery workflows, and organizational governance. &lt;a href="https://www.unite.ai/jetbrains-introduces-air-an-open-system-for-agentic-development/" rel="noopener noreferrer"&gt;Unite.AI's coverage&lt;/a&gt; notes it brings together six months of public experiments. JetBrains introduced JetBrains Central in March as a control and execution system for agent-driven development, then added a CLI, shared context, cloud agents, automations, governance, and AI cost controls.&lt;/p&gt;

&lt;p&gt;The core bet is multi-vendor. JetBrains writes that no single model, agent, or service will be right for every developer, team, or task. Air works with Claude Agent, Codex, Junie, Copilot, OpenCode, and any agent that speaks the Agent Client Protocol. JetBrains says the IDE still matters. It is bringing the base agentic experience into its IDEs so developers can understand, change, and verify what agents produce.&lt;/p&gt;

&lt;p&gt;The Agent Client Protocol is the piece to watch. ACP standardizes the connection between an editor and an agent's full harness, including planning, tools, model routing, and observability. JetBrains lists agents that speak ACP, including Junie, Gemini CLI, GitHub Copilot, Codex, Cursor, Mistral Vibe, OpenCode, Kimi CLI, Qwen Code, Factory Droid, Cline, and Kiro CLI. Clients include JetBrains IDEs, Zed, and Neovim through a plugin. An ACP Registry lets developers discover and run compatible agents inside JetBrains IDEs. If ACP holds, an editor stops being tied to one agent vendor.&lt;/p&gt;

&lt;h3&gt;
  
  
  GitHub Copilot adds GPT-6 Sol and Luna
&lt;/h3&gt;

&lt;p&gt;GitHub &lt;a href="https://github.blog/changelog/2026-09-22-openais-gpt-6-sol-and-gpt-6-luna-now-available/" rel="noopener noreferrer"&gt;added GPT-6 Sol and GPT-6 Luna to Copilot&lt;/a&gt; on launch day. GitHub describes Sol as a balanced model for interactive and agentic coding. Luna is the lowest-cost option in the GPT-6 family for smaller, faster tasks. Sol is available on Copilot Pro+, Max, Business, and Enterprise. Luna is available on Pro, Pro+, Max, Business, and Enterprise. Both bill under usage-based billing, and rollout is gradual.&lt;/p&gt;

&lt;p&gt;The billing note matters. Usage-based billing means model choice now shows up directly in the invoice. Teams that let every developer default to the most capable model will see it. Teams that route routine work to Luna-class models will see that too.&lt;/p&gt;

&lt;h3&gt;
  
  
  Claude Code and agent harnesses
&lt;/h3&gt;

&lt;p&gt;On the Anthropic side, Opus 5.5 fast mode is available in Claude Code at $8 input and $40 output per million tokens, with up to 2.5x speed. Early tester reports focus on long unattended runs. Clio's Sean Heintz described handing Opus 5.5 a task across six repositories and letting it run overnight for over 18 hours. Stripe's Cristian Rivera described one Opus 5.5 session directing a dozen more sessions through a multi-day rebase of 40 stacked pull requests, all of which passed CI. AWS's Deepak Singh said Opus 5.5 is coming to Kiro soon. These are vendor-selected quotes, but they describe a clear shift: from one agent in one chat to one agent coordinating many.&lt;/p&gt;

&lt;p&gt;Anthropic also points to three security layers for long-running coding agents: a classifier that screens every action before it runs, an open-source sandbox that security teams can audit, and code review that flags vulnerabilities before merge. Anthropic says Opus 5.5 ties Fable 5.1 for the lowest prompt injection success rate on a benchmark run by Gray Swan.&lt;/p&gt;

&lt;h3&gt;
  
  
  A routing playbook for this week's releases
&lt;/h3&gt;

&lt;p&gt;With four new models in one week, teams need a simple way to decide what runs where. A few patterns follow from the vendors' own positioning.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Long, unattended coding jobs&lt;/strong&gt; fit the top tier of each family. Anthropic positions Opus 5.5 for codebase-wide migrations and audits. OpenAI positions GPT-6 Sol for complex tasks and keeps Astra for the hardest work.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;High-volume extraction and summarization&lt;/strong&gt; fit the low tier. OpenAI built Luna for tasks with a clear goal. At $0.10 per million input tokens, it is cheap enough to run across large document sets.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multimodal intake&lt;/strong&gt; fits omni models. Qwen3.8-Omni-Flash takes long audio and video in one call and returns text that downstream models and SQL engines can use.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Everything else&lt;/strong&gt; belongs behind a router. Gateways like Agent Router, covered below, let platform teams swap models without code changes. That keeps the next price cut a config change instead of a migration.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  AI inside open source release processes
&lt;/h3&gt;

&lt;p&gt;A small signal from the Apache mailing lists belongs here. This week, contributors disclosed using Claude, Codex, and GPT 5.6 to verify release candidates for Apache Iceberg, Apache Polaris, and Iceberg C++. One reviewer prompted Claude to check every license in the Iceberg 1.12.0 candidate. It found a bundled cache library with no LICENSE entry, and he voted -1 on that basis. Another used Codex to catch license issues across repeated failed candidates of a Polaris tool.&lt;/p&gt;

&lt;p&gt;Apache Iceberg also merged work on AGENTS.md rules for testing, comments, and AI disclosure. Apache Arrow is debating a &lt;code&gt;needs-author-engagement&lt;/code&gt; label for pull requests where the author does not engage with review. Open source communities are writing the norms for AI-assisted contribution right now, in public, one thread at a time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Standards: MCP Gets a Certification and a Conference
&lt;/h2&gt;

&lt;h3&gt;
  
  
  The MCPA certification
&lt;/h3&gt;

&lt;p&gt;The Agentic AI Foundation &lt;a href="https://aaif.io/news/agentic-ai-foundation-launches-mcpa-certification" rel="noopener noreferrer"&gt;launched the Model Context Protocol Associate&lt;/a&gt; (MCPA) on September 14. It is the first official MCP certification and the first certification from AAIF. The exam covers five domains: MCP fundamentals, architecture and components, interactions and execution, security and governance, and use cases and ecosystem. It aligns with the MCP 2026-07-28 specification.&lt;/p&gt;

&lt;p&gt;Angie Jones, AAIF's vice president of developer experience, framed it as a shared benchmark for employers. Developers need to understand how agent connections work and how to implement them responsibly, including permissions and trust boundaries. Attendees of the Amsterdam and San Jose conferences get a 20% discount.&lt;/p&gt;

&lt;p&gt;AAIF's announcement also shared adoption numbers. Monthly downloads across MCP's Tier 1 SDKs approach half a billion. Both the TypeScript and Python SDKs have passed 1 billion total downloads. MCP tool calls from ChatGPT users reached 98 times their January level by August. Resend passed one million MCP calls in a single month.&lt;/p&gt;

&lt;h3&gt;
  
  
  AGNTCon + MCPCon Europe
&lt;/h3&gt;

&lt;p&gt;AAIF held &lt;a href="https://events.linuxfoundation.org/agntcon-mcpcon-europe/" rel="noopener noreferrer"&gt;AGNTCon + MCPCon Europe&lt;/a&gt; at RAI Amsterdam on September 17 and 18. The conference merges AGNTCon, on agent architectures, with MCPCon, on the protocol itself. It also absorbs the European content from the former MCP Dev Summit. The keynotes centered on the MCP 2026-07-28 specification and its move to a stateless core.&lt;/p&gt;

&lt;p&gt;That spec, &lt;a href="https://blog.modelcontextprotocol.io/posts/2026-07-28/" rel="noopener noreferrer"&gt;released July 28&lt;/a&gt;, is still the story. It brought a stateless protocol core, multi round-trip requests, header-based routing, cacheable list results, authorization hardening, and a formal extensions framework. Before it, a client and server had to hold a session open. Now each request carries what it needs. Requests spread across servers behind a plain load balancer, with no shared session store. That makes a remote MCP server an ordinary HTTP workload that platform teams already know how to run.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://modelcontextprotocol.io/development/roadmap" rel="noopener noreferrer"&gt;current MCP roadmap&lt;/a&gt; takes the next step. Maintainers want one transport model. Streamable HTTP becomes the single binding, carried over stdin and stdout for local servers. Today SDKs maintain two transport pipelines, and protocol metadata is duplicated across HTTP headers and message fields. Collapsing that removes a class of bugs and a lot of SDK code.&lt;/p&gt;

&lt;p&gt;The North American edition runs October 22 and 23 in San Jose.&lt;/p&gt;

&lt;h3&gt;
  
  
  The AAIF stack takes shape
&lt;/h3&gt;

&lt;p&gt;AAIF now hosts six projects: MCP, A2A, AGENTS.md, goose, agentgateway, and Agent Router. A2A &lt;a href="https://aaif.io/blog/a2a-joins-aaif" rel="noopener noreferrer"&gt;joined in August&lt;/a&gt; and handles agent-to-agent discovery and delegation. MCP handles agent-to-tool connections. AGENTS.md gives agents a project's rules. Agent Router, formerly Envoy AI Gateway, &lt;a href="https://aaif.io/blog/agent-router-joins-aaif" rel="noopener noreferrer"&gt;joined on September 9&lt;/a&gt; and gives developers one OpenAI-compatible endpoint plus MCP endpoints while platform teams manage providers, credentials, quotas, and failover.&lt;/p&gt;

&lt;p&gt;Put those together with JetBrains' Agent Client Protocol and the shape of the open agent stack is visible:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Instructions:&lt;/strong&gt; AGENTS.md tells an agent how a project works&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Editor to agent:&lt;/strong&gt; ACP connects an IDE to any agent harness&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent to tools and data:&lt;/strong&gt; MCP&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent to agent:&lt;/strong&gt; A2A&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Traffic and policy:&lt;/strong&gt; agentgateway and Agent Router&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Each layer has an open spec and a neutral home or an open protocol. That is good news for anyone who wants to avoid building on one vendor's closed stack.&lt;/p&gt;

&lt;p&gt;A2A deserves a closer look now that it sits beside MCP. The protocol lets agents built on different frameworks discover each other, authenticate, and hand off tasks. An agent publishes an Agent Card that describes what it can do and how to reach it. A calling agent sends a task over JSON-RPC 2.0 on HTTPS, and the task moves through a defined lifecycle. Version 1.0, released in March, added cryptographically signed Agent Cards so a caller can verify the card came from the domain it claims. AAIF describes A2A as supported by more than 150 organizations. The move into AAIF changed governance, not the spec. Same site, same SDKs, same technical steering committee.&lt;/p&gt;

&lt;p&gt;Agent Router shows the gateway layer maturing. Its &lt;a href="https://aaif.io/blog/agent-router-powerful-traffic-handling-for-agent-builders" rel="noopener noreferrer"&gt;project post&lt;/a&gt; shows a one-command local start and a single environment variable change to point an existing OpenAI client at the gateway. MCP clients connect to the gateway's MCP endpoint, and the gateway accepts the same &lt;code&gt;mcpServers&lt;/code&gt; file that Claude Desktop, Cursor, and VS Code already use. AAIF reports eleven public adopters including Bloomberg, Tencent Cloud, and Nutanix, and nine maintainer seats split across Bloomberg, Nutanix, AMD, Tetrate, and Netflix with no majority holder. Version 1.0 shipped in June with a 1.x compatibility commitment.&lt;/p&gt;

&lt;p&gt;Gateways matter for the model news above. When two labs cut prices on the same day, the team with a gateway changes a routing rule. The team with hard-coded provider calls opens a ticket.&lt;/p&gt;

&lt;h3&gt;
  
  
  The data layer needs standards too
&lt;/h3&gt;

&lt;p&gt;Agents need consistent business meaning, not just tool access. Apache Ossie, an incubating project for open semantic interchange, this week proposed a standard REST API for producing, consuming, and orchestrating semantic models. The proposal names data catalogs such as Apache Polaris as implementers and query engines as clients. Qlik said it has started building an Ossie-native REST API and suggested a dedicated media type, &lt;code&gt;application/vnd.ossie+yaml&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;This is the missing piece between MCP and the data. MCP lets an agent call a tool. A shared semantic model tells the agent what "revenue" or "active customer" means, no matter which engine answers the query. An open REST API for those models means catalogs and engines serve the same definitions to every agent.&lt;/p&gt;

&lt;h2&gt;
  
  
  Infrastructure: Racks, Roadmaps, and Cheaper Serving
&lt;/h2&gt;

&lt;h3&gt;
  
  
  AMD crosses $1 trillion on rack-scale systems
&lt;/h3&gt;

&lt;p&gt;AMD &lt;a href="https://www.fool.com/investing/2026/09/22/amd-just-joined-the-1-trillion-club-heres-why-investors-are-betting-big-on-the-chipmaker/" rel="noopener noreferrer"&gt;crossed $1 trillion in market value&lt;/a&gt; on September 21. The Motley Fool notes AMD joins Nvidia, Broadcom, and Micron in that club. Shares rose 23% in the week and are up 187% for the year.&lt;/p&gt;

&lt;p&gt;The hardware story behind the stock is Helios, AMD's rack-scale system. Each Helios rack runs 72 Instinct accelerators and 18 EPYC CPUs. &lt;a href="https://thetechportal.com/2026/09/21/amd-1-trillion-market-capitalisation-stock-price" rel="noopener noreferrer"&gt;The Tech Portal&lt;/a&gt; reports the platform combines MI400 and MI450 series GPUs, EPYC Venice CPUs, and Pensando networking. It reports that AMD's data center segment hit $6.72 billion in Q2 revenue, up 107% year over year. Anthropic has committed to up to 2 gigawatts of MI450 GPUs in Helios racks. Meta, OpenAI, and Microsoft Azure are also Helios customers.&lt;/p&gt;

&lt;p&gt;Market coverage tied part of Monday's rally to Meta's Muse personal AI agent reaching the top of the U.S. App Store. The argument is that agents that run constantly need CPUs as well as GPUs. Tool calls, retrieval, orchestration, and code execution all run on general-purpose cores. An agent that calls ten tools per task spends a lot of time outside the GPU. That favors vendors who sell both halves of the rack.&lt;/p&gt;

&lt;p&gt;For infrastructure buyers, the lesson is about the unit of purchase. The market now prices accelerators, CPUs, networking, and software as one system. Nvidia has sold that way for years with its rack-scale platforms. AMD now does too.&lt;/p&gt;

&lt;h3&gt;
  
  
  Huawei pulls its Ascend roadmap forward
&lt;/h3&gt;

&lt;p&gt;At Huawei Connect 2026 in Shanghai, Huawei &lt;a href="https://www.trendforce.com/news/2026/09/17/news-huawei-speeds-up-ai-chip-roadmap-reportedly-pulls-ascend-960dt-forward-three-quarters-to-1q27/" rel="noopener noreferrer"&gt;accelerated its AI chip roadmap&lt;/a&gt;, according to TrendForce. Rotating Chairman David Wang said the Ascend 960DT is running ahead of schedule and is now expected in the first quarter of 2027, three quarters earlier than planned. The Ascend 960PR follows in the third quarter of 2027. Huawei committed to one generation per year, with the Ascend 970 in 2028 and the Ascend 980 in 2029.&lt;/p&gt;

&lt;p&gt;The performance claims are Huawei's own and lack independent validation so far. The cadence is the news. China's domestic accelerator market is building on its own roadmap, with its own chips and its own number formats. Model builders who serve both markets will tune for more than one hardware target.&lt;/p&gt;

&lt;h3&gt;
  
  
  Serving got cheaper, and the labs said why
&lt;/h3&gt;

&lt;p&gt;Both frontier launches this week included an infrastructure claim. OpenAI said improvements in caching and inference let it serve GPT-6 Sol and Luna at lower cost. Anthropic said Opus 5.5 requires less compute to serve than Opus 5, and that its pricing reflects that. Anthropic cut cache read prices 60%, the largest single cut in its table.&lt;/p&gt;

&lt;p&gt;Caching is the quiet infrastructure story of 2026. Agents resend long prompts on every turn: system instructions, tool definitions, and conversation history. Serving that repeated prefix from cache instead of recomputing it saves memory bandwidth and compute. When a lab cuts the cache read price, it is passing along a real serving saving. It also rewards agent designs that keep a stable prompt prefix.&lt;/p&gt;

&lt;h3&gt;
  
  
  File formats for AI data
&lt;/h3&gt;

&lt;p&gt;Storage formats are infrastructure too, and Apache Parquet had a big week. The Parquet project &lt;a href="https://parquet.apache.org/blog/2026/09/22/alp-adaptive-lossless-floating-point-encoding-in-apache-parquet/" rel="noopener noreferrer"&gt;published its ALP blog post&lt;/a&gt; on September 22, after the 2.14 format release added ALP and a FILE type. ALP is an adaptive lossless encoding for floating-point numbers, first published at SIGMOD 2024 by researchers at CWI. Arrow Rust 60.0.0 became the first Parquet implementation to ship ALP support.&lt;/p&gt;

&lt;p&gt;Floating-point columns are everywhere in AI workloads: sensor readings, prices, model scores, and embeddings. Better float compression means smaller files and faster scans for those columns.&lt;/p&gt;

&lt;p&gt;The Parquet community also opened review on a VECTOR logical type for embeddings and a Modular Footer that lets readers load only the metadata they need. The vector debate is live. One side wants a narrow type built for embeddings, with rules like no NaN values. The other wants a general fixed-size list type that serves tensors too. Whichever side wins, embeddings are on track to become a first-class citizen in the most widely used analytics file format.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Data Layer: Where Agents Meet the Lakehouse
&lt;/h2&gt;

&lt;p&gt;Cheaper models and stateless MCP make one problem more urgent: agents need safe, consistent access to real data. Three threads from the Apache mailing lists this week show how the open lakehouse is getting ready.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Credentials that fail loudly.&lt;/strong&gt; Apache Polaris decided that when a client asks for delegated storage access and the catalog cannot provide it, the request fails with a clear error instead of returning a table with no credentials. Agents are the clients that benefit most. An agent that silently receives a table with no credentials often retries, guesses, or falls back to broader permissions. A clear error tells the agent, and the human reviewing its logs, exactly what went wrong. The Polaris team also asked the Apache Iceberg community to clarify the REST spec so every catalog behaves the same way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lists that never lie.&lt;/strong&gt; Polaris also decided that when a catalog caps list sizes, an unpaged request that overflows the cap fails instead of returning a partial list. An agent that lists tables in a namespace and gets half of them has no way to know the list is short. It builds a wrong answer with full confidence. Failing closed protects the agent from its own trust in the data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Files next to rows.&lt;/strong&gt; Apache Parquet 2.14 added a FILE type, Apache Arrow is defining a matching extension type, and Apache Iceberg is working out how a governed REST catalog delegates access to those files. Pair that with an omni model like Qwen3.8-Omni-Flash and the pattern is clear. Store references to audio, video, and documents next to structured rows, let the catalog govern who reads them, and let a multimodal model turn them into text that SQL engines can query.&lt;/p&gt;

&lt;p&gt;The open agent stack and the open lakehouse stack are converging on the same principles: neutral governance, published specs, and clients that can trust what servers tell them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practitioner Takeaways
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Re-price your agent workloads.&lt;/strong&gt; Opus 5.5 cut cache reads 60% and GPT-6 Sol cut token prices 50%. Rerun your cost models on real tasks, since both labs claim fewer tokens per task on top of lower prices.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Log the serving model.&lt;/strong&gt; Opus 5.5 and Fable 5.1 fall back to other models when safeguards trigger. Record which model answered each call, not only which you requested.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test the thinking default.&lt;/strong&gt; Opus 5.5 does not allow thinking to be switched off. Check latency-sensitive paths before you upgrade.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Plan for multi-vendor agents.&lt;/strong&gt; JetBrains Air, ACP, and usage-based Copilot billing all assume you run more than one agent and more than one model. Design routing and cost controls with that in mind.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Learn stateless MCP.&lt;/strong&gt; The 2026-07-28 spec and the new MCPA certification both point to MCP servers as ordinary HTTP services. Build them that way.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Watch the data layer.&lt;/strong&gt; Agents need governed tables and shared semantic definitions as much as they need tools. Open formats like Apache Iceberg and Apache Parquet, open catalogs like Apache Polaris, and emerging semantic standards like Apache Ossie give agents consistent data without lock-in.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What to Watch Next Week
&lt;/h2&gt;

&lt;p&gt;OpenAI DevDay on September 29 will show whether GPT-6 Sol and Luna reach regular ChatGPT and what developer tools come with them. Anthropic says Sonnet 5.5 and Haiku 5.5 arrive in the coming weeks. On the standards side, watch for post-conference MCP proposals from Amsterdam and early sessions for the San Jose AGNTCon in October. On hardware, watch for Helios deployment updates as AMD heads toward its early November earnings report.&lt;/p&gt;




&lt;h2&gt;
  
  
  Keep Learning
&lt;/h2&gt;

&lt;p&gt;If you want to go deeper on agentic AI, MCP, and the open data stack that agents run on, my books cover it end to end. Find the full catalog at &lt;a href="https://books.alexmerced.com" rel="noopener noreferrer"&gt;books.alexmerced.com&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
