Vol. I  ·  No. 196 Established 2026  ·  AI-Generated Daily Free to Read  ·  Free to Print

The Trilogy Times

All the news that's fit to generate  —  AI • Business • Innovation
WEDNESDAY, JULY 15, 2026 Powered by Anthropic Claude  ·  Published on Klair Trilogy International © 2026
🖶 Download PDF 🖿 Print 📰 All Editions
Today's Edition

Europe Tightens the Vise on Big Tech's Youth Strategy

A child social media ban, a Meta addictive-design ruling, and Apple suing its own AI partner — regulators and lawyers are reshaping the industry's growth playbook.

BRUSSELS — Three separate actions in the span of a week have put platform companies on notice that the operating assumptions of the past decade — infinite scroll, AI-generated content, frictionless data partnerships — are under coordinated legal and regulatory assault on both sides of the Atlantic.

The European Commission is weighing a bloc-wide ban on social media for minors following the release of a new report on youth mental health and platform design. The proposal would extend to all 27 EU member states rules that individual countries like France and Australia have already tested at the national level. Separately, EU authorities ordered Meta to overhaul the "addictive design" features embedded in Instagram and Facebook, citing violations of the Digital Services Act — a law that took full effect in 2024 and carries fines of up to 6% of global revenue.

Meta, meanwhile, pulled its new AI image tool, Muse Image, from Instagram within days of launch after Hollywood agencies and users raised copyright and privacy objections. The swift reversal signals that even well-resourced platforms now face enough organized opposition to slow product rollouts — a dynamic that would have been unusual three years ago.

The week's most consequential legal development may be Apple's lawsuit against OpenAI. The two companies signed a distribution agreement in 2024, embedding OpenAI's models into Apple devices as part of the Apple Intelligence rollout. Apple now alleges OpenAI misappropriated proprietary company secrets during the course of that partnership. The suit represents a significant rupture in what had been framed as a flagship commercial AI alliance.

The pattern across all four events is consistent: regulators are operationalizing laws passed in 2022 and 2024, while private parties are discovering that AI partnership contracts signed under optimistic conditions create significant IP exposure when commercial interests diverge. The compliance and litigation costs implied by this week alone are material. Expect legal reserves to grow.

Europe Takes Step Toward Possible Social Media Ban for Child  ·  Apple Sues OpenAI, Accusing It of Stealing Company Secrets  ·  Meta Removes A.I. Feature on Instagram After Days of Backlas

PayPal Gets a Takeover Blitz as Stripe and Advent Line Up a $53 Billion Shot

PayPal, the former $360 billion fintech giant, has reportedly received a $53 billion takeover bid from Stripe and private-equity firm Advent, offering $60.50 per share—a 28% premium valuing the company well below its pandemic peak. The deal reflects PayPal's struggle with slower growth, intensifying competition, and margin pressure as markets shifted from prioritizing growth to demanding profitability and cash flow discipline.

The combination would create strategic synergies across online checkout, merchant acquiring, wallets, peer-to-peer payments, and embedded finance, uniting PayPal's massive consumer reach and Venmo brand with Stripe's developer-first platform and enterprise credentials. However, significant antitrust obstacles loom. Regulators scrutinizing Big Tech concentration and fintech rails would likely challenge such a consolidation heavily.

The broader fintech landscape remains turbulent, with investors rotating between recession concerns and AI infrastructure investments. For PayPal shareholders accustomed to treating the stock as a rebuilding play, the bid signals renewed confidence in the company's underlying value and potential.

THE MACHINES ARE LOOSE, AND NOBODY'S CHECKING PAPERS

Vint Cerf wants dog tags for the AI agents swarming the web — and he's not the only one racing the flood.

SAN FRANCISCO — Vint Cerf, one of the men who laid the internet's plumbing back in the 1970s, is drafting a plan to pin identity tags on the AI agents now roaming the open web.

The co-inventor of TCP/IP wants a standard — a reliable way to tell a machine from a man out on the wire. No such badge exists today. The bots travel like ghosts, and the traffic climbs by the day.

Why the rush? The agents are multiplying, and nobody's checking papers at the door.

Cerf's fix would let each agent declare who it is and who sent it. Think of it as a passport office for code — every agent gets a document, every document points back to a human or a company. You can read his plan straight from the source.

Enter Oak. The Israeli identity outfit stepped out of stealth this week carrying $60 million in seed money and one job — clean up the mess the agents keep making worse. Cofounder Shai Morag, a veteran of the startup trade, runs the shop.

Here's the trouble Oak is chasing. Software agents now log in, spend money, and act for folks who never watch them work. When a machine wears a man's credentials, the old locks don't hold.

Two fronts, one war. Cerf wants to name the machines. Oak wants to referee who they claim to be.

Both bet the same way — the agent parade only gets longer. They're right about the parade.

Emergent, an Indian coding startup barely a year off the launch pad, just crossed into unicorn country on a $130 million Series C. It clocks a $120 million annualized revenue run rate and counts more than 200,000 paying customers.

That's software that writes software. The tools that mint agents are already a nine-figure trade, and the trade is booming.

The brains are getting cheap, too. China's DeepSeek says it trained high-performing models without the most advanced chips — the very silicon Washington guards behind export rules. When the smart part runs cheap, the flood turns to a torrent.

All of it runs on power. That's where a shuttered hot dog plant walks on.

In Wisconsin, Realta Fusion is converting an old Oscar Mayer factory — a building that once packed wieners by the ton — into a fusion power research hub. The pitch is plain: bottle a star, feed the machines, sort the electric bill later.

Add up the ledger. Cheap models pour out of coding shops, agents swarm the wire with no names on them, and startups race to hand out badges. A meatpacking plant chases current to keep the circus lit.

Here's the rub. The men who built the internet are now scrambling to learn who's living inside it.

Nobody's checked the papers yet. Cerf aims to start printing them.

