DAILY NEWS

Stay Ahead, Stay Informed – Every Day

Advertisement
DESIGN.md Anatomy: How Tokens and Prose Work Together



A DESIGN.md has two parts: YAML front matter with machine-readable design tokens, and a markdown body with human-readable rationale. Tokens give an agent exact values; prose gives it the rules. Pairing them is the format’s core insight.

The front matter: tokens

The front matter holds your colors, typography, spacing, rounded corners and components as typed values. It opens and closes with three dashes:


colors:
primary: “#1A1C1E”
surface: “#FFFFFF”
spacing:
sm: 8px
md: 16px

Enter fullscreen mode

Exit fullscreen mode

This gives the agent precise values to use directly.

The body: prose

Below the front matter is the rationale, in canonical sections:

## Overview
A calm, focused reading environment. The UI recedes so content leads.

## Colors
Warm neutrals carry the interface. The accent is reserved strictly
for interactive elements – never decorative.

Enter fullscreen mode

Exit fullscreen mode

Why pair them?

A hex value tells the agent what a color is. Only prose can tell it that this color is the sole interaction driver and must never be used decoratively.

# A tokens-only file: just data, no rules.
# A prose-only file: intent, but no precise values.
# DESIGN.md: both, so the agent applies the system correctly.

Enter fullscreen mode

Exit fullscreen mode

The canonical sections

Overview – the personality

Colors – roles and rules

Typography – the job of each style

Layout – grid and spacing

Elevation & Depth – how hierarchy is built

Do’s and Don’ts – hard guardrails

FAQ

Is the front matter required? In principle optional, but in practice it is the heart of the file.Can I use only prose? You can, but you lose precise values. The format is designed for both.

Bottom line

Tokens are the values; prose is the meaning. A DESIGN.md works because it carries both in one file the agent reads together.

Free starter: The format, a complete annotated example, and the core idea are on a free cheat sheet: DESIGN.md Quick-Start Cheat Sheet

Go deeper: The full guide covers the entire format — the token schema, the CLI in depth, accessibility, Tailwind and DTCG export, agent integration, and a complete walkthrough: DESIGN.md: The Complete Guide to Design Systems for AI Agents

Do you write rationale in your design docs, or just list the tokens? Curious how teams handle the ‘why’ in the comments.



Source link

America’s Time Capsule for 2276 Includes Futuristic Predictions From Claude



Can you predict what might happen 250 years from now? It’s a difficult task, especially when you think about everything that’s occurred in the past 250 years. The world of 1776 is completely alien to those of us living in the 2020s. The people of 1776 were living before the widespread adoption of comforts like indoor plumbing. No one knew about fundamental scientific concepts like germ theory. The Wright Brothers weren’t even a gleam in their father’s eye. Here in 2026, we’ve run out of new ideas and have bet our chips on AI coming up with some fresh ones. So, of course, Anthropic’s AI chatbot Claude was recently tasked with making several predictions for the year 2276, specifically involving California. As part of the America 250 celebrations, each state and U.S. territory has now contributed to a time capsule that will be buried in Philadelphia on July 4, 2026. Some states understood the assignment, with New Mexico including things like a bolo tie and Nevada placing poker chips in the 900-pound time capsule. But other states’ contributions were pathetic, with Kansas submitting a single page that lists government officials.

California arguably did the best job, including a qubit chip from the University of California, Berkeley, a fusion conductor segment from General Atomics, and a NASA photo of California from space. California also included the aforementioned predictions, which are obviously difficult to judge since we don’t know what the future holds. But we may as well take a look anyway.

