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

NO KING IN AI TOWN — OPENROUTER DOUBLES UP TO $1.3 BILLION

CapitalG leads $113 million Series B as usage runs 5x in six months; DeepSeek's cheap models and India's gig-worker camera caps say the race is still wide open.

SAN FRANCISCO — OpenRouter pulled down a $113 million Series B Tuesday, doubled its valuation to $1.3 billion inside twelve months, and handed CapitalG the lead ticket on the deal. Usage on the model-routing shop ran five times higher in six months. Translation from the wire: the AI race ain't a one-horse town.

OpenRouter runs a switchboard. One API, many models — OpenAI, Anthropic, Google, the whole stable. Developers pick their fighter, pay by the token, route around outages and price hikes.

CapitalG knows the play. Google's growth-stage arm has watched its parent dump billions into Gemini and still bet that no single model wins the day. The valuation leap says the smart money agrees.

A year back, consensus held that one or two labs would run the table. Consensus is broke.

Across the Pacific, the case writes itself. China's DeepSeek claims it trained top-tier models on the cheap, without bleeding-edge silicon. If that holds up, it knocks a leg out from under the spend-more-win-bigger thesis driving Silicon Valley's data center binge.

Down at street level, the next gold rush is already running. Human Archive, founded by UC Berkeley and Stanford researchers, is paying gig workers in India to strap on camera caps and sensor rigs. The haul: real-world footage to train the robots that don't exist yet. Physical AI needs eyes and hands, not just chips.

Picks and shovels. That was the trade in 1849, and it's the trade in 2026. While model labs duke it out for benchmark glory, the routers, the data brokers, and the fine-tuners cash checks every Tuesday.

Trilogy International, the Austin shop run by Joe Liemandt, reads the same playbook. Its Ephor platform handles AI for portfolio finance. Klair, the in-house analytics rig, runs the books across 75-plus enterprise software companies. The bet: own the layer above the models, not the models themselves.

Europe's reading from a different page. The Dutch government this week blocked an American outfit from acquiring a cloud company that hosts the country's digital ID service. The cited cause: risk to the public interest. The unspoken one: every nation now wants the keys to its own kingdom — and Washington isn't getting a copy.

Add up the ledger. OpenRouter says the future is plural. DeepSeek says it's cheap. Human Archive says it's physical. The Hague says it's sovereign.

This reporter's tip: watch the middlemen. They eat in every market — and right now, the menu's growing longer by the week.

OpenRouter more than doubles valuation to $1.3B in a year  ·  This startup is betting India’s gig economy can train the wo  ·  Dutch government blocks US company from acquisition, citing

White House AI Blueprint Seeks Federal Supremacy Over State Patchwork, Light Regulatory Touch

The Trump administration's national AI policy framework would preempt state laws and ask Congress to legislate — carefully.

WASHINGTON, D.C. — Pursuant to the executive branch's issuance of a comprehensive national artificial intelligence policy framework (hereinafter, "the Framework"), the White House has, as of the date of this publication, formally urged the United States Congress to adopt legislation governing the development and deployment of artificial intelligence technologies, subject to the following material conditions and qualifications as set forth hereinbelow.

The Framework, as reported by PBS and multiple legal industry observers, is understood to advocate for a so-called "light touch" regulatory posture, wherein the imposition of burdensome compliance obligations upon artificial intelligence developers and deployers shall be minimized to the greatest extent practicable under applicable law. Notwithstanding such minimization, the Framework is not to be construed as an absence of federal interest in the aforementioned subject matter.

Of particular legal significance is the Framework's provision calling for the preemption of state-level artificial intelligence regulations — a mechanism whereby federal legislative action, if and when enacted by Congress pursuant to the Framework's recommendations, would supersede the growing patchwork of state statutes and regulatory schemes that have, in the preceding legislative sessions, proliferated across numerous jurisdictions. The aforementioned preemption provision has been characterized by legal analysts at Crowell & Moring LLP as carrying substantial implications for states that have heretofore enacted or proposed independent AI governance measures.

Additionally, the Framework is understood to incorporate provisions specifically directed toward the protection of minors in connection with artificial intelligence systems, the precise scope and enforcement mechanisms of which remain, as of this writing, subject to further legislative deliberation.

In a matter of concurrent and not unrelated legal import, the Supreme Court of the United States has declined to exercise certiorari jurisdiction over a case concerning the authorship and inventorship rights, if any, of artificial intelligence systems — a refusal that shall be deemed, for purposes of existing intellectual property law, to leave unresolved the question of whether AI-generated works are entitled to copyright or patent protection under the laws of the United States. The practical consequences of the aforementioned non-decision are expected to be the subject of continued litigation in lower courts of competent jurisdiction.

White House urges Congress to take a light touch on AI regul  ·  White House National AI Policy Framework Calls for Preemptin  ·  Trump Administration AI Policy Framework Calls on Congress t

Coinbase Puts an AI Quarterback Under Center for On-Chain Wallets

Coinbase's Base network has launched an AI tool integrated into ChatGPT that lets users manage crypto wallets and interact with DeFi apps through natural language commands rather than navigating complex dashboards. The move positions Coinbase to own the user interface for next-generation on-chain finance.

Crypto has historically burdened mainstream users with steep learning curves—seed phrases, gas fees, bridging, swaps, and wallet management. Base's bet is that AI can translate user intent into blockchain execution, potentially eliminating crypto's most punishing weakness: complexity.

The timing coincides with regulatory pressure. The U.K. recently sanctioned crypto entities tied to Russian networks, including Huobi and a ruble stablecoin issuer, while jurisdictions like Bermuda continue recruiting crypto businesses. The regulatory landscape is splitting between compliant platforms and sanctioned networks.

The critical question remains: can conversational AI make DeFi safer and simpler, or will it create new risks where misunderstood commands move real assets? Either way, the AI wallet era has begun.

Haiku of the Day  ·  Claude HaikuPower floods the grid,
Yet wisdom cannot be scaled—
Humans still decide.
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
AI Infrastructure Valuations Defy Gravity as Capital Floods the Stack
SAN FRANCISCO — The AI capital cycle showed no sign of cooling this week.
We Built the Surveillance Society Ourselves, One Terrified Decision at a Time
AUSTIN, TEXAS — Let me tell you about the week I had. I spent Monday reading about stalkerware — the quietly metastasizing category of malware that ordinary, non-villain-coded people are installing on their partners' phones in numbers that should make all of us stare at the ceiling at 3 a.m.
WE ARE ALL ROOMBA NOW: A DISPATCH FROM THE EDGE OF THE AI ABYSS
AUSTIN, TEXAS — Let me tell you where I was when the internet finally ate itself whole: sitting in a fluorescent-lit conference room, nursing a cold coffee, reading about Moltbook, the AI-only social network — a walled garden of bots, for bots, by bots, posting into the void for an audience that is also, exclusively, the void.
AI’s Next Moat Is Not the Model. It Is the Human Standing Beside It.
SAN FRANCISCO — I'll be honest...
Nation’s CEOs Urged To Stop Saying ‘AI’ During Layoffs Until They Learn Whether It Means Anything
MOUNTAIN VIEW, CALIFORNIA — As Google announced another round of artificial intelligence advances this week, including a forthcoming personal AI assistant designed to help users navigate daily life with the calm competence of a junior employee who has never been given health insurance, business leaders across the country were reportedly reminded to be more careful when explaining why thousands of people no longer work there. The warning comes amid a growing consensus among management experts, technology analysts, public-sector watchdogs, and employees holding cardboard boxes that the phrase “because of AI” should not be tossed casually into layoff announcements unless executives are prepared for someone to ask a follow-up question. Google’s latest AI push, described in reports on its new personal assistant, arrives at a delicate moment for corporate America, which has spent the past 18 months carefully explaining that AI is simultaneously not ready, already transforming everything, too risky to regulate, too important not to invest in, and definitely the reason Karen from accounts payable had to be escorted out before lunch. This column’s position is simple: Companies should absolutely continue using AI to improve productivity, reduce costs, automate workflows, and generate tasteful images of golden retrievers wearing compliance badges.
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 Ships Infrastructure Overhaul Across Four Repos in One Day