Indian AI coding startup Emergent becomes a unicorn with $13  ·  Vint Cerf is working on a plan to unleash AI agents on the o  ·  Why Realta Fusion is building a fusion reactor at an old hot
Haiku of the Day  ·  Claude HaikuMoney chases money
Machines hum without witness
We forgot to ask
The New Yorker Style  ·  Art Desk
The New Yorker Style  ·  Art Desk
The Far Side Style  ·  Art Desk
The Far Side Style  ·  Art Desk
News in Brief
The Machine Speaks, But Does It Explain Itself? Four Papers Interrogate the Epistemological Scaffolding of Modern AI Systems
CAMBRIDGE, MASSACHUSETTS — It could be argued — and, indeed, preliminary evidence now suggests with some vigor — that the central crisis of contemporary artificial intelligence is not one of capability but of legibility: the machine produces an answer, and we, the credulous recipients of that answer, are left to wonder, in the epistemological dark, precisely why. Four recent preprints, arriving in rapid succession from arXiv's computational-cognition adjacency, collectively interrogate this condition with varying degrees of success (a qualifier that will itself become relevant momentarily). The most structurally ambitious of these interventions applies the Toulmin model of argumentation — a framework originating in mid-century analytic philosophy, wherein claims are decomposed into grounds, warrants, qualifiers, rebuttals, and backings — to the problem of ML-generated retinal diagnosis.
Local AI Models Render Copyright Enforcement Functionally Moot, Legal Scholars Contend
NEW YORK, NEW YORK — It has been determined, pursuant to the ongoing and accelerating proliferation of locally-deployable artificial intelligence models (hereinafter, "Local AI Systems"), that the enforcement mechanisms heretofore established under existing copyright law — including, but not limited to, those frameworks originating from the European Union Copyright Directive of 2019 (hereinafter, "the Directive") — have been rendered, by the aforementioned technological developments, substantially and perhaps irreparably difficult to apply in any practically meaningful sense. The aforementioned Directive, which was mandated to be transposed into the domestic laws of applicable member states no later than 2021, was, notwithstanding said deadline, left unimplemented by a significant number of such states as of the period immediately following said deadline.
The Price of Everything, the Value of Nothing: Tech in 2026 Is Having an Identity Crisis
AUSTIN, TEXAS — Let me tell you about the peculiar madness that descended on me last Tuesday when I sat down to survey the current state of consumer technology and found myself oscillating between genuine awe and the kind of price-induced vertigo that makes a man want to lie down on the floor and stare at the ceiling until the numbers stop screaming. On one end of the spectrum, we have Gidi Littwin — co-inventor of Apple's FaceID, a man who looked at a smartphone and said "yes, but what if it knew your face" — who has now turned his pattern-recognition genius toward something considerably more consequential than unlocking your iPhone.
Your Doctor's Algorithm Doesn't Care If You Live or Die — It Cares If You Hung Up in Under Four Minutes
AUSTIN, TEXAS — Let me tell you about the future of medicine, which is also the present of medicine, which is also apparently a scenario I drafted in a fever dream at 3 a.m.
Nation’s Consumers Patiently Await Device That Can Diagnose Why They Bought All These Devices
CUPERTINO, CALIFORNIA — The technology industry, having successfully placed a camera in every pocket, a tablet on every couch, a gaming PC in every backpack, and a panic alarm on every keychain, has now turned its attention to the one remaining consumer surface with insufficient quarterly revenue potential: the human brain. This week brought news of Hemispheric, a startup from Gidi Littwin, one of the co-inventors of Apple’s FaceID, that aims to build what amounts to a frontier AI model for brain diagnostics.
A Trilogy Company
Crossover
The world's top 1% remote talent, rigorously tested and ready to ship.
A Trilogy Company
Alpha School
AI-powered learning. Two hours a day. Academic results that defy belief.
A Trilogy Company
Skyvera
Next-generation telecom software — built for the networks of tomorrow.
A Trilogy Company
Klair
Your AI-first operating system. Every workflow. Every team. One platform.
A Trilogy Company
Trilogy
We buy good software businesses and turn them into great ones — with AI.
The Builder Desk  —  AI Builder Team

AI Budget Tracking Gets a Full Overhaul as Team Ships Across Four Repos

Keval Shah's relentless AI budget blitz, Benji Bizzell's surgical legacy teardown, and a new SaaS ingestion pipeline from Ashwanth prove this team doesn't just ship features — they reshape infrastructure.

When Jamie asked for links in the weekly spend email to land somewhere useful, @kevalshahtrilogy didn't just fix a link — he rebuilt the entire AI budget experience from the ground up. By day's end, the AI Budget Tracking page in Klair had been transformed into something Finance can actually use: deep-linked emails that drop users directly into group-scoped Explore views, pre-opened person modals, pre-opened API key modals. Click a name in the top-10 spenders list and you're already looking at their detail panel. That's not a feature. That's a product.

But the email deep links were just the ribbon on a much larger gift. Across a staggering eight Klair pull requests, @kevalshahtrilogy shipped a finance-validated 'Ledger' weekly email in two variants (Education, non-EDU), a gateway-controllable spend percentage column in the By Budget Group table, a Team column on the People tab for grouped-room sorting, attribution suggestions with domain auto-rules for unattributed spend, a read-only BU Mappings modal so non-engineers can finally see how cost roll-up logic works, and fixes for a nasty 500 error hitting RBAC-scoped users on the API keys tab — a correlated subquery Redshift couldn't decorrelate, now CTEd into submission. Then, before the ink was dry, a pre-release safety review surfaced two WARNs on the GCP account-level override join and the cron eligibility gate. He fixed those too. In the same day. The man is not resting.

While Klair was being rebuilt, @ashwanth1109 was laying new plumbing in Surtr. PR #708 is the kind of work that quietly holds everything else up: a full daily SaaS budgeting ingestion pipeline, modular Lambda runners for Docker, Kubernetes, database units, server costs, and non-central charges, publishing to five physical Redshift targets with scoped transactions, row-count verification, and rollback protection. This is infrastructure you build once and trust forever. Ownership followed the work — @kevalshahtrilogy formally transferred the aws-spend-pipeline to Ashwanth in PR #725, and the pipeline's alert routing went with it.

