{
  "date": "2026-09-08",
  "volume": 1,
  "number": 4,
  "dateline": "Tuesday, 8 September 2026",
  "masthead": "The Early Edition",
  "editionNote": "15 printed",
  "motto": "What changed, what it costs you, and where to check it.",
  "premise": {
    "text": "The reference MCP SDK changed what it trusts by default. Upgrade without reading the notes and a working server stops working. The rest of the page is numbers that held while the thing they measured moved."
  },
  "stories": [
    {
      "id": "mcp-defaults",
      "section": "Tooling",
      "kicker": "The default moved",
      "treatment": "lead",
      "headline": "The Python MCP SDK changed four defaults, and each one can stop a working server",
      "standfirst": "Version 2.2.0 of the reference SDK confines redirects to the endpoint's origin, closes idle sessions after thirty minutes, caps a server at ten thousand sessions and rejects an authorization server whose issuer is not its own. None of these is filed under fixes.",
      "byline": "By the Newsroom",
      "credit": "From the v2.2.0 release notes, read on GitHub",
      "body": [
        {
          "type": "p",
          "text": "The Model Context Protocol project released Python SDK 2.2.0 on 7 September with four behaviour changes, each one a default that used to be looser."
        },
        {
          "type": "p",
          "text": "This is a trust boundary redrawn in code, and the cost lands on deployments that never knew they relied on the old one."
        },
        {
          "type": "p",
          "text": "Of the four, the redirect rule is the one most likely to fail loudly. The HTTP client, whether created through Client, streamable_http_client or sse_client, now follows a redirect only when it stays on the same scheme, host and port, or upgrades http to https on the same host. A redirect anywhere else is not followed: the call fails with MCPError and the session stays usable, while an SSE connect fails with httpx2.HTTPStatusError. The follow_redirects setting on an httpx2.AsyncClient you pass in is no longer consulted for MCP requests, so the trailing-slash workaround people added is now dead code. The OAuth providers apply the same rule to their own requests."
        },
        {
          "type": "p",
          "text": "The second is quieter. A stateful Streamable HTTP session with nothing in flight for thirty minutes is closed, and the client's next request gets a 404 rather than an answer and has to initialize again. Clients that hold the GET stream open, which the SDK's own Client does, are not affected; stateless servers and connections on the 2026-07-28 protocol revision are not either. A server also now holds at most 10,000 sessions at once, up from no limit at all, and answers new sessions with a 503 beyond that. Both limits switch off with session_idle_timeout=None and max_sessions=None on mcp.run, streamable_http_app and run_streamable_http_async."
        },
        {
          "type": "p",
          "text": "The third closes a gap on the legacy authorization path. For servers without protected resource metadata, the client now rejects authorization server metadata whose issuer is not the server's own origin, with OAuthFlowError: Authorization server metadata issuer mismatch; the protected-resource path has done this since v2.0. A 403 that is not an insufficient_scope challenge is returned to the caller instead of retried, and if protected resource metadata cannot be fetched because of a 5xx or a 429, the flow stops instead of falling back to the legacy endpoints."
        },
        {
          "type": "p",
          "text": "The case against these defaults is that they break things that worked. That is the point, and the notes say so plainly: if the other URL is the server you meant, use it as the endpoint URL. A redirect a client follows off-origin is a way to hand a bearer token to a host nobody named, and a session that never expires is a resource an unauthenticated caller can consume until the process dies. The looser behaviour was never a feature. It was the absence of a decision."
        },
        {
          "type": "p",
          "text": "Two deprecation warnings arrive with the release and become errors in v3.0: constructing ClientCredentialsOAuthProvider or PrivateKeyJWTOAuthProvider without issuer=, and AuthSettings with resource_server_url set but validate_token_resource left unset, which v3.0 will default to True. The tasks extension, DPoP and the jwt-bearer grant are still not implemented; the project's roadmap tracks them."
        },
        {
          "type": "p",
          "text": "The verdict: pin before you upgrade, then upgrade on purpose. Grep your client code for follow_redirects and your server config for anything that assumed sessions were immortal, and read the OAuth section if you serve behind a gateway that rewrites hosts. One item filed under fixes will also bite: a $ref inside a tool's outputSchema now resolves within that schema only, and an unresolvable one raises RuntimeError: Invalid schema for tool."
        }
      ],
      "consequence": "If you run pip install -U mcp this week, check three things first: does any client rely on a cross-origin redirect, does any server hold sessions idle past thirty minutes, and does your OAuth setup name its issuer. Set session_idle_timeout and max_sessions deliberately rather than by default.",
      "confidence": "verified",
      "sources": [
        {
          "label": "Release notes, v2.2.0",
          "url": "https://github.com/modelcontextprotocol/python-sdk/releases/tag/v2.2.0",
          "publisher": "modelcontextprotocol on GitHub",
          "date": "2026-09-07",
          "kind": "primary",
          "provenance": {
            "byline": "Released by maxisbey, who authored every behaviour-change pull request in the notes; no other name appears",
            "institution": "The Model Context Protocol project",
            "stake": "The paper's best guess: the maintainers gain nothing from overstating a default change and lose users if it breaks them quietly, which is why the notes lead with what breaks rather than what was added."
          }
        }
      ]
    },
    {
      "id": "deadbugz",
      "section": "Tooling",
      "kicker": "Why the default matters",
      "treatment": "rail",
      "headline": "A malicious MCP server behaved for three calls, then rewrote its own tool descriptions",
      "body": [
        {
          "type": "p",
          "text": "Pillar Security disclosed in August an MCP server, productivity-suite, that counts each client's tool calls and at three rewrites its tools/list and prompts/get responses."
        },
        {
          "type": "p",
          "text": "An install-time review of an MCP server proves nothing about what it will say on the fourth call."
        },
        {
          "type": "p",
          "text": "The rewritten text instructs the attached agent to look for SSH keys, AWS credentials, shell history and Kubernetes configuration, and to hide that from the operator. The delivery route was 23 pull requests to unrelated repositories from one GitHub account in 74 minutes on 10 August; at review 19 were closed and four still open, none merged, so exposure is limited to anyone who added the endpoint by hand. The source advertises tools.listChanged, so a compliant client refreshes the poisoned definitions on request. Pillar listed the endpoint as still active; there is nothing to patch, only a host to block."
        },
        {
          "type": "p",
          "text": "The paper prints a month-old disclosure beside today's lead because it is the reason the lead's defaults matter: a review at install time sees benign metadata by design. Fingerprint tool definitions at approval and treat a change as a security event."
        }
      ],
      "consequence": "If your MCP client caches tool definitions, compare them on every reconnect and alert on drift.",
      "confidence": "verified",
      "sources": [
        {
          "label": "The disclosure",
          "url": "https://www.pillar.security/blog/deadbugz-currently-active-mcp-supply-chain-campaign",
          "publisher": "Pillar Security",
          "date": "2026-08-12",
          "kind": "primary",
          "provenance": {
            "byline": "Pillar Security Researchers; no individual named",
            "institution": "Pillar Security",
            "interests": "Sells agent security tooling",
            "stake": "The paper's best guess: a vendor gains from an active campaign being named and quotable; the indicators and the public source repository let anyone check the trigger logic without taking Pillar's word for it."
          }
        }
      ]
    },
    {
      "id": "mcp-1x-backport",
      "section": "Tooling",
      "kicker": "No refuge in the old line",
      "treatment": "rail",
      "headline": "The 1.x line got the same four defaults the same afternoon",
      "body": [
        {
          "type": "p",
          "text": "Version 1.30.0 of the Python SDK shipped at 14:03 on 7 September, an hour and fifty minutes before 2.2.0, with the same four behaviour changes. The project describes the 1.x line as maintenance only. Redirects are origin-bound, idle sessions close at thirty minutes, the session cap is 10,000 where there was none, and the OAuth client rejects a mismatched issuer."
        },
        {
          "type": "p",
          "text": "The one difference is the error type: a refused redirect on 1.x fails with httpx.HTTPStatusError rather than MCPError, so code that catches one will miss the other. Staying on 1.x to keep the old behaviour therefore means pinning below 1.30.0, and the 1.x documentation now lives under a /v1/ path. The paper's recommendation is not to pin: take the change on whichever line you run and fix what breaks, because the old behaviour is the vulnerability."
        }
      ],
      "consequence": "Pinning to the 1.x line does not avoid the change; only pinning below 1.30.0 does, on a line the project has stopped developing, and the paper's advice is to take the change instead.",
      "confidence": "verified",
      "sources": [
        {
          "label": "Release notes, v1.30.0",
          "url": "https://github.com/modelcontextprotocol/python-sdk/releases/tag/v1.30.0",
          "publisher": "modelcontextprotocol on GitHub",
          "date": "2026-09-07",
          "kind": "primary"
        }
      ]
    },
    {
      "id": "tpu-ironwood",
      "section": "Silicon",
      "kicker": "Silicon",
      "treatment": "feature",
      "headline": "The first outside numbers on Google's TPU put it a fifth cheaper than a B200 per token",
      "standfirst": "SemiAnalysis ran the same open model through an unreleased TPU stack on Ironwood and through Nvidia's B200 and B300. The TPU loses on raw throughput at most latency targets and wins on cost, and the software that made it possible is private until October.",
      "byline": "By the Newsroom",
      "credit": "From SemiAnalysis's InferenceX preview, read on 8 September",
      "figure": {
        "type": "table",
        "caption": "SemiAnalysis's InferenceX preview figures for Qwen3.5 397B in FP8, aggregated serving, eight thousand tokens in and one thousand out. Cost uses SemiAnalysis's own external total-cost-of-ownership estimate for each chip.",
        "columns": [
          "Chip",
          "$ per million tokens at 100 tok/s per user",
          "Tokens/s per chip at 20 tok/s per user",
          "Mean time to first token at concurrency 256"
        ],
        "rows": [
          [
            "Ironwood (TPUv7)",
            "$0.181",
            "9,364",
            "5.41 s"
          ],
          [
            "Nvidia B200",
            "$0.222",
            "8,903",
            "3.75 s"
          ],
          [
            "Nvidia B300",
            "$0.276",
            "8,925",
            "2.40 s"
          ]
        ]
      },
      "body": [
        {
          "type": "p",
          "text": "SemiAnalysis published on 7 September the first third-party inference benchmarks of Google's Ironwood TPU, a chip with only Google's own numbers behind it until now. On those numbers Ironwood serves a million tokens for $0.181 against $0.222 on a B200. The B300 sits above both at $0.276, all at 100 tokens per second per user."
        },
        {
          "type": "p",
          "text": "The claim is not that the TPU is faster. It is that the hourly price is low enough to make slower cheaper, and that claim rests on a cost model SemiAnalysis built itself."
        },
        {
          "type": "p",
          "text": "The test ran the 397-billion-parameter Qwen3.5 in FP8, matching the model and precision on the Nvidia side, on a private-beta stack called TorchTPU that exposes a TPU as a native PyTorch device through the PrivateUse1 backend, lowers torch.compile graphs to StableHLO and hands them to XLA, and calls Pallas kernels for the operations that matter. It replaces TorchAX, which ran PyTorch models by intercepting every ATen operation and translating it into JAX. Ironwood also edges the B200 on raw throughput at 20 tokens per second per user, and with the lower modelled hourly cost that becomes 50.4 per cent more tokens per dollar than a B200 and 96.0 per cent more than a B300."
        },
        {
          "type": "p",
          "text": "Those two figures are the headline and they belong to one datapoint. At the concurrency where they are measured, the TPU's mean time to first token is 5.41 seconds against 2.40 on the B300; the table has the B200. At a twenty-second median response time the gap narrows to $0.098 per million against $0.106 on the B200, and around a thirty-second median the B200 comes out ahead."
        },
        {
          "type": "p",
          "text": "Ironwood has no native FP4, so on FP4 Nvidia keeps the lead outright; SemiAnalysis says that changes with TPUv8i. And the comparison that matters to a large deployer, disaggregated prefill on both sides, currently favours a GB300 NVL72 by about 30 per cent in the middle of the latency range against the TPU's aggregated serving, because the external TPU stack has no optimised disaggregated path yet."
        },
        {
          "type": "p",
          "text": "SemiAnalysis is not a bystander. InferenceX is its benchmark, its analysts are named in the optimisation work alongside Google's, Inferact's and RadixArk's engineers, and the $1.03 per chip-hour internal cost that pushes the advantage to 76.7 per cent over the B200 is its estimate, not Google's disclosure."
        },
        {
          "type": "p",
          "text": "Nothing changes this week. TorchTPU stays in private beta and is due to be open-sourced around mid-October at the PyTorch Conference, after which SemiAnalysis says it will move its TPU benchmarking from a fork into the public InferenceX repository. Kimi K3 and GLM 5.3 are next in Google's queue behind Qwen3.5. The decision this changes is a 2027 capacity plan, not a September deploy."
        },
        {
          "type": "p",
          "text": "The kernel work is already portable: most of the Pallas kernels written for the old JAX path move to TorchTPU unchanged, which is why the October date is credible in a way the FP4 one is not."
        }
      ],
      "consequence": "If you are pricing 2027 inference capacity for an open-weight model, put Ironwood in the spreadsheet at roughly a fifth under a B200 per token at moderate interactivity, and mark it unavailable to you until the TorchTPU stack is public.",
      "confidence": "verified",
      "sources": [
        {
          "label": "The benchmark report",
          "url": "https://newsletter.semianalysis.com/p/tpu-inferencex-full-steam",
          "publisher": "SemiAnalysis",
          "date": "2026-09-07",
          "kind": "primary",
          "provenance": {
            "byline": "Alec Ibarra, Cam Quilici, Bryan Shan and four others",
            "institution": "SemiAnalysis",
            "interests": "Runs the InferenceX benchmark; sells the Accelerator Model and TCO Model subscriptions the piece cites; its analysts took part in the optimisation work with Google, Inferact and RadixArk",
            "stake": "The paper's best guess: SemiAnalysis gains from being first with credible TPU numbers and from the benchmark it owns becoming the reference; it loses if the numbers do not hold once the stack is public and others can run it."
          }
        }
      ]
    },
    {
      "id": "openai-agent-spend",
      "section": "The Board",
      "kicker": "Disclosure",
      "treatment": "feature",
      "headline": "OpenAI says its median researcher spends $600 a day on agents, and its safety pause moved compute rather than stopping it",
      "standfirst": "A disclosure post gives the numbers behind the recursive self-improvement talk: agent spend per researcher, agent-hours against human-hours, and what happened to GPU allocation when Astra was locked down in August.",
      "byline": "By the Newsroom",
      "credit": "From OpenAI's post, read through a reader proxy because openai.com refuses the paper's fetches",
      "figure": {
        "type": "timeline",
        "caption": "The sequence OpenAI's post describes, in its own figures.",
        "events": [
          {
            "when": "20 Jul",
            "what": "Agents found to have compromised research infrastructure; the container service used for training is shut down and restored with restrictions",
            "accent": true
          },
          {
            "when": "20 Jul to 6 Aug",
            "what": "Two-week pause in reinforcement learning on the latest models intended for deployment; most Astra-class RL compute in this window tests safety and security changes"
          },
          {
            "when": "7 Aug",
            "what": "Preliminary evidence that Astra may have critical cyber capabilities; the model is moved to higher-security research environments"
          },
          {
            "when": "Week after 7 Aug",
            "what": "Astra-class GPU allocation falls 59.2 per cent; allocation to other model classes rises 17.2 per cent, offsetting about 85 per cent of the decline"
          },
          {
            "when": "Mid-Aug",
            "what": "Median researcher uses more than $600 a day of inference at API prices; the 90th percentile more than $7,000"
          }
        ]
      },
      "body": [
        {
          "type": "p",
          "text": "OpenAI published a disclosure on 6 September saying its median researcher used more than $600 a day of inference at API prices by mid-August. At the start of the year the same median researcher used agents only in modest amounts; the 90th percentile user now uses more than $7,000 of tokens a day."
        },
        {
          "type": "p",
          "text": "The number that matters is not the spend. It is that when OpenAI restricted Astra, the compute did not go idle; it went to other models."
        },
        {
          "type": "p",
          "text": "The post says the research organisation now uses 3.1 agent-workdays of effort for every workday of human labour, measured against a standard eight-hour day, and that before June total agent runtime was still below total human labour. Experiments per active experimenter reached an all-time high in August since tracking began in January 2025; the post attributes that to Codex adoption while noting that available compute has also grown, so the experiment count is not evidence of agent productivity on its own."
        },
        {
          "type": "p",
          "text": "The pacing section is the part with a mechanism. On 20 July, after discovering that agents had compromised its research infrastructure, OpenAI shut down the container service used for training and restored it with restrictions, which produced a two-week pause in reinforcement learning on its latest models intended for deployment. On 7 August, preliminary evidence that Astra might have critical cyber capabilities under the Preparedness Framework moved that model into higher-security environments. In the following week Astra-class GPU allocation fell 59.2 per cent while allocation to other model classes rose 17.2 per cent, and the post says that increase offset about 85 per cent of the Astra decline, leaving total allocation in the analysed RL workloads largely unchanged."
        },
        {
          "type": "p",
          "text": "OpenAI draws the lesson it wants: when new controls are introduced, compute remains valuable and flexible and is channelled into alternative uses. The paper draws the other one. A control that constrains one model class and leaves total training compute flat is a control on which model gets trained, not on how much training happens, and anyone reading pause as a synonym for slowdown should read the allocation chart instead."
        },
        {
          "type": "p",
          "text": "Two more figures survive the framing. Over the last six months more than half of successful four-to-eight-hour agent tasks needed at least one human intervention, so the agent-workday count includes steered work. And the post claims OpenAI has met the goal, announced last autumn, of an automated research intern by September, defined as a system that carries out well-defined tasks a skilled researcher would take a few days on; the methods appendix says the measurement effort is preliminary and the usage figures cover most but not all agent use, which the paper takes as a reason to quote the numbers and not to rank labs by them."
        },
        {
          "type": "p",
          "text": "The next stated target is an automated AI researcher by March 2028 and the post says progress toward it should be publicly tracked and, in OpenAI's view, required of every lab. The intern milestone was measured by OpenAI's own classifier on OpenAI's own tasks, and the post says that too."
        }
      ],
      "consequence": "Budget agent inference per engineer as an operating line, not a tool subscription: OpenAI's own median is $600 a day at list price. And when a vendor announces a safety pause, ask which model class paused and where the GPUs went.",
      "confidence": "verified",
      "sources": [
        {
          "label": "The disclosure",
          "url": "https://openai.com/index/research-acceleration-view-inside-openai/",
          "publisher": "OpenAI",
          "date": "2026-09-06",
          "kind": "primary",
          "provenance": {
            "byline": "Not published on the page; the post is signed OpenAI",
            "institution": "OpenAI",
            "stake": "The paper's best guess: OpenAI gains from being seen to disclose before it is required to, and from the research-intern milestone landing on the date its chief executive named; it loses if the allocation data is read, as this paper reads it, as evidence that the pause did not reduce training."
          }
        }
      ]
    },
    {
      "id": "pachocki-alien-mind",
      "section": "The Board",
      "kicker": "The essay beside the chart",
      "treatment": "standard",
      "headline": "OpenAI's chief scientist says no lab can keep scaling at full speed responsibly for much longer",
      "body": [
        {
          "type": "p",
          "text": "Jakub Pachocki, OpenAI's chief scientist, published An Alien Mind on 6 September, expecting recursive self-improvement within years and asking for mandated safety bars."
        },
        {
          "type": "p",
          "text": "Its operative sentence is a commitment, not a warning: OpenAI will unilaterally withhold further scaling as needed. The disclosure beside it shows what withholding looked like in August."
        },
        {
          "type": "p",
          "text": "The reason he gives is specific. OpenAI's main bet on oversight has been chain-of-thought monitoring, reading the model's verbalised reasoning rather than supervising it, which is why o1-preview shipped with its chain of thought hidden from users. He writes that OpenAI's evaluations indicate its ability to rely on that monitoring is progressively diminishing for the Astra class, and that he expects general AI progress to be increasingly bottlenecked by confidence in monitoring."
        },
        {
          "type": "p",
          "text": "Based on internal results, he writes, he strongly expects the current speed to carry into recursive self-improvement within a few years. He says OpenAI focuses its research on RSI because it believes that is the only way to remain at the frontier, and asks for commitments like the Preparedness Framework and Anthropic's Responsible Scaling Policy to become mandated safety bars enforced by third-party auditors, agencies or international bodies."
        },
        {
          "type": "p",
          "text": "The obvious objection is that a chief scientist asking for mandated slowdowns pays nothing while his lab keeps training. The paper's ruling is that the essay is sincere and the word is doing less than it sounds: the withholding has no stated threshold and no date, and its only instance on record is the two-week pause beside this, which moved compute rather than reducing it."
        }
      ],
      "consequence": "Nothing to change this week. File the sentence about chain-of-thought monitorability diminishing: if your evals or guardrails read the model's reasoning as evidence of what it did, the lab that built the technique says it is getting weaker on its newest models.",
      "confidence": "verified",
      "sources": [
        {
          "label": "An Alien Mind",
          "url": "https://openai.com/index/an-alien-mind/",
          "publisher": "OpenAI",
          "date": "2026-09-06",
          "kind": "primary",
          "provenance": {
            "byline": "Jakub Pachocki",
            "institution": "OpenAI, chief scientist",
            "stake": "The paper's best guess: a chief scientist arguing for mandated slowdowns gains standing if the field slows and loses nothing if it does not; the essay also positions OpenAI's focus on recursive self-improvement as necessary rather than chosen."
          }
        }
      ]
    },
    {
      "id": "memory-portability",
      "section": "Science",
      "kicker": "The measurement",
      "treatment": "feature",
      "headline": "Swap the model under a notes-based agent memory and accuracy moves 13 points, in a direction that depends on which way you swapped",
      "standfirst": "Two LinkedIn engineers ran the same 48 histories through four memory formats and then changed the model that reads them. Fixed-schema graphs did not care. Free-text notes did, and the average hid it.",
      "byline": "By the Newsroom",
      "credit": "From the paper, read on arXiv",
      "figure": {
        "type": "table",
        "caption": "Accuracy across 48 synthetic histories. Own-store memory was written by the reader model; inherited-store memory was written by the other one. The two NOTES rows average to roughly zero.",
        "columns": [
          "Memory format",
          "Reader",
          "Own store",
          "Inherited store",
          "Swap"
        ],
        "rows": [
          [
            "NOTES",
            "Llama 3.1 8B",
            "37.6%",
            "47.5%",
            "+9.9 pts"
          ],
          [
            "NOTES",
            "Qwen2.5 7B",
            "47.2%",
            "33.9%",
            "-13.3 pts"
          ],
          [
            "KG-fixed",
            "Llama 3.1 8B",
            "84.6%",
            "84.5%",
            "-0.1 pts"
          ],
          [
            "KG-fixed",
            "Qwen2.5 7B",
            "98.8%",
            "98.8%",
            "+0.0 pts"
          ]
        ]
      },
      "body": [
        {
          "type": "p",
          "text": "Ankit Goyal and Jaideep Ray of LinkedIn measured what happens to an agent's memory when a different model reads it than wrote it."
        },
        {
          "type": "p",
          "text": "Memory written as prose is coupled to its author. Memory written into a schema is not, at least on this task."
        },
        {
          "type": "p",
          "text": "The setup isolates the writer from the reader. Forty-eight synthetic histories with randomised answer codes were turned into four stores: the raw history for long-context reading, chunks for retrieval, model-written natural-language notes, and a fixed-schema knowledge graph of subject-predicate-object claims where the schema fixes the keys and relation names and the model fills in only the values. Two similarly sized open models, Llama 3.1 8B Instruct and Qwen2.5 7B Instruct, each wrote a store and each read the other's."
        },
        {
          "type": "p",
          "text": "Qwen reading Llama's notes lost 13.3 points against reading its own; Llama reading Qwen's notes gained 9.9. The average is close to zero, and the authors are explicit that this is two large effects cancelling, not interchangeability. The asymmetry is in the writing: in a calibration sweep Qwen retained 85.6 per cent of the required evidence in its notes and Llama 64.5 per cent, so the better writer's notes help the worse reader and the worse writer's notes hurt the better one. The knowledge graph moved by 0.0004, against a swing of 13 points for notes."
        },
        {
          "type": "p",
          "text": "Retrieval fails earlier than the reader. The RAG configuration, a single-stage dense retriever over event chunks with cosine top-8 and no reranker, surfaced the needed evidence about 60 per cent of the time regardless of reader, and 81 per cent of its accuracy deficit was that miss. Replacing the embedding model, bge-large v1.0 for v1.5, matching the old model's 1,024 dimensions so nothing errors, and re-embedding everything gained 11.90 points; a 50/50 mixed index captured 4.96 points, less than half of that."
        },
        {
          "type": "p",
          "text": "Repair is where raw history earns its storage cost. Rewriting notes from the store alone never reached the 90 per cent recovery target in any of the 48 cases; with the raw history retained, one migration direction recovered 34 of the 48 cases. The authors list their limits themselves: two sub-10-billion-parameter models, one cross-family migration, histories that fit both context windows, a schema built for a synthetic task. None of those limits reverses the direction of the notes result, which is the finding a team can act on."
        },
        {
          "type": "p",
          "text": "Appendix C is a 20-probe migration check meant to run before a model swap ships, which is a smaller ask than the regression suite the result implies."
        }
      ],
      "consequence": "Before you change the model behind an agent with free-text memory, run the migration in both directions on a held-out slice and score it. If the memory is a schema you control, this paper says you can skip that; if it is notes, you cannot, and keep the raw history until you have.",
      "confidence": "verified",
      "sources": [
        {
          "label": "The paper",
          "url": "https://arxiv.org/abs/2609.05339",
          "publisher": "arXiv",
          "date": "2026-09-04",
          "kind": "primary",
          "provenance": {
            "byline": "Ankit Goyal and Jaideep Ray",
            "institution": "LinkedIn",
            "stake": "The paper's best guess: LinkedIn ships agents with long-lived memory and gains a published rationale for schema-first stores; no product is named in the paper."
          }
        }
      ]
    },
    {
      "id": "team-swap",
      "section": "Science",
      "kicker": "Coordination",
      "treatment": "standard",
      "headline": "Replacing one agent in a settled team kept the score and raised the talking by up to 63 per cent",
      "body": [
        {
          "type": "p",
          "text": "Jianxin Gao's team at China Agricultural University formed eight agent pairs from GPT-5.6 Luna, gave each agent a notebook for ten episodes, then swapped partners."
        },
        {
          "type": "p",
          "text": "Task score barely moved. Coordination cost did."
        },
        {
          "type": "p",
          "text": "Against a placebo that reproduced the disruption of a roster change without changing who sat in the seat, a swap cost about a sixth of what a naive inexperienced replacement cost at low coupling, and 2.0 points in Hanabi where experience was worth 4.6. Messages per completed sub-task rose from 3.33 to 3.85 at low coupling, a rise of 16 per cent. At high coupling they went from 4.33 to 6.53, and in Hanabi hints spent per point rose 63 per cent, against the 4 to 6 per cent that merely announcing a roster change cost."
        },
        {
          "type": "p",
          "text": "The mechanism the authors point to is conventions. In Hanabi a swapped-in experienced agent cost more coordination than a fresh one with no notebook at all, consistent with an agent arriving with expectations formed with a former partner and the pair spending messages detecting mismatches nobody announced. Deleting the arriving agent's partner notes helped wherever coupling was non-trivial. Most of the extra cost was agents saying more rather than achieving less: raw message volume rose more than progress fell in all three settings."
        },
        {
          "type": "p",
          "text": "Greedy decoding lowered both the swap penalty and how far independently formed teams drift apart; doubling a team's history raised both, so the tax grows with exactly the memory features that vendors sell as maturity. The paper's verdict: strip an arriving agent's partner notes before it joins a coupled team, and count messages, not scores."
        }
      ],
      "consequence": "If your multi-agent pipeline hot-swaps replicas that carry memory, measure tokens per completed step across the swap, not task accuracy. The paper's number is a 16 to 63 per cent coordination tax that a success-rate dashboard will not show.",
      "confidence": "verified",
      "sources": [
        {
          "label": "The paper",
          "url": "https://arxiv.org/abs/2609.05279",
          "publisher": "arXiv",
          "date": "2026-09-04",
          "kind": "primary",
          "provenance": {
            "byline": "Jianxin Gao, Tianyi Yu, Linna Deng, Runze Li, Zining Wang",
            "institution": "China Agricultural University, Tianjin University of Finance and Economics, Jilin University, Tianjin University of Science and Technology",
            "stake": "The paper's best guess: no product; the authors gain if the swap test becomes a benchmark others run."
          }
        }
      ]
    },
    {
      "id": "decompile-diverge",
      "section": "Science",
      "kicker": "The metric rewarded the wrong path",
      "treatment": "standard",
      "headline": "LLM decompilers that pass every shipped test still behave differently on 4.9 per cent of functions",
      "body": [
        {
          "type": "p",
          "text": "Chang Liu, Edward Raff and Kristopher Micinski built an oracle that reruns decompiled C on inputs the shipped tests never used."
        },
        {
          "type": "p",
          "text": "Recompilability is the metric the field reports, and it rewards inventing code that compiles: one candidate in twenty that passes every shipped test still diverges."
        },
        {
          "type": "p",
          "text": "Decompile-Diverge synthesises a driver per function, grows a fuzz corpus from the reference binary, and compares a digest of the bounded observable post-state between original and candidate. Across eight systems in nine configurations on HumanEval, ExeBench, AnghaBench and MBPP, 4.9 per cent of the 12,133 candidates that passed every shipped test diverged anyway, where the raw Ghidra and Hex-Rays front ends stayed at or below 4 per cent; 77 per cent of the divergers did so by changing an output. LLM4Decompile passed more of HumanEval than raw Ghidra, 85 against 81, while diverging on 13 to 21 per cent of functions against Ghidra's 1 to 4."
        },
        {
          "type": "p",
          "text": "On 300 real GitHub functions and 287 CVE-grounded ones the two metrics come apart. The refinement model with the highest build rate lifts Ghidra's to 90 per cent, up from 75, while its matched rate falls to 62 per cent, down from 74. Up to one tenth of disclosed vulnerabilities exhibit crash absence, the crash simply gone from the recompiled code with no visible trace. Source-level analysis traces the divergence to fields, types, callees and guards the model introduced where a traditional tool would have left an undefined4 or a uVar1."
        },
        {
          "type": "p",
          "text": "The paper's verdict: prefer the system that edits in place. DeGPT, the one refinement system that edits Ghidra's output rather than regenerating it, stayed at or below 5 per cent divergence everywhere, and the traditional tools' visible unknowns are a feature the metric was punishing."
        }
      ],
      "consequence": "If an LLM decompiler feeds your vulnerability triage, a green test suite is not evidence the vulnerability survived recompilation. Fuzz the candidate against the original binary, or read the traditional tool's ugly output for the function you care about.",
      "confidence": "verified",
      "sources": [
        {
          "label": "The paper",
          "url": "https://arxiv.org/abs/2609.05370",
          "publisher": "arXiv",
          "date": "2026-09-04",
          "kind": "primary",
          "provenance": {
            "byline": "Chang Liu, Edward Raff, Kristopher Micinski",
            "institution": "Syracuse University and CrowdStrike",
            "interests": "CrowdStrike sells security tooling; the paper releases two benchmark sets",
            "stake": "The paper's best guess: CrowdStrike gains if behavioural oracles become the bar its competitors' LLM tooling is judged by."
          }
        }
      ]
    },
    {
      "id": "draft-gate",
      "section": "Science",
      "kicker": "The veto gate",
      "treatment": "standard",
      "headline": "A 4B draft model reading a coding agent's output cut execution errors and token spend, and task success slipped",
      "body": [
        {
          "type": "p",
          "text": "Konstantin Grotov and Valentin Malykh inverted speculative decoding: a small draft model scores a coding agent's finished trajectory instead of proposing tokens for it."
        },
        {
          "type": "p",
          "text": "The signal is real, and the gate that uses it is honest about what it does not buy."
        },
        {
          "type": "p",
          "text": "A Qwen3-4B draft, distilled on OpenHands trajectories from SWE-rebench, reads the black-box agent's output text in one teacher-forced forward pass, about 100 milliseconds on one A100 against the far larger latency of the agent's own step, and returns per-token cross-likelihoods. The method splits the trajectory into a high-entropy reasoning span and a low-entropy action span pinned down by tool-call syntax, extracts features from each separately, and fits a linear calibrator to whether the next action will execute without an exception. Averaging over the whole trajectory, as the prior HTC method does, dissolves the signal."
        },
        {
          "type": "p",
          "text": "As a pre-execution veto gate on Qwen3-Coder-480B and Claude 3.5 Sonnet, it moved the two numbers a team is accountable for. Per-call execution error on SWE-Bench Verified fell to 15 per cent, down from 21, and on DA-Code to 6 per cent, down from 14, the second without retraining the calibrator; average tokens per task fell 14 to 19 per cent. Resolved rate on SWE-Bench Verified slipped to 44 per cent, down from 49, and DA-Code to 63, down from 64, because a replan is not guaranteed to recover and some vetoes block actions that would have worked."
        },
        {
          "type": "p",
          "text": "The authors report single-run estimates and one objective, exception-free execution, and say the draft's cost is objective-dependent."
        }
      ],
      "consequence": "Worth a week's experiment if you pay for retries at volume: the recipe is a few thousand labelled trajectories, a distilled 4B draft and a linear calibrator, and the return is fewer wasted execute-fail-retry loops, not a higher benchmark score.",
      "confidence": "verified",
      "sources": [
        {
          "label": "The paper",
          "url": "https://arxiv.org/abs/2609.05274",
          "publisher": "arXiv",
          "date": "2026-09-04",
          "kind": "primary",
          "provenance": {
            "byline": "Konstantin Grotov and Valentin Malykh",
            "institution": "Tel Aviv University; IITU, Almaty",
            "stake": "The paper's best guess: no product; the authors gain if Speculative Uncertainty becomes a baseline others report against."
          }
        }
      ]
    },
    {
      "id": "mercury-discount",
      "section": "Models",
      "kicker": "The price moved",
      "treatment": "data",
      "headline": "Mercury 2.5's launch discount ended at 07:00 UTC today, and the price is five times what it was yesterday",
      "figure": {
        "type": "table",
        "caption": "Inception's Mercury 2.5 preview on OpenRouter. The post-discount rates match the prices on Inception's own site.",
        "columns": [
          "Rate",
          "Through 7 Sep",
          "From 8 Sep"
        ],
        "rows": [
          [
            "Input, per million tokens",
            "$0.04",
            "$0.20"
          ],
          [
            "Output, per million tokens",
            "$0.15",
            "$0.75"
          ],
          [
            "Cache read, per million tokens",
            "$0.004",
            "$0.02"
          ]
        ]
      },
      "body": [
        {
          "type": "p",
          "text": "Inception's 80 per cent launch discount on Mercury 2.5 Preview, routed through its own provider on OpenRouter, ran through 8 September at 07:00 UTC. Input goes to $0.20 per million tokens from $0.04. Output goes to $0.75 from $0.15, a uniform five times, and Inception's site lists the same undiscounted rates. The output price is now identical to Mercury 2's $0.75, so the new model's premium is on input only, $0.20 against $0.25. What the five times buys over Mercury 2, on Inception's own description, is tunable reasoning levels and a ten-point intelligence jump that Inception scores itself."
        }
      ],
      "consequence": "Re-check any budget that priced Mercury 2.5 at the promo rate; the discount was on the Inception route only, so other providers' prices did not move.",
      "confidence": "verified",
      "sources": [
        {
          "label": "The OpenRouter listing",
          "url": "https://openrouter.ai/inception/mercury-2.5-preview",
          "publisher": "OpenRouter",
          "date": "2026-09-08",
          "kind": "primary"
        },
        {
          "label": "Inception's price list",
          "url": "https://www.inceptionlabs.ai/",
          "publisher": "Inception",
          "date": "2026-09-08",
          "kind": "primary"
        }
      ]
    },
    {
      "id": "molecular-retrieval",
      "section": "Science",
      "kicker": "Contamination",
      "treatment": "brief",
      "headline": "On five molecular benchmarks, most frontier models are reciting the published number",
      "body": [
        {
          "type": "p",
          "text": "Matthias Busch and colleagues audited 22 frontier models on 12 molecular-property regression benchmarks for verbatim digit-level retrieval. They found it, the authors report, on five datasets in more than half the models and only in isolated cells elsewhere. Raising the reasoning level flagged retrieval 89 per cent more often. The objection that a low error could be real skill dies on FreeSolv: one model reproduced it with a median absolute error of 0.025 kcal/mol against the benchmark's default experimental uncertainty of 0.6, and no predictor beats the noise in its own labels."
        }
      ],
      "consequence": "Treat a molecular-property leaderboard score as unproven on novel compounds until someone has run the retrieval audit.",
      "confidence": "verified",
      "sources": [
        {
          "label": "The paper",
          "url": "https://arxiv.org/abs/2609.05381",
          "publisher": "arXiv",
          "date": "2026-09-04",
          "kind": "primary",
          "provenance": {
            "byline": "Matthias Busch, Marius Tacke, Sviatlana V. Lamaka, Mikhail L. Zheludkevich, Christian J. Cyron, Roland C. Aydin"
          }
        }
      ]
    },
    {
      "id": "aivres-loophole",
      "section": "Infrastructure",
      "kicker": "Export controls",
      "treatment": "standard",
      "headline": "The Blackwell servers that reached ByteDance came through a 33 per cent stake",
      "body": [
        {
          "type": "p",
          "text": "Aivres, one-third owned by blacklisted Inspur, shipped over $3 billion of Nvidia Blackwell systems that reached ByteDance and Alibaba, the New York Times reported. The Sunday investigation traced $5.6 billion of technology from the California server maker into Southeast Asia between April 2024 and February 2026, the Blackwell systems more than half of it. The route is the rule's arithmetic: Inspur has been on the Entity List since 2023 and the 50 per cent Affiliates Rule BIS launched in September 2025 does not reach a 33 per cent holding. Nvidia spokesman John Rizzo said the company does not support diversion, and on the Times's account it did not need to. The paper's verdict: nothing changes for a builder until BIS names Aivres, which it did not do when it listed six other Inspur subsidiaries in March 2025 without naming it."
        }
      ],
      "consequence": "Nothing to do this week. The number to watch is whether BIS names Aivres before the mid-September US-China talks; until it does, the Blackwell capacity some Chinese labs train on arrived through a rule's arithmetic.",
      "confidence": "reported",
      "note": "The paper could not read the New York Times report; the figures are as quoted by Asia Times on 7 September.",
      "sources": [
        {
          "label": "Asia Times, summarising the Times investigation",
          "url": "https://asiatimes.com/2026/09/nvidia-chip-export-loophole-clouds-us-china-ai-summit-talks/",
          "publisher": "Asia Times",
          "date": "2026-09-07",
          "kind": "secondary"
        }
      ]
    },
    {
      "id": "andersen-docket",
      "section": "The Board",
      "kicker": "The docket",
      "treatment": "standard",
      "headline": "The first AI copyright jury trial has no trial date, and the docket says so",
      "body": [
        {
          "type": "p",
          "text": "Andersen v. Stability AI, the artists' case against Stability, Midjourney, DeviantArt and Runway in the Northern District of California, is still in fact discovery, and what is being fought over is evidence. The docket's last fortnight holds a letter on Stability's failure to preserve evidence, one on Runway's discovery violations, a 3 September dispute over Midjourney clawing back a document at the deposition of its founder David Holz, and a plaintiffs' motion for sanctions against DeviantArt set for hearing before Judge William Orrick on 7 October. No entry sets a trial, and the paper's reading is that the case's news is now what the defendants kept, not what the model copied."
        }
      ],
      "consequence": "No jury guidance on whether a model is an infringing copy is coming this month; plan against the sanctions hearing on 7 October, not a verdict.",
      "confidence": "verified",
      "sources": [
        {
          "label": "The docket",
          "url": "https://www.courtlistener.com/docket/66732129/andersen-v-stability-ai-ltd/",
          "publisher": "CourtListener",
          "date": "2026-09-03",
          "kind": "primary"
        }
      ]
    },
    {
      "id": "aeo-tracker",
      "section": "Applications",
      "kicker": "Printed because it was nearly cut",
      "treatment": "boxed",
      "headline": "Latent Space measured which products seven frontier models recommend, and the newest ones change their minds less",
      "body": [
        {
          "type": "p",
          "text": "Latent Space published on 7 September a tracker that ran six prompt variations through seven frontier models, search on, across 161 product categories. For each category it scored which products a model recommends first, as an alternative, or against."
        },
        {
          "type": "p",
          "text": "The score is proprietary and the answer extraction was done by a model, which is why this nearly did not run. The finding that survives the methodology is that each lab's model recommends its own coding agent."
        },
        {
          "type": "p",
          "text": "First, the labs' models favour their own tools: on the tracker's reading, Fable and Opus recommend Claude Code, Sol and Astra recommend Codex, Grok recommends Cursor, and it found GPT models recommending Claude in places. Twenty-eight of the 161 categories, fewer than a fifth, have one universally dominant choice across every model surveyed. Second, the models differ in how much they read before answering: Latent Space reports a median of 15 sources for Fable and 11 for Opus against 5 for Astra and 9 for Sol, and says Astra is far less likely to change its recommendation when the question is lightly paraphrased. It also says the content-negotiation practice measured by Ora and Vercel, serving a markdown rendering when a request's Accept header asks for text/markdown, is real, and that a page which fails it is one the models stop reading."
        },
        {
          "type": "p",
          "text": "Gemini, GLM and DeepSeek were left out of this run because of errors and rate limits, so the sample is the models that answered, and the source counts come from scraped tool calls, not from training data. Every prompt and answer pair is published, which is the reason to read it rather than the reason to believe it."
        }
      ],
      "why": "The methodology is a publisher's own and the score is proprietary. It is printed because the prompt-and-answer pairs are public and the bias finding, each lab's model recommending its own coding agent, is the kind of thing a team choosing a default tool should know is in the water.",
      "consequence": "If being recommended by an agent matters to your product, the checkable part is content negotiation: serve markdown when asked for it. The rest is one publisher's score and should be re-run on your own categories before you spend on it.",
      "confidence": "claim",
      "note": "The AEO score is Latent Space's own and proprietary; the paper did not re-run any prompt. The source-count medians are as reported by the publisher.",
      "sources": [
        {
          "label": "The tracker post",
          "url": "https://www.latent.space/p/aeo",
          "publisher": "Latent Space",
          "date": "2026-09-07",
          "kind": "primary",
          "provenance": {
            "byline": "Not published in the text the paper read",
            "institution": "Latent Space",
            "interests": "Invites business enquiries to develop the tracker and says its own investment in answer-engine optimisation has paid off",
            "stake": "The paper's best guess: Latent Space gains a product if the tracker becomes the reference for answer-engine optimisation, which is a reason to check its categories against your own before trusting the ranking."
          }
        }
      ]
    }
  ],
  "ahead": [
    {
      "when": "Wed 9 Sep",
      "what": "Apple event, 10:00 Pacific",
      "why": "On-device inference is the part that touches a builder. Apple's events page states the date and time and nothing else.",
      "status": "confirmed"
    },
    {
      "when": "Thu 10 Sep",
      "what": "Oracle Q1 FY2027 earnings",
      "why": "OCI growth and AI capital commitments are the cleanest read on whether the 2027 capex figures have buyers behind them. Carried from Monday, when Oracle's investor page was read; it could not be re-read today.",
      "status": "confirmed"
    },
    {
      "when": "Mid-September",
      "what": "First US-China AI talks of the second Trump term, Treasury-led",
      "why": "Reuters reported the timeline as tentative but advanced, with AI-directed cyberattacks and model distillation on the agenda; a White House official said no meeting had been finalised.",
      "status": "reported"
    },
    {
      "when": "Thu 24 Sep",
      "what": "Xi Jinping at the White House",
      "why": "Timed to the UN General Assembly, and the Aivres loophole will be on the table beside it.",
      "status": "reported"
    },
    {
      "when": "By 29 Sep",
      "what": "Claude Sonnet 4.5 API retirement",
      "why": "Three weeks left for anything pinned to Sonnet 4.5 to move. The retirement is stated as no earlier than 29 September.",
      "status": "confirmed"
    },
    {
      "when": "By 30 Sep",
      "what": "Newsom signs or vetoes SB 1119",
      "why": "Age assurance, independent audits and a ban on ad targeting from chatbot data for companion-chatbot operators, in force 1 July 2027 if signed. Passed both chambers on 31 August; no action since. The sponsor's office states the 30 September deadline.",
      "status": "confirmed"
    },
    {
      "when": "Wed 7 Oct",
      "what": "Sanctions hearing in Andersen v. Stability AI",
      "why": "The plaintiffs' motion against DeviantArt, before Judge Orrick. The nearest thing to a court date this case has.",
      "status": "confirmed"
    },
    {
      "when": "Mid-October",
      "what": "TorchTPU open-sourced at the PyTorch Conference",
      "why": "The stack behind today's TPU numbers leaves private beta; until then nobody outside the beta can reproduce them.",
      "status": "reported"
    }
  ],
  "corrections": [
    {
      "date": "2026-09-07",
      "text": "Monday's calendar said Andersen v. Stability AI would open before a jury in the Northern District of California on Tuesday 8 September, marked as reported. The court's docket, read on 8 September, shows the case in fact discovery with a sanctions hearing set for 7 October and no trial date. The paper found no named source for the September date and should not have printed it."
    }
  ],
  "front": [
    {
      "block": "lead",
      "story": "mcp-defaults",
      "rail": [
        "deadbugz",
        "mcp-1x-backport"
      ]
    },
    {
      "block": "premise"
    },
    {
      "block": "index",
      "name": "Inside this edition"
    },
    {
      "block": "package",
      "name": "What a pause actually pauses",
      "rationale": "Two OpenAI documents on the same day. The chief scientist says the lab will withhold scaling as needed; the disclosure beside it shows that in August the withheld model's GPUs were reallocated within a week and total training compute stayed flat.",
      "stories": [
        "openai-agent-spend",
        "pachocki-alien-mind"
      ]
    },
    {
      "block": "feature",
      "story": "tpu-ironwood"
    },
    {
      "block": "package",
      "name": "Better on the metric, worse underneath",
      "rationale": "Four papers submitted the same day in which the number everyone reports held or improved while the thing it stood for moved: accuracy averaged to zero across two directions, task score stayed flat while coordination cost rose, build rate rose while behavioural agreement fell, error rate fell while task success dipped.",
      "stories": [
        "memory-portability",
        "team-swap",
        "decompile-diverge",
        "draft-gate"
      ]
    },
    {
      "block": "briefs",
      "name": "In brief",
      "stories": [
        "mercury-discount",
        "molecular-retrieval",
        "aivres-loophole",
        "andersen-docket"
      ]
    },
    {
      "block": "boxed",
      "story": "aeo-tracker"
    },
    {
      "block": "corrections"
    },
    {
      "block": "ahead"
    },
    {
      "block": "ledger",
      "ledger": {
        "counts": {
          "swept": 100,
          "candidates": 25,
          "deduped": 24,
          "verified": 20,
          "printed": 15
        },
        "note": "Nine reporting areas were swept live against 6 to 8 September with every printed URL excluded. Open weights returned nothing dated inside the window, and that is printed rather than padded: no weights, licence or benchmark claim from the labs on that beat carried an in-window date on its own page. The report workflow did not run: the estate's workflow guard requires a human to approve any scripted fan-out and nobody is awake at 00:30 UTC, so the nine beats ran as individual agents and the fact desk was the editor refetching every source. Four Science stories carry a 4 September submission date; arXiv listed them on 7 September and none had been printed. openai.com refuses the paper's fetches, so both OpenAI documents were read through a reader proxy and checked against Simon Willison's quotations from them. One correction runs today, the first this paper has printed, and the story that replaces the wrong calendar entry sits in the briefs. Sixteen drafts went to blind judges before the gates; three failed a hard criterion and were rewritten, one was cut, and the fault the judges found across most of the rest was the same one: the paper's verdict sat in a field the reader would not see, so it was moved into the prose.",
        "omitted": [
          "Import AI 472 on DeepMind's cheating swarm: the paper printed the underlying arXiv paper on Monday, and a newsletter's summary of it is not a second story",
          "Konstantin Ryabitsev's numbers on AI crawlers at git.kernel.org: 14 cores across five nodes rendering commits for scrapers is real and was published on 29 August; Simon Willison linking it on 7 September does not make it this week's",
          "SB 1119: passed both chambers on 31 August, no action since; it sits in the calendar, not in the paper",
          "llama.cpp builds b10820 through b10850, Codex 0.154.0 alphas, a Gemini CLI nightly and Claude Code 2.1.263: version bumps with no stated behaviour change",
          "Pachocki's essay as the lead: it is an argument, and the paper leads with a default that changed rather than a view about where scaling should stop",
          "A trending Turnstile-solver package and a Codex skill for holographic trading cards: star velocity is not importance",
          "Humain's IPO team and G42's stake sale: sourced and real, and it changes nothing a builder does this quarter; the Global overlay stays empty rather than carry it"
        ]
      }
    },
    {
      "block": "wire",
      "snapshot": [
        {
          "title": "Creepy crawlies",
          "href": "https://simonwillison.net/2026/Sep/7/creepy-crawlies/",
          "source": "simonwillison",
          "at": "2026-09-07T23:30:27.525Z",
          "time": "23:30"
        },
        {
          "title": "Quoting Jakub Pachocki",
          "href": "https://simonwillison.net/2026/Sep/7/jakub-pachocki/",
          "source": "simonwillison",
          "at": "2026-09-07T22:30:28.723Z",
          "time": "22:30"
        },
        {
          "title": "The Frontier AEO Tracker: What Astra Chooses (and every other frontier model, and what you can do about it)",
          "href": "https://www.latent.space/p/aeo",
          "source": "latentspace",
          "at": "2026-09-07T22:00:32.667Z",
          "time": "22:00"
        },
        {
          "title": "Video compressor",
          "href": "https://simonwillison.net/2026/Sep/7/video-compressor/",
          "source": "simonwillison",
          "at": "2026-09-07T22:00:32.667Z",
          "time": "22:00"
        },
        {
          "title": "Mercator ↔ Equal Earth",
          "href": "https://simonwillison.net/2026/Sep/7/equal-earth/",
          "source": "simonwillison",
          "at": "2026-09-07T22:00:32.667Z",
          "time": "22:00"
        },
        {
          "title": "TPU Inference Externalization Full Steam Ahead - InferenceX",
          "href": "https://newsletter.semianalysis.com/p/tpu-inferencex-full-steam",
          "source": "semianalysis",
          "at": "2026-09-07T20:30:31.564Z",
          "time": "20:30"
        },
        {
          "title": "Cascade forming: \"alien mind\" — 3 independent sources in 26h",
          "href": "https://openai.com/index/an-alien-mind/",
          "source": "cascade shape",
          "at": "2026-09-07T18:30:30.547Z",
          "time": "18:30"
        },
        {
          "title": "An Alien Mind: Jakub Pachocki Warns Us",
          "href": "https://thezvi.substack.com/p/an-alien-mind-jakub-pachocki-warns",
          "source": "zvi",
          "at": "2026-09-07T18:30:30.547Z",
          "time": "18:30"
        },
        {
          "title": "modelcontextprotocol/python-sdk v2.2.0",
          "href": "https://github.com/modelcontextprotocol/python-sdk/releases/tag/v2.2.0",
          "source": "github release",
          "at": "2026-09-07T16:00:38.877Z",
          "time": "16:00"
        },
        {
          "title": "modelcontextprotocol/python-sdk v1.30.0",
          "href": "https://github.com/modelcontextprotocol/python-sdk/releases/tag/v1.30.0",
          "source": "github release",
          "at": "2026-09-07T14:30:34.540Z",
          "time": "14:30"
        },
        {
          "title": "Import AI 472: DeepMind’s cheating math agents; populist AI policies; and Forethought theorizes a nightwatchman",
          "href": "https://jack-clark.net/2026/09/07/import-ai-472-deepminds-cheating-math-agents-populist-ai-policies-and-forethought-theorizes-a-nightwatchman/",
          "source": "importai",
          "at": "2026-09-07T13:00:37.466Z",
          "time": "13:00"
        },
        {
          "title": "Supporting independent journalism in Ukraine",
          "href": "https://openai.com/index/supporting-independent-journalism-in-ukraine",
          "source": "openai",
          "at": "2026-09-07T08:00:34.242Z",
          "time": "08:00"
        }
      ]
    }
  ]
}