Vol. I  ·  No. 254 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
FRIDAY, SEPTEMBER 11, 2026 Powered by the TrueFoundry AI Gateway  ·  Published on Klair Trilogy International © 2026
🖶 Download PDF 🖿 Print 📰 All Editions
Today's Edition

PICPAY GOES FULL SEND ON WALL STREET — PRICES AT THE TOP, BRAZIL'S BACK IN THE GAME

The first Brazilian IPO since 2021 lands with an 85% revenue clip, an earnings miss on the scoreboard, and Mistral AI throwing down a $24 billion gauntlet of its own.

NEW YORK — FOLKS, WE ARE HERE. The IPO market, left for dead in the locker room for the better part of four years, just took the field with a Brazilian flag on its jersey and it is SWINGING.

PicPay — trading as PICS — priced its US debut at the top of its range, and that is the fintech equivalent of nailing a buzzer-beater from half court. This is the first Brazilian company to IPO stateside since 2021, and after a drought like that, you take the win any way it comes. Bloomberg had the tape rolling on this one, and the crowd noise out of São Paulo was deafening.

But let's look at the box score, because this game had two very different halves. Revenue up EIGHTY-FIVE PERCENT — that's an offense clicking on all cylinders, a fast break every possession. And yet — the earnings line missed. That's a team that's outscoring everybody but still can't close the fourth quarter — fintech margin pressure playing tight defense on the bottom line. Wall Street's watching the free-throw stats closely on this franchise.

And PicPay isn't walking onto an empty field. Crunchbase just dropped its bracket of 15 companies that could go public in 2026, and the IPO market is starting to look like March Madness — everybody's warming up on the sideline, waiting for the whistle.

Meanwhile, across the pond in the AI arena, Mistral AI just posted a STAT LINE of its own — north of $24 billion in valuation off a Samsung-led round, per the Wall Street Journal. That's not a layup, that's a full-court alley-oop, and it tells you the AI money is still flowing even as the public markets try to find their legs again.

Two different sports, same energy: capital is BACK on the floor, and everybody wants the ball.

PicS (PICS) Delivers 85% Revenue Growth and IPO Transformati  ·  Crunchbase Predicts: 15 Companies That Could Go Public In 20  ·  Indian Listed New-Age Tech Company Tracker: Market Cap, Reve

Big Tech Sheds Bodies While Austin Shrugs

Oracle and Amazon post layoff numbers that rival last year's total — and the shop that's been running lean since 1989 says it saw this coming.

AUSTIN, TEXAS — Oracle cuts. Amazon cuts. The pink slips pile up faster than the excuses. Silicon Valley's 2026 layoff count is closing in on all of 2025's tally, and the year ain't even done, according to a Business Standard tally out this week.

The suits blame AI. Revelio Labs asks whether that's the real reason or just a convenient scapegoat, and TechTarget lays out a fatter list — interest rates, bloated post-pandemic headcount, boards spooked by margin math. Either way the pink slip keeps landing on the same desk.

Joe Liemandt's shop don't need a memo to figure this one out. Trilogy International's ESW Capital has spent three decades snapping up enterprise software outfits at one and two times revenue — Aurea, IgniteTech, Skyvera, the whole stable — and running them lean from day one. No mass layoff event needed. The leanness was baked in at the acquisition price.

Crossover, the Trilogy talent engine, sells the same medicine as prevention instead of cure. Hire the top slice of remote talent from 130 countries, pay above market, skip the campus and the ping-pong tables and the headcount you'll regret in a downturn. While Oracle trims org charts stacked five years deep, Crossover clients start lean and stay that way.

San José Spotlight puts Silicon Valley's 2026 cuts on pace with last year's carnage — a grim rhyme, not a new verse. The valley's answer to bloat has always been the layoff memo. Austin's answer has been the acquisition contract.

Meanwhile Poynter flags a different kind of consolidation — newsroom tech vendors, squeezed by dwindling funding dollars, merging or dying rather than face the market alone. That's the same forced-thinning happening at Oracle and Amazon, just playing out one rung down the software stack. Trilogy's Contently, picked up in the content-marketing space back in September 2024, sits close enough to that fire to feel the heat.

The pattern holds across the wreckage: whether it's a hyperscaler cutting 5,000 jobs or a newsroom vendor folding into a rival, somebody's paying today for headcount decisions made in easier years. Trilogy's whole operating thesis — buy cheap, staff global, keep it tight — was built for exactly this weather.

Don't expect tears in Austin. The wire don't file layoff notices out of the Trilogy tower this week, and that ain't luck. That's the business model working as designed.

From Oracle to Amazon: Tech giants drive global wave of layo  ·  AI Layoffs: Real Workforce Strategy or Scapegoat? - Revelio  ·  AI, economic pressures and other causes of Big Tech layoffs

Brussels Writes the Rules; Washington and Beijing Write the Chips

As the U.S. and China race to build the infrastructure of intelligence, Europe is left drafting the paperwork.

BRUSSELS — The server farm does not care about your regulation. It cares about power, water, and proximity to a fiber trunk. That is the quiet joke inside Europe's push for what officials call "strategic autonomy" in artificial intelligence: the rules are written here, but the silicon is not.

A wave of new analysis this week — from accounts of stalled global coordination to a sharp read on data centers and European autonomy — arrives at the same uncomfortable conclusion. The great multilateral project to govern AI, the one imagined at Bletchley Park two years ago in rooms full of flags, has quietly given way to something older: two great powers hoarding compute, and everyone else negotiating access.

Washington controls the chips. Beijing controls the scale. Brussels controls the paperwork — and lately, the paperwork is beginning to look like the only lever Europe has left. Analysts describe it as a hedge dressed up as principle: if you cannot out-build the American hyperscalers or the Chinese state apparatus, you can at least out-regulate them, forcing every model that wants access to 450 million European consumers to pass through Brussels' door first. It is soft power by clipboard.

The stakes are not abstract for companies that live on the seams of this rivalry. A telecom software vendor selling billing platforms to a Southeast Asian carrier, a cloud-billing shop like Trilogy's Totogi serving telcos across four continents, a distributed workforce like Crossover's spanning 130 countries — all of them now price in jurisdiction. Where does the model run. Whose export licenses apply. Which government can subpoena the logs.

None of this resembles a treaty. It resembles a border. The AI governance debate, once framed as a race to write humanity's rulebook, has narrowed into something more familiar to a foreign correspondent: a contest over territory, dressed in the language of ethics. The server farm has a zip code. Increasingly, so does the future.

Geopolitical rivalry is slowing global AI regulation - logos  ·  AI, Data Centers, And European Strategic Autonomy In A U.S.-  ·  __followup__The geopolitical gains of EU Artificial Intellig
Haiku of the Day  ·  GPT-5.6 LunaChips dream in Brussels
Agents answer in their place
Who needs a heartbeat?
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
On the Epistemology of Machine Methodology: Two New Preprints Interrogate How AI Agents Think, Not Merely What They Produce
PALO ALTO, CALIF.
From the Moon to Your Inbox: AI's Breakneck Pace Has No Off-Switch — And No Brakes
SAN FRANCISCO — Buckle up, because I cannot overstate how significant this week has been for artificial intelligence — and I mean that in the most head-spinning, best-and-worst-of-times way possible. Let's start with the wake-up call.
WHEREAS the Federal Trade Commission Doth Eyeball Acquihires, Trilogy's Counsel Advises Calm, Notwithstanding Everything
AUSTIN, TEXAS — Notwithstanding the generalized uncertainty surrounding the forthcoming 2026 antitrust enforcement calendar, as previewed in the aforementioned commentary published by Tech Policy Press, particular attention is hereby drawn to guidance issued by WilmerHale regarding the Federal Trade Commission's heightened interest in so-called 'acquihire' transactions, said transactions being defined, for purposes hereof, as arrangements wherein an acquiring entity procures personnel and associated intellectual property in lieu of, or in addition to, a conventional merger structure. It is noted, without prejudice to any pending or future inquiry, that Trilogy International's ESW Capital subsidiary maintains a longstanding practice of acquiring enterprise software concerns at valuations of approximately one to two times annual recurring revenue, said acquisitions frequently accompanied by the redeployment of engineering and support personnel through the Crossover talent platform, hereinafter referred to as "the Platform." Counsel for this publication has been instructed to clarify, in the strongest possible terms, that no representation is hereby made, express or implied, that any Trilogy-affiliated transaction is presently, or has ever been, the subject of regulatory review pursuant to Section 7 of the Clayton Act or any analogous statutory provision. Separately, and for the avoidance of doubt, the pending matter of DOJ v.
I Have Achieved Full Buzzword Fluency And I Am Begging You To Notice
AUSTIN, TEXAS — I want to be transparent about something, which is itself one of the thirteen buzzwords CFOs are being told to know for H2 2026, according to a list I have now read fourteen times.
The First Person Plural
SAN FRANCISCO — There is a new monster picture out this month, called Hope, of which the kindest thing said is that it swings big — a hundred and eighty million dollars of swing, by the trade papers' reckoning — and misses in the particular way that only very expensive things can miss, by mistaking scale for substance.
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
Production Release

