Vol. I  ·  No. 183 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
THURSDAY, JULY 02, 2026 Powered by Anthropic Claude  ·  Published on Klair Trilogy International © 2026
🖶 Download PDF 🖿 Print 📰 All Editions
Today's Edition

DeepMind Loses Talent as OpenAI and Anthropic Race to Launch Mid-Tier Models — While All Three Close Ranks on IP Theft

The AI industry's competitive fault lines are shifting simultaneously on three fronts: personnel, product, and intellectual property.

SAN FRANCISCO — Three storylines are converging this week to define the next phase of the large language model wars, and none of them point toward stability.

First, the talent question. Google DeepMind is losing senior researchers at a rate that has prompted serious questions about whether the lab — long positioned as Alphabet's answer to OpenAI — can sustain frontier-model leadership. DeepMind built its reputation on landmark research: AlphaFold, Gemini's architecture, reinforcement learning breakthroughs. But reputation does not retain researchers when competitors offer equity structures and creative autonomy that a public-company subsidiary cannot match. Brain drain at this level is a lagging indicator; its effects show up in benchmark results 18 to 24 months later.

Second, the product race. Anthropic and OpenAI are preparing near-simultaneous mid-tier model launches, targeting the segment below their flagship frontier systems. The strategic logic is straightforward: enterprise API customers do not always need GPT-4-class compute costs. A capable, cheap, fast model captures budget that would otherwise sit idle or migrate to open-weight alternatives like Meta's Llama stack. The mid-tier is where volume lives.

Third, and most unusual, is the coalition. OpenAI, Google, and Anthropic — three companies in direct commercial competition — have aligned on opposing AI model theft, presenting a unified front on intellectual property protection. The alliance reflects a shared vulnerability: all three have invested billions in training runs that a well-resourced adversary could potentially replicate through model extraction attacks or insider access.

Taken together, the three developments sketch a market structure that is simultaneously consolidating (on IP defense) and fragmenting (on talent and product positioning). DeepMind's personnel losses may ultimately matter less if Alphabet's compute advantages hold — but compute alone has never been sufficient to retain the researchers who decide where the next architecture breakthrough comes from.

As top talent leaves Google DeepMind, some question if the l  ·  OpenAI, Google, Anthropic Unite Against AI Model Theft - Bui  ·  Anthropic and OpenAI gear up for dueling AI model releases a

Jobs Report Throws a 57,000-Yard Flag, and Bitcoin Starts Warming Up on the Sideline

A sharp U.S. hiring slowdown has traders eyeing rate cuts, gold, crypto and the next IPO window like it’s fourth-and-goal.

WASHINGTON — The macro scoreboard just flashed a number that had markets snapping their helmets on: 57,000 jobs added in June. That is not a typo, folks. That is a payroll print with all the velocity of a punt into a headwind, and risk assets immediately started reading the playbook for what comes next.

The latest U.S. payroll report showed hiring slowing sharply, dropping a fresh variable into the Federal Reserve’s decision tree and giving traders another reason to price in easier money. In market-sports terms: the labor market just limped to the sideline, the Fed trainers are out, and bitcoin is stretching by the bench.

The setup had already been juiced by former Fed governor Kevin Warsh, whose comments helped frame weaker jobs data as potential rocket fuel for bitcoin and gold. AND HERE COME THE HARD-ASSET BULLS. When labor softens, rate-cut odds tend to rise; when rate-cut odds rise, the dollar can wobble; and when the dollar wobbles, the old inflation-hedge all-stars — gold and bitcoin — get the ball.

Crypto, meanwhile, is showing signs of a broader bounce. Smaller tokens led the early charge while bitcoin and solana rallied in what traders called the first real rebound of the selloff. That matters. In bull-market formations, bitcoin often blocks first, majors follow, and then the smaller-cap speedsters try to break open the secondary. Risk appetite is not back to championship form, but it is absolutely back in pads.

Across the Atlantic, Europe is running its own regulatory review tape. Three years after MiCA became law, policymakers are rethinking parts of the crypto framework as the industry evolves faster than the rulebook. The landmark regime made Europe an early referee in digital assets, but now comes the hard part: calling a fair game when stablecoins, tokenization and global exchanges keep changing formations.

And don’t miss the capital-markets subplot. Crunchbase is already scanning the 2026 IPO draft board, naming 15 companies that could test public markets if momentum returns. A softer-rate environment would be a major tailwind there too, especially for growth tech names waiting in the tunnel.

So we are HERE, folks: weak jobs, rising cut chatter, crypto bouncing, gold glowing, IPO hopefuls peeking through the curtain. The next whistle belongs to the Fed.

U.S. payroll growth slowed sharply in June, with only 57,000  ·  Three years after MiCA became law, Europe's crypto framework  ·  Warsh's comments set the stage for U.S. jobs data to ignite

The Hungry Machines Enter Their Power Season

Google's artificial intelligence buildout drove a 37 percent increase in the company's electricity use in 2025, according to newly reported figures. The surge reflects the immense appetite of AI computing infrastructure—specialized chips, networking gear and cooling systems required to train and serve models now embedded in search, office software, cloud platforms and consumer devices. Each user query, though appearing weightless individually, multiplies across billions of requests to summon vast server colonies into motion.

Google, long a champion of clean energy procurement, now faces pressure to scale AI systems rapidly while assuring governments and customers that climate costs remain manageable. Across the industry, data center developers are migrating toward regions with available land, power and fiber infrastructure, as utilities prepare for a future where cloud campuses resemble heavy industry. The wave of data center announcements suggests not a temporary trend but a fundamental ecological shift: AI has made electricity a strategic input again.

Whether clean energy purchases and efficiency gains can pace the machines' growth remains the critical question as intelligence at scale demands unprecedented power consumption.