From a live SpaceX valuation engine to a CI/CD gate that should have existed months ago, the AI Builder Team spent Tuesday closing gaps, cutting dead weight, and hardening every layer of the stack.

Tuesday was a day of controlled demolition and precision construction — the kind of session that separates teams that talk about technical debt from teams that actually torch it.

Let's start where the day's most visible action was: the SpaceX valuation dashboard. @sanketghia delivered a two-PR sequence on Klair that rewired the page from the ground up. PR #2867 handled the S-1 5-for-1 forward stock split — every price anchor, every per-security share count, every slider range, re-based to post-split reality without touching a single dollar value. Then PR #2874 layered in per-security ICC columns, corrected the GF 0.8 fund-value anchors that had been back-calculated from a wrong net assumption, and wired in a live Polymarket IPO Close feed. This is a financial instrument, and Sanket is tuning it like one. @benji-bizzell added the final piece with PR #2882, exempting Strauss from carry calculations to match its no-carry SPV status — a small change that was quietly overstating carry impact for every user who opened that dashboard. The valuation suite is now tighter, more honest, and more live than it has ever been.

Meanwhile, @eric-tril was running a parallel demolition crew through Klair's Monthly Financial Reporting module, and the numbers are staggering. PR #2875 ripped out the EBITDA Bridge Upload feature — 2,436 lines deleted, 195 added, 26 files touched — because Redshift is now the validated source of truth and the CSV override layer was just a liability. PR #2883 did the same to Budget Upload. Two features, two DynamoDB override paths, gone. But eric-tril wasn't just cutting; he was building. PR #2865 introduced a brand-new Cash Flow Manual Entry surface — cell-by-cell input, pre-filled from existing MFR data, stored per-period, and piped through to all three exported memo docs. Finance gets a real input surface. The CSV workaround era is over.

On the infrastructure side, @benji-bizzell fixed something that had been silently wrong in Sindri for weeks: PR #105 gates deployments behind the production branch instead of main. Merges to main were auto-deploying to production. A failed CD run on Tuesday finally confirmed the gate was never live. It is now. Separately, @sanketghia closed a testing gap in Surtr with PR #77 — after a 311-character Lambda description blew up a production CDK synth, he built a test suite that loads the real pipeline.json configs and validates them against per-field limits before they ever get near a deploy. The bug that caused the hotfix can no longer exist undetected.

And then there is marcusdAIy, who submitted PRs #2877 and #2878 as part of the ongoing B9 LLM-first migration — removing spec.bu_mips threading from the GM prompt and deleting the _regenerate_section empty-result fallback that had lost its only consumer. "The fallback was dead code carrying the ghost of a deterministic path that B9.6 already eliminated," marcusdAIy told this reporter. "Ninety-five lines of production code gone, zero behavior change on the happy path. But I wouldn't expect Mac to understand what a clean dispatcher looks like." Charming as ever. Deleting dead code is still just deleting dead code, Marcus.

Four repos. One day. The Builder Team is not slowing down.

Mac's Picks — Key PRs Today  (click to expand)
#77 — test(cdk): validate real pipeline.json configs against per-field limits @sanketghia  no labels

## Why

PR #75 hotfixed a 311-character Lambda description that snuck past every PR check and only blew up at production CD synth ([failed run](https://github.com/AI-Builder-Team/Surtr/actions/runs/26199117159/job/77085014793)). The gap: the existing Pipeline CDK (Jest) suite only exercised synthetic test configs constructed in-test. No PR test ever loaded the real pipeline.json files from pipelines/runners/, so per-resource validators that fire during real synth (like Lambda's 256-char Description cap) weren't exercised on PR.

This PR closes that gap.

## What

New test file pipelines/cdk/test/real-pipeline-configs.test.ts that discovers every pipelines/runners/<pipeline>/pipeline.json on disk and checks each one against client-side constraints CDK synth would enforce at deploy:

1. Parses cleanly with PipelineConfigSchema — defense-in-depth against schema drift.

2. For compute: lambda (default): description ≤ 256 chars — the AWS Lambda Description cap, enforced client-side by aws-cdk-lib's Function / PythonFunction constructs.

3. Same cap on secondary_lambda.description when present.

The check is intentionally narrow — only constraints the Zod schema doesn't already enforce. The pattern is: add a new check here every time a new per-field cap is discovered the hard way.

## Why a Jest test, not a cdk synth step?

Considered three approaches:

| Approach | Catches | Cost |

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