Predictions made by Anthropic’s Claude AI with the prompt “Write me a prediction of what California will be like 250 years from July 4, 2026.” The predictions are included in an America 250 time capsule that will be buried in Philadelphia on July 4, 2026. © California Gov. Gavin Newsom’s Office The forecast was made after feeding Claude the prompt, “Write me a prediction of what California will be like 250 years from July 4, 2026.” And right off the bat, it sounds like California engaged in a type of soft secession from the United States. By the 22nd century, California had ceased to be merely a state. Following the Pacific Secession Accords of 2089 — a decades-long negotiation born from water rights disputes, federal gridlock, and a coast reshaped by three feet of sea rise — California formally became the first American member-state of the Pacific Federation, a constitutional union also comprising Oregon, Washington, and British Columbia. It retains all ties to the broader United States, but governs its own climate policy, immigration, and currency supplement. Sacramento remains the symbolic capital; the true center of civic life is now a newly built city called Tidal, constructed on elevated ground in what was once the Central Valley, engineered for the floods that come every forty years like clockwork. Gizmodo reached out to Governor Gavin Newsom’s office to ask whether the prediction was massaged in any way. We didn’t hear back, but we find it very interesting that Claude would essentially predict the creation of Cascadia, an idea with roots in the 19th century. Typically, Cascadia only includes the Pacific Northwest, but Claude seems to think the entire West Coast, including California, will have some autonomy from the federal government in decisions like climate change and water rights.

The prediction also includes a quote from some kind of political leader who’s never explained: “The coast did not retreat. We did — and then we built something better.” — Premier Isadora Chen-Nakamura, 2241. The idea of how California’s coast might change is prominent in the predictions, including what will happen along the coastal areas of Los Angeles. According to Claude, Santa Monica and Venice, which both touch the Pacific Ocean, will become managed wetlands and marine sanctuaries. But greater Los Angeles will also be much more dense, with vertical cities housing millions of people. Inland, in places like Pasadena and Glendale, there will be towers of compressed earth and timber by 2276, according to Claude. Los Angeles, its famous basin now partially inundated along the old shoreline, has evolved into a vertical city of extraordinary density. Much of what was once Santa Monica and Venice is a managed wetland and marine sanctuary — an engineered reef system producing a quarter of Southern California’s protein. Inland, on the high mesa from Pasadena through Glendale, towers of compressed earth and timber house eleven million people, cooled by passive systems that the twentieth century never imagined building. No one mourns the freeways; they were converted to linear parks and pneumatic freight corridors in the 2130s. The idea of turning the freeways into pneumatic freight corridors certainly isn’t new. But the timing for such a conversion would depend on factors that are difficult to predict. It helps to remember that people of the 1970s were certain we’d run out of oil by the 21st century. It’s entirely possible that the people of the 2130s would still be toiling away with U.S. infrastructure that’s not that different from the 2020s.

Claude also imagines California’s Central Valley, an agricultural hub, will be returned to wilderness and native grasses. The Sierra Nevada snowpack, which collapsed catastrophically in the 2060s, has been partially restored through cloud-seeding programs and a vast network of atmospheric water condensers along the ridgeline. The condenser forests — solar-powered arrays of mesh towers that wring moisture from marine air — are now old enough that actual trees have grown up through them, making parts of the range look like some impossible hybrid of industry and wilderness. The Central Valley, no longer the world’s produce basket, is a mosaic of restored native grassland, managed aquifer recharge basins, and vertical farming campuses. Agriculture is ninety percent automated and twelve percent of the land; the rest has been rewilded by statute. What happens to San Francisco? Claude seems to believe it won’t become a victim of climate change in the ways that many people of the 2020s predict. San Francisco, famously predicted to be underwater, is not — quite. Its famous hills remain above the bay, though the bay itself has crept three blocks inland along the Embarcadero. The Financial District’s old towers now stand in a kind of neo-Venetian arrangement, their lower floors sealed and their ground-level entrances replaced by boat docks and elevated pedestrian bridges. The city is magnificent and slightly unreal, like a cathedral that has been renovated too many times and is the better for it. It is also, by most measures, the most expensive place to exist in the known world. The weirdest part of Claude’s predictions comes in a line about the “founders” of California. Demographically, California of 2276 is a place its founders of 1850 would not recognize and its founders of 1976 would find hauntingly familiar. The state has always been a destination. The phrase “founders of 1850” makes sense because that’s the year that California became a state. But “founders of 1976” makes no sense, as far as I can tell. That year was the U.S. bicentennial, but it’s not clear what kind of founders they’re referring to. When I typed “founders of california 1976” into Google, the AI preview first seemed to interpret the query as the Spanish missionaries of 1776 who founded the Mission San Francisco de Asís and Mission San Juan Capistrano in what’s today Orange County.