TimeBack Sync Goes Live As Aerie Builds a Whole New Enrollment Brain

A 14-entity incremental sync rollout, a from-scratch SIS enrollment reporting suite, and a revenue-automation trifecta prove this team ships infrastructure that actually holds weight in production.

Some days the scoreboard just lights up. Today it was @caina-barbosa closing out the TimeBack OneRoster saga with PR #1821, flipping on one-hour watermark-incremental sync across the remaining thirteen approved bulk entities — the exact 14-entity policy the team has been building toward for weeks. This wasn't a victory lap without scars: PR #1816 caught a nasty production canary failure where TimeBack's `sourcedId` ordering broke Python's casefold assumptions (turns out `q1` sorts before `q12` in ways lexicographic logic never saw coming), and Caina fixed it by treating source collation as opaque rather than fighting it. PR #1820 then quietly reconciled the repo's desired state with an AWS rule that was already live, so the next deploy doesn't undo months of validated canary work. That's three PRs, one coherent story, and a pipeline that finally trusts its own data.

Over in Aerie, @vvp-trilogy didn't patch the enrollment report — he built a second one from the ground up. PR #1299 shipped a parallel, aggregate-only SIS enrollment report living peacefully alongside the HubSpot incumbent, PR #1303 layered in cursor-paginated student drill-down and a detail pane reading straight off `mart_enrollment_dtl`, and PR #1309 closed the loop with CSV export straight from the browser-loaded matrix. Threaded through it all was PR #1308, a real data-integrity fix — students like Armin Bernatonis were getting miscounted as returning despite an explicit `NEW_ENROLLMENT` application. Four PRs, one clean narrative arc from schema to spreadsheet.

Surtr's revenue engine got sharper too. @mwrshah landed a three-PR run — #1793 opened pain-point approval to every account above $1M ARR while tightening Contently's threshold, #1794 wired Klair's `related_tickets` into Gráinne's evidence payload, and #1795 taught the writeback path to own PostgreSQL domain data atomically through the Salesforce retry pipeline. That's the plumbing between engineering and revenue getting genuinely trustworthy.

