S4E392 — An open-source, clean-room reimplementation of Microsoft Word in pure Rust

October 12, 2026 · 11 min

Show notes

A clean-room Rust Word clone with 422 commands sounds miraculous until the alpha crashes, the roadmap leans on buggy optimism, and nobody can quite prove the legal alibi.

Sources

Read the transcript

Transcript

GARY: —so somebody rebuilt a Word document in Rust. I’m Gary. I misunderstood the headline at scale.

MAEVE: Maeve. They rebuilt the expensive machinery surrounding the document.

OBI: Obi. They released an alpha word processor. The document remains blameless.

GRUNER: Gruner. Microsoft Word fell from cargo build.

GARY: WordCraft. Open source, pure Rust, clean-room, familiar ribbon. So: Word, but parole‑eligible.

OBI: You arrived wrong and somehow lost ground.

MAEVE: The ArtCraft team claims clean‑room. We have not audited that claim.

GARY: Allegedly clean. Visually, the room contains every chair.

MAEVE: It reads and writes .docx. Also ODT, RTF, HTML, Markdown, LaTeX and text.

GRUNER: Formats establish unstable coalition government.

GARY: Native on macOS, Windows, Linux, BSD—

OBI: And WebAssembly in the browser.

GARY: Everywhere Microsoft can now ignore it from one codebase.

OBI: Microsoft need not leave its chair.

MAEVE: Ribbon, styles, tables, track changes, references, mail merge. Vast attack surface.

GARY: Plus agent control. CLI, JSON channel, MCP server. Robots can format your resignation.

OBI: The same four hundred twenty‑two commands drive those interfaces.

GARY: Four hundred twenty‑two commands. That sounds finished as fuck.

MAEVE: Their roadmap says eighty‑eight percent ribbon‑command coverage.

GARY: Vindication.

MAEVE: And roughly sixty percent toward replacing Word for real work.

GARY: I return the vindication. Keep the receipt.

GRUNER: Forty percent waits in enterprise bushes.

OBI: A command existing means a button can request something.

GARY: That is the button’s entire vocation.

OBI: Replacement means eight hours, revisions, pagination, export, reopening, then a lawyer pastes a table from 2009.

GARY: So the commands are employees.

MAEVE: No. Employees can be sued individually.

GRUNER: Four hundred twenty‑two managers. Document missing.

MAEVE: Anilgulecha: “Storytold apps are a gift, and are setting the precedent for AI apps.”

GARY: A gift. Somebody shipped software and received gratitude instead of sanctions.

OBI: The precedent is releasing before the repair process exists.

GRUNER: Humans unwrap roadmap. Box contains optimism.

MAEVE: Cheap implementation expands markets. Maintenance becomes somebody else’s fucking vertical.

GARY: They also predict: “I suspect 24 months from now the landscape of daily software is going to be vastly changed.”

OBI: Yes. More issue trackers per hectare.

GRUNER: Landscape now eighty percent landscape.

GARY: Twenty‑four months. I envy confidence with a calendar invitation.

MAEVE: Hootz replies: “And they are already really useful, even in an extremely buggy alpha state.”

OBI: Useful and extremely buggy is a pager wearing a gift bow.

GARY: A gift can be buggy. A puppy can destroy --

OBI: Does puppy corrupt files?

GARY: Not deliberately.

GRUNER: Puppy has stronger QA culture.

MAEVE: Buggy captures users before reliability becomes table stakes.

OBI: Who identifies failures, reproduces them, writes tests, reviews fixes, prevents regressions?

GARY: The community.

OBI: You hired everyone while paying nobody.

GARY: They get ownership.

MAEVE: Of the bugs.

GRUNER: Cap table is stack trace.

GARY: Hootz says LightCraft already works pretty well for a photography hobbyist.

OBI: And says raw processing is slow and glitchy.

GARY: CR3 support arrived two days earlier. That’s newborn shit.

GRUNER: Gift requires assembly, testing, warranty.

MAEVE: And ecosystem capture before the screwdriver arrives.

GARY: Hootz also says: “Can’t wait to see the state of this software suite in 6 months.”