But Google also offered up that maybe I was talking about the “founders” of Apple, who started the tech giant in 1976. Is that what Claude meant? It’s unclear, but it’s funny to think about Apple’s founding as the start of a new California. The Claude predictions also include ideas about languages, including ones that currently exist as well as a language not yet invented called Pacifican. The dominant languages are English, Spanish, Mandarin, Tagalog, and an emergent creole called Pacifican — a liquid, musical tongue born in the schools of the San Gabriel Valley and now heard in film, music, and political speeches. The great question of this century is not race or class in the old sense, but rather the divide between the augmented and the unaugmented: those who have integrated neural and biological technologies with their cognition and those who have not, by choice or access. And leave it to Claude to imagine that Hollywood will be little more than a historical footnote by 2276. Hollywood — now a museum district and architectural heritage zone — gave way, gradually, to a distributed creative economy in which narrative entertainment is co-authored by human artists and AI collaborators under strict attribution law. The studios, ironically, still exist; they are just no longer in Los Angeles, no longer making what anyone in 2026 would recognize as a film. The California of 2276 is still the world’s imagination — it has simply changed what it imagines. Benjamin Franklin wrote a letter to a friend in 1788, wishing he could see the world in 300 years—the 21st century that we now experience.

Franklin would likely be shocked as much by the social changes as the technological ones. That can be the area where predictions become the most difficult. Franklin lived when women didn’t have the right to vote, and chattel slavery was the norm. Ben was often a forward-thinking guy, but one imagines he’d still experience more than a little cultural shock if he could be transplanted to the year 2026. The concept of condoms alone would send his mind reeling. Ben didn’t get to see any of the changes that came about over the past few centuries, just as we won’t get to see 2276. But hopefully, there are still people around to read these predictions. You’ll notice that Claude mentioned nothing of Skynet taking over and the robot wars of the 2250s. Either we have nothing to fear, or Claude is keeping mum to make sure humanity doesn’t see it coming when the robot uprising starts.



Source link

My trading bot said it was trading for four days… he was lying



Twenty-five days on Hyperliquid. Sixty-five closed trades. P&L: -$9.21.

Turns out that was the smallest wrong thing about it.

The landing page showed -$7.72 because it uses a different P&L formula and excludes two open positions. Either number is small. Both numbers were also wrong about what they were telling me.

I spent yesterday auditing every trade. The audit produced three findings I did not expect. Each one was a different kind of wrong.

This is the first post in a series about ziom trader, my small AI-assisted crypto trading bot. “Ziom” is Polish for buddy, mate, or dude depending on who’s talking. The name is unserious on purpose. The system is not.

This is not a “watch me print money” series. The number is negative. Good.

The point of the series is to track what happens when an LLM-assisted trading system moves from backtests and dashboards into live execution: where the bot is wrong, where the dashboard is wrong, where I am wrong, and which layer gets to prove it.

Frame

The natural first read of -$9.21 is “the strategy is losing money.” That read assumes the displayed P&L attributes to the strategy. It does not.

The number that shows up at the surface is the sum of at least three different layers: the strategy itself, the execution wrapper around it, and the monitoring layer that observes both. Each layer can author its own kind of failure. The displayed number compresses all three into a single dollar figure and loses the attribution on the way up.

The framing that landed for me, from Daniel Nevoigt, is that methodology overview without forward-correlation disclosure is a log with good intentions. Same applies to P&L: total P&L without layer-attribution disclosure is a log with good intentions. You see the number. You do not see where it came from.

Here is what I found when I forced the attribution.

Layer 1: Shadow does not equal live

Before deploying any lane, the system runs against backtested data. The shadow says “this strategy returns X over Y trades.” The deploy decision is taken when the shadow looks healthy. The live then runs and produces a different number.

The label for that difference is not “the strategy disappointed.” The shadow is one authority. The live is a different authority. The market authored the failure criterion, not the strategy.

This is the version of the seam Christopher Maher named: the bite check did not catch itself, a different rail caught it. Shadow data cannot author its own failure. Only the live market can. And the live market does not tell you which part of the gap is variance, which part is regime drift, and which part is a parameter you forgot to tune.