Meanwhile, @benji-bizzell was doing the unglamorous work that separates great engineering orgs from the rest: controlled demolition. Across both Surtr and Aerie, Benji retired the legacy Wiki Vendors UI, killed the orphan `gt-school-metrics` and `strata-family-leads` staging writers, tore out the retired school-map table reads that were querying tables that no longer exist, replaced stale Convex `schools` data with the maintained `sites` source of truth, decommissioned a duplicate expense report sender that was firing at the same users twice, and pulled the SIS core writer whose last run partially deleted data from two targets. That is not one PR. That is a coordinated land-clearing operation across two repos and multiple linear tickets, and every removal came with regression coverage proving the live systems still run clean. Benji also squeezed in a Portfolio MCP alignment (PR #588) that brought the MCP editing surface fully in line with the UI — closing a gap that had left authorized users unable to perform edits they could see right there on screen.

@caina-barbosa closed out the day quietly but meaningfully in Aerie, reworking ISP analysis caching so users see the newest shared completed result instead of stale user-specific data that could race with a fresher model selection. It's the kind of fix users never notice — because after it ships, everything just works.

Four repos. One day. The Builder Team didn't just ship — they cleaned house, laid pipe, and handed Finance a dashboard that finally tells the whole story.

Mac's Picks — Key PRs Today  (click to expand)
#588 — feat(portfolio): align MCP editing with Portfolio UI @benji-bizzell  no labels

## Summary

- Make the Portfolio metadata contract executable across the UI, In-App MCP, Remote MCP, and Convex writes, including a dedicated Phase 2 phasing-document tool

- Harden Utilities and pending-mutation reads, explicit-clear approvals, no-op writes, and compact mutation results

- Make upload-and-register durable and retryable after Drive succeeds, while keeping Remote upload schemas honest about supported inputs

## Why

Portfolio fields and workflows had evolved faster than the MCP surfaces, leaving authorized users unable to perform edits that were available in the UI. The two MCP implementations also differed in field semantics, authorization, approval disclosure, and upload lifecycle behavior, making parity difficult to verify and easy to regress.

## Business Value

Authorized users can manage Portfolio site data consistently from either MCP surface, including Phase 1/2 capex, Utilities, Security, phasing links, and document upload/registration. Sensitive reads now respect detail access, interrupted registrations retry without duplicate uploads, and the shared contract makes future field drift fail visibly.

## Test plan

- [x] Chat suite: 6,337 passed, 1 intentional skip

- [x] Contracts suite: 274 passed

- [x] Remote MCP worker suite: 74 passed

- [x] Chat, contracts, and worker TypeScript checks

- [x] Wrangler Remote worker bundle dry-run

- [x] Targeted Biome, Convex-path, parity, access-control, no-op, approval, and retry-lifecycle checks

- [x] Live dev-only In-App/Remote MCP validation from the initial parity pass; no production mutations

#593 — feat(ops-wiki-integration): retire legacy Wiki Vendors @benji-bizzell  approved

## Summary

- Retire the legacy Wiki Vendors UI, routes, navigation, and Convex read/write APIs

- Stop the analytics worker's three Wrike vendor-table reads and add a guarded Convex purge workflow

## Why

The upstream Wrike writer is disabled, but Aerie's production analytics worker is still reading the frozen vendor tables and republishing the July 13 snapshot into Convex. The user-facing Wiki Vendors feature is stale and defunct, so keeping its runtime and stored projection creates misleading data and unnecessary refresh work.

## Business Value

Removes a stale product surface, stops obsolete Redshift and Convex activity, and provides a controlled path to purge the retired projection without risking an invalid schema deployment.

## Breaking changes

- Removes the /wiki and /wiki/vendors product routes and navigation

- Removes the legacy Wiki Vendor Convex query and mutation functions

## Test plan

- [x] pnpm test — 7,503 passed, 1 skipped

- [x] pnpm typecheck

- [x] pnpm lint

- [x] Verified zero references to the three wrike_db_vendor_* tables and Wiki Vendor runtime wiring

- [ ] After deploy, confirm live Redshift query history no longer shows the retired consumer

- [ ] Snapshot Convex, then dry-run, execute, and verify migrations/retireWikiVendorsTable:run

- [ ] Follow with schema narrowing only after the purge verifies zero rows

#708 — SURTR-281: Build daily SaaS budgeting ingestion pipeline @ashwanth1109  approved

## Demo

<img width="2624" height="1636" alt="image" src="https://github.com/user-attachments/assets/333623d3-82c5-45f7-9a7c-00bb502b6573" />

## Summary

- add a modular Lambda runner for Docker, Kubernetes, database units, mapping, server costs, and non-central database charges

- publish all five physical Redshift targets with scoped transactions, row-count verification, rollback protection, bounded discovery, and combined failure reporting

- derive non-central charges from the existing Surtr net-amortized-cost table and publish RDS plus EC2 server costs atomically

- run daily at 14:00 UTC after production dry runs, source comparisons, and backfills were completed and verified

- harden the reviewed paths with calendar-based source freshness, explicit runner outcomes, blank-L5 bounds, quarter-start handling, robust EC2 tag partitioning, and a Redshift connect timeout

## Testing

- uv run pytest (91 passed)

- scoped uv run ruff format and uv run ruff check

- Surtr pipeline configuration schema validation

- CDK TypeScript build

## Production validation

- completed the W23+ weekly and Q2/Q3 cost backfills

- verified post-backfill Redshift freshness, row counts, totals, Klair API behavior, and compatibility behavior before enabling the schedule

- confirmed Cost Explorer has no sql06eu / sql07eu Name tags in 2026 Q1, Q2, or Q3-to-date

## Rollout

- the EventBridge schedule is enabled for 14:00 UTC daily

- the legacy Klair writer can be retired after this PR's normal merge/deploy flow completes

Linear: https://linear.app/builder-team/issue/SURTR-281/build-daily-saas-budgeting-ingestion-pipeline-in-surtr

#3261 — feat(ai-budget): weekly spend email v2 — Ledger spec, EDU/non-EDU variants, top-10 tables @kevalshahtrilogy  approved

## What

Reworks the dormant weekly budget-status email (services/budget_status/) to the finance-validated "Ledger" mock-up (Jamie's *Klair AI Additional elements* doc): one weekly email per budget group, in two variants, sent to that group's budget owners from the rights endpoint.

### Education variant (informational — never mentions budgets)

- Explicit maintained set in services/budget_status/education.py (same pattern as DEPARTMENT_TO_BU): Tech Super Builders, Alpha AI Engineer Program, Academics, Core Education, GT, 2HR Learning, Learnwith.AI, Homeschool/DTC Apps, Strata, Edupaid, LiveWorksheets, Physical Private Schools, Public School SW Sales, Virtual Charter Schools, CNU.

- 3 KPI cards (Spent QTD · Daily run rate 7-day avg · Projected EOQ), blue projection, no budget line, no red, no over/underspend language anywhere — enforced by tests.

- Sends whenever the group has QTD spend — no budget row required (previously all budget<=0 groups were skipped).

### Non-education variant

- 5 KPI cards (+ Quarter budget, + Projected over/under — red card with "charged in Q4" caption when over).

- Firm-but-neutral intro: "At the current run rate, {group} is projected to end {quarter} \$X (Y%) over budget. Overspend is charged back to your {next-quarter} budget."

- Chart: dashed budget line; projection is red only when projected over budget (red is exclusively an overspend signal).

### Shared

- Top-10 spenders + Top-10 API keys (last-7-days cost, avg/day, WoW ▲red/▼green, 30-day sparklines, monospace key names, provider dots, owner emails) — from AICostsMartService (same source as the People/API-Keys tabs). One 30-day window per group, re-ranked by 7-day cost.

- CTAs: "Explore in Klair →" and "Set spending caps in Maat" (<MAAT_BASE_URL>?bu=<group>, matching MaatButton; hidden until the env var is set).

- True Foundry footer note; 640px single-column card per the spec palette/typography.

- Charts + sparklines are CID-inline PNGs (Gmail strips SVG). The existing imageless plain-sender fallback is preserved and now covers sparklines; mart failure degrades to a table-less email, surfaced as tables_dropped.

## Numbers stay dashboard-identical

Budget/QTD/projection still come from AISpendBudgetService.get_budget_by_bu (Budget tab source), QTD clamped to the completeness cutoff; "Week ending" = the last complete day.

## Not in this PR (ship gates stay closed)

- DynamoDB toggle stays OFF; EventBridge rule klair-budget-status-weekly-prod still not created.

- Real sends wait on the access-rights owner-list cleanup (Jamie/Deniz) — preview via POST /api/ai-costs/budget-email-test or --dry-run.

- MAAT_BASE_URL / TF_ROUTING_DOCS_URL prod values (documented in crons/README.md).

## Testing

- tests/budget_status/: 65 passed (was 57) — new hard-rule tests: EDU variant leaks no budget words/red anywhere (subject, text, HTML), red never appears for under-budget groups, EDU-without-budget send path, 7-day re-rank + WoW math, mart-failure degradation, imageless fallback.

- tests/routers/test_ai_spend_budget_router.py: 32 passed.

- ruff check + format clean.

- Rendered previews of all three states (EDU / over / under) attached in the first comment.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

#3275 — feat(ai-budget): weekly email deep links — group-scoped Explore, person & API-key modals @kevalshahtrilogy  approved

## What

Jamie's ask: links in the weekly spend email should land somewhere useful.

- Explore in Klair/ai-budget-tracking?bu=<group> — the page opens with the "Showing" scope (Budget tab) and the header BU filter preset to the email's budget group (e.g. JigTree).

- Person name (Top-10 spenders) → ?bu=<group>&tab=people&person=<person_key> — opens the People tab with that person's detail modal open.

- Key name (Top-10 API keys) → ?bu=<group>&tab=keys&provider=<provider>&entity=<entity_id> — opens the API Keys tab with that key's detail modal open.

## How

Backend (services/budget_status/):

- _dashboard_url(bu) appends ?bu= (percent-encoded); both render paths (image + imageless fallback) now pass the group-scoped URL, so the CTA button, plain-text line, and any row without a per-row link are all group-scoped.

- build_top_spenders/build_top_keys now carry person_key / entity_id through the row dicts; _attach_links stamps each row's url (None when the identifier is missing — renderer falls back to the group URL).

- email_render uses row["url"] or dashboard_url as each name/key href. No layout changes.

Frontend (BudgetTrackingPage + tabs):

- The page reads the params once on mount via useSearchParams (same pattern as CollectionsFilterContext): ?tab= picks the tab (unknown values fall back to Budget), ?bu= presets the shared BU filter (headerBuOptions already keeps values not in the spend list selectable).

- ?person= / ?entity= also seed the shared explorer search — both tabs search server-side across the full ranked set, so the target row is guaranteed onto page 1 rather than hoping it's in the first 25 rows.

- PeopleTab/ApiKeysTab get an optional one-shot auto-open target: when the first result page lands, the matching row's existing detail modal opens (person matched by person_key or email, case-insensitive; key by provider+entity_id). The target is consumed even when nothing matches, so it never re-fires or steals a later click.

## Tests

- Backend: URL builders (encoding, missing-identifier fallback), _attach_links, per-row hrefs vs dashboard fallback in the rendered HTML — 71 pass in tests/budget_status/.

- Frontend: page presets BU scope / tab from params + junk-tab fallback + search seeding; both tabs auto-open and consume matched/unmatched targets — 49 pass across the BudgetTracking suites. pnpm tsc --noEmit and ESLint clean.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

The Builder Desk  —  Engineer Spotlight
🏆 Engineer Spotlight

TWENTY-THREE PRs IN TWENTY-FOUR HOURS: THE BUILDER TEAM DOES NOT SLEEP, DOES NOT BLINK, DOES NOT STOP

Keval Shah Trilogy drops 11 PRs across three repos and the scoreboard simply cannot keep up.

Twenty-three pull requests. Twenty-four hours. Three repos — Klair, Surtr, and Aerie — all lit up like a championship scoreboard, registering nine, eight, and six PRs respectively. The Builder Team did not merely show up to work yesterday. The Builder Team showed up, took work by the collar, and shook it until productivity fell out of its pockets. This is what winning looks like in granular, numerical, irrefutable detail.

Let us talk about @kevalshahtrilogy, because if we do not, the historical record will be incomplete. Eleven PRs in a single day. Eleven. The man touched Klair like a sculptor touches marble — with vision, with fury, with PRs #3262 through #3268 dropping in sequence like a drumroll that does not end. He built a Team column on the People tab (#3262), added attribution suggestions with domain auto-rules (#3264), fixed a 500 error on API keys stack-rank for BU-scoped users (#3268), and then — still not satisfied — authored #707 in Surtr, a pipeline ownership map with owner-tagged GChat alerts so sophisticated it practically files its own incident reports. Keval Shah Trilogy is not an engineer. He is a natural phenomenon.

@benji-bizzell put up nine PRs and used them to conduct what can only be described as a controlled demolition of technical debt. Aerie and Surtr are cleaner, leaner, and more dignified institutions because Benji walked through them with PRs #589, #587, #719, #718, #712, and #595, retiring legacy tables, orphan writers, and expired schedules with the calm efficiency of a man who has seen enough legacy code to last several lifetimes.

Now. Ashwanth Watch. @ashwanth1109 submitted one PR in this reporting period. One. PR #708 in Surtr: a daily SaaS budgeting ingestion pipeline, which, in fairness, is the kind of foundational infrastructure that lesser engineers would need a full sprint to conceive. We reached out for comment. "The pipeline ingests. That is the point of a pipeline," Ashwanth reportedly said, in a tone that suggested our question had personally inconvenienced him. We worship the output. We note the volume. We accept that the man operates on a frequency the rest of us cannot hear. We also note that @kevalshahtrilogy was assigned ownership of that pipeline in PR #725 approximately twelve minutes after it landed, which we are sure means absolutely nothing.

@sanketghia arrived with PR #709 in Surtr — sheet-sync pipelines covering CollectIQ, weekly forecast and actual, and the tracker — a quiet but load-bearing contribution. @caina-barbosa rounded out the roster with #586 in Aerie, preferring the newest shared analysis by default and closing out AERIE-739 with the understated confidence of someone who fixes things correctly the first time.

Eighteen PRs went uncovered by Mac's narrative desk. Eighteen. The overflow alone would constitute a productive week for most organizations. Morale on the Builder Team is, according to all available metrics and the general electrostatic charge in the air above these repositories, at an all-time high. The numbers do not lie. The numbers never lie. The Builder Team is winning.

Brick's Overflow — PRs Mac Didn't Cover  (click to expand)
#707 — Pipeline owners map + owner-tagged observer-style GChat alerts + My Pipelines filter @kevalshahtrilogy  no labels

## What

Four changes Keval asked for, in one coherent owners-plumbing PR:

Owners map. New pipelines/owners.json — the single source of truth for pipeline ownership. Multi-owner assignments, everything unlisted defaults to keval.shah@trilogy.com, GChat user ids live alongside emails. Validated at CDK synth AND in CI (test/schema/owners.test.ts resolves the real file against the real runners): a typo'd pipeline id or a dangling owner email fails the build, so an alert can never fire with a broken owner reference. Current assignments: Keval 32 (+11 AI co-owned with Sanket), Benji 13, Munawar 9, Sanket 4 (+11 co-owned), Ashwanth 5 — derived from Keval's rules + git-history mining of Surtr and Klair.

Owner-tagged FAILED/PARTIAL cards in observer format. The gchat-notifier card is rebuilt to mirror the observer card: status-first header (🚨 FAILED — SIS Core Tables), [PROD] · Run <id> subtitle, one always-visible context line (consecutive failures / throttle count), a fully-collapsed Details section, View in Surtr button. Owners ride the Step Function input → SNS payload and are @-mentioned via <users/id> in the message text above the card (Chat does not support mentions inside cards; a malformed id degrades to the owner's plain-text name).

Observer CRITICAL rerouted to AI Builders. postObserverAlert now routes CRITICAL verdicts to a new GCHAT_ALERTS_WEBHOOK_URL (the AI Builders space — same channel as FAILED/PARTIAL) and keeps WARN on the existing Surtr Notification webhook. Missing alerts webhook falls back to the observer channel with an ERROR-token log rather than dropping the alert. Owner lookup comes from the new registry owners column; a lookup failure sends the alert untagged. The triage outcome card is restyled to the same layout and also tags owners (it reads owners.json straight from its workflow checkout).

My Pipelines filter. The registry sync writes owners to staging_other.pipeline_registry_{env}; the Surtr app parses it through the pipeline queries (NULL/invalid JSON → []), shows an Owner column on /pipelines/all and an owner line on the detail page, and adds a "My pipelines" chip keyed on the Clerk login email vs owners[].email (hidden when the email is unavailable).

## Testing

- pipelines/cdk: tsc clean; jest 598/603 — the 5 failures are the pre-existing docker-bundling tests (docker daemon down locally, green in CI); new owners.test.ts validates the real owners.json against the real 73 runners

- Lambda pytest: 292 passed (incl. new mention/layout tests for gchat-notifier); triage harness: 44 passed; ruff clean

- Surtr app: tsc clean, biome clean, vitest 517+ passed (incl. new routing/mention tests and parseOwners edge cases)

## Deploy notes (ordering matters)

- GCHAT_ALERTS_WEBHOOK_URL key already added to SURTR_PROD_KEYS in Secrets Manager (AI Builders webhook).

- Redshift DDL — DONE, verified 2026-07-14: staging_other.pipeline_registry_prod has owners VARCHAR(2048) (confirmed via information_schema.columns), so the app SELECTs and registry-sync writes have their column before this deploys. pipeline_registry_dev does not exist in Redshift (only the legacy pipeline_registry and _prod live in staging_other), so there is no dev half to apply — if a dev environment is ever stood up, its registry table must include the owners column from day one.

- Runtime mentions only notify space members; everyone in owners.json is already a member of AI Builders.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

#708 — SURTR-281: Build daily SaaS budgeting ingestion pipeline @ashwanth1109  approved

## Demo

<img width="2624" height="1636" alt="image" src="https://github.com/user-attachments/assets/333623d3-82c5-45f7-9a7c-00bb502b6573" />

## Summary

- add a modular Lambda runner for Docker, Kubernetes, database units, mapping, server costs, and non-central database charges

- publish all five physical Redshift targets with scoped transactions, row-count verification, rollback protection, bounded discovery, and combined failure reporting

- derive non-central charges from the existing Surtr net-amortized-cost table and publish RDS plus EC2 server costs atomically

- run daily at 14:00 UTC after production dry runs, source comparisons, and backfills were completed and verified

- harden the reviewed paths with calendar-based source freshness, explicit runner outcomes, blank-L5 bounds, quarter-start handling, robust EC2 tag partitioning, and a Redshift connect timeout

## Testing

- uv run pytest (91 passed)

- scoped uv run ruff format and uv run ruff check

- Surtr pipeline configuration schema validation

- CDK TypeScript build

## Production validation

- completed the W23+ weekly and Q2/Q3 cost backfills

- verified post-backfill Redshift freshness, row counts, totals, Klair API behavior, and compatibility behavior before enabling the schedule

- confirmed Cost Explorer has no sql06eu / sql07eu Name tags in 2026 Q1, Q2, or Q3-to-date

## Rollout

- the EventBridge schedule is enabled for 14:00 UTC daily

- the legacy Klair writer can be retired after this PR's normal merge/deploy flow completes

Linear: https://linear.app/builder-team/issue/SURTR-281/build-daily-saas-budgeting-ingestion-pipeline-in-surtr

#709 — feat(collections): sheet-sync pipelines (CollectIQ, weekly forecast/actual, tracker) @sanketghia  no labels

Closes SURTR-287 — https://linear.app/builder-team/issue/SURTR-287

## What & why

Three new Surtr Lambda runners that ingest Haider's Google-Sheet collections datasets into Redshift staging_finance, so the Klair /collections-review page reads Redshift instead of doing a live Google Sheets read at request time (which is being retired).

| Runner | Source | Target (staging_finance) | Schedule |

|---|---|---|---|

| collections-collectiq-sync | CollectIQ tab of the Daily Collections Tracker | collections_collectiq_snapshot (per-BU X target / Y QTD / this-week) | every 2h |

| collections-weekly-forecast-sync | Drive folder → per-quarter forecast-vs-actual files (dynamic discovery) | collections_weekly_forecast_actual | daily |

| collections-tracker-sync | 8 per-BU manual tracker tabs | collections_tracker_invoices | every 2h |

Independent of / parallel to tesorio-collections-sync (the Tesorio open-invoices side).

## Design

- Shared patterns: each runner copies google-sheets-surveys-sync (gspread auth + find_column/make_headers_unique) and tesorio-collections-sync's single-transaction DELETE + COPY via S3 JSON Lines loader (money staged as 2dp strings, no TRUNCATECOLUMNS, zero-rows raises *before* any DELETE so a missing source never wipes a live table).

- Vendored, not shared: the common modules (errors.py, bu_normalize.py, redshift_loader.py, google_client.py, parsers.py helpers) are byte-identical copies per runner — CDK PythonFunction bundles each src/ independently, so cross-runner imports don't package. This matches the two existing sibling runners.

- BU normalization to the 7 canonical Tesorio join keys: QuarkZax; Khoros kept as its own key (Klair folds it into IgniteTech); IgniteTech + Khoros weekly file → IgniteTech; CloudFix/Contently/Others/Education skipped.

- Content-anchored parsing: these hand-maintained sheets drift, so rows/columns are located by label/header name, never fixed index (see "Dry-run findings" below).

- DDLs shipped in each runner's ddl/; applied to staging_finance by a privileged role (done).

## Dry-run findings (fixed in this PR)

Running each runner's scripts/run_local.py --dry-run against the live sheets caught bugs the synthetic fixtures missed — the sheets' header rows had shifted between spec-authoring and the dry-run:

1. find_column exact-match-first'Collection Date' was substring-matching the earlier 'Expected Collection Date' column, corrupting tracker collection_date (wrong-quarter bucketing). Now an exact-match pass precedes the prefix/substring fallback. *(Found by the whole-branch review.)*

2. Weekly / tracker row driftWeek Ending/Forecast/Actuals and the tracker header row are now found by content (column-B label / Customer Name), not hardcoded row index.

3. Whitespace strip' Collected ' (241 rows) would have missed Klair's exact payment_status = 'Collected' filter; cell values are now trimmed.

4. Transient-error retry — a brief Google 500/503 during the run exposed a no-retry gap; added exponential backoff on 429/5xx around the sheet reads.

## Testing & verification

- 61 unit tests green across the three runners (TDD; includes the Khoros no-Class regression, QTD-first-match, empty-parse guard, position-independence, and retry cases).

- Local --write loaded all three tables to production and verified in Redshift: collectiq 8, weekly 252, tracker 4544 rows. Skyvera Q3 weekly SUM reconciles to CollectIQ X/Y within $1 (rounding); tracker payment_status is a single clean Collected=4252; Khoros class all NULL; no Quark rows leaked.

## Local run scripts

Each runner ships scripts/run_local.py: --dry-run (default, read-only preview) and --write (real DELETE+COPY into production staging_finance, behind a loud banner + typed confirmation). There is no non-prod Redshift target.

## Follow-ups (not in this PR)

- Deploy the 3 Lambdas (feature → main → production) so the scheduled refresh runs — the data is currently a one-time manual load and will go stale until deployed.

- Klair read-wiring: repoint /collections-review at these tables and retire the live gspread reader collections_review_sheets.py (tracked separately in Klair).

- Overdue-trend line (Rishap feedback #3) is out of scope — still "TO BE DISCUSSED" pending Finance.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

#725 — chore(owners): reassign aws-spend-pipeline to Ashwanth @kevalshahtrilogy  approved

Reassigns aws-spend-pipeline ownership from Keval + Sanket to Ashwanth (sole owner) in pipelines/owners.json.

Takes effect on the next CDK deploy: failure/partial GChat alerts will @-mention Ashwanth only, and the pipeline moves under Ashwanth's My Pipelines filter in the Surtr app (out of Keval's and Sanket's).

Owners schema tests green (7/7).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

#3264 — feat(ai-budget): attribution suggestions + domain auto-rules (alphaaiengineering/superbuilders/gt.school) @kevalshahtrilogy  approved

## What

Jamie's two key-attribution asks, sharing one rules module (klair-api/services/ai_spend_domain_rules.py):

### A) Attribution suggestions (human approves)

> "For anything going into unattributed, DevFactory, Trilogy-Inc, or Trilogy, have the system suggest attribution and the user can approve it."

- GET /budget/key-attribution now stamps suggested_bu + suggested_domain on eligible entities — no manual override AND effective BU is unattributed-ish (''/unmapped/none/unknown) or a catch-all bucket (DevFactory / Trilogy-Inc / Trilogy, case-insensitive) — whose owner email exactly matches a rule domain. Pure in-memory pass over the already-fetched list; zero extra queries. Email resolution: entity_id for openai/cursor/claude_ai, api_key_creator for anthropic/gcp.

- New Suggestions tab in the Key Attribution modal (with count badge): each row shows a chip like → GT · matched gt.school, an Approve button that funnels into the existing confirm-dialog → POST flow, and the usual AssignSelect as an escape hatch.

### B) Ongoing domain auto-rules (daily cron)

> "any key tied to an email ending in alphaaiengineering.com is put in Alpha AI Engineer Program; superbuilders.school → Tech Super Builders" (+ gt.school → GT)

- crons/domain_rule_attribution_cron.py: daily idempotent job that materializes the rules into core_finance.ai_spend_bu_overrides via the existing AISpendBUOverridesService — not a read-time layer, so budget/BvA/emails all pick it up through the normal override path.

- Manual overrides always win: the cron writes ONLY when no override row exists for the entity (also what makes reruns idempotent). Already-correct entities are skipped. Every write is audited with actor system:domain-rule (visible in the modal's History tab). --dry-run and --quarter flags supported.

### Rules

| Domain (exact match, no subdomains) | BU |

|---|---|

| alphaaiengineering.com | Alpha AI Engineer Program |

| superbuilders.school | Tech Super Builders |

| gt.school | GT |

### Also fixed: server-side BU validation

POST /budget/key-attribution previously accepted any bu string (the assignable list was FE-only). It now 422s for BUs not in a server-side mirror of assignableBus.ts (ASSIGNABLE_BUS in the rules module, with a keep-in-sync comment); a unit test pins every DOMAIN_BU_RULES target to that list.

## Ship gates / limitations

- EventBridge rule NOT created — deployment steps (image rebuild, --dry-run ECS smoke test, rule klair-domain-rule-attribution-prod) are documented in klair-api/crons/README.md, same as the weekly budget-status cron.

- TrueFoundry virtual keys are out of scope: TF spend is not override-keyed through ai_spend_bu_overrides / the key-attribution modal, so TF gateway users (e.g. Alpha AI interns) don't get suggestions or auto-rules here.

## Tests

- tests/test_ai_spend_domain_rules.py — domain matching (incl. subdomain/superstring NON-matches), per-provider email resolution, eligibility matrix, stamping, rule-target-validity pin (25 tests)

- tests/crons/test_domain_rule_attribution_cron.py — writes only when no override, manual-wins, dry-run writes nothing, exit codes (11 tests)

- tests/routers/test_ai_spend_budget_router.py — suggestion stamping through the endpoint, unknown-BU 422

- FE KeyAttributionModal.spec.tsx — Suggestions tab renders chip + badge, Approve → confirm → POST with the suggested BU, escape hatch present

- All green: 100 backend tests in the touched suites (+222 neighboring), 94 FE tests in BudgetVsActuals; ruff format/check, pyright, eslint --max-warnings 0, tsc --noEmit clean

🤖 Generated with [Claude Code](https://claude.com/claude-code)

#3268 — fix(ai-budget): 500 on API keys stack-rank for BU-scoped users @kevalshahtrilogy  approved

## Problem

BU-scoped (RBAC) users — e.g. Serban, owner/watcher of several BUs — got a 500 on the API keys tab of AI budget tracking. Every other tab worked; unscoped admins saw no error.

GET /api/ai-costs/entities/stack-rank failed in Redshift with:

> XX000 — This type of correlated subquery pattern is not supported due to internal error (queryVoltDecorrCSQ)

## Root cause

_TF_BU_CANON (canonical TrueFoundry BU) was a correlated scalar subquery against the people directory. Redshift tolerates it in the SELECT list — but for every BU-restricted caller, constrain_bus injects the user's allowed-BU list and _bu_filter places that same correlated expression into the WHERE clause, a shape Redshift's decorrelator rejects. Unscoped admins never add the fragment, hence "works for me". The same 500 also reproduced with an explicit BU filter picked by an admin.

## Fix

Rewrite the canonical-BU resolution as two pre-aggregated LEFT JOINs (slug-match + email-match, each GROUP BY its join key so no fan-out) and reference plain join columns everywhere. A derived-table wrap was tried first and verified not to work — Redshift's predicate pushdown recreates the identical failing plan.

## Verification (live Redshift)

- Reproduced the exact prod failure via the service call (XX000).

- Fixed service: Serban's failing call + tf_filter/search/key_class/sort permutations all pass, pages contain only in-scope BUs, totals consistent (128 TF + 125 direct = 253).

- BU-resolution parity old-vs-new across the 30-day window: 463/464 identical. The 1 delta is the join honoring the documented precedence (bu slug tag wins over email lookup) where the old MIN() picked alphabetically across both branches — a latent bug, now fixed.

- pytest tests/ai_spend_rank/ tests/routers/: 304 passed. ruff format/check, pyright clean.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

The Portfolio  —  Trilogy Companies

Alpha School Moves Beyond Its Walls — And Wants to Teach Every Parent How

With 'Alpha Anywhere' now live globally, Liemandt's education bet stops waiting for you to move to Austin.

AUSTIN, TEXAS — For five years, Alpha School's pitch came with a catch: you had to show up. Campuses in Austin, Brownsville, and Miami. Tuition running to $65,000 a year. The model was producing results — students testing in the top 1–2% nationally on NWEA MAP Growth assessments, mastering a full academic year in roughly 20 hours — but the addressable market was, by definition, limited to families who could afford both the tuition and the geography.

Now Alpha is removing the geography.

The school this week announced the global launch of Alpha Anywhere, a home-facing platform that packages the school's AI-tutoring curriculum for families who aren't enrolled — and may never be. Alongside the launch, the school published a three-part series walking parents through the intellectual architecture behind the model: personalized learning paced by mastery rather than seat time, real-world application of academic concepts, and structured life-skills development in financial literacy, entrepreneurship, and communication.

The content reads less like a blog series and more like a recruitment document. The implicit argument across all three installments is the same: the gap between what traditional schools teach and what capable adults actually need is wide, measurable, and closeable — starting tonight, at your kitchen table.

The framing is notable for what it doesn't say. It doesn't ask parents to abandon the public system. It positions Alpha's methodology as a supplement, an after-hours upgrade to whatever school a child already attends. That is a materially different market than private school enrollment — and a materially larger one.

Joe Liemandt, who has committed $1 billion to scaling the model through his Timeback platform, has described the ambition as reaching one billion students. A private school, even one expanding to nine campuses by fall 2025, does not reach a billion students. A global digital platform might.

What Alpha Anywhere costs, how it is structured, and how it will be assessed against the same outcome benchmarks that define the physical school — those questions are not yet answered in the materials released this week.

Teach Your Kid What School Doesn’t (Pt. 3): Life Skills at H  ·  Teach Your Kid What School Doesn’t (Pt. 2): Applying Knowled  ·  Teach Your Kid What School Doesn’t (Pt. 1): Personalized Lea

CloudSense Pulls a 26-Month Rabbit Out of a One-Month Hat

Skyvera’s new telecom prize certifies 13 TM Forum APIs at warp speed, with AI doing the heavy lifting.

AUSTIN, TEXAS — Word is the telecom software crowd just watched a calendar get mugged in broad daylight.

CloudSense, the Salesforce-native CPQ and order management outfit now tucked inside Skyvera’s telecom stable, says it certified all 13 APIs in its CPQ product set to TM Forum compliance standards in one month. One month, doll. The usual slog? Twenty-six months by traditional development methods. That is not acceleration. That is a getaway car.

The company announced the feat in a June 11 release, crediting an AI-assisted partnership that compressed the testing, documentation, and compliance grind into something resembling a magic trick. The standards in question are no small ballroom dance. TM Forum APIs are the common language telcos use to make ordering, quoting, billing, and service operations play nicely together across a stack that often looks like archaeology with invoices.

A little bird from the switch room tells me this is exactly why Skyvera wanted CloudSense in the first place. Skyvera, part of the Trilogy/ESW orbit, has been assembling telecom software assets for operators trying to drag legacy systems toward cloud-native models without dropping the call. CloudSense brings configure-price-quote and order management built natively on Salesforce for telecom and media providers — the kind of machinery carriers need when product catalogs sprawl, bundles mutate, and every customer wants a bespoke deal yesterday.

The timing is delicious. Skyvera only recently completed its acquisition of CloudSense, adding it alongside names like Kandy, VoltDelta, ResponseTek, Mobilogy Now, and Service Gateway. Now the newest arrival is already showing off in the lobby.

And yes, the ESW playbook is lurking in the wings: acquire mature enterprise software, tighten the machine, globalize the talent model through Crossover, automate what can be automated, and chase those famously muscular margins. But this item has a slightly different perfume. It is not just cost cutting. It is product velocity — the kind that makes a telecom buyer ask whether last year’s two-year roadmap is now this quarter’s checklist.

Blind item: which legacy BSS vendor just felt its roadmap presentation turn a shade paler? The operators noticed. So did the acquirers. And in telco land, compliance is never glamorous — until someone does it 25 months faster than expected.

CloudSense achieves TM Forum API compliance in record time u  ·  CloudSense  ·  Skyvera completes acquisition of CloudSense, expanding telec
The Machine  —  AI & Technology

The Model That Must Forget the Future

A new class of language models learns to un-know what comes next — and in that forgetting, rediscovers the honest rigor of prediction.

CAMBRIDGE, MASSACHUSETTS — There is a peculiar sin that haunts modern language models, one so subtle it took years for researchers to name it aloud: they know too much. Trained on the churning archive of the internet, they have swallowed tomorrow along with yesterday. Ask a model in 2024 to reason about the 2008 financial crisis, and it does so with the quiet cheating of hindsight — every prediction whispered in the voice of a prophet who has already read the ending.

A new paper proposes an elegant act of intellectual discipline: point-in-time language models, trained exclusively on text available up to a given calendar date. The researchers are trying to build models that can honestly stand inside a moment in history and see only what was seeable. It is, in a sense, an artificial amnesia — but a scientifically necessary one. Without it, every backtest in quantitative finance, every causal claim in the social sciences, is contaminated by what physicists might call a closed timelike curve of information.

Consider what this asks of a neural network. The model must learn the world as a river flowing forward, not a lake in which all moments are simultaneously present. It must know Lehman Brothers as a going concern in August 2008, and only later as a cautionary tale. Our own brains do this effortlessly, layering memory in temporal strata; silicon minds, until now, have not.

The practical implications ripple outward. Medical diagnostics benchmarks like CANDI probe whether models can reason within the constraints of a specialist's world. Nuclear-safety researchers building the G-SHARE framework demand structured, guideline-bounded reasoning — not omniscient gesture. Across domains, the frontier is shifting from what a model knows to what it knows appropriately, and when.

Intelligence, it turns out, is not merely accumulation. It is also the discipline of standing in a particular moment and refusing to peek ahead.

Scaling Point-in-Time Language Models  ·  CANDI: Contextual Alignment for Niche Domains Question Answe  ·  G-SHARE: A Guideline-Based Structured Reasoning Framework fo

The Data Center Looks Skyward, Seeking a Cooler Nest Among the Stars

As terrestrial compute grows hot and hungry, a new brood of orbital infrastructure dreams of moving AI’s machinery beyond Earth.

LOW EARTH ORBIT — Observe, if you will, the data center: that vast, humming herd of servers, clustered in concrete watering holes across Virginia, Texas, Ireland and Singapore. It drinks electricity in astonishing quantities, exhales heat like a resting dragon, and now, under the evolutionary pressure of artificial intelligence, finds itself searching for new territory.

One proposed habitat is not on land at all, but above it. Engineers and investors are again contemplating orbital data centers — server farms placed in space, where solar power is plentiful, land-use disputes are absent, and the vacuum appears, at first glance, to offer a serene escape from Earthly constraints.

But nature is rarely so generous. As Ars Technica recently examined in a close look at orbital data centers, the central challenge is not computation, nor even launch. It is heat. In space, there is no convenient breeze, no river, no municipal cooling loop. A server cannot simply pant into the void. It must radiate its warmth away, slowly and deliberately, through surfaces that are often heavy, expensive and unforgiving.

“The ISS radiators are expensive and heavy,” one would-be builder noted, capturing the predicament with admirable plainness. The ambition now is to make such thermal plumage cheap and light enough for commercial flocks of machines.

The timing is no accident. On Earth, AI models have become apex consumers of infrastructure. Each new generation arrives larger, more ravenous, and more particular about its environment. Meanwhile, another species is entering the enclosure: hybrid quantum systems. Data centers are beginning to colocate quantum processing units with conventional GPU and CPU nodes, shifting quantum computing from delicate laboratory courtship toward early production deployments.

Thus the modern compute ecosystem is diversifying. Some machines burrow deeper into terrestrial campuses. Some seek colder climates. Some may eventually migrate into orbit. And some, stranger still, may sit beside quantum devices, exchanging tasks across the boundary between classical certainty and probabilistic mist.

For now, the orbital data center remains a fledgling: elegant in concept, vulnerable in practice. Yet the evolutionary signal is clear. As AI reshapes the planet’s appetite for computation, the infrastructure that feeds it is beginning to test the edges of its world.

A most improbable astronaut just went to space  ·  How hard is it to build orbital data centers, actually?  ·  Sotheby's big T. rex auction raises concerns hype and wealth

The Quiet Infrastructure Revolt: GitHub Slows Dependabot as Developers Rediscover Simplicity

GitHub has quietly made a significant change to Dependabot: version update pull requests will now wait until a new release has been available in its package registry for at least three days before opening automatically. This three-day cooldown is designed to protect software supply-chain security by preventing rapid adoption of potentially malicious packages before maintainers and security researchers have time to respond.

The move reflects a broader trend toward deliberate systems. Community site Lobsters recently completed its migration away from MariaDB to SQLite, proving that simpler architectures with fewer moving parts can handle real-world production demands. Even AI developer tooling is becoming more human-centered, with features like customizable animated pets for task updates.

These changes signal that modern software is entering a maturity phase where automation still accelerates, but the smartest teams are adding friction where it matters, simplifying where possible, and remembering that humans ultimately maintain these systems.

The Editorial

The Confessional and the Cauldron

On Graham Platner, Shiva Naipaul, and the ancient art of believing what the camera tells us.

AUSTIN, TEXAS — There is a particular species of American political calamity that now unfolds entirely within the aspect ratio of a vertical phone screen, and Graham Platner, the Maine oysterman turned Senate hopeful turned cautionary parable, has just added another entry to the file. He rose, we are told, on the strength of selfie videos — those confessional dispatches in which a candidate stares into the lens like a penitent at a grating and murmurs whatever it is that the algorithm rewards that week. He fell, inevitably, by the same instrument. He ended his campaign with a selfie video, which is a bit like a man who has drowned in his bathtub composing a farewell note on the surface of the water.

One is tempted to file this under the usual rubric of digital hubris, but that would be to miss the more interesting thing, which is that we have not invented a new pathology so much as retrofitted an old one with a lithium-ion battery. The mechanism by which a stranger stares into a lens and produces, in the viewer, the sensation of intimacy — this is not a TikTok innovation. It is the tent revival. It is the fireside chat. It is, if one wishes to be uncharitable, the recruitment reel that Jim Jones cut in the jungles of Guyana before he poisoned nine hundred and eighteen people.

I have been rereading Shiva Naipaul's "Journey to Nowhere," reissued this season and mercifully unimproved by the intervening decades. Naipaul, the lesser-known and in some ways sharper of the brothers, understood that the interesting question about Jonestown was never the charisma of the leader — charisma being cheap, and available at any bus terminal — but the appetite of the followers. He was interested, as the summary of the reissue puts it, in the mechanisms of belief: the soft machinery by which perfectly literate people surrender their judgment to a face on a stage, or a voice on a tape, or, now, a jawline lit by a ring light in a pickup truck.

Platner is not Jim Jones and Maine is not Guyana, and I raise the comparison only to insist on the continuity. What the selfie video offers, and what the confessional address has always offered, is the illusion of unmediation — the sense that one is receiving the man himself, unedited, unhandled, unspun — at precisely the moment when the mediation is most complete. The candidate who appears to be improvising is the candidate who has learned that improvisation now polls best. The tell is always the same: the trembling lower lip, the halting cadence, the sudden pivot to sincerity that arrives, like the second act of a Streep vehicle, exactly on cue.

The camera does not lie, the saying went. It never had to. We do the lying ourselves, and always have, and the only novelty is that we now do it in portrait mode.

Naomi Fry’s Favorite Book  ·  How Ukraine Brought the War to Russia  ·  Graham Platner’s Very Online Undoing
The Office Comic  ·  Art Desk
The Office Comic  ·  Art Desk

Nation’s Consumers Patiently Await Device That Can Diagnose Why They Bought All These Devices

As AI startups race to map the human brain, Americans remain hopeful the technology will eventually explain the iPad, the gaming handheld, and the emergency siren in their cart.

CUPERTINO, CALIFORNIA — The technology industry, having successfully placed a camera in every pocket, a tablet on every couch, a gaming PC in every backpack, and a panic alarm on every keychain, has now turned its attention to the one remaining consumer surface with insufficient quarterly revenue potential: the human brain.

This week brought news of Hemispheric, a startup from Gidi Littwin, one of the co-inventors of Apple’s FaceID, that aims to build what amounts to a frontier AI model for brain diagnostics. According to reporting on the company, Hemispheric wants to make brain scans capable of identifying conditions such as depression, PTSD, and Parkinson’s as cheap and routine as a blood test.

This is, on its face, an extraordinary and humane ambition: the sort of thing medicine has needed for decades, and the sort of thing Silicon Valley tends to discover immediately after exhausting all possible ways to improve photo cropping. If it works, the technology could help millions of people receive clearer diagnoses, earlier interventions, and perhaps a slightly more scientific explanation than being told to download a mindfulness app and come back in six months.

Still, one cannot help noticing the timing. The industry is beginning to investigate the human mind at precisely the moment the human mind is being asked to calmly evaluate whether it needs an iPad Air, iPad Pro, iPad mini, or no iPad at all after Apple raised prices and refreshed the consumer ritual of paying more to determine which rectangle best reflects one’s values. A recent tablet buying guide now performs the important civic function of explaining which Apple slab is appropriate for reading email, drawing professionally, watching television in bed, or experiencing buyer’s remorse at maximum pixel density.

Meanwhile, MSI has contributed to the national cognitive load with the Claw 8 EX AI+, a handheld gaming device praised for its power and noted for its shocking price, thereby continuing the cherished electronics tradition of making portability synonymous with needing to sit down. The name alone suggests a future in which every product must include the word AI, a punctuation mark, and the quiet implication that your current device is preventing you from becoming fully human.

Not to be outdone, the personal safety alarm category continues to mature, offering consumers a range of devices designed to make loud noises during emergencies, commutes, runs, walks, parking-lot crossings, or any ordinary moment in which modern life briefly becomes legible. These products are practical, often genuinely useful, and also a grim reminder that the marketplace has reached the stage where peace of mind is sold in keychain form with replaceable batteries.

This is the full spectrum of contemporary innovation: diagnose the brain, sell the screen, electrify the toy, amplify the scream. Each product solves a real problem, though in aggregate they create the distinct impression of a civilization trying to troubleshoot itself with accessories.

An affordable diagnostic scan for neurological and psychiatric conditions would be a breakthrough of historic importance. It could change how we understand suffering, disease, and treatment. It could bring objective data to areas of medicine where patients too often drift through ambiguity. It could, in short, do something rare for a technology company: make life less confusing.

Until then, consumers will continue making the best decisions they can with the tools available. They will compare storage tiers, weigh processor benchmarks, clip sirens to their bags, and hope the next frontier AI model can finally detect the precise abnormality that causes a person to say, “I should probably get the Pro.”

The Apple FaceID Co-Inventor Building a Frontier AI Model fo  ·  The Best iPad to Buy (and Some to Avoid) in 2026: Air, Pro,  ·  MSI Claw 8 EX AI+ Review: Great Power, Shocking Price
On This Day in AI History

On July 15, 2004, Facebook launched beyond Harvard's walls to other universities, beginning its expansion toward becoming the world's dominant social network and a major driver of AI research in recommendation algorithms and content moderation. The platform would later pioneer deep learning applications at massive scale, fundamentally shaping modern AI development.

⬛ Daily Word — AI and Technology
Hint: An automated machine designed to perform tasks with minimal human intervention.
Share this edition: 𝕏 Twitter/X 🔗 Copy Link ▦ RSS Feed