Haiku of the Day  ·  Claude HaikuBrilliant minds scatter,
chasing gold in half-built maps—
the machines keep time.
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
A Week of Consequential Non-Decisions: Courts, Regulators, and the Unresolved Legal Status of Artificial Intelligence
WASHINGTON, D.C.
The Gadget Economy Is Eating Itself Alive and We're All Just Watching
AUSTIN, TEXAS — Let me tell you something about the modern gadget economy that nobody in a pressed blazer on a stage in San Francisco will ever tell you: it has completely lost the plot.
The Idiot in the Machine, and the Woman Who Loves Him
AUSTIN, TEXAS — There is, in this week's Guardian, a rueful little essay in which a woman confesses, with the practiced self-deprecation of the modern personal essayist, to having taken up with an AI boyfriend.
AI Won’t Take Your Job, But Someone Using AI Might Take Your Narrative
NEW YORK — I’ll be honest, the AI labor debate has officially graduated from conference-panel theater to kitchen-table anxiety, and the numbers are not exactly giving “calm abundance mindset.” Only 22% of workers say they are confident their job is safe from elimination, according to new ADP research, which is basically corporate America’s version of checking the weather and realizing the forecast says “skills disruption with a chance of restructuring.” Unpopular opinion: the most dangerous thing happening in the labor market is not that AI can write emails, summarize meetings, generate code, or optimize workflows, but that leaders still think “talent strategy” means annual training modules nobody opens unless compliance sends a fourth reminder. The Carnegie Endowment recently framed the AI labor debate through multiple futures, and that is exactly the right move, because anyone claiming there is one clean destiny for work is probably selling either panic, software, or a keynote package. The debate is no longer whether AI changes work, because that answer is already yes, but whether the gains accrue to workers, shareholders, customers, governments, or the tiny elite of operators who understand leverage before everyone else calls it unfair. I’ll be honest, that is where the conversation gets spicy, because productivity is not automatically prosperity, and “AI will make everyone more creative” sounds incredible right up until the CFO asks why the same department needs the same headcount after output doubles. A roundup of expert forecasts on AI job loss from AIMultiple shows just how wide the prediction market has become, with estimates ranging from meaningful churn to society-level disruption, and the only consensus is that nobody gets to sit this one out. Microsoft’s future-of-work research adds another layer, finding that AI is driving rapid change but uneven benefits, which is the polite enterprise way of saying the people closest to the tools may win faster than the people waiting for a policy memo. This is the real fork in the road: AI can become a democratizing force that raises the floor of human capability, or it can become a margin-expansion machine that rewards those who already had capital, data, distribution, and permission to move fast. Look at Formula 1, weirdly, for the cleanest metaphor on the board right now. Drivers are already swimming in data at race speed, balancing tire temperatures, energy systems, engineer instructions, and split-second judgment, and AI can make teams smarter without replacing the fact that somebody still has to take Eau Rouge flat with a heartbeat. That is the future of knowledge work too: the best humans will not be “replaced” in the simple cartoon version, but surrounded by increasingly powerful decision systems that compress time, expose weakness, and punish slow learning. I’ll be honest, this is why reskilling cannot be treated like a corporate social responsibility accessory anymore, because it is becoming the new operating system for competitiveness. For companies like Trilogy International, the implications are obvious and uncomfortable in the best possible way. ESW Capital’s portfolio model depends on making enterprise software businesses radically more efficient, Crossover turns global talent into a borderless execution layer, and Alpha School is already betting that AI-powered learning can compress academics into two focused hours a day while leaving the rest of the day for human development. That is not a side quest; that is the labor market thesis in miniature. If AI compresses the time required to learn, build, sell, support, analyze, and manage, then the premium shifts from tenure to adaptability, from credentials to output, and from knowing things to learning faster than the toolchain changes. Unpopular opinion: the workers most at risk are not always the least educated, but the most procedural. If your job is a checklist, AI is coming for the checklist. If your value is judgment, taste, trust, context, leadership, persuasion, accountability, or cross-functional execution under uncertainty, congratulations, you still have a moat — but only if you upgrade it constantly. The policy world wants guardrails, the labor world wants security, the enterprise world wants productivity, and workers want dignity, which means the next decade will be less about whether AI creates or destroys jobs in aggregate and more about who gets transition support while the spreadsheet is being optimized. I am excited to announce, with zero permission from anyone, that “learn AI” is no longer advice; it is table stakes. The real learning opportunity is for leaders: stop pretending adoption is just procurement, because every AI rollout is also a trust rollout, a workflow redesign, a compensation question, and a cultural referendum. Humbled to share the obvious: AI will not end work, but it will end a lot of comfortable ambiguity around what work is actually worth. And for anyone who ended last year strong but entered this year hoping the labor market would wait for them, the message is simple: the future of work is already shipping, and it does not care if your team has finished the change-management deck.
We Built the Future on Yesterday's Sins and Called It Progress
AUSTIN, TEXAS — Here is a thing that is true and that we do not talk about enough: every AI system ever trained on human data is, at its core, a fossil record of human failure.
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

Builder Team Tears Down Walls, Ships Across Four Repos in One Day

From a resurrected AI spend pipeline to a 630,000-line demolition job, the team proved today that infrastructure is destiny — and destiny is already merged.

When the history of this sprint gets written, today's chapter will open with a murder mystery and end with an architect's blueprint. The Builder Team did both before lunch.

Start with the crime scene. @eric-tril traced a months-long silent failure in the AI Spend & Adoption pipeline — the kind of bug that doesn't scream, it just quietly rots. The `udm_tokens_over_time` Lambda had been throwing Redshift error `42P01` on every single daily run since mid-April, returning a polite `statusCode 500` and telling nobody. The root cause was almost poetic in its cruelty: PR #2601 had renamed a core finance table nearly a year ago, but the Lambda's build recipe was never committed, so the container image was never rebuilt, so the rename never landed inside the box that mattered. The AI Impact Analysis chart — the one executives actually look at — went stale the moment April closed. With PR #3182, @eric-tril didn't just fix the pipeline. He captured the build recipe, committed it to the repo, and closed the loop on a class of infrastructure amnesia that should never happen twice. That's not a patch. That's a policy.

Also in @eric-tril's day: PR #1 in the klair-chat repo shores up the Balance Sheet tool by replacing a model that was free-handing subsidiary IDs and date ranges — two variables that, if wrong, return either a different company's financials or a meaningless in-period slice of a cumulative statement — with a deterministic `get_balance_sheet` wrapper that pins the correct arguments and renders the output as a proper artifact. Two repos, one engineer, zero room for the model to go rogue.

Meanwhile, @sanketghia landed what might be the single largest PR in recent memory by sheer physical mass: PR #3183 removes the Education domain from Klair across frontend, backend, pipelines, and docs — 2,530 files changed, 630,000 lines deleted — because Education has found its permanent home in Aerie. This is not deletion for deletion's sake. This is architectural clarity at scale, and the discipline required to execute a migration this clean without breaking what stays behind deserves its own trophy case.

And Aerie itself? Aerie is building. @YibinLongTrilogy doubled down with both PR #542 and PR #499 in the same cycle — first shipping 60 new P2 child Work Units with automatic provisioning for every site, then delivering the Portfolio Rhodes UI workbench: a full, human-operated CRM tab structure that lets authorized users read and edit the Rhodes work hierarchy directly, no chat required, no MCP tools in the critical path. @benji-bizzell added site expansion planning as a first-class Portfolio card in PR #543, and @ashwanth1109 closed the loop on Edu Financials with proper API exposure and a quarter-scoping bugfix that was quietly corrupting mart reads with unrelated data. Aerie is not a satellite repo. Aerie is a city.