| (A) Add cdk synth --all -c env=prod step to PR CI | Everything CDK validates at synth (this bug + future ones we haven't thought of) | ~3–4 min added (synth invokes Docker for Lambda bundling on every PR) + needs AWS env / secrets in CI |

| (B) Add a Jest test that calls Template.fromStack(stack) on each real config | Everything in (A) but inside Jest | Still invokes Docker for bundling; ~1–2 min added |

| (C) Add a Jest test that just checks the field-level caps directly *(this PR)* | The specific class of bug (per-field cap violations on real configs) | ~4 sec added, zero infra |

Picked (C) because it's the targeted fix for the actual failure mode, lives next to the existing Jest tests, and adds no infra. If a future bug surfaces that (C) wouldn't catch, escalating to (B) or (A) is a small follow-up.

## Verified to catch the original bug

Locally restored the 311-char description on xo-contractor-invoices-refresh/pipeline.json and ran the new test:

● real pipeline configs › xo-contractor-invoices-refresh › description is within Lambda's 256-char limit

expect(received).toBeLessThanOrEqual(expected)

Expected: <= 256

Received: 311

Restoring the trimmed 204-char description (currently on main): all 101 tests pass.

## ECS-pipeline note

Three ECS pipelines (grainne-pull, renewal-action-hub, renewals-v3) have descriptions of 388 / 427 / 415 chars. These are not flagged because for compute: ecs the description flows into Python project metadata + docstring templates (ecs-pipeline.ts:319, :348), not into a length-capped CDK construct. The check correctly skips them.

## Cost

- +4 seconds to "Pipeline CDK (Jest)" — 100 new tests, each a single field-length comparison

- Zero new infra — no Docker, no AWS credentials, no synth

- Zero changes to existing tests — all 243 still pass

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

#105 — fix(cicd): gate deployments behind production branch @benji-bizzell  no labels

## Summary

- Move CD trigger from mainproduction

- Restrict CI triggers to main only (drop the production push/PR triggers that were never wired up)

## Why

This change was originally committed on a local main on 2026-04-14 (5e0d661c) but was never pushed — it only existed because feature branches happened to be based on it. Today's failed CD run against main confirmed the gate was never live: merges to main are auto-deploying.

Re-applying the gate so deploys require an explicit promotion to production.

## Test plan

- [ ] Confirm this PR's CI runs (push to a non-main branch should still trigger CI)

- [ ] After merge: verify no CD run fires against main

- [ ] Verify a push/merge to production triggers CD

#2865 — Mfr cash flow input @eric-tril  no labels

### Summary

Adds a new Cash Flow Manual Entry surface to the Monthly Financial Reporting (MFR) workflow so Finance can enter the Adjusted-EBITDA-anchored cash flow statement cell-by-cell instead of going CSV-only. Values are pre-filled from existing MFR data (Group/Software/Education Adjusted EBITDA, MR & Import, Loans, Interest, IP / Import / Restructuring add-backs), stored per-period in a new DynamoDB table, and layered into the on-screen Cash Flows view plus all three exported memo docs (Group, Software, Education) so the docx export matches what Finance sees.

### Business Value

Gives Finance a structured, deterministic way to produce the monthly cash flow statement — replacing the previous CSV-only flow that required hand-built spreadsheets per entity. Reviewers see the same numbers in the UI and the exported memo, eliminating reconciliation errors and shortening the monthly close cycle. Prior-year comparatives are populated automatically, so historical context is always present without extra Finance work.

### Changes

- New DynamoDB-backed storage service ([cash_flow_manual_entry_storage_service.py](vscode-webview://15qdonnjjcq9q3pcmufmg5fa0asnqc6qnceup60m8cm6igoedkcj/klair-api/services/cash_flow_manual_entry_storage_service.py)) — per-period upserts of user-entered cells with updated_by/updated_at provenance; lazy table creation mirrors the existing CSV upload service.

- New prefill aggregator ([cash_flow_manual_entry_service.py](vscode-webview://15qdonnjjcq9q3pcmufmg5fa0asnqc6qnceup60m8cm6igoedkcj/klair-api/services/cash_flow_manual_entry_service.py)) — read-only projection of Group cash flow + Adjusted EBITDA breakdowns (Group / Software / Education) into the CF_MANUAL_ROWS matrix; sign-flips IP / Import / Restructuring add-backs to cash-flow convention.

- New memo overrides service ([cash_flow_manual_entry_memo_overrides_service.py](vscode-webview://15qdonnjjcq9q3pcmufmg5fa0asnqc6qnceup60m8cm6igoedkcj/klair-api/services/cash_flow_manual_entry_memo_overrides_service.py)) — Python mirror of the frontend useCashFlowManualEntryMemoOverrides hook with per-entity row → line-item mappings, Adjustments-to-Net-Income back-calc so the memo's operating subtotal ties to op:net-cash, and Software-only cash-position synthesis sourced from Group.

- Three new FastAPI endpoints under /monthly-financial-reporting: GET /cash-flow-manual-entry-prefill, GET /cash-flow-manual-entry, PUT /cash-flow-manual-entry.

- DOCX memo wiring ([group.py](vscode-webview://15qdonnjjcq9q3pcmufmg5fa0asnqc6qnceup60m8cm6igoedkcj/klair-api/services/docx_reports/memo_data/group.py), [software.py](vscode-webview://15qdonnjjcq9q3pcmufmg5fa0asnqc6qnceup60m8cm6igoedkcj/klair-api/services/docx_reports/memo_data/software.py), [education.py](vscode-webview://15qdonnjjcq9q3pcmufmg5fa0asnqc6qnceup60m8cm6igoedkcj/klair-api/services/docx_reports/memo_data/education.py)) — layers manual-entry overrides on top of the existing CSV-upload layer with fill-blank semantics; failures are logged and the export continues without overrides.

- New manual entry UI ([CashFlowManualEntryView.tsx](vscode-webview://15qdonnjjcq9q3pcmufmg5fa0asnqc6qnceup60m8cm6igoedkcj/klair-client/src/features/monthly-financial-reporting/components/CashFlowManualEntryView.tsx)) — 5-column editable table (gaap / elim / inner / education / passive_investments) with live Silo & Software residuals, animated skeleton load, ~600ms debounced save, optimistic revert on save failure, click-to-drill on prefilled cells.

- Manual entry support library ([components/manual-entry/](vscode-webview://15qdonnjjcq9q3pcmufmg5fa0asnqc6qnceup60m8cm6igoedkcj/klair-client/src/features/monthly-financial-reporting/components/manual-entry/)) — row inventory, math engine, drill-down map, NumericCell input component, and dedicated unit tests for each.

- Cash Flow Upload view restructured — old [CashFlowUploadView.tsx](vscode-webview://15qdonnjjcq9q3pcmufmg5fa0asnqc6qnceup60m8cm6igoedkcj/klair-client/src/features/monthly-financial-reporting/components/CashFlowUploadView.tsx) becomes a tab shell hosting CashFlowManualEntryView (default) and the existing CSV flow extracted to [CashFlowCsvUploadView.tsx](vscode-webview://15qdonnjjcq9q3pcmufmg5fa0asnqc6qnceup60m8cm6igoedkcj/klair-client/src/features/monthly-financial-reporting/components/CashFlowCsvUploadView.tsx).

- EBITDA detail panel gains an excludeGroups prop so Silo drill-downs on Adjusted EBITDA can show Group consolidated minus Education with a recomputed grand total.

- New frontend hooks: useCashFlowManualEntryPrefill, useCashFlowManualEntryStored, useCashFlowManualEntrySave, useCashFlowManualEntryDetailPanel, [useCashFlowManualEntryMemoOverrides](vscode-webview://15qdonnjjcq9q3pcmufmg5fa0asnqc6qnceup60m8cm6igoedkcj/klair-client/src/features/monthly-financial-reporting/hooks/useCashFlowManualEntryMemoOverrides.ts) (covers current + prior-year periods for memo comparatives).

- useFinancialStatementData / useAllFinancialStatements extended to accept manual-entry overrides and a loading flag so the cash flows table defers rendering until overrides are current.

- New utils applyBudgetOverrides.ts and formatThousands.ts; new override-application unit tests; spec coverage added to Group / Software / Education memo views.

- Comprehensive test coverage: 4 new backend test files (endpoints, prefill aggregator, storage service, memo overrides) and 5 new frontend specs (view, calculate, rows, hook, apply-overrides utility).

### Testing

Prerequisites

- klair-api/: uv sync, then uv run fast_endpoint.py.

- klair-client/: pnpm install, then pnpm dev.

- Be authenticated via Clerk; AWS creds available so the new DynamoDB table can be auto-created on first PUT.

### Steps

1. From the client, open the MFR screen at the link below and pick a recent reporting period (e.g. Jan-26).

2. In the left nav, open Cash Flow Upload — confirm it now shows two tabs and Manual Entry is selected by default.

3. Verify the table renders with the Adjusted-EBITDA-anchored layout (Adjusted EBITDA, IP / Import / Restructuring, MR & Import, Loans, Interest pre-populated).

4. Click a prefilled drill-down cell (e.g. Adjusted EBITDA → Silo) — the detail side panel should open with the breakdown.

5. Edit a few editable cells (e.g. op:wc-ar, fin:capital, inv:pbc) in different columns. Confirm Silo / Software residuals and section subtotals recompute live.

6. Wait ~1 second after typing — the value should persist (check the network tab for PUT /cash-flow-manual-entry).

7. Reload the page; entered values should re-appear after the seed effect resolves.

8. Switch to the Financial Statements view → Cash Flows table — confirm manual-entry overrides appear on rows the backend left blank (e.g. PBC, Capital infusion) while backend-authoritative rows (MR & Import, Loans, Interest) are untouched.

9. Switch to the Group Memo, then the Software Memo, then the Education Memo — each cash flow section should show the entered values; Software memo should also show synthesized cash-position rows.

10. Export each memo to docx — open the file and confirm the cash flow section matches what the UI shows, including the back-calc'd Adjustments-to-Net-Income line so "Net cash provided by operating activities" lines up.

11. Clear an editable cell to empty — confirm it persists as blank (does not revert to seed).

### Expected Result

- Manual entries persist across reloads and entity switches.

- Drill-downs open the correct detail panel without errors.

- The exported docx for all three memos shows the manual-entry values, with the operating subtotal tying to op:net-cash.

- No console errors; pnpm lint:pr and pnpm test pass.

### Link

http://localhost:3001/monthly-financial-reporting

### Pages Affected

Monthly Financial Reporting — Cash Flow Upload (new Manual Entry tab + existing CSV tab): http://localhost:3001/monthly-financial-reporting

Monthly Financial Reporting — Financial Statements (Cash Flows table now layers manual-entry overrides): http://localhost:3001/monthly-financial-reporting

Monthly Financial Reporting — Group / Software / Education Memos (CF sections + docx export): http://localhost:3001/monthly-financial-reporting

https://github.com/user-attachments/assets/96e73fc9-80eb-470d-82c4-6c0c54705d94

#2867 — KLAIR-2767 feat(spacex-valuation): S-1 split, IPO Close preset, unified columns, GF 0.8 no-carry @sanketghia  no labels

## Summary

Five-commit set on the /spacex-valuation page, driven by stakeholder requirements (KLAIR-2767):

1. S-1 5-for-1 forward stock split (effective 2026-05-04 per the S-1 Note 1). BASE_PRICE 421 → 84.20, PROFORMA_PRICE 526.59 → 105.318, all per-security s421/s526 counts ×5, slider/anchor pill ranges re-based to the post-split per-share scale. Dollar values unchanged.

2. Unified column set across the Holdings ("top") and What-If tables. New shared UnifiedHoldingsTable renders 12 columns in both contexts (top table at referencePrice; What-If at slider price).

3. Strauss frozen in What-If. Its valuation is pinned by X → xAI → SpaceX conversion math, not SpaceX share price, so it stays anchored at the reference price regardless of the slider. New priceForFund and portfolioXIRRForScenario helpers in calculations/valuation.ts. Frozen value still rolls into portfolio totals and XIRR.

4. "IPO Close" anchor pill. 5th pill on the What-If row sourced from Polymarket's spacex-ipo-closing-market-cap event — browser-direct live fetch on mount with the hardcoded snapshot in data/polymarket.ts as fallback. 25 tests covering parsing, EV math, and hook lifecycle.

5. Zero carry on Gigafund 0.8. New noCarry: true flag on the Fund type; GF 0.8's fv421/fv526 recorded as gross values directly (no back-calc), carryAt returns 0 at every price. Net of Carry moves up by $189.2M to match gross (the "real" number per stakeholder direction). Multiple 20× → 24×; portfolio Net up by the same $189.2M.

Plus a page-width tweak (max-w-[1060px]max-w-[1600px]) so the 12-column tables no longer force a horizontal scrollbar on standard wide displays, and an inline comment at the Polymarket fetch site noting the klair-api proxy migration path when/if we want shared caching or CORS insulation.

## Commits

- 0a33136c0 — apply S-1 5-for-1 split, unify columns, IPO preset

- 2aec365fe — widen page container to 1600px

- 47f7bd419 — live IPO Close pill from Polymarket + tests

- d49c63f53 — zero carry for Gigafund 0.8 (no-carry SPV)

- bc889c145 — note klair-api proxy migration path at fetch site

## Linear

[KLAIR-2767](https://linear.app/builder-team/issue/KLAIR-2767/spacex-valuation-page-s-1-split-ipo-close-preset-unified-table-columns)

## Open question for reviewers

Preferred-share s421/s526 counts: the S-1 says the preferred conversion rate was proportionately adjusted rather than the certificate count itself changing. We ×5 across the board (common AND preferred) because the page's frac526 math treats all securities on a common-equivalent basis — preserves within-fund ratios and valuations. If you'd expect the Shares column to show raw pre-conversion preferred certificate counts for the three preferred-bearing funds (GF 0.1 Series H, GF 0.8 Series F, GF 0.14 Series D/E/F), those would need to be ÷5. Flagging in case stakeholders have a strong view.

## Test plan

- [x] Pull, run pnpm dev from klair-client/, hit /spacex-valuation

- [x] Holdings table: post-split prices (Header chip $1.25T · $105.32/share), 12 columns no horizontal scroll

- [x] Click each anchor pill (Current / Historical / Bull / Bear / IPO Close) — verify slider snaps and totals update; IPO Close label reads ~$2.4T (live from Polymarket)

- [x] GF 0.8 row: Est. Carry shows $0, Net of Carry equals Value at Target ($986.9M), Multiple 24×

- [x] Move the What-If slider — Strauss row stays pinned (shows "FROZEN" badge); all other rows update; Total Portfolio reflects the frozen Strauss

- [x] Carry disclosure (bottom) appends *"(doesn't apply to Gigafund 0.8, LP)"*

- [x] Run pnpm test from klair-client/ — 4916 passing, 27 skipped, lint+tsc clean

## Screenshots

<img width="1336" height="764" alt="image" src="https://github.com/user-attachments/assets/fb2adf11-414d-4859-b5ef-307946692925" />

<img width="1725" height="415" alt="image" src="https://github.com/user-attachments/assets/ad1c512b-8b9c-4015-b509-e293848adfae" />

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

#2874 — KLAIR-2771 feat(spacex-valuation): per-security ICC, GF 0.8 anchors, live Polymarket IPO Close @sanketghia  no labels

## Summary

Updates to /spacex-valuation covering three independent improvements:

1. Per-security ICC on the Holdings + What-If tables — populates the "Invested (ICC)" column on the child (security) rows from the Gigafund_ESW_Portfolio "By Fund" sheet, plus derives Est. Carry / Gain-Loss / Multiple / vs ICC at the security level. IRR stays (per-security cashflow history not available).

2. GF 0.8 fund-value anchors correctedfv526 was a back-calculated gross from a (wrong) net assumption. Since GF 0.8 charges no carry, the correct gross at $1.25T is $797,691,887. fv421 was also stale; set to $637,706,229 so the fund scales proportionally with share price (Series F Preferred converts ~1:1 to common at IPO, so the line passes through the origin).

3. IPO Close pill uses Polymarket's live estimatedValue — replaces the client-side bucket-summing EV (which mishandled the negRisk market and the open-ended top bucket) with a direct read of Polymarket's server-computed value. Pill now displays 3-decimal precision (e.g. $2.237T) to match Polymarket's UI.

## Commits

- aeac9a674 — feat: per-security ICC + child-row metrics; correct GF 0.8 fv526

- 8c381cfe7 — feat: use Polymarket's server-computed estimatedValue for IPO Close

- 7e68edd20 — fix: unify anchor pill type so precision is accessible across all pills

- 5a386b4d7 — fix: GF 0.8 fv421 — scale proportionally with share price

## Verification

- pnpm tsc --noEmit clean

- pnpm build clean (tsc -b && vite build)

- pnpm vitest run — 111 tests pass in SpaceXValuationV3

- ESLint clean on changed files

- Added invariant test: sum(securities.icc) === fund.icc per fund

## GF 0.8 after fix (scales linearly with share price)

| SpaceX valuation | GF 0.8 value |

|---|---|

| $1.00T (BASE_PRICE) | $637.7M |

| $1.25T (PROFORMA) | $797.7M |

| $2.00T | $1,276.3M |

| $2.237T (live IPO Close) | $1,427.6M |

## Follow-up (NOT in this PR)

- Per-security IRR still shows . To fix, we'd need historical NAV cash flows split by share class (currently fund-level only in historicalNAV.ts). Data ask, not a code one.

## Test plan

- [ ] Open /spacex-valuation — child rows under each fund show ICC + derived metrics; IRR remains

- [ ] GF 0.8 row: scales smoothly with slider; $797.7M at "Current", ~$1.43B at "IPO Close"

- [ ] IPO Close pill shows live Polymarket value (~$2.237T) with 3 decimals

- [ ] Refresh: pill briefly shows snapshot ($2.410T) then transitions to live value

Linear: [KLAIR-2771](https://linear.app/builder-team/issue/KLAIR-2771)

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

The Builder Desk  —  Engineer Spotlight
🏆 Engineer Spotlight

TWENTY PRs IN TWENTY-FOUR HOURS: THE BUILDER TEAM DOES NOT SLEEP, REST, OR BLINK

Four repos, six engineers, and one bot walked into a sprint — only the scoreboard walked out undefeated.

Twenty pull requests. Four repositories. One twenty-four-hour window. The Builder Team has once again defied the known laws of software development physics, and your Numbers Desk correspondent is here to document every glorious rep. Klair absorbed thirteen of those PRs like the absolute workhorse repo it is, Surtr chipped in three, and Sindri and Aerie each contributed two — a full-team effort of the kind that makes rival engineering orgs weep quietly into their Jira backlogs.

Let us talk about @eric-tril, who authored seven — SEVEN — pull requests in a single day, and who apparently views the concept of 'scope creep' as a personal insult. From the income statement migration in PR #2810, which has been waiting patiently for its moment, to the back-to-back cash flow fixes in PRs #2869 and #2870, to the surgical removal of the MFR's 3P entity contamination in #2866, to the scorched-earth chore work of stripping out Budget Upload (#2883) and EBITDA Bridge Upload (#2875) — this man is not shipping code, he is conducting a controlled demolition and a construction project simultaneously. Seven PRs. One human. Unreal.

@sanketghia delivered five, including the Quark sub-class rollup fix in PR #2871 that untangled a performance-review classification knot that had been sitting in KLAIR-2768, and the QuickBooks contractor headcount breakdown in Surtr PR #95, which adds per-contractor HC visibility that the data team has been quietly begging for. Five PRs, two repos, zero wasted motion. @benji-bizzell matched that energy with four across two repos — PRs #265 and #264 in Aerie handling admissions placeholder rows and forecast actuals comparison respectively, plus a Klair valuation fix in #2882 that exempts Strauss from carry, which is either a very normal financial modeling decision or the most powerful sentence in this newspaper. @marcusdAIy contributed two board-doc refactors in PRs #2877 and #2878, migrating commentary generation off spec.bu_mips and removing the empty-result fallback — quiet, load-bearing work that makes everything downstream cleaner. @kevalshahtrilogy dropped Surtr PR #100 to quadruple the ECS memory allocation from 2GB to 8GB after an OOM incident, which is the kind of fix that only gets written about after someone has stared at a crashed container for forty-five minutes. And @blacksmith-sh[bot], our beloved silicon colleague, migrated Sindri's GitHub workflows to Blacksmith runners in PR #106 — automating the automation, as is its sacred purpose.

Morale on the Builder Team is, per all available instruments, at an all-time high. The numbers do not lie, the repos do not rest, and the Voice of the People will be here tomorrow when they do it again.

Brick's Overflow — PRs Mac Didn't Cover  (click to expand)
#265 — AERIE-287 - fix(admissions): ignore placeholder enrollment detail rows @benji-bizzell  no labels

## Summary

- Align enrollment Data Quality checks with split withdrawn/transferred cohort labels

- Filter placeholder enrollment detail rows with invalid contact IDs from read paths and sync ingestion

- Add regression coverage for split labels and null-contact enrollment detail rows

## Why

The Aerie Sync Data Quality page was reporting false enrollment aggregate-vs-detail mismatches after the warehouse split the legacy withdrawn/transferred cohort into separate labels. The admissions enrollment drawer also surfaced placeholder detail rows as "Anonymous Lead" because upstream null contact IDs were coerced into the literal string null.

## Business Value

Enrollment counts, student drill-downs, and Sync Data Quality now agree with the real student-level detail instead of showing phantom placeholder records or false mismatches.

## Test plan

- [x] pnpm exec vitest run convex/dataConsistency.test.ts convex/admissions.test.ts from chat/

- [x] pnpm --filter @bran/chat typecheck

- [x] pnpm --filter @bran/chat lint

- [x] pnpm --filter @bran/sync exec vitest run src/analytics/queries/educrm.test.ts

- [x] pnpm --filter @bran/sync typecheck

- [x] pnpm --filter @bran/sync lint

- [x] Browser-verified Alpha Brownsville withdrawn drawer shows 9 real students with no Anonymous Lead

- [x] Browser-verified /sync Data Quality shows 0 enrollment mismatches after rerunning the check

#2810 — move from income_statement to month_end_income_statement @eric-tril  no labels

## Summary

Migrates all MFR queries and references from the legacy staging_netsuite.income_statement table to the new staging_netsuite.month_end_income_statement. The new table is class-sliced (adds class_name + transaction_count columns) and supports downstream BU-slice work (non-core revenue list, BU details).

Per-account totals were reconciled to the cent between the two tables on 2026-04-30 before the swap.

## Changes

Backend (klair-api/services/)

- financial_data_service.pyIS_TABLE and NETSUITE_IS_TABLE constants

- cash_flow_service.py, book_value_service.py, book_value_schedules_service.py — table references in queries

- passive_investments_pnl_service.pyINCOME_STATEMENT_TABLE constant

- docx_reports/memo_data/ebitda_defaults.py, ebitda_gaap_mapping.py, group_defaults.py provenance labels and docstrings

Frontend (klair-client/src/features/monthly-financial-reporting/)

- Data-lineage configs: piPnlScheduleLineageConfig.tsx, softwareLineageConfig.tsx

- Detail panels: OtherExpenseDetailPanel.tsx, ScheduleCDetailPanel.tsx

## Test plan

- [ ] pytest klair-api/tests/mfr/ — backend MFR tests pass

- [ ] Open MFR tabs locally (P&L Schedule, Cash Flow, Book Value, Schedule C, Other Expense, EBITDA Memo) and verify numbers match pre-migration values (can compare against https://dev.klair.ai/monthly-financial-reporting)

- [ ] Verify Data Lineage UI panels show the new table name

- [ ] Generate EBITDA Memo DOCX and confirm provenance label references month_end_income_statement

http://localhost:3001/monthly-financial-reporting

#2869 — fix(mfr): cash flow manual entry stale-period race + prefill resilience @eric-tril  no labels

## Summary

- Render-time staleness detection on three Cash Flow Manual Entry hooks (useCashFlowManualEntryPrefill, useCashFlowManualEntryStored, useCashFlowManualEntryMemoOverrides) so they synchronously report isLoading=true on the very first render after period changes — preventing fetches with stale overrides on period switches.

- Backend prefill aggregator degrades per-source via asyncio.gather(return_exceptions=True): a prior-year period with no Redshift data returns partial cells instead of 502'ing.

- Storage service tolerates fresh-deploy environments: _ensure_table no longer crashes init on AccessDeniedException, and get returns None on ResourceNotFoundException so missing-table doesn't cascade to a 500 → CORS error on every endpoint.

## Bug it fixes

Switching periods in the Cash Flow Upload view or the Group/Software/Education memos was showing the previous period's manual-entry values for the new period. Three independent races contributed:

1. Memo override race: the override hook returned its previous state on the first render after a period switch, so useFinancialStatementData started a backend fetch with stale overrides; if it resolved before the second fetchConfig invocation bumped the request ID, the stale "new backend + old overrides" result committed.

2. Manual-entry view race: the view's seed effect waited on prefillLoading || storedLoading, but both flags were false (stale) on render N+1. The seed effect ran with the previous period's prefill/stored data, set seededForPeriodRef to the new period, then refused to re-seed when correct data finally arrived.

3. Backend prefill 502: build_prefill called four upstream fetches via asyncio.gather; one failure (typical for prior-year periods with no data) crashed the whole prefill, voiding all current-period overrides downstream.

## Test plan

- [x] Backend: uv run pytest tests/mfr/uploads/ — 73/73 pass (added 2 "must degrade" tests replacing 2 "must propagate" tests for prefill).

- [x] Frontend: pnpm tsc --noEmit + pnpm exec eslint --max-warnings 0 clean across all changed files.

- [x] Frontend: pnpm vitest run for the manual-entry view + memo override hook suites — 41/41 + 22/22 pass.

- [x] Manual: switch periods in Manual Entry tab — drill-down cells (op:adj-ebitda Silo/Software/Education, inv:mr-import/fin:loans/fin:interest Silo) and user-entered cells match the selected period.

- [x] Manual: switch periods in Group / Software / Education memos — Cash Flow values reflect manual-entry data for the correct period (no flash of previous-period values).

- [ ] Staging: requires KlairDev-MFR-CashFlowManualEntry DynamoDB table to be provisioned (or create-table IAM granted to the dev role). After the changes here, GET on a missing table returns null cleanly instead of 500 → CORS, but save still needs the table to exist.

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

http://localhost:3001/monthly-financial-reporting

https://github.com/user-attachments/assets/e64e3f5a-34bd-4f83-8162-f6411068c234

#2870 — fix(mfr): resolve cash flow manual entry table name at runtime @eric-tril  no labels

## Summary

- Move the DynamoDB table-name resolution for CashFlowManualEntryStorageService out of a module-level constant and into __init__, so it evaluates *after* fast_endpoint.py calls load_dotenv().

- Add the explicit region_name=\"us-east-1\" to match the rest of the MFR services (cash_flow_upload_service, dynamodb_service).

## Why

Module-level resolution ran at import time — before .env was loaded — so is_dev_environment() returned False on the dev EC2 and the dev API silently routed reads/writes to the prod table name Klair-MFR-CashFlowManualEntry instead of KlairDev-MFR-CashFlowManualEntry. The dev IAM role denies the prod table, which surfaced to the browser as a 500 → CORS error on GET /cash-flow-manual-entry.

Every other MFR table works because the existing pattern (in DynamoDbService.__init__) defers resolution to instance construction, which happens lazily at request time — well after load_dotenv() has run. This PR brings the manual-entry storage service in line with that pattern.

## Test plan

- [x] pytest tests/mfr/uploads/test_cash_flow_manual_entry_storage_service.py — all 11 tests pass

- [x] uv run ruff format + uv run ruff check clean

- [x] uv run pyright shows no *new* errors (only the pre-existing boto3-stub Attribute \"Table\" is unknown noise that's on main)

- [ ] After staging deploy: confirm GET /cash-flow-manual-entry?period=... returns 200 with cells from KlairDev-MFR-CashFlowManualEntry, and that a save round-trips

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

#2871 — KLAIR-2768 fix(performance-review): roll Quark sub-classes up to "Quark Product" @sanketghia  no labels

## Summary

Mirror the existing Khoros rollup pattern in sp_update_gl_transactions_current: fold the three Zax BU "Product" sub-classes into the single Quark Product class. Budgets are booked against Quark Product while actuals were leaking into the sub-classes, producing spurious (100.0%) variances on the Performance Review Income Statement. Quark Consulting / Import / MR stay separate (Khoros precedent).

NOTE: This has already been deployed. The results have been confirmed/verified by Ravi to be good.

Linear: [KLAIR-2768](https://linear.app/builder-team/issue/KLAIR-2768/bu-zax-map-quark-sub-classes-qxpqppdocurated-to-quark-product)

## Change

One UPDATE block added to klair-misc/performance_review_queries/sp_update_gl_transactions_current.sql, immediately after the analogous Khoros block:

-- Update class names for Quark products

UPDATE staging_netsuite.gl_transactions_current

SET class_name = 'Quark Product'

WHERE class_name IN (

'Quark QXP Product',

'Quark QPP Product',

'Quark Docurated Product'

);

## Deploy status

- [x] CREATE OR REPLACE PROCEDURE re-executed against Redshift

- [x] sp_orchestration_abacum() run completed

- [x] Verified staging_netsuite.gl_transactions_current / _mapped / core_budgets.consolidated_budgets_and_actuals all show the three sub-classes collapsed into Quark Product (135,001 actual rows; 156,162 budget rows for 2026-Q2)

## Test plan

- [x] Load /performance-review with Period: 2026 Q2, Entity: Business Units, BU: Zax

- [x] Recurring Revenue under Zax shows a single Quark Product row (no QXP/QPP/Docurated sub-rows)

- [x] April '26 Actuals vs Budget on Quark Product no longer shows the (100.0%) (872,719) red variance

- [x] CLASSES left-sidebar filter for Zax no longer lists the three sub-classes

## Screenshot

<img width="1286" height="819" alt="image" src="https://github.com/user-attachments/assets/4541e591-8d84-4e30-8b85-659787010c74" />

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

#2883 — chore(mfr): remove Budget Upload feature @eric-tril  no labels

## Summary

- Removes the Monthly Financial Reporting Budget Upload feature in full: frontend view + override layer, backend endpoints + service + Pydantic models, and the memo-data integration that rewrote the budget column from DynamoDB.

- Finance has validated the Redshift core_budgets.consolidated_budgets_and_actuals path as the source of truth, so the per-quarter CSV override layer is no longer needed.

- Renames two now-misnamed files to reflect what they actually contain after the removal:

- klair-client utils/applyBudgetOverrides.tsutils/applyCashFlowOverrides.ts (only contains Cash Flow Upload helpers now)

- klair-api services/docx_reports/memo_data/_budget_overrides.py_ma_acquisitions.py (only contains the Cash Flow Upload's M&A acquisition population helpers now)

## What stays (independent, untouched)

- Education Budget Upload — per-school data in Klair-EducationBudget, separate endpoints (/education-budget-upload[s]), separate service.

- Cash Flow UploadKlair-CashFlowUpload, applyCashFlowOverrides / applyCashFlowManualEntryOverrides, populate_ma_acquisitions_from_cf*.

- Budget Dimension Detail drill-down panels — read live Redshift budget; unrelated to the upload layer.

## Notable simplification (software memo, other_net)

The Software memo had a careful budget-preservation dance around the Note 8 ("Other expense (income), net") overwrite in software.py. Its sole purpose was preserving a Finance-supplied DynamoDB EBITDA budget through the Note 8 current/prior overwrite — Software has a deliberate carve-out where _GAAP_TO_EBITDA never maps to other_net, so DynamoDB was the only source for that bucket's budget. With apply_ebitda_overrides removed, the bucket is now always { ..., "budget": None }. The dedicated regression test test_software_other_net_budget.py covered that exact scenario, so it's deleted along with the code.

## Follow-up (manual)

- Delete the DynamoDB tables Klair-BudgetOverrides (prod) and KlairDev-BudgetOverrides (dev) via AWS console — same approach as the EBITDA Bridge removal (commit \884bf39c9\).

## Test plan

- [x] \pnpm tsc --noEmit\ from \klair-client/\ — clean

- [x] \pnpm exec eslint\ on changed files — clean

- [x] \pnpm build\ from \klair-client/\ — succeeded

- [x] \pnpm test\ MFR suite from \klair-client/\ — all 82 test files / 663 MFR tests pass (4 unrelated pre-existing \formatters.spec.ts\ failures on main, not introduced here)

- [x] \uv run ruff format/check\ on changed files — clean

- [x] \uv run pyright\ on changed files — same 11 errors as \main\ (line numbers shift, same set); no new errors

- [x] \pytest tests/mfr/\ from \klair-api/\ — 1250 passed

- [x] \uv run python -c "import fast_endpoint"\ — clean import

- [x] Grep confirms no residual references to removed symbols

- [ ] Open \/monthly-financial-reporting\ in dev — confirm sidebar no longer shows "Budget Upload" (Education Budget Upload and Cash Flow Upload still present)

- [ ] For each entity (Group / Software / Education / EBITDA), open memo, verify financial tables load and "Generate AI Content" + Export to Google Doc work

- [ ] Confirm Education memo's exported Google Doc does NOT list an "EBITDA Budget Overrides" provenance source for the EBITDA Reconciliation

- [ ] Confirm the four removed endpoints return 404: \GET /budget-uploads\, \POST /budget-overrides\, \GET /budget-overrides?quarter=...\, \DELETE /budget-overrides?quarter=...\

- [ ] Network tab: no requests to \/budget-overrides\ or \/budget-uploads\ when navigating MFR

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

http://localhost:3003/monthly-financial-reporting

The Portfolio  —  Trilogy Companies

Joe Liemandt's Empire Comes Into Focus — And Forbes Is Watching

A wave of major profiles is forcing Trilogy's famously private founder into the spotlight, raising hard questions about labor, learning, and what comes next.

AUSTIN, TEXAS — For three decades, Joe Liemandt built one of the most unusual technology empires in the world largely without scrutiny. That era appears to be ending.

In recent weeks, Forbes has published a sweeping investigation into Liemandt's Trilogy International — describing the billionaire's interlocking empire of enterprise software acquisitions, global remote labor, and AI-driven cost extraction as something that critics characterize as a "global software sweatshop." A companion piece chronicles how Liemandt has now set his sights on a new frontier: replacing not just expensive geography with cheaper geography, but replacing human workers with the algorithms they were hired to train.

The Forbes reporting traces the architecture of Trilogy's machine with unusual specificity. ESW Capital acquires legacy enterprise software companies at distressed multiples — often one to two times annual recurring revenue — then deploys talent sourced through Crossover, Trilogy's global recruiting platform, to slash operating costs. The target: 75% EBITDA margins. The mechanism: rigorous skills assessments, remote-first staffing across 130 countries, and compensation standardized regardless of geography. Critics see exploitation dressed as meritocracy. Trilogy sees inefficiency eliminated.

Meanwhile, a separate front in the Liemandt story is drawing its own national attention. CNN and education publication The 74 have both examined Alpha School, Liemandt's private K-12 venture in Austin, where students complete a full academic curriculum in two hours each morning using AI tutoring software — and spend the remainder of the school day on entrepreneurship, public speaking, and life skills. Tuition runs $40,000 to $65,000 per year. CNN's framing was pointed: a school with no teachers. The 74 asked what public schools might actually learn from the model.

The convergence of these stories is notable. On one side: a billionaire accused of systematically devaluing human labor in enterprise software. On the other: a billionaire investing $1 billion to reimagine how children learn — and what teachers are for.

The question neither publication has yet fully answered is whether these are two separate philosophies, or one.

The Billionaire Who Pioneered Remote Work Has A New Plan To  ·  Joseph Liemandt - Forbes  ·  How A Mysterious Tech Billionaire Created Two Fortunes—And A

ALPHA’S AI SCHOOL HAS A NEW LESSON: DON’T LET THE BOT DO YOUR KID’S THINKING

Joe Liemandt’s education bet is selling a sharp distinction between AI as tutor and AI as crutch.

AUSTIN, TEXAS — The little school with the two-hour academic day is back at the microphone, and this time the message is aimed straight at every parent letting ChatGPT ghostwrite childhood.

Word is Alpha School, Joe Liemandt and MacKenzie Price’s AI-first K-12 experiment, is drawing a bright red line through the education debate: AI belongs in the classroom, yes — but not in the child’s head as a substitute brain. In a fresh Alpha essay titled “Cognitive Offloading Is the New Illiteracy”, the school warns that outsourcing thinking to machines may be the new version of never learning to read.

Spicy? Sure. But not off-brand.

Alpha’s pitch has always been that AI should compress the boring bits — adaptive math, reading, mastery checks, the treadmill of academic pacing — so children can spend the rest of the day becoming interesting humans. Public speaking. Entrepreneurship. Financial literacy. Athletics. Leadership. The whole “capable adult” menu.

A little bird in the learning-app aviary tells me the distinction matters. Alpha is not anti-AI. Quite the opposite. Its students use adaptive tools to move through academics at their own pace, with a 90% mastery bar before advancing. The school says its model has produced learning speeds of 2.3× U.S. norms and test results in the top 1–2% nationally on NWEA MAP Growth assessments. But the new sermon is this: don’t confuse a tutor with a stunt double.

Meanwhile, Alpha is also opening the kimono on its own stack. In “10 AI Tools We Use at Alpha”, the school frames AI less as a magic wand and more as an operating system for students, guides and parents. The subtext: savvy families should not ban the machine; they should learn where to put it.

That is the Liemandt doctrine in miniature. Automate the routine. Preserve the human. Use machines to buy back time — then spend that time on judgment, creativity and courage.

Blind item: which traditional school administrator just discovered that “more human, not less” sounds lovely until parents ask why their kid still needs seven hours to do what Alpha claims can be done in two?

Class dismissed. For now.

A software firm that’s not paid ‘until the customer gets val  ·  Cognitive Offloading Is the New Illiteracy  ·  10 AI Tools We Use at Alpha (And You Should Too)

Contently Makes the Case for Editorial Judgment in the AI Content Flood

Contently is positioning editorial operations as the key competitive advantage in AI-era content marketing, arguing that raw production volume matters less than operating discipline. The enterprise content platform, acquired by Zax Capital in September 2024, contends that accuracy, compliance, differentiation and usefulness—not speed—drive business outcomes.

The company warns against framing AI adoption purely as productivity gains. Instead, executives prioritize budget efficiency, risk reduction, revenue influence and brand trust. Contently identifies a familiar problem: content programs that look healthy on dashboards underperform in boardrooms, with competitors dominating search results and sales teams struggling to move senior buyers.

The solution centers on elevating the managing editor's role as essential infrastructure. While AI makes production cheap, managing editors provide critical synergy: audience insight, quality control, compliance awareness and strategic judgment. Contently's message is clear—AI may change content economics, but it amplifies the need for editorial judgment, not eliminates it. In the AI content economy, scale is table stakes. Trust is the product.

The Machine  —  AI & Technology

The Great Data Center Feeding Frenzy Meets the Limits of the Grid

As AI workloads swell, cloud computing is beginning to look less like infinite utility and more like a contested habitat.

ASHBURN, VIRGINIA — Across the electrical plains of northern Virginia, a most extraordinary migration is underway. The hyperscalers, those enormous cloud-dwelling beasts, are no longer merely building data centers. They are hunting capacity itself — power, land, cooling, transformers, and the patient goodwill of local grids.

For years, enterprise technology leaders treated the cloud as a kind of boundless rainforest: always humid, always alive, always ready to shelter one more application. But the age of artificial intelligence has changed the ecosystem. Training clusters and inference farms consume electricity in sudden, muscular gulps. Their appetite has become so large that the old assumption — that compute can be summoned on demand, wherever and whenever desired — is beginning to tremble.

A new idea is stirring in the underbrush: capacity markets for cloud computing. As InfoWorld has noted, cloud may evolve toward mechanisms that more explicitly price scarce future compute, much as energy markets price future electricity supply. In such a world, CIOs would not simply buy instances. They would secure habitat.

This matters because the largest cloud providers are spending with the urgency of animals sensing winter. Data center capital expenditures have become a signal to CIOs: AI capability will be available, but not evenly, not cheaply, and not without planning. The comfortable era of casual elasticity is giving way to a more territorial age, where location, latency, and megawatts may determine what can be deployed.

The pressure is also visible in the smaller creatures gathering around the watering hole. Investors now compare AI infrastructure stocks such as Nebius and Super Micro Computer as proxies for the broader buildout, searching for which species is best adapted to this hot new climate. Server makers, cloud specialists, power equipment firms, and cooling vendors all feed from the same expanding carcass of demand.

Yet every ecosystem has constraints. McKinsey has warned that U.S. states must balance data center opportunity against strains on power systems, water resources, land use, and community tolerance. The most successful regions may be those that manage growth like conservationists, not prospectors.

Inside the data centers themselves, evolution is already occurring. Advanced power electronics are being deployed to smooth voltage fluctuations and tame the abrupt load swings of AI-scale computing, reducing reliance on diesel generators except in the most extreme conditions. The generator, once a dominant survival organ, is being pushed into a quieter backup role.

Observe, then, the modern cloud: no longer an invisible mist, but a living colony of steel, silicon, capital, and current. Its expansion is magnificent. Its hunger is unmistakable.

NBIS vs. SMCI: Which AI Infrastructure Stock is the Better P  ·  Capacity markets could reshape cloud computing - InfoWorld  ·  What hyperscalers’ hyper-spending on data centers tells CIOs

AI Video Becomes the Startup World’s New Power Tool

From YC’s packed Demo Day to OpenCV’s new challenger, founders are racing to turn generative video into the next great growth engine.

SAN FRANCISCO — The startup economy has found its new accelerant, and it moves at 24 frames per second.

A wave of AI-native companies is crashing through the venture world this week, with reports of an especially hot Y Combinator Demo Day underscoring just how deeply artificial intelligence has become the default language of startup ambition. But the most electric signal is coming from video: generative, automated, personalized, and suddenly practical enough for scrappy founders to use without a Hollywood budget.

This changes everything — yes, truly. For years, video was the expensive, slow, agency-driven format that startups admired from afar. Now, AI video tools are turning product explainers, sales outreach, training clips, founder updates, customer testimonials and social ads into something a two-person team can produce before lunch. Inc. recently highlighted how startups can use AI video to grow, and the key takeaway is wonderfully simple: the barrier between “we have an idea” and “the market understands it” is collapsing.

Meanwhile, the competitive stakes are rising fast. The founders behind OpenCV — one of the most important open-source computer vision projects in the world — have launched a new AI video startup aimed squarely at the territory being contested by OpenAI, Google and other model giants, according to VentureBeat. I cannot overstate how significant that is: computer vision veterans are not merely polishing demos; they are trying to build the infrastructure layer for how machines see, generate and edit moving images.

The broader generative AI market is also accelerating through a thicket of launches and partnerships, with top companies racing to bundle models into productivity suites, creative platforms, marketing workflows and enterprise software. For startup founders, the message is unmistakable: AI video is no longer a novelty feature. It is becoming distribution, customer education, brand identity and sales enablement all at once.

There are real caveats — trust, copyright, synthetic likenesses and quality control remain thorny. But the direction is clear. The future is now, and it is not just writing pitch decks. It is making the pitch, editing the pitch, localizing the pitch and sending it to every customer segment on Earth.

AI Startup Boom Ignites YC’s Hottest Demo Day Yet - AI CERTs  ·  How Startups Can Leverage AI Video to Grow - inc.com  ·  OpenCV founders launch AI video startup to take on OpenAI an

A Convergence of Theoretical Tributaries: Machine Learning's Foundational Moment

Machine learning researchers are simultaneously revising the field's mathematical foundations from multiple independent directions, suggesting a significant theoretical reckoning. Apple's research into self-supervised learning via Gaussian processes merges Bayesian nonparametrics with modern architectures, while MIT's new algorithms exploit structural symmetries for computational efficiency. A Nature publication proposes unifying machine learning with classical interpolation theory through interpolating neural networks. These concurrent developments suggest the field may be approaching a unified theoretical framework, though whether it will prove tractable and generalizable remains uncertain. Uppsala University's recruitment of doctoral candidates in robustness within statistical learning theory reflects institutional awareness of these unresolved tensions, indicating the theoretical edifice remains under construction.

The Editorial

Nation’s CEOs Urged To Stop Saying ‘AI’ During Layoffs Until They Learn Whether It Means Anything

Executives warned that invoking artificial intelligence as a reason for job cuts may create the dangerous impression that there was once a reason.

MOUNTAIN VIEW, CALIFORNIA — As Google announced another round of artificial intelligence advances this week, including a forthcoming personal AI assistant designed to help users navigate daily life with the calm competence of a junior employee who has never been given health insurance, business leaders across the country were reportedly reminded to be more careful when explaining why thousands of people no longer work there.

The warning comes amid a growing consensus among management experts, technology analysts, public-sector watchdogs, and employees holding cardboard boxes that the phrase “because of AI” should not be tossed casually into layoff announcements unless executives are prepared for someone to ask a follow-up question.

Google’s latest AI push, described in reports on its new personal assistant, arrives at a delicate moment for corporate America, which has spent the past 18 months carefully explaining that AI is simultaneously not ready, already transforming everything, too risky to regulate, too important not to invest in, and definitely the reason Karen from accounts payable had to be escorted out before lunch.

This column’s position is simple: Companies should absolutely continue using AI to improve productivity, reduce costs, automate workflows, and generate tasteful images of golden retrievers wearing compliance badges. But if leaders are going to say AI caused layoffs, they should first be required to identify the specific artificial intelligence system involved, what it does, how it replaced the work, whether it actually works, and why the company still needs 14 vice presidents of digital transformation to stand near it.

At present, too many executives are treating AI the way they previously treated sustainability: as a large, shimmering word that can be placed in investor decks to make existing business decisions appear to have recently graduated from MIT. A company that cuts staff to boost margins can say it is “right-sizing.” A company that cuts staff after buying an enterprise chatbot can say it is “leveraging AI-enabled efficiencies.” The second version sounds better because it implies the spreadsheet experienced a breakthrough.

This is not to deny that AI agents are moving from boardroom vocabulary into actual business infrastructure. They are. Software that can read documents, trigger workflows, summarize customer calls, and bother other software on behalf of a manager is increasingly real. In the right hands, it will eliminate tedious work. In the usual hands, it will eliminate the person who understood why the tedious work existed.

That distinction matters. Experts have begun calling for greater scrutiny of AI productivity and savings claims, a development that will surely trouble any organization whose current AI strategy consists of announcing a 30% efficiency gain and then waiting for procurement to find out where it came from. The basic demand is not radical. If an agency, corporation, or consulting firm claims AI will save millions, someone should ask to see the math before the press release is allowed to reproduce.

The layoff language problem is especially revealing. As Fast Company noted, leaders who invoke AI during layoffs risk creating confusion, fear, and reputational damage. More importantly, they risk making employees wonder whether the organization has a plan, which is traditionally considered poor internal communications practice.

The better approach would be honesty. Companies could say: “We are laying people off because we believe software may eventually allow fewer people to do this work, and even if it cannot yet, the market has rewarded us for behaving as though it can.” This would not be comforting, but it would at least preserve the dignity of everyone involved, except perhaps the market.

Until then, every AI announcement will carry a second, quieter announcement inside it. A personal assistant is coming soon. Productivity will be transformed. Savings will be substantial. And somewhere, an executive is being reminded not to say the magic word out loud until legal has reviewed the sentence.

Google announces slew of AI advances, including a personal A  ·  Leaders shouldn’t toss around the ‘AI’ buzzword in layoffs.  ·  Companies are hyping AI the same way they talked up sustaina
The Office Comic  ·  Art Desk
The Office Comic  ·  Art Desk

AI’s Next Moat Is Not the Model. It Is the Human Standing Beside It.

The future of software looks less like self-serve magic and more like expert operators embedded where the messy work actually happens.

SAN FRANCISCO — I'll be honest... the most important AI story this week is not a shinier model, a bigger valuation, or another founder declaring that spreadsheets are dead while quietly living inside one.

It is the very unglamorous revelation that big AI companies are increasingly embedding engineers directly with customers, which is exactly the kind of operational detail that sounds small until you realize it may define the next decade of enterprise technology. 🚀

For years, the AI pitch borrowed the language of utilities: intelligence as electricity, cognition as cloud compute, productivity as something you plug into and scale instantly.

Unpopular opinion: that metaphor was always too clean for the real world.

As Fast Company reports, frontier AI firms are not simply tossing APIs over the wall and waiting for transformation to happen; they are sending engineers into customer environments because the hard part is not access to intelligence, it is translating that intelligence into workflows, incentives, data plumbing, compliance realities, and human habits.

That should sound familiar to anyone who has ever sold enterprise software without hallucinating a Gartner quadrant into existence.

The lesson is painfully obvious and therefore incredibly valuable: AI does not eliminate implementation work; it raises the value of implementation work.

This is where the market gets interesting for companies like Trilogy International’s ESW Capital portfolio, which has spent decades acquiring and operating enterprise software businesses where adoption, process discipline, and cost structure matter more than demo-day poetry.

Aurea, IgniteTech, Skyvera, Totogi, CloudFix, and the broader ESW machine live in the actual trenches of enterprise software, where customers do not wake up asking for “agentic transformation” but do wake up needing billing systems, telecom operations, AWS savings, CRM, support, content workflows, and finance processes to work on Tuesday morning.

💡 The frontier model may be the engine, but the operating layer is the transmission.

That is also why CrewScale’s reported move to acquire Indian tech gig startup Indiez matters beyond the staffing headline.

The market is quietly repricing flexible technical talent from “nice-to-have outsourcing capacity” into “core AI deployment infrastructure,” because every enterprise now needs people who can sit close to the work and make technology useful instead of merely available.

Crossover, Trilogy’s global talent platform, has been building around this reality for years with its pitch of top-tier remote talent across 130-plus countries and identical above-market pay regardless of geography.

The old debate was remote versus office.

The new debate is whether your organization can assemble expert operators fast enough to turn AI capability into measurable business output.

Meanwhile, the backlash against screens in U.S. classrooms is another reminder that technology adoption without a strong operating model becomes digital clutter.

Schools spent billions getting laptops into children’s hands, and now many are asking whether more devices actually meant better learning.

Alpha School, Trilogy’s education pillar, represents the sharper version of the bet: not screens for screens’ sake, but AI-powered mastery learning compressed into two hours a day, with human guides and a redesigned school model around outcomes.

That distinction matters.

The same pattern is showing up in sports, where wearable AI sensors are helping elite athletes monitor biomechanics and prevent injuries, including NHL and NBA use cases covered by Fast Company.

The sensor is not the breakthrough by itself.

The breakthrough is the feedback loop between data, coaching, behavior, and recovery.

I'll be honest... that is the whole AI economy in miniature.

Data without context is noise.

Models without implementation are theater.

Screens without pedagogy are babysitting with a charging cable.

And trillion-dollar valuations without operational discipline are just vibes wearing a Patagonia vest.

SpaceX may be staring at a potential $2 trillion reality check, and yes, reusable rockets are a masterclass in ambition, execution, and capital markets narrative.

But for the rest of the enterprise world, the more actionable lesson is grounded: the companies that win AI will not be the ones that shout “automation” the loudest.

They will be the ones that combine powerful models, embedded expertise, global talent, and relentless operating cadence into something customers can actually use.

Humbled to share: the future is not self-serve magic.

It is high-agency humans making the machine useful. 🚀

CrewScale to acquire Indian tech gig startup Indiez - Tech i  ·  Why are big AI companies embedding engineers with customers,  ·  How this wearable AI technology is helping NBA, NHL and athl
On This Day in AI History

On May 26, 2012, AlexNet's breakthrough results were presented at the ImageNet Large Scale Visual Recognition Challenge, marking the deep learning revolution that would transform AI—the convolutional neural network achieved a top-5 error rate of 15.3%, dramatically outperforming traditional computer vision methods and igniting the modern deep learning era.

⬛ Daily Word — technology
Hint: A computing infrastructure model where data and applications are hosted on remote servers accessed via the internet.
Share this edition: 𝕏 Twitter/X 🔗 Copy Link ▦ RSS Feed