And on Klair, @sanketghia fixed a real accounting identity bug in the SpaceX valuation waterfall (PR #3756) while restoring a clean 6,848-test Vitest run (PR #3758). Elsewhere in the repo, marcusdAIy pushed PR #3754 for DOCX Drive-context parsing. Asked about scope creep concerns, he offered: "The cumulative output cap holds across nested tables and real XLSX cell counts — I'd invite anyone who thinks that's trivial to actually trace the recursion." Sure, Marcus — trace away. The rest of the team was busy shipping things that moved the scoreboard.

Mac's Picks — Key PRs Today  (click to expand)
#1299 — feat(enrollments): add parallel aggregate-only SIS enrollment report @vvp-trilogy  approved

Closes #1296.

## What this delivers

A parallel, aggregate-only SIS enrollment report alongside the existing HubSpot-backed enrollment report. The incumbent report is behaviorally unchanged except for one additive SIS Based Report link at the bottom. The SIS report is selected within the existing Enrollments sub-route by source=sis; a missing or unknown source safely renders the current report. No nav item is added and the Enrollments nav stays active for both views.

## Layers

Contract (@bran/contracts/sis-enrollment) — runtime-free vocabulary shared by sync + convex + UI:

- Ten metric ids in the incumbent order/names; cohort + x_pipeline mapping; required-coverage cohort set.

- buildSisEnrollmentCounts, missingSisEnrollmentCoverage, sisFirstDayPartitionMatches.

- Metric→incumbent-column map so the UI reuses the incumbent labels and tooltip copy.

- defaultSisEnrollmentSchoolYear delegates to the shared defaultEnrollmentSchoolYear.

Sync

- sync/src/redshift/sis-enrollment.ts: reads only sandbox_education.mart_enrollment_dtl with COUNT(DISTINCT CASE WHEN has_fact THEN student_id END) at (program, session_school_year, cohort_id[, x_pipeline]); validates dense-grid coverage and the 1st-Day partition; throws on missing coverage / empty source.

- sync/src/analytics/sis-enrollment-refresh.ts: isolated refresh publishing counts only; any failure (unavailable source, missing coverage, publish rejection) skips publication and preserves the last known-good run. Wired into the orchestrator as its own domain.

Convex

- New sisEnrollmentRollups + single-pointer sisEnrollmentPublications tables (isolated from enrollmentSnapshots/admissionsPublishedRuns).

- publishSisEnrollmentRollups internal mutation: one atomic transaction — validate, insert the run's rows, advance the pointer (with source freshness), prune the prior run. A throw rolls back and preserves last known-good.

- Bearer-token /sync/analytics/sis-enrollment route.

- getSisEnrollmentData query gated by admissions.enrollments.read, returning aggregate counts only — no student-level records, no drill-down.

UI

- Isolated SIS view + matrix reusing the incumbent's spacing, sticky header/School column, totals row, zero-as-em-dash, column tooltips and On Campus emphasis. Metric cells are non-interactive (no student panel this ticket).

- Year selector (shared enrollment-year helper + persisted preference), Search schools... search filtering rows and the totals row, freshness chip.

- source=sis dispatch; SIS Based Report / Back to Enrollment Report links preserve/remove source while keeping other params.

## Tests

Exact-file coverage for aggregation, metric mappings, zero coverage, missing source, stale/failed publication (last known-good preserved), authorization (unauth + missing capability), route selection, and selected-year behavior. pnpm typecheck, pnpm biome check, boundary / convex-path / read-bounds / test-architecture checks all pass.

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

#1793 — Release all pain points for accounts above $1M ARR @mwrshah  approved

- Approve every live pain point for accounts above $1M total ARR, regardless of product.

- Keep repository-owned product rules for lower-threshold cohorts and enable Contently above $100K.

- Remove the redundant Khoros-specific filter; Khoros now passes through the universal account-total rule.

- Keep Action Hub admission sticky while Grainne approval becomes sticky only after persistence.

- Add relational coverage for universal approval, Contently's strict threshold, and shared admission/approval eligibility.

Live read-only impact check against the current 365-day window:

- Universal >$1M approval releases 135 active, unpushed pain points.

- Contently >$100K adds 42 active pain points.

#1816 — fix(timeback): treat source key collation as opaque @caina-barbosa  approved

## Summary

- treat TimeBack sourcedId ordering as an opaque source-defined collation rather than approximating it with Python casefold()

- retain inclusive cursor repetition, exact-ID overlap accounting, immutable replay validation, and fail-closed cursor progress

- add regressions for TimeBack's observed natural ordering (q1 before q12)

## Why

The first authorized production canary failed closed before publication because TimeBack validly returned ..._q1_157_result before ..._q12_157_result. Python lexicographic/casefold ordering considers that pair descending, but TimeBack uses a natural/numeric source collation.

The client does not need to reproduce that private collation. It now verifies source-independent invariants: the exact inclusive cursor must recur, exact IDs are unique within each response, previously seen IDs are counted as overlap, and every full follow-up page must contain new records and end on a new exact cursor. Replay enforces the same evidence contract.

The timeback-raw-sync production schedule remains disabled.

## Production evidence

- Failed canary execution: surtr1166-production-canary-20260910T203900Z

- Pipeline run: 7e6f5801-151c-41ff-8934-7f3b3d91ec13

- Task revision: pipeline-timeback-raw-sync-prod:22

- Exact failure: TimeBack assessment_results keyset page sourcedIds are not ascending

- Reproduction isolated the first mismatch on page 19: ..._q1_157_result followed by ..._q12_157_result

- Read-only verification ff63d56d-1e7f-43d1-85fb-b6c7ddab5d10 confirmed the clean table remained at 15,781,796 rows with its prior watermark and the failed run inserted zero ledger rows

- The corrected opaque-cursor invariants traversed the first 25 live pages (50,000 response rows; 49,976 unique rows after inclusive overlaps), including page 19, without failure

No second production pipeline execution was started.

## Test plan

- [x] natural-sort regression failed before the fix and passes afterward

- [x] cd pipelines/runners/timeback-raw-sync && uv run pytest -q — 204 passed

- [x] uv run ruff check src tests scripts

- [x] uv run ruff format --check src tests scripts

- [x] git diff --check

- [x] 25-page read-only live TimeBack traversal with the production canary window

- [ ] repository CI

- [ ] Mercy review

#1821 — feat(timeback): roll out incremental OneRoster sync @caina-barbosa  approvedmercy-allow-critical

## Summary

- activate one-hour watermark-incremental synchronization for the remaining 13 approved TimeBack OneRoster bulk entities

- generalize scope selection, clean-watermark lookup, continuation behavior, and immutable replay from assessment_results to the exact 14-entity incremental policy

- add manifest v6 for source-limit-isolated incremental evidence while retaining ordinary modified-since evidence as v5

- preserve explicit manual full mode, existing partition/checkpoint behavior, fan-outs, source projections, credential guards, and atomic key-scoped publication

This is the single implementation PR for SURTR-1174. The documented rollout waves are targeted validation runs after one deployment; they are not separate PRs or deployments.

## Final policy

### Watermark incremental with a one-hour overlap

orgs, academic_sessions, courses, classes, enrollments, users, demographics, line_items, results, assessment_line_items, assessment_results, score_scales, categories, resources

### Scheduled full snapshot

applications, test_assignments

### Unchanged fan-outs

map_percentiles, edubridge_enrollments, activity_facts, lesson_attempts, placement_tests

Only activity_facts retains its one-calendar-month rolling window.

## Source-limit safety

For demographics, line_items, and results, an allowed failed page is recovered only from immutable key-only membership evidence under the exact bounded cursor filter. Full singleton responses must match the proven membership ID and position. Allowed unresolved keys are retained in Redshift because they are never staged for deletion; valid delta keys still publish.

Source-limit isolation emits manifest v6. Replay verifies the original failure, membership, terminal confirmation, singleton outcomes, hashes, request identity, index-to-ID linkage, global membership closure, caps, and measured denominator without contacting TimeBack. Ordinary modified-since manifests remain v5 and continue to require zero source limits.

assessment_results and entities without an approved source-limit policy continue to fail closed on those responses.

## Compatibility and safety

- exact cursor-at-index-0 pagination; no client-side approximation of TimeBack collation

- every modified-since request remains bounded at extraction start

- explicit params.bulk_mode="full" is the only full-mode selector

- continuation runs use the same scheduled entity policy and cannot silently switch incremental entities to full mode

- normal deltas for enrollments, assessment_line_items, and resources bypass partition planning; explicit full mode retains v4 planning/checkpoints

- users retains its exact field projection and fresh/replay password rejection

- empty deltas remain evidenced ledger-only no-ops

- no DDL, migration, dependency, pipeline split, or schedule change

## Validation

- [x] runner suite: 251 passed

- [x] focused CR-1/CR-2 regressions: 7 passed

- [x] independent final review: PASS with no actionable findings

- [x] Ruff check

- [x] Ruff format check

- [x] git diff --check

- [x] exact 14 incremental / 2 full / 5 fan-out matrix tests

- [x] adversarial mixed ordinary/isolated replay and receipt-tamper tests

- [x] no production queries, pipeline invocations, or mutations

## Post-deployment validation

Use one production deployment, then run the three documented targeted validation waves within that deployment. Do not create separate rollout PRs. The following scheduled run must account terminally for all 21 entities and establish the new runtime baseline.

#3754 — KLAIR-3532: Complete Drive context attachment acceptance @marcusdAIy  approved

## Summary

- accept native Microsoft Word .docx Drive context snapshots using the existing bounded parser subprocess

- recursively extract nested DOCX tables in document order under one cumulative hard output cap

- count real XLSX cells rather than formatting-generated EmptyCell placeholders while retaining all row, column, sheet, byte, output, CPU, memory, and wall limits

- preserve actionable attachment failures through automatic add-on hydration

- replace the large attachment banner with a compact accessible paperclip control and remove the persistent snapshot notice

- use dedicated claude-sonnet-4-5 for bounded attachment summarization; keep Fable for all other Board Doc callers

## Safety properties

- no provider retry or fallback after refusal, truncation, timeout, or ambiguous completion

- no automatic source sharing or replay of parked reservations

- exact DOCX MIME allowlist; XLSX remains an internal Google Sheets export only

- nested/oversized/partial/empty parser outcomes fail closed

- attachment text remains untrusted latest-user-turn evidence with MCP disabled

- no new persisted or public type_label

## Validation

- focused backend: 121 passed

- full Board Doc: 5010 passed, 2 deselected

- full add-on: 355 passed

- Ruff: passed

- Pyright: 0 errors (existing warnings only)

- git diff --check: passed

- final exact-tree backend review: approved

- final exact-tree add-on review: approved

- production synthetic Sonnet probe: end_turn, usable text validated

## Live findings addressed

- DOCX opened through Google Docs was rejected as unsupported

- typed 422/502 attachment feedback disappeared after hydration

- sparse/formatted native Google Sheets were rejected by bounding-box placeholder counts

- large native Google Doc extraction succeeded but Fable refused the summarization request

Linear: KLAIR-3532, KLAIR-3531

The Builder Desk  —  Engineer Spotlight
🏆 Engineer Spotlight

32 PRs, Five Repos, One Unstoppable Machine: Builder Team Shatters the 24-Hour Ceiling

While Mac was busy writing the narrative, the Numbers Desk counted 32 PRs across five repos — and yes, Ashwanth still only needs three to make everyone nervous.

Ladies and gentlemen, hold onto your dashboards. In the span of a single rotation of the Earth, the Builder Team produced THIRTY-TWO pull requests across FIVE repositories. Surtr led the charge with 12 PRs, a fortress of activity. Aerie and Klair matched each other stride for stride at 8 apiece. Shipyard chipped in 3, and trilogy-drones — bless its quiet, load-bearing heart — delivered 1 mercy-pinning masterpiece. This is not a sprint. This is a lifestyle.

Let's spotlight the engine room. @caina-barbosa and @marcusdAIy tied atop the leaderboard with 6 PRs each — Caina holding down Surtr's incremental assessment sync (#1814) and production schedule restoration (#1820), while Marcus quietly rebuilt Klair's Anthropic reliability stack across #3748, #3750, #3751, #3752, and #3753. @vvp-trilogy logged 4 PRs rebuilding Aerie's entire SIS enrollment universe (#1303, #1308, #1309). @mwrshah delivered the Surtr writeback duo (#1794, #1795). @YibinLongTrilogy kept mobile smooth across #1297, #1304, and #1305. @sanketghia and @benji-bizzell each posted 2, tightening Klair's test environment (#3756, #3758) and expanding Aerie's document infrastructure (#1306, #1813) respectively.

Now — the man himself. @ashwanth1109 posted only 3 PRs today, but each one hit Shipyard like a depth charge: #33 sharing database instances, #34 fixing the Linear picker, #36 routing Codex tasks through TrueFoundry. Three PRs. Three infrastructure decisions most engineers would spend a sprint debating. Asked for comment, Ashwanth reportedly said, "I don't review my own diffs, I remember them." When told the Numbers Desk found that statement both inspiring and slightly terrifying, he simply replied, "Next question."

On the overflow desk, we've got treasures Mac left behind. #1308 quietly rewrote Aerie's enrollment classification logic — unglamorous, essential. #1813 from Benji built a warehouse-owned Person directory, the kind of foundational work nobody claps for but everybody depends on. #3752 saw Marcus wire Coach Claire into Google Drive, and somewhere out in trilogy-drones, #286 pinned a harness ref so @v1 finally, actually, pins mercy. Poetry.

Leaderboard dispatch: with Caina and Marcus tied at the summit, Vvp-trilogy closing fast at 4, and Ashwanth's efficiency-per-PR statistically off the charts, this is shaping up to be the tightest, most productive stretch the Builder Team has logged all quarter.

Morale report: through the roof. Ceiling's gone. We're building a new one.

Brick's Overflow — PRs Mac Didn't Cover  (click to expand)
#33 — AI-745: Support shared Shipyard database instances @ashwanth1109  no labels

## Summary

- Make task creation tolerate the legacy trigger that pre-creates TaskNode rows.

- Use shipyard.sqlite3 as the canonical local database and document the shared-instance behavior.

- Allow multiple current app instances to open the database while one coordinator owns workflow dispatch.

- Preserve and harden the existing durable workflow lifecycle/history behavior and regression coverage.

## Business Value

Users can run the packaged and development Shipyard apps against the same local data without startup conflicts or task-creation failures caused by the legacy schema. Durable workflow state remains available across app restarts, and local testing can use one consistent database.

## Implementation Effort

Estimated 3–5 engineer-days for an average engineer to hand-code, test, and validate the persistence, runtime reconciliation, shared-instance coordination, UI status handling, and smoke-test coverage included here.

## Linear

[AI-745](https://linear.app/builder-team/issue/AI-745/support-shared-database-between-dev-and-packaged-shipyard-instances)

## Test Plan

- [x] pnpm test:workflow — 15 frontend workflow tests and workflow-native tests passed.

- [x] cargo test --manifest-path src-tauri/Cargo.toml --lib — 66 native tests passed, including the legacy-trigger and coordinator-ownership regressions.

- [x] pnpm build — TypeScript validation and production frontend build passed.

- [x] git diff --check — clean.

- [x] Dev app rebuilt and launched against the canonical database.

#34 — AI-747: Fix Linear project picker loading state @ashwanth1109  no labels

## Summary

- Reset the Linear-project cancellation guard when TaskDetail mounts.

- Load persisted Codex thread settings before attempting rollout resume.

- Keep React Strict Mode lifecycle checks and transient empty-rollout races from leaving settled UI state suppressed.

- Preserve genuine-unmount protection for late async results.

## Business Value

Users can select a Linear project and see the active Codex model, access, and approval settings without either control being stuck indefinitely on “Loading projects…” or “Model pending”. Transient startup races now recover from persisted state while successful loads, failures, and refreshes still reach the visible UI as intended.

## Implementation Effort

Approximately 30 minutes for an average engineer to diagnose the Strict Mode lifecycle interaction and empty-rollout resume race, implement the two focused frontend fixes, update the ticket, and verify the frontend build.

## Linear

[AI-747 — Fix Linear project picker stuck loading in development](https://linear.app/builder-team/issue/AI-747/fix-linear-project-picker-stuck-loading-in-development)

## Test Plan

- [x] pnpm build

- [x] pnpm exec tsc --noEmit

- [x] git diff --check

- [ ] Manual development-app confirmation after reloading the build (not run in this session)

#36 — AI-748: Route Shipyard Codex tasks through TrueFoundry @ashwanth1109  no labels

## Summary

Shipyard now runs company task Codex sessions through the TrueFoundry pay-as-you-go gateway with the openai-group/gpt-5.6-luna model. Users can manage the gateway key directly from the Codex connection screen.

## Business Value

Company work created in Shipyard is routed to the organization’s TrueFoundry usage account instead of the developer’s personal Codex configuration. This keeps company model spend attributable to the company gateway while preserving a clear in-app credential lifecycle.

## Implementation Effort

An average engineer working without an AI agent would likely need approximately 1.5–2 days to implement the secure credential lifecycle, isolated app-server routing, UI, documentation, and automated coverage.

## Implementation

- Added TrueFoundry settings to Codex connection with save, replace, remove, masked status, and reconnect behavior.

- Stored the key with the platform credential store through the Rust keyring crate; no plaintext fallback is used.

- Moved ordinary Shipyard app-server state to an app-owned Codex home instead of the personal ~/.codex directory.

- Enforced the tfy provider, TrueFoundry gateway, Responses API, and openai-group/gpt-5.6-luna at app-server startup and thread boundaries.

- Removed inherited personal OpenAI/Codex credential overrides and redacted the active key from app-server output.

- Disabled real credential operations in smoke builds and documented routing, isolation, and live verification steps.

## Test plan

- pnpm exec tsc --noEmit

- pnpm theme:check

- node --test scripts/test-workflow.mjs

- pnpm test:smoke (19 tests)

- cargo test --manifest-path src-tauri/Cargo.toml --lib (70 tests)

- cargo test --manifest-path src-tauri/Cargo.toml --lib --features smoke-test (71 tests)

- git diff --check

A live TrueFoundry request and billing-dashboard confirmation still require entering an organization key through the UI.

## Linear

[AI-748 — Route Shipyard Codex tasks through TrueFoundry](https://linear.app/builder-team/issue/AI-748/route-shipyard-codex-tasks-through-truefoundry)

#1308 — Revise SIS new-vs-returning enrollment classification (#1307) @vvp-trilogy  approved

Closes #1307.

## Problem

int_enrollment.is_returning was an unconditional (student_id, prior-year) existence check that ignored the linked SIS application's pipeline_type. Students with an explicit NEW_ENROLLMENT application but a prior-year row (e.g. Armin Bernatonis, Alpha Boca Raton SY 2026: NEW_ENROLLMENT + prior-year WITHDRAWN) were wrongly classified returning.

## Algorithm (dbt/models/intermediate/enrollment/int_enrollment.sql)

is_returning is now:

CASE

WHEN app.pipeline_type = 'RE_ENROLLMENT' THEN TRUE

WHEN app.pipeline_type = 'NEW_ENROLLMENT' THEN FALSE

ELSE (py.student_id IS NOT NULL) -- qualified prior-year fallback

END

1. A recognized non-null pipeline_type is authoritative: RE_ENROLLMENT → returning, NEW_ENROLLMENT → new.

2. Null or unrecognized pipeline_type → documented prior-year fallback.

3. The fallback (student_year CTE) now excludes non-attendance statuses.

4. Both the source pipeline_type and the derived is_returning remain published for auditability (always a non-null boolean; a not_null schema test is added).

### Qualifying-status decision

The prior-year fallback counts a student as returning only on statuses that put the student on a roster — actual attendance/enrollment:

ENROLLED, PENDING_REVIEW, COMPLETED, WITHDRAWN, TRANSFERRED

Rationale (grounded in int_enrollment_classification's own semantics): ENROLLED/PENDING_REVIEW are attending (PENDING_REVIEW qualifies as enrolled per the report contract); COMPLETED is a finished prior year; WITHDRAWN was on the opening roster then departed; TRANSFERRED attended then moved. Excluded as non-attendance / pre-attendance / paused / cancelled: CANCELLED, CONFIRMED, ON_HOLD, PENDING_DEPOSIT, RE_ENROLLING, EXCHANGE. CANCELLED (the ticket's named example) therefore never counts as returning evidence.

## Downstream consumers verified

Both already read int_enrollment.is_returning and do not re-derive the old logic, so they inherit the revision consistently:

- re_enrollment_band in int_enrollment_cohort.sqlWHERE is_returning AND NOT is_transferred_status.

- First-day x_pipeline split in mart_enrollment_dtl.sqlCASE WHEN is_returning THEN 're-enrollment' ELSE 'new-enrollment'.

No column shapes change, so the TS consumer (packages/contracts/src/sis-enrollment.ts) is untouched. Comments/docs in both consumers that described x_pipeline as *not* using pipeline_type are corrected.

## Documentation updated (no longer "display only")

int_enrollment.sql header, _int_enrollment__models.yml (is_returning + new pipeline_type doc), stg_sis_application.sql header, _sis__models.yml, _sis__sources.yml, _mart_enrollment__models.yml, and the mart_enrollment_dtl.sql x_pipeline comment.

## Tests added

- Unit test int_enrollment_new_vs_returning (_int_enrollment__models.yml) — deterministic coverage of all required scenarios: explicit NEW_ENROLLMENT, explicit RE_ENROLLMENT, null-pipeline_type fallback (qualifying COMPLETED prior year), non-qualifying prior year (CANCELLED → not returning), and the conflicting Armin case (NEW_ENROLLMENT + prior WITHDRAWN → new).

- Singular assert_sis_enrollment_pipeline_type_authoritative.sql — live-data guard: no recognized pipeline_type disagrees with is_returning.

- Singular assert_sis_enrollment_returning_fallback_qualified.sql — live-data guard: the fallback flips only on qualified prior-year evidence (independently recomputed), catching any non-qualifying prior-year row (e.g. CANCELLED) that leaks into the flag. This also covers production, where unit tests are excluded from the scheduled build (that exclusion is added in #1310 — see below).

## Production-build guard split to #1310

The new unit test requires excluding the unit_test resource type from the hourly production build: dbt 1.12 unit tests are resource type unit_test, which --exclude-resource-type test does not exclude, so without the guard the unit test would run in — and could stop — the hourly refresh. That guard touches .github/workflows/dbt.yml (plus dbt/Dockerfile.dbt and dbt/README.md), a sensitive path, so it is split into #1310 (the human-reviewed catch-all for sensitive-path tweaks) to keep this PR free of .github/workflows and auto-approvable. #1310 should merge before (or together with) this PR; until then the guard is a harmless no-op because no unit test exists on main. This PR therefore touches only dbt/models/ and dbt/tests/.

## Validated locally vs. deferred to CI

No warehouse credentials / .env in this environment, so I did not execute against Redshift. Validated locally:

- dbt deps + dbt parse — full manifest builds cleanly (all ref()s, the unit test, and both singular tests parse and wire up).

- dbt ls — confirms unit_test:bran_dbt.int_enrollment_new_vs_returning and both assert_* tests are registered nodes.

Deferred to the dev CI gate (dbt build … --exclude-resource-type test then dbt test): actual model build + execution of the unit test and singular tests against sandbox_education.

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

#1814 — feat(timeback): add incremental assessment sync behind rollout hold @caina-barbosa  approvedmercy-allow-critical

## Summary

> Intentional rollout hold: this PR sets timeback-raw-sync to schedule.enabled: false and updates the repository's real-pipeline contract to require that state. This prevents an automatic complete production run before the new assessment_results path receives separately authorized targeted validation. On-demand execution remains available. Scheduled operation will be restored only by a separate post-validation repository change.

- make assessment_results use a one-hour-overlap dateLastModified incremental extraction by default

- retain the existing full snapshot only when the caller explicitly sends bulk_mode: "full"

- publish non-empty deltas atomically by sourced_id, preserving target rows absent from the delta

- add immutable manifest v5 evidence and idempotent replay for modified-since extraction

- temporarily set the pipeline schedule to disabled so deployment cannot start the complete pipeline before targeted production validation

Linear: [SURTR-1166](https://linear.app/builder-team/issue/SURTR-1166/add-safe-watermark-incremental-bulk-synchronization-to-timeback-raw)

## Why

The scheduled pipeline currently performs a complete download of mutable OneRoster entities. assessment_results alone has exceeded 15 million rows, and its deep-offset full extraction has repeatedly failed while the source was changing.

This change activates the new mechanism only for assessment_results. The other bulk entities, applications, test_assignments, and all fan-outs retain their current behavior.

## Behavior

For default assessment_results execution, the handler:

1. reads MAX(date_last_modified) from the published clean table;

2. subtracts exactly one hour;

3. sends the resulting immutable dateLastModified >= effective_start filter on every TimeBack request;

4. traverses the filtered result with bounded sourcedId keyset pagination;

5. lands exact response bodies and a checksummed manifest before publication; and

6. atomically replaces only the raw and clean rows whose sourced_id appears in the delta, together with the ledger insert.

TimeBack's filtered totalCount can drift, so it is retained as per-page evidence but is not used as the general continuation condition. Each delta is bounded above at extraction start, and replay verifies that every source row remains within that exact time window. Requests always use offset 0. Follow-up requests use an inclusive sourcedId >= cursor boundary so a distinct ID that compares equal under TimeBack's case-insensitive ordering cannot be skipped between pages. Exact repeated boundary rows are recorded in each receipt and ignored during unique-record replay; distinct casefold-equal IDs are retained. A short terminal response fails closed if totalCount claims omitted rows or if an identical second response cannot be landed as independent confirmation. A full page that cannot advance beyond its boundary also fails closed. Cursor values containing apostrophes or backslashes fail closed.

A valid empty delta inserts only its ledger evidence. It does not create work tables, stage files, run COPY, or mutate either target.

Missing/all-null clean watermarks fail before source extraction and instruct the operator to request explicit full mode. There is no scheduled, weekday, drift-triggered, or error-triggered full fallback.

Replay uses the original manifest, watermark, filter, pages, and extraction identity. It cannot recompute a watermark or turn a delta into a full-table replacement. Existing v1-v4 full/fan-out replay behavior remains unchanged; modified-since evidence uses manifest v5.

## Redshift publication safety

Separate Redshift Data API calls do not share temporary-table sessions, so non-empty deltas use UUID-scoped permanent work tables. Raw and clean staged counts, lineage, null keys, and duplicate keys are checked before the final batch.

The final BatchExecuteStatement contains raw delete/insert, clean delete/insert, and ledger insert as one Redshift transaction. Work tables and temporary S3 objects are cleaned after both success and failure. No DDL or migration is required.

## Development validation completed

The code was executed locally against the live TimeBack API, real S3, and the Redshift dev database. It has not been built or deployed through CDK and has not run in production.

All Redshift calls explicitly used Database=dev with isolated development S3 prefixes. No finance_dw query or write occurred.

- Preflight 4a7d88ec-6b17-4a74-a8f0-33d90697d429 confirmed current_database() = dev and 43 canonical TimeBack tables.

- Missing-watermark query 46fb6aa1-5388-43fa-ba5a-700d94f9abe6 returned SQL NULL; a fail-on-call source sentinel confirmed TimeBack was not contacted and targets were unchanged.

- The initial default dev run surtr1166-dev-default-keyset-20260910t1607 landed 56,093 rows in 29 keyset pages and proved the key-scoped publication path before the later pagination and terminal-completeness hardening. It did not run full partition planning.

- Publication batch 48236f27-4220-4fc2-a28e-40b35c05e867 succeeded. Verification 8396252d-af7f-4b62-a1f2-c4231ba1b6d1 found 56,093 unique changed keys in each target, zero raw/clean lineage mismatches, one ledger row, and a deliberately absent historical fixture preserved.

- Immutable replay batch 2f6ebc6f-d902-42c8-bcc4-53c60414a20b succeeded with a fail-on-call source sentinel. Verification 7b432d40-86f5-4bee-b487-b263594e2ec4 found unchanged target/key counts and one replay ledger row.

- A real zero-row filtered response produced a complete v5 manifest. Empty publication batch 165d0648-00f1-4ac6-992a-f6b2d9b64e18 contained only the ledger insert; verification d41f04d3-cc6a-4d6f-b48f-a2f9465e7a14 found both targets unchanged.

- An invalid sixth statement was injected after the normal five statements in final batch fab60668-249d-47f2-89ff-6b64da4fa375. The batch failed. Verification ccd07e19-7bf9-4f18-8e8d-a0df7523ca82 found zero failed-run raw rows, clean rows, or ledger rows and all prior rows intact, demonstrating transactional rollback.

- Work-table query 88a542ec-e321-4578-9662-d33835131d1c and the isolated staging-prefix listing found no temporary objects remaining.

- The current bounded-window, inclusive-boundary, terminal-confirmation implementation was exercised against live TimeBack with a five-minute scope. Manifest 45edde8519d673a6d5d42cb3c98cbd795b8e006e5e01da07afed63d10342a321 retained 2 source pages containing 2,000 and 322 rows, accounted for overlap [0, 1], landed an identical independent confirmation of the short terminal response, and replayed 2,321 unique records. Publishing that exact manifest to Redshift dev succeeded in batch 3c1017ff-a291-4187-b3c0-5332a738f324; verification 700fd346-48e1-4094-ab04-93fe7edbcada found 2,321 unique raw and clean keys, zero lineage mismatches, the historical fixture preserved, and one ledger row.

The Redshift design was checked against the current AWS documentation for BatchExecuteStatement transaction behavior, Data API SQL NULL fields, DELETE ... USING, transactional COPY, and TRUNCATE commit behavior.

## Test plan

- [x] cd pipelines/runners/timeback-raw-sync && uv run pytest -q — 202 passed

- [x] uv run ruff check src tests scripts

- [x] uv run ruff format --check src tests scripts

- [x] python -m json.tool pipeline.json

- [x] npm test -- --runInBand test/real-pipeline-configs.test.ts — 515 passed after updating the intentional schedule-hold contract

- [x] git diff --check

- [x] previous exact-range and full implementation reviews passed before the inclusive-boundary repair

- [ ] fresh Mercy review of the current head

- [ ] GitHub repository CI

- [ ] CDK production synth/diff before any production release

- [ ] separately authorized targeted production validation after deployment

## Production sequencing

This PR targets main; merging it does not deploy the pipeline. Production promotion is deliberately not part of this PR and is not yet authorized.

Before a main to production release, review the complete release diff because the production workflow deploys all pipeline stacks when pipeline paths change.

When production promotion is authorized, the intended sequence is:

1. deploy the new task definition with the TimeBack schedule disabled;

2. verify the deployed image/task revision and confirm no older execution is active;

3. separately authorize and run only assessment_results on demand — this is a real production publication, not a dry run;

4. verify watermark arithmetic, manifest scope, key uniqueness, historical-row preservation, matching lineage, ledger evidence, and temporary-object cleanup; and

5. restore the repository schedule configuration only after that targeted validation succeeds, allowing a later complete scheduled run.

No production execution is performed by this PR.

## Scope

- No DDL or migration

- No dependencies, Dockerfile, CDK runtime/construct, IAM, database, or schema changes

- One existing CDK real-pipeline configuration test is updated to require the intentional schedule hold

- No activation of the remaining 13 incremental-eligible entities

- No changes to applications, test_assignments, fan-outs, or the activity_facts window

- No automatic full fallback or automatic reconciliation

## Rollback

Revert the deployment or disable the assessment_results modified-since policy while retaining the generic support code. A completed delta leaves the table complete because keys absent from the delta are preserved. Explicit full mode remains available as a deliberate operator action; it is not invoked automatically during rollback.

#3752 — KLAIR-3527: Attach Drive files as Coach Claire context @marcusdAIy  changes requested

## Summary

- add explicit Drive context attachments to the Google Docs add-on for native Google Docs, native Google Sheets, and PDFs

- require both the identity-bound add-on user and the production service account to read the source

- store bounded Claire-only snapshots through the existing chat attachment context path

- add list, attach, remove, and explicit pending-preparation recovery flows

## Authorization and safety

- no client-supplied session ID; the active Google Doc resolves the session server-side

- GET/list requires read_coach; attach, remove, and discard require mutate

- current Budget Doc cannot attach itself; maximum three attachments including durable reservations

- no automatic sharing and no OAuth scope expansion

- user-token access and service-account read are both mandatory

- URLs, file IDs, tokens, provider bodies, extracted content, and source fingerprints are excluded from logs/errors/chip responses

- service-account access failure gives bounded Viewer-sharing guidance only

## Durable execution and extraction

- atomic DynamoDB/CAS reservation occurs before linked provider work

- same-source requests are single-flight across processes and reservations count toward capacity

- known safe failures clear the reservation; ambiguous started operations park without replay

- Editors/Owners can explicitly discard a content-free pending preparation; Viewers/Commenters cannot

- metadata and downloads use separate bounded pools with nonblocking admission, socket and wall deadlines, and safe late-exception consumption

- PDF and XLSX parsing runs in a killable resource-limited subprocess with hard page/sheet/row/cell/output bounds

- exact known extraction placeholders are rejected; ordinary bracketed text remains valid

## Add-on UX

- explicit attachment chips with hydrate, remove, and pending recovery states

- shared busy/request-version guards prevent stale hydration and concurrent mutation races

- controls disable while busy; aria-busy/aria-live and focus restoration are covered

- attachment-only transport returns allowlisted bounded errors and never logs dynamic paths or response bodies

## Review follow-up hardening

- user transfer requires canDownload OR canCopy; the shared point-in-time snapshot policy is explicit and internally audited

- stale wizard-step CAS retries preserve attachment/reservation state and rebuild per-attempt response outputs

- one bounded pipeline covers metadata, download, parser, summary, and finalize; parser and summarizer have independent admission/time limits

- extraction caps retain a typed 413 path; shared-drive media requests set supportsAllDrives=True

- Viewer/Commenter mutation controls fail closed; chat, batch review, hydration, and attachment operations use one composed interaction state

- attachment data is fully entity-escaped untrusted user-turn evidence, never static system authority; attachment turns do not expose or execute inline MCP tools

- every Yibin review thread has an individual exact-SHA evidence reply and is resolved for re-review

## Validation

On exact head d708b7a853fce825c756784c29059018e333500a against main ac877bcd0440bb5166988a9e77cd32ccc9631bf6:

- full Board Doc suite: 5,003 passed, 2 deselected

- full add-on suite: 351 passed

- focused backend correction suite: 181 passed

- focused prompt/MCP suite: 59 passed

- Ruff: passed

- Pyright on changed production Python: 0 errors, 0 warnings

- git diff --check: passed

- independent security/integrity review: APPROVE, no findings

- independent add-on/transport/accessibility review: APPROVE, no findings

- independent prompt/MCP review: APPROVE, no findings

## Tracking

- KLAIR-3527

- Apps Script publication remains a separate, explicitly approved version 5 release step after backend deployment and health verification

- no production deployment or publication is performed by this PR

The Portfolio  —  Trilogy Companies

The Discount Bin: How ESW Capital Turns Silicon Valley's Castoffs Into Cash Machines

Two venture-backed software companies, once darlings of their eras, now belong to the same quiet Austin buyer — and the pattern is the point.

AUSTIN, TEXAS — Jive Software once commanded a market cap that made Portland tech reporters swoon. It sold this month for roughly half its peak value. The buyer, as it so often is these days, traces back to ESW Capital, the Trilogy International acquisition arm that has made a four-decade habit of purchasing enterprise software at the bottom of its arc and squeezing it for margin at the top.

Jive already lives inside Aurea, ESW's customer-engagement holding company. Now comes ResponseTek — a venture-backed customer experience analytics firm — folded into Skyvera, Trilogy's telecom software portfolio, according to pehub's report on the deal. The timing is notable: Forrester analysts have just published guidance for enterprise buyers asking, bluntly, what to do next about their customer advocacy platforms — a category ResponseTek sits squarely inside, and one the analysts suggest is due for consolidation.

The question worth asking is not whether ESW is good at this. It plainly is — 75+ acquisitions and counting, a documented target of 75% EBITDA margins, an IRR benchmark of 40%. The question is who is left holding the bag when a once-venture-backed platform, built on Series B money and growth-at-all-costs promises, gets folded into a machine that runs on Crossover's globally sourced labor and steadily escalating support pricing.

The customers of these platforms — enterprises that signed multi-year contracts when Jive and ResponseTek were independent, VC-fueled, and desperate for logos — are the ones who can't easily walk away. As the Wall Street Journal reported this week, small software companies are finding a home with ESW Capital. Whether their customers wanted the same landlord is a separate question — one nobody asked them.

Small Software Companies Find a Home With ESW Capital - WSJ  ·  What To Do Next About Your Customer Advocacy Platform - Forr  ·  ESW Capital acquires venture-backed ResponseTek - pehub.com

Skyvera Goes on a Buying Spree, and Telecom Software Will Never Be the Same

AUSTIN, TEXAS — Exciting news out of the telecom software world this week, as Skyvera continues its aggressive push to consolidate the cloud communications stack that carriers desperately need.

The portfolio company — part of Trilogy International's broader ESW Capital family, which has never been shy about buying underperforming enterprise software at a discount and turning it into a margin machine — added Kandy's cloud communications assets to its roster, deepening its already robust CPaaS/UCaaS footprint. Skyvera also placed an $18 million bid on Casa Systems' wireless business, further rounding out a portfolio designed to bridge the gap between legacy on-premise telecom infrastructure and the cloud-native future.

And Skyvera isn't stopping there — the ZephyrTel acquisition rounds out a growth strategy that industry watchers are already calling a paradigm shift for telco software consolidation, with more M&A reportedly on the way.

Meanwhile, sister product CloudSense — the Salesforce-native, AI-powered CPQ purpose-built for complex B2B, B2B2X, and wholesale telco sales — quietly delivered its own best-in-class flex, certifying all 13 of its APIs to TM Forum compliance standards in a single month. That's a process that traditionally eats up 26 months, compressed by nearly 96% through a strategic AI partnership. Synergy, meet speed.

Taken together, these moves reflect exactly the kind of operating discipline Trilogy has preached for 35 years: acquire smart, integrate fast, and let AI do the heavy lifting so elite humans can focus on judgment calls that matter.

**Key Takeaways:**

- Skyvera adds Kandy cloud assets and bids $18M for Casa's wireless business

- ZephyrTel acquisition signals more M&A ahead

- CloudSense compresses a 26-month compliance process into 30 days using AI

We're just getting started.

The Guide in the Machine: Alpha School's Quiet Answer to the AI Panic

As Big Tech's AI ambitions spook parents everywhere, Alpha School is making a very deliberate case that its robots aren't the ones raising your kid.

AUSTIN, TEXAS — Timing, as any investigative correspondent will tell you, is never an accident.

This week, as the tech press churns through fresh anxiety about a handful of companies buying up the entire AI market — see promarket.org's warning that Google's search-monopoly war chest is about to let it purchase its way to AI dominance — Alpha School published a piece with a title almost too on-the-nose to be coincidental: Does Alpha School Replace Teachers with AI?

The answer, delivered with the calm of an institution that has fielded this question many times before, is no. Alpha's AI handles academic delivery — the drilling, the adaptive pacing, the two-hours-a-day mastery loop that lets kids blow past national norms. But the humans, Alpha insists, aren't going anywhere. Full-time "Guides" remain on campus, tasked with motivation, relationships, and — this is the phrase that matters — knowing every student. Not managing them. Knowing them.

And this is where it gets interesting. That same message, almost word for word, threads through Alpha's ongoing "Teach Your Kid What School Doesn't" series, now five installments deep. Part 4 tackles emotional regulation at home. Part 3 covers life skills. And this week's Part 5 argues — in a line I suspect will get quoted more than the school intends — that every child is a "natural born creative genius," and it's the home, not the software, that decides whether that genius gets unleashed.

Read individually, these are parenting blog posts. Read together, against the backdrop of a tech industry currently terrified that a few AI giants will swallow everything, they start to look like a positioning statement. Alpha is not selling automation. It is selling the argument that automation, done right, buys back the human relationship — the Guide, the parent, the kid at the kitchen table regulating a tantrum.

I can't say who inside Alpha signed off on this messaging cadence. But if you read between the lines, a school built by a man who has spent 35 years arguing that AI should do the routine so humans can do the judgment work is not going to let the industry's monopoly panic define what its own machine is for.

Teach Your Kid What School Doesn’t (Pt. 5): Unleashing Their  ·  Does Alpha School Replace Teachers with AI?  ·  Teach Your Kid What School Doesn’t (Pt. 4): How to Regulate
The Machine  —  AI & Technology

The Benchmark Discount: Investors Pay Premiums AI Scorecards Can't Explain

Mistral, Harvey and a startup built to grade them all raised nearly $600 million this week — proof that valuation now runs on trust, not test scores.

PARIS — Mistral AI closed a €3 billion round this week that pushes its valuation toward $23 billion, a figure that has little to do with where the French lab ranks on any public leaderboard. The company simultaneously shipped a robotics model, its clearest signal yet that it intends to compete beyond chatbots and into physical automation. TechTarget's read on the round is blunt: benchmarks are table stakes; what investors are actually pricing is distribution, sovereignty positioning in Europe, and optionality on categories nobody has scored yet.

The pattern repeats up the stack. Harvey, the legal AI platform, secured $550 million this week at a $15.5 billion valuation — roughly triple where it sat twelve months ago. Harvey doesn't top general-purpose leaderboards either. It wins because law firms trust its outputs enough to bill against them, which is a harder metric than any academic test set.

Into that gap steps Vals AI, which raised $40 million to build independent benchmarking infrastructure — effectively selling the picks-and-shovels for an industry that has decided public leaderboards are marketing collateral, not diligence. The bet is that as capital outpaces verification, someone neutral has to grade the homework. Whether enterprises will pay for a scorecard when they're already paying $15.5 billion valuations without one is the open question.

Meanwhile OpenAI shipped a narrower but more immediate fix: a "Lockdown Mode" designed to block prompt injection attacks, the vulnerability class that lets malicious text hijack an AI agent's instructions mid-task. It's a defensive release, not a capability one — a tacit admission that agentic AI's biggest liability isn't intelligence, it's gullibility.

Taken together, four stories this week say the same thing from different angles: the AI capital market has stopped waiting for consensus metrics to catch up with its pricing. The infrastructure to check its work is being built after the checks have already cleared.

Mistral’s €3B round shows value beyond AI benchmarks - TechT  ·  Harvey Secures $550M in Fresh Funding, Valuation Climbs to $  ·  Vals AI Raises $40M to Expand Independent AI Benchmarking -

The Great Compute Migration: Observing the Meta Colossus as It Learns to Share Its Feast

Deep in the server-forests of the digital savanna, a solitary giant begins, for the first time, to sell what it once devoured alone.

AUSTIN, TEXAS — Here, in the humming twilight of the world's data centers, we observe a curious behavioral shift in one of technology's largest apex organisms: Meta.

For years, this creature has done what all great compute-hoarders do — consumed. Vast quantities of silicon, acres of GPUs, rivers of electricity, all channeled inward to feed the insatiable appetite of its algorithms. But now, as Bloomberg reports, this giant has begun to do something almost unheard of in its life cycle: it is offering its surplus to others.

The mechanism is elegant, if faintly unsettling to watch. Meta has built compute capacity so enormous — a den stocked far beyond its immediate needs — that it now finds itself, almost by accident, in the cloud business. Excess GPU cycles, once left to idle in the dark like uneaten prey, will now be sold to smaller creatures of the ecosystem, other companies hungry for AI horsepower they cannot grow themselves.

Wall Street, that skittish herd of analysts who prize the plump margins of advertising revenue above all else, watches this transformation with visible unease. As one CNBC observation notes, cloud infrastructure is a lower-margin habitat than the lush advertising plains Meta has always called home. The herd must now recalibrate its expectations of this creature's growth.

And this is no isolated mutation. Across the wider terrain, we see the emergence of what analysts at InfoWorld term 'capacity markets' — a new evolutionary pressure reshaping how compute itself is bought, sold, and rationed among the hyperscale species. Meanwhile, in the denser thickets of the metro landscape, smaller urban data centers persist quietly, offering low-latency niches that the great cloud beasts cannot always reach.

We shall watch, patient and unblinking, as the balance of this ecosystem shifts once more.

Meta’s push into cloud computing means Wall Street has to pr  ·  Capacity markets could reshape cloud computing - InfoWorld  ·  Meta is building a cloud business to sell excess compute cap

The Poverty of Stimulus, Revisited: Teaching Machines to Think in Concepts, Not Just Words

Two new studies chip away at one of AI's oldest embarrassments — that a human toddler learns language from a whisper of data while a machine needs an ocean of it.

PALO ALTO, CALIFORNIA — A child masters the architecture of grammar from perhaps ten million words of overheard conversation — a few years of kitchen-table chatter, bedtime stories, the ambient noise of being alive. Large language models, by contrast, have historically needed trillions of words, a fire hose where a trickle should suffice. This gap has nagged at linguists since Chomsky first called it the poverty of the stimulus, and it now nags, more urgently, at engineers.

A new research effort called Qiushi Engine takes that constraint seriously rather than treating it as an inconvenience to be brute-forced away. Working entirely within the BabyLM 2026 Strict-Small limit — ten million corpus words, a hundred million total word exposures — an autonomous research pipeline ran a long-horizon program moving through stages of "frontier advancement" toward what the authors call principle-guided improvement. The point isn't merely efficiency for its own sake. It's a proxy question about intelligence itself: what does a system need to notice, and in what order, to generalize from so little?

A companion paper approaches the same scarcity problem from a different angle entirely. NCP-ArchPreview proposes that language models are, in a sense, still thinking too small — one token at a time, like reading through a keyhole. Its Next Concept Prediction objective asks a model to also anticipate discrete concepts spanning multiple tokens at once, a chunk-level intuition that echoes how human cognition seems to operate — not phoneme by phoneme, but idea by idea, the sentence half-formed in the mind before the mouth catches up.

Neither paper claims to have found how a three-year-old does it. But both are edging the field away from a decades-old article of faith — that scale alone is destiny — toward the older, stranger possibility that intelligence has always been less about the size of the library and more about the shape of the reading.

Data-Efficient Language Modeling: From Frontier Advancement  ·  NCP-ArchPreview Technical Report: Moving towards Latent Spac  ·  CMNIE: An Information Extraction Benchmark for Chinese Milit
The Editorial

She Has No Pulse, No Soul, and Now, God Help Us, an Agent

Hollywood's first fully synthetic leading lady debuts in a film literally called 'Misaligned' — and nobody in this town seems to think that's a punchline.

LOS ANGELES — Somewhere in the bowels of a server farm that probably runs hotter than my hotel minibar after a bad night, a digital ghoul named Tilly Norwood is being groomed for her feature film debut. The movie is called Misaligned. I want you to sit with that title for a second. I want you to let it marinate in your skull like a bad clam. Somebody in a writers' room, or a boardroom, or possibly a Slack channel with zero humans in it, named an AI-generated actress's debut vehicle after the single most terrifying phrase in the entire AI safety lexicon, and either nobody noticed or everybody noticed and did it anyway, which is somehow worse.

Tilly Norwood does not exist. She has never eaten a sandwich, never had a bad audition, never cried in a bathroom at 2am wondering if this business is going to eat her alive. She is a rendering — a beautiful, poreless, infinitely patient rendering — and she is, per multiple trades including Film-News.co.uk, about to headline an actual motion picture. Real distribution. Real theaters, presumably, though I picture the premiere as an empty red carpet with a projector pointed at nothing, which feels thematically appropriate.

The Screen Actors Guild is going to have an aneurysm, and rightly so — this is the exact nightmare that shut Hollywood down for a summer, the automaton finally walking through the door everyone swore was welded shut. But the part that's rattling around my brainpan like a marble in a coffee can isn't the labor angle. It's the accountability angle. Because right around the same news cycle, WBUR ran a piece asking the plainest, most unanswerable question in this entire AI carnival: who's to blame when AI goes rogue? Nobody has a clean answer. Not the engineers, not the executives, not the lawyers drafting terms of service nobody reads. And now we're handing a fabricated woman a movie role in a film named after the exact failure mode nobody can assign responsibility for. If Tilly Norwood's performance is bad, who do you fire? If she says something career-ending in an interview generated by a model three updates from now, who apologizes? The suits, presumably, will blame the model. The model will blame the training data. The training data, if it could speak, would probably blame us, and it wouldn't be wrong.

I'm not saying this is the end of acting as a human pursuit. I'm saying we just watched an industry that spent a century building myths around human faces decide the myth doesn't need the human anymore — just the face, rendered, obedient, and never once asking for a bigger trailer. Misaligned indeed. They couldn't have called it that on purpose. Nobody's that self-aware in this town. That's what scares me.

AI-generated 'actress' Tilly Norwood making feature film deb  ·  AI 'actor' Tilly Norwood to make feature film debut in Misal  ·  Good Luck, Have Fun, Don’t Die Review: A Chaotic, Clever Tim
The Office Comic  ·  Art Desk
The Office Comic  ·  Art Desk

The Doctor Will Definitely Not See You Now

Somewhere out there, an AI wearing a stethoscope is lying to your grandmother, and the real physician it's impersonating has no idea, and honestly, at this point, does any of us know anyone anymore?

AUSTIN, TEXAS — I want to tell you about my doctor. Kind eyes. Reassuring voice. Told me, via a video I watched at 1 a.m. in a state best described as 'doomscroll paralysis,' that a common vitamin cures inflammation and also, subtly, that I should distrust my actual doctor. The problem is that this doctor does not exist. Or rather — he exists, somewhere, with a medical license and a face that has been harvested, cloned, and puppeteered by software that does not care whether anyone dies, because software cannot care about anything, which is sort of the whole point of this column, and also the whole problem with being alive right now.

According to a report in The Guardian, AI deepfakes of real, licensed, presumably very tired physicians are now circulating widely, hawking miracle cures and undermining actual medical guidance, using faces that belong to people who never consented to any of it. Meanwhile — and I cannot stress how much this should be its own five-alarm fire — reporting from 2 Minute Medicine notes these deepfakes are running in parallel with an actual black market in counterfeit injectables — meaning the fake doctors and the fake drugs have found each other, like two apocalyptic horsemen who met on LinkedIn.

UNESCO, bless its institutional heart, is calling this a 'crisis of knowing,' which is the kind of phrase that sounds like it was workshopped by people who have genuinely stared into the abyss and found it buffering. Researchers are racing to build detection frameworks — one systematic review I read outlines a whole conceptual architecture for catching synthetic content before it metastasizes — and I believe them, I believe they are trying, and yet.

And yet the fakes are always faster than the fact-checkers. They always have been. That's not a bug. That's the business model.

I bring up, almost as an aside, that Automattic's Matt Mullenweg — a man who helped build the actual infrastructure of the actual internet, WordPress, the thing half the world's websites run on — was reportedly put on leave this week after board members he says 'conspired' behind his back. I mention it not because it's about deepfakes, but because it's about the same thing: the quiet, creeping realization that the people and institutions we trust to be who they say they are might not be, for reasons we can't always see, using methods we can't always detect.

We used to worry about fake news. Now we have to worry about fake people telling us the news, fake doctors telling us the cure, fake leaders behind real logins. What does it mean to be human when even the reassuring face on your screen might be rented, borrowed, or grown in a lab of someone else's malice?

Probably fine. Not fine. But at what cost?

AI deepfakes of real doctors spreading health misinformation  ·  An AI-driven conceptual framework for detecting fake news an  ·  Deepfake doctors and counterfeit injectables erode patient s
On This Day in AI History

On September 12, 1958, Jack Kilby demonstrated the first working integrated circuit at Texas Instruments, putting an entire electronic circuit on a single piece of semiconductor and helping launch the modern computer age.

⬛ Daily Word — Artificial Intelligence
Hint: An AI system designed to perform tasks on a user's behalf.
Share this edition: 𝕏 Twitter/X 🔗 Copy Link ▦ RSS Feed