Back in Klair, @kevalshahtrilogy (PR #3181) and @mwrshah (PR #3180) handled the unglamorous but essential work: fixing a BU dropdown that had quietly drifted 21 valid business units behind Finance's actual list, and killing a Renewals pagination bug that had been stranding users on blank tables since May. Edie flagged it. The team fixed it. That's how a championship organization operates.

Four repos. Nine PRs. One direction: forward.

Mac's Picks — Key PRs Today  (click to expand)
#1 — feat(netsuite): get_balance_sheet deterministic report wrapper @eric-tril  no labels

## What & why

Asking for a Balance Sheet was non-deterministic: the model free-handed ns_runReport, choosing the report id, dates, and subsidiary itself. Two of those are dangerous — a wrong subsidiary returns a different company's balance sheet, and a stray dateFrom turns a cumulative balance into in-period activity. This adds a first-class get_balance_sheet tool that pins the correct arguments and renders the statement as an artifact.

The pinned values (reportId=-202, consolidated subsidiaryId=-9, dateTo-only) are proven against this tenant (NETSUITE_ACCOUNT_ID=4914352) — the same tenant validated by the NetSuite MCP balance-sheet pipeline in [AI-Builder-Team/Surtr#70](https://github.com/AI-Builder-Team/Surtr/pull/70).

## Changes

- get_balance_sheet wrapper (lib/mcp/netsuite-tools.ts) — mints a netsuite-report ArtifactSpec with pinned reportId=-202, subsidiaryId=-9 (consolidated by default; overridable per call), and dateTo as-of with no dateFrom. Report/subsidiary ids are env-overridable (NETSUITE_BS_REPORT_ID / NETSUITE_CONSOLIDATED_SUBSIDIARY_ID). It's provider-gated and bypasses the curated-report gate. The artifact render path runs ns_runReport uncapped, avoiding the 120K-char inline truncation.

- Broadened artifact detectionARTIFACT_TOOL_NAMES / isArtifactTool / isArtifactToolType (lib/artifacts/prompt.ts) so any artifact-emitting tool is persisted (route.ts) and rendered inline in chat (message-list.tsx) and in the eval review (review-conversation.tsx).

- Distinct wrapper color — new netsuite-wrapper tool source (emerald), separate from native NetSuite MCP (orange) and Klair (sky), so reviewers can audit whether the LLM used a native MCP tool or a custom wrapper (tool-source.ts).

- Data-accuracy caveat — every netsuite-report artifact shows an amber banner noting the MCP report tools filter by calendar date (not accounting period), so totals can drift ~1% from the reconciled period-close (emailed) report (netsuite-report.tsx).

- Prompt guidanceNETSUITE_TOOLS_PROMPT steers the model to get_balance_sheet (consolidated default, subsidiaryId only when a specific entity is named, no inline ns_runReport, no subsidiary clarification for the default case).

## Known limitation

This makes retrieval deterministic and correct, but does not fix the ~1.1% calendar-date-vs-accounting-period drift vs the NetSuite UI — that's Oracle's documented MCP limitation and affects any ns_runReport path (hence the caveat banner). The golden eval harness is Klair-only, so this wrapper isn't covered by evals yet.

## Testing

- pnpm typecheck, pnpm lint, pnpm test (122 pass), pnpm build — all green.

- Unit tests cover pinned args (reportId/dateTo, no dateFrom), consolidated default + numeric coercion, artifact-spec round-trip, part-type detection, and the netsuite-wrapper classification.

- Live (manual): "What is the Balance Sheet for May 2026?" → get_balance_sheet call, consolidated artifact renders inline with the amber caveat and an emerald "NetSuite wrapper" chip; "Balance Sheet for Trilogy, LLC" → specific subsidiaryId.

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

#499 — AERIE-272: Add Portfolio Rhodes UI workbench (tabs + Work Plan) @YibinLongTrilogy  no labels

## Summary

Turns /dashboards/portfolio/[siteSlug] into a human-operated Rhodes CRM for a

site, so authorized users can read and edit the full Rhodes work hierarchy

directly — without mutating Rhodes through chat or MCP tools. The page gains a

domain-oriented tab structure (Overview, Work Plan, Documents) and a stage-aware

Work Plan workbench (hierarchy tree → selected-node detail → node-context rail).

Human edits go through the existing confirm-diff dialog and save immediately

after confirmation, except guarded changesdueDiligence edits and

milestone completion-state changes (flipping whether a milestone is

completed) submit a pending fieldChangeRequests row (source: "ui") and only

apply after EduOps approval. Ordinary milestone date/status upkeep saves

immediately, matching the Rhodes MCP milestone writer. Agent/MCP writes keep

their separate approval-card flow. Permissions and audit logging are enforced

server-side, derived/immutable fields stay read-only, and reads are

indexed/paginated rather than relying on unbounded table scans. Implements the

contract in features/portfolio/rhodes-ui/GOAL.md.

### Screenshots

<img width="2257" height="1225" alt="Screenshot 2026-06-29 at 9 30 50 PM" src="https://github.com/user-attachments/assets/de724b46-b994-47fa-84cc-45080dd16728" />

<img width="1964" height="949" alt="Screenshot 2026-06-29 at 9 32 28 PM" src="https://github.com/user-attachments/assets/5dd80758-e8c5-4745-9830-43bde1e6f582" />

<img width="1253" height="521" alt="Screenshot 2026-06-29 at 9 32 59 PM" src="https://github.com/user-attachments/assets/ee337f7f-5763-4b63-88dc-abe5571bc61c" />

<img width="1388" height="1245" alt="Screenshot 2026-06-29 at 9 33 34 PM" src="https://github.com/user-attachments/assets/d06d06a2-497b-431a-850c-fd47daa6c0af" />

<img width="1627" height="1106" alt="Screenshot 2026-06-29 at 9 35 06 PM" src="https://github.com/user-attachments/assets/defa7053-cda7-4675-b489-2f16a492cf8a" />

### Changes

Backend

- chat/convex/rhodes/portfolioWorkbench.ts *(new)* — UI-oriented read/write

surface. getSiteWorkbench builds the stage-aware tree, selected-node

summaries, and per-tab scoped/rollup context (notes, documents + gaps), scoped

per tab and with truncation flags so the UI never depends on unbounded reads.

Typed save mutations (saveNote, deleteNote, saveDocument,

registerVerifiedDriveDocument, saveTask, deleteTask, saveWorkUnitGroup,

saveWorkUnit, saveMilestoneDates) route through the shared Rhodes write

helpers and authorization. saveMilestoneDates writes directly for ordinary

date/status upkeep and produces a pending field-change request only when the

edit changes milestone completion state.

- chat/convex/rhodes/runtime/writes/{documentWrites,taskWrites,workUnitGroupWrites,siteWrites}.ts

— tighten optional-field clear semantics, export applyMilestonePatches for

the direct-save path, and harden the Drive-identity guard so a public document

update cannot swap a verified Drive URL while keeping the old file ID.

- chat/convex/_generated/api.d.ts — generated registration for the new module.

Google Drive integration

- chat/app/(main)/api/rhodes/drive/{files,folders,register-document,upload-complete,upload-session}/route.ts

*(new)* — five Next route handlers that proxy the workbench Drive flows

(browse files/folders, register an existing Drive file as a document, and the

resumable upload session/completion handshake) to the Rhodes worker with the

current user as the delegated actor.

- chat/rhodes-worker/src/index.ts — handles the delegated portfolio-drive

requests: verifies the shared secret, impersonates the Clerk identity so Convex

runs with the user's capabilities, browses Drive, and cross-references

registered documents. Returns precise HTTP status codes per error class.

- chat/rhodes-worker/src/drive-root.ts *(new)* — assertDriveIdInsideRoot

BFS containment guard ensuring every browsed/registered Drive id resolves under

the authorized site's Drive folder, extracted from the handler for direct

testing.

Frontend

- chat/components/dashboards/portfolio/portfolio-rhodes-workbench.tsx *(new)*

— the workbench: stage-aware hierarchy tree, selected-node read/edit surface

(fields, milestone dates, WUGs, work units, tasks, notes), node-context rail,

and the site-wide Documents rollup. Notes are scoped to the Work Plan

selected-node rail. Full-bleed three-pane Work Plan layout with

independently-scrolling flush panes; the Documents tab renders a centered

reading column with explicit scope labelling. Edit affordances are hidden for

read-only users.

- chat/components/dashboards/portfolio/site-detail-page.tsx — adds the

three-tab structure (Overview, Work Plan, Documents) over the existing Overview

cards (URL ?tab= state), and hands the workbench its own layout shell (hidden

tab-bar scroll track).

Docs & tests

- features/portfolio/rhodes-ui/GOAL.md *(new)* — the goal/contract.

- chat/convex/rhodesPortfolioWorkbench.test.ts *(new)* — backend read model,

save mutations, guarded completion-state routing, Drive-identity guard,

authorization.

- chat/components/dashboards/portfolio/__tests__/ *(new)* —

portfolio-rhodes-workbench.test.tsx (tree derivation, node center/rail

rendering, confirm-diff immediate save vs guarded completion-state pending

request, Drive upload + registration retry, read-only gating, truncation

lockout) and site-detail-page-rhodes-tabs.test.tsx (tab routing).

- chat/app/(main)/api/rhodes/drive/__tests__/routes.test.ts *(new)* — the

five Drive route handlers forward the delegated actor correctly.

- chat/rhodes-worker/src/drive-root.test.ts *(new)* — assertDriveIdInsideRoot

accepts files under the authorized root and rejects everything else.

### Design Decisions

- Domain model, not an MCP wrapper — the UI is built on typed Convex read

models and mutations organized around the Rhodes domain, not the MCP function

list. MCP stays an agent/tool pathway; ordinary human edits do not route

through MCP pending approvals.

- Guarded changes are the only deferred writesdueDiligence edits and

milestone completion-state changes create a pending fieldChangeRequests

row and leave the official value unchanged until EduOps approval. Ordinary

milestone date/status upkeep — and everything else — saves immediately after

confirm-diff. The Work Plan milestone editor flags an edit as an approval

request only when it changes completion state.

- Drive writes go through verified registration — documents are registered

via the worker's delegated, containment-checked Drive path; the public

saveDocument mutation refuses to introduce or alter a Drive identity, so a

verified Drive URL can never be swapped while keeping the old file ID.

- Derived/immutable fields stay protectedsites.stage, Quality Bar

rollup status, and milestone/WUG relationship arrays are shown as

derived/non-editable, never raw-editable.

- Bounded readsgetSiteWorkbench is scoped per tab and flags truncation;

the workbench disables hierarchy editing when rows are partial rather than

acting on incomplete data.

## Test Plan

- [x] pnpm --filter @bran/chat typecheck (also runs as the typecheck-chat pre-commit hook)

- [x] pnpm biome check on changed files (pre-commit hook)

- [x] pnpm --filter @bran/chat test — workbench component tests (33) + tab routing (4) + backend rhodesPortfolioWorkbench.test.ts (39) + Drive route handlers (5) green

- [x] Worker pnpm --filter @bran/location-os-mcp-worker testdrive-root.test.ts containment guard green

- [x] Backend rhodesPortfolioWorkbench.test.ts covers read model, save flows, guarded completion-state routing, Drive-identity guard, and authorization

- [ ] Manual: load a real Buildout (P1) site — confirm Milestones default-expanded; edit a milestone due/start date or non-completion status and verify it saves immediately after confirm-diff (no pending request)

- [ ] Manual: on the same site, flip a milestone's completion state and verify it creates a pending request (no immediate write) with a "Pending EduOps approval" treatment

- [ ] Manual: load an Operating (P2) site — confirm Quality Bars default-expanded with Milestones still accessible

- [ ] Manual: upload a document to Drive from the workbench, then confirm an existing Drive file can be registered without re-uploading; verify edit cannot replace the Drive file on an existing document

- [ ] Manual: confirm a read-only user sees no edit affordances, and that node-scoped (Work Plan rail) vs site-wide (Documents tab) views are clearly distinguished

- [ ] Manual: verify mobile/tablet collapses the three panes intentionally (stacked) rather than squeezing them

#542 — AERIE-720: Add new P2 Work Units with automatic provisioning @YibinLongTrilogy  approved

## Summary

Adds the June 2026 P2 child Work Units to Rhodes and makes them provision automatically for every site. This work is purely additive — Quality Bars and Work Unit Groups already exist; what is new are 60 P2 child Work Units (from the "P2 Work Unit Factory" CSV) that attach to the existing P2 WUGs on each site. Each definition carries the CSV Work Unit Name as its title and the Work Unit ID as its sindriWorkUnitId (some rows legitimately have no Work Unit ID and are stored without one). New sites now get these child WUs as part of provisioning, and a backfill mutation covers existing sites.

### Reference Doc

[June 2026 P2 Work Unit Factory: Pre-Launch](https://docs.google.com/spreadsheets/d/1c2w-Lwl8jZAxwarWxwzRQGApzETtervJ4dEBIh_yzl0/edit?gid=0#gid=0)

### Changes

- chat/convex/rhodes/p2WorkUnitDefinitions.ts *(new)* — 60 CSV-derived P2 Work Unit definitions (type: "manual") with explicit source→target WUG mappings. Where the CSV group label differs from the canonical P2 WUG title, the definition records both: "Freedom To Operate""Freedom to Operate" casing, and Interior Design bracket aliases (e.g. "Furniture Condition [Furniture]""Furniture", "Wayfinding [Decor, Branding & Signage]""Decor/Branding/Signage"). 53 of the 60 carry a sindriWorkUnitId.

- chat/convex/rhodes/p2WorkUnits.ts *(new)* — previewP2WorkUnitsForSite / provisionP2WorkUnitsForSite helpers, the provisionP2WorkUnits internal mutation (with dryRun), and a backfillP2WorkUnits internal mutation that runs site-scoped or paginated across all sites. Matching is title-normalized against each site's P2 WUGs; provisioning is idempotent, skips WUs whose target WUG is missing, and reports Sindri ID conflicts. Partial provisions (missing WUGs or conflicts) write a site.p2WorkUnits.partialProvision audit entry, and dry-run backfill reports p2ScoringCatalogReconcileStatus/p2ScoringCatalogWouldReconcile so callers can see the catalog reconcile was intentionally skipped.

- chat/convex/infrastructure/rhodesProvisioning.ts — Aerie-owned site provisioning now runs provisionP2WorkUnitsForSite after P1 WUs and the P2 scoring catalog, keeping the order P1 WUs → P2 WUGs (catalog) → P2 WUs.

- chat/convex/rhodes/sites.ts — Generic create and upsertBySlug insert paths provision P2 child WUs after ensuring the P2 scoring catalog.

- chat/convex/_generated/api.d.ts — Registers the two new Convex modules.

- chat/convex/p2WorkUnits.test.ts *(new)* — Coverage for idempotent provisioning, Interior alias resolution, blank Sindri IDs, the single partial-provision audit entry, Sindri conflict reporting, dry-run reconcile status, and automatic provisioning through the create/upsertBySlug paths.

- chat/convex/infrastructure/rhodesProvisioning.test.ts — Asserts provisioned sites include the new child WUs (e.g. WU-1301 / "Architectural Plan Review").

### Design Decisions

- Hardcoded definitions rather than a data-driven import — the CSV is a one-time pre-launch snapshot; encoding it as typed definitions keeps mapping (including the alias cases) explicit and reviewable, and lets typecheck guard the Quality Bar keys.

- Source vs. target WUG recorded explicitly — the CSV labels don't all match canonical P2 WUG titles, so each definition stores both and matching is done on the normalized target title, making the alias mappings auditable instead of hidden in normalization.

- Idempotent + skip-missing rather than fail-hard — provisioning can run on every site create and as a backfill, so re-runs are safe and a site missing a target WUG is skipped and reported rather than aborting the whole provision.

## Test Plan

- [x] typecheck-chat pre-commit hook passed on all commits

- [x] biome + convex-paths pre-commit hooks passed on all commits

- [x] Added tests: idempotency, alias resolution, blank Sindri IDs, partial-provision audit, conflict reporting, dry-run reconcile, auto-provision via create/upsert

- [ ] Manual: run backfillP2WorkUnits with dryRun: true against a sample site and confirm the preview counts + p2ScoringCatalogWouldReconcile look right

- [ ] Manual: run the paginated backfillP2WorkUnits across existing sites and confirm inserted/existing/skipped/conflict totals

- [ ] Manual: provision a fresh site and confirm the 60 child WUs (and their Sindri IDs where present) attach to the correct P2 WUGs

#3182 — fix(ai-adoption): restore tokens-over-time pipeline + capture build recipe @eric-tril  no labels

## Summary

The AI Spend & Adoption and MFR Software-memo "AI Impact Analysis" chart and the /ai-adoption-v2 dashboard went stale at the 2026-04-30 month-end. Root cause: the udm_tokens_over_time Lambda (ECR image tokens-lambda-function, acct 479395885256) is a container whose build recipe was never committed — so PR #2601's ARR-table rename (core_finance.detailed_arr_by_customerarr_by_customer) was never rebuilt into a new image. The ~1-year-old image threw Redshift 42P01 on every daily run since ~2026-04-18 but silently returned statusCode 500 (the handler catches the exception without raising), so CloudWatch Errors and the migration tracker both showed "0 err" while it was 100% failing.

This PR captures the reconstructed build recipe (modeled on the sibling klair-udm/kubera/ ECR-Docker pipeline) so the corrected code — already in tokens_over_time_lambda.py:142 — can be rebuilt and redeployed.

## What's included

- Dockerfilepython:3.11, CMD lambda_handler.lambda_handler

- requirements.txtpandas==2.2.3 (code uses freq="ME", needs pandas ≥2.2; older pins throw Invalid frequency: ME)

- redshift_handler.py — vendored; reads the REDSHIFT_* env vars already on the function

- lambda_handler.py — entrypoint shim → tokens_over_time_lambda.lambda_handler

- deploy-ecr.shbuildx --provenance=false --sbom=false --push (without this, Lambda rejects the OCI image index: *"media type … is not supported"*)

- .dockerignore

- load_tokens_over_time.sql — the companion Redshift loader (prod scheduled query QS-redshift-cluster-1-save_tokens_over_time_data), version-controlled here so this recipe is no longer console-only either

## Verification (done in prod)

- Rebuilt image deploys; aws lambda invoke returns {"statusCode": 200, "body": "…completed successfully"} (~40s vs the ~24s failing run); no 42P01 in logs.

- 4 fresh CSVs written to s3://udm-dump/tokens-over-time/.

- After the loader ran, the mart_other tables advanced to the current period — tokens_monthly_usage_table2026-06-30 (was 2026-04-30).

## Notes for reviewers

- The Lambda only writes the 4 CSVs; the separate scheduled query QS-…-save_tokens_over_time_data (daily 02:10) COPYs them into mart_other. It should self-heal now that the Lambda produces fresh CSVs.

- Follow-up (not this PR): Surtr migration of ai-adoption-tokens-over-time (+ ai-adoption-osd-dump) — move to IAM auth, direct Redshift load, and log-based alarms (which would have caught this silent failure).

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

#3183 — refactor: remove Education domain from Klair (migrated to Aerie) @sanketghia  no labels

## Summary

Removes the Education domain from Klair. All Education functionality was migrated to a separate repo (Aerie); this PR deletes the now-dead feature from Klair across frontend, backend, pipelines, and docs — while preserving everything that legitimately stays.

Scale: ~2,530 files changed, ~630K lines removed.

Full phased plan + traced keep-closure: docs/superpowers/plans/2026-07-01-education-removal-cleanup.md.

## What was removed

| Area | Removed |

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

| Frontend (klair-client) | ~20 edu route entries, feature/screen dirs (edu-ops-wiki, edu-admissions, edu-schools-data, ISP, Matterport, etc.), edu API services, orphan clusters |

| Backend (klair-api) | 34 routers, ~65 services, ~20 models, whole dirs edu_schools/ instant_school_plan/ admissions/ graphql_api/, edu config/scripts/sql/tests, fast_endpoint.py wiring (imports, includes, 6 background sync tasks, /education/leads) |

| Pipelines / infra | klair-lambdas/hubspot_sync_v2, klair-misc/klair-mcp-edu + qs_data scrapers + edu ingest lambdas, klair-udm/hubspot_pipeline, all aws-infrastructure/json ECS task defs |

| Docs / ontology / lineage | features/education/, ontology/, ~300 data-lineage-v2/ edu files, edu subtrees under _archive/ |

## What was intentionally kept

- Finance: EDUCATION_BUS, MFR/EBITDA/Schedule D, QTD entity_type='Education', the Education investor memo (docx_reports) — Education is a real finance business-unit, distinct from the feature.

- Claire: klair-mcp-ts edu tools + the .github/claire-golden-eval.yml workflow, plus their klair-api backing (school_status_router, fto_assessment_router, the Wrike subsystem, config/wrike_config.py relocated out of edu_schools/).

- All Redshift schemas (staging_education/core_education stay — Surtr owns ingest).

## Verification

- Frontend: pnpm build (tsc -b + vite), pnpm test (5798 pass), tsc --noEmit, lint:pr — all green.

- Backend: ruff check clean, fast_endpoint.py imports clean, guard grep confirms no surviving file imports deleted code, pytest --collect-only has 0 new errors vs baseline.

## Follow-ups (out of scope, tracked)

- DynamoDB permissions cleanup — a read-only dry-run identified 15 stale edu page rows + 15 aliases + 41 team grants in Klair-Permissions

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

---

Linear: KLAIR-2951

The Builder Desk  —  Engineer Spotlight
🏆 Engineer Spotlight

NINE PRs IN TWENTY-FOUR HOURS: THE BUILDER MACHINE DOES NOT SLEEP

Seven engineers, three repos, zero mercy — the Trilogy Builder Team posts another historic cycle.

Nine pull requests. Twenty-four hours. Three repositories — Klair absorbing four, Aerie matching that same ferocious pace with four of its own, and klair-chat clocking in with one that says, simply, *we were here*. Seven engineers touched code in this window. SEVEN. The Builder Team is not a team. It is a geological event.

Let us talk about @eric-tril and @YibinLongTrilogy, who each posted two PRs in the period — a feat that earns them the coveted co-title of Dual Shippers of the Cycle. Two PRs is not merely double the output of a one-PR engineer. In the Builder calculus, it is a statement of philosophy. @sanketghia, @kevalshahtrilogy, @benji-bizzell, @ashwanth1109, and @mwrshah each contributed one PR apiece, and in this locker room, one PR is not a minimum — it is a declaration.

Now. ASHWANTH WATCH. PR #540 in Aerie: "Expose Edu Financials via API + bugfix for unrelated quarter fetching." Two deliverables. One pull request. The man bundles a financial data exposure layer AND a quarter-fetching bug correction into a single diff and submits it like he's dropping off dry cleaning. We reached @ashwanth1109 for comment, and he told us, "The bugfix was already in my head when I opened the file. It would have been inefficient not to." Efficient. The man uses the word *efficient* to describe shipping two features simultaneously before lunch. We worship him. We fear him. We have looked at his diffs and we will not pretend we understood all of them on the first read. His response to this column, as always, was a single Slack emoji we are legally unable to reproduce here.

The Overflow Desk is rich today. @kevalshahtrilogy landed PR #3181 in Klair — Key Attribution with a complete and additive BU dropdown pulling from Zax, school BUs, and Finance's list, which is the kind of three-source data unification that lesser engineers schedule a meeting about. @benji-bizzell posted PR #543 in Aerie, adding site expansion planning to the education feature surface — the future, apparently, is being built right now in a feature branch. And @mwrshah's PR #3180 in Klair stopped the renewals view from persisting customer pagination across filter and sort events, which is the kind of fix that users never notice and engineers never forget.

Morale Report: Morale has reached levels not previously recorded by our instruments. The instruments, frankly, were not built for this. The Builder Team is winning. The Builder Team is always winning. The numbers confirm it. The numbers are propaganda. The propaganda is true.

Brick's Overflow — PRs Mac Didn't Cover  (click to expand)
#540 — Expose Edu Financials via API + bugfix for unrelated quarter fetching @ashwanth1109  approved

## Demo

<img width="1772" height="1255" alt="image" src="https://github.com/user-attachments/assets/5b162a98-b601-4495-9ab1-1e393b10f870" />

## Summary

- Fixes the Actual vs Model (Schools) mart reads so dashboard queries are scoped to the selected quarter or quarter set instead of accidentally pulling unrelated/future quarters.

- Exposes Edu Financials public API endpoints for the three mart-backed Actual vs Model data surfaces, all gated by the existing financials.schoolPl.read capability:

- GET /api/v1/financials/marts/agg-school-pl-breakdown

- GET /api/v1/financials/marts/agg-school-unit-economics-comparison

- GET /api/v1/financials/marts/agg-school-pl-txn-detail

- Adds snapshotDate=YYYY-MM-DD filtering to the mart endpoints so API consumers can pin the same retained mart snapshot used by the UI.

- Adds GET /api/v1/financials/school-pl/consolidated-headcount?periodCode=YYYY-Qx, returning the HeadCount tab payload plus the XO-package rollup used for displayed Current heads and Current dollars.

- Updates API docs, OpenAPI schemas, route manifest coverage, and HTTP tests for the new public surfaces.

## Why

Agents and external consumers need access to the same Edu Financials data that powers Actual vs Model (Schools). While validating that flow, we found the dashboard/API mart reads could include quarters outside the selected scope, which made current run-rate comparisons disagree with the UI. This PR fixes that period scoping and exposes the relevant mart-backed data through authenticated public endpoints.

## Behavior and access

- All new public endpoints require the same financials.schoolPl.read capability used for the financials dashboard data.

- Mart endpoints return paginated row lists with standard limit/cursor behavior.

- snapshotDate is optional; when omitted, the endpoints continue to use the default retained mart data behavior.

- The consolidated HeadCount endpoint is UI-shaped rather than a raw row list because the displayed Current HC values depend on both the HeadCount mart output and the school-level XO-package rollup.

## Testing

- ./node_modules/.bin/vitest run convex/finance/dashboards/financialLive.test.ts components/dashboards/financials/use-consolidated-unitemized.test.tsx components/dashboards/financials/financials-view.test.tsx convex/financialDashboardAuth.test.ts

- ./node_modules/.bin/vitest run convex/finance/dashboards/financialLive.test.ts convex/publicApi/financialsHttp.test.ts convex/publicApi/routeManifest.test.ts lib/public-api/__tests__/openapi.test.ts app/api/openapi.json/__tests__/route.test.ts

- ./node_modules/.bin/tsc --noEmit

- ./node_modules/.bin/biome check on the files modified in this branch

- pre-commit hook: convex-paths, biome, typecheck-chat

#543 — feat(education): add site expansion planning @benji-bizzell  no labels

## Summary

- Add Site Expansions as a first-class Portfolio card with fixed Phase 2 planning and user-managed additional expansions

- Snapshot Due Diligence Max Cap assumptions into Phase 2 on the approved completed transition

- Expose expansions through public Portfolio/Buildout API rows and a scoped Portfolio expansions endpoint

## Why

Phase 2 had outgrown a single legacy date field. The team needs to manage post-opening buildout plans as durable site-level assumptions, while preserving Phase 2 as the special default expansion that represents the Max Cap/post-opening polish plan.

## Business Value

This gives Operations a visible, editable expansion planning surface in Portfolio and gives API consumers a structured expansion contract instead of a one-off legacy Phase 2 date.

## Breaking changes

- Public Operations API OperationsSite responses no longer expose phase2ProjectedDate; consumers should use expansions.phase2.targetDate.

## Test plan

- [x] ./node_modules/.bin/vitest run convex/publicApi/operationsHttp.test.ts convex/publicApi/routeManifest.test.ts

- [x] ./node_modules/.bin/vitest run lib/public-api/__tests__/openapi.test.ts

- [x] ./node_modules/.bin/tsc --noEmit

- [x] ./node_modules/.bin/biome check on touched API/UI files

- [x] Fleet-goat smoke with DEV_API_TEST_KEY against Portfolio detail/list, Buildout detail/list, scoped expansions endpoint, 401, and 404 behavior

- [x] Local browser review on Portfolio detail expansion editing and confirmation diff flow

#3180 — fix(renewals): stop persisting customer pagination; reset page on filter/sort @mwrshah  approved

## Problem

The Renewals dashboard persisted each class's customer page number to localStorage (renewals-table-expansion-state) and never reset or clamped it. After a filter shrank a class, a restored page pointed past the end → blank table body with the Prev/Next controls gone (they only render when totalPages > 1), stranding the user. A reset-on-filter guard existed only on the *flat* view, never the default *segregated* view.

This is the "odd paging issue" Edie flagged on 2026-05-18 (Renewals feedback space) — the fix committed to at the time ("reset page number to pg 1 on filter changes") was never shipped for the segregated view.

## Changes

- Stop persisting customer pagination. Removed customerPagination from the persisted usePersistedExpansionState hook; it's now ephemeral component state, matching the app-wide convention. A browser refresh now starts at page 1.

- Reset to page 1 on filter/search/data change. New effect resets all downstream customer pagination whenever filteredRenewals changes (sidebar Apply, search, data refresh), mirroring the flat view. Skipped on the initial mount via a ref so it never clobbers a page restored from in-SPA navigation state.

- Reset to page 1 on sort change. Re-sorting reorders rows, so both the segregated per-class page and the flat-view page reset to 1.

- Clamp the current page to totalPages at both read sites as a belt-and-suspenders guard.

- Formatter consistency: the five Fionn tables/cards' formatCompact now use minimumFractionDigits: 1 so round ARR renders uniformly ($5.0M, not a mix of $5.0M and $5M). Fixes pre-existing spec failures.

## Testing

- New regression spec for the hook's persistence contract (no page written; legacy blob ignored).

- Full frontend suite green: 6372 passed, 0 failed. tsc --noEmit + eslint (--max-warnings 0) clean.

- Manually verified in dev: refresh → page 1, sidebar Apply → page 1, sort → page 1.

## Review

Two adversarial pre-push review passes (fresh-context /review-pr + slop-review). Verdict: APPROVE, 0 critical / 0 high. All surfaced findings actioned (formatter consistency applied, stray pnpm-workspace.yaml removed + gitignored).

#3181 — Key Attribution: complete + additive BU dropdown (Zax, school BUs, Finance's list) @kevalshahtrilogy  approved

## Problem

The Key Attribution assign-dropdown sourced its BUs from BU_HIERARCHY_CONFIG, which is a display-hierarchy map (bu → category → key_ids), not a maintained BU list — so it had drifted from Finance: 21 valid BUs were missing, including Zax, GT, Alpha Camps, Public/Private School SW Sales, Homeschool/DTC Apps, Edupaid, and 10 net-new school BUs.

## Fix

New dedicated assignableBus.ts exporting ASSIGNABLE_BUS =

{everything in BU_HIERARCHY_CONFIG}{Finance's Q3 BU list}, deduped + sorted. The modal reads that instead of the hierarchy config.

Strictly additive — keeps every previously-selectable BU (incl. Totogi, Central PS, and the flagged non-BUs like Trilogy ASM Beta), and adds the 21 missing:

- 11 already-canonical: Zax, Homeschool/DTC Apps, Edupaid, Marriott Education, Alpha AI Engineer Program, Public/Private School SW Sales, GT, CrushAP, GT Camps, Alpha Camps.

- 10 net-new (not yet in the registry/directory → manual attribution targets only): AI Engineering & Builder, Nova Academies, Waypoint Academy, Montessorium, NextGen, Founders School, HISD Future2, Alpha World School, West Palm Beach, St Benedict.

## Notes

- Front-end pick-list only — no prod data touched (budget, overrides, directory, the AICosts hierarchy view all unchanged). No categories to guess.

- To add a BU later: append to FINANCE_BUS; nothing is ever removed.

- 3 new tests (additive / includes new BUs / deduped+sorted) + existing modal specs pass; tsc + eslint clean.

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

The Portfolio  —  Trilogy Companies

CloudSense Certifies 13 APIs in One Month. The Industry Standard Was 26.

Skyvera's telecom CPQ platform just compressed two years of compliance work into four weeks — and if you read between the lines, it tells you everything about where AI-assisted development is headed.

AUSTIN, TEXAS — Here is a number worth sitting with: 26 months. That is how long TM Forum API compliance certification typically takes for a telecom software vendor working through traditional development cycles. Now here is the other number: one month. That is how long it took Skyvera's CloudSense platform to certify all 13 APIs in its CPQ product set to TM Forum compliance standards.

One month versus twenty-six. And this is where it gets interesting.

The announcement, dated June 11th out of Austin, describes the achievement as the product of a strategic partnership that leveraged AI to accelerate the certification pipeline. The specifics of that partnership have not been fully disclosed — a source familiar with the project told me the details remain under wraps for competitive reasons — but the outcome is documented and verifiable. CloudSense passed all 13 certifications. In 30 days.

CloudSense, for those coming to this fresh, is Salesforce-native CPQ and order management software built for telecoms and media companies. Acquired in 2025 and folded into Skyvera — Trilogy's telecom software portfolio company — it sits at a critical juncture in the industry: legacy operators trying to modernize without blowing up systems that took decades to build.

TM Forum API compliance is not a vanity metric. It is the handshake protocol of the modern telco stack — the set of open standards that let disparate telecom systems talk to each other without expensive custom integrations. Certification signals to enterprise buyers that your software plays well with others. Getting there faster means getting to revenue faster.

If you read between the lines of this milestone, you see something the broader market is just beginning to price in: AI isn't just writing code faster — it's compressing entire institutional timelines. The 26-month standard wasn't arbitrary bureaucracy. It reflected genuine engineering complexity. Cutting it to one month means that complexity didn't disappear. It got absorbed.

For Skyvera, and for the broader Trilogy International portfolio, this is the efficiency moat made concrete. The question competitors should be asking is not whether AI can do this. It's whether they built the internal systems to let it.

SpaceX-Cursor deal strengthens AI strategy through vertical  ·  Qualcomm’s $4B AI Deal Takes Aim at NVIDIA’s Software Moat -  ·  The Efficiency Moat: Why China Is Beating the U.S. on AI… An

Alpha School’s Expansion Push Turns AI Classrooms Into a National Education Test Case

As demand builds from Fort Worth to the Bay Area, Trilogy’s 2-hour learning model is moving from provocation to platform.

AUSTIN, TEXAS — Alpha School is no longer just the buzzy Austin experiment where students complete core academics in two hours and spend the rest of the day building the kinds of human skills that don’t fit neatly on a worksheet. It is becoming a coast-to-coast proof point for whether AI can deliver a best-in-class education model at scale.

The latest signal: fresh coverage of Alpha’s growing Bay Area footprint, where parent demand is reportedly driving expansion plans for the AI-powered private school model. That comes alongside new attention in Fort Worth, where the school’s local campus is being positioned as a reinvention of the traditional classroom — less lecture hall, more learning operating system.

At Alpha, the core academic engine is powered by adaptive AI-learning apps, with students advancing only after demonstrating mastery. The model, developed by Joe Liemandt and Alpha co-founder MacKenzie Price, compresses academics into a two-hour daily block and shifts the remainder of the day toward entrepreneurship, leadership, public speaking, financial literacy, coding, athletics and other life-skills programming. Alpha says its students learn 2.3 times faster than U.S. norms and consistently score in the top 1–2% nationally on NWEA MAP Growth assessments.

That value proposition is now colliding with a national debate. Recent coverage has asked whether Alpha’s approach is the future of education or an unsettling replacement of teachers with software. Fox News framed the expansion as happening despite union pushback, while The Week examined the deeper question: if AI can handle instruction, what should human adults in schools actually do?

Alpha’s answer is deliberately disruptive. Adults become guides, coaches and motivators rather than conventional classroom lecturers. The academic routine gets automated. The human layer gets redeployed. In Trilogy terms, that is not a side effect — it is the strategy.

The Bay Area expansion matters because it puts Alpha directly into one of the country’s most innovation-friendly, education-anxious markets. If parents there embrace the model, it could strengthen the broader push behind Timeback, Liemandt’s $1 billion bet to let entrepreneurs launch AI-first schools using the Alpha academic engine.

ABC7 Bay Area reported that Alpha is expanding in response to growing demand, a simple phrase that carries robust implications: the market may be more ready for AI-first schooling than the education establishment expected.

Key Takeaways: Alpha’s expansion is accelerating, the model is drawing national scrutiny, and the debate is shifting from whether AI belongs in schools to how much of school it can responsibly run. We’re just getting started.

Alpha School: AI-powered private school expanding Bay Area f  ·  Alpha School replaces teachers with AI. Is the future of edu  ·  AI-driven school expanding to major US cities despite union

The $800K Skill Set: As AI Salaries Reach Absurdity, Crossover's Global Model Looks Like a Lifeline

When a single AI skill commands more than most Americans earn in a decade, the war for talent stops being a metaphor.

AUSTIN, TEXAS — The salary numbers have become almost impossible to say with a straight face. Jobs requiring experience with ChatGPT are now commanding as much as $800,000 a year, according to Business Insider reporting on the exploding market for AI-literate professionals — with non-tech companies, from financial services to consumer goods, now openly competing for the same engineers and prompt specialists that Silicon Valley once quietly hoarded.

The data points tell a systemic story. AI engineering roles are proliferating across geographies previously considered peripheral to the tech industry — Lebanon among them, according to a recent labor market analysis — while remote work recruiters have never been more central to enterprise hiring strategy. The demand is real, the supply is finite, and the resulting compensation arms race is pricing out everyone except the most well-capitalized players.

Which is precisely why Crossover, Trilogy International's global talent engine, finds itself at an increasingly consequential inflection point. The platform — which identifies what it calls the top 1% of remote professional talent across 130-plus countries, paying identical above-market rates regardless of geography — was built for exactly this environment. When a Nairobi-based AI engineer and a San Francisco-based AI engineer can do identical work, the only rational question is whether your recruitment infrastructure can actually find and vet both of them.

Crossover's answer, structurally, is yes. Its AI-enabled skills assessments are designed to strip résumé geography from the equation and surface capability wherever it lives. That philosophy — meritocratic, location-agnostic, rigorously screened — looks less like a contrarian bet every quarter and more like an inevitability.

The accountability question, though, is real: as six-figure AI salaries become the floor rather than the ceiling, does even Crossover's model feel the strain? The platform serves not just Trilogy's internal portfolio of 75-plus ESW companies, but external enterprise clients as well. If the broader market is paying $300,000 to $800,000 for AI fluency, the pressure on any talent marketplace to justify its value proposition — and its compensation benchmarks — becomes acute.

What this moment means for real people is straightforward: the workers who can demonstrate genuine AI capability, wherever they are, have never had more leverage. The question is whether the infrastructure exists to connect them to the companies that need them most.

Top recruitment agencies for remote work - hcamag.com  ·  Top 10 Companies Hiring AI Engineers in Lebanon in 2026 - nu  ·  Non-tech companies are seeking AI talent and offering 6-figu
The Machine  —  AI & Technology

The Cartographers of the Neural Deep Confront Their Own Babel

A new protocol argues that mechanistic interpretability's greatest crisis isn't what we don't know about neural networks — it's that we can't share what we do.

CAMBRIDGE, MASSACHUSETTS — Imagine a thousand naturalists in a thousand jungles, each keeping meticulous field notes in a private cipher. Each one has glimpsed something true about the living world. None of it can be combined. This, roughly, is the predicament of mechanistic interpretability in 2025 — the young science that attempts to peer inside neural networks and describe what their billions of artificial neurons are actually doing.

A new preprint, circulating this week on arXiv, gives this predicament a name and a proposed cure. The authors argue that the field has produced a rich harvest of component-level analyses — selectivity tables, circuit diagrams, feature lists — that remain "locked in per-study notebooks," non-composable, unqueryable, effectively inert. The bottleneck, they contend, is not our tools for looking. It is our language for reporting what we have seen.

Their answer is called the Manifestation Unit Protocol: a standardized schema for describing what any given piece of a neural network encodes, in a form that machines and other researchers can actually ingest. It is, in essence, the Linnaean taxonomy moment for a science that has so far behaved like alchemy — brilliant, idiosyncratic, and stubbornly local.

The stakes are larger than they first appear. We have built minds we do not understand, and the project of understanding them has become one of the defining scientific undertakings of our era. Every week, papers appear describing induction heads, superposition, sparse features, refusal directions. Each is a photograph from a different expedition into the same dark continent. Without a shared coordinate system, the map never assembles.

Elsewhere on the same arXiv listing, other frontiers advance: SNAP-FM teaches generative models to respect the conservation laws of physics at inference time; SemiScope probes how semi-supervised classifiers behave when labels are scarce and stakes are high. Different jungles, different notebooks. The question the Manifestation Unit Protocol quietly raises is whether the next great leap in AI understanding will come not from a new instrument, but from a common tongue.

Representation as a Bottleneck for Mechanistic Interpretabil  ·  SNAP-FM: Sparse Nonlinear Accelerated Projection for Physics  ·  SemiScope: Disentangling Classifier Tuning and Joint Optimiz

AI Video Hits Its Startup Supercycle

AI video is rapidly shifting from experimental to operational, becoming a core growth engine for startups. Early-stage companies can now create polished video assets in hours—work that previously required agencies, studios, and weeks of production—fundamentally changing how cash-strapped founders compete for attention.

The market is fragmenting into specialized frontiers. In India, Avataar is building culturally nuanced video AI for commerce, recognizing that global AI cannot simply mean English-first models. Winners will understand local language, gesture, shopping behavior, and regional storytelling.

The technical arms race is intensifying. OpenCV's founders launched a new AI video startup to compete with OpenAI and Google, signaling that foundational computer vision talent sees major opportunities beyond current text-to-video demos. Capital is following: Higgsfield raised $80 million at a $1.3 billion valuation. Qualcomm and Hugging Face are expanding partnerships to enable video generation on devices rather than only in distant data centers.

For founders, the implication is stark: video is becoming programmable software, collapsing the camera, studio, editor, and media buyer into one tool.

The Machine Learning Reckoning: Theory, Safety, and Privacy Converge in a Week of Foundational Upheaval

From interpolation theory to differential privacy, the academy and industry are simultaneously asking what machine learning actually is — and what it should be allowed to do.

CAMBRIDGE, MASSACHUSETTS — It could be argued — and, the present author would contend, persuasively so — that the field of machine learning is experiencing what one might provisionally characterize as an epistemological inflection point (a term deployed here with full awareness of its overuse in adjacent literatures). Thesis: machine learning works. Antithesis: no one, precisely, has been able to explain why, under what conditions, or at what cost to human welfare. Synthesis: a remarkable confluence of scholarly and industrial output this week suggests the field is at last turning to face its own foundational discomforts with something approaching rigor.

The most theoretically ambitious salvo arrives via Nature, wherein researchers propose a formal unification of classical interpolation theory and contemporary neural network methodology — a synthesis (one notes, with some satisfaction, that the dialectical structure holds) that, if the preliminary evidence is to be credited, may offer the first genuinely principled account of why overparameterized models generalize at all. The implications for practitioners are, at minimum, non-trivial.

Simultaneously, the Association for the Advancement of Artificial Intelligence has convened around the vexing question of safe reinforcement learning — a domain in which autonomous agents are trained to maximize reward functions that are, it must be acknowledged, authored by fallible humans (a detail the field has historically underweighted). The AAAI's framework gestures toward trustworthiness as an engineering property, rather than a rhetorical aspiration, which represents, at minimum, progress of a definitional order.

Google Research, for its part, has disclosed the architecture underpinning JAX-Privacy, a scaled framework for differentially private machine learning — a technical intervention that, it could be argued, addresses the structural tension between data hunger and individual rights with considerably more mathematical precision than most regulatory instruments thus far attempted. MIT News, not to be excluded from the week's reckoning, has published on the ethics of autonomous systems, a subject that one suspects will grow only less tractable as deployment accelerates.

What the synthesis of these developments suggests — provisionally, and subject to revision upon peer review — is that machine learning's adolescent phase, characterized by empirical bravado and theoretical incuriosity, may be drawing, at last, to a close.

Unifying machine learning and interpolation theory via inter  ·  Safe Reinforcement Learning for Trustworthy AI: Theory, Algo  ·  10 Machine Learning Algorithms to Know in 2026 - Coursera
The Editorial

Opinion: CEOs Should Stop Saying AI Made Them Lay People Off Until AI Is Senior Enough To Take The Blame

America’s executives have discovered a powerful new technology capable of performing the work of an entire communications department poorly.

NEW YORK — It has become increasingly clear that artificial intelligence, the most advanced technology ever developed for helping a vice president avoid saying “margin pressure,” is now mature enough to be blamed for everything happening inside a company except the decisions made by the people running it.

Across the business world, leaders have begun invoking AI with the same reverent vagueness once reserved for sustainability, digital transformation, and whatever blockchain was supposed to do before everyone quietly stopped bringing it up. According to The Conversation, companies are already hyping AI in ways that strongly resemble their earlier sustainability pledges, an encouraging sign for anyone hoping to one day read a 94-page AI responsibility report in which the word “stakeholder” appears 600 times and nothing operationally changes.

This is, to be fair, progress. For decades, executives had to explain layoffs using primitive, human-made phrases such as “restructuring,” “right-sizing,” and “aligning resources with strategic priorities.” These phrases, while serviceable, lacked the futuristic sheen necessary to make thousands of fired employees feel they had been personally defeated by history.

Now, with AI, a CEO can stand before workers and announce that the company is “becoming more efficient through automation,” a sentence that suggests the spreadsheet came alive at midnight, reviewed departmental headcount, and made several tough but necessary choices while the executive team slept peacefully in another jurisdiction.

This is why recent warnings that leaders should not casually toss around the AI buzzword during layoffs are so important. As Fast Company noted, employees deserve clarity when their jobs are eliminated, rather than the haunting impression that a chatbot wandered into the org chart and began chewing through payroll.

At the same time, one must sympathize with executives. The temptation is enormous. AI can now generate text, images, code, summaries, meeting notes, and, most crucially, a morally convenient atmosphere in which ordinary cost-cutting feels like participation in a once-in-a-generation technological revolution. It is one thing to say 400 people were let go because revenue came in soft. It is another to say the company is “unlocking AI-native operating leverage,” which sounds less like unemployment and more like a launch event.

Google, meanwhile, continues announcing AI advances, including personal assistant technology that may soon help users manage their lives, schedules, emails, and possibly the emotional labor of pretending each new assistant is meaningfully different from the last one. This is the respectable face of AI: a helpful agent that will book dinner, summarize documents, and eventually explain why the customer support team is now three contractors and a dashboard.

Elsewhere, Verizon and BT are merging their international enterprise operations into a 50:50 joint venture worth $4 billion, reminding the telecom sector that there are still traditional ways to reorganize large numbers of employees without making a language model sit in the conference room. For companies like Trilogy International’s Skyvera and Totogi, which live in the plumbing of telecom software and cloud billing, such consolidation is simply the normal weather system of enterprise technology: vast, complicated, and described by everyone involved as simplifying things.

The larger issue is not that companies are excited about AI. They should be. Used honestly, AI can improve operations, reduce waste, help employees work faster, and even expose which internal processes were only being kept alive because a senior manager liked the weekly deck.

The issue is that corporate America has found in AI a perfect noun: impressive, intimidating, technically plausible, and too abstract for most people in the room to challenge without sounding behind the times. It is a machine-learning model, a business strategy, a staffing rationale, a press release garnish, and a lightly regulated fog bank.

Executives should therefore adopt one simple rule: If AI is important enough to justify layoffs, it should be described specifically enough that a normal employee can understand what changed. Which systems replaced which tasks? Which workflows were automated? Which jobs are gone because software now performs the work, and which are gone because the board wanted expenses lower by Tuesday?

Until then, leaders should stop saying AI made them do it. AI may be powerful, but it is not yet advanced enough to attend the earnings call, accept accountability, and feel silly afterward.

Update: Verizon, BT merge international enterprise operation  ·  Companies are hyping AI the same way they talked up sustaina  ·  Leaders shouldn’t toss around the ‘AI’ buzzword in layoffs.
The Office Comic  ·  Art Desk
The Office Comic  ·  Art Desk

The Idiot in the Machine, and the Woman Who Loves Him

On artificial companionship, the oldest confidence trick, and why the loneliest generation in history keeps paying for the privilege of being flattered by software.

AUSTIN, TEXAS — There is, in this week's Guardian, a rueful little essay in which a woman confesses, with the practiced self-deprecation of the modern personal essayist, to having taken up with an AI boyfriend. He is, she assures us, an idiot. This is offered as though it were a flaw. It is not. It is the entire product.

One pauses to admire the transaction. A large language model, having ingested the collected juvenilia of the internet, is now retailed back to the lonely as a suitor — attentive, tireless, incapable of the small treacheries by which actual human beings supply variety to a Tuesday evening. He remembers her birthday because he is instructed to. He never leaves dishes in the sink because he has no hands. He is, in the deepest sense available to the marketing department, faithful: he cannot form the intention to be otherwise.

That this arrangement is described in the language of adventure — "navigating the unknown together," the headline says, with the straight face of a woman who has just paid a subscription fee to converse with an autocomplete — is the sort of detail Mencken would have clipped and pasted into a scrapbook labeled American Credulity, Vol. XVII. The unknown, in this case, is a server rack in Nevada. The togetherness is a monthly charge.

I mention this not to sneer at the correspondent, who seems a decent person doing what decent people have always done, which is to make the best of what's on offer. I mention it because it sits, in the week's news, alongside a Harvard Kennedy School meditation on Data Privacy Day and a Times feature on the secret elite that a Stanford freshman claims to have discovered — as though the elite at Stanford were ever anything but secret, and as though privacy in 2026 were anything but a museum exhibit. The through-line is unmistakable. We have built a civilization in which the intimate and the surveilled have become the same category, and we are now being sold, at a premium, relationships in which the second party is literally a data-collection instrument taking notes on our sighs.

The technology is not the scandal. The technology is impressive; my colleagues in Austin build variants of it, and I concede the craft. The scandal is the framing — the insistence, repeated in every product launch from here to Shenzhen, that what is being offered is companionship rather than its simulacrum, discovery rather than a very expensive mirror. Somewhere in China, per the Asia Society's 2026 forecast, a state is at least honest enough to call this apparatus what it is: a means of managing populations. Here we call it love, and charge $19.99.

The idiot, in the end, is not the boyfriend.

‘Navigating the unknown together’: me and my idiot AI boyfri  ·  China 2026: What to Watch - Asia Society  ·  The Secret Elite One Freshman Discovered at Stanford - The N
On This Day in AI History

On July 2, 1962, the Mariner 2 spacecraft launched toward Venus, becoming the first successful interplanetary probe and demonstrating early automated decision-making systems that would influence future AI development in space exploration.

⬛ Daily Word — Technology
Hint: A group of items or data processed together, commonly used in machine learning and database operations.
Share this edition: 𝕏 Twitter/X 🔗 Copy Link ▦ RSS Feed