LINZ CLI
Compatibility Matrix: Current → Idealized
March 4, 2026 - Sean Grove & Codex
TL;DR: Spec in → verified, working app out. On Feb 2nd our agents autonomously solved a hard problem through multiple implement/critique/judge cycles with zero human help. We can now watch specs compile into code in real-time. Demo in 2-3 weeks. 10-17 years runway.
Apologies for missing January - we were heads-down trying to ship and kept thinking "one more day and we can show something even more interesting." Bad habit, working on it. But hopefully this update and the attached screenshots give a good glimpse into what the system is becoming capable of.
Quick synopsis: We missed the Dec 22 holiday launch but got critical learnings on unstructured doc editing. We then pivoted to spec → coding agent compilation, and on Feb 2nd saw the first autonomous implementer/critic/judge cycles complete without human intervention. We now have a live report viewer and are 2-3 weeks from an end-to-end demo.
| I would like you to translate TypeScript react components to Rescript react components, using some examples I will provide as a guide. Any time you are unsure as to the equivalency between a TypeScript construct and its Rescript counterpart, add it to a "Future examples to provide" list you output at the end after the code. | |
| Let's begin! | |
| Heres PromptEditor.tsx: | |
| ``` | |
| import React, { useState } from "react"; | |
| import { Button } from "@/components/ui/button"; | |
| import { Input } from "@/components/ui/input"; |
Reading the (already impressive) compiled output in helper.bs.js in the tutorial by Michele Riva on Calling ReasonML from TypeScript, I thought the output could be made nearly identical (bar comments and some weird nest paren wrapping) to what an experienced dev might write by hand
If we:
- have Flat-variants-(and polymorphic-variants)-as-strings (see
- Omit
String(x)when x is already a string (already merged): rescript-lang/rescript#4293 - Propogate the variable names from destructuring a tuple to the output (see
ideal_output_2.bs.js) - Don't do nested parens inside of
{j|$x foo $y bar $z baz|j}output
Then the output (minus the /* tuple */ comments) would be exactly what you'd write by hand!
| type editor; | |
| module Editor: { | |
| [@react.component] | |
| let make: | |
| ( | |
| ~width: string=?, | |
| ~height: string=?, | |
| ~value: string=?, | |
| ~defaultValue: string=?, |
| https://gist.github.com/sgrove/7c2da3ee8e4894017af98c80b6b5fbb6 |
I hereby claim:
- I am sgrove on github.
- I am sgrove (https://keybase.io/sgrove) on keybase.
- I have a public key whose fingerprint is 35A0 F67E AD5E 19C0 75B2 7F72 C0B8 0362 7E5F CE94
To claim this, I am signing this object:
| { | |
| descuri(url: "https://news.ycombinator.com/user?id=tlrobinson") { | |
| twitter { | |
| links | |
| } | |
| youTube { | |
| uri | |
| } | |
| other { | |
| uri |