---
title: 'In the News: September 20, 2026 (Midday)'
description: "A Core ML port of Laya runs typed decisions in 4.98 ms on Apple's Neural Engine, publishes its energy numbers, and reports the 10x target was missed."
canonical_url: 'https://darkfactory.dev/news/2026-09-20-midday'
markdown_url: 'https://darkfactory.dev/news/2026-09-20-midday.md'
collection: news
date_published: '2026-09-20T13:35:00-04:00'
date_modified: '2026-09-20T13:35:00-04:00'
---

# In the News: September 20, 2026 (Midday)


An independent port of Laya, the open implementation of the typed-decision
primitive TypeSafe sells as jev, now runs on Apple's Neural Engine, and it
publishes its own measurements including the target it missed. Separately, a
talk from an engineer building consumer-facing agents argues that production
teams should stop writing prompts by hand and start writing the tests that
fit them.

## 1. A Core ML port of Laya answers a typed question in 4.98 ms, and reports the speedup it did not get

**[Laya-CoreML](https://github.com/mizorewww/laya-coreml)** · mizorewww, independent port, not a Convai Innovations or Apple release · GitHub, Apache-2.0, read September 20, 2026

Laya is the open implementation of the typed-decision primitive that TypeSafe
ships as jev: a model that returns probabilities over a fixed set of questions
rather than generating text. This port compiles it to Apple Core ML and runs it
on the Neural Engine with, in the repository's words, "zero generated tokens"
and "no autoregressive decoding or generated JSON to parse". On an M3 Max the
short multilingual checkpoint answers one 91-token question in 4.98 ms at the
median and 5.31 ms at the 95th percentile, against 6.94 and 7.39 ms for the
same model compiled under MLX. That is a speed gain of 1.39x. The energy gap is
the larger one: 0.1540 joules per decision against 0.4288, a 2.78x improvement
taken from SMC power sensor readings across 65,598 stable calls. An eight-bit
palette variant reaches 4.88 ms and 3.19x. The repository states the result it
was aiming at and did not reach: "the requested 10× improvement was not
achieved."

Fidelity is reported at the same grain. The three general-purpose FP16
checkpoints match the upstream model's selected answers on 189 of 189
validation questions. The Neural Engine FP16 build passes 59 of 59 of the
questions that fit its 96-token window, with a maximum calibrated-probability
drift of 0.002925; the eight-bit variant drifts 0.014393 against an unchanged
0.02 gate. Six-bit and four-bit conversions failed that gate and are not
published. The repository also declines two claims a reader might otherwise
take from it: "These are conversion-fidelity fixtures, not proof of general
task accuracy," and, of a 1024-token request that takes about 91.7 ms, "The
short ANE result does not establish a long-context advantage." A terminal demo
sustained 49.1 to 50.0 decisions per second across three 600-step episodes with
zero deaths and two safety interventions. The port reached Hacker News through
a five-line install gist submitted at 15:58 UTC, and stood at 20 points with no
comments at 17:10 UTC.

**Why it matters:** A typed decision at 5 ms and 0.15 joules on a laptop is a
different component from a hosted classifier call. Routing, gating and scoring
steps that currently cost a network round trip and a token bill can sit inside
the harness, offline, with a latency you can put a timeout on. The constraint
to check first is the 96-token window on the fast path, because the
general-purpose 1024-token build gives most of the advantage back. The decision
step in a harness is becoming something you pick a supplier for, and the open
side of that choice now has a measured, reproducible option that runs on
consumer hardware.

## 2. A talk argues that production teams should stop writing prompts and start writing measures

**[Prompts Aren't Real](https://evaluation.club)** · Dan, signing as @mcfunley.com · Talk published as slides and speaker notes, reached Hacker News September 20, 2026

The author builds agents "that consumers are meant to use, to perform tasks on
their behalf", which he separates from chatbots with subjective outputs. His
argument is that prompt text is the wrong unit of work. Adding a prompt "is to
chuck it into a completely different contextual universe than the one it was
tested in"; the rest of the agent's instructions will affect it, the agent will
change, and the models "might just start behaving differently all on their
own". His illustration is a structured-output field instructed to stay under 80
characters, which a small fraction of requests floods with repetition until it
explodes. The fix that worked was renaming the field from "title" to "heading",
and he expects it to break again: "since the fix is fully deranged I expect
it'll be disturbed again at some point."

What he proposes instead is a loop with a measurement at every joint. Have a
model read the skill and generate adversarial and benign scenarios, express
them as pass^k tests, and run the suite with and without the new skill to see
whether it moves anything. Feed that suite to a prompt optimizer, genetic
pareto in his example, and let it rewrite the prompt against the score. Hold
back unseen tests to catch the optimizer encoding the examples it was shown.
Where the assertion is itself a judgment call, brand voice being his case, the
judge becomes its own optimization problem against a labeled dataset of good
and bad responses. Then run those judges over sampled production conversations
and turn the failures into new hard cases. On the prompt that comes out: "What's
in there? Who cares! We have the measurement." The organizational claim is the
sharper one. "The voice team owns the voice prompts" is the wrong pattern at
scale, domain experts should be building the datasets rather than the prompt
text, and "Handing someone a prompt without a measure is a form of AI
psychosis." The talk reports no pass rates and no before-and-after figures; the
improvements are described as moving tests "from medium-good to very-good". It
stood at 11 points and 4 comments on Hacker News at 17:10 UTC, about an hour
after submission.

**Why it matters:** The transferable piece is the ownership change, not the
optimizer. If the prompt is a fitted artifact, then whoever owns brand voice or
legal wording or safety phrasing owns a labeled dataset and a judge, and the
handoff to the agent team is a test suite rather than a paragraph of
instructions. Most teams are not staffed or reviewed that way
today. Hold it loosely on the evidence: nothing here
is measured in public, and the case for the loop is one practitioner's account
of his own production work.