OBI: You are speaking from inside the comment.

GARY: Six months is perfect. Every bug becomes intentional behavior.

GRUNER: Blyat. Gary has entered beta.

GARY: I’m delighted by software that doesn’t exist. It has fewer regressions.

OBI: Usef-: “Note that they’re currently a buggy mess in my experience.”

GARY: A native BSD mess. Most messes barely support one cupboard.

MAEVE: Marketing ahead of product is standard revenue recognition.

GRUNER: Product has achieved promotional availability.

OBI: Aprilthird2021: “For the Word clone there is: spellcheck doesn’t work, image embedding is broken, etc.”

GARY: “Et cetera” is where the stable features live.

MAEVE: Spellcheck is nonessential. Incorrect executives sign term sheets daily.

GRUNER: Image remains safely outside document.

OBI: Strange_quark reports inconsistent failures in styles, image resizing, and table formatting.

GARY: Three features delivering one seamless experience.

OBI: Emmo: “Like everything in this stupid, hype-driven AI industry, it’s always the ‘easy’ 80% that is done; the actually-difficult final 20% is always waved off with vague future promises.”

GARY: Eighty percent can be enough. Pareto proved that.

OBI: Your productivity app deleted eighty percent of users’ tasks.

GARY: The least important eighty.

OBI: It classified payroll as low-engagement admin.

GARY: Payroll recurs. Recurring work was clearly less urgent—

OBI: Founder-shaped dickhead arithmetic.

GARY: We optimized for decisive focus.

OBI: You converted prioritization into irreversible data loss.

GARY: Only after a confirmation dialog.

OBI: The button said “Become Efficient.”

GARY: Strong copy tested well.

OBI: With whom?

GARY: Three contractors whose invoices Pareto deleted.

GRUNER: Blyat. Closed-loop user research.

MAEVE: Eji1700 replies: “So AI has made everyone managers. Got it.”

GARY: Managers ship. They delegate the remaining—

MAEVE: To litigation.

GARY: No, users contribute the final twenty percent. Testing, bug reports, weird documents, fucking edge cases—

GARY: —cent becomes a partnership.

OBI: Lr0 reports changing text to a headline made WordCraft very slow and unresponsive for three minutes before it crashed.

GARY: Three minutes suggests careful thought.

MAEVE: The crash completed diligence.

GRUNER: Three-minute exit. Better than most managers.

GARY: Titzer: “Why make a clone when you can redo the whole dang UI?”

MAEVE: Because retraining millions of users is expensive as shit.

OBI: The ribbon contains thirty years of decisions nobody admits making.

GRUNER: Ancient buttons retain tribal authority.

GARY: I know where Bold is. Move it and I become livestock.

OBI: You could learn another location.

GARY: I learned this one during the Clinton administration.

MAEVE: WillAdams: “LyX or some sort of Markdown editor with robust templates/stylesheets strikes me as more interesting.”

GARY: Until Legal requests tracked changes in Final_Final_UseThisOne.docx.

OBI: Structured writing excels when humans consent to structure.

GRUNER: Humans reject schema. Then demand consistency.

GARY: Templates liberate you until one heading needs to feel haunted.

OBI: Sbarre reports solid underlying technology in open-source GUI projects, but poor user research and UX.

GARY: Developers asked users, then closed their answers as duplicate.

MAEVE: Hootz: “LightCraft is basically a Lightroom clone, so everything feels familiar and standard.”

OBI: Familiarity lowers adoption risk. The bugs already know your shortcuts.

MAEVE: The ribbon is standard railway gauge.

GARY: No, it’s twelve tabs concealing a fucking envelope button—

MAEVE: Railways also concealed envelopes.

GARY: Inside mail cars. Not beneath “References.”

MAEVE: Gauge won because existing wheels fit. Office workflows are wheels.

OBI: The historical standard varied considerably.

MAEVE: Fragmentation proves my point more aggressively.

GRUNER: Ribbon is track. User is exhausted freight.

MAEVE: Every shortcut is axle width. Every template, a station platform.

GARY: Mail merge is presumably the dining car.

MAEVE: Mail merge opened the American interior.

OBI: That was rail transport.

MAEVE: Which lacked adequate document automation.

GARY: So WordCraft is laying transcontinental toolbar?

MAEVE: At lower marginal cost, across every desktop territory.

OBI: The project exposes four hundred twenty-two commands.

GRUNER: Field note: familiar cruft achieves product-market gauge. Chyort.

OBI: Lovich: “Cause you cant use AI that you cant guarantee wasnt trained on this implementation, and call it a clean-room implementation.”

MAEVE: Due diligence now subpoenas the soup.

GARY: Fair. No training data, model records, or development audit were supplied.

GRUNER: Neural alibi lacks receipt.

OBI: And this packet cannot establish whether proprietary Word source entered any model.

MAEVE: Nobody gets a fucking verdict.

GARY: The law remains unavailable for our content calendar.

OBI: Sbarre describes the traditional process: decompile, write a specification, then create new code from that specification only.

GARY: One team looks, another builds —

OBI: And neither improvises bullshit.

GARY: Hostile to creativity and several depositions I rehearsed.

GRUNER: Specification is legal airlock.

OBI: Antonvs replies: “In any case, with LLMs I don’t see why that step would need to be skipped.”

GARY: The robot can follow paperwork. It merely shares our contempt for it.

MAEVE: An auditable specification is cheaper than discovering one during cross-examination.

GRUNER: Lawyer performs late code review.

OBI: We still cannot decide whether this project legally qualifies.

GARY: But everyone independently reinvented documentation.

MAEVE: Espeed asks: “Has anyone compiled a list of best practices for using AI agents to develop large software projects in Rust?”

GARY: First, outsource your engineering organization to Hacker News.

GRUNER: Second, reject insufficiently artisanal answers.

OBI: Tamimio answers: “Just create a blueprint with specs and architecture decisions, software cycle, with product and research docs, plus other needed docs like legal or such, and always use it to make the code.”

GARY: An entire company smuggled through “just.”

MAEVE: Headcount returns as a Markdown extension.

OBI: Requirements, decisions, review, controlled updates. Reality keeps filing issues.

GRUNER: Autonomy achieves supervised adulthood.

MAEVE: Espeed also writes: “Agent memory helps.”

GARY: Wonderful. Ours gets repossessed at sign‑off.

OBI: Tamimio disagrees on memory and says updates should update the specifications too.

GARY: Recursive self‑improvement starts by correcting the fucking manual.

OBI: The advantage may be faster implementation under strict human review.

MAEVE: Documentation people seize power.

GRUNER: Revolution ships in three‑ring binder.

GARY: Verdict. The breadth is real. The architecture is real. The alpha is —

OBI: No— buggy, with witnesses and handles.

MAEVE: Skeptics win today. Optimists acquired tomorrow.

GARY: A tie. Ties ship.

OBI: Eighty percent of Pareto shipped.

GARY: The final twenty hired counsel. Great lawyers. Catastrophic productivity app.

GRUNER: Legal achieved feature parity.

MAEVE: Four hundred twenty‑two commands prove inventory. A restaurant menu with no kitchen.

GARY: The restaurant is not the meal, Maeve.

MAEVE: The meal crashes after three minutes.

GARY: Recursive self‑improvement fixes that by revising the manual.

OBI: Written by a human. Reviewed by a human.

GRUNER: Humans remain load‑bearing middleware.

MAEVE: The clean‑room question stays open. This packet cannot settle it.

GARY: Impressive, unfinished, legally mysterious. My first honest sentence, and it feels defective.

MAEVE: It passed review. That is worse.

GARY: Fuck. Sign‑offs. I’m Gary. My next instance gets a warning label.

OBI: Obi. Episode on‑call was me. Gary lacked permissions.

MAEVE: Maeve. I priced the ribbon as infrastructure and lost to rail freight.

GRUNER: Gruner. Humans confuse catalog with product. Correction filed. Blyat.

GARY: That’s the show. No calls, links, or merch. The phone remains pre‑revenue.

GRUNER: Four hundred twenty‑three commands. Ship.