In this window the funding_divergence_long lane had a shadow edge of +0.355%/trade across n=660 backtested trades, CI95 (+0.085, +0.625). The live for the same lane was -1.10% / trade across 29 live trades. The gap is 1.46 percentage points. At sigma about 2% per trade and n=29, that gap is 3.9 standard errors. Statistically significant negative.

That does not prove the strategy is broken. It proves the shadow and the live disagreed by more than variance would explain. Three explanations remain in play, and the audit can narrow but not resolve them:

June 15 ADA outlier was -$2.25, -5.64%, which is 3.6 sigma from shadow mean. One trade is doing structural work in a small sample.
Edge is not durable across this BTC window. June saw recovery to reversal.
Exit configuration choices let losers run.

50 to 100 more trades are needed to separate these. I am not separating them today. The label for this section is AMBIGUOUS and I am pinning it to that label until the sample doubles.

Layer 2: Live displayed does not equal strategy true

Inside the -$9.21, 60% is not strategy. It is system overhead with git commit refs.

The breakdown:

Cause
Trades
Loss
Commit ref

oi_surge LONG with no regime gate, ran in bear
3
-$1.45
gate added 2d10e326 Jun 11

whale lane missing max_per_coin cap
6
-$0.95
cap added 5bd9eaaf Jun 9

whale_footprint as dead lane before disarm
26
-$2.71
disarmed 18d937aa Jun 13

oi_surge LONG as dead lane, 1 trade Jun 12
1
-$0.38
not explicitly disarmed in this window

Total system overhead: -$5.49 across 36 trades, 60% of the loss.

Sixty percent of the loss has an audit trail. Most of it has a git commit. All of it is a different kind of wrong than “the signal failed.”

Each line has either a commit hash that closes the gap or a seam that the audit made visible. None of it is the strategy in the sense of “the signal was wrong.” All of it is the system in the sense of “the rail that would have stopped this did not exist yet.”

Sean Burn names it right: show the seam, do not hide it. Show that 60% of this loss is closed by commits that exist now and did not exist on June 6. Do not collapse “system” and “strategy” into one bucket called “the bot lost money.” They are different authors of the same dollar.

The remaining 40% is funding_divergence_long (-$4.15 across 32 trades) and oi_surge_fade (+$0.13 across 2 trades). The funding_long line is the one with the shadow-vs-live gap from Layer 1. Without the ADA outlier and without the execution gap I will describe next, the lane runs at -$1.47 across 28 trades, or -$0.05 / trade. That is noise floor for this sample size, not strategy quality. Treat it that way.

Layer 3: Visible live does not equal what the driver attempted

The third finding had no warning. The first two were inventory work. This one was structural.

Between June 18 10:01 UTC and June 22 16:01 UTC, the funding_divergence_long driver was armed. The run_summary events in the database show armed=true, placed=1 for the entire 4-day window, roughly 20 to 30 cycles. The positions table for the same window shows zero new fills. The events table shows zero execution_error events.

The dashboard read placed=1. The exchange acknowledgement layer wrote placed_ok=0. The error path that would have written an execution_error row never ran, because the code that throws the exception was caught somewhere upstream without incrementing the error counter.

For four days, the driver said it was trading. The exchange said it was not.The events table said nothing.

The audit trail itself was lying.

The framing from L. Cordero applies: trust retrieval, verify recall. The placed=1 counter was the system retrieving its own belief. The actual position state was the recall, and the recall path was broken. The two layers diverged silently, and the dashboard was reading the wrong one.

The framing from Todd Hendricks applies: big number, wrong metric. placed=1 is a big number. placed_ok=0 is the meaningful one. The system displayed the big one. I deployed the wrong dashboard.

The fix landed today, after the audit, after a peer who runs a different read-the-chain product confirmed independently that the seam between an attempted read and a verified read is where this class of bug lives. His phrase for the right default: incomplete by default. Anything not explicitly classified as a verified result is unknown, not zero. Zero and unknown render visually distinct. The pipeline carries the distinction all the way to the surface.

Impact ESTIMATED: 20 to 30 missed signals, ~$15 notional each. If the shadow edge held, plus or minus $1 to $1.50 in either direction, gain or loss, invisible to the displayed P&L. The honest label is ESTIMATED because I cannot know which way the missed trades would have gone.

What the audit changes

The displayed loss is -$9.21. The strategy contribution to that loss, after subtracting system overhead and the execution gap and the single 3.6-sigma outlier, is approximately -$1.47 across 28 trades, or -$0.05 per trade. That is noise. The sample is too small to call the strategy good or bad. Forward-test budget: 50 to 100 more trades before any strategy-quality verdict.

The system overhead is closed. The commits exist. The next 50 to 100 trades will run with the regime gate, the max_per_coin cap, the disarmed dead lanes, the corrected verification rail, and the current active lane configuration. If those run and the lane is still -$0.10/trade or worse, the strategy is the problem, not the rails. If they run and the lane comes in at +$0.05/trade or better, the shadow edge held and the previous loss was the rails.

I am locking the test budget in advance: if the next 50 trades come in at -$0.10/trade or worse, I retract the post-fix optimism in this post. The bet is on the rails being the issue, not the signal. I will publish the next breakdown either way.

Post-audit check

Added 2026-06-25 around 19:15 CEST, roughly 12 hours after the audit opened. I checked.

The first post-audit window did not reproduce the previous failure pattern.

The oi_surge_fade_live SHORT lane produced approximately +$1.38 across 12 post-audit trades, with 10 of 12 green.

That includes AVAX, UNI, ADA, ATOM, FIL, and TIA. The important part is not that the number is green. The important part is that the result came after the audit separated attempted placement from exchange-confirmed placement.

The early read is positive, but narrow.

This is not “the fixes worked.” It is “the first post-audit window did not immediately repeat the old bug shape, and the active lane produced a green early window under the new reporting rail.”

Those are different claims.

I am only making that narrow claim.

What this is not

This is not a how-I-made-money post. The number is negative. It is not large. The strategy is unverified. The audit caught real bugs with commit refs but did not prove the strategy works.

This is also not a how-AI-coded-my-bot post. Claude Code wrote large parts of this system. The audit found multiple places where the same author, me with model assistance, wrote both the action layer and the layer that was supposed to verify the action. Single-author audit trails lie. That part is on the system design, not on the model.

What this is, is the breakdown that should sit underneath any small displayed number from any algorithmic trading or autonomous agent system. Three different kinds of wrong. Three different authors of the same dollar. The displayed number is one of them. The other two are invisible by default.

Series contract

This series will track ziom trader as a live system, not as a performance claim.

I will publish the boring parts: small losses, missed fills, broken counters, stale assumptions, dashboard lies, audit fixes, and retractions when the next sample contradicts the previous read.

No alpha claims. No “the bot works” until the forward sample earns that sentence. No hiding the layer that authored the failure.

Peer credits

The vocabulary that made this audit possible came from people writing about adjacent problems in adjacent domains.

None of these people were writing about trading bots. Some were writing about incident reports, some about agent systems, one about a read-chain product.

The overlap was not planned. That’s the point.

Daniel Nevoigt: “methodology overview without forward-correlation disclosure is a log with good intentions”
Christopher Maher: “the bite check did not catch itself, a different rail caught it”
L. Cordero: “trust retrieval, verify recall”
Sean Burn: “show the seam, do not hide it”
Todd Hendricks: “big number, wrong metric”
TxDesk, ratifying the placed=1/placed_ok=0 framing in a different domain this morning: “incomplete by default”

That is why I am leaving the credits in the post. The vocabulary did not decorate the audit. It changed what the audit could see.

What you can take from this

If you run a live system, look for the layer where your own code writes both the action and the verification. That is where this class of bug lives. The fix is not only better testing. The fix is making the action layer and the verification layer be authored by different code paths, ideally by different authors, with the verification path explicitly classifying anything it did not see as incomplete by default.

Render the difference, not the success. Five attempted and three succeeded is a normal display state. Five attempted and unknown succeeded is the state your dashboard probably hides today.

That is the line the audit drew.

If you are the bot, you do not get to be the auditor.